:root{--nav:#0f3557;--nav2:#153f64;--ink:#17202a;--muted:#64748b;--line:#d7dee7;--soft:#f4f7fa;--blue:#1d5f91;--red:#b42332;--redsoft:#fff0f1;--green:#167a4a;--gold:#c48b16;--shadow:0 8px 24px rgba(15,53,87,.08)}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Arial,"Segoe UI",sans-serif;color:var(--ink);background:#eef3f7}button,input,select{font:inherit}.hidden{display:none!important}.app-shell{min-height:100vh;display:grid;grid-template-columns:82px 1fr}.rail{position:sticky;top:0;height:100vh;background:var(--nav);color:white;display:flex;flex-direction:column;align-items:center;padding:14px 8px;gap:10px;z-index:5}.brand-mark{width:48px;height:48px;border-radius:15px;background:#fff;color:var(--nav);display:grid;place-items:center;font-size:28px;font-weight:900;margin-bottom:16px}.rail-step,.rail-link{width:64px;border:0;background:transparent;color:#cfe0ef;padding:8px 4px;border-radius:10px;text-align:center;text-decoration:none;cursor:pointer}.rail-step span{display:grid;place-items:center;margin:auto;width:28px;height:28px;border:1px solid #8eb0cc;border-radius:50%;font-weight:700}.rail-step small{display:block;font-size:10px;margin-top:5px}.rail-step.active{background:#fff;color:var(--nav)}.rail-step.active span{border-color:var(--nav)}.rail-link{font-size:11px;border:1px solid #567894;margin-top:auto}.rail-version{font-size:10px;color:#92afc6}.main{min-width:0}.topbar{height:86px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:16px 28px;position:sticky;top:0;z-index:4}.topbar h1{margin:0;font-size:26px;letter-spacing:.08em;color:var(--nav)}.topbar p{margin:3px 0 0;color:var(--muted);font-size:12px}.top-actions{display:flex;align-items:center;gap:10px}.privacy-badge{background:#edf7f2;color:#146c43;border:1px solid #bfe4d2;border-radius:999px;padding:7px 10px;font-size:12px}.step-panel{display:none;padding:24px 28px 60px;max-width:1840px;margin:auto}.step-panel.active{display:block}.step-title{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:18px}.step-title h2{margin:2px 0 0;font-size:28px;color:var(--nav)}.eyebrow{font-size:11px;font-weight:800;letter-spacing:.12em;color:var(--blue)}.muted,.hint{color:var(--muted)}.hint{font-size:12px;line-height:1.45}.intake-grid{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:16px}.card{background:#fff;border:1px solid var(--line);border-radius:13px;box-shadow:var(--shadow);padding:18px}.card.compact{padding:12px}.card h3{margin:0 0 10px;color:var(--nav);font-size:16px}.card h4{margin:8px 0;font-size:13px}.optional{font-weight:400;color:var(--muted);font-size:11px}.dropzone{height:120px;border:1.5px dashed #95aac0;border-radius:12px;background:#f7fafc;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;cursor:pointer;color:var(--nav)}.dropzone.drag{background:#eaf2f8;border-color:var(--blue)}.dropzone span{font-size:12px;color:var(--muted);margin-top:8px;max-width:90%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-pill{display:inline-flex;border:1px solid var(--line);border-radius:9px;padding:9px 12px;background:#f8fafc;color:var(--nav);font-size:12px;font-weight:700;cursor:pointer}.mini-status{font-size:12px;color:var(--muted);margin-top:10px}.row-actions{display:flex;gap:8px;align-items:center;margin-top:12px;flex-wrap:wrap}.btn{border:1px solid transparent;border-radius:8px;padding:9px 13px;cursor:pointer;font-weight:700;background:#fff;color:var(--nav)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.primary{background:var(--nav);color:#fff}.btn.ghost{border-color:var(--line);background:#fff}.btn.small{padding:7px 9px;font-size:12px}.btn.large{padding:11px 18px}.btn.full{width:100%;margin-top:7px}.separator{height:1px;background:var(--line);margin:12px 0}.purview-help{margin:16px 0;background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px 16px}.purview-help summary{cursor:pointer;font-weight:700;color:var(--nav)}.purview-help p{font-size:12px;color:var(--muted)}.purview-shots{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.purview-shots figure{margin:0;border:1px solid var(--line);border-radius:10px;padding:8px;background:#fafafa}.purview-shots img{width:100%;height:220px;object-fit:contain;background:#111}.purview-shots figcaption{font-size:11px;text-align:center;margin-top:6px;color:var(--muted)}.cohort-box{margin-top:10px;max-height:260px;overflow:auto;border-top:1px solid var(--line);padding-top:8px}.cohort-group{margin-bottom:10px}.cohort-group strong{font-size:11px;text-transform:uppercase;color:var(--muted)}.chip-grid{display:flex;flex-wrap:wrap;gap:5px;margin-top:6px}.check-chip{font-size:11px}.check-chip input{display:none}.check-chip span{display:inline-block;border:1px solid var(--line);padding:5px 8px;border-radius:999px;cursor:pointer;background:#fff}.check-chip input:checked+span{background:var(--nav);color:#fff;border-color:var(--nav)}.progress-card{background:#fff;border:1px solid var(--line);padding:14px 16px;border-radius:12px;margin:16px 0}.progress-head{display:flex;justify-content:space-between;align-items:center;font-size:12px;margin-bottom:7px}.progress{height:10px;border-radius:999px;background:#e7edf3;overflow:hidden}.progress>div{height:100%;width:0;background:var(--blue);transition:width .15s linear}.progress-card small,.mark-grid small{display:block;margin-top:6px;color:var(--muted)}.verify-layout{display:grid;grid-template-columns:210px 150px minmax(0,1fr);gap:12px;min-height:680px;margin-top:16px}.stats-list{margin:0}.stats-list div{display:flex;justify-content:space-between;padding:6px 0;border-bottom:1px solid #edf1f5}.stats-list dt{font-size:11px;color:var(--muted)}.stats-list dd{margin:0;font-weight:800}.script-nav{display:flex;flex-direction:column;min-height:0}.nav-head{display:flex;justify-content:space-between;align-items:center}.nav-head h3{margin:0}.nav-head span{font-size:11px;color:var(--muted)}.script-list{margin-top:8px;overflow:auto;max-height:710px}.script-item{width:100%;border:0;border-left:3px solid transparent;background:transparent;text-align:left;padding:8px 6px;font-size:11px;cursor:pointer;color:#334155;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.script-item:hover,.script-item.active{background:#edf4f8}.script-item.review{color:var(--red);font-weight:800;border-left-color:var(--red)}.script-item.missing{font-style:italic}.script-detail{min-width:0}.review-banner{background:var(--redsoft);border:1px solid #efb7bd;color:var(--red);padding:9px 12px;border-radius:8px;margin-bottom:12px;font-weight:800;font-size:12px}.empty-state{display:grid;place-items:center;min-height:500px;color:var(--muted)}.inspector-top{display:grid;grid-template-columns:minmax(380px,1.7fr) minmax(260px,.8fr);gap:16px}.page-view{position:relative;background:#dfe5ea;border:1px solid var(--line);border-radius:10px;display:grid;place-items:center;min-height:430px;overflow:auto}.page-view canvas{display:block;max-width:100%;height:auto;background:#fff;box-shadow:0 3px 12px rgba(0,0,0,.14)}.canvas-busy{position:absolute;inset:0;background:rgba(255,255,255,.72);display:grid;place-items:center;font-weight:700;color:var(--nav)}.identity-panel{border-left:1px solid var(--line);padding-left:14px}.identity-panel label,.key-toolbar label{display:flex;flex-direction:column;gap:4px;font-size:11px;color:var(--muted);margin-bottom:9px}.identity-panel input,.key-toolbar input,.key-toolbar select{border:1px solid var(--line);padding:8px;border-radius:7px;background:#fff;color:var(--ink)}.identity-machine,.candidate-name{padding:8px 10px;background:#f5f7f9;border-radius:8px;margin-bottom:10px}.identity-machine span,.candidate-name span,.name-crop>span{display:block;font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.identity-machine strong,.candidate-name strong{display:block;margin-top:3px}.name-crop{margin-top:12px}.name-crop canvas{width:100%;height:92px;object-fit:contain;border:1px solid var(--line);background:#fff;margin-top:5px}.candidate-actions{margin-top:10px;display:flex;gap:7px;flex-wrap:wrap}.answers-head{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);margin-top:16px;padding-top:12px}.answers-head h3{margin-bottom:2px}.answers-head p{margin:0}.answer-grid{display:grid;grid-template-columns:repeat(5,minmax(150px,1fr));gap:7px;margin-top:8px;max-height:360px;overflow:auto;padding-right:4px}.answer-row{border:1px solid var(--line);border-radius:8px;padding:6px;background:#fff;display:flex;align-items:center;gap:5px}.answer-row.review{border-color:#e7a0a8;background:#fff7f8}.qnum{width:26px;font-size:11px;font-weight:800;color:var(--nav)}.choice{min-width:26px;height:26px;border:1px solid var(--line);border-radius:50%;background:#fff;cursor:pointer;font-size:11px;padding:0}.choice.selected{background:var(--nav);border-color:var(--nav);color:#fff}.choice.detected:not(.selected){box-shadow:inset 0 0 0 2px #8899aa}.choice.warn{border-color:var(--red);color:var(--red)}.choice.blank{border-radius:7px;width:auto;padding:0 5px}.edit-star{color:var(--blue);font-weight:900}.step-footer{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}.key-toolbar{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap}.key-toolbar label{margin:0;min-width:140px}.key-card{margin-top:14px}.table-wrap{overflow:auto;max-height:620px}table{border-collapse:collapse;width:100%}th,td{border-bottom:1px solid var(--line);padding:7px;text-align:left;font-size:12px}th{position:sticky;top:0;background:#f5f7f9;color:var(--nav);z-index:1}td input{width:100%;border:1px solid transparent;padding:6px;border-radius:5px;background:#f8fafc}td input:focus{outline:2px solid #afcee5;background:#fff}.mark-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.summary-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-top:16px}.summary-tile{background:#fff;border:1px solid var(--line);border-radius:10px;padding:14px}.summary-tile span{font-size:10px;text-transform:uppercase;color:var(--muted)}.summary-tile strong{display:block;font-size:24px;color:var(--nav);margin-top:4px}.export-files{margin-top:16px;display:flex;gap:8px;flex-wrap:wrap}.export-files h3{width:100%}.export-files code{background:#f2f5f7;padding:8px;border-radius:6px;font-size:11px}.fatal{position:fixed;inset:0;background:#fff5f5;color:#8b1e2b;padding:40px;z-index:99;font-weight:700}.dialog-card{border:0;min-width:620px;max-width:900px}.dialog-card.wide{min-width:min(900px,90vw)}dialog{border:0;border-radius:12px;box-shadow:0 20px 60px rgba(0,0,0,.2)}dialog::backdrop{background:rgba(15,23,42,.42)}.dialog-head,.dialog-foot{display:flex;justify-content:space-between;align-items:center;gap:10px}.dialog-head{border-bottom:1px solid var(--line);padding-bottom:10px}.dialog-foot{border-top:1px solid var(--line);padding-top:10px;margin-top:12px}.icon-btn{border:0;background:transparent;font-size:24px;cursor:pointer}.missing-list{max-height:500px;overflow:auto}.missing-row{display:flex;justify-content:space-between;align-items:center;padding:8px;border-bottom:1px solid var(--line)}.missing-row.absent{background:#f7faf8}.preset-row{display:grid;grid-template-columns:1fr auto auto auto;gap:8px;align-items:center;padding:7px 0;border-bottom:1px solid var(--line)}
@media(max-width:1200px){.intake-grid{grid-template-columns:1fr}.verify-layout{grid-template-columns:180px 130px 1fr}.answer-grid{grid-template-columns:repeat(3,1fr)}.inspector-top{grid-template-columns:1fr}.identity-panel{border-left:0;border-top:1px solid var(--line);padding:12px 0 0}.purview-shots img{height:150px}}

/* RC1.1+ mode controls */
.mode-toggle{min-width:260px!important;display:flex!important;flex-direction:row!important;align-items:center!important;gap:9px!important;border:1px solid var(--line);border-radius:9px;padding:8px 10px;background:#f8fafc;cursor:pointer}
.mode-toggle input{width:18px;height:18px;margin:0}
.mode-toggle span{display:flex;flex-direction:column;gap:2px;color:var(--nav)}
.mode-toggle small{font-size:10px;font-weight:400;color:var(--muted);line-height:1.25}
body.survey-mode .exam-only{display:none}
body.survey-mode #keyTable td.exam-only{display:none}
.export-file-list{display:flex;gap:8px;flex-wrap:wrap}

.local-processing-note{display:flex;gap:10px;align-items:flex-start;margin:16px 0;padding:11px 14px;border:1px solid #bfe4d2;border-radius:10px;background:#edf7f2;color:#285b45;font-size:12px;line-height:1.4}.local-processing-note strong{white-space:nowrap;color:#146c43}


/* RC1.1.1 polish: product mark, prominent OAS, dense spreadsheet key grid */
.brand-mark{overflow:hidden;padding:2px}.brand-mark img{display:block;width:100%;height:100%;object-fit:contain}.brand-lockup{display:flex;align-items:center;gap:10px}.product-icon{width:44px;height:44px;border-radius:10px}.oas-banner{display:grid;grid-template-columns:72px minmax(0,1fr) auto;gap:16px;align-items:center;margin:0 0 18px;padding:16px 18px;border:1px solid #efb7bd;border-radius:14px;background:linear-gradient(90deg,#fff2f4 0%,#fff 65%);box-shadow:var(--shadow)}.oas-banner-mark{width:64px;height:64px;border-radius:14px;background:var(--red);color:#fff;display:grid;place-items:center;align-content:center;line-height:1}.oas-banner-mark span{font-size:25px;font-weight:900}.oas-banner-mark small{font-size:9px;letter-spacing:.08em;margin-top:4px}.oas-banner-copy h2{margin:2px 0 3px;color:var(--red);font-size:24px}.oas-banner-copy p{margin:0;color:var(--muted);font-size:12px}.oas-banner-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.oas-banner-actions a{text-decoration:none}.key-table-wrap{max-height:620px;border:1px solid #cbd5e1;background:#fff}.key-table-wrap #keyTable{table-layout:fixed;border-collapse:collapse;width:430px;min-width:430px}.key-table-wrap #keyTable th,.key-table-wrap #keyTable td{border:1px solid #d9e0e8;padding:0;height:29px}.key-table-wrap #keyTable th{padding:5px 7px;height:31px;background:#eef3f7}.key-table-wrap #keyTable th:nth-child(1){width:64px}.key-table-wrap #keyTable th:nth-child(2){width:145px}.key-table-wrap #keyTable th:nth-child(3){width:145px}.key-table-wrap #keyTable input{height:28px;width:100%;margin:0;padding:3px 7px;border:0;border-radius:0;background:#fff}.key-table-wrap #keyTable input:focus{outline:2px solid #77a9d0;outline-offset:-2px;background:#fff}.key-table-wrap #keyTable input[data-field="q"]{text-align:center;font-weight:700;background:#f8fafc;color:var(--nav)}.key-table-wrap #keyTable tr.beyond-declared td{background:#fafbfc}.key-table-wrap #keyTable tr.beyond-declared input:not([data-field="q"]){background:#fafbfc;color:#94a3b8}.key-table-wrap #keyTable tr.beyond-declared input[data-field="q"]{color:#94a3b8}.key-table-wrap #keyTable tr:not(.beyond-declared) td:first-child{box-shadow:inset 3px 0 0 var(--blue)}
@media(max-width:900px){.oas-banner{grid-template-columns:60px 1fr}.oas-banner-actions{grid-column:1/-1;justify-content:flex-start}}
