:root{--bg: #0b0b0b;--bg-soft: #101010;--panel: #141414;--panel-soft: #1a1a1a;--ink: #f4f4ef;--muted: #969691;--line: #292929;--brand: #3b5bdb;--brand-soft: #4dabf7;--critical: #ff6b72;--critical-bg: #2c171a;--warn: #f2b35b;--warn-bg: #2b2115;--info: #70bdf2;--info-bg: #152431;--ok: #73d58a;--ok-bg: #15261a;--r: 18px;--shadow: 0 24px 80px rgba(0,0,0,.24);--mono: "Cascadia Code", "SF Mono", Consolas, monospace;font:14px/1.55 Arial,Helvetica Neue,Helvetica,sans-serif;letter-spacing:-.015em;color:var(--ink);background:var(--bg);font-synthesis:none;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{margin:0;min-width:0;min-height:100vh}button,select,input,textarea{font:inherit;letter-spacing:inherit}.shell{display:grid;grid-template-columns:238px minmax(0,1fr);min-height:100vh}aside{background:linear-gradient(160deg,#0e1320,#17203a 55%,#1e2c52);color:var(--ink);padding:28px 18px;display:flex;flex-direction:column;border-right:1px solid var(--line)}.brand{display:flex;gap:12px;align-items:center;padding:0 8px 32px}.brand div{display:flex;flex-direction:column;gap:2px}.brand b{font-size:19px;font-weight:650;letter-spacing:-.2px}.brand small{color:#9fb0d0;font-size:12px}.mark{display:grid;place-items:center;width:40px;height:40px;border-radius:11px;background:linear-gradient(135deg,#4dabf7,#3b5bdb);color:#fff;font-weight:800;font-size:17px;letter-spacing:-.5px;box-shadow:0 4px 14px -4px #3b5bdbb3;border:0}nav{display:grid;gap:6px}nav button{border:0;background:transparent;color:#9fb0d0;padding:11px 14px;border-radius:10px;text-align:left;cursor:pointer;font-weight:650;font-size:13px;transition:all .12s}nav button:hover{background:#ffffff0f;color:#fff}nav button.active{background:var(--ink);color:#17203a}.security{margin-top:auto;border-top:1px solid rgba(255,255,255,.12);padding:22px 8px 0;font-size:12px;color:#b9c6e3}.security small{color:#8593b5;display:block;margin:8px 0 0 14px}.dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--ok);margin-right:7px}.dot.waiting{background:var(--warn)}main{min-width:0;padding:30px 42px;max-width:1440px;width:100%;margin:0 auto}header{display:flex;align-items:center;justify-content:space-between}h1,h2{margin:0;font-weight:650;letter-spacing:-.02em}h1{font-size:29px}h2{font-size:21px}h3,h4{font-weight:650;letter-spacing:-.01em}.eyebrow{color:var(--muted);font-size:11px;letter-spacing:.1em;font-weight:700;text-transform:uppercase;margin:0 0 8px}select,input,textarea{border:1px solid var(--line);border-radius:9px;background:var(--panel-soft);padding:10px 12px;color:var(--ink);width:100%}textarea{min-height:86px;resize:vertical}input:focus,select:focus,textarea:focus{outline:2px solid #b3c3f5;outline-offset:1px;border-color:var(--brand)}.client-chip{border:1px solid var(--line);background:var(--panel-soft);border-radius:999px;padding:9px 14px;color:var(--muted);font-size:12px;font-weight:650}.hero{margin-top:26px;background:linear-gradient(135deg,#0e1320,#17203a 55%,#1e2c52);border:1px solid var(--line);border-radius:var(--r);padding:26px 30px;display:flex;justify-content:space-between;align-items:center;box-shadow:var(--shadow)}.hero p:not(.eyebrow){max-width:620px;color:#b9c6e3;margin-bottom:0;line-height:1.55;font-size:13.5px}.hero .eyebrow{color:#9fb0d0}.hero h2{color:#fff}.score{--score: 259deg;flex:0 0 92px;width:92px;height:92px;border-radius:50%;display:grid;grid-template-columns:1fr;grid-template-rows:min-content min-content;place-items:center;align-content:center;row-gap:2px;text-align:center;background:radial-gradient(circle at center,#17203a 61%,transparent 62%),conic-gradient(var(--brand-soft) var(--score),rgba(255,255,255,.14) 0)}.score strong,.score span{grid-column:1}.score strong{grid-row:1;font-size:22px;font-weight:750;color:#fff;line-height:1.05}.score span{grid-row:2;font-size:10px;color:#9fb0d0}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin:15px 0}.metrics article,.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--r)}.metrics article{padding:18px 20px}.metrics span,.metrics small{display:block;color:var(--muted);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.metrics strong{display:block;font-size:27px;font-weight:750;margin:9px 0 7px;letter-spacing:-.02em}.panel{padding:24px 27px;margin-top:24px;box-shadow:var(--shadow)}.panel-title{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px}.panel-title h2{font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.primary{border:0;background:var(--brand);color:#fff;border-radius:10px;padding:10px 18px;cursor:pointer;font-weight:650;box-shadow:0 4px 14px -6px #3b5bdba6;transition:all .12s}.primary:hover{background:#3450c4;transform:translateY(-1px)}.primary:disabled{background:#333844;color:#7d828f;box-shadow:none;transform:none;cursor:not-allowed}.row{display:grid;grid-template-columns:1.3fr 1.2fr 1fr;gap:15px;padding:15px 7px;border-top:1px solid var(--line);font-size:13px;align-items:center}.row.heading{border:0;color:var(--muted);font-size:10.5px;text-transform:uppercase;letter-spacing:.08em;font-weight:700;padding-top:4px}.row span{color:var(--muted)}.row i{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--warn);margin-right:8px}footer{text-align:center;color:var(--muted);font-size:10.5px;margin:20px 0 0}.muted{color:var(--muted);line-height:1.6}.alert{border-radius:10px;padding:12px 15px;margin-top:18px;font-size:12.5px;border:1px solid var(--line);border-left-width:4px}.alert.error{color:var(--critical);background:var(--critical-bg);border-left-color:var(--critical)}.alert.success{color:var(--ok);background:var(--ok-bg);border-left-color:var(--ok)}.connection-alert{display:flex;align-items:center;justify-content:space-between;gap:14px}.connection-alert button{flex:0 0 auto;border:1px solid currentColor;border-radius:8px;background:transparent;color:inherit;padding:7px 11px;cursor:pointer;font-weight:700}.connection-alert button:hover{background:#ffffff0d}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px 20px}.form-grid label,.inline-form label{display:grid;gap:7px;color:var(--muted);font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.form-action{display:flex;align-items:end;justify-content:flex-end}.result-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:10px 0 22px}.result-grid div{background:var(--panel-soft);border:1px solid var(--line);border-radius:12px;padding:15px}.result-grid span{display:block;color:var(--muted);font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.07em}.result-grid strong{display:block;margin-top:7px;font-size:22px;font-weight:750;font-family:var(--mono);letter-spacing:0}.inline-form{display:grid;grid-template-columns:minmax(240px,1fr) auto;gap:12px;align-items:end;border-top:1px solid var(--line);padding-top:20px}.scenario-card{margin-top:18px;background:var(--panel-soft);border:1px solid var(--line);border-radius:12px;padding:18px}.scenario-card h3{font-size:16px;margin:0 0 12px}.scenario-card p{color:var(--muted);font-size:12.5px}.mapping-count{background:var(--panel-soft);border:1px solid var(--line);border-radius:999px;padding:7px 12px;color:var(--muted);font-size:11px;font-weight:650}.mapping-rights{grid-template-columns:minmax(260px,440px);margin-bottom:18px}.mapping-list{max-height:480px;overflow:auto;border:1px solid var(--line);border-radius:12px;background:var(--panel-soft)}.mapping-row{display:grid;grid-template-columns:1.2fr 1.5fr .7fr;gap:16px;align-items:center;padding:13px 15px;border-top:1px solid var(--line);font-size:12px}.mapping-row:first-child{border-top:0}.mapping-row.heading{position:sticky;top:0;z-index:1;background:var(--bg-soft);color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:9.5px;font-weight:700}.mapping-row b,.mapping-row small{display:block}.mapping-row small{color:var(--muted);margin-top:5px;word-break:break-word}.mapping-row span{color:var(--muted);line-height:1.4}.mapping-row div:last-child{display:grid;gap:7px;justify-items:start}.mapping-row button{border:1px solid var(--line);background:var(--panel);color:var(--ink);border-radius:7px;padding:6px 9px;font-size:10.5px;font-weight:650;cursor:pointer;transition:all .12s}.mapping-row button:hover:not(:disabled){border-color:var(--brand-soft);color:var(--brand-soft)}.mapping-row button:disabled{opacity:.45;cursor:not-allowed}.mapping-row button.primary{background:var(--brand);border:0;color:#fff}.state{border-radius:999px;padding:3px 9px;font-style:normal;font-size:9.5px;font-weight:700;text-transform:uppercase;font-family:var(--mono);letter-spacing:0}.state.draft,.state.pending,.state.review_required{background:var(--warn-bg);color:var(--warn)}.state.approved,.state.certified{background:var(--ok-bg);color:var(--ok)}.state.rejected{background:var(--critical-bg);color:var(--critical)}.document-picker{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:center;margin:18px 0}.document-picker span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:11.5px;font-family:var(--mono)}.document-results{margin-top:22px}.candidate-list{border:1px solid var(--line);border-radius:12px;background:var(--panel-soft)}.candidate-list>div{display:grid;grid-template-columns:1fr auto;gap:6px 15px;padding:13px 15px;border-top:1px solid var(--line)}.candidate-list>div:first-child{border-top:0}.candidate-list b{font-size:12.5px}.candidate-list span{color:var(--brand-soft);font-weight:700;font-family:var(--mono)}.candidate-list small{grid-column:1 / -1;color:var(--muted)}.control-list{display:grid;gap:9px}.control-list>div{display:flex;justify-content:space-between;gap:20px;padding:13px 15px;border-radius:10px;border:1px solid var(--line)}.control-list .passed{background:var(--ok-bg);color:var(--ok);border-color:transparent}.control-list .blocked{background:var(--warn-bg);color:var(--warn);border-color:transparent}.control-list small{text-align:right}.classification-card{display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:15px;padding:18px;margin:14px 0;border:1px solid var(--line);border-left:4px solid var(--info);border-radius:12px;background:var(--panel-soft)}.classification-card h3{font-size:16px;margin:0 0 8px}.classification-card p,.classification-card small{color:var(--muted);font-size:11.5px;line-height:1.5}.classification-card small{display:block;margin-top:5px}.review-box{background:var(--panel-soft);border:1px solid var(--line);padding:16px;border-radius:12px;margin-bottom:16px}.review-box button{align-self:end}.review-box blockquote{margin:12px 0;padding:10px 12px;color:var(--muted);background:var(--bg-soft);border-left:3px solid var(--brand);font-size:12.5px;line-height:1.55;border-radius:0 8px 8px 0}.opportunity-list{display:grid;gap:10px;max-height:430px;overflow:auto;margin:15px 0 22px}.opportunity-list>button{display:grid;grid-template-columns:1fr auto;text-align:left;gap:7px 18px;border:1px solid var(--line);border-radius:12px;background:var(--panel-soft);padding:14px 16px;color:var(--ink);cursor:pointer;transition:all .12s}.opportunity-list>button:hover{border-color:var(--brand-soft)}.opportunity-list>button.selected{border-color:var(--brand);box-shadow:inset 3px 0 var(--brand-soft);background:var(--info-bg)}.opportunity-list span small,.opportunity-list>button>small{display:block;color:var(--muted);margin-top:4px}.opportunity-list p,.opportunity-list em{grid-column:1 / -1;margin:0;color:var(--muted);font-size:11.5px}.opportunity-list em{color:var(--brand-soft);font-style:normal;font-weight:650}.coverage-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.coverage-grid>div{display:grid;gap:6px;padding:13px;border-radius:10px;border:1px solid var(--line)}.coverage-grid .received{background:var(--ok-bg);color:var(--ok);border-color:transparent}.coverage-grid .missing{background:var(--warn-bg);color:var(--warn);border-color:transparent}.coverage-grid small{color:var(--muted)}.document-inventory{display:grid;grid-template-columns:repeat(2,1fr);gap:9px;margin:14px 0}.document-inventory button{display:grid;gap:5px;text-align:left;border:1px solid var(--line);border-radius:10px;background:var(--panel-soft);padding:12px;color:var(--ink);cursor:pointer;transition:all .12s}.document-inventory button:hover{border-color:var(--brand-soft)}.document-inventory small{color:var(--muted)}.document-review-layout{display:grid;grid-template-columns:minmax(420px,1.1fr) minmax(360px,.9fr);gap:20px;align-items:start}.page-viewer{position:sticky;top:20px;background:var(--panel-soft);border:1px solid var(--line);border-radius:12px;padding:12px}.page-viewer img{display:block;width:100%;max-height:720px;object-fit:contain;background:#fff;border-radius:7px}.page-viewer>small{display:block;color:var(--muted);margin-top:9px}.page-tabs{display:flex;gap:6px;overflow-x:auto;margin-bottom:10px}.page-tabs button{white-space:nowrap;border:1px solid var(--line);background:var(--panel);color:var(--muted);border-radius:999px;padding:7px 12px;cursor:pointer;font-size:10.5px;font-weight:700;transition:all .12s}.page-tabs button:hover{color:var(--ink)}.preview-placeholder{min-height:520px;display:grid;place-items:center;color:var(--muted);background:var(--bg-soft);border-radius:7px}.field-review-list{display:grid;gap:11px;max-height:790px;overflow:auto;padding-right:4px}.field-review-list article{border:1px solid var(--line);border-radius:12px;padding:14px;background:var(--panel-soft)}.field-review-list article.pending{border-left:4px solid var(--warn)}.field-review-list article.reviewed{border-left:4px solid var(--ok)}.field-review-list article>div:first-child{display:flex;justify-content:space-between;gap:14px}.field-review-list small,.field-review-list blockquote{display:block;color:var(--muted);font-size:11.5px}.field-review-list blockquote{margin:10px 0;padding:9px;background:var(--bg-soft);border-left:2px solid var(--brand);border-radius:0 8px 8px 0}.field-review-list label{display:grid;gap:5px;color:var(--muted);font-size:10.5px;margin-top:8px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.field-review-list .learning-check{display:flex;align-items:center;gap:7px}.field-review-list .learning-check input{width:auto}.review-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}.review-actions button{border:1px solid var(--line);background:var(--panel);color:var(--ink);border-radius:8px;padding:7px 11px;cursor:pointer;font-weight:650;font-size:12.5px;transition:all .12s}.review-actions button:hover{border-color:var(--brand-soft)}.review-actions button.primary{background:var(--brand);border:0;color:#fff}.timeline{display:grid;gap:0;margin-top:20px}.timeline article{display:grid;grid-template-columns:120px 1fr;gap:20px;padding:20px 0;border-top:1px solid var(--line)}.timeline .year{display:grid;align-content:start;gap:5px;border-right:3px solid var(--brand)}.timeline .year strong{font-size:26px;font-weight:750;font-family:var(--mono)}.timeline .year span{color:var(--muted);font-size:10.5px}.timeline h3{margin:0;font-size:16px}.timeline p{color:var(--muted);font-size:11.5px}.change-list{display:grid;grid-template-columns:repeat(2,1fr);gap:6px}.change-list small{background:var(--panel-soft);border:1px solid var(--line);border-radius:7px;padding:7px}.rule-pack-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:18px 0}.rule-pack{border:1px solid var(--line);border-radius:12px;padding:14px;display:grid;gap:8px;background:var(--panel-soft)}.rule-pack.review_required{border-left:4px solid var(--warn)}.rule-pack.approved{border-left:4px solid var(--ok);background:var(--ok-bg)}.rule-pack small,.rule-pack p{color:var(--muted);font-size:10.5px;margin:0;line-height:1.4}.strategy-selection{display:grid;grid-template-columns:repeat(2,1fr);gap:9px;margin:12px 0 20px}.strategy-selection>label{display:grid;grid-template-columns:1fr 160px;gap:7px 10px;align-items:center;border:1px solid var(--line);border-radius:10px;padding:10px;color:var(--muted);font-size:11.5px;background:var(--panel-soft)}.strategy-selection>label.selected{border-color:var(--brand);background:var(--info-bg);color:var(--ink)}.strategy-selection input[type=checkbox]{width:auto}.strategy-selection select,.strategy-selection textarea{grid-column:1 / -1}.strategy-selection textarea{min-height:62px}.strategy-selection small{grid-column:1 / -1;color:var(--muted)}.business-strategy-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:12px 0 20px}.business-strategy{border:1px solid var(--line);border-radius:12px;padding:13px;background:var(--panel-soft)}.business-strategy.selected{border-color:var(--brand);background:var(--info-bg)}.strategy-toggle{display:flex;align-items:center;gap:8px;color:var(--ink);font-weight:650}.strategy-toggle input{width:auto}.business-strategy-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:12px}.business-strategy-fields label{color:var(--muted);font-size:11.5px}.business-strategy-fields input,.business-strategy-fields select{margin-top:4px}.training-workbench{margin-top:16px;padding-top:16px;border-top:1px solid var(--line)}.training-label-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:12px 0 18px}.training-label-grid article{border:1px solid var(--line);border-radius:12px;padding:11px;background:var(--panel-soft)}.training-label-grid article.reviewed{border-color:var(--ok);background:var(--ok-bg)}.training-label-grid article>div{display:grid;grid-template-columns:1fr 190px;gap:9px;align-items:center}.training-label-grid b{text-transform:capitalize;color:var(--ink)}.training-label-grid label{display:block;margin-top:8px;color:var(--muted);font-size:11.5px}.training-label-grid textarea{min-height:68px;margin-top:4px}.privacy-attestations{display:grid;gap:8px;padding:13px;margin:14px 0;border:1px solid var(--line);border-left:4px solid var(--info);border-radius:12px;background:var(--info-bg)}.privacy-attestations label{display:flex;gap:8px;align-items:flex-start;color:var(--info)}.privacy-attestations input{width:auto;margin-top:2px}details{margin-top:18px;border-top:1px solid var(--line);padding-top:12px}summary{cursor:pointer;color:var(--brand-soft);font-weight:650;font-size:13px}.plan-list{display:grid;gap:10px;margin:18px 0}.plan-list article{display:grid;grid-template-columns:44px 1fr;gap:12px;padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--panel-soft)}.plan-list .rank{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:linear-gradient(135deg,#4dabf7,#3b5bdb);color:#fff;font-weight:800;font-size:14px;box-shadow:0 4px 14px -4px #3b5bdbb3}.plan-list h3{margin:0;font-size:16px;text-transform:capitalize}.plan-list p,.plan-list small,.plan-list em{display:block;color:var(--muted);font-size:11.5px}.plan-list em{margin-top:6px;color:var(--warn)}@media (max-width: 1150px){.document-review-layout{grid-template-columns:1fr}.page-viewer{position:static}.strategy-selection,.business-strategy-grid,.training-label-grid{grid-template-columns:1fr}}@media (max-width: 900px){.shell{grid-template-columns:1fr}aside{padding:18px}.brand{padding-bottom:18px}nav{grid-template-columns:repeat(5,minmax(max-content,1fr));overflow-x:auto;padding-bottom:4px}nav button{text-align:center;white-space:nowrap}.security{margin-top:14px;padding-top:14px}main{max-width:none;padding:26px 24px}.metrics,.result-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 700px){aside{padding:16px 14px}.brand{padding:0 4px 14px}nav{grid-template-columns:repeat(2,minmax(0,1fr))}nav button{text-align:left;white-space:normal}main{padding:22px 14px}header{align-items:flex-start;flex-direction:column;gap:12px}h1{font-size:25px}.client-chip{align-self:flex-start}.hero{margin-top:20px;padding:22px 20px;align-items:flex-start;flex-direction:column;gap:18px}.score{align-self:flex-start}.panel{padding:20px 16px}.panel-title{align-items:flex-start;flex-wrap:wrap;gap:12px}.form-grid,.inline-form,.classification-card,.mapping-row,.coverage-grid,.document-inventory,.rule-pack-grid,.business-strategy-fields,.training-label-grid article>div{grid-template-columns:1fr}.inline-form{align-items:stretch}.form-action{justify-content:flex-start}.mapping-row.heading{display:none}.mapping-row div:last-child{justify-items:stretch}.mapping-row button{width:100%}.row{grid-template-columns:1fr;gap:6px}.row.heading{display:none}.control-list>div{align-items:flex-start;flex-direction:column;gap:5px}.control-list small{text-align:left}.connection-alert{align-items:flex-start;flex-direction:column}.timeline article{grid-template-columns:1fr;gap:12px}.timeline .year{padding-bottom:10px;border-right:0;border-bottom:3px solid var(--brand)}.strategy-selection>label{grid-template-columns:1fr auto}}@media (max-width: 480px){.metrics,.result-grid,.change-list{grid-template-columns:1fr}.metrics article{padding:16px}.panel{border-radius:14px}.document-picker{grid-template-columns:1fr}.document-picker span{white-space:normal;overflow-wrap:anywhere}.candidate-list>div,.opportunity-list>button{grid-template-columns:1fr}.plan-list article{grid-template-columns:38px minmax(0,1fr)}}
