:root{--tkc-navy:#003865;--tkc-gold:#c5b783;--tkc-red:#862633;--tkc-green:#4a783c;--navy-900:#00223e;--navy-600:#1a4f7a;--navy-100:#d5e0ec;--navy-50:#eef3f8;--gold-700:#9a8b5d;--gold-300:#ddd1ad;--gold-100:#f0e9d5;--gold-50:#faf6ea;--cream-50:#fbf8f1;--cream-100:#f6f1e4;--stone-100:#ece8de;--stone-300:#c8c2b2;--stone-500:#8a8576;--stone-700:#4d4a40;--ink-900:#1a1c20;--surface:#fff;--fg-2:#43464c;--border:#1a1c201a;--border-strong:#1a1c202e;--shadow-sm:0 1px 2px #281e0a0f, 0 1px 3px #281e0a0a;--shadow-md:0 4px 12px #281e0a14, 0 2px 4px #281e0a0a;--shadow-lg:0 16px 32px #281e0a1a, 0 4px 12px #281e0a0f;--radius-sm:4px;--radius-md:8px;--radius-lg:16px;--radius-pill:999px;--tracking-snug:-.01em;--tracking-wider:.12em;--font-sans:"Montserrat", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--font-serif:"Lora", Georgia, serif}@font-face{font-family:Montserrat;src:url(/brand/fonts/Montserrat-Regular.ttf)format("truetype");font-weight:400;font-display:swap}@font-face{font-family:Montserrat;src:url(/brand/fonts/Montserrat-SemiBold.ttf)format("truetype");font-weight:600;font-display:swap}@font-face{font-family:Montserrat;src:url(/brand/fonts/Montserrat-Bold.ttf)format("truetype");font-weight:700;font-display:swap}@font-face{font-family:Lora;src:url(/brand/fonts/Lora-Regular.ttf)format("truetype");font-weight:400;font-display:swap}*{box-sizing:border-box}html{background:var(--cream-50);color:var(--ink-900);font-family:var(--font-sans);scroll-behavior:smooth}body{background:linear-gradient(90deg, #00386509 1px, transparent 1px), var(--cream-50);background-size:72px 72px;min-height:100vh;margin:0}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--tkc-gold);outline-offset:2px}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}svg{flex:none;width:1.25rem;height:1.25rem}.app-shell{min-height:100vh}.topbar{background:var(--tkc-navy);color:#fff;z-index:30;grid-template-columns:minmax(260px,1fr) auto auto;align-items:center;height:76px;padding:0 28px;display:grid;position:fixed;top:0;left:0;right:0}.brand{color:#fff;text-align:left;background:0 0;border:0;align-items:center;gap:15px;padding:0;display:flex}.brand img{object-fit:contain;width:58px;height:48px}.brand span{font-size:1.02rem;font-weight:600;line-height:1.15}.brand small{color:#ffffffa8;letter-spacing:.16em;margin-bottom:5px;font-size:.63rem;display:block}.connection{color:#ffffffb8;align-items:center;gap:7px;margin-right:28px;font-size:.76rem;display:flex}.connection>span{background:#8fc57d;border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 4px #8fc57d1f}.connection>span.offline{background:#e1ba62}.connection b{color:#fff;background:#ffffff1f;border-radius:999px;margin-left:4px;padding:4px 8px;font-size:.68rem}.identity{text-align:right;border-left:1px solid #ffffff2e;flex-direction:column;padding-left:24px;line-height:1.25;display:flex}.identity span{font-size:.8rem;font-weight:600}.identity small{color:#ffffff94;font-size:.68rem}.sidebar{border-right:1px solid var(--border);z-index:20;background:#fff;flex-direction:column;justify-content:space-between;width:244px;padding:28px 18px 24px;display:flex;position:fixed;top:76px;bottom:0;left:0}.sidebar nav{gap:8px;display:grid}.sidebar nav button{color:var(--fg-2);text-align:left;background:0 0;border:0;border-radius:8px;align-items:center;gap:12px;padding:13px 14px;font-size:.84rem;font-weight:600;display:flex}.sidebar nav button:hover{background:var(--navy-50)}.sidebar nav button.active{background:var(--tkc-navy);color:#fff}.privacy-note{background:var(--gold-50);border:1px solid var(--gold-300);border-radius:var(--radius-md);color:var(--stone-700);align-items:flex-start;gap:10px;padding:13px;display:flex}.privacy-note svg{color:var(--gold-700);margin-top:1px}.privacy-note strong,.privacy-note span{display:block}.privacy-note strong{color:var(--ink-900);margin-bottom:3px;font-size:.72rem}.privacy-note span{font-size:.66rem;line-height:1.45}.main-content{min-height:100vh;margin-left:244px;padding:118px clamp(28px,4.5vw,72px) 80px}.page-heading{justify-content:space-between;align-items:flex-end;max-width:1180px;margin:0 auto 36px;display:flex}.page-heading.compact{align-items:flex-start}.page-heading>div{max-width:730px}.eyebrow{color:var(--gold-700);letter-spacing:var(--tracking-wider);text-transform:uppercase;margin-bottom:10px;font-size:.68rem;font-weight:600;display:block}h1,h2,h3,p{margin-top:0}h1,h2{color:var(--tkc-navy);letter-spacing:var(--tracking-snug)}h1{font-family:var(--font-serif);margin-bottom:15px;font-size:clamp(2.2rem,5vw,4rem);font-weight:400;line-height:1.04}h2{margin-bottom:8px;font-size:clamp(1.25rem,2vw,1.7rem);line-height:1.18}h3{color:var(--ink-900);font-size:1rem;line-height:1.45}.page-heading p,.form-hero p{color:var(--fg-2);max-width:660px;margin-bottom:0;font-size:.95rem;line-height:1.7}.primary-button,.secondary-button,.danger-button{border-radius:var(--radius-pill);justify-content:center;align-items:center;gap:9px;min-height:44px;padding:11px 17px;font-size:.78rem;font-weight:600;text-decoration:none;transition:background .15s,transform 80ms;display:inline-flex}.primary-button{background:var(--tkc-navy);border:1px solid var(--tkc-navy);color:#fff}.secondary-button{border:1px solid var(--navy-100);color:var(--tkc-navy);background:#fff}.secondary-button:hover{border-color:var(--tkc-navy)}.danger-button{color:var(--tkc-red);background:#fff;border:1px solid #fff}.secondary-button.on-dark{color:#fff;background:0 0;border-color:#ffffff5c}.metric-grid{grid-template-columns:repeat(4,1fr);gap:14px;max-width:1180px;margin:0 auto 26px;display:grid}.metric{border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);background:#fff;min-height:108px;padding:20px;position:relative;overflow:hidden}.metric:before{background:var(--tkc-navy);content:"";width:4px;position:absolute;inset:0 auto 0 0}.metric-green:before{background:var(--tkc-green)}.metric-red:before{background:var(--tkc-red)}.metric-gold:before{background:var(--tkc-gold)}.metric span{color:var(--stone-500);text-transform:uppercase;margin-bottom:13px;font-size:.7rem;font-weight:600;display:block}.metric strong{color:var(--tkc-navy);font-family:var(--font-serif);font-size:2.15rem;font-weight:400;line-height:1}.hub-status-card,.critical-strip{border-radius:var(--radius-md);justify-content:space-between;align-items:center;max-width:1180px;margin:0 auto 26px;padding:28px;display:flex}.hub-status-card{border:1px solid var(--border);box-shadow:var(--shadow-sm);background:#fff}.hub-status-card>div:first-child,.critical-strip>div:first-child{max-width:760px}.hub-status-card h2,.critical-strip h2{margin-bottom:9px}.hub-status-card p,.critical-strip p,.goal-card p,.finding-card p,.snapshot-grid p,.policy-priority-list p{color:var(--fg-2);margin-bottom:0;font-size:.76rem;line-height:1.65}.hub-status-metrics{gap:9px;min-width:210px;margin-left:28px;display:grid}.hub-status-metrics span{background:var(--cream-50);border:1px solid var(--border);color:var(--stone-500);text-transform:uppercase;border-radius:8px;gap:3px;padding:11px 13px;font-size:.66rem;display:grid}.hub-status-metrics strong{color:var(--tkc-navy);font-family:var(--font-serif);text-transform:none;font-size:1.45rem;font-weight:400;line-height:1}.critical-strip{background:var(--navy-900);color:#fff}.critical-strip h2{color:#fff;margin-top:12px}.critical-strip p{color:#ffffffbd}.hub-two-column{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px;max-width:1180px;margin:0 auto;display:grid}.hub-two-column .section-card{max-width:none;margin-left:0;margin-right:0}.hub-list{gap:12px;margin:0;padding:23px 26px 26px;list-style:none;display:grid}.hub-list li{color:var(--fg-2);padding-left:22px;font-size:.76rem;line-height:1.6;position:relative}.hub-list li:before{background:var(--tkc-gold);content:"";border-radius:50%;width:7px;height:7px;position:absolute;top:8px;left:0}.goal-grid,.snapshot-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:24px 26px 26px;display:grid}.goal-card,.snapshot-grid article,.finding-card,.policy-priority-list article{background:var(--cream-50);border:1px solid var(--border);border-radius:var(--radius-md);padding:18px}.goal-card>span,.snapshot-grid span,.policy-priority-list article>span,.evidence-pill,.severity-pill{letter-spacing:.05em;text-transform:uppercase;border-radius:999px;padding:6px 8px;font-size:.6rem;font-weight:700;line-height:1;display:inline-flex}.goal-card>span,.evidence-pill{color:var(--stone-500);background:#fff}.goal-card h3,.policy-priority-list h3{color:var(--tkc-navy);margin:12px 0 8px}.snapshot-grid article{background:#fff}.snapshot-grid span{background:var(--navy-50);color:var(--tkc-navy);margin-bottom:12px}.snapshot-grid strong{color:var(--ink-900);margin-bottom:8px;font-size:.86rem;display:block}.finding-list{gap:12px;padding:22px 26px 26px;display:grid}.finding-card{background:#fff}.finding-card>div{gap:8px;margin-bottom:12px;display:flex}.finding-card h3{color:var(--tkc-navy);margin-bottom:8px}.severity-pill{background:var(--navy-50);color:var(--tkc-navy)}.severity-critical{background:var(--tkc-red);color:#fff}.severity-high{color:var(--tkc-red);background:#f4e3e6}.severity-moderate{background:var(--gold-100);color:#705a23}.severity-low{color:#315829;background:#e4f0e0}.policy-priority-list{gap:12px;padding:22px 26px 26px;display:grid}.policy-priority-list article{grid-template-columns:auto 1fr;align-items:flex-start;gap:14px;display:grid}.policy-priority-list article>span{background:var(--gold-100);color:#705a23;margin-top:3px}.section-card{border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);background:#fff;max-width:1180px;margin:0 auto 26px;overflow:hidden}.cctv-map-page{max-width:1400px;margin:0 auto 90px}.cctv-map-intro{justify-content:space-between;align-items:end;gap:24px;margin:8px 0 24px;display:flex}.cctv-map-intro h1{color:var(--tkc-navy);margin:5px 0 10px;font-size:clamp(1.8rem,3vw,2.8rem)}.cctv-map-intro p{max-width:760px;color:var(--fg-2);margin:0;line-height:1.55}.cctv-map-counts{min-width:166px;color:var(--fg-2);grid-template-columns:auto auto;gap:0 9px;font-size:.8rem;display:grid}.cctv-map-counts strong{color:var(--tkc-navy);font-size:1.5rem;line-height:1.35}.cctv-map-tabs{gap:8px;margin-bottom:15px;display:flex}.cctv-map-tabs button{border:1px solid var(--border-strong);border-radius:var(--radius-pill);color:var(--tkc-navy);cursor:pointer;background:#fff;padding:9px 16px}.cctv-map-tabs button.active{background:var(--tkc-navy);color:#fff}.cctv-map-layout{grid-template-columns:minmax(0,1fr) minmax(280px,340px);align-items:start;gap:18px;display:grid}.cctv-map-card,.cctv-map-editor{border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);background:#fff;overflow:hidden}.cctv-map-canvas{cursor:crosshair;background:#f5f5f2;width:100%;position:relative;overflow:hidden}.cctv-map-canvas img{-webkit-user-select:none;user-select:none;pointer-events:none;width:100%;height:100%;display:block}.cctv-map-pin{z-index:1;background:var(--tkc-red);color:#fff;cursor:pointer;border:2px solid #fff;border-radius:50%;width:33px;height:33px;padding:0;font-size:.65rem;font-weight:700;position:absolute;transform:translate(-50%,-50%);box-shadow:0 2px 8px #001b3299}.cctv-map-pin.checked{background:var(--tkc-green)}.cctv-map-pin.selected{outline:3px solid var(--tkc-gold);z-index:2}.cctv-map-pin.draft{background:var(--tkc-navy);pointer-events:none;z-index:3;border-style:dashed;place-items:center;display:grid}.cctv-map-caption{color:var(--stone-700);margin:0;padding:12px 16px;font-size:.72rem;line-height:1.45}.cctv-map-loading{text-align:center;color:var(--fg-2);padding:80px 24px}.cctv-map-editor{padding:22px}.cctv-map-editor h2{color:var(--tkc-navy);margin:0 0 20px;font-size:1.2rem}.cctv-map-editor label{color:var(--ink-900);gap:7px;margin-bottom:16px;font-size:.78rem;font-weight:700;display:grid}.cctv-map-editor input,.cctv-map-editor textarea,.cctv-map-editor select{border:1px solid var(--border-strong);border-radius:var(--radius-md);width:100%;min-height:40px;color:var(--ink-900);background:#fff;padding:9px;font-size:.8rem;font-weight:400}.cctv-map-editor textarea{resize:vertical}.cctv-map-editor .primary-button{justify-content:center;width:100%}.cctv-map-instruction,.cctv-map-existing,.cctv-map-room-tag{color:var(--fg-2);margin:0 0 17px;font-size:.77rem;line-height:1.5}.cctv-map-existing,.cctv-map-room-tag{background:var(--navy-50);border-radius:var(--radius-md);padding:10px}.cctv-map-room-results{gap:4px;max-height:210px;margin:-10px 0 16px;display:grid;overflow-y:auto}.cctv-map-room-results button,.cctv-map-unplaced button{text-align:left;background:var(--navy-50);color:var(--tkc-navy);border-radius:var(--radius-sm);cursor:pointer;border:0;padding:8px}.cctv-map-room-results small{color:var(--fg-2);margin-top:2px;display:block}.cctv-map-unplaced-toggle{width:100%;color:var(--tkc-navy);cursor:pointer;background:0 0;border:0;padding:16px 0 0;font-size:.78rem;text-decoration:underline}.cctv-map-unplaced{gap:4px;max-height:250px;margin-top:10px;display:grid;overflow-y:auto}@media (width<=1100px){.cctv-map-layout{grid-template-columns:minmax(0,1fr)}}@media (width<=760px){.cctv-map-intro{flex-direction:column;align-items:start}.cctv-map-counts{grid-template-columns:auto auto auto auto;align-items:center}}.camera-start-card,.camera-next-card{border:1px solid var(--border);border-left:4px solid var(--tkc-gold);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);background:#fff;justify-content:space-between;align-items:center;gap:24px;max-width:1180px;margin:0 auto 26px;padding:24px 28px;display:flex}.camera-start-card h2,.camera-next-card h2,.camera-worklist-row h3{color:var(--tkc-navy);margin:5px 0 8px}.camera-start-card p,.camera-next-card p,.camera-worklist-row p{color:var(--fg-2);margin:0}.camera-worklist-heading{gap:18px}.camera-worklist-filters{flex-wrap:wrap;gap:8px;display:flex}.camera-worklist-filters input,.camera-worklist-filters select{border:1px solid var(--border-strong);border-radius:var(--radius-md);background:#fff;min-height:38px;padding:7px 10px}.camera-worklist-row{border-bottom:1px solid var(--border);grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:18px;padding:20px 26px;display:grid}.camera-worklist-row:last-child{border-bottom:0}.camera-worklist-row p{overflow-wrap:anywhere;font-size:.78rem}.camera-worklist-state{flex-direction:column;align-items:flex-end;gap:5px;min-width:110px;display:flex}.camera-worklist-state small{color:var(--stone-500);font-size:.67rem}.status-chip.pending{background:var(--navy-50);color:var(--tkc-navy)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.section-title{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:23px 26px 20px;display:flex}.section-title h2{margin-bottom:0}.section-title .eyebrow{margin-bottom:5px}.filter-row{background:var(--cream-100);border-radius:var(--radius-md);padding:4px;display:flex}.filter-row button{border-radius:var(--radius-sm);color:var(--stone-700);background:0 0;border:0;padding:7px 10px;font-size:.7rem;font-weight:600}.filter-row button.active{box-shadow:var(--shadow-sm);color:var(--tkc-navy);background:#fff}.assessment-row{border:0;border-bottom:1px solid var(--border);color:inherit;text-align:left;background:#fff;grid-template-columns:1fr auto auto;align-items:center;gap:18px;width:100%;padding:20px 26px;transition:background .16s;display:grid}.assessment-row:last-child{border-bottom:0}.assessment-row>svg{color:var(--stone-300)}.row-main strong,.row-main>span{display:block}.row-main strong{color:var(--tkc-navy);margin-bottom:6px;font-size:.94rem}.row-main>span{color:var(--stone-500);font-size:.7rem}.row-kicker{gap:7px;margin-bottom:9px;display:flex}.status-chip,.issue-chip,.restricted-badge{letter-spacing:.04em;text-transform:uppercase;border-radius:999px;padding:4px 8px;font-size:.61rem;font-weight:700;display:inline-flex}.status-chip.draft{background:var(--gold-100);color:#705a23}.status-chip.complete{color:#315829;background:#e4f0e0}.issue-chip{color:var(--tkc-red);background:#f4e3e6}.restricted-badge{background:var(--tkc-red);color:#fff}.row-progress{text-align:right;min-width:62px}.row-progress b,.row-progress span{display:block}.row-progress b{color:var(--tkc-navy);font-family:var(--font-serif);font-size:1.2rem;font-weight:400}.row-progress span{color:var(--stone-500);font-size:.64rem}.empty-state{text-align:center;padding:58px 24px}.empty-state>span{color:var(--gold-300);font-family:var(--font-serif);margin-bottom:8px;font-size:3.4rem;display:block}.empty-state h3{color:var(--tkc-navy);margin-bottom:7px}.empty-state p{color:var(--stone-500);margin-bottom:20px;font-size:.8rem}.template-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;max-width:1180px;margin:0 auto 26px;display:grid}.template-card{border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);text-align:left;background:#fff;grid-template-columns:42px 1fr;padding:20px;display:grid}.template-card:hover,.template-card.selected{border-color:var(--tkc-gold)}.template-card.selected{box-shadow:0 0 0 2px var(--gold-100), var(--shadow-md)}.template-card>span{color:var(--gold-700);font-family:var(--font-serif);grid-row:1/4;font-size:1.35rem}.template-card strong{color:var(--tkc-navy);margin-bottom:6px;font-size:.88rem}.template-card p{color:var(--fg-2);margin-bottom:9px;font-size:.72rem;line-height:1.5}.template-card small{color:var(--stone-500);font-size:.63rem}.form-panel{padding-bottom:25px}.form-panel>label,.form-panel>button,.form-panel>.callout{margin-left:26px;margin-right:26px}.form-grid{grid-template-columns:repeat(2,1fr);gap:18px;padding:24px 26px;display:grid}.access-form{grid-template-columns:1fr 1.35fr .8fr auto;align-items:end;gap:16px;padding:24px 26px 18px;display:grid}.access-form .primary-button{white-space:nowrap}.access-role-guide{background:var(--cream-50);border-top:1px solid var(--border);grid-template-columns:repeat(3,1fr);gap:16px;padding:18px 26px;display:grid}.access-role-guide p{color:var(--fg-2);margin:0;font-size:.68rem;line-height:1.55}.access-role-guide strong{color:var(--tkc-navy)}label{color:var(--tkc-navy);gap:8px;font-size:.72rem;font-weight:600;display:grid}label small{color:var(--stone-500);font-size:.64rem;font-weight:400}input,textarea,select{border:1px solid var(--border-strong);border-radius:var(--radius-md);color:var(--ink-900);background:#fff;width:100%;padding:11px 12px;font-size:.82rem;line-height:1.5}textarea{resize:vertical}input:disabled,textarea:disabled,select:disabled{background:var(--cream-100)}.callout{border:1px solid;border-radius:8px;justify-content:space-between;align-items:center;max-width:1180px;margin:0 auto 18px;padding:12px 15px;font-size:.75rem;line-height:1.5;display:flex}.callout button{color:inherit;background:0 0;border:0;margin-left:15px;font-size:.68rem;font-weight:700}.callout.static{justify-content:flex-start;align-items:flex-start;max-width:none}.callout-danger{color:#6a1d28;background:#f8edef;border-color:#e0b7bd}.callout-warning{background:var(--gold-50);border-color:var(--gold-300);color:#69551f}.callout-info{background:var(--navy-50);border-color:var(--navy-100);color:var(--tkc-navy)}.back-button{color:var(--tkc-navy);text-align:left;background:0 0;border:0;width:100%;max-width:1040px;margin:0 auto 20px;padding:0;font-size:.72rem;font-weight:700}.form-hero{border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);background:#fff;justify-content:space-between;align-items:center;max-width:1040px;margin:0 auto 16px;padding:30px;display:flex}.form-hero h1{font-size:clamp(2rem,4vw,3.2rem)}.meta-row{color:var(--stone-500);flex-wrap:wrap;gap:8px 18px;margin-top:17px;font-size:.65rem;display:flex}.completion-ring{background:conic-gradient(var(--tkc-green) var(--progress), var(--stone-100) 0);border-radius:50%;flex-direction:column;flex:none;justify-content:center;align-items:center;width:108px;height:108px;margin-left:24px;display:flex;position:relative}.completion-ring:before{content:"";background:#fff;border-radius:50%;position:absolute;inset:8px}.completion-ring strong,.completion-ring span{position:relative}.completion-ring strong{color:var(--tkc-navy);font-family:var(--font-serif);font-size:1.5rem;font-weight:400}.completion-ring span{color:var(--stone-500);font-size:.62rem}.evidence-boundary{background:var(--navy-900);border-radius:var(--radius-md);color:#fff;align-items:center;gap:14px;max-width:1040px;margin:0 auto 26px;padding:15px 18px;display:flex}.evidence-boundary svg{color:var(--tkc-gold)}.evidence-boundary p{color:#ffffffc2;margin:0;font-size:.72rem;line-height:1.55}.check-section{max-width:1040px;margin:0 auto 30px}.check-section-heading{align-items:baseline;gap:13px;margin-bottom:12px;padding:0 4px;display:flex}.check-section-heading span{color:var(--gold-700);font-family:var(--font-serif);font-size:1.2rem}.check-section-heading h2{margin:0;font-size:1.15rem}.question-list{gap:10px;display:grid}.question-card{border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);background:#fff;padding:20px}.question-card.has-risk{border-left:4px solid var(--tkc-red)}.question-top{justify-content:space-between;align-items:flex-start;margin-bottom:16px;display:flex}.question-top h3{margin-bottom:0}.question-top h3 sup{color:var(--stone-500);text-transform:uppercase;vertical-align:middle;margin-left:8px;font-size:.52rem;font-weight:600}.question-top p{color:var(--stone-500);max-width:760px;margin:6px 0 0;font-size:.7rem;line-height:1.5}.save-state{color:var(--stone-500);flex:none;margin-left:12px;font-size:.62rem}.response-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;display:grid}.response-grid button{background:var(--cream-50);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--stone-700);justify-content:center;align-items:center;gap:7px;min-height:42px;padding:8px;font-size:.67rem;font-weight:600;display:flex}.response-grid button>span{border:1px solid var(--stone-300);border-radius:50%;width:11px;height:11px}.response-grid button.selected{background:var(--navy-50);border-color:var(--tkc-navy);color:var(--tkc-navy)}.response-grid button.selected>span{background:var(--tkc-navy);box-shadow:0 0 0 1px var(--tkc-navy);border:3px solid #fff}.response-grid button.issue-option.selected{border-color:var(--tkc-red);color:var(--tkc-red);background:#f8edef}.response-grid button.issue-option.selected>span{background:var(--tkc-red);box-shadow:0 0 0 1px var(--tkc-red)}.evidence-details{border-top:1px solid var(--border);margin-top:17px;padding-top:12px}.evidence-details summary{color:var(--tkc-navy);cursor:pointer;font-size:.67rem;font-weight:600}.evidence-fields{grid-template-columns:1fr 1fr;gap:15px;padding-top:15px;display:grid}.evidence-fields label:first-child{grid-column:1/-1}.risk-toggle{border-radius:var(--radius-md);color:var(--stone-700);background:#f8edef;border:1px solid #e5c3c8;align-items:flex-start;gap:10px;padding:11px;line-height:1.4;display:flex}.risk-toggle input{flex:none;width:17px;height:17px;margin:1px 0 0}.risk-toggle strong{color:var(--tkc-red);margin-bottom:2px;font-size:.7rem;display:block}.risk-toggle span{font-size:.63rem;font-weight:400}.complete-card,.restricted-panel{justify-content:space-between;align-items:center;max-width:1040px;margin:30px auto 0;padding:28px;display:flex}.complete-card{background:var(--gold-50);border:1px solid var(--gold-300);border-radius:var(--radius-md)}.complete-card>div,.restricted-panel>div:first-child{max-width:650px}.complete-card h2,.restricted-panel h2{margin-bottom:7px}.complete-card p,.restricted-panel p{color:var(--fg-2);margin-bottom:0;font-size:.72rem;line-height:1.6}.report-table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:.74rem}th,td{border-bottom:1px solid var(--border);text-align:left;padding:14px 18px}th{background:var(--cream-50);color:var(--stone-500);letter-spacing:.07em;text-transform:uppercase;font-size:.62rem}td:first-child{color:var(--tkc-navy);font-weight:600}.access-table td{vertical-align:middle}.access-table td strong,.access-table td small{display:block}.access-table td small{color:var(--stone-500);margin-top:4px;font-size:.62rem;font-weight:400}.access-table select{min-width:140px;padding:8px 10px}.access-role,.source-chip{text-transform:capitalize;border-radius:999px;padding:5px 9px;font-size:.61rem;font-weight:700;display:inline-flex}.access-role{background:var(--navy-50);color:var(--tkc-navy)}.source-chip.bootstrap{background:var(--gold-100);color:#705a23}.source-chip.managed{color:#315829;background:#e4f0e0}.access-actions{align-items:center;gap:10px;display:flex}.access-actions .secondary-button{white-space:nowrap;min-height:36px;padding:7px 11px}.text-danger-button{color:var(--tkc-red);background:0 0;border:0;padding:8px 2px;font-size:.68rem;font-weight:700}.text-danger-button:disabled{color:var(--stone-300)}.restricted-panel{background:var(--navy-900);border-radius:var(--radius-md);color:#fff}.restricted-panel h2{color:#fff;margin-top:12px}.restricted-panel p{color:#ffffffb3}.button-group{gap:9px;margin-left:24px;display:flex}.mobile-nav{display:none}.access-shell{background:linear-gradient(135deg, #003865f5, #00223efc), var(--tkc-navy);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.access-card{border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);background:#fff;max-width:540px;padding:40px}.access-logo{object-fit:contain;object-position:left;width:180px;height:84px;margin-bottom:30px}.access-card h1{font-size:2.7rem}.access-card p{color:var(--fg-2);font-size:.85rem;line-height:1.7}.access-card .callout{margin-top:22px}.sign-in-actions{flex-wrap:wrap;gap:12px;margin-top:22px;display:flex}.loading-mark{color:#fff;text-align:center}.loading-mark span{border:2px solid #ffffff40;border-radius:50%;width:46px;height:46px;animation:1.5s ease-in-out infinite pulse;display:inline-block;position:relative}.loading-mark span:after{background:var(--tkc-gold);content:"";border-radius:50%;width:8px;height:8px;position:absolute;top:17px;left:17px}.loading-mark p{color:#ffffffb3;margin-top:15px;font-size:.75rem}@keyframes pulse{50%{transform:scale(1.08)}}@media (width<=980px){.identity{display:none}.topbar{grid-template-columns:1fr auto}.connection{margin-right:0}.metric-grid{grid-template-columns:repeat(2,1fr)}.hub-status-card,.critical-strip{align-items:stretch;gap:20px;display:grid}.hub-status-metrics{grid-template-columns:repeat(3,1fr);min-width:0;margin-left:0}.hub-two-column{grid-template-columns:1fr}.goal-grid,.snapshot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.response-grid{grid-template-columns:repeat(3,1fr)}.response-grid button:last-child{grid-column:span 1}.access-form{grid-template-columns:repeat(2,1fr)}}@media (width<=760px){body{background-size:48px 48px}.topbar{height:64px;padding:0 16px;top:40px}.brand img{width:44px;height:38px}.brand span{font-size:.83rem}.brand small{margin-bottom:3px;font-size:.52rem}.connection{font-size:0}.connection b{font-size:.59rem}.sidebar{display:none}.main-content{margin-left:0;padding:131px 14px 110px}.page-heading{align-items:flex-start;gap:20px;margin-bottom:26px;display:grid}h1{font-size:2.55rem}.page-heading p{font-size:.82rem}.page-heading .primary-button{width:100%}.metric-grid{gap:9px}.metric{min-height:92px;padding:16px}.metric strong{font-size:1.8rem}.hub-status-card,.critical-strip{padding:20px 17px}.hub-status-metrics,.goal-grid,.snapshot-grid{grid-template-columns:1fr}.hub-list,.goal-grid,.snapshot-grid,.finding-list,.policy-priority-list{padding:19px 17px}.policy-priority-list article{grid-template-columns:1fr}.section-title{align-items:flex-start;gap:14px;padding:19px 17px;display:grid}.filter-row{max-width:100%;overflow-x:auto}.assessment-row{grid-template-columns:1fr auto;gap:10px;padding:17px}.assessment-row>svg{display:none}.row-progress{min-width:48px}.template-grid{grid-template-columns:1fr}.template-card{padding:17px}.form-grid,.access-form{grid-template-columns:1fr;padding:20px 17px}.access-form .primary-button{width:100%}.access-role-guide{grid-template-columns:1fr;padding:17px}.form-panel>label,.form-panel>button,.form-panel>.callout{margin-left:17px;margin-right:17px}.wide-mobile{width:calc(100% - 34px)}.form-hero{align-items:flex-start;padding:22px 18px}.completion-ring{width:78px;height:78px;margin-left:12px}.completion-ring strong{font-size:1.1rem}.form-hero p,.meta-row{display:none}.evidence-boundary{align-items:flex-start;padding:14px}.question-card{padding:17px 14px}.question-top{display:block}.save-state{margin:7px 0 0;display:block}.response-grid{grid-template-columns:repeat(2,1fr)}.response-grid button:last-child{grid-column:1/-1}.evidence-fields{grid-template-columns:1fr}.evidence-fields label:first-child{grid-column:auto}.complete-card,.restricted-panel{align-items:stretch;gap:20px;padding:21px 18px;display:grid}.complete-card button{width:100%}.button-group{margin-left:0;display:grid}.mobile-nav{border-top:1px solid var(--border);padding:7px 10px calc(7px + env(safe-area-inset-bottom));z-index:40;background:#fff;grid-template-columns:repeat(5,minmax(0,1fr));align-items:end;display:grid;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -8px 20px #281e0a0f}.mobile-nav.role-admin{grid-template-columns:repeat(6,minmax(0,1fr))}.mobile-nav.role-auditor{grid-template-columns:repeat(4,minmax(0,1fr))}.mobile-nav button{color:var(--stone-500);background:0 0;border:0;flex-direction:column;align-items:center;gap:3px;min-width:0;padding:5px;font-size:.59rem;font-weight:600;display:flex}.mobile-nav button.active{color:var(--tkc-navy)}.mobile-nav .new-action svg{background:var(--tkc-navy);color:#fff;border-radius:50%;width:34px;height:34px;margin-top:-17px;padding:8px}th,td{min-width:80px;padding:12px}th:first-child,td:first-child{min-width:210px}.access-card{padding:28px 22px}.access-card h1{font-size:2.2rem}.camera-start-card,.camera-next-card,.camera-worklist-heading{flex-direction:column;align-items:stretch}.camera-worklist-row{grid-template-columns:minmax(0,1fr)}.camera-worklist-state{align-items:flex-start}.camera-worklist-row>button,.camera-next-card>button,.camera-start-card>button{width:100%}}@media print{.topbar,.sidebar,.mobile-nav,.primary-button,.secondary-button,.danger-button,.connection{display:none!important}.main-content{margin:0;padding:0}body{background:#fff}.section-card,.metric,.question-card{break-inside:avoid;box-shadow:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;animation-duration:.01ms!important}}:root{--surface-canvas:var(--cream-50);--surface-panel:var(--surface);--line-soft:var(--border);--line:var(--border-strong);--hub-navy-950:color-mix(in srgb, var(--navy-900) 85%, black);--hub-navy-900:var(--navy-900);--hub-navy-800:#002b50;--hub-blue-600:var(--navy-600);--hub-gold-500:var(--tkc-gold);--hub-ink-700:var(--fg-2);--hub-ink-500:var(--stone-500);--shadow:var(--shadow-md)}.assurance-context{background:var(--hub-navy-950);border-bottom:3px solid var(--tkc-gold);color:#dfe8ef;font:600 12px/1.4 var(--font-sans);letter-spacing:.02em;z-index:40;justify-content:space-between;align-items:center;gap:16px;height:40px;padding:0 18px;display:flex;position:fixed;top:0;left:0;right:0}.assurance-context>div{align-items:center;gap:10px;display:flex}.assurance-context strong{color:#fff}.assurance-context span{color:#8ea2b5;font-size:10px}.assurance-context-actions a,.assurance-context-actions button{border-radius:var(--radius-md);color:#fff;font:inherit;background:0 0;border:1px solid #ffffff38;padding:6px 9px;font-size:10px;text-decoration:none}@media (width<=720px){.assurance-context>div>span,.assurance-context-actions>span{display:none}}html,body{background:var(--surface-canvas)}body{color:#172433;font-size:14px;line-height:1.5}@media (width>=761px){.app-shell{min-height:100vh}.topbar{background:linear-gradient(180deg, var(--hub-navy-950), #001a30 68%, #000d18);color:#fff;border-right:0;grid-template-columns:1fr;align-content:start;justify-items:stretch;width:248px;height:164px;padding:24px 16px 14px;display:grid;top:40px;right:auto}.brand{gap:12px;padding:0 10px}.brand img{width:39px;height:39px}.brand span{color:#fff;letter-spacing:var(--tracking-snug);font-size:18px;font-weight:600;line-height:1.08}.brand small{color:#aab9c8;letter-spacing:.18em;font-size:9px;font-weight:700}.connection{color:#8fa2b4;gap:7px;margin:18px 10px 0;font-size:10px}.connection b{color:#91a4b7;background:#ffffff12;border-radius:999px}.identity{text-align:left;border-top:1px solid #ffffff13;border-left:0;min-width:0;margin:14px 10px 0;padding:11px 0 0}.identity span{color:#fff;text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.identity small{color:#8599ac;text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.sidebar{background:linear-gradient(180deg, #000d18, var(--hub-navy-950));color:#fff;border-right:0;width:248px;padding:8px 16px 18px;top:204px}.sidebar nav button{color:#aebdca;border-radius:8px;padding:10px 11px;font-size:13px}.sidebar nav button:hover{color:#fff;background:#ffffff0e}.sidebar nav button.active{box-shadow:inset 2px 0 var(--hub-gold-500);color:#fff;background:#d9a52d21}.sidebar nav button.active svg{color:var(--hub-gold-500)}.privacy-note{border-radius:var(--radius-md);color:#8fa2b4;background:#ffffff0f;border:1px solid #ffffff17}.privacy-note strong{color:#fff}.privacy-note svg{color:var(--hub-gold-500)}.main-content{background:var(--surface-canvas);margin-left:248px;padding:84px 42px 64px}}.page-heading{max-width:1510px;margin-bottom:27px}.page-heading h1,.form-hero h1{color:var(--hub-navy-950);font-family:var(--font-sans);letter-spacing:var(--tracking-snug);font-weight:600}.page-heading p,.form-hero p{color:var(--hub-ink-700)}.eyebrow{color:var(--gold-700);letter-spacing:var(--tracking-wider);font-size:9px;font-weight:600}.primary-button,.secondary-button,.danger-button{border-radius:var(--radius-pill);min-height:38px;font-size:10px;font-weight:600;transition:background .15s,transform 80ms}.primary-button:active,.secondary-button:active,.danger-button:active{transform:scale(.98)}.primary-button{background:var(--hub-navy-800);border-color:var(--hub-navy-800)}.primary-button:hover{background:var(--hub-navy-900)}.secondary-button{border-color:var(--line);color:var(--hub-navy-800)}.metric,.section-card,.template-card,.form-hero,.question-card,.complete-card,.access-card,.restricted-panel{border-color:var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.metric strong,.row-main strong,.row-progress b,.template-card strong,.section-title h2,.check-section-heading h2,.question-top h3,td:first-child{color:var(--hub-navy-900);font-family:var(--font-sans)}.metric:before{background:var(--hub-blue-600)}.section-title,th{background:#f7f9fa}.assessment-row:hover{background:#f8fafb}.filter-row{background:#f1f4f6}.filter-row button.active{box-shadow:var(--shadow-sm)}.status-chip.draft,.complete-card{background:#fbf4df;border-color:#eedcbd}.status-chip.complete{background:#e7f3ee}.issue-chip,.status-chip.has-risk{background:#f8e9e9}.access-shell{background:radial-gradient(circle at 80% 10%, #e9eff4, transparent 34%), var(--surface-canvas)}.access-card h1{color:var(--hub-navy-950);font-family:var(--font-sans);letter-spacing:var(--tracking-snug);font-weight:600}
