:root{--brand-black: #020204;--ink: #0f1e2e;--steel: #2e5c7a;--steel-light: #5c87a3;--teal: #1f8a6f;--teal-soft: #d7ece4;--amber: #c77f1a;--amber-soft: #f6e6cc;--red: #b0432f;--red-soft: #f3dad3;--paper: #f4f2ed;--paper-dim: #e9e5dc;--line: #d8d2c4;--text: #1b2734;--text-dim: #6b7580;--sans: "Inter", system-ui, sans-serif;--mono: "IBM Plex Mono", monospace}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--paper);color:var(--text);font-family:var(--sans)}#root{min-height:100vh}a{color:inherit}button{font-family:var(--sans);cursor:pointer}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--brand-black)}.auth-card{width:400px;padding:36px;background:#fff;border:1px solid var(--line);border-radius:3px}.auth-logo{height:34px;display:block;margin:0 auto 20px}.auth-staff-tag{text-align:center;font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;color:var(--steel);margin-bottom:14px}.auth-subtitle{text-align:center;font-size:14px;color:var(--text-dim);margin:0 0 20px}.auth-hint{font-size:12.5px;color:var(--text-dim);margin:0 0 14px}.auth-hint-mono{font-family:var(--mono);font-size:11px;color:var(--text-dim);word-break:break-all;margin:0 0 14px}.auth-qr{display:block;margin:0 auto 14px;width:160px;height:160px}.auth-error{color:var(--red);font-size:13px;margin:8px 0}.auth-card label{display:block;font-size:12.5px;font-weight:600;margin-bottom:6px}.auth-card input,.auth-card textarea{width:100%;padding:9px;border:1px solid var(--line);border-radius:2px;font-size:13.5px;margin-bottom:16px;font-family:var(--sans)}.auth-card button[type=submit]{width:100%;padding:11px;background:var(--brand-black);color:#fff;border:none;border-radius:2px;font-size:14px;font-weight:600}.auth-card button[type=submit]:disabled{opacity:.6}.app{min-height:100vh;display:flex;flex-direction:column}.topbar{background:var(--brand-black);color:#fff;display:flex;align-items:center;gap:12px;padding:0 28px;height:56px;border-bottom:1px solid rgba(255,255,255,.12);position:sticky;top:0;z-index:50}.topbar-logo{height:28px}.topbar-product{font-family:var(--mono);font-weight:500;font-size:11px;letter-spacing:.14em;color:#ffffff8c}.topbar-right{margin-left:auto;display:flex;align-items:center;gap:14px;font-size:13px}.topbar-user{color:#fffc}.btn-link{background:none;border:none;color:var(--steel);font-size:13px;padding:0;text-decoration:underline}.body-layout{flex:1;display:flex;align-items:flex-start}.sidebar{width:240px;flex-shrink:0;background:#fff;border-right:1px solid var(--line);min-height:calc(100vh - 56px);padding:16px 0}.sidebar-group{margin-bottom:4px}.sidebar-group-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;background:transparent;border:none;text-align:left;padding:9px 20px;font-family:var(--mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim)}.sidebar-group-chevron{font-family:var(--mono)}.sidebar a{display:block;padding:9px 20px 9px 24px;font-size:13.5px;color:var(--text);border-left:3px solid transparent}.sidebar a:hover{background:var(--paper-dim)}.sidebar a.active{background:var(--teal-soft);border-left-color:var(--teal);font-weight:600;color:var(--ink)}main{flex:1;padding:32px 40px 80px;max-width:1200px;margin:0 auto;width:100%}.page h1{margin:4px 0 20px}.eyebrow{font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim);margin:0}.page-intro{color:var(--text-dim);font-size:14px;max-width:640px}.page-error{color:var(--red)}.page-loading{color:var(--text-dim)}.back-link{display:inline-block;margin-bottom:12px;font-size:13px;color:var(--steel)}.module-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;margin-top:20px}.module-card{background:#fff;border:1px solid var(--line);border-radius:3px;padding:18px}.module-card.locked{opacity:.6}.module-card-head{display:flex;align-items:center;gap:8px;margin-bottom:8px}.chip{font-family:var(--mono);font-size:10px;border:1px solid var(--steel);color:var(--steel);padding:2px 6px;border-radius:2px;text-transform:uppercase}.chip-amber{border-color:var(--amber);color:var(--amber)}.queue-table{width:100%;border-collapse:collapse;margin:16px 0 28px;font-size:13.5px}.queue-table th{text-align:left;font-family:var(--mono);font-size:10.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-dim);border-bottom:1px solid var(--line);padding:8px 12px}.queue-table td{padding:10px 12px;border-bottom:1px solid var(--line)}.queue-table .mono{font-family:var(--mono);font-size:12px}.empty-state{color:var(--text-dim);font-style:italic}.rai-low{color:var(--teal);font-weight:600}.rai-medium{color:var(--amber);font-weight:600}.rai-high,.rai-critical{color:var(--red);font-weight:600}.callout{background:var(--paper);border:1px solid var(--line);border-radius:3px;padding:16px 20px;margin:12px 0 20px}.callout-critical{background:var(--red-soft);border-color:var(--red)}.decision-buttons{display:flex;gap:10px;margin-top:16px}.btn-primary{background:var(--teal);color:#fff;border:none;padding:10px 20px;border-radius:3px;font-weight:600}.btn-secondary{background:transparent;border:1px solid var(--line);padding:10px 20px;border-radius:3px}.framework-card-link{text-decoration:none;color:inherit;display:block}.framework-card{transition:box-shadow .15s,transform .15s}.framework-card-link:hover .framework-card{box-shadow:0 4px 14px #00000014;transform:translateY(-1px)}.framework-reason{font-size:12.5px;color:var(--text-dim);font-style:italic;margin:4px 0 10px}.framework-score-row{display:flex;align-items:baseline;justify-content:space-between;border-top:1px solid var(--line);padding-top:10px;margin-top:10px}.framework-score{font-weight:700;font-size:15px}.framework-progress{font-size:12px;color:var(--text-dim)}.control-card{background:#fff;border:1px solid var(--line);border-radius:3px;padding:18px 20px;margin-bottom:14px}.control-title{margin:0 0 6px;font-size:15px}.control-description{font-size:13.5px;color:var(--text);margin:0 0 8px}.control-guidance{font-size:12.5px;color:var(--text-dim);background:var(--paper);border-radius:3px;padding:8px 12px;margin:0 0 12px}.control-status-buttons{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}.status-btn{font-size:12.5px;padding:7px 14px;border-radius:20px;border:1px solid var(--line);background:#fff;color:var(--text-dim)}.status-btn:disabled{opacity:.6}.status-btn.status-met.active{background:var(--teal-soft);border-color:var(--teal);color:var(--ink);font-weight:600}.status-btn.status-partial.active{background:var(--amber-soft);border-color:var(--amber);color:var(--ink);font-weight:600}.status-btn.status-not_met.active{background:var(--red-soft);border-color:var(--red);color:var(--ink);font-weight:600}.status-btn.status-not_applicable.active{background:var(--paper-dim);border-color:var(--text-dim);color:var(--ink);font-weight:600}.control-note{width:100%;padding:8px 10px;border:1px solid var(--line);border-radius:3px;font-family:var(--sans);font-size:13px;resize:vertical}.onboarding-page{max-width:560px}.onboarding-form{margin-top:20px}.onboarding-form label{display:block;font-size:13px;font-weight:600;margin:16px 0 6px}.onboarding-form select,.onboarding-form input[type=number]{width:100%;padding:9px 10px;border:1px solid var(--line);border-radius:3px;font-size:13.5px;font-family:var(--sans);background:#fff}.jurisdiction-options{display:flex;flex-direction:column;gap:8px;margin-top:4px}.jurisdiction-checkbox{display:flex;align-items:center;gap:8px;font-size:13.5px;font-weight:400;margin:0;cursor:pointer}.jurisdiction-checkbox input{width:16px;height:16px}.onboarding-form .btn-primary{margin-top:20px}
