:root{color-scheme:dark;--c-bg:#0f141b;--c-panel:#161d27;--c-line:#293341;--c-text:#e7ebf1;--c-text-dim:#95a1b3;--c-signal:#49c8c2;--c-amber:#e5a23b;--c-red:#e15b52;--c-green:#5fbf83;--bg:var(--c-bg);--bg-sunken:#0b0f15;--panel:var(--c-panel);--panel-raised:#1b2431;--panel-inset:#121924;--line:var(--c-line);--line-strong:#3a475a;--scrim:rgba(6,9,13,0.72);--text:var(--c-text);--text-dim:var(--c-text-dim);--text-faint:#6c7a8d;--text-on-signal:#06211f;--text-on-danger:#2a0b09;--signal:var(--c-signal);--signal-hover:#5ad6d0;--signal-tint:rgba(73,200,194,0.14);--signal-edge:rgba(73,200,194,0.45);--amber:var(--c-amber);--amber-tint:rgba(229,162,59,0.12);--amber-edge:rgba(229,162,59,0.45);--red:var(--c-red);--red-hover:#ea6d64;--red-tint:rgba(225,91,82,0.12);--red-edge:rgba(225,91,82,0.45);--green:var(--c-green);--green-tint:rgba(95,191,131,0.12);--green-edge:rgba(95,191,131,0.45);--provisional-edge:var(--amber-edge);--provisional-tint:var(--amber-tint);--heuristic-edge:rgba(149,161,179,0.5);--heuristic-tint:rgba(149,161,179,0.08);--font-display:"Space Grotesk","Segoe UI",system-ui,-apple-system,sans-serif;--font-body:"Inter","Segoe UI",system-ui,-apple-system,sans-serif;--font-mono:"JetBrains Mono",ui-monospace,"SFMono-Regular",Menlo,Consolas,monospace;--fs-10:10px;--fs-11:11px;--fs-12:12px;--fs-13:13px;--fs-14:14px;--fs-15:15px;--fs-17:17px;--fs-20:20px;--fs-26:26px;--fw-regular:400;--fw-medium:500;--fw-semibold:600;--fw-bold:700;--lh-tight:1.25;--lh-body:1.5;--lh-relaxed:1.65;--ls-caps:0.12em;--ls-logo:0.14em;--ls-data:0.01em;--sp-1:4px;--sp-2:6px;--sp-3:8px;--sp-4:12px;--sp-5:16px;--sp-6:20px;--sp-7:26px;--sp-8:34px;--sp-9:48px;--radius-sm:5px;--radius:7px;--radius-lg:10px;--radius-pill:999px;--border:1px solid var(--line);--rail-w:3px;--focus-color:var(--signal);--focus-width:2px;--focus-offset:2px;--dur-1:90ms;--dur-2:140ms;--dur-3:200ms;--ease-out:cubic-bezier(0.2,0.8,0.3,1);--shadow-1:0 1px 2px rgba(0,0,0,0.4);--shadow-2:0 12px 32px rgba(0,0,0,0.55);--control-h-sm:26px;--control-h:32px;--control-h-lg:38px;--hit-min:24px;--sidenav-w:216px;--rightcol-w:380px;--leftcol-w:240px;--content-max:1560px;--z-sticky:20;--z-overlay:60;--z-dialog:61;--z-drawer:70;--z-toast:90;--hatch-amber:repeating-linear-gradient(-45deg,rgba(229,162,59,0.22) 0 4px,transparent 4px 8px);--hatch-dim:repeating-linear-gradient(-45deg,rgba(149,161,179,0.16) 0 4px,transparent 4px 8px);--chart-bar:#5b8fc7;--chart-bar-hover:#6ea0d6;--chart-bar-critical:var(--red);--chart-grid:var(--line);--chart-axis-text:var(--text-dim);--chart-cap-line:var(--text-dim)}@media (prefers-color-scheme:dark){:root{--chart-bar:#5b8fc7;--chart-bar-hover:#6ea0d6;--chart-bar-critical:var(--red);--chart-grid:var(--line);--chart-axis-text:var(--text-dim);--chart-cap-line:var(--text-dim)}}@media (prefers-contrast:more){:root{--text-dim:#b3bdcc;--text-faint:#8c99ab;--line:#3d4a5c;--line-strong:#55647a;--focus-width:3px}}*,:after,:before{box-sizing:border-box;margin:0;padding:0}body,html{background:var(--bg);color:var(--text);font-family:var(--font-body);font-size:var(--fs-14);line-height:var(--lh-body);min-height:100%;-webkit-font-smoothing:antialiased}img,svg{display:block;max-width:100%}button,input,select,textarea{font:inherit;color:inherit}ol,ul{list-style:none}h1,h2,h3,h4{font-family:var(--font-display);font-weight:var(--fw-semibold);letter-spacing:var(--ls-data);line-height:var(--lh-tight)}a{color:var(--signal);text-decoration:none}a:hover{text-decoration:underline}.mono,code{font-size:var(--fs-12);letter-spacing:0}.eyebrow,.mono,code{font-family:var(--font-mono)}.eyebrow{font-size:var(--fs-10);font-weight:var(--fw-semibold);letter-spacing:var(--ls-caps);text-transform:uppercase}.dim,.eyebrow{color:var(--text-dim)}.txt-sm{font-size:var(--fs-12)}.txt-xs{font-size:var(--fs-11)}::selection{background:var(--signal-tint);color:var(--text)}:focus-visible{outline:var(--focus-width) solid var(--focus-color);outline-offset:var(--focus-offset);border-radius:var(--radius-sm)}:focus:not(:focus-visible){outline:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);-webkit-clip-path:inset(50%);clip-path:inset(50%);white-space:nowrap;border:0}.skip-link{position:absolute;left:var(--sp-4);top:-60px;z-index:var(--z-toast);background:var(--signal);color:var(--text-on-signal);font-weight:var(--fw-semibold);padding:var(--sp-3) var(--sp-5);border-radius:var(--radius-sm);transition:top var(--dur-2) var(--ease-out)}.skip-link:focus{top:var(--sp-4);text-decoration:none}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@media (forced-colors:active){.alert,.btn,.chip,.panel{border:1px solid CanvasText}}.shell{display:flex;min-height:100vh}.sidenav{width:var(--sidenav-w);flex-shrink:0;background:var(--panel);border-right:var(--border);display:flex;flex-direction:column;padding:var(--sp-6) var(--sp-4);position:-webkit-sticky;position:sticky;top:0;height:100vh}.sidenav-logo{font-family:var(--font-display);font-weight:var(--fw-bold);font-size:var(--fs-15);letter-spacing:var(--ls-logo);color:var(--text);margin-bottom:var(--sp-1)}.logo-dot{color:var(--signal)}.sidenav-sub{font-family:var(--font-mono);font-size:var(--fs-10);letter-spacing:.2em;color:var(--text-dim);text-transform:uppercase;margin-bottom:var(--sp-8)}.sidenav-links{display:flex;flex-direction:column;gap:var(--sp-1);flex:1 1}.navlink{display:block;padding:var(--sp-3) var(--sp-4);border-radius:var(--radius-sm);color:var(--text-dim);font-weight:var(--fw-medium);border:1px solid transparent;transition:color var(--dur-1),background var(--dur-1)}.navlink:hover{color:var(--text);background:var(--panel-raised);text-decoration:none}.navlink[aria-current=page]{color:var(--signal);background:var(--signal-tint);border-color:var(--signal-edge)}.sidenav-user{border-top:var(--border);padding-top:var(--sp-4);display:flex;flex-direction:column;gap:var(--sp-3)}.sidenav-user .user-name{font-weight:var(--fw-semibold);font-size:var(--fs-13);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:inherit;text-decoration:none}.sidenav-user .user-name:focus-visible,.sidenav-user .user-name:hover{color:var(--signal);text-decoration:underline}.sidenav-user .user-name[aria-current=page]{color:var(--signal)}.main{flex:1 1;min-width:0;max-width:var(--content-max);padding:var(--sp-7) var(--sp-8) var(--sp-9)}.page-title{font-size:var(--fs-20);margin-bottom:var(--sp-1)}.page-sub{color:var(--text-dim);margin-bottom:var(--sp-7);font-size:var(--fs-13);max-width:78ch}.page-head{align-items:flex-start;justify-content:space-between;gap:var(--sp-5);margin-bottom:var(--sp-5)}.breadcrumb,.page-head{display:flex;flex-wrap:wrap}.breadcrumb{font-family:var(--font-mono);font-size:var(--fs-11);letter-spacing:.04em;margin-bottom:var(--sp-4);gap:var(--sp-2);align-items:center}.breadcrumb,.breadcrumb a{color:var(--text-dim)}.breadcrumb a:hover{color:var(--signal)}.crumb-sep{color:var(--line-strong)}.crumb-current{color:var(--text)}.review-grid{display:grid;grid-template-columns:minmax(0,1fr) var(--rightcol-w);grid-gap:var(--sp-5);gap:var(--sp-5);align-items:start}.review-grid-3{grid-template-columns:var(--leftcol-w) minmax(0,1fr) var(--rightcol-w)}@media (max-width:1240px){.review-grid-3{grid-template-columns:minmax(0,1fr) var(--rightcol-w)}.review-grid-3>.col-context{grid-column:1/-1}}@media (max-width:1000px){.review-grid,.review-grid-3{grid-template-columns:minmax(0,1fr)}.sidenav{display:none}}.col-stack{display:flex;flex-direction:column;gap:var(--sp-5);min-width:0}.row{display:flex;align-items:center;gap:var(--sp-3);flex-wrap:wrap}.row-end{justify-content:flex-end}.row-between{justify-content:space-between}.row-tight{gap:var(--sp-2)}.stack{display:flex;flex-direction:column;gap:var(--sp-4)}.stack-tight{gap:var(--sp-2)}.section-gap{margin-top:var(--sp-7)}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));grid-gap:var(--sp-4);gap:var(--sp-4)}.panel{background:var(--panel);border:var(--border);border-radius:var(--radius);padding:var(--sp-5)}.panel-attention{border-color:var(--amber-edge)}.panel-danger{border-color:var(--red-edge)}.panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--sp-4);margin-bottom:var(--sp-4)}.panel-title{font-family:var(--font-mono);font-size:var(--fs-10);font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:var(--ls-caps);color:var(--text-dim)}.panel-subtitle{font-size:var(--fs-12);color:var(--text-dim);margin-top:var(--sp-2);max-width:70ch}.card{background:var(--panel);border:var(--border);border-radius:var(--radius);padding:var(--sp-5);display:flex;flex-direction:column;gap:var(--sp-3);transition:border-color var(--dur-1)}.card:hover{border-color:var(--line-strong)}.card-name{font-family:var(--font-display);font-weight:var(--fw-semibold);font-size:var(--fs-15)}.card-name a{color:var(--text)}.card-name a:hover{color:var(--signal);text-decoration:none}.card-meta-row{display:flex;gap:var(--sp-3);align-items:center;flex-wrap:wrap;color:var(--text-dim);font-size:var(--fs-12)}.card-meta-row strong{color:var(--text);font-weight:var(--fw-semibold)}.card-actions{display:flex;gap:var(--sp-3);margin-top:var(--sp-1);flex-wrap:wrap}.btn{font-family:var(--font-body);font-size:var(--fs-13);font-weight:var(--fw-semibold);min-height:var(--control-h);padding:0 var(--sp-4);border-radius:var(--radius-sm);border:1px solid var(--line-strong);background:var(--panel-raised);color:var(--text);cursor:pointer;transition:border-color var(--dur-1),background var(--dur-1),color var(--dur-1);display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);white-space:nowrap;text-decoration:none}.btn:hover:not(:disabled):not([aria-disabled=true]){border-color:var(--text-dim);text-decoration:none}.btn:disabled,.btn[aria-disabled=true]{opacity:.42;cursor:not-allowed}.btn-primary{background:var(--signal);border-color:var(--signal);color:var(--text-on-signal)}.btn-primary:hover:not(:disabled):not([aria-disabled=true]){background:var(--signal-hover);border-color:var(--signal-hover)}.btn-danger{background:transparent;border-color:var(--red);color:var(--red)}.btn-danger:hover:not(:disabled):not([aria-disabled=true]){background:var(--red-tint);border-color:var(--red)}.btn-ghost{border-color:var(--line)}.btn-ghost,.btn-quiet{background:transparent}.btn-quiet{border-color:transparent;color:var(--text-dim);font-weight:var(--fw-medium)}.btn-quiet:hover:not(:disabled){color:var(--text);border-color:var(--line)}.btn-sm{font-size:var(--fs-12);min-height:var(--control-h-sm);padding:0 var(--sp-3)}.btn-lg{min-height:var(--control-h-lg);padding:0 var(--sp-5)}.btn-block{width:100%}.btn-spinner{width:11px;height:11px;border-radius:50%;border:2px solid;border-right:2px solid transparent;animation:spin .7s linear infinite;flex-shrink:0}@keyframes spin{to{transform:rotate(1turn)}}.btn-wrap{display:inline-flex;flex-direction:column;align-items:flex-start;gap:0;max-width:100%}.btn-wrap.btn-block{display:flex}.btn-reason{font-size:var(--fs-11);margin-top:var(--sp-2);display:block}.btn-reason,.chip{color:var(--text-dim)}.chip{display:inline-flex;align-items:center;gap:var(--sp-2);font-family:var(--font-mono);font-size:var(--fs-10);font-weight:var(--fw-semibold);letter-spacing:.1em;text-transform:uppercase;padding:3px var(--sp-3);border-radius:var(--radius-pill);border:1px solid var(--line);background:transparent;white-space:nowrap;vertical-align:middle}.chip-dot:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;flex-shrink:0}.chip-signal{color:var(--signal);border-color:var(--signal-edge);background:var(--signal-tint)}.chip-green{color:var(--green);border-color:var(--green-edge);background:var(--green-tint)}.chip-amber{color:var(--amber);border-color:var(--amber-edge);background:var(--amber-tint)}.chip-red{color:var(--red);border-color:var(--red-edge);background:var(--red-tint)}.chip-dim{color:var(--text-dim)}.chip-pulse.chip-dot:before{animation:chip-pulse 1.6s ease-in-out infinite}@keyframes chip-pulse{50%{opacity:.35}}.chip-suggestion{border-style:dashed;background:transparent;font-weight:var(--fw-medium)}.chip-prefix{font-size:var(--fs-10);opacity:.75;letter-spacing:.08em}.alert,.banner{border-radius:var(--radius);border:1px solid var(--line);background:var(--panel);padding:var(--sp-4) var(--sp-5);font-size:var(--fs-13);display:flex;align-items:flex-start;gap:var(--sp-4);margin-bottom:var(--sp-4)}.alert-info{border-color:var(--signal-edge);background:var(--signal-tint)}.alert-attention,.banner-amber{border-color:var(--amber-edge);background:var(--amber-tint)}.alert-danger,.banner-red{border-color:var(--red-edge);background:var(--red-tint)}.alert-success,.banner-green{border-color:var(--green-edge);background:var(--green-tint)}.alert-label,.banner-label{font-family:var(--font-mono);font-size:var(--fs-10);font-weight:var(--fw-bold);letter-spacing:.14em;text-transform:uppercase;flex-shrink:0;padding-top:2px}.alert-info .alert-label{color:var(--signal)}.alert-attention .alert-label,.banner-amber .banner-label{color:var(--amber)}.alert-danger .alert-label,.banner-red .banner-label{color:var(--red)}.alert-success .alert-label,.banner-green .banner-label{color:var(--green)}.alert-body{min-width:0;flex:1 1}.alert-title{font-weight:var(--fw-semibold);font-size:var(--fs-13);margin-bottom:var(--sp-1)}.alert-req{display:block;margin-top:var(--sp-2);font-family:var(--font-mono);font-size:var(--fs-11);color:var(--text-dim)}.alert-actions{display:flex;gap:var(--sp-3);margin-top:var(--sp-3);flex-wrap:wrap}.error-text{color:var(--red);font-size:var(--fs-13)}.toast-region{position:fixed;right:var(--sp-5);bottom:var(--sp-5);z-index:var(--z-toast);flex-direction:column;width:min(380px,calc(100vw - var(--sp-8)));pointer-events:none}.toast,.toast-region{display:flex;gap:var(--sp-3)}.toast{pointer-events:auto;background:var(--panel-raised);border-left-width:1px;border:1px solid var(--line-strong);border-left:var(--rail-w) solid var(--line-strong);border-radius:var(--radius);box-shadow:var(--shadow-2);padding:var(--sp-4);align-items:flex-start;animation:toast-in var(--dur-3) var(--ease-out)}@keyframes toast-in{0%{opacity:0;transform:translateY(6px)}}.toast-info{border-left-color:var(--signal)}.toast-attention{border-left-color:var(--amber)}.toast-danger{border-left-color:var(--red)}.toast-success{border-left-color:var(--green)}.toast-body{flex:1 1;min-width:0}.toast-title{font-weight:var(--fw-semibold);font-size:var(--fs-13)}.toast-msg{font-size:var(--fs-12);color:var(--text-dim);margin-top:2px;word-break:break-word}.field{display:flex;flex-direction:column;gap:var(--sp-2);margin-bottom:var(--sp-5)}.field:last-child{margin-bottom:0}.field-label,.field>label{font-size:var(--fs-12);font-weight:var(--fw-semibold);color:var(--text-dim);letter-spacing:.04em;display:flex;align-items:baseline;gap:var(--sp-2)}.field-required{color:var(--amber);font-family:var(--font-mono);font-size:var(--fs-10);letter-spacing:var(--ls-caps);text-transform:uppercase}.field-hint{font-size:var(--fs-11);color:var(--text-dim)}.field-error{font-size:var(--fs-12);color:var(--red)}.field-static{font-size:var(--fs-13)}input[type=email],input[type=number],input[type=password],input[type=text],select,textarea{font-family:var(--font-body);font-size:var(--fs-13);color:var(--text);background:var(--bg-sunken);border:1px solid var(--line-strong);border-radius:var(--radius-sm);padding:var(--sp-3) var(--sp-4);width:100%;min-height:var(--control-h)}textarea{line-height:var(--lh-body);resize:vertical}input::placeholder,textarea::placeholder{color:var(--text-faint)}input:hover:not(:disabled),select:hover:not(:disabled),textarea:hover:not(:disabled){border-color:var(--text-faint)}input:focus,select:focus,textarea:focus{border-color:var(--signal)}input:disabled,select:disabled,textarea:disabled{opacity:.5;cursor:not-allowed}input[aria-invalid=true],select[aria-invalid=true],textarea[aria-invalid=true]{border-color:var(--red)}select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--text-dim) 50%),linear-gradient(135deg,var(--text-dim) 50%,transparent 50%);background-position:calc(100% - 16px) 55%,calc(100% - 11px) 55%;background-size:5px 5px;background-repeat:no-repeat;padding-right:30px}.inline-form{display:flex;gap:var(--sp-4);align-items:flex-end;flex-wrap:wrap}.inline-form .field{margin-bottom:0;min-width:200px}.tabs{display:flex;gap:var(--sp-1);border-bottom:var(--border);margin-bottom:var(--sp-5);overflow-x:auto}.tab{background:transparent;border:none;border-bottom:2px solid transparent;color:var(--text-dim);font-size:var(--fs-13);font-weight:var(--fw-semibold);padding:var(--sp-3) var(--sp-4);cursor:pointer;display:inline-flex;align-items:center;gap:var(--sp-2);white-space:nowrap;margin-bottom:-1px;transition:color var(--dur-1),border-color var(--dur-1)}.tab:hover:not(:disabled){color:var(--text)}.tab[aria-selected=true]{color:var(--signal);border-bottom-color:var(--signal)}.tab:disabled{opacity:.4;cursor:not-allowed}.tab-count{font-family:var(--font-mono);font-size:var(--fs-10);color:var(--text-dim);background:var(--panel-raised);border-radius:var(--radius-pill);padding:1px var(--sp-2)}.tbl-wrap{overflow-x:auto}.data-table{width:100%;border-collapse:collapse;font-size:var(--fs-13)}.data-table caption{font-size:var(--fs-12);padding-bottom:var(--sp-3)}.data-table caption,.data-table th{text-align:left;color:var(--text-dim)}.data-table th{font-family:var(--font-mono);font-size:var(--fs-10);font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:var(--ls-caps);padding:var(--sp-3) var(--sp-4);border-bottom:var(--border);white-space:nowrap}.data-table td{padding:var(--sp-4);border-bottom:var(--border);vertical-align:middle}.data-table tbody tr:last-child td{border-bottom:none}.data-table tr.row-link{cursor:pointer}.data-table tr.row-link:hover td{background:var(--panel-raised)}.data-table td.num{text-align:right;font-family:var(--font-mono)}.data-table td.mono-cell,.data-table th.mono-cell{font-family:var(--font-mono);font-size:var(--fs-11)}.empty{text-align:center;padding:var(--sp-8) var(--sp-5);border:1px dashed var(--line-strong);border-radius:var(--radius);color:var(--text-dim)}.empty-attention{border-color:var(--amber-edge);background:var(--amber-tint)}.empty-glyph{font-family:var(--font-mono);font-size:var(--fs-20);color:var(--text-faint);margin-bottom:var(--sp-3);letter-spacing:.2em}.empty-attention .empty-glyph{color:var(--amber)}.empty-title{font-family:var(--font-display);font-size:var(--fs-14);font-weight:var(--fw-semibold);color:var(--text);margin-bottom:var(--sp-2)}.empty-desc{font-size:var(--fs-12);max-width:52ch;margin:0 auto}.empty-actions{margin-top:var(--sp-5);display:flex;gap:var(--sp-3);justify-content:center;flex-wrap:wrap}.empty-note{color:var(--text-dim);font-size:var(--fs-13);padding:var(--sp-4) 0}.skel{display:block;background:linear-gradient(90deg,var(--panel-raised) 0,var(--panel-inset) 50%,var(--panel-raised) 100%);background-size:200% 100%;animation:skel-slide 1.4s ease-in-out infinite;border-radius:var(--radius-sm)}@keyframes skel-slide{to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){.skel{animation:none;background:var(--panel-raised)}}.skel-stack{flex-direction:column}.loading-note,.skel-stack{display:flex;gap:var(--sp-3)}.loading-note{color:var(--text-dim);font-family:var(--font-mono);font-size:var(--fs-11);letter-spacing:.1em;text-transform:uppercase;padding:var(--sp-3) 0;align-items:center}.overlay{position:fixed;inset:0;background:var(--scrim);z-index:var(--z-overlay);display:flex;align-items:center;justify-content:center;padding:var(--sp-5);animation:fade-in var(--dur-3) var(--ease-out)}@keyframes fade-in{0%{opacity:0}}.dlg{position:relative;background:var(--panel);border:var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-2);z-index:var(--z-dialog);width:min(560px,100%);max-height:min(86vh,900px);display:flex;flex-direction:column;animation:dlg-in var(--dur-3) var(--ease-out)}@keyframes dlg-in{0%{opacity:0;transform:translateY(8px) scale(.99)}}.dlg-sm{width:min(440px,100%)}.dlg-lg{width:min(880px,100%)}.dlg-danger{border-color:var(--red-edge)}.overlay-drawer{justify-content:flex-end;align-items:stretch;padding:0;z-index:var(--z-drawer)}.dlg-drawer{width:min(560px,100%);max-height:100vh;height:100vh;border-radius:0;border:none;border-left:var(--border);animation:drawer-in var(--dur-3) var(--ease-out)}@keyframes drawer-in{0%{transform:translateX(24px);opacity:0}}.dlg-head{padding:var(--sp-6) var(--sp-6) var(--sp-4);border-bottom:var(--border);flex-shrink:0}.dlg-title{font-size:var(--fs-17)}.dlg-sub{color:var(--text-dim);font-size:var(--fs-12);margin-top:var(--sp-2)}.dlg-body{padding:var(--sp-6);overflow-y:auto;flex:1 1}.dlg-foot{padding:var(--sp-4) var(--sp-6) var(--sp-6);border-top:var(--border);display:flex;gap:var(--sp-3);justify-content:flex-end;flex-wrap:wrap;flex-shrink:0}.irrev{border:1px solid var(--red-edge);background:var(--red-tint);border-radius:var(--radius);padding:var(--sp-4);margin-bottom:var(--sp-5);display:flex;gap:var(--sp-4);align-items:flex-start}.irrev-label{font-family:var(--font-mono);font-size:var(--fs-10);font-weight:var(--fw-bold);letter-spacing:.14em;text-transform:uppercase;color:var(--red);flex-shrink:0;padding-top:2px}.irrev-text{font-size:var(--fs-13)}.consequences{flex-direction:column;margin:var(--sp-4) 0 var(--sp-5)}.consequence,.consequences{display:flex;gap:var(--sp-3)}.consequence{font-size:var(--fs-13);align-items:baseline}.consequence:before{content:"→";color:var(--signal);font-family:var(--font-mono);flex-shrink:0}.consequence-not{color:var(--text-dim)}.consequence-not:before{content:"×";color:var(--text-dim)}.ack{display:flex;gap:var(--sp-3);align-items:flex-start;border:var(--border);border-radius:var(--radius);padding:var(--sp-4);background:var(--panel-inset);cursor:pointer;font-size:var(--fs-13)}.ack input[type=checkbox]{width:16px;height:16px;min-height:0;accent-color:var(--signal);margin-top:2px;flex-shrink:0;cursor:pointer}.sdk-key-box,.secret-box{font-family:var(--font-mono);font-size:var(--fs-12);background:var(--bg-sunken);border:1px solid var(--signal);border-radius:var(--radius-sm);padding:var(--sp-4);word-break:break-all;margin:var(--sp-4) 0;color:var(--signal);-webkit-user-select:all;-moz-user-select:all;user-select:all}.prov{display:inline-flex;align-items:center;gap:var(--sp-2);font-family:var(--font-mono);font-size:var(--fs-10);letter-spacing:.06em;border:1px dashed var(--heuristic-edge);background:var(--heuristic-tint);color:var(--text-dim);border-radius:var(--radius-sm);padding:2px var(--sp-3);max-width:100%}.prov-model{border-style:solid;border-color:var(--line-strong)}.prov-heuristic{color:var(--amber);border-color:var(--amber-edge);background:var(--amber-tint)}.prov-unknown{color:var(--red);border-color:var(--red-edge);background:var(--red-tint)}.prov-key{opacity:.7}.prov-val{color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.prov-heuristic .prov-val,.prov-unknown .prov-val{color:inherit;font-weight:var(--fw-semibold)}.conf{display:flex;align-items:center;gap:var(--sp-3);font-family:var(--font-mono);font-size:var(--fs-11);color:var(--text-dim)}.conf-track{width:72px;height:4px;background:var(--bg-sunken);border-radius:var(--radius-pill);overflow:hidden;flex-shrink:0;border:1px solid var(--line)}.conf-fill{height:100%;background:var(--text-dim);border-radius:var(--radius-pill)}.conf-val{color:var(--text)}.evd{border:var(--border);border-radius:var(--radius);background:var(--panel-inset);overflow:hidden}.evd-head{width:100%;display:flex;align-items:center;gap:var(--sp-3);background:transparent;border:none;border-bottom:1px solid transparent;color:var(--text);padding:var(--sp-3) var(--sp-4);cursor:pointer;text-align:left;font-size:var(--fs-12);font-weight:var(--fw-semibold)}.evd-head[aria-expanded=true]{border-bottom-color:var(--line)}.evd-head:hover{background:var(--panel-raised)}.evd-caret{font-family:var(--font-mono);color:var(--signal);transition:transform var(--dur-2) var(--ease-out)}.evd-head[aria-expanded=true] .evd-caret{transform:rotate(90deg)}.evd-count{margin-left:auto;font-family:var(--font-mono);font-size:var(--fs-10);color:var(--text-dim);letter-spacing:var(--ls-caps);text-transform:uppercase}.evd-list{display:flex;flex-direction:column}.evd-item{display:flex;gap:var(--sp-3);align-items:flex-start;padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--line);font-size:var(--fs-12)}.evd-item:last-child{border-bottom:none}.evd-type{font-family:var(--font-mono);font-size:var(--fs-10);letter-spacing:.06em;text-transform:uppercase;color:var(--signal);flex-shrink:0;width:108px}.evd-type-gap{color:var(--amber)}.evd-detail{font-family:var(--font-mono);font-size:var(--fs-11);color:var(--text);word-break:break-word;flex:1 1;min-width:0}.evd-ref{display:block;color:var(--text-dim);margin-top:2px}.evd-seek{flex-shrink:0}.evd-note{padding:var(--sp-3) var(--sp-4);font-size:var(--fs-11);color:var(--text-dim);border-top:1px solid var(--line);background:var(--bg-sunken)}.gate{border:1px solid var(--line);border-left:var(--rail-w) solid var(--line-strong);border-radius:var(--radius);padding:var(--sp-4);background:var(--panel-inset);display:flex;gap:var(--sp-4);align-items:flex-start}.gate-blocked{border-left-color:var(--amber);border-color:var(--amber-edge);background:var(--amber-tint)}.gate-ready{border-left-color:var(--signal);border-color:var(--signal-edge);background:var(--signal-tint)}.gate-satisfied{border-left-color:var(--green);border-color:var(--green-edge);background:var(--green-tint)}.gate-id{font-family:var(--font-mono);font-size:var(--fs-10);font-weight:var(--fw-bold);letter-spacing:var(--ls-caps);text-transform:uppercase;flex-shrink:0;padding-top:2px}.gate-blocked .gate-id{color:var(--amber)}.gate-ready .gate-id{color:var(--signal)}.gate-satisfied .gate-id{color:var(--green)}.gate-title{font-weight:var(--fw-semibold);font-size:var(--fs-13)}.gate-req{font-size:var(--fs-12);margin-top:var(--sp-1)}.gate-note,.gate-req{color:var(--text-dim)}.gate-note{font-size:var(--fs-11);margin-top:var(--sp-2);font-family:var(--font-mono)}.sev{display:flex;flex-direction:column;gap:var(--sp-3)}.sev-options{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:var(--sp-2);gap:var(--sp-2)}.sev-opt{position:relative;display:flex;flex-direction:column;align-items:center;gap:var(--sp-1);border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--bg-sunken);padding:var(--sp-3) var(--sp-2);cursor:pointer;text-align:center;transition:border-color var(--dur-1),background var(--dur-1)}.sev-opt:hover{border-color:var(--text-dim)}.sev-opt input{position:absolute;opacity:0;width:1px;height:1px;min-height:0}.sev-opt-label{font-family:var(--font-mono);font-size:var(--fs-11);font-weight:var(--fw-semibold);letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim)}.sev-opt-hint{font-size:var(--fs-10);color:var(--text-faint);min-height:12px}.sev-opt:has(input:checked){border-color:var(--signal);background:var(--signal-tint)}.sev-opt:has(input:checked) .sev-opt-label{color:var(--signal)}.sev-opt:has(input:focus-visible){outline:var(--focus-width) solid var(--focus-color);outline-offset:var(--focus-offset)}.sev-opt:has(input:disabled){opacity:.45;cursor:not-allowed}.sev-opt-suggested{border-style:dashed;border-color:var(--amber-edge)}.sev-opt-suggested .sev-opt-hint,.sev-unset{color:var(--amber)}.sev-unset{font-size:var(--fs-11);font-family:var(--font-mono);letter-spacing:.06em}.findings-stack{gap:var(--sp-4)}.fcard,.findings-stack{display:flex;flex-direction:column}.fcard{background:var(--panel);border:var(--border);border-left:var(--rail-w) solid var(--line-strong);border-radius:var(--radius);padding:var(--sp-5);gap:var(--sp-3)}.fcard-candidate{border-left-color:var(--amber);border-top-style:dashed;border-top-color:var(--amber-edge)}.fcard-confirmed{border-left-color:var(--red);border-color:var(--red-edge)}.fcard-dismissed{border-left-color:var(--line-strong);opacity:.62}.fcard-head{display:flex;gap:var(--sp-2);flex-wrap:wrap;align-items:center}.fcard-title{font-size:var(--fs-14);font-weight:var(--fw-semibold);line-height:var(--lh-tight)}.fcard-desc{color:var(--text-dim);font-size:var(--fs-12);line-height:var(--lh-relaxed)}.fcard-actions,.fcard-meta{display:flex;gap:var(--sp-3);flex-wrap:wrap;align-items:center}.fcard-actions{padding-top:var(--sp-3);border-top:var(--border)}.fcard-actions .btn-reason{flex-basis:100%;margin-top:0}.fcard-suggestion{display:flex;align-items:center;gap:var(--sp-3);font-size:var(--fs-11);color:var(--text-dim);flex-wrap:wrap}.timeline{overflow-x:auto;position:relative}.tl-grid{display:grid;grid-template-columns:96px 1fr;grid-row-gap:var(--sp-2);row-gap:var(--sp-2);min-width:560px;position:relative}.tl-lane-label{font-family:var(--font-mono);font-size:var(--fs-10);font-weight:var(--fw-semibold);letter-spacing:var(--ls-caps);text-transform:uppercase;color:var(--text-dim);display:flex;align-items:center;padding-right:var(--sp-3);justify-content:flex-end;text-align:right;gap:var(--sp-2)}.tl-track{position:relative;height:34px;background:var(--bg-sunken);border:var(--border);border-radius:var(--radius-sm)}.tl-track-markers{background:transparent;border-color:transparent;height:26px}.tl-axis{position:relative;height:22px}.tl-tick{position:absolute;top:0;transform:translateX(-50%);font-family:var(--font-mono);font-size:var(--fs-10);color:var(--text-dim);white-space:nowrap}.tl-tick:before{content:"";position:absolute;top:-6px;left:50%;width:1px;height:5px;background:var(--line-strong)}.tl-event{position:absolute;top:50%;transform:translate(-50%,-50%);border:none;padding:0;cursor:pointer;background:transparent;min-width:var(--hit-min);min-height:var(--hit-min);display:flex;align-items:center;justify-content:center}.tl-dot{width:10px;height:10px;border-radius:50%;display:block}.tl-block{height:14px;min-width:8px;border-radius:3px;display:block}.tl-diamond{width:10px;height:10px;background:var(--red);transform:rotate(45deg);display:block}.tl-event.selected .tl-block,.tl-event.selected .tl-diamond,.tl-event.selected .tl-dot{outline:2px solid var(--signal);outline-offset:2px}.tl-event:hover .tl-block,.tl-event:hover .tl-dot{filter:brightness(1.3)}.ev-signal{background:var(--signal)}.ev-green{background:var(--green)}.ev-amber{background:var(--amber)}.ev-red{background:var(--red)}.ev-dim{background:var(--text-dim)}.tl-empty{position:absolute;inset:0;padding-left:var(--sp-4);letter-spacing:.1em;color:var(--text-dim)}.tl-empty,.tl-gapstrip{display:flex;align-items:center;font-family:var(--font-mono);font-size:var(--fs-10);text-transform:uppercase}.tl-gapstrip{gap:var(--sp-2);min-height:22px;padding:2px var(--sp-3);background:var(--hatch-amber);border:1px dashed var(--amber-edge);border-radius:var(--radius-sm);color:var(--amber);letter-spacing:.08em}.tl-scrub{position:relative;height:22px;background:var(--panel-inset);border:var(--border);border-radius:var(--radius-sm);cursor:col-resize}.tl-playhead{top:0;bottom:0;width:2px;pointer-events:none;transition:left var(--dur-1) linear}.tl-playhead,.tl-playhead:before{position:absolute;background:var(--signal)}.tl-playhead:before{content:"";top:-3px;left:50%;transform:translateX(-50%);width:8px;height:8px;border-radius:2px}@media (prefers-reduced-motion:reduce){.tl-playhead{transition:none}}.tl-playline{position:absolute;top:0;bottom:0;width:1px;background:var(--signal);opacity:.5;pointer-events:none}.detail-list{display:grid;grid-template-columns:110px 1fr;grid-row-gap:var(--sp-3);row-gap:var(--sp-3);grid-column-gap:var(--sp-4);column-gap:var(--sp-4);font-size:var(--fs-13)}.detail-list dt{font-family:var(--font-mono);font-size:var(--fs-10);font-weight:var(--fw-semibold);letter-spacing:var(--ls-caps);text-transform:uppercase;color:var(--text-dim);padding-top:2px}.consent-quote,.detail-list dd{word-break:break-word}.consent-quote{margin:var(--sp-3) 0 0;padding:var(--sp-3) var(--sp-4);border-left:2px solid var(--border);background:var(--panel-inset);border-radius:0 var(--radius-sm) var(--radius-sm) 0;font-size:var(--fs-13);line-height:1.6;white-space:pre-wrap}.dup-list{display:flex;flex-direction:column;gap:var(--sp-2);margin-top:var(--sp-3)}.dup-item{border:var(--border);border-radius:var(--radius-sm);padding:var(--sp-3) var(--sp-4);font-size:var(--fs-12);display:flex;justify-content:space-between;gap:var(--sp-4);align-items:baseline;background:var(--panel-inset)}.dup-title{min-width:0;word-break:break-word}.dup-ref{font-size:var(--fs-10);color:var(--text-dim);display:block;margin-top:2px}.dup-ref,.dup-sim{font-family:var(--font-mono)}.dup-sim{font-size:var(--fs-11);color:var(--amber);flex-shrink:0}.repro-steps{padding-left:var(--sp-6);font-size:var(--fs-13);display:flex;flex-direction:column;gap:var(--sp-2)}.repro-steps li{list-style:decimal}.capind-strong{font-weight:var(--fw-semibold)}.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:var(--sp-6)}.login-card{width:min(420px,100%);background:var(--panel);border:var(--border);border-radius:var(--radius-lg);padding:var(--sp-8)}.login-logo{font-family:var(--font-display);font-weight:var(--fw-bold);font-size:var(--fs-20);letter-spacing:var(--ls-logo);text-align:center;margin-bottom:2px}.login-sub{font-family:var(--font-mono);font-size:var(--fs-10);letter-spacing:.24em;text-transform:uppercase;color:var(--text-dim);text-align:center;margin-bottom:var(--sp-7)}.session-header{align-items:flex-start;justify-content:space-between;margin-bottom:var(--sp-5)}.session-header,.session-header .meta-line{display:flex;gap:var(--sp-5);flex-wrap:wrap}.session-header .meta-line{align-items:center;margin-top:var(--sp-3);color:var(--text-dim);font-size:var(--fs-12)}.workspace{display:grid;grid-template-columns:minmax(0,1fr) var(--rightcol-w);grid-gap:var(--sp-5);gap:var(--sp-5);align-items:start}@media (max-width:1100px){.workspace{grid-template-columns:minmax(0,1fr)}}.frame-canvas-wrap{border:var(--border);border-radius:var(--radius);background:var(--bg-sunken);overflow:auto;max-width:100%}.frame-canvas-wrap canvas{display:block}.region-legend{display:flex;gap:var(--sp-5);flex-wrap:wrap;font-size:var(--fs-12);color:var(--text-dim);margin-top:var(--sp-3)}.region-legend-item{display:inline-flex;align-items:center;gap:var(--sp-2)}.region-swatch{width:10px;height:10px;border-radius:2px;display:inline-block}.stat-value{font-family:var(--font-mono);font-size:var(--fs-26);font-weight:var(--fw-semibold);letter-spacing:var(--ls-data);color:var(--text);line-height:var(--lh-tight)}.stat-card{gap:var(--sp-2)}.capmeter-head{display:flex;align-items:center;gap:var(--sp-4);flex-wrap:wrap;margin-bottom:var(--sp-3)}.capmeter-chip-icon{display:inline-flex;margin-left:var(--sp-1)}.capmeter-track{height:10px;border-radius:var(--radius-pill);background:var(--bg-sunken);border:1px solid var(--line);overflow:hidden}.capmeter-fill{height:100%;border-radius:var(--radius-pill);transition:width var(--dur-3) var(--ease-out)}.capmeter-fill-ok{background:var(--green)}.capmeter-fill-warning{background:var(--amber)}.capmeter-fill-critical{background:var(--red)}.capmeter-foot{margin-top:var(--sp-3)}.aiuc-agent-label{font-family:var(--font-display);font-weight:var(--fw-medium)}.aiuc-chart-figure{margin:0}.aiuc-chart{display:block;width:100%;height:auto;overflow:visible}.aiuc-grid-line{stroke:var(--chart-grid);stroke-width:1}.aiuc-axis-text{font-family:var(--font-mono);font-size:9px;fill:var(--chart-axis-text)}.aiuc-cap-line{stroke:var(--chart-cap-line);stroke-width:1.25;stroke-dasharray:4 3}.aiuc-cap-label{font-family:var(--font-mono);font-size:9px;fill:var(--chart-axis-text)}.aiuc-bar{fill:var(--chart-bar)}.aiuc-bar-critical{fill:var(--chart-bar-critical)}.aiuc-bar-col:focus-visible .aiuc-bar,.aiuc-bar-col:hover .aiuc-bar{fill:var(--chart-bar-hover)}.aiuc-bar-col:focus-visible .aiuc-bar-critical,.aiuc-bar-col:hover .aiuc-bar-critical{fill:var(--red-hover)}.aiuc-bar-hit{fill:transparent}.aiuc-bar-caret{fill:var(--text)}.aiuc-table-toggle{margin-top:var(--sp-4)}.aiuc-table-toggle summary{cursor:pointer;font-size:var(--fs-12);color:var(--text-dim);width:-moz-fit-content;width:fit-content}.aiuc-table-toggle summary:hover{color:var(--text)}.aiuc-table-toggle[open] summary{margin-bottom:var(--sp-3)}.dash-panel-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(360px,1fr));grid-gap:var(--sp-4);gap:var(--sp-4);align-items:start}.dash-row-list{display:flex;flex-direction:column;gap:var(--sp-3);list-style:none;margin:0;padding:0}.dash-row-list li{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);flex-wrap:wrap;padding-bottom:var(--sp-3);border-bottom:var(--border)}.dash-row-list li:last-child{border-bottom:none;padding-bottom:0}.dash-row-title{font-family:var(--font-display);font-weight:var(--fw-medium);color:var(--text);flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dash-row-title:hover{color:var(--signal)}.qr-plate{display:flex;justify-content:center;margin:var(--sp-4) 0}.qr-plate .qr{border:1px solid var(--line-strong);border-radius:var(--radius-sm);max-width:100%;height:auto}.tenant-role-list{display:flex;flex-direction:column;gap:var(--sp-3);list-style:none;margin:0;padding:0}.tenant-role-item{border:var(--border);border-radius:var(--radius-sm);padding:var(--sp-3) var(--sp-4)}.tenant-role-name{font-family:var(--font-display);font-size:var(--fs-13);font-weight:var(--fw-medium);color:var(--text)}.code-block{margin:var(--sp-3) 0 0;padding:var(--sp-3) var(--sp-4);border:var(--border);border-radius:var(--radius-sm);background:var(--panel-inset);font-family:var(--font-mono);font-size:var(--fs-12);line-height:1.6;white-space:pre-wrap;word-break:break-word;max-height:26rem;overflow-y:auto}.bullet-list{margin:var(--sp-3) 0 0;padding-left:var(--sp-5);font-size:var(--fs-13);line-height:1.7}.bullet-list li+li{margin-top:var(--sp-2)}.section-title{font-family:var(--font-display);font-size:var(--fs-11);font-weight:var(--fw-medium);letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim);margin:0 0 var(--sp-2)}