:root{--navy:#081a2f;--blue:#134f7f;--gold:#d6aa4a;--cream:#f7f4ed;--ink:#102033;--muted:#526579;--line:#dde4ea;--green:#18734d}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:#f6f8fa;font:15px/1.6 system-ui,-apple-system,"Segoe UI",sans-serif}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:4px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--blue)}.hero button:focus-visible,.hero a:focus-visible,.hero input:focus-visible,.hero select:focus-visible,.hero textarea:focus-visible{outline-color:#fff}a{color:var(--blue)}button{cursor:pointer;border:1px solid transparent;border-radius:8px;padding:10px 17px;background:var(--navy);color:white;font-weight:650}button:disabled{opacity:.55;cursor:wait}button.secondary{background:var(--cream);color:var(--ink);border-color:#ddd6c7}button.outline{background:transparent;color:var(--ink);border-color:var(--line)}button.danger{background:#8f2435}.preview{background:#f4e5bd;text-align:center;padding:7px 15px;font-size:11px;letter-spacing:.06em;color:#493b18;font-weight:700}header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px max(24px,calc((100vw - 1220px)/2));background:#fff;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font:600 24px/1.2 Georgia,serif;color:var(--navy)}.mark{display:grid;place-items:center;background:var(--navy);color:var(--gold);width:43px;height:46px;border-radius:9px;font-size:31px}.brand small{display:block;font:600 8px/1.5 system-ui;letter-spacing:.19em;margin-top:5px}nav{display:flex;align-items:center;gap:25px}nav a{font-size:13px;text-decoration:none}main{max-width:1220px;min-height:75vh;margin:auto;padding:34px 24px 64px}.hero{display:grid;grid-template-columns:1.15fr 1fr;gap:60px;background:var(--navy);color:white;border-radius:20px;padding:60px 52px;position:relative;overflow:hidden}.eyebrow{color:#8f6500;font-size:11px;text-transform:uppercase;letter-spacing:.2em;font-weight:700}h1{font:400 clamp(34px,4.3vw,57px)/1.1 Georgia,serif;letter-spacing:-.02em;margin:18px 0}h2{font:400 29px/1.2 Georgia,serif;margin:0 0 18px}h3{margin:0 0 10px;font-size:17px}p{margin:10px 0 20px}.hero p{color:#c1cddd;max-width:450px}.hero button{background:var(--gold);color:var(--navy)}.hero .quiet{font-size:12px;color:#bac6d5;margin-top:18px}.journey{background:#112a43;border:1px solid #38506a;border-radius:14px;padding:28px}.journey .step{display:flex;gap:17px;padding:18px 0;border-bottom:1px solid #2e435b}.journey .step:last-child{border:0}.number{font:24px Georgia,serif;color:var(--gold)}.step p{font-size:12px;margin:4px 0 0}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin:40px 0 20px}.section-heading h2{margin:0}.muted{color:var(--muted)}.small{font-size:12px}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.card{background:white;border:1px solid var(--line);border-radius:13px;padding:23px}.card .top{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px}.code{font:27px Georgia,serif;color:var(--blue)}.badge{font-size:10px;letter-spacing:.05em;text-transform:uppercase;padding:4px 9px;background:#f0f3f6;border-radius:5px;color:#445569;font-weight:750;display:inline-block}.badge.green{background:#e4f2e9;color:#166039}.badge.amber{background:#fff2d5;color:#745519}.card p{font-size:13px;color:var(--muted)}.bar{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.bar input{flex:1;min-width:180px}.bar select{min-width:170px}.toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:28px}.workspace{display:grid;grid-template-columns:190px 1fr;gap:28px}.sidebar{display:flex;flex-direction:column;gap:8px;padding-top:8px}.sidebar button{text-align:left;background:transparent;color:var(--muted);font-size:13px}.sidebar button.selected{background:white;color:var(--navy);border-color:var(--line)}.sidebar .identity{padding:12px 14px;margin-bottom:18px;border-bottom:1px solid var(--line)}.sidebar .identity strong{display:block}.sidebar .identity span{font-size:11px;word-break:break-all}.list{display:flex;flex-direction:column;gap:13px}.case-row{display:grid;grid-template-columns:1fr auto;gap:20px}.case-row h3{font-size:16px}.case-row p{margin:4px 0}.empty{padding:48px 25px;text-align:center;border:1px dashed #c7d3df;border-radius:14px;background:white}.empty p{max-width:480px;margin:14px auto 24px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;margin-bottom:23px}.stat{padding:20px;background:white;border:1px solid var(--line);border-radius:12px}.stat strong{display:block;font:30px Georgia,serif}.stat span{font-size:12px;color:var(--muted)}label{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:650;margin-bottom:16px}input,select,textarea{width:100%;border:1px solid #718396;border-radius:7px;background:white;padding:10px 11px;color:var(--ink);min-height:43px}textarea{min-height:100px;resize:vertical}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.form-grid .wide{grid-column:1/-1}.check{flex-direction:row;align-items:flex-start;font-weight:400}.check input{width:17px;min-height:17px;flex:none;margin-top:3px}.form-note{padding:14px 16px;background:var(--cream);border-radius:8px;font-size:12px;margin-bottom:20px}.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}.split{display:grid;grid-template-columns:1.4fr 1fr;gap:22px}.panel{margin-bottom:20px}.panel h2{font-size:23px}.gates{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:22px 0}.gate{padding:13px;background:#edf1f5;border:1px solid var(--line);border-radius:9px;font-size:12px}.gate.yes{background:#e4f2e9;border-color:#b6d9c1}.gate b{display:block;font-size:18px}.requirement{padding:15px 0;border-bottom:1px solid var(--line)}.requirement p{margin:5px 0;font-size:12px}.requirement a{font-size:11px;overflow-wrap:anywhere}.empty-line{font-size:13px;color:var(--muted);padding:18px 0}.tabs{display:flex;gap:8px;margin:24px 0;flex-wrap:wrap}.tabs button{background:white;border-color:var(--line);color:var(--ink);font-size:12px}.tabs button.selected{background:var(--navy);color:white}.alert{background:#fff4da;border:1px solid #ead5a3;border-radius:8px;padding:16px;font-size:13px}.error{background:#fbe7e9;border-color:#eac0c6;color:#8f2435}.success{background:#e4f2e9;color:#166039}#notice:not(:empty){position:fixed;top:100px;left:50%;transform:translateX(-50%);z-index:20;max-width:90vw;box-shadow:0 5px 20px #0002;padding:13px 20px;border-radius:8px;background:var(--navy);color:white}dialog{border:0;border-radius:16px;box-shadow:0 25px 100px #0004;padding:34px;width:min(570px,94vw);max-height:90vh}dialog::backdrop{background:#06192faa;backdrop-filter:blur(3px)}.close{position:absolute;right:12px;top:8px;color:var(--muted);background:transparent;font-size:25px;padding:2px 10px}dialog h2{margin-right:20px}.loading{text-align:center;padding:100px}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:12px}th,td{text-align:left;padding:12px;border-bottom:1px solid var(--line);vertical-align:top}pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px}footer{border-top:1px solid var(--line);padding:26px 24px;display:flex;justify-content:space-between;gap:20px;font-size:11px;color:var(--muted);background:white}.skip{position:absolute;left:12px;top:-70px;z-index:100;background:white;padding:10px}.skip:focus{top:8px}.demo{margin-top:24px;border-top:1px solid var(--line);padding-top:16px}.demo summary{font-size:12px;cursor:pointer}.demo .bar{margin-top:14px}.file-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}.progress{height:7px;background:#e6edf3;border-radius:10px;overflow:hidden;margin-top:12px}.progress span{display:block;background:var(--green);height:100%}.route-list{margin-top:20px}.hidden{display:none!important}@media(max-width:900px){header{padding:18px 24px}nav{gap:12px}nav a:nth-child(2){display:none}.hero{padding:35px 30px;gap:25px}.grid{grid-template-columns:repeat(2,1fr)}.workspace{grid-template-columns:150px 1fr;gap:16px}.split{grid-template-columns:1fr}.gates{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){main{padding:22px 16px 45px}header{padding:15px 16px}.brand{font-size:20px}.brand small{font-size:7px}nav a{display:none}.hero{grid-template-columns:1fr;padding:29px 24px}.journey{padding:18px}.grid{grid-template-columns:1fr}.workspace{grid-template-columns:1fr}.sidebar{flex-direction:row;flex-wrap:wrap;gap:4px}.sidebar .identity{width:100%;margin:0;padding:0 5px 12px}.sidebar button{padding:9px}.form-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}.toolbar{align-items:start}.toolbar h1{font-size:32px;margin:0}.stats{gap:8px}.stat{padding:13px}.stat strong{font-size:25px}.card{padding:19px}.case-row{grid-template-columns:1fr}.section-heading{align-items:start;flex-direction:column}footer{flex-direction:column;gap:7px}.gates{gap:7px}.bar{align-items:stretch}.bar select{min-width:0}.preview{font-size:9px}dialog{padding:29px 22px}}

#dialog-notice:not([hidden]){position:sticky;top:0;z-index:2;background:#fff2d5;border:2px solid #b98625;margin:12px 0 18px;padding:14px;box-shadow:0 3px 12px #0002}#dialog-notice[hidden]{display:none}button[disabled][title]{cursor:not-allowed}

.workspace>*{min-width:0}.table-wrap{max-width:100%}input,select,textarea{min-width:0}
@media(max-width:600px){.toolbar{flex-wrap:wrap}.toolbar>div{min-width:0}.toolbar h1{overflow-wrap:anywhere}}

/* Governance hashes and evidence must remain readable on narrow screens. */
.model-record { min-width: 0; overflow-wrap: anywhere; }

.privacy-history-line { overflow-wrap: anywhere; }

/* Keyboard bypass targets and active controls retain visible contrast. */
#main:focus,#workspace-content:focus{outline:3px solid var(--blue);outline-offset:5px}
.hero .eyebrow{color:var(--gold)}
button.outline:not(:disabled),button.secondary:not(:disabled),.tabs button:not(:disabled){border-color:#718396}
.sidebar button[aria-current="page"]{border-color:var(--blue);border-inline-start:4px solid var(--blue)}

[data-page-status]:focus{outline:3px solid var(--blue);outline-offset:4px}

/* Keep authenticated identity and controls within narrow CSS viewports. */
@media(max-width:600px){header{flex-wrap:wrap;align-items:flex-start}header nav{flex:1 1 160px;min-width:0;max-width:100%;flex-wrap:wrap;justify-content:flex-end}#signed-in-profile{min-width:0;flex:1 1 140px;overflow-wrap:anywhere}#signed-in-profile:empty{display:none}#account-button{flex:none}}
