.layout{flex-direction:column;min-height:100%;display:flex}.layout__header{border-bottom:1px solid var(--border);background:var(--surface);flex-shrink:0;align-items:center;gap:32px;height:64px;padding:0 24px;display:flex}.layout__brand{align-items:center;gap:10px;display:flex}.layout__logo{border-radius:6px;width:32px;height:32px}.layout__title{letter-spacing:.01em;font-size:15px;font-weight:600}.layout__subtitle{color:var(--text-faint);font-size:11px}.layout__nav{flex:1;gap:4px;display:flex}.layout__link{color:var(--text-muted);border-radius:6px;padding:8px 14px;font-size:13px;font-weight:500;text-decoration:none;transition:background .12s,color .12s}.layout__link:hover{background:var(--surface-raised);color:var(--text)}.layout__link.active{background:var(--accent-soft);color:var(--accent)}.layout__link--staff{border-left:1px solid var(--border);margin-left:8px;padding-left:18px}.layout__session{align-items:center;gap:12px;display:flex}.layout__key{color:var(--text-faint);font-size:12px}.disclosure-banner{background:var(--accent-soft);border-bottom:1px solid var(--border);color:var(--text-muted);text-align:center;flex-shrink:0;padding:8px 24px;font-size:12px}.layout__main{flex:1;width:100%;max-width:1100px;margin:0 auto;padding:32px}.trace{align-items:center;display:flex}.trace__node{border:1px solid var(--border);background:var(--bg);border-radius:8px;align-items:center;gap:10px;padding:10px 14px;display:flex}.trace__dot{background:var(--text-faint);border-radius:50%;flex-shrink:0;width:10px;height:10px}.trace__label{font-size:13px;font-weight:600}.trace__sublabel{color:var(--text-faint);font-size:11px;font-family:var(--font-mono)}.trace__node--done.trace__node--accent .trace__dot,.trace__node--active.trace__node--accent .trace__dot{background:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.trace__node--done.trace__node--ok .trace__dot{background:var(--ok);box-shadow:0 0 0 3px var(--ok-soft)}.trace__node--done.trace__node--critical .trace__dot{background:var(--critical);box-shadow:0 0 0 3px var(--critical-soft)}.trace__node--active .trace__dot{animation:1.4s ease-in-out infinite trace-pulse}.trace__node--skipped{opacity:.45}.trace__node--skipped .trace__label:after{content:" (skipped)";color:var(--text-faint);font-weight:400}.trace__edge{background:var(--border);flex:1;min-width:24px;height:2px;margin:0 -1px}.trace__edge--active{background:var(--accent-dim)}@media (prefers-reduced-motion:reduce){.trace__node--active .trace__dot{animation:none}}@keyframes trace-pulse{0%,to{box-shadow:0 0 0 3px var(--accent-soft)}50%{box-shadow:0 0 0 6px var(--accent-soft)}}:root{--bg:#0b0b0d;--surface:#17161a;--surface-raised:#201e22;--border:#332a24;--border-soft:#241f1c;--accent:#ff7a29;--accent-dim:#c1501d;--accent-soft:#ff7a2924;--text:#f2efea;--text-muted:#a39a92;--text-faint:#6b625b;--ok:#4ade80;--ok-soft:#4ade8024;--warn:#ffb020;--warn-soft:#ffb02024;--critical:#ff5c5c;--critical-soft:#ff5c5c24;--font-sans:"IBM Plex Sans", -apple-system, sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, monospace;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg);color:var(--text);font-family:var(--font-sans);margin:0;font-size:14px;line-height:1.5}a{color:var(--accent)}code,.mono{font-family:var(--font-mono)}button,input,select{font-family:inherit;font-size:inherit}.card{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:24px}.page-title{text-wrap:balance;margin:0 0 4px;font-size:20px;font-weight:600}.page-subtitle{color:var(--text-muted);margin:0 0 24px;font-size:13px}.button{background:var(--accent);color:#140a04;cursor:pointer;border:1px solid #0000;border-radius:7px;align-items:center;gap:6px;padding:9px 16px;font-size:13px;font-weight:600;transition:background .12s,opacity .12s;display:inline-flex}.button:hover{background:#ff8a45}.button:disabled{opacity:.5;cursor:not-allowed}.button--ghost{border-color:var(--border);color:var(--text-muted);background:0 0}.button--ghost:hover{background:var(--surface-raised);color:var(--text)}.field{flex-direction:column;gap:6px;margin-bottom:18px;display:flex}.field label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:12px;font-weight:600}.field input[type=text],.field input[type=password],.field select,.field textarea{background:var(--bg);border:1px solid var(--border);color:var(--text);border-radius:7px;padding:10px 12px}.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--accent);outline-offset:-1px}.field-hint{color:var(--text-faint);font-size:12px}.field-error{color:var(--critical);font-size:12px}.dropzone{border:1.5px dashed var(--border);text-align:center;color:var(--text-muted);border-radius:10px;padding:40px 24px;transition:border-color .12s,background .12s}.dropzone--active{border-color:var(--accent);background:var(--accent-soft)}.table-wrap{border:1px solid var(--border);border-radius:10px;overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:13px}thead th{text-align:left;text-transform:uppercase;letter-spacing:.05em;color:var(--text-faint);border-bottom:1px solid var(--border);background:var(--surface);padding:10px 16px;font-size:11px}tbody td{border-bottom:1px solid var(--border-soft);padding:12px 16px}tbody tr:last-child td{border-bottom:none}tbody tr:hover{background:var(--surface-raised)}.badge{font-size:11px;font-weight:600;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.03em;border-radius:100px;align-items:center;gap:5px;padding:3px 9px;display:inline-flex}.badge:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px}.badge--pending{background:var(--warn-soft);color:var(--warn)}.badge--ok{background:var(--ok-soft);color:var(--ok)}.badge--critical{background:var(--critical-soft);color:var(--critical)}.badge--neutral{background:var(--surface-raised);color:var(--text-muted)}.empty-state{text-align:center;color:var(--text-muted);padding:60px 24px}.kv-grid{grid-template-columns:180px 1fr;gap:10px 16px;font-size:13px;display:grid}.kv-grid dt{color:var(--text-muted)}.kv-grid dd{margin:0}.upload-progress{margin:16px 0}.upload-progress__track{background:var(--bg);border:1px solid var(--border);border-radius:999px;height:8px;overflow:hidden}.upload-progress__fill{background:var(--accent);border-radius:inherit;height:100%;transition:width .2s ease-out}.upload-progress__fill--done{background:var(--ok)}.upload-progress__label{color:var(--text-muted);margin-top:6px;font-size:12px}@media (prefers-reduced-motion:reduce){.upload-progress__fill{transition:none}}
