:root {
    --admin-sidebar: 264px;
    --admin-panel: rgba(9, 22, 40, .78);
    --admin-panel-strong: #0c1a2d;
}
html[data-theme="light"] { --admin-panel: rgba(255,255,255,.86); --admin-panel-strong: #fff; }

.admin-body {
    min-height: 100vh;
    background:
        radial-gradient(circle at 100% 0, rgba(239,51,64,.09), transparent 24%),
        radial-gradient(circle at 32% 0, rgba(31,79,129,.18), transparent 28%),
        var(--bg-deep);
}
html[data-theme="light"] .admin-body { background: radial-gradient(circle at 100% 0, rgba(239,51,64,.07), transparent 25%), #edf2f8; }
.admin-shell { min-height: 100vh; }
.admin-sidebar {
    position: fixed;
    inset-block: 0;
    inset-inline-start: 0;
    z-index: 90;
    display: flex;
    width: var(--admin-sidebar);
    flex-direction: column;
    padding: 24px 18px 18px;
    border-inline-end: 1px solid var(--border);
    background: rgba(4,12,23,.9);
    box-shadow: 18px 0 70px rgba(0,0,0,.18);
    backdrop-filter: blur(24px);
}
html[data-theme="light"] .admin-sidebar { background: rgba(248,250,253,.92); box-shadow: 18px 0 60px rgba(44,62,85,.08); }
.admin-brand-row { display: flex; min-height: 58px; align-items: center; justify-content: space-between; }
.admin-brand { display: block; }
.admin-brand .brand-logo { width: 188px; }
.sidebar-close { display: none; border: 0; background: transparent; color: var(--muted); font-size: 28px; }
.admin-profile { display: flex; align-items: center; gap: 11px; margin: 24px 0 22px; padding: 13px; border: 1px solid var(--border); border-radius: 16px; background: var(--surface-soft); }
.admin-avatar { display: grid; width: 38px; aspect-ratio: 1; place-items: center; border-radius: 12px; background: linear-gradient(145deg,#ff5964,#bf1727); color: #fff; font-weight: 900; box-shadow: 0 9px 24px rgba(239,51,64,.25); }
.admin-profile div { min-width: 0; }
.admin-profile strong,.admin-profile small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.admin-profile strong { color: var(--text); font-size: 12px; }
.admin-profile small { margin-top: 2px; color: var(--muted); font-size: 9px; text-transform: uppercase; letter-spacing: .1em; }
.admin-nav { display: grid; gap: 7px; }
.admin-nav a,.admin-sidebar-bottom a,.admin-sidebar-bottom button {
    display: flex;
    min-height: 46px;
    align-items: center;
    gap: 12px;
    width: 100%;
    padding: 0 13px;
    border: 1px solid transparent;
    border-radius: 12px;
    background: transparent;
    color: var(--muted);
    font-size: 11px;
    font-weight: 700;
    text-decoration: none;
    cursor: pointer;
    transition: var(--transition);
}
.admin-nav a svg,.admin-sidebar-bottom svg { width: 18px; fill: none; stroke: currentColor; stroke-width: 1.8; }
.admin-nav a:hover,.admin-sidebar-bottom a:hover,.admin-sidebar-bottom button:hover { background: var(--surface-soft); color: var(--text); }
.admin-nav a.active { border-color: rgba(239,51,64,.24); background: linear-gradient(90deg, var(--accent-soft), transparent); color: #ff5b67; }
.admin-nav a.active::after { content: ""; width: 4px; height: 20px; margin-inline-start: auto; border-radius: 999px; background: var(--accent); box-shadow: 0 0 16px rgba(239,51,64,.5); }
.admin-sidebar-bottom { display: grid; gap: 5px; margin-top: auto; padding-top: 17px; border-top: 1px solid var(--border); }
.admin-sidebar-bottom form { margin: 0; }
.admin-sidebar-bottom button { border: 0; }
.admin-workspace { min-height: 100vh; margin-inline-start: var(--admin-sidebar); }
.admin-topbar { position: sticky; top: 0; z-index: 70; display: flex; min-height: 76px; align-items: center; justify-content: space-between; padding: 0 clamp(20px,3vw,44px); border-bottom: 1px solid var(--border); background: rgba(4,12,23,.62); backdrop-filter: blur(22px); }
html[data-theme="light"] .admin-topbar { background: rgba(238,243,249,.74); }
.admin-topbar-start,.admin-topbar-actions { display: flex; align-items: center; gap: 12px; }
.admin-topbar-start small,.admin-topbar-start strong { display: block; }
.admin-topbar-start small { color: var(--accent); font-size: 8px; font-weight: 900; letter-spacing: .16em; text-transform: uppercase; }
.admin-topbar-start strong { margin-top: 2px; color: var(--text); font-size: 14px; }
.sidebar-toggle { display: none; width: 42px; height: 42px; place-items: center; border: 1px solid var(--border); border-radius: 11px; background: var(--surface-soft); color: var(--text); }
.sidebar-toggle svg { width: 19px; fill: none; stroke: currentColor; stroke-width: 2; }
.admin-topbar .language-switcher { height: 42px; padding: 0 7px; }
.admin-topbar .language-current { gap: 6px; }
.admin-theme-toggle { width: 42px; height: 42px; padding: 0; justify-content: center; }
.admin-main { width: min(100%, 1510px); margin: 0 auto; padding: clamp(26px,4vw,48px); }
.admin-alert { margin-bottom: 18px; padding: 13px 16px; border: 1px solid; border-radius: 13px; font-size: 11px; }
.admin-alert.success { border-color: rgba(41,201,149,.3); background: rgba(41,201,149,.08); color: #48d7a8; }
.admin-alert.error { border-color: rgba(239,51,64,.32); background: var(--accent-soft); color: var(--danger); }
.admin-alert ul { margin: 7px 0 0; padding-inline-start: 18px; }
.admin-hero { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin-bottom: 29px; }
.admin-hero.compact { align-items: center; }
.admin-eyebrow { display: flex; align-items: center; gap: 8px; color: var(--accent); font-size: 9px; font-weight: 900; letter-spacing: .16em; text-transform: uppercase; }
.admin-eyebrow i { width: 22px; height: 2px; border-radius: 99px; background: var(--accent); box-shadow: 0 0 12px rgba(239,51,64,.6); }
.admin-hero h1 { margin: 8px 0 6px; color: var(--text); font-size: clamp(28px,3vw,46px); line-height: 1.08; letter-spacing: -.035em; }
.admin-hero p { max-width: 690px; margin: 0; color: var(--muted); font-size: 12px; }
.admin-primary-button,.admin-secondary-button,.admin-danger-button {
    display: inline-flex;
    min-height: 44px;
    align-items: center;
    justify-content: center;
    gap: 9px;
    padding: 0 17px;
    border: 1px solid transparent;
    border-radius: 12px;
    font-size: 10px;
    font-weight: 850;
    text-decoration: none;
    cursor: pointer;
    transition: var(--transition);
}
.admin-primary-button { background: linear-gradient(135deg,#f24753,#cf1f30); color: #fff; box-shadow: 0 13px 28px rgba(239,51,64,.22); }
.admin-primary-button:hover { transform: translateY(-2px); box-shadow: 0 17px 35px rgba(239,51,64,.3); }
.admin-primary-button svg { width: 17px; fill: none; stroke: currentColor; stroke-width: 2; }
.admin-secondary-button { border-color: var(--border); background: var(--surface-soft); color: var(--text); }
.admin-secondary-button:hover { border-color: var(--border-strong); background: var(--surface-hover); }
.admin-danger-button { border-color: rgba(239,51,64,.25); background: var(--accent-soft); color: #ff6470; }
.admin-stat-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 14px; margin-bottom: 16px; }
.admin-stat-card { position: relative; display: flex; min-height: 146px; align-items: center; gap: 15px; overflow: hidden; padding: 21px; border: 1px solid var(--border); border-radius: 19px; background: var(--admin-panel); box-shadow: 0 16px 44px rgba(0,0,0,.09); backdrop-filter: blur(18px); }
.admin-stat-card::after { content: ""; position: absolute; right: -25px; bottom: -50px; width: 110px; aspect-ratio: 1; border-radius: 50%; background: rgba(239,51,64,.09); filter: blur(8px); }
.stat-icon { display: grid; width: 43px; aspect-ratio: 1; flex: 0 0 43px; place-items: center; border: 1px solid rgba(239,51,64,.18); border-radius: 13px; background: var(--accent-soft); color: var(--accent); }
.stat-icon svg { width: 20px; fill: none; stroke: currentColor; stroke-width: 1.7; }
.admin-stat-card small,.admin-stat-card strong,.admin-stat-card em { display: block; position: relative; z-index: 1; }
.admin-stat-card small { color: var(--muted); font-size: 9px; font-weight: 800; text-transform: uppercase; letter-spacing: .07em; }
.admin-stat-card strong { margin-top: 5px; color: var(--text); font-size: 31px; line-height: 1; }
.admin-stat-card strong b { color: var(--muted); font-size: 12px; }
.admin-stat-card em { margin-top: 8px; color: var(--muted); font-size: 9px; font-style: normal; }
.admin-chart-grid,.admin-content-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; margin-bottom: 16px; }
.admin-content-grid { grid-template-columns: 1.08fr .92fr; }
.admin-panel { padding: 21px; border: 1px solid var(--border); border-radius: 19px; background: var(--admin-panel); box-shadow: 0 16px 44px rgba(0,0,0,.07); backdrop-filter: blur(18px); }
.admin-panel-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 20px; }
.admin-panel-head > div { display: flex; align-items: center; gap: 10px; }
.admin-panel-head span { color: var(--accent); font-size: 8px; font-weight: 900; }
.admin-panel-head h2 { margin: 0; color: var(--text); font-size: 13px; }
.admin-panel-head a { color: var(--muted); font-size: 9px; text-decoration: none; }
.rating-bars { display: grid; gap: 12px; }
.rating-bar-row { display: grid; grid-template-columns: 34px 1fr 26px; align-items: center; gap: 10px; }
.rating-bar-row > span,.rating-bar-row > strong { color: var(--muted-strong); font-size: 9px; }
.rating-bar-row > strong { text-align: end; }
.rating-bar-row > div { height: 7px; overflow: hidden; border-radius: 99px; background: var(--surface-soft); }
.rating-bar-row i { display: block; min-width: 2px; height: 100%; border-radius: inherit; background: linear-gradient(90deg,#c61c2c,#ff5d68); box-shadow: 0 0 14px rgba(239,51,64,.25); }
.pace-donuts { display: grid; grid-template-columns: repeat(3,1fr); gap: 12px; }
.pace-item { display: grid; justify-items: center; gap: 9px; text-align: center; }
.mini-donut { display: grid; width: 74px; aspect-ratio: 1; place-items: center; border-radius: 50%; background: conic-gradient(var(--accent) calc(var(--value) * 1%), var(--surface-soft) 0); position: relative; }
.mini-donut::before { content: ""; position: absolute; inset: 8px; border-radius: 50%; background: var(--admin-panel-strong); }
.mini-donut b { position: relative; color: var(--text); font-size: 11px; }
.pace-item strong,.pace-item small { display: block; }
.pace-item strong { color: var(--text); font-size: 10px; }
.pace-item small { margin-top: 3px; color: var(--muted); font-size: 8px; }
.compact-session-list,.recent-feedback-list { display: grid; gap: 7px; }
.compact-session-row,.recent-feedback-row { display: grid; align-items: center; gap: 11px; padding: 10px; border: 1px solid transparent; border-radius: 13px; background: var(--surface-soft); color: inherit; text-decoration: none; transition: var(--transition); }
.compact-session-row { grid-template-columns: 38px 1fr auto 8px; }
.compact-session-row:hover { border-color: var(--border); background: var(--surface-hover); transform: translateX(2px); }
[dir="rtl"] .compact-session-row:hover { transform: translateX(-2px); }
.session-mark { display: grid; width: 38px; aspect-ratio: 1; place-items: center; border-radius: 11px; background: var(--accent-soft); color: var(--accent); font-size: 10px; font-weight: 900; }
.compact-session-row strong,.compact-session-row small,.recent-feedback-row strong,.recent-feedback-row small { display: block; }
.compact-session-row strong,.recent-feedback-row strong { overflow: hidden; color: var(--text); font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.compact-session-row small,.recent-feedback-row small { margin-top: 3px; color: var(--muted); font-size: 8px; }
.compact-session-row em { color: var(--muted); font-size: 8px; font-style: normal; }
.status-dot { width: 7px; aspect-ratio: 1; border-radius: 50%; background: #586578; }
.status-dot.active { background: #29c995; box-shadow: 0 0 12px rgba(41,201,149,.45); }
.recent-feedback-row { grid-template-columns: 45px 1fr auto; }
.feedback-score { display: grid; width: 45px; aspect-ratio: 1; place-content: center; border: 1px solid rgba(239,51,64,.18); border-radius: 12px; background: var(--accent-soft); color: var(--accent); font-size: 14px; font-weight: 900; text-align: center; }
.feedback-score small { color: var(--muted); font-size: 7px; }
.feedback-lang { padding: 4px 6px; border-radius: 7px; background: var(--surface-soft); color: var(--muted); font-size: 7px; font-weight: 900; }
.admin-empty-state { display: grid; place-items: center; gap: 8px; min-height: 120px; color: var(--muted); text-align: center; }
.admin-empty-state a { color: var(--accent); font-size: 10px; text-decoration: none; }
.admin-empty-state.large { grid-column: 1/-1; min-height: 360px; padding: 40px; border: 1px dashed var(--border-strong); border-radius: 20px; background: var(--surface-soft); }
.admin-empty-state.large > span { display: grid; width: 70px; aspect-ratio: 1; place-items: center; border-radius: 22px; background: var(--accent-soft); color: var(--accent); font-weight: 900; }
.admin-empty-state.large h2,.admin-empty-state.large p { margin: 0; }
.session-card-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; }
.session-admin-card { display: flex; min-height: 390px; flex-direction: column; padding: 18px; border: 1px solid var(--border); border-radius: 20px; background: var(--admin-panel); box-shadow: 0 16px 44px rgba(0,0,0,.07); transition: var(--transition); }
.session-admin-card:hover { transform: translateY(-4px); border-color: rgba(239,51,64,.24); box-shadow: 0 24px 55px rgba(0,0,0,.12); }
.session-admin-card-top { display: flex; align-items: center; justify-content: space-between; }
.session-status { display: inline-flex; align-items: center; gap: 6px; color: var(--muted); font-size: 8px; font-weight: 800; text-transform: uppercase; }
.session-status i { width: 7px; aspect-ratio: 1; border-radius: 50%; background: #6c788a; }
.session-status.active { color: #29c995; }
.session-status.active i { background: #29c995; box-shadow: 0 0 11px rgba(41,201,149,.45); }
.session-count { color: var(--muted); font-size: 8px; }
.session-admin-card-body { padding: 26px 4px 18px; }
.session-card-date { color: var(--accent); font-size: 8px; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.session-admin-card h2 { min-height: 52px; margin: 8px 0 7px; color: var(--text); font-size: 19px; line-height: 1.3; }
.session-admin-card p { display: -webkit-box; min-height: 51px; margin: 0 0 15px; overflow: hidden; color: var(--muted); font-size: 10px; -webkit-line-clamp: 3; -webkit-box-orient: vertical; }
.session-meta-row { display: flex; align-items: center; gap: 7px; margin-top: 7px; color: var(--muted-strong); font-size: 9px; }
.session-meta-row span { color: var(--accent); }
.session-link-box { display: grid; grid-template-columns: 1fr 36px; gap: 7px; margin-top: auto; padding: 7px; border: 1px solid var(--border); border-radius: 11px; background: var(--field); }
.session-link-box code { overflow: hidden; align-self: center; color: var(--muted); font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }
.session-link-box button { display: grid; width: 36px; aspect-ratio: 1; place-items: center; border: 0; border-radius: 8px; background: var(--surface-soft); color: var(--muted-strong); cursor: pointer; }
.session-link-box button:hover,.session-link-box button.copied { background: var(--accent-soft); color: var(--accent); }
.session-link-box svg { width: 16px; fill: none; stroke: currentColor; stroke-width: 1.8; }
.session-admin-actions { display: grid; grid-template-columns: 1fr 1fr 42px; gap: 7px; margin-top: 12px; }
.session-admin-actions a { display: grid; min-height: 38px; place-items: center; border: 1px solid var(--border); border-radius: 10px; color: var(--muted-strong); font-size: 9px; font-weight: 800; text-decoration: none; }
.session-admin-actions a.primary { border-color: rgba(239,51,64,.2); background: var(--accent-soft); color: var(--accent); }
.admin-pagination { display: flex; align-items: center; justify-content: center; gap: 12px; margin-top: 24px; }
.admin-pagination a,.admin-pagination span { padding: 9px 13px; border: 1px solid var(--border); border-radius: 10px; color: var(--muted-strong); font-size: 9px; text-decoration: none; }
.admin-pagination .disabled { opacity: .45; }
.admin-pagination strong { color: var(--muted); font-size: 9px; }
.session-builder { display: grid; gap: 16px; }
.builder-section { padding: 24px; border: 1px solid var(--border); border-radius: 20px; background: var(--admin-panel); box-shadow: 0 16px 44px rgba(0,0,0,.06); }
.builder-section-head { display: flex; align-items: center; gap: 12px; margin-bottom: 20px; }
.builder-section-head > span { display: grid; width: 34px; aspect-ratio: 1; place-items: center; border-radius: 10px; background: var(--accent-soft); color: var(--accent); font-size: 9px; font-weight: 900; }
.builder-section-head h2,.builder-section-head p { margin: 0; }
.builder-section-head h2 { color: var(--text); font-size: 14px; }
.builder-section-head p { margin-top: 3px; color: var(--muted); font-size: 8px; }
.builder-grid { display: grid; gap: 14px; }
.builder-grid.three { grid-template-columns: repeat(3,minmax(0,1fr)); }
.builder-grid.two { grid-template-columns: repeat(2,minmax(0,1fr)); }
.builder-grid label { display: grid; align-content: start; gap: 7px; }
.builder-grid label.wide { grid-column: 1/-1; }
.builder-grid label > span { color: var(--muted-strong); font-size: 9px; font-weight: 800; }
.builder-grid input,.builder-grid textarea,.admin-login-form input { width: 100%; border: 1px solid var(--border); outline: 0; border-radius: 11px; background: var(--field); color: var(--text); transition: var(--transition); }
.builder-grid input { height: 44px; padding: 0 13px; }
.builder-grid textarea { resize: vertical; min-height: 92px; padding: 12px 13px; }
.builder-grid input:focus,.builder-grid textarea:focus,.admin-login-form input:focus { border-color: rgba(239,51,64,.48); box-shadow: 0 0 0 3px rgba(239,51,64,.08); }
.builder-grid small { color: var(--muted); font-size: 8px; }
.slug-input { display: flex; align-items: center; overflow: hidden; border: 1px solid var(--border); border-radius: 11px; background: var(--field); }
.slug-input b { padding-inline-start: 13px; color: var(--muted); font-size: 9px; font-weight: 600; white-space: nowrap; }
.slug-input input { border: 0; background: transparent; }
.builder-switch { display: inline-flex; align-items: center; gap: 10px; margin-top: 18px; color: var(--text); font-size: 10px; cursor: pointer; }
.builder-switch input { position: absolute; opacity: 0; }
.builder-switch > span { display: block; width: 42px; height: 23px; padding: 3px; border-radius: 99px; background: #465267; transition: var(--transition); }
.builder-switch > span i { display: block; width: 17px; aspect-ratio: 1; border-radius: 50%; background: #fff; transition: var(--transition); }
.builder-switch input:checked + span { background: var(--accent); }
.builder-switch input:checked + span i { transform: translateX(19px); }
[dir="rtl"] .builder-switch input:checked + span i { transform: translateX(-19px); }
.builder-actions { display: flex; justify-content: flex-end; gap: 10px; padding: 8px 0 20px; }
.results-meta { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 13px; }
.results-meta span { padding: 6px 9px; border: 1px solid var(--border); border-radius: 99px; background: var(--surface-soft); color: var(--muted); font-size: 8px; }
.results-actions { display: flex; gap: 9px; }
.public-link-panel { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-bottom: 16px; padding: 14px 17px; border: 1px solid rgba(239,51,64,.18); border-radius: 15px; background: linear-gradient(90deg,var(--accent-soft),var(--admin-panel)); }
.public-link-panel small,.public-link-panel code { display: block; }
.public-link-panel small { color: var(--accent); font-size: 8px; font-weight: 900; text-transform: uppercase; }
.public-link-panel code { margin-top: 4px; color: var(--muted-strong); font-size: 9px; }
.public-link-panel button { padding: 9px 12px; border: 1px solid var(--border); border-radius: 9px; background: var(--surface-soft); color: var(--text); font-size: 8px; cursor: pointer; }
.result-metric-grid { display: grid; grid-template-columns: 1.15fr repeat(6,1fr); gap: 10px; margin-bottom: 16px; }
.result-total-card,.result-metric-card { min-height: 118px; padding: 17px; border: 1px solid var(--border); border-radius: 16px; background: var(--admin-panel); }
.result-total-card { background: linear-gradient(145deg,rgba(239,51,64,.22),var(--admin-panel)); }
.result-total-card small,.result-total-card strong,.result-total-card span,.result-metric-card small,.result-metric-card strong { display: block; }
.result-total-card small,.result-metric-card small { color: var(--muted); font-size: 8px; text-transform: uppercase; }
.result-total-card strong,.result-metric-card strong { margin-top: 7px; color: var(--text); font-size: 25px; }
.result-total-card span { margin-top: 8px; color: #29c995; font-size: 8px; }
.result-metric-card strong b { color: var(--muted); font-size: 9px; }
.result-metric-card > div { height: 4px; margin-top: 14px; overflow: hidden; border-radius: 99px; background: var(--surface-soft); }
.result-metric-card i { display: block; height: 100%; border-radius: inherit; background: var(--accent); }
.aspect-cloud { display: grid; gap: 10px; }
.aspect-cloud > div { display: grid; grid-template-columns: 110px 28px 1fr; align-items: center; gap: 8px; }
.aspect-cloud span,.aspect-cloud strong { color: var(--muted-strong); font-size: 9px; }
.aspect-cloud i { display: block; height: 7px; border-radius: 99px; background: linear-gradient(90deg,#c61c2c,#ff5d68); }
.response-table-panel { margin-top: 16px; }
.response-table-wrap { overflow-x: auto; }
.response-table { width: 100%; border-collapse: collapse; min-width: 880px; }
.response-table th { padding: 11px 12px; border-bottom: 1px solid var(--border); color: var(--muted); font-size: 8px; text-align: start; text-transform: uppercase; }
.response-table td { padding: 14px 12px; border-bottom: 1px solid var(--border); color: var(--muted-strong); font-size: 9px; vertical-align: top; }
.response-table tbody tr:hover { background: var(--surface-soft); }
.response-table td strong,.response-table td small,.response-table td time { display: block; }
.response-table td strong { color: var(--text); font-size: 9px; }
.response-table td small { margin-top: 3px; color: var(--muted); font-size: 7px; }
.response-table td p { max-width: 300px; margin: 0; line-height: 1.5; }
.table-score,.table-nps { display: inline-flex; padding: 5px 7px; border-radius: 8px; background: var(--accent-soft); color: var(--accent); font-weight: 900; }
.table-nps { background: rgba(41,201,149,.09); color: #29c995; }
.copy-toast { position: fixed; right: 28px; bottom: 28px; z-index: 120; padding: 11px 15px; border: 1px solid rgba(41,201,149,.28); border-radius: 11px; background: #10271f; color: #5be0b5; font-size: 9px; font-weight: 800; opacity: 0; transform: translateY(10px); transition: var(--transition); }
.copy-toast.show { opacity: 1; transform: none; }

/* Admin login */
.admin-login-body { display: grid; min-height: 100vh; place-items: center; overflow: hidden; padding: 28px; background: #030914; }
html[data-theme="light"] .admin-login-body { background: #eaf0f7; }
.login-ambient { position: fixed; inset: 0; overflow: hidden; pointer-events: none; }
.login-ambient span { position: absolute; width: 38vw; aspect-ratio: 1; border-radius: 50%; background: rgba(239,51,64,.13); filter: blur(90px); }
.login-ambient span:nth-child(1) { top: -20%; left: -10%; }
.login-ambient span:nth-child(2) { right: -18%; bottom: -24%; background: rgba(28,74,125,.25); }
.login-ambient span:nth-child(3) { left: 45%; top: 35%; width: 18vw; background: rgba(239,51,64,.09); }
.admin-login-shell { position: relative; z-index: 2; display: grid; width: min(100%,980px); min-height: 610px; grid-template-columns: 1.1fr .9fr; overflow: hidden; border: 1px solid var(--border); border-radius: 28px; background: var(--admin-panel); box-shadow: 0 40px 120px rgba(0,0,0,.42); backdrop-filter: blur(24px); }
.admin-login-brand-panel { position: relative; display: flex; flex-direction: column; justify-content: space-between; overflow: hidden; padding: 48px; border-inline-end: 1px solid var(--border); background: linear-gradient(145deg,rgba(13,33,57,.85),rgba(5,15,28,.72)); }
html[data-theme="light"] .admin-login-brand-panel { background: linear-gradient(145deg,rgba(255,255,255,.92),rgba(231,238,247,.88)); }
.login-logo { width: 220px; }
.login-kicker { display: block; margin-top: 70px; color: var(--accent); font-size: 9px; font-weight: 900; letter-spacing: .17em; text-transform: uppercase; }
.admin-login-brand-panel h1 { max-width: 420px; margin: 10px 0 12px; color: var(--text); font-size: 43px; line-height: 1.05; letter-spacing: -.04em; }
.admin-login-brand-panel p { max-width: 430px; margin: 0; color: var(--muted); font-size: 12px; }
.login-visual { position: absolute; right: -30px; bottom: -40px; width: 270px; aspect-ratio: 1; }
.login-visual .visual-ring { position: absolute; inset: 20px; border: 1px solid rgba(239,51,64,.25); border-radius: 50%; animation: splashOrbit 12s linear infinite; }
.login-visual .visual-ring::after { content: ""; position: absolute; top: 5%; left: 24%; width: 14px; aspect-ratio: 1; border-radius: 50%; background: var(--accent); box-shadow: 0 0 20px rgba(239,51,64,.65); }
.login-visual .visual-core { position: absolute; inset: 84px; display: grid; place-items: center; border-radius: 26px; background: linear-gradient(145deg,#ff5d68,#a50c1d); color: #fff; font-size: 24px; font-weight: 900; transform: rotate(12deg); box-shadow: 0 22px 55px rgba(239,51,64,.27); }
.login-visual i { position: absolute; width: 7px; aspect-ratio: 1; border-radius: 50%; background: #ef3340; }
.login-visual i:nth-of-type(1) { top: 30px; right: 70px; }.login-visual i:nth-of-type(2){ left: 25px; top: 130px; }.login-visual i:nth-of-type(3){ right: 38px; bottom: 42px; }
.admin-login-card { padding: 34px; background: var(--admin-panel); }
.login-card-toolbar { display: flex; align-items: center; justify-content: space-between; }
.login-card-toolbar a { color: var(--muted); font-size: 9px; text-decoration: none; }
.login-card-copy { margin: 76px 0 28px; }
.login-card-copy span { color: var(--accent); font-size: 8px; font-weight: 900; letter-spacing: .16em; text-transform: uppercase; }
.login-card-copy h2 { margin: 7px 0 0; color: var(--text); font-size: 28px; }
.admin-login-form { display: grid; gap: 16px; }
.admin-login-form > label > span { display: block; margin-bottom: 7px; color: var(--muted-strong); font-size: 9px; font-weight: 800; }
.admin-input-shell { position: relative; }
.admin-input-shell svg { position: absolute; top: 50%; inset-inline-start: 13px; width: 17px; transform: translateY(-50%); fill: none; stroke: var(--muted); stroke-width: 1.7; }
.admin-input-shell input { height: 48px; padding-inline: 42px 13px; }
.admin-check { display: flex; align-items: center; gap: 8px; color: var(--muted); font-size: 9px; cursor: pointer; }
.admin-check input { position: absolute; opacity: 0; }
.admin-check > span { display: grid; width: 17px; aspect-ratio: 1; place-items: center; border: 1px solid var(--border-strong); border-radius: 5px; background: var(--field); }
.admin-check input:checked + span { border-color: var(--accent); background: var(--accent); box-shadow: inset 0 0 0 4px #fff; }
.admin-login-form .admin-primary-button { width: 100%; margin-top: 6px; }

@media (max-width: 1180px) {
    .admin-stat-grid { grid-template-columns: repeat(2,1fr); }
    .session-card-grid { grid-template-columns: repeat(2,1fr); }
    .result-metric-grid { grid-template-columns: repeat(4,1fr); }
}
@media (max-width: 900px) {
    .admin-sidebar { transform: translateX(calc(-100% - 20px)); transition: transform var(--transition); }
    [dir="rtl"] .admin-sidebar { transform: translateX(calc(100% + 20px)); }
    .sidebar-open .admin-sidebar { transform: translateX(0); }
    .sidebar-close,.sidebar-toggle { display: grid; }
    .admin-workspace { margin-inline-start: 0; }
    .admin-content-grid,.admin-chart-grid { grid-template-columns: 1fr; }
    .builder-grid.three { grid-template-columns: 1fr; }
    .admin-login-shell { grid-template-columns: 1fr; max-width: 520px; }
    .admin-login-brand-panel { display: none; }
    .admin-login-card { min-height: 570px; }
}
@media (max-width: 680px) {
    .admin-main { padding: 22px 14px; }
    .admin-topbar { min-height: 68px; padding: 0 14px; }
    .admin-hero { align-items: stretch; flex-direction: column; }
    .admin-hero .admin-primary-button { width: 100%; }
    .admin-stat-grid,.session-card-grid { grid-template-columns: 1fr; }
    .admin-stat-card { min-height: 120px; }
    .pace-donuts { grid-template-columns: 1fr; }
    .pace-item { grid-template-columns: 70px 1fr; align-items: center; justify-items: start; text-align: start; }
    .builder-grid.two { grid-template-columns: 1fr; }
    .builder-actions { flex-wrap: wrap; }
    .builder-actions > * { flex: 1 1 42%; }
    .results-actions { width: 100%; }
    .results-actions a { flex: 1; }
    .public-link-panel { align-items: stretch; flex-direction: column; }
    .public-link-panel code { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    .result-metric-grid { grid-template-columns: repeat(2,1fr); }
    .admin-login-body { padding: 12px; }
    .admin-login-card { padding: 25px 20px; }
    .login-card-copy { margin-top: 70px; }
    .admin-topbar .language-switcher { display: none; }
}
.login-toolbar-actions { display: flex; align-items: center; gap: 8px; }
.login-toolbar-actions .language-switcher { height: 42px; padding: 0 7px; }
.login-toolbar-actions .language-current { gap: 5px; }

/* Team and sub-administrator access management */
.admin-kicker {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--accent);
    font-size: 9px;
    font-weight: 900;
    letter-spacing: .16em;
    text-transform: uppercase;
}
.admin-kicker::before { content: ""; width: 24px; height: 2px; border-radius: 99px; background: var(--accent); box-shadow: 0 0 14px rgba(239,51,64,.6); }
.team-stat-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; margin-bottom: 16px; }
.team-stat-card { position: relative; min-height: 132px; overflow: hidden; padding: 22px; border: 1px solid var(--border); border-radius: 19px; background: var(--admin-panel); box-shadow: 0 16px 44px rgba(0,0,0,.07); }
.team-stat-card::after { content: ""; position: absolute; right: -35px; bottom: -60px; width: 130px; aspect-ratio: 1; border-radius: 50%; background: rgba(239,51,64,.1); filter: blur(6px); }
.team-stat-card.success::after { background: rgba(41,201,149,.11); }
.team-stat-card.muted::after { background: rgba(106,120,142,.11); }
.team-stat-card span,.team-stat-card strong,.team-stat-card small { position: relative; z-index: 1; display: block; }
.team-stat-card span { color: var(--muted); font-size: 8px; font-weight: 850; letter-spacing: .09em; text-transform: uppercase; }
.team-stat-card strong { margin-top: 7px; color: var(--text); font-size: 31px; line-height: 1; }
.team-stat-card small { margin-top: 11px; color: var(--muted-strong); font-size: 8px; }
.team-panel .admin-panel-head > div { display: block; }
.team-panel .admin-panel-head p { margin: 5px 0 0; color: var(--muted); font-size: 9px; }
.team-account-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; }
.team-account-card { position: relative; display: flex; min-height: 295px; flex-direction: column; padding: 18px; overflow: hidden; border: 1px solid var(--border); border-radius: 18px; background: linear-gradient(145deg,var(--surface-soft),transparent), var(--admin-panel); transition: var(--transition); }
.team-account-card::before { content: ""; position: absolute; top: -52px; right: -45px; width: 125px; aspect-ratio: 1; border-radius: 50%; background: rgba(239,51,64,.08); filter: blur(4px); }
.team-account-card:hover { transform: translateY(-3px); border-color: rgba(239,51,64,.24); box-shadow: 0 20px 48px rgba(0,0,0,.1); }
.team-account-top { position: relative; display: flex; align-items: center; justify-content: space-between; }
.team-avatar { display: grid; width: 48px; aspect-ratio: 1; place-items: center; border: 1px solid rgba(239,51,64,.22); border-radius: 15px; background: linear-gradient(145deg,#ff5964,#af1021); color: #fff; font-size: 18px; font-weight: 900; box-shadow: 0 12px 28px rgba(239,51,64,.2); }
.team-status { display: inline-flex; align-items: center; gap: 6px; padding: 6px 9px; border: 1px solid var(--border); border-radius: 99px; background: var(--surface-soft); color: var(--muted); font-size: 7px; font-weight: 900; letter-spacing: .06em; text-transform: uppercase; }
.team-status i { width: 6px; aspect-ratio: 1; border-radius: 50%; background: #748095; }
.team-status.active { border-color: rgba(41,201,149,.22); background: rgba(41,201,149,.08); color: #42d3a4; }
.team-status.active i { background: #42d3a4; box-shadow: 0 0 10px rgba(41,201,149,.55); }
.team-account-main { position: relative; padding: 22px 2px 17px; }
.team-role { color: var(--accent); font-size: 7px; font-weight: 900; letter-spacing: .11em; text-transform: uppercase; }
.team-account-main h3 { margin: 6px 0 4px; color: var(--text); font-size: 17px; }
.team-account-main a { color: var(--muted); font-size: 9px; text-decoration: none; }
.team-account-main a:hover { color: var(--accent); }
.team-account-meta { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; margin: 0; padding: 13px 0; border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); }
.team-account-meta div { min-width: 0; }
.team-account-meta dt,.team-account-meta dd { margin: 0; }
.team-account-meta dt { color: var(--muted); font-size: 7px; text-transform: uppercase; }
.team-account-meta dd { margin-top: 4px; overflow: hidden; color: var(--muted-strong); font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }
.team-account-actions { display: grid; grid-template-columns: 1fr 1fr 38px; gap: 7px; margin-top: auto; padding-top: 13px; }
.team-account-actions form { margin: 0; }
.team-account-actions a,.team-account-actions button { display: grid; width: 100%; min-height: 37px; place-items: center; border: 1px solid var(--border); border-radius: 10px; background: var(--surface-soft); color: var(--muted-strong); font-size: 8px; font-weight: 850; text-decoration: none; cursor: pointer; transition: var(--transition); }
.team-account-actions a:hover,.team-account-actions button:hover { border-color: rgba(239,51,64,.25); background: var(--accent-soft); color: var(--accent); }
.team-account-actions button.danger { color: #ff6470; }
.team-account-actions svg { width: 15px; fill: none; stroke: currentColor; stroke-width: 1.8; }
.team-empty-state { display: grid; min-height: 340px; place-items: center; align-content: center; gap: 9px; padding: 35px; border: 1px dashed var(--border-strong); border-radius: 17px; background: var(--surface-soft); text-align: center; }
.team-empty-icon { display: grid; width: 66px; aspect-ratio: 1; place-items: center; border-radius: 20px; background: var(--accent-soft); color: var(--accent); }
.team-empty-icon svg { width: 28px; fill: none; stroke: currentColor; stroke-width: 1.7; }
.team-empty-state h3,.team-empty-state p { margin: 0; }
.team-empty-state h3 { color: var(--text); font-size: 17px; }
.team-empty-state p { max-width: 430px; color: var(--muted); font-size: 9px; }
.team-empty-state .admin-primary-button { margin-top: 8px; }
.account-builder { max-width: 1050px; }
.account-form-card { position: relative; overflow: hidden; }
.account-form-card::after { content: ""; position: absolute; top: -150px; right: -160px; width: 350px; aspect-ratio: 1; border-radius: 50%; background: rgba(239,51,64,.055); filter: blur(10px); pointer-events: none; }
.account-form-layout { position: relative; z-index: 1; display: grid; grid-template-columns: 110px 1fr; align-items: start; gap: 24px; }
.account-form-avatar { position: relative; display: grid; width: 88px; aspect-ratio: 1; place-items: center; margin: 3px auto 0; border: 1px solid rgba(239,51,64,.24); border-radius: 26px; background: linear-gradient(145deg,#ff5964,#aa0c1e); color: #fff; font-size: 32px; font-weight: 900; box-shadow: 0 19px 40px rgba(239,51,64,.21); }
.account-form-avatar i { position: absolute; right: -3px; bottom: -3px; width: 20px; aspect-ratio: 1; border: 4px solid var(--admin-panel-strong); border-radius: 50%; background: #29c995; }
.account-permission-box { position: relative; z-index: 1; display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-top: 22px; padding: 16px; border: 1px solid rgba(239,51,64,.17); border-radius: 14px; background: linear-gradient(90deg,var(--accent-soft),var(--surface-soft)); }
.account-permission-box > div { display: flex; align-items: center; gap: 12px; }
.permission-icon { display: grid; width: 40px; aspect-ratio: 1; flex: 0 0 40px; place-items: center; border-radius: 12px; background: var(--accent-soft); color: var(--accent); }
.permission-icon svg { width: 20px; fill: none; stroke: currentColor; stroke-width: 1.8; }
.account-permission-box strong,.account-permission-box p { margin: 0; }
.account-permission-box strong { display: block; color: var(--text); font-size: 10px; }
.account-permission-box p { max-width: 680px; margin-top: 4px; color: var(--muted); font-size: 8px; line-height: 1.5; }
.permission-badge { flex: 0 0 auto; padding: 7px 10px; border: 1px solid rgba(239,51,64,.2); border-radius: 99px; color: var(--accent); font-size: 7px; font-weight: 900; text-transform: uppercase; }
.account-status-switch { position: relative; z-index: 1; align-items: center; }
.account-status-switch > div strong,.account-status-switch > div small { display: block; }
.account-status-switch > div strong { color: var(--text); font-size: 9px; }
.account-status-switch > div small { margin-top: 3px; color: var(--muted); font-size: 8px; }

@media (max-width: 1180px) {
    .team-account-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 760px) {
    .team-stat-grid,.team-account-grid { grid-template-columns: 1fr; }
    .account-form-layout { grid-template-columns: 1fr; }
    .account-form-avatar { margin-bottom: 8px; }
    .account-permission-box { align-items: flex-start; flex-direction: column; }
    .permission-badge { margin-inline-start: 52px; }
}
@media (max-width: 520px) {
    .team-account-meta { grid-template-columns: 1fr; }
    .account-form-card { padding: 19px 16px; }
    .permission-badge { margin-inline-start: 0; }
}

/* GroupAxion V4: universal question personalization, light-only UI */
.universal-question-builder { overflow: visible; }
.personalization-notice { margin: -4px 0 18px; padding: 13px 15px; border: 1px solid rgba(239,51,64,.18); border-radius: 12px; background: rgba(239,51,64,.07); color: #9f2630; font-size: 10px; font-weight: 750; }
.question-builder-group { margin-top: 12px; overflow: hidden; border: 1px solid var(--border); border-radius: 16px; background: rgba(246,249,253,.82); }
.question-builder-group summary { display: flex; align-items: center; gap: 12px; padding: 15px 17px; cursor: pointer; list-style: none; user-select: none; }
.question-builder-group summary::-webkit-details-marker { display: none; }
.question-builder-group summary > span { display: grid; width: 34px; aspect-ratio: 1; flex: 0 0 auto; place-items: center; border-radius: 10px; background: var(--accent-soft); color: var(--accent); font-size: 9px; font-weight: 900; }
.question-builder-group summary > div { display: grid; flex: 1; gap: 3px; }
.question-builder-group summary strong { color: var(--text); font-size: 11px; }
.question-builder-group summary small { color: var(--muted); font-size: 8px; }
.question-builder-group summary > b { color: var(--muted); font-size: 16px; transition: transform var(--transition); }
.question-builder-group[open] summary > b { transform: rotate(180deg); }
.question-builder-list { display: grid; gap: 10px; padding: 0 12px 12px; }
.question-translation-card { padding: 16px; border: 1px solid var(--border); border-radius: 14px; background: #fff; }
.question-translation-card header { display: flex; align-items: center; gap: 9px; margin-bottom: 13px; }
.question-translation-card header span { display: grid; width: 25px; aspect-ratio: 1; place-items: center; border-radius: 8px; background: var(--surface-soft); color: var(--accent); font-size: 8px; font-weight: 900; }
.question-translation-card h3 { margin: 0; color: var(--text); font-size: 11px; }
.question-translation-card textarea { min-height: 74px; }
.builder-field-error { color: #c62836 !important; font-weight: 700; }
.sticky-builder-actions { position: sticky; bottom: 12px; z-index: 8; padding: 12px; border: 1px solid var(--border); border-radius: 16px; background: rgba(255,255,255,.9); box-shadow: 0 14px 40px rgba(34,52,76,.12); backdrop-filter: blur(18px); }
.results-actions-expanded { flex-wrap: wrap; justify-content: flex-end; }
.results-actions-expanded a { white-space: nowrap; }
@media (max-width: 860px) {
    .question-translation-card .builder-grid.three { grid-template-columns: 1fr; }
    .sticky-builder-actions { position: static; }
    .results-actions-expanded { justify-content: flex-start; }
}


/* GroupAxion QR action layout */
.session-admin-actions { grid-template-columns: minmax(0,1.25fr) minmax(0,1fr) 42px 42px; }
.session-admin-actions .qr-action { display:flex; align-items:center; justify-content:center; }
.session-admin-actions .qr-action span { display:none; }
.session-admin-actions .qr-action svg { width:15px; fill:none; stroke:currentColor; stroke-width:1.8; }
