:root{--bg:#f7f5ef;--surface:#fff;--surface-muted:#eef1e7;--text:#1f2721;--muted:#667064;--line:#dfe4d7;--brand:#2f6f4f;--brand-dark:#244f3d;--brand-soft:#dfeade;--accent:#b2752b;--danger:#a64236;--warning:#d39a26;--success:#287a52;--shadow:0 16px 40px #1f272114}*{box-sizing:border-box}html,body{background:var(--bg);min-height:100%;color:var(--text);letter-spacing:0;margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit}.app-shell{grid-template-columns:280px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{border-right:1px solid var(--line);background:#fbfaf6;height:100vh;padding:24px;position:sticky;top:0}.brand{align-items:center;gap:12px;margin-bottom:28px;display:flex}.brand-mark{background:var(--brand);color:#fff;border-radius:8px;place-items:center;width:44px;height:44px;font-weight:800;display:grid}.brand-name{margin:0;font-size:16px;font-weight:760}.brand-subtitle{color:var(--muted);margin:2px 0 0;font-size:12px}.nav{gap:6px;display:grid}.nav-item{min-height:40px;color:var(--muted);border-radius:8px;align-items:center;gap:10px;padding:0 12px;font-weight:650;display:flex}.nav-item.active{background:var(--brand-soft);color:var(--brand-dark)}.compliance-box{border:1px solid var(--line);background:var(--surface);border-radius:8px;margin-top:28px;padding:14px}.compliance-box p{color:var(--muted);margin:8px 0 0;font-size:12px;line-height:1.45}.main{min-width:0;padding:28px}.topbar{justify-content:space-between;align-items:center;gap:18px;margin-bottom:22px;display:flex}.topbar h1{margin:0;font-size:28px;line-height:1.15}.topbar p{color:var(--muted);margin:6px 0 0}.tenant-switcher{border:1px solid var(--line);background:var(--surface);border-radius:8px;justify-content:space-between;align-items:center;gap:12px;min-width:260px;padding:12px 14px;display:flex}.tenant-switcher span{color:var(--muted);font-size:12px}.tenant-switcher strong{margin-top:2px;display:block}.tenant-switcher em{color:var(--muted);margin-top:4px;font-size:12px;font-style:normal;display:block}.icon-button{border:1px solid var(--line);background:var(--surface);width:38px;min-width:38px;height:38px;color:var(--text);border-radius:8px;place-items:center;display:inline-grid}.status-banner{border:1px solid var(--line);background:var(--brand-soft);color:var(--brand-dark);border-radius:8px;margin-bottom:18px;padding:12px 14px;font-size:13px;font-weight:700}.status-banner.loading{color:#795015;background:#fff1d2}.status-banner.danger{color:#813126;background:#f9dddd}.login-shell{background:var(--bg);place-items:center;min-height:100vh;padding:28px;display:grid}.login-panel{border:1px solid var(--line);background:var(--surface);width:min(100%,520px);box-shadow:var(--shadow);border-radius:8px;padding:24px}.login-brand{margin-bottom:24px}.login-copy{gap:10px;margin-bottom:18px;display:grid}.login-copy h1{margin:0;font-size:28px}.login-copy p{color:var(--muted);margin:0;line-height:1.45}.login-form,.demo-logins{gap:10px;display:grid}.demo-logins{border-top:1px solid var(--line);margin-top:18px;padding-top:18px}.oidc-login{width:100%;margin-bottom:10px;text-decoration:none}.demo-login{border:1px solid var(--line);min-height:54px;color:var(--text);text-align:left;background:#fbfaf6;border-radius:8px;grid-template-columns:auto 1fr;align-items:center;gap:3px 10px;padding:10px;display:grid}.demo-login strong{color:var(--muted);grid-column:2;font-size:12px;font-weight:650}.quick-actions{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);border-radius:8px;justify-content:space-between;align-items:center;gap:14px;margin-bottom:18px;padding:14px 16px;display:flex}.quick-actions strong,.quick-actions span{display:block}.quick-actions span{color:var(--muted);margin-top:4px;font-size:13px}.test-run{border:1px solid var(--line);background:var(--surface);border-radius:8px;gap:14px;margin-bottom:18px;padding:14px 16px;display:grid}.user-management{margin-bottom:18px}.user-management-note{border:1px solid var(--line);background:#fbfaf6;border-radius:8px;justify-content:space-between;align-items:center;gap:14px;padding:12px;display:flex}.user-management-note strong,.user-management-note span{display:block}.user-management-note span{color:var(--muted);font-size:13px;line-height:1.45}.inline-status{border:1px solid var(--line);background:var(--surface-muted);color:var(--brand-dark);border-radius:8px;margin-top:12px;padding:10px 12px;font-size:13px;font-weight:700}.invite-box{border:1px solid var(--line);background:#fbfaf6;border-radius:8px;gap:12px;margin-top:14px;padding:12px;display:grid}.invite-grid{grid-template-columns:minmax(160px,1fr) minmax(220px,1.2fr) minmax(190px,.9fr) auto;align-items:end;gap:10px;display:grid}.test-run-header{grid-template-columns:minmax(180px,.7fr) minmax(0,1.3fr);align-items:start;gap:14px;display:grid}.test-run-header strong,.test-run-header span{display:block}.test-run-header span{color:var(--muted);margin-top:4px;font-size:13px}.sample-links{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.sample-link{border:1px solid var(--line);min-height:30px;color:var(--text);background:#fbfaf6;border-radius:8px;align-items:center;gap:6px;padding:0 9px;font-size:12px;font-weight:700;text-decoration:none;display:inline-flex}.test-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;display:grid}.test-step{border:1px solid var(--line);background:#fbfaf6;border-radius:8px;align-content:space-between;gap:8px;min-height:98px;padding:10px;display:grid}.test-step.done{background:#f4fbf6}.test-step strong{font-size:13px}.test-step em{color:var(--muted);overflow-wrap:anywhere;font-size:12px;font-style:normal}.metrics{grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin-bottom:18px;display:grid}.metric{border:1px solid var(--line);background:var(--surface);min-height:112px;box-shadow:var(--shadow);border-radius:8px;padding:16px}.metric span{color:var(--muted);font-size:13px;font-weight:650}.metric strong{margin-top:14px;font-size:30px;display:block}.metric em{color:var(--muted);margin-top:6px;font-size:12px;font-style:normal;display:block}.workspace{grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr);gap:18px;display:grid}.panel{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);border-radius:8px}.panel-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:16px;padding:16px 18px;display:flex}.panel-header h2{margin:0;font-size:18px}.panel-header p{color:var(--muted);margin:4px 0 0;font-size:13px;line-height:1.45}.panel-body{padding:18px}.button{background:var(--brand);color:#fff;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:40px;padding:0 14px;font-weight:750;display:inline-flex}.button.secondary{border-color:var(--line);background:var(--surface);color:var(--text)}.button.warning{background:var(--accent)}.button:disabled{cursor:not-allowed;opacity:.55}.upload-zone{text-align:center;background:#fbfcf8;border:1px dashed #9cab96;border-radius:8px;place-items:center;min-height:126px;display:grid;position:relative}.upload-zone input{opacity:0;position:absolute;inset:0}.upload-zone strong{margin-top:8px;display:block}.upload-zone span{color:var(--muted);margin-top:4px;font-size:13px;display:block}.document-list,.processing-list,.audit-list,.suggestion-list,.user-list{gap:10px;margin-top:16px;display:grid}.document-row,.processing-row,.audit-row,.suggestion-row,.user-row{border:1px solid var(--line);background:#fbfaf6;border-radius:8px;gap:8px;padding:12px;display:grid}.user-controls{grid-template-columns:minmax(220px,1fr) auto auto;align-items:end;gap:10px;display:grid}.user-controls label{color:var(--muted);gap:6px;font-size:12px;font-weight:750;display:grid}.user-controls select{border:1px solid var(--line);background:var(--surface);min-height:40px;color:var(--text);border-radius:8px;padding:0 10px}.user-controls select:disabled{opacity:.65}.subsection-heading{color:var(--brand-dark);align-items:center;gap:8px;font-size:13px;display:inline-flex}.row-main{justify-content:space-between;align-items:center;gap:12px;min-width:0;display:flex}.row-title{overflow-wrap:anywhere;min-width:0;font-weight:750}.row-meta{color:var(--muted);font-size:12px}.badge{background:var(--surface-muted);min-height:28px;color:var(--brand-dark);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:0 10px;font-size:12px;font-weight:750;display:inline-flex}.badge.warning{color:#795015;background:#fff1d2}.badge.success{color:#1d6240;background:#ddf0e5}.badge.danger{color:#813126;background:#f9dddd}.split-actions{flex-wrap:wrap;gap:8px;display:flex}.chat-panel{gap:12px;display:grid}.message{background:#f2f4ec;border-radius:8px;padding:12px;line-height:1.45}.message.operator{background:#e8f0e6}.chat-input{gap:8px;display:grid}.chat-input textarea{resize:vertical;border:1px solid var(--line);min-height:92px;color:var(--text);background:#fbfaf6;border-radius:8px;padding:12px}.field-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.field{gap:6px;display:grid}.field label{color:var(--muted);font-size:12px;font-weight:750}.field input,.field select,.invite-grid select{border:1px solid var(--line);background:#fbfaf6;border-radius:8px;min-height:40px;padding:0 10px}.approval-strip{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-top:14px;padding-top:14px;display:flex}.empty-state{border:1px solid var(--line);color:var(--muted);text-align:center;background:#fbfaf6;border-radius:8px;padding:16px}@media (max-width:1100px){.app-shell{grid-template-columns:1fr}.sidebar{border-right:0;border-bottom:1px solid var(--line);height:auto;position:static}.nav{grid-template-columns:repeat(4,minmax(0,1fr))}.workspace,.metrics,.test-grid{grid-template-columns:1fr 1fr}}@media (max-width:720px){.main,.sidebar{padding:18px}.topbar,.quick-actions,.user-management-note,.test-run-header,.row-main{flex-direction:column;align-items:stretch}.tenant-switcher,.metrics,.workspace,.field-grid,.user-controls,.invite-grid,.test-grid,.test-run-header,.nav{grid-template-columns:1fr}.sample-links{justify-content:flex-start}.tenant-switcher{min-width:0}.topbar h1{font-size:24px}}
