@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=EB+Garamond:wght@400;500;600;700&display=swap";
:root{--sterling-navy:#0a2472;--deep-navy:#061a4a;--light-steel:#e6ecf5;--soft-offwhite:#f7f8fb;--crisp-white:#fff;--near-black:#0b1020;--slate-gray:#4a5568;--muted-gray:#64707f;--green:#1a7f44;--green-bg:#e6f4ea;--amber:#b7791f;--amber-bg:#fbf1dc;--red:#c0392b;--red-bg:#fbeae8;--bg:var(--soft-offwhite);--surface:var(--crisp-white);--border:var(--light-steel);--fg-heading:var(--near-black);--fg-body:var(--slate-gray);--fg-muted:var(--muted-gray);--brand:var(--sterling-navy);--font-serif:"Garamond", "EB Garamond", "Times New Roman", serif;--font-sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--radius-card:8px;--radius-button:4px;--radius-input:4px;--track-eyebrow:.08em;--track-button:.1em;--shadow-card-hover:0 6px 18px #0a247214;--shadow-raise:0 10px 30px #061a4a1f;--shadow-cta:0 10px 30px #061a4a2e;--ease:cubic-bezier(.22, 1, .36, 1);--ease-editorial:cubic-bezier(.22, 1, .36, 1);--bg-alt:var(--soft-offwhite);--bg-inverse:var(--deep-navy);--surface-card:var(--crisp-white);--fg-brand:var(--sterling-navy);--fg-on-navy:var(--crisp-white);--border-strong:var(--sterling-navy);--btn-primary-bg:var(--sterling-navy);--btn-primary-bg-hover:var(--deep-navy);--btn-primary-fg:var(--crisp-white);--fs-display:72px;--fs-h1:56px;--fs-h2:40px;--fs-h3:24px;--fs-h4:18px;--fs-body:16px;--fs-small:14px;--fs-eyebrow:12px;--fs-numeral:64px;--lh-display:1.05;--lh-heading:1.15;--lh-body:1.6;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--space-8:64px;--space-9:96px;--space-10:128px;--container-max:1240px;--gutter:24px;--dur-fast:.16s;--dur-med:.28s;--dur-slow:.6s}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--fg-body);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-size:15px;line-height:1.6}h1,h2,h3,h4{font-family:var(--font-serif);color:var(--fg-heading);letter-spacing:-.005em;margin:0;font-style:normal;font-weight:500;line-height:1.15}h1{font-size:30px}h2{font-size:22px}h3{font-size:18px}a{color:var(--brand);text-decoration:none}a:hover{color:var(--deep-navy);text-decoration:underline}.eyebrow{font-family:var(--font-sans);text-transform:uppercase;letter-spacing:var(--track-eyebrow);color:var(--brand);font-size:11px;font-weight:600}.muted{color:var(--fg-muted)}.small{font-size:13px}.subtle{color:var(--slate-gray)}.error{color:var(--red);font-size:13px}.container{max-width:1180px;margin:0 auto;padding:28px 24px 80px}.row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.spread{justify-content:space-between;align-items:center;gap:16px;display:flex}.stack{flex-direction:column;gap:6px;display:flex}header.app{background:var(--deep-navy);color:var(--crisp-white);border-bottom:3px solid var(--sterling-navy)}.app-inner{justify-content:space-between;align-items:center;gap:16px;max-width:1180px;margin:0 auto;padding:14px 24px;display:flex}.brand{align-items:center;gap:14px;display:flex}.brand img{filter:brightness(0)invert();width:auto;height:26px}.brand .divider-v{background:#ffffff40;width:1px;height:24px}.brand .product{font-family:var(--font-serif);color:#fff;font-size:18px}.app a{color:#cdd9f3}.usermenu{align-items:center;gap:14px;font-size:13px;display:flex}.usermenu .who{color:#dbe4ff}.usermenu .role-chip{text-transform:uppercase;letter-spacing:.06em;color:#fff;background:#ffffff24;border-radius:999px;padding:2px 7px;font-size:10px;font-weight:700}.linkbtn{color:#cdd9f3;cursor:pointer;font:inherit;background:0 0;border:0;padding:0}.linkbtn:hover{color:#fff;text-decoration:underline}.panel,.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);margin-bottom:20px;padding:22px 24px}.panel h2{margin-bottom:4px}.panel-head{margin-bottom:16px}label{color:var(--near-black);margin:14px 0 6px;font-size:13px;font-weight:500;display:block}input[type=text],input[type=email],input[type=password],select,textarea{border:1px solid var(--border);border-radius:var(--radius-input);width:100%;height:42px;font:inherit;color:var(--near-black);transition:border-color .16s var(--ease), box-shadow .16s var(--ease);background:#fff;outline:none;padding:0 12px;font-size:14px}textarea{height:auto;padding:10px 12px}input::placeholder{color:var(--muted-gray);opacity:1}input:focus,select:focus,textarea:focus{border-color:var(--brand);box-shadow:0 0 0 1px var(--brand)}input[type=file]{background:#fff;height:auto;padding:9px 12px}button,.btn{border-radius:var(--radius-button);cursor:pointer;height:42px;font-family:var(--font-sans);text-transform:uppercase;letter-spacing:var(--track-button);background:var(--sterling-navy);color:#fff;transition:background .16s var(--ease), color .16s var(--ease), border-color .16s var(--ease);border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:0 20px;font-size:13px;font-weight:600;display:inline-flex}button:hover,.btn:hover{background:var(--deep-navy)}button.secondary,.btn.secondary{color:var(--sterling-navy);border-color:var(--border);text-transform:none;letter-spacing:0;background:0 0;font-weight:600}button.secondary:hover,.btn.secondary:hover{background:var(--soft-offwhite);border-color:var(--sterling-navy)}button.ghost{color:var(--sterling-navy);text-transform:none;letter-spacing:0;background:0 0;height:auto;padding:0 8px}button.ghost:hover{background:0 0;text-decoration:underline}button.danger{background:var(--red)}button.danger:hover{background:#962b20}button.sm{height:34px;padding:0 14px;font-size:12px}button:disabled{opacity:.5;cursor:default}table{border-collapse:collapse;width:100%;font-size:14px}th,td{text-align:left;border-bottom:1px solid var(--border);vertical-align:top;padding:11px 10px}th{text-transform:uppercase;letter-spacing:var(--track-eyebrow);color:var(--slate-gray);background:var(--soft-offwhite);font-size:11px;font-weight:600}tbody tr.clickable:hover{cursor:pointer;background:#fafbfe}.detail-row,tr.detail{background:#fbfcff}tr.req-row{cursor:pointer}tr.req-row:hover{background:#fafbfe}.badge{border-radius:999px;align-items:center;gap:6px;padding:4px 11px;font-size:12px;font-weight:600;display:inline-flex}.badge.go{background:var(--green-bg);color:var(--green)}.badge.nogo{background:var(--red-bg);color:var(--red)}.badge.review{background:var(--amber-bg);color:#7a5212}.badge.pending{background:var(--light-steel);color:var(--slate-gray)}.verdict{letter-spacing:.04em;padding:6px 14px;font-size:13px}.pill{white-space:nowrap;border:1px solid #0000;border-radius:999px;padding:2px 9px;font-size:11.5px;font-weight:600;display:inline-block}.s-compliant{background:var(--green-bg);color:var(--green)}.s-partial,.s-needs_review{background:var(--amber-bg);color:var(--amber)}.s-missing,.s-non_compliant{background:var(--red-bg);color:var(--red)}.s-not_applicable{background:var(--soft-offwhite);color:var(--slate-gray)}.sev-critical{color:var(--red);font-weight:700}.sev-major{color:var(--amber);font-weight:600}.sev-minor{color:var(--muted-gray)}.ok{color:var(--green);font-weight:700}.no{color:var(--red);font-weight:700}.unknown{color:var(--muted-gray)}.gauge{align-items:center;gap:22px;display:flex}.gauge .score{font-family:var(--font-serif);color:var(--sterling-navy);font-size:60px;font-weight:500;line-height:1}.counts{flex-wrap:wrap;gap:8px;display:flex}.filters{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:14px;display:flex}.filters select,.filters input{width:auto;height:38px}.crit-list{margin:6px 0 0;padding-left:18px}.crit-list li{margin:4px 0}.kv{grid-template-columns:max-content 1fr;gap:4px 12px;font-size:13px;display:grid}.dropzone{border:1.5px dashed var(--border);border-radius:var(--radius-card);text-align:center;background:var(--soft-offwhite);transition:border-color .16s var(--ease), background .16s var(--ease);padding:22px}.dropzone.drag{border-color:var(--sterling-navy);background:#eef2fb}.dropzone .hint{color:var(--slate-gray);font-size:13px}.filelist{flex-direction:column;gap:6px;margin-top:12px;display:flex}.file-row{border:1px solid var(--border);background:#fff;border-radius:6px;align-items:center;gap:10px;padding:8px 12px;font-size:13px;display:flex}.file-row .name{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.file-row select{width:168px;height:34px}.file-row .x{color:var(--muted-gray);cursor:pointer;background:0 0;border:0;height:auto;padding:4px}.file-row .x:hover{color:var(--red);background:0 0}.progress-wrap{margin-top:16px}.progress-track{background:var(--light-steel);border-radius:999px;height:8px;overflow:hidden}.progress-fill{background:linear-gradient(90deg, var(--sterling-navy), var(--deep-navy));height:100%;transition:width .4s var(--ease);border-radius:999px}.progress-indeterminate{width:35%;animation:slide 1.3s var(--ease) infinite}@keyframes slide{0%{margin-left:-35%}to{margin-left:100%}}.progress-meta{color:var(--slate-gray);justify-content:space-between;margin-top:8px;font-size:13px;display:flex}.spinner{border:2px solid var(--light-steel);border-top-color:var(--sterling-navy);border-radius:50%;width:16px;height:16px;animation:.8s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.seg{border:1px solid var(--border);border-radius:8px;margin:4px 0 6px;display:inline-flex;overflow:hidden}.seg-btn{color:var(--slate-gray);cursor:pointer;background:#fff;border:0;height:auto;padding:8px 16px;font-size:13px;font-weight:600}.seg-btn.active{background:var(--sterling-navy);color:#fff}.seg-btn:not(.active):hover{background:var(--soft-offwhite)}.pill.imp-blocker{background:var(--red-bg);color:var(--red);font-weight:700}.pill.imp-critical{color:#a3271b;background:#fde2e0}.pill.imp-major{background:var(--amber-bg);color:#7a5212}.pill.imp-minor{background:var(--soft-offwhite);color:var(--slate-gray)}.job-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px;display:grid}.job-card{border:1px solid var(--border);border-radius:var(--radius-card);background:#fff;padding:14px 16px}.job-card .job-name{text-overflow:ellipsis;white-space:nowrap;max-width:70%;overflow:hidden}.auth-screen{justify-content:center;align-items:center;min-height:70vh;padding:24px;display:flex}.auth-card{width:100%;max-width:400px}.auth-card .eyebrow{margin-bottom:8px}.auth-card h1{margin-bottom:4px;font-size:26px}.empty{color:var(--slate-gray);padding:8px 0;font-size:14px}.notice{border:1px solid var(--border);background:var(--soft-offwhite);border-radius:6px;padding:12px 14px;font-size:13px}.notice.warn{background:var(--amber-bg);color:#7a5212;border-color:#ecd9ad}.notice.danger{background:var(--red-bg);color:#8a2c20;border-color:#f2cfca}hr.divider{background:var(--border);border:0;height:1px;margin:16px 0}.tag{color:var(--slate-gray);background:var(--soft-offwhite);border:1px solid var(--border);border-radius:4px;padding:1px 7px;font-size:11px}.section-help{color:var(--slate-gray);margin:2px 0 10px;font-size:13px}.kv-form{grid-template-columns:1fr 1fr;gap:0 16px;display:grid}@media (max-width:640px){.kv-form{grid-template-columns:1fr}}.studio{grid-template-columns:232px minmax(0,1fr) 300px;align-items:start;gap:16px;display:grid}@media (max-width:980px){.studio{grid-template-columns:1fr}}.studio-rail{position:sticky;top:16px}.studio-rail .panel{padding:16px 18px}.outline-item{text-align:left;width:100%;color:var(--fg-heading);font:inherit;text-transform:none;letter-spacing:0;background:0 0;border:0;border-radius:6px;justify-content:flex-start;align-items:flex-start;gap:4px;height:auto;padding:4px;display:flex}.outline-item:hover{background:var(--soft-offwhite)}.outline-item.active{background:#eef2fb}.outline-item .ot-main{text-align:left;min-width:0;color:var(--fg-heading);font:inherit;text-transform:none;letter-spacing:0;cursor:pointer;background:0 0;border:0;flex:1;justify-content:flex-start;align-items:flex-start;gap:8px;height:auto;padding:4px;display:flex}.outline-item .ot-main:hover{background:0 0}.ot-controls{flex:none;align-items:center;gap:0;display:none}.outline-item:hover .ot-controls,.outline-item.active .ot-controls{display:inline-flex}.ot-controls button{color:var(--muted-gray);cursor:pointer;text-transform:none;letter-spacing:0;background:0 0;border:0;width:20px;height:22px;padding:0;font-size:12px;line-height:1}.ot-controls button:hover{color:var(--sterling-navy);background:0 0}.ot-controls button:disabled{opacity:.3;cursor:default}.ver-row{border-bottom:1px solid var(--border);align-items:center;gap:8px;padding:4px 0;display:flex}.toaster{z-index:200;flex-direction:column;gap:8px;display:flex;position:fixed;top:16px;right:16px}.toast{background:var(--deep-navy);color:#fff;box-shadow:var(--shadow-raise);animation:toast-in .22s var(--ease);border-radius:6px;padding:10px 16px;font-size:13px;font-weight:500}.toast.error{background:var(--red)}@keyframes toast-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}.modal-overlay{z-index:190;animation:toast-in .16s var(--ease);background:#061a4a73;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal{background:var(--surface);border-radius:var(--radius-card);box-shadow:var(--shadow-raise);width:100%;max-width:440px;padding:22px 24px}.working{background:var(--soft-offwhite);border:1px solid var(--border);border-radius:var(--radius-card);align-items:center;gap:14px;padding:16px;display:flex}.usermenu a.active{color:#fff;text-underline-offset:4px;font-weight:600;text-decoration:underline}.outline-item:focus-within .ot-controls{display:inline-flex}.studio-top{z-index:60;background:var(--bg);border-bottom:1px solid #0000;padding:10px 0;position:sticky;top:0}.studio-top.stuck{border-bottom-color:var(--border)}.outline-item.dragging{opacity:.45}.outline-item.drop-above{box-shadow:inset 0 2px 0 var(--sterling-navy)}.outline-item .ot-main{cursor:pointer}.outline-item[draggable=true] .ot-main{cursor:grab}.steps{grid-template-columns:repeat(3,1fr);gap:14px;margin-top:6px;display:grid}@media (max-width:860px){.steps{grid-template-columns:1fr}}.step-card{border:1px solid var(--border);border-radius:var(--radius-card);background:#fff;padding:16px}.step-card .n{background:var(--sterling-navy);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:26px;height:26px;margin-bottom:8px;font-size:13px;font-weight:700;display:inline-flex}.outline-item .dot{background:var(--light-steel);border-radius:50%;flex:none;width:9px;height:9px;margin-top:5px}.outline-item .dot.done{background:var(--green)}.outline-item .dot.gap{background:var(--amber)}.outline-item .ot{font-size:13px;line-height:1.35}.sec-block{scroll-margin-top:16px}.sec-block.focused{box-shadow:0 0 0 2px var(--light-steel)}.sec-block h3{margin-bottom:8px}.sec-editor{width:100%;min-height:180px;font-size:14px;line-height:1.7}.needs-input{background:var(--amber-bg);color:#7a5212;border:1px solid #ecd9ad;border-radius:4px;margin:4px 6px 0 0;padding:2px 8px;font-size:12px;display:inline-block}.cowriter .grp{margin-top:14px}.cowriter .grp h4{font-family:var(--font-sans);text-transform:uppercase;letter-spacing:var(--track-eyebrow);color:var(--slate-gray);margin-bottom:6px;font-size:11px}.cowriter .src{color:var(--slate-gray);border-bottom:1px solid var(--border);padding:4px 0;font-size:12px}.src-file{font-family:var(--font-sans);color:var(--ink);font-size:11px;font-weight:600}.src-snip{color:var(--slate-gray);margin-top:2px;font-size:12px;line-height:1.45}.savechip{color:var(--muted-gray);font-size:12px}.table-scroll{-webkit-overflow-scrolling:touch;width:100%;overflow-x:auto}@media (max-width:980px){.ot-controls{display:inline-flex}.ot-controls button{justify-content:center;width:auto;min-width:40px;height:auto;min-height:40px;padding:8px}.file-row .x{justify-content:center;align-items:center;min-width:40px;min-height:40px;padding:8px;display:inline-flex}}@media (max-width:860px){.studio-rail{position:static;top:auto}}@media (max-width:720px){.container{padding:18px 16px 64px}h1{font-size:25px}h2{font-size:20px}.app-inner{flex-wrap:wrap;gap:10px 12px;padding:12px 16px}.usermenu{flex-wrap:wrap;gap:8px 12px;font-size:12px}.usermenu .who{display:none}.brand .product{font-size:16px}.spread{flex-wrap:wrap}.panel,.card{padding:18px 16px}.gauge{gap:14px}.gauge .score{font-size:46px}.filters{flex-direction:column;align-items:stretch}.filters select,.filters input{height:40px;width:100%!important}.row input[type=text],.row input[type=email],.row input[type=password],.row select,.row textarea{width:100%!important}.table-scroll table{min-width:560px}.file-row{flex-wrap:wrap}.file-row .name{white-space:normal;flex:100%}.file-row select{width:100%}}@media (max-width:420px){.container{padding:16px 12px 56px}button,.btn{padding:0 14px}button.sm{padding:0 12px}.gauge .score{font-size:40px}}.assistant-fab{z-index:60;background:var(--navy,#0a2472);color:#fff;cursor:pointer;border:none;border-radius:999px;padding:12px 18px;font-size:14px;font-weight:600;position:fixed;bottom:20px;right:20px;box-shadow:0 6px 20px #0a247247}.assistant-panel{z-index:60;border:1px solid var(--border,#e3e8f0);background:#fff;border-radius:14px;flex-direction:column;width:min(420px,100vw - 32px);height:min(560px,100vh - 40px);display:flex;position:fixed;bottom:20px;right:20px;overflow:hidden;box-shadow:0 12px 40px #10182838}.assistant-head{border-bottom:1px solid var(--border,#e3e8f0);background:var(--navy,#0a2472);color:#fff;justify-content:space-between;align-items:center;padding:12px 14px;display:flex}.assistant-head .linkbtn{color:#fff}.assistant-body{flex-direction:column;flex:1;gap:12px;padding:14px;display:flex;overflow-y:auto}.assistant-hint{line-height:1.5}.assistant-examples{flex-direction:column;align-items:flex-start;gap:6px;margin-top:12px;display:flex}.assistant-turn{flex-direction:column;gap:4px;display:flex}.assistant-turn.user{align-items:flex-end}.assistant-bubble{white-space:pre-wrap;border-radius:12px;max-width:88%;padding:9px 12px;font-size:14px;line-height:1.5}.assistant-turn.user .assistant-bubble{background:var(--navy,#0a2472);color:#fff;border-bottom-right-radius:4px}.assistant-turn.assistant .assistant-bubble{color:var(--near-black,#16202e);background:#f2f5fa;border-bottom-left-radius:4px}.assistant-sources{margin-top:2px}.assistant-input{border-top:1px solid var(--border,#e3e8f0);align-items:flex-end;gap:8px;padding:10px;display:flex}.assistant-input textarea{resize:none;flex:1}@media (max-width:560px){.assistant-panel{width:auto;height:min(70vh,520px);bottom:8px;left:8px;right:8px}}
