:root{--canvas: #080d12;--surface-1: #10181f;--surface-2: #182430;--surface-3: #213040;--surface-4: #2c4256;--hairline: #1e2b38;--hairline-strong: #31445a;--primary: #1697b8;--primary-hover: #3fcbe8;--on-primary: #ffffff;--on-primary-hover: var(--canvas);--primary-focus: rgba(63, 203, 232, .45);--ink: #f6f8fa;--ink-muted: #cbd4dd;--ink-subtle: #8d9baa;--ink-tertiary: #7c8a99;--success: #2fb866;--warning: #e0a930;--danger: #e2584f;--overlay: rgba(3, 8, 12, .6);--radius-xs: 4px;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--radius-pill: 999px;--ease: cubic-bezier(.4, 0, .2, 1);--motion-fast: .14s;--motion-base: .22s;--motion-slow: .32s}:root:not([data-theme=light]){color-scheme:dark}[data-theme=light]{color-scheme:light;--canvas: #f5f8fa;--surface-1: #ffffff;--surface-2: #eaf1f4;--surface-3: #dce6ea;--surface-4: #c9d6dc;--hairline: #d7e1e6;--hairline-strong: #b9c7ce;--primary: #0e7490;--primary-hover: #0b5a70;--on-primary: #ffffff;--on-primary-hover: #ffffff;--primary-focus: rgba(14, 116, 144, .35);--ink: #0b1a22;--ink-muted: #3c4c55;--ink-subtle: #66767e;--ink-tertiary: #78868d;--success: #1e8f4e;--warning: #a3670c;--danger: #c23b32;--overlay: rgba(11, 26, 34, .45)}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%;height:100%}body{margin:0;background:var(--canvas);color:var(--ink);font-family:Inter,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5;-webkit-font-smoothing:antialiased;transition:background var(--motion-base) var(--ease),color var(--motion-base) var(--ease)}a{color:inherit;text-decoration:none}button,input,select{font:inherit;color:inherit}button{cursor:pointer}::selection{background:var(--primary);color:var(--on-primary)}.app-shell{min-height:100vh;background:var(--canvas)}@keyframes rise-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.rise-in{animation:rise-in var(--motion-slow) var(--ease) both}.rise-in.delay-1{animation-delay:40ms}.rise-in.delay-2{animation-delay:80ms}.login-screen{min-height:100vh;display:grid;place-items:center;background:radial-gradient(600px 400px at 15% 10%,color-mix(in srgb,var(--primary) 10%,transparent),transparent 60%),var(--canvas);padding:24px}.login-panel{width:min(100%,400px);padding:36px 32px;background:var(--surface-1);border:1px solid var(--hairline);border-radius:var(--radius-lg)}.login-brand{display:flex;align-items:center;gap:10px;margin-bottom:22px}.login-mark{width:34px;height:34px;border-radius:var(--radius-pill);background:var(--primary);color:var(--on-primary);display:grid;place-items:center;font-weight:700;font-size:13px}.login-eyebrow{font-size:11px;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-subtle);font-weight:600}.login-panel h1{margin:0 0 26px;font-size:1.6rem;letter-spacing:-.01em;font-weight:700;color:var(--ink)}.login-form{display:grid;gap:16px}.login-form label{display:grid;gap:7px}.login-form span{font-size:12px;font-weight:600;color:var(--ink-subtle)}.login-form input{background:var(--surface-2);border:1px solid var(--hairline);color:var(--ink);border-radius:var(--radius-sm);padding:12px 14px;outline:none;transition:border-color var(--motion-fast) var(--ease),background var(--motion-fast) var(--ease)}.login-form input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-focus)}.login-hint{margin-top:4px;font-size:11px;color:var(--ink-tertiary);text-align:center}.primary-button,.secondary-button,.ghost-button,.danger-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:var(--radius-md);padding:.72rem 1.15rem;border:1px solid transparent;font-size:13px;font-weight:600;transition:background var(--motion-fast) var(--ease),border-color var(--motion-fast) var(--ease),color var(--motion-fast) var(--ease),transform var(--motion-fast) var(--ease);white-space:nowrap}.primary-button{background:var(--primary);color:var(--on-primary);border-color:var(--primary)}.primary-button:hover:not(:disabled){background:var(--primary-hover);border-color:var(--primary-hover);color:var(--on-primary-hover)}.secondary-button{background:var(--surface-2);color:var(--ink);border-color:var(--hairline)}.secondary-button:hover:not(:disabled){background:var(--surface-3);border-color:var(--hairline-strong)}.ghost-button{background:transparent;color:var(--ink-subtle);border-color:var(--hairline)}.ghost-button:hover:not(:disabled){color:var(--ink);border-color:var(--hairline-strong)}.danger-button{background:transparent;color:var(--danger);border-color:color-mix(in srgb,var(--danger) 45%,var(--hairline))}.danger-button:hover:not(:disabled){background:color-mix(in srgb,var(--danger) 12%,transparent)}button:disabled{opacity:.55;cursor:not-allowed}.secondary-button.small,.ghost-button.small,.danger-button.small{padding:.5rem .85rem;font-size:12px}.secondary-button.icon-only{padding:.5rem}.form-error{color:var(--danger);font-size:.85rem;border:1px solid color-mix(in srgb,var(--danger) 40%,var(--hairline));background:color-mix(in srgb,var(--danger) 10%,transparent);border-radius:var(--radius-sm);padding:10px 12px}.form-success{color:var(--success);font-size:.85rem;border:1px solid color-mix(in srgb,var(--success) 40%,var(--hairline));background:color-mix(in srgb,var(--success) 10%,transparent);border-radius:var(--radius-sm);padding:10px 12px}.portal-shell{display:flex;height:100vh;background:var(--canvas);overflow:hidden}.sidebar{width:258px;height:100%;flex-shrink:0;background:color-mix(in srgb,var(--surface-1) 62%,transparent);backdrop-filter:blur(20px) saturate(150%);-webkit-backdrop-filter:blur(20px) saturate(150%);border-right:1px solid var(--hairline);padding:18px 16px;display:flex;flex-direction:column;gap:16px;overflow-y:auto;transition:background var(--motion-base) var(--ease),border-color var(--motion-base) var(--ease)}.brand-block{display:flex;align-items:center;gap:11px;padding:6px 6px 16px;border-bottom:1px solid var(--hairline)}.brand-mark{width:36px;height:36px;border-radius:var(--radius-pill);background:var(--primary);color:var(--on-primary);display:grid;place-items:center;font-weight:700;font-size:13px;flex-shrink:0}.brand-name{font-size:.82rem;letter-spacing:.04em;font-weight:700;color:var(--ink)}.brand-subtitle{font-size:10px;color:var(--ink-subtle);letter-spacing:.06em;margin-top:2px}.nav-list{display:grid;gap:3px}.nav-item{display:flex;align-items:center;gap:10px;border-radius:var(--radius-sm);padding:10px 11px;color:var(--ink-subtle);font-size:13px;font-weight:500;transition:background var(--motion-fast) var(--ease),color var(--motion-fast) var(--ease)}.nav-item:hover{background:var(--surface-2);color:var(--ink)}.nav-item.active{background:var(--surface-2);color:var(--primary)}.nav-item.active .nav-icon{color:var(--primary)}.sidebar-footer{margin-top:auto;display:grid;gap:10px;padding-top:14px;border-top:1px solid var(--hairline)}.theme-toggle{display:flex;align-items:center;justify-content:space-between;gap:8px;background:var(--surface-2);border:1px solid var(--hairline);border-radius:var(--radius-sm);padding:8px 10px;font-size:12px;color:var(--ink-subtle)}.theme-toggle-buttons{display:flex;gap:2px;background:var(--surface-3);border-radius:var(--radius-xs);padding:2px}.theme-toggle-buttons button{border:none;background:transparent;color:var(--ink-subtle);padding:5px 7px;border-radius:3px;display:grid;place-items:center;transition:background var(--motion-fast) var(--ease),color var(--motion-fast) var(--ease)}.theme-toggle-buttons button.active{background:var(--surface-1);color:var(--primary)}.user-chip{display:flex;align-items:center;gap:10px;background:var(--surface-2);border:1px solid var(--hairline);border-radius:var(--radius-sm);padding:9px 11px}.user-avatar{width:28px;height:28px;border-radius:var(--radius-pill);display:grid;place-items:center;background:var(--primary);color:var(--on-primary);font-size:12px;font-weight:700;flex-shrink:0}.user-chip strong,.user-chip span{display:block}.user-chip strong{font-size:13px;color:var(--ink)}.user-chip span{color:var(--ink-subtle);font-size:10.5px;letter-spacing:.04em;margin-top:1px}.main-panel{flex:1;min-width:0;height:100%;display:flex;flex-direction:column;overflow-y:auto;overflow-x:hidden}.topbar{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:18px 26px;border-bottom:1px solid var(--hairline);background:color-mix(in srgb,var(--surface-1) 55%,transparent);backdrop-filter:blur(16px) saturate(150%);-webkit-backdrop-filter:blur(16px) saturate(150%);position:sticky;top:0;z-index:5}.topbar-left{display:flex;align-items:center;gap:14px}.topbar-kicker{font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-subtle);font-weight:600}.topbar h2{margin:3px 0 0;font-size:1.35rem;letter-spacing:-.01em;font-weight:700;color:var(--ink)}.topbar-actions{display:flex;gap:8px;align-items:center}.icon-button,.menu-button{width:36px;height:36px;border-radius:var(--radius-sm);background:var(--surface-1);border:1px solid var(--hairline);color:var(--ink-subtle);display:grid;place-items:center;transition:background var(--motion-fast) var(--ease),color var(--motion-fast) var(--ease),border-color var(--motion-fast) var(--ease)}.menu-button{display:none}.icon-button:hover,.menu-button:hover{background:var(--surface-2);color:var(--ink);border-color:var(--hairline-strong)}.content-zone{padding:26px;display:grid;grid-template-columns:minmax(0,1fr);gap:20px}.portal-shell{background:radial-gradient(620px 420px at 4% -5%,color-mix(in srgb,var(--primary) 20%,transparent),transparent 62%),radial-gradient(520px 380px at 100% 8%,color-mix(in srgb,var(--ink-muted) 16%,transparent),transparent 58%),radial-gradient(560px 420px at 45% 105%,color-mix(in srgb,var(--primary) 12%,transparent),transparent 62%),var(--canvas);background-attachment:fixed}.glass{background:color-mix(in srgb,var(--surface-1) 46%,transparent)!important;backdrop-filter:blur(18px) saturate(150%);-webkit-backdrop-filter:blur(18px) saturate(150%);border-color:color-mix(in srgb,var(--hairline-strong) 65%,transparent)!important;box-shadow:0 10px 34px #03080c38}[data-theme=light] .glass{background:color-mix(in srgb,var(--surface-1) 55%,transparent)!important;box-shadow:0 10px 30px #0b1a221f}.metric-card.glass{background:color-mix(in srgb,var(--surface-2) 42%,transparent)!important;backdrop-filter:blur(12px) saturate(150%);-webkit-backdrop-filter:blur(12px) saturate(150%)}.hero-band{display:flex;justify-content:space-between;align-items:end;flex-wrap:wrap;gap:18px;border:1px solid var(--hairline);border-radius:var(--radius-lg);background:var(--surface-1);padding:26px 28px}.hero-copy{max-width:640px;min-width:0}.micro-copy{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--primary);font-weight:700}.hero-copy h3{margin:10px 0 8px;font-size:clamp(1.6rem,2.6vw,2.2rem);letter-spacing:-.015em;font-weight:700;color:var(--ink)}.hero-copy p{margin:0;color:var(--ink-subtle);max-width:520px;font-size:14px}.hero-actions{display:flex;gap:10px;flex-wrap:wrap}.panel{min-width:0;background:var(--surface-1);border:1px solid var(--hairline);border-radius:var(--radius-lg);padding:20px 20px 18px;transition:background var(--motion-base) var(--ease),border-color var(--motion-base) var(--ease)}.panel-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;margin-bottom:16px}.panel-title-row{display:flex;align-items:center;gap:12px}.panel-icon{width:34px;height:34px;border-radius:var(--radius-sm);display:grid;place-items:center;background:color-mix(in srgb,var(--primary) 14%,transparent);color:var(--primary);flex-shrink:0}.panel-kicker{font-size:11px;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-subtle);font-weight:600}.panel-header h3{margin:4px 0 0;font-size:1.1rem;font-weight:700;letter-spacing:-.01em;color:var(--ink)}.kpi-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}.metric-card{background:var(--surface-2);border:1px solid var(--hairline);border-radius:var(--radius-md);padding:16px 15px 13px;display:grid;gap:8px;transition:transform var(--motion-fast) var(--ease),border-color var(--motion-fast) var(--ease)}.metric-card:hover{transform:translateY(-2px);border-color:var(--hairline-strong)}.metric-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.metric-card span{color:var(--ink-subtle);text-transform:uppercase;font-size:10.5px;letter-spacing:.06em;font-weight:600}.metric-card strong{font-size:clamp(1.25rem,1.8vw,1.9rem);letter-spacing:-.02em;line-height:1;color:var(--ink)}.metric-card-icon{width:26px;height:26px;border-radius:var(--radius-sm);display:grid;place-items:center;background:color-mix(in srgb,var(--primary) 16%,transparent);color:var(--primary);flex-shrink:0}.metric-card.positive strong{color:var(--success)}.metric-card.positive .metric-card-icon{background:color-mix(in srgb,var(--success) 16%,transparent);color:var(--success)}.metric-card.warning strong{color:var(--warning)}.metric-card.warning .metric-card-icon{background:color-mix(in srgb,var(--warning) 18%,transparent);color:var(--warning)}.metric-card.danger strong{color:var(--danger)}.metric-card.danger .metric-card-icon{background:color-mix(in srgb,var(--danger) 16%,transparent);color:var(--danger)}.metric-card.dark .metric-card-icon{background:color-mix(in srgb,var(--primary) 22%,transparent);color:var(--primary)}.metric-card.dark{background:var(--surface-3)}.two-column-layout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.stats-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}.stats-list li{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--hairline);padding-bottom:10px;color:var(--ink-subtle);font-size:12px;font-weight:500}.stats-list li strong{color:var(--ink);font-size:1rem;font-weight:700}.stats-list li span{display:flex;align-items:center;gap:7px}.stats-list li span svg{color:var(--ink-tertiary);flex-shrink:0}.chart-wrap{overflow-x:auto}.chart-bars{display:flex;align-items:flex-end;gap:4px;height:160px;min-width:560px;padding-top:8px}.chart-col{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;gap:4px}.chart-bar-stack{position:relative;width:100%;height:100%}.chart-bar{position:absolute;left:0;right:0;bottom:0;border-radius:2px 2px 0 0;transition:opacity var(--motion-fast) var(--ease);min-height:2px}.chart-bar.total{background:var(--surface-4)}.chart-bar.answered{background:var(--primary)}.chart-col:hover .chart-bar{opacity:.82}.chart-label{font-size:9px;color:var(--ink-tertiary)}.chart-legend{display:flex;gap:16px;margin-top:10px;font-size:11px;color:var(--ink-subtle)}.chart-legend-dot{display:inline-block;width:8px;height:8px;border-radius:2px;margin-right:6px;vertical-align:middle}.filter-bar{display:flex;flex-wrap:wrap;align-items:end;gap:12px;margin-bottom:18px;padding-bottom:18px;border-bottom:1px solid var(--hairline)}.filter-field{display:grid;gap:6px}.filter-field span{font-size:10.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-subtle);font-weight:600}.filter-field input,.filter-field select{background:var(--surface-2);border:1px solid var(--hairline);color:var(--ink);border-radius:var(--radius-sm);padding:9px 11px;outline:none;min-width:150px;transition:border-color var(--motion-fast) var(--ease)}.filter-field input:focus,.filter-field select:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-focus)}.inline-stats{grid-template-columns:repeat(4,minmax(0,1fr));display:grid;gap:12px;margin-bottom:18px}.inline-stats li{flex-direction:column;align-items:flex-start;gap:6px}.table-shell{overflow:auto;border:1px solid var(--hairline);border-radius:var(--radius-md);background:var(--surface-1)}.table-shell table{width:100%;border-collapse:collapse;font-size:13px}.table-shell th,.table-shell td{padding:11px 14px;border-bottom:1px solid var(--hairline);text-align:left}.table-shell th{color:var(--ink-subtle);text-transform:uppercase;letter-spacing:.05em;font-size:10.5px;font-weight:600;background:var(--surface-2)}.table-shell tbody tr{transition:background var(--motion-fast) var(--ease)}.table-shell tbody tr:hover{background:var(--surface-2)}.table-shell tbody tr:last-child td{border-bottom:none}.row-clickable{cursor:pointer}.table-shell .mono{font-variant-numeric:tabular-nums;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:12.5px;color:var(--ink-subtle)}.empty-cell{text-align:center;color:var(--ink-subtle);padding:30px 14px}.state-box{background:var(--surface-1);border:1px solid var(--hairline);border-radius:var(--radius-md);padding:20px 16px;color:var(--ink-subtle)}.state-box.error{border-color:color-mix(in srgb,var(--danger) 45%,var(--hairline));color:var(--danger)}.badge{display:inline-flex;align-items:center;padding:3px 10px;border-radius:var(--radius-pill);font-size:11px;font-weight:600}.badge-answered{background:color-mix(in srgb,var(--success) 16%,transparent);color:var(--success)}.badge-noanswer{background:color-mix(in srgb,var(--warning) 18%,transparent);color:var(--warning)}.badge-failed{background:color-mix(in srgb,var(--danger) 16%,transparent);color:var(--danger)}.badge-role{background:var(--surface-3);color:var(--ink-muted);text-transform:uppercase;letter-spacing:.04em;font-size:10px}.badge-role.role-root{background:var(--primary);color:var(--on-primary)}.settings-stack{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.setting-box{background:var(--surface-2);border:1px solid var(--hairline);border-radius:var(--radius-md);padding:16px 15px;display:grid;gap:7px}.setting-box span{font-size:10.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-subtle);font-weight:600}.setting-box strong{font-size:.95rem;color:var(--ink)}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.form-grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.form-field{display:grid;gap:6px}.form-field.span-2{grid-column:span 2}.form-field label{font-size:12px;font-weight:600;color:var(--ink-subtle)}.form-field input,.form-field select{background:var(--surface-2);border:1px solid var(--hairline);color:var(--ink);border-radius:var(--radius-sm);padding:10px 12px;outline:none;transition:border-color var(--motion-fast) var(--ease)}.form-field input:focus,.form-field select:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-focus)}.form-field-hint{font-size:11px;color:var(--ink-tertiary)}.form-actions{display:flex;gap:10px;margin-top:16px;flex-wrap:wrap;align-items:center}.form-note{font-size:12.5px;color:var(--ink-subtle);margin-bottom:14px}.panel-divider{border:none;border-top:1px solid var(--hairline);margin:20px 0}.panel-subtitle{font-size:.95rem;font-weight:700;color:var(--ink);margin-bottom:4px}@keyframes overlay-in{0%{opacity:0}to{opacity:1}}@keyframes modal-in{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--overlay);z-index:100;display:flex;align-items:center;justify-content:center;padding:20px;animation:overlay-in var(--motion-fast) var(--ease) both}.modal-box{background:color-mix(in srgb,var(--surface-1) 88%,transparent);backdrop-filter:blur(24px) saturate(150%);-webkit-backdrop-filter:blur(24px) saturate(150%);border:1px solid var(--hairline-strong);border-radius:var(--radius-lg);width:min(100%,560px);max-height:88vh;overflow-y:auto;padding:24px;box-shadow:0 20px 60px #03080c59;animation:modal-in var(--motion-base) var(--ease) both}.modal-box.wide{width:min(100%,820px)}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.modal-header h3{margin:0;font-size:1.05rem;font-weight:700;color:var(--ink)}.modal-close{width:30px;height:30px;border-radius:var(--radius-sm);background:var(--surface-2);border:1px solid var(--hairline);color:var(--ink-subtle);display:grid;place-items:center}.modal-close:hover{color:var(--ink)}.modal-actions{display:flex;gap:10px;margin-top:18px}.switch-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.switch{position:relative;width:40px;height:22px}.switch input{opacity:0;width:0;height:0}.switch-track{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--surface-3);border:1px solid var(--hairline);border-radius:var(--radius-pill);transition:background var(--motion-fast) var(--ease);cursor:pointer}.switch-track:before{content:"";position:absolute;width:16px;height:16px;left:2px;top:2px;background:var(--ink);border-radius:50%;transition:transform var(--motion-fast) var(--ease)}.switch input:checked+.switch-track{background:var(--primary)}.switch input:checked+.switch-track:before{transform:translate(18px);background:var(--on-primary)}@media (max-width: 1100px){.kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.form-grid,.form-grid.cols-3{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 860px){.portal-shell{flex-direction:column;height:100vh;overflow:hidden}.sidebar{width:100%;height:auto;max-height:70vh;border-right:none;border-bottom:1px solid var(--hairline);display:none}.sidebar.open{display:flex}.main-panel{flex:1;min-height:0}.two-column-layout,.settings-stack{grid-template-columns:1fr}.menu-button{display:grid}}@media (max-width: 640px){.topbar,.content-zone{padding-left:16px;padding-right:16px}.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.panel{padding:16px 14px 14px}.panel-header{align-items:flex-start;flex-direction:column}.topbar{flex-wrap:wrap}.form-grid,.form-grid.cols-3{grid-template-columns:1fr}.form-field.span-2{grid-column:span 1}.hero-band{flex-direction:column;align-items:stretch;padding:20px}.hero-actions,.hero-actions .secondary-button,.hero-actions .primary-button{width:100%}.filter-bar{gap:10px}.filter-field{flex:0 1 calc(50% - 5px);min-width:0;max-width:calc(50% - 5px)}.filter-field input,.filter-field select{min-width:0;width:100%}.inline-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
