:root{color-scheme:light;--background:#f7f9fb;--foreground:#111827;--muted:#5b6472;--muted-strong:#344054;--line:#e5eaf0;--line-strong:#d6dee8;--panel:#ffffff;--panel-soft:#f7f9fb;--panel-strong:#f2f4f7;--panel-raised:#fbfcfd;--field:#ffffff;--field-hover:#fbfcfd;--accent:#0e9f6e;--accent-strong:#087d5f;--accent-muted:#eaf8f2;--accent-text:#ffffff;--success:#0e9f6e;--success-bg:#eaf8f2;--warning:#f5b544;--warning-bg:#fff7df;--danger:#c92036;--danger-bg:#fcecee;--info:#1d70b8;--info-bg:#eaf3fb;--neutral-bg:#f2f4f7;--shadow:0 16px 42px rgba(17,24,39,0.12);--radius-sm:6px;--radius-md:8px;--app-header-height:64px}*{box-sizing:border-box}body,html{margin:0;min-height:100%;background:var(--background);color:var(--foreground);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:15px;line-height:1.5}body{min-height:100dvh}a{color:inherit;text-decoration:none}a:hover{color:var(--accent-strong)}button,input,select,textarea{font:inherit}.button,.button-link,.icon-button,.secondary-link,button{display:inline-flex;min-height:44px;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;border-radius:var(--radius-sm);cursor:pointer;font-weight:700;line-height:1;text-align:center;transition:background .16s ease,border-color .16s ease,color .16s ease,opacity .16s ease,transform .16s ease;touch-action:manipulation}.button-link,.button.primary,button{background:var(--accent);color:var(--accent-text);padding:0 15px}.button-link:hover,.button.primary:hover,button:hover{background:var(--accent-strong);color:var(--accent-text)}.button-link:active,.button:active,.icon-button:active,.secondary-link:active,button:active{transform:translateY(1px)}.button-link,.secondary-link{padding:0 15px}.button.secondary,.secondary-link,button.secondary{border-color:var(--line-strong);background:var(--panel);color:var(--foreground)}.button.secondary:hover,.secondary-link:hover,button.secondary:hover{border-color:var(--accent);background:var(--accent-muted);color:var(--foreground)}.button.danger,button.danger{border-color:#f4c7d0;background:var(--danger-bg);color:#a5122a}.button.danger:hover,button.danger:hover{border-color:#e7a8b4;background:#f8dde2;color:#8f1024}.button[aria-disabled=true],button:disabled{cursor:not-allowed;opacity:.52;transform:none}.icon-button{width:44px;padding:0;border-color:var(--line);background:var(--panel-strong);color:var(--muted-strong)}.icon-button:hover{border-color:var(--line-strong);background:var(--panel-raised);color:var(--foreground)}input,select,textarea{min-height:44px;width:100%;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--field);color:var(--foreground);padding:0 12px;outline:none;transition:background .16s ease,border-color .16s ease,box-shadow .16s ease}input:hover,select:hover,textarea:hover{background:var(--field-hover);border-color:var(--line-strong)}a:focus-visible,button:focus-visible,input:focus,select:focus,summary:focus-visible,textarea:focus{outline:2px solid rgba(14,159,110,.6);outline-offset:2px}input::placeholder,textarea::placeholder{color:#8a93a3}textarea{min-height:108px;padding:11px 12px;resize:vertical}.mono-input{min-height:260px;font:13px/1.55 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}input[type=file]{padding:9px 12px}input[type=checkbox],input[type=radio]{min-height:auto;accent-color:var(--accent)}label{display:grid;grid-gap:7px;gap:7px;color:var(--muted-strong);font-size:13px;font-weight:650}h1,h2,h3,p{margin-top:0}h1,h2,h3{color:var(--foreground);letter-spacing:0;line-height:1.15}h1{margin-bottom:8px;font-size:clamp(25px,3vw,34px)}h2{margin-bottom:10px;font-size:20px}h3{margin-bottom:8px;font-size:16px}p:last-child{margin-bottom:0}table{width:100%;border-collapse:separate;border-spacing:0}td,th{border-bottom:1px solid var(--line);padding:12px 10px;text-align:left;vertical-align:top}th{color:var(--muted);font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}td{color:var(--muted-strong);word-break:break-word}tbody tr:hover td{background:#fbfcfd}tbody tr:last-child td{border-bottom:0}.shell{min-height:100dvh}.app-shell{background:var(--background)}.app-header{position:-webkit-sticky;position:sticky;top:0;z-index:40;height:var(--app-header-height);min-height:var(--app-header-height);gap:34px;border-bottom:1px solid var(--line);background:var(--panel);padding:0 32px}.app-header,.brand{display:flex;align-items:center}.brand{min-height:44px;gap:12px;width:214px;min-width:214px;font-weight:800}.brand-mark{display:inline-grid;width:28px;height:28px;place-items:center;border-radius:var(--radius-md);background:var(--accent);color:#ffffff;font-size:16px;font-weight:900}.brand-title{color:var(--foreground);font-size:18px;letter-spacing:0}.brand-subtitle,.brand-title{display:block;font-weight:700}.brand-subtitle{color:var(--muted);font-size:11px;text-transform:uppercase}.nav,.sidebar-nav{display:flex;min-width:0;flex:1 1 auto;flex-direction:row;gap:4px;height:100%;overflow-x:auto;scrollbar-width:thin}.nav-link{display:flex;min-height:var(--app-header-height);flex:0 0 auto;align-items:center;border-bottom:3px solid transparent;color:var(--foreground);padding:3px 18px 0;font-size:14px;font-weight:500}.nav-link:hover{color:var(--accent-strong)}.nav-link.active,.nav-link[aria-current=page]{border-bottom-color:var(--accent);color:#075e45;font-weight:700}.content-scroll,.content-shell{min-width:0}.topbar-actions{display:flex;flex:0 0 auto;align-items:center;justify-content:flex-end;gap:10px}.user-chip{display:inline-flex;min-height:34px;align-items:center;gap:8px;border:0;background:transparent;color:var(--foreground);padding:0;font-size:13px;font-weight:600}.shell-alert{margin:18px 24px 0}.main,.page-shell{width:min(1240px,100%);margin:0 auto;padding:26px 24px}.main.stack,.page-shell.stack{gap:16px}.page-header,.toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}.page-header>div,.toolbar>div{min-width:0}.page-kicker{margin-bottom:6px;color:var(--accent-strong);font-size:11px;font-weight:850;text-transform:uppercase}.card,.data-table,.inspector-sidebar,.metric-card,.panel{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--panel);box-shadow:none}.card,.panel{padding:18px}.panel.muted{color:var(--muted)}.error-panel,.panel.error{border-color:rgba(251,113,133,.38);background:var(--danger-bg)}.panel.success,.success-panel{border-color:rgba(74,222,128,.34);background:var(--success-bg)}.cards-grid,.metric-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));grid-gap:12px;gap:12px}.metric-card{display:grid;grid-gap:8px;gap:8px;padding:14px}.metric-label{color:var(--muted);font-size:11px;font-weight:850;text-transform:uppercase}.metric-value{color:var(--foreground);font-size:24px;font-weight:850;line-height:1.1}.metric-note{color:var(--muted);font-size:12px}.badge,.status-badge,.trace-chip{display:inline-flex;min-height:28px;align-items:center;gap:7px;border:1px solid var(--line);border-radius:999px;background:var(--neutral-bg);color:var(--muted-strong);padding:0 10px;font-size:11px;font-weight:850;letter-spacing:.02em;text-transform:uppercase;white-space:nowrap}.badge-mark,.trace-chip:before{display:inline-block;width:8px;height:8px;flex:0 0 auto;border-radius:50%;background:currentColor;content:""}.badge.ok,.status-badge.ok{border-color:transparent;background:var(--success-bg);color:#075e45}.badge.info,.status-badge.info{border-color:transparent;background:var(--info-bg);color:#1d70b8}.badge.warning,.status-badge.warning{border-color:transparent;background:var(--warning-bg);color:#7a4300}.badge.danger,.status-badge.danger{border-color:transparent;background:var(--danger-bg);color:#a5122a}.badge.neutral,.status-badge.neutral{border-color:var(--line);background:var(--neutral-bg);color:var(--muted-strong)}.status-badge.danger .badge-mark{border-radius:2px}.status-badge.info .badge-mark{width:7px;height:7px;border:2px solid;background:transparent}.status-badge.ok .badge-mark{box-shadow:0 0 0 3px rgba(74,222,128,.16)}.chip-row,.trace-chip-group{display:flex;flex-wrap:wrap;gap:8px}.data-table,.table-wrap{width:100%;overflow-x:auto}.data-table{padding:0}.data-table table,.table-wrap table{min-width:760px}.filter-bar,.table-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--panel-soft);padding:10px}.filter-controls{display:flex;flex:1 1 360px;flex-wrap:wrap;gap:10px}.control,.filter-control{min-width:170px;flex:1 1 170px}.tab-list,.tabs{display:flex;flex-wrap:wrap;gap:6px;border-bottom:1px solid var(--line)}.tab,.tabs a,.tabs button{min-height:44px;border:1px solid transparent;border-radius:var(--radius-sm) var(--radius-sm) 0 0;background:transparent;color:var(--muted-strong);padding:0 12px;font-size:13px;font-weight:800}.tab.active,.tab[aria-selected=true],.tabs a.active,.tabs button.active{border-color:var(--line);border-bottom-color:var(--panel);background:var(--panel);color:var(--foreground)}.stepper,.timeline{display:grid;grid-gap:12px;gap:12px}.stepper-step,.timeline-step{position:relative;display:grid;grid-template-columns:28px 1fr;grid-gap:10px;gap:10px}.stepper-step:before,.timeline-step:before{display:grid;width:28px;height:28px;place-items:center;border:1px solid var(--line-strong);border-radius:50%;background:var(--panel-strong);color:var(--muted-strong);content:""}.stepper-step.active:before,.timeline-step.active:before{border-color:rgba(96,165,250,.46);background:var(--info-bg)}.stepper-step.done:before,.timeline-step.done:before{border-color:rgba(74,222,128,.44);background:var(--success-bg)}.inspector-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,360px);grid-gap:16px;gap:16px;align-items:start}.inspector-sidebar{position:-webkit-sticky;position:sticky;top:84px;display:grid;grid-gap:14px;gap:14px;padding:16px}.evidence-list,.risk-list{display:grid;grid-gap:10px;gap:10px;margin:0;padding:0;list-style:none}.evidence-item,.risk-item{border:1px solid var(--line);border-left:3px solid var(--warning);border-radius:var(--radius-sm);background:var(--panel-soft);padding:12px}.risk-item.danger,.risk-item.high{border-left-color:var(--danger)}.evidence-item{border-left-color:var(--info)}.dropzone,.upload-zone{display:grid;min-height:180px;place-items:center;border:1px dashed var(--line-strong);border-radius:var(--radius-md);background:rgba(96,165,250,.045);color:var(--muted-strong);padding:24px;text-align:center}.dropzone.active,.dropzone:hover,.upload-zone.active,.upload-zone:hover{border-color:rgba(94,234,212,.58);background:var(--accent-muted)}.details-panel,.raw-output,.text-preview{max-height:420px;overflow:auto;white-space:pre-wrap;word-break:break-word;border:1px solid var(--line);border-radius:var(--radius-sm);background:#fbfcfd;color:var(--foreground);padding:13px;font:13px/1.55 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.narrative-output{max-height:none;white-space:pre-wrap}details.details-panel,details.raw-output{padding:0}details.details-panel summary,details.raw-output summary{min-height:44px;cursor:pointer;padding:12px 13px;color:var(--muted-strong);font:700 13px/1.4 ui-sans-serif,system-ui,sans-serif}details.details-panel[open] summary,details.raw-output[open] summary{border-bottom:1px solid var(--line)}.shimmer,.skeleton{position:relative;overflow:hidden;border-radius:var(--radius-sm);background:var(--panel-strong)}.shimmer:after,.skeleton:after{position:absolute;inset:0;transform:translateX(-100%);animation:shimmer 1.4s infinite;background:linear-gradient(90deg,transparent,rgba(255,255,255,.08),transparent);content:""}.pulse{animation:pulse 1.4s ease-in-out infinite}.progress{position:relative;height:8px;overflow:hidden;border-radius:999px;background:var(--panel-strong)}.progress-bar,.progress>span{display:block;height:100%;border-radius:inherit;background:var(--accent)}.progress.indeterminate:before{position:absolute;inset:0;width:42%;animation:progress-slide 1.1s ease-in-out infinite;border-radius:inherit;background:var(--accent);content:""}.checkbox-label{min-height:44px;grid-template-columns:auto 1fr;align-items:center;column-gap:10px;color:var(--foreground);cursor:pointer}.checkbox-label input{width:18px;height:18px;justify-self:start;cursor:inherit}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));grid-gap:12px;gap:12px}.stack{display:grid;grid-gap:14px;gap:14px}.muted{color:var(--muted)}.error{color:#a5122a}.success{color:#075e45}.warning{color:#7a4300}.button-row{gap:10px;align-items:center}.admin-tabs,.button-row{display:flex;flex-wrap:wrap}.admin-tabs{gap:8px}.feedback-dashboard__filters label{min-width:180px}.feedback-dashboard__signals{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));grid-gap:12px;gap:12px}.feedback-dashboard__signal{display:grid;grid-gap:8px;gap:8px;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--panel-soft);padding:14px}.feedback-dashboard__signal strong{color:var(--foreground);font-size:17px;overflow-wrap:anywhere}.feedback-dashboard__comment,.feedback-dashboard__signal p{margin:0;color:var(--muted-strong);overflow-wrap:anywhere}.feedback-dashboard__table table{min-width:1180px}.meta-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));grid-gap:14px;gap:14px}.small{font-size:12px}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);-webkit-clip-path:inset(50%);clip-path:inset(50%);white-space:nowrap}.login-shell{display:grid;min-height:100dvh;place-items:center;background:var(--background);padding:24px}.login-panel{width:min(420px,100%);box-shadow:var(--shadow)}.app-loading,.loading-panel{min-height:100dvh;display:grid;place-items:center}@keyframes shimmer{to{transform:translateX(100%)}}@keyframes pulse{0%,to{opacity:.55}50%{opacity:1}}@keyframes progress-slide{0%{transform:translateX(-120%)}to{transform:translateX(250%)}}@media (max-width:900px){.app-header{position:-webkit-sticky;position:sticky;height:auto;flex-wrap:wrap;gap:12px;padding:12px}.brand{width:auto;min-width:0}.brand-mark{width:34px;height:34px}.sidebar-nav{order:3;width:100%;flex-direction:row;height:auto;overflow-x:auto;padding-bottom:2px}.nav-link{min-height:44px;min-width:max-content;border:1px solid transparent;border-radius:var(--radius-sm);padding:0 12px}.nav-link.active,.nav-link[aria-current=page]{border-color:var(--accent);border-bottom-color:var(--accent);background:var(--accent-muted)}.topbar-actions{margin-left:auto}.main,.page-shell{padding:20px 16px}.page-header,.toolbar{align-items:stretch;flex-direction:column}.inspector-layout{grid-template-columns:1fr}.inspector-sidebar{position:static}}@media (max-width:560px){.sidebar-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));overflow-x:visible}.sidebar-nav .nav-link{min-width:0;flex:initial;padding:0 8px}.sidebar-nav .nav-link>span:last-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar-actions{align-items:center;flex-direction:row;flex-wrap:wrap;justify-content:flex-start;margin-left:0}.topbar-actions>*{width:auto}.user-chip{justify-content:center;max-width:100%;min-width:0;overflow:hidden;text-overflow:ellipsis}.topbar-actions button.secondary{flex:0 0 auto}.button-row{align-items:stretch;flex-direction:column}.button-row>*{width:100%}}@media (max-width:420px){.sidebar-nav{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}