:root{--bg:#f5f7fb;--panel:#fff;--ink:#172033;--muted:#667085;--line:#d8e0eb;--blue:#1f6feb;--green:#067647;--amber:#b54708;--red:#b42318;--soft:#eef5ff;--shadow:0 14px 34px rgba(16,24,40,.08)}*{box-sizing:border-box}body{margin:0;min-height:100vh;font-family:Arial,Helvetica,sans-serif;background:var(--bg);color:var(--ink)}button,input,select{font:inherit}button{cursor:pointer}h1,h2,p{margin-top:0}h1{font-size:2rem;line-height:1;margin-bottom:0}h2{font-size:1.02rem;margin-bottom:0}.shell{width:min(1440px,calc(100% - 28px));margin:0 auto;padding:18px 0 36px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:72px}.eyebrow{margin:0 0 4px;color:#138a8a;font-size:.74rem;font-weight:800;text-transform:uppercase}.top-actions{display:flex;align-items:center;gap:10px}#modeBadge,.user-badge{display:inline-flex;align-items:center;min-height:36px;border-radius:8px;padding:0 10px;background:#e6f4f1;color:#105e5e;font-weight:800}.user-badge{background:#edf2ff;color:#244b8f;max-width:360px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hidden{display:none!important}.panel,.metric{background:var(--panel);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow)}.login-panel{display:grid;place-items:center;min-height:62vh}.auth-card{width:min(460px,100%);padding:22px}.auth-card p,.fineprint{color:var(--muted)}.auth-card label+label,#codePanel{margin-top:10px}.message{min-height:22px;color:var(--red);font-weight:700}.ghost,.primary,.side-links a{display:inline-flex;align-items:center;justify-content:center;min-height:38px;border-radius:8px;padding:0 12px;font-weight:800;text-decoration:none}.ghost,.side-links a{border:1px solid var(--line);background:#fff;color:var(--blue)}.primary{border:1px solid var(--blue);background:var(--blue);color:#fff}.app-shell{display:grid;grid-template-columns:280px minmax(0,1fr);gap:16px;align-items:start}.app-sidebar{position:sticky;top:16px;padding:16px}.app-main{display:grid;gap:14px}.panel-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.panel-title span{color:var(--muted);font-size:.88rem}.sidebar-metric{display:flex;align-items:center;justify-content:space-between;border:1px solid var(--line);border-radius:8px;padding:10px 12px;margin-bottom:12px;background:#fafcff}.sidebar-metric span{color:var(--muted);font-size:.86rem}.sidebar-metric strong{font-size:1.3rem}.project-list,.document-list,.findings-list{display:grid;gap:10px}.project-item,.document-item,.finding-item,.code-card{border:1px solid var(--line);border-radius:8px;padding:12px;background:#fff}.project-item.active{border-color:var(--blue);background:var(--soft)}.project-item strong,.document-item strong,.finding-item strong{display:block}.project-item span,.document-item span,.finding-item p,.finding-meta{color:var(--muted);font-size:.92rem}.side-links{display:grid;gap:8px;margin-top:16px}.side-links button,.side-links a{width:100%}.status-strip{display:grid;grid-template-columns:1.2fr repeat(2,.8fr);gap:12px}.metric{min-height:86px;padding:15px}.metric span{display:block;color:var(--muted);font-size:.84rem}.metric strong{display:block;margin-top:6px;font-size:1.7rem}.metric small{display:block;color:var(--muted);margin-top:6px}.risk-card{border-left:5px solid var(--blue)}.top-risks-panel{padding:16px}.top-risks{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.top-risk,.risk-empty{border:1px solid var(--line);border-radius:8px;background:#fff;padding:10px;min-height:86px}.top-risk{display:flex;gap:9px}.top-risk>span{color:var(--blue);font-weight:900}.top-risk strong{display:block;font-size:.88rem;line-height:1.25}.top-risk small{display:block;color:var(--muted);margin-top:6px;font-size:.78rem}.tabbar{display:flex;gap:8px;border-bottom:1px solid var(--line);padding-left:4px}.tab-button{min-height:42px;border:0;border-bottom:3px solid transparent;background:transparent;color:var(--muted);font-weight:900;padding:0 14px}.tab-button.active{color:var(--blue);border-bottom-color:var(--blue)}.tab-panel{display:none}.tab-panel.active{display:block}.tab-panel>.panel,.main-grid>.panel{padding:18px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.form-grid button{grid-column:1/-1}label{display:grid;gap:6px;color:var(--muted);font-size:.88rem;font-weight:800}input,select{width:100%;min-height:42px;border:1px solid var(--line);border-radius:8px;padding:9px 11px;color:var(--ink);background:#fff}input:focus,select:focus{outline:3px solid rgba(31,111,235,.18);border-color:var(--blue)}.drop-zone{position:relative;display:grid;place-items:center;gap:6px;min-height:132px;border:2px dashed #9fb2c8;border-radius:8px;background:#f8fbff;text-align:center;padding:18px;margin-bottom:14px}.drop-zone input{position:absolute;inset:0;opacity:0}.drop-zone p{margin-bottom:0;font-weight:900}.drop-zone span{color:var(--muted)}.document-item{display:flex;justify-content:space-between;align-items:center;gap:10px}.doc-actions{display:flex;gap:8px}.danger{color:var(--red)!important}.wide{width:100%;margin-top:10px}.severity{display:inline-flex;align-items:center;min-height:26px;border-radius:8px;padding:0 9px;font-size:.8rem;font-weight:900}.severity.high{background:#fee4e2;color:var(--red)}.severity.medium{background:#fef0c7;color:var(--amber)}.severity.low{background:#dcfae6;color:var(--green)}.finding-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:8px}.file-chip{display:inline-flex;min-height:24px;align-items:center;margin-bottom:6px;padding:0 8px;border-radius:8px;background:var(--soft);color:#1f4e8c;font-size:.78rem;font-weight:900}.finding-meta{display:flex;flex-wrap:wrap;gap:8px 14px}.discipline-group{border:1px solid var(--line);border-radius:8px;background:#fff;overflow:hidden}.discipline-header{width:100%;display:flex;align-items:center;justify-content:space-between;min-height:46px;border:0;background:#f8fbff;padding:0 12px;color:var(--ink);font-weight:900}.discipline-header span{color:var(--muted)}.discipline-items{display:grid;gap:10px;padding:10px}.discipline-group.collapsed .discipline-items{display:none}.code-basis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.code-card{background:var(--soft);border-color:#bdd3f4}.code-card span{display:block;color:#1f4e8c;font-weight:900}.code-card small{display:block;color:var(--muted);margin-top:4px}.upload-pending{border-color:#9fb2c8;background:#f8fbff}.upload-pending .upload-status{display:block;margin-top:4px;color:var(--blue);font-weight:900}.upload-bar{width:min(360px,100%);height:8px;margin-top:8px;border-radius:999px;background:#dbe7f7;overflow:hidden}.upload-bar i{display:block;height:100%;border-radius:999px;background:var(--blue);transition:width .2s ease}.upload-done{border-color:#8fd6ad;background:#f2fbf5}.upload-done .upload-status{color:var(--green)}.upload-error{border-color:#f7a29b;background:#fff4f2}.upload-error .upload-status{color:var(--red)}html[data-theme="dark"]{color-scheme:dark}html[data-theme="dark"] body{--bg:#101624;--panel:#182033;--ink:#edf2ff;--muted:#a8b3c7;--line:#31405d;--blue:#6aa3ff;--green:#5bd18a;--amber:#f6b85f;--red:#ff8a80;--soft:#1b2c4a;--shadow:0 18px 45px rgba(0,0,0,.35)}html[data-theme="dark"] input,html[data-theme="dark"] select,html[data-theme="dark"] .project-item,html[data-theme="dark"] .document-item,html[data-theme="dark"] .finding-item,html[data-theme="dark"] .code-card,html[data-theme="dark"] .ghost,html[data-theme="dark"] .top-risk,html[data-theme="dark"] .discipline-group{background:#151c2c;color:var(--ink);border-color:var(--line)}html[data-theme="dark"] .sidebar-metric,html[data-theme="dark"] .drop-zone,html[data-theme="dark"] .discipline-header{background:#121a2b;border-color:#465a7c}html[data-theme="dark"] .project-item.active{background:#1b2c4a}html[data-theme="dark"] .file-chip{background:#20385f;color:#cfe1ff}@media(max-width:1100px){.app-shell{grid-template-columns:1fr}.app-sidebar{position:static}.top-risks{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.shell{width:min(100% - 20px,1440px)}.topbar,.document-item,.finding-head{flex-direction:column;align-items:stretch}.status-strip,.form-grid,.code-basis,.top-risks{grid-template-columns:1fr}.tabbar{overflow:auto}.tab-button{white-space:nowrap}}

.legal-page{max-width:880px;margin:0 auto;padding:28px}.legal-page h1{font-size:2rem}.legal-page section{margin:18px 0}.legal-page li{margin:8px 0}

.user-list{display:grid;gap:10px;margin-top:14px}.user-item{display:flex;justify-content:space-between;gap:12px;align-items:center;border:1px solid var(--line);border-radius:8px;background:var(--panel);padding:12px}.user-item strong{display:block}.user-item span{display:block;color:var(--muted);font-size:.88rem}.role-chip{display:inline-flex!important;align-items:center;justify-content:center;min-height:26px;border-radius:8px;padding:0 8px;background:var(--soft);color:var(--blue)!important;font-weight:900}.admin-form label:nth-child(5){grid-column:1/-1}@media(max-width:720px){.user-item{align-items:flex-start;flex-direction:column}}
.ai-notice{border:1px solid #f6c66a;background:#fff8e6;color:#6f4400;border-radius:8px;padding:10px 12px;margin-bottom:12px}.help-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(300px,.9fr);gap:16px}.help-actions{display:flex;gap:8px;margin:10px 0}.faq-list{display:grid;gap:10px}.faq-item,.support-box{border:1px solid var(--line);border-radius:8px;background:#fff;padding:12px}.faq-item span{display:block;color:var(--muted);font-size:.8rem;font-weight:800}.faq-item strong{display:block;margin:4px 0}.faq-item p{color:var(--muted);margin-bottom:0}.support-form{display:grid;gap:10px}.support-form textarea{width:100%;border:1px solid var(--line);border-radius:8px;padding:9px 11px;background:#fff;color:var(--ink);font:inherit}.finding-review{display:grid;grid-template-columns:180px minmax(180px,1fr) auto;gap:8px;margin-top:10px}.finding-review button{min-height:42px}html[data-theme="dark"] .ai-notice{background:#2b2414;color:#ffd98a;border-color:#725a1e}html[data-theme="dark"] .faq-item,html[data-theme="dark"] .support-box,html[data-theme="dark"] .support-form textarea{background:#151c2c;color:var(--ink);border-color:var(--line)}@media(max-width:900px){.help-grid,.finding-review{grid-template-columns:1fr}}.auth-tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:16px}.auth-tab{min-height:42px;border:1px solid var(--line);background:#fff;color:var(--muted);border-radius:8px;font-weight:900}.auth-tab.active{background:var(--blue);border-color:var(--blue);color:#fff}.auth-mode{display:none}.auth-mode.active{display:grid;gap:10px}.name-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}html[data-theme="dark"] .auth-tab{background:#151c2c;color:var(--muted);border-color:var(--line)}html[data-theme="dark"] .auth-tab.active{background:var(--blue);color:#07101f}@media(max-width:520px){.name-grid,.auth-tabs{grid-template-columns:1fr}}
html[data-theme="dark"] #modeBadge,
html[data-theme="dark"] .user-badge{
  background:#122f35;
  color:#d8fffb;
  border:1px solid #285865;
}
html[data-theme="dark"] .side-links a,
html[data-theme="dark"] .risk-empty,
html[data-theme="dark"] .top-risk,
html[data-theme="dark"] .upload-pending{
  background:#151c2c;
  color:var(--ink);
  border-color:var(--line);
}
html[data-theme="dark"] .side-links a:hover,
html[data-theme="dark"] .ghost:hover{
  background:#1b2c4a;
}
html[data-theme="dark"] .upload-bar{
  background:#253650;
}
html[data-theme="dark"] .upload-done{
  background:#10291f;
  border-color:#2e7d57;
}
html[data-theme="dark"] .upload-error{
  background:#331b1f;
  border-color:#85404a;
}
html[data-theme="dark"] .severity.high{
  background:#3b1c20;
  color:#ffb4ad;
}
html[data-theme="dark"] .severity.medium{
  background:#352711;
  color:#ffd28a;
}
html[data-theme="dark"] .severity.low{
  background:#123322;
  color:#9ef0b7;
}
