:root{color:#18212f;--split-left:50%;--detail-safeguards:34%;font-synthesis:none;text-rendering:optimizelegibility;background:#f6f7f9;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,input,select,textarea{font:inherit}button{color:#172033;cursor:pointer;background:#fff;border:1px solid #cbd3dd;border-radius:6px;justify-content:center;align-items:center;gap:8px;min-height:38px;padding:8px 12px;display:inline-flex}button:hover{border-color:#7b8da4}button.ghost{background:#f8fafc}button.active-action{color:#fff;background:#172033;border-color:#172033}button:disabled{cursor:not-allowed;opacity:.5}input,select,textarea{color:#172033;background:#fff;border:1px solid #cbd3dd;border-radius:6px;width:100%;min-height:38px;padding:8px 10px}textarea{resize:vertical;min-height:94px}.app-shell{max-width:1760px;margin:0 auto;padding:24px}.topbar,.workspace,.panel-header,.top-actions,.flag-row,.tabs,.notice,.note-row,.evidence-row{display:flex}.topbar{justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px}.topbar h1,.panel-header h2{margin:0}.topbar h1{font-size:clamp(1.8rem,3vw,3rem);line-height:1.05}.eyebrow{color:#58677a;letter-spacing:0;text-transform:uppercase;margin:0 0 6px;font-size:.78rem;font-weight:700}.top-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px}.notice{color:#1d5b37;background:#e9f5ee;border:1px solid #b7dfc7;border-radius:6px;align-items:center;gap:8px;margin-bottom:16px;padding:10px 12px}.access-gate{background:#fff;border:1px solid #dbe1e8;border-left:6px solid #a81d16;border-radius:8px;max-width:680px;margin:12vh auto 0;padding:28px;box-shadow:0 18px 48px #17203314}.access-gate h1{margin:0 0 12px;font-size:clamp(2rem,5vw,3.5rem);line-height:1.05}.access-gate p:last-child{color:#526176;max-width:58ch;font-size:1rem;line-height:1.6}.health-grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;margin-bottom:16px;display:grid}.metric{background:#fff;border:1px solid #dbe1e8;border-radius:8px;padding:14px}.metric span{color:#637084;overflow-wrap:anywhere;margin-bottom:6px;font-size:.82rem;display:block}.metric strong{font-size:1.55rem}.workspace{align-items:flex-start;gap:0;min-height:560px;display:flex}.left-pane{flex:0 0 var(--split-left);min-width:0;padding-right:12px}.splitter{cursor:col-resize;background:linear-gradient(90deg,#0000 0 3px,#c9d2dd 3px 7px,#0000 7px);border-radius:999px;flex:0 0 12px;align-self:stretch;min-height:560px}.splitter:hover,body.resizing .splitter{background:linear-gradient(90deg,#0000 0 2px,#2b68a1 2px 8px,#0000 8px)}body.resizing{cursor:col-resize;-webkit-user-select:none;user-select:none}.filters{grid-template-columns:minmax(220px,2fr) repeat(5,minmax(120px,1fr));gap:8px;margin-bottom:12px;display:grid}.search-field{align-items:center;display:flex;position:relative}.search-field svg{color:#6c7889;position:absolute;left:10px}.search-field input{padding-left:34px}.heatmap{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px;display:grid}.control-tile{text-align:left;border:1px solid #0000;border-left-width:8px;border-radius:8px;flex-direction:column;justify-content:flex-start;align-items:stretch;gap:10px;min-height:220px;padding:15px;display:flex;overflow:visible}.tile-title{overflow-wrap:anywhere;font-size:1.04rem;line-height:1.25;display:block}.tile-number,.tile-meta,.tile-status{color:#516071;font-weight:700}.tile-number{font-size:.78rem}.tile-status{color:#172033;font-size:.95rem;font-weight:600;line-height:1.25}.tile-meta{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-top:auto;display:grid}.tile-meta span{background:#ffffff94;border:1px solid #5160712e;border-radius:6px;padding:6px;font-size:.76rem;line-height:1.15}.rollup-bar{background:#1720331f;border-radius:999px;width:100%;height:7px;display:block;overflow:hidden}.rollup-bar span{background:#2f8b57;height:100%;display:block}.control-tile.selected{box-shadow:0 0 0 3px #2b68a138}.tone-critical{background:#fff0ef;border-color:#d43c2f}.tone-high{background:#fff5e8;border-color:#c86d16}.tone-medium{background:#fffbe8;border-color:#d7a400}.tone-low,.tone-neutral{background:#f7f9ef;border-color:#9aa85c}.tone-complete{background:#edf8f1;border-color:#2f8b57}.tone-evidence{background:#fff8e5;border-color:#b57b00}.tone-overdue{background:#fff0e8;border-color:#c94e1f}.tone-unassessed{background:#f0f2f5;border-color:#8b96a5}.stakeholder-shell{gap:16px;display:grid}.stakeholder-toolbar{background:#fff;border:1px solid #dbe1e8;border-radius:8px;justify-content:space-between;align-items:center;gap:16px;padding:16px;display:flex}.stakeholder-toolbar h2{margin:0;font-size:clamp(1.35rem,2vw,2rem);line-height:1.15}.zoom-controls{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.stakeholder-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.stakeholder-legend{background:#fff;border:1px solid #dbe1e8;border-radius:8px;flex-wrap:wrap;align-items:center;gap:8px 12px;padding:10px 12px;display:flex}.stakeholder-legend span{color:#344256;white-space:nowrap;align-items:center;gap:6px;font-size:.78rem;font-weight:800;display:inline-flex}.stakeholder-legend em{color:#667386;font-size:.78rem;font-style:normal;line-height:1.3}.legend-swatch{border:1px solid #1720333d;border-radius:4px;width:22px;height:14px;display:inline-block}.legend-critical{background:#a81d16}.legend-high{background:#d84a24}.legend-medium{background:#e49b0f}.legend-low{background:#c8d650}.legend-complete{background:#2f8b57}.legend-evidence{background:repeating-linear-gradient(45deg,#e49b0f 0 5px,#fff1b8 5px 10px)}.legend-overdue{background:repeating-linear-gradient(45deg,#a81d16 0 5px,#f5b7a7 5px 10px)}.legend-unassessed{background:#8b96a5}.stakeholder-layout{grid-template-columns:minmax(0,1fr) minmax(300px,380px);gap:16px;display:grid}.stakeholder-map{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;display:grid}.stakeholder-node,.safeguard-node,.insight-row{text-align:left;border:1px solid #0000;border-left-width:8px;border-radius:8px;flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:8px;min-height:178px;padding:14px;display:flex}.stakeholder-node span,.safeguard-node span,.control-story>span,.safeguard-brief>span{color:#526176;text-transform:uppercase;font-size:.78rem;font-weight:800}.stakeholder-node.tone-critical,.safeguard-node.tone-critical,.insight-row.tone-critical,.control-story.tone-critical,.safeguard-brief.tone-critical{color:#172033;background:#fff0ef;border-color:#f0c2bd #f0c2bd #f0c2bd #a81d16}.stakeholder-node.tone-high,.safeguard-node.tone-high,.insight-row.tone-high,.control-story.tone-high,.safeguard-brief.tone-high{color:#172033;background:#fff3ec;border-color:#efc8b8 #efc8b8 #efc8b8 #d84a24}.stakeholder-node.tone-medium,.safeguard-node.tone-medium,.insight-row.tone-medium,.control-story.tone-medium,.safeguard-brief.tone-medium{color:#172033;background:#fff8df;border-color:#ecd79a #ecd79a #ecd79a #e49b0f}.stakeholder-node.tone-low,.stakeholder-node.tone-neutral,.safeguard-node.tone-low,.safeguard-node.tone-neutral,.insight-row.tone-low,.insight-row.tone-neutral,.control-story.tone-low,.control-story.tone-neutral,.safeguard-brief.tone-low,.safeguard-brief.tone-neutral{color:#172033;background:#f7f9df;border-color:#d7dea5 #d7dea5 #d7dea5 #c8d650}.stakeholder-node.tone-complete,.safeguard-node.tone-complete,.insight-row.tone-complete,.control-story.tone-complete,.safeguard-brief.tone-complete{color:#172033;background:#edf8f1;border-color:#b7dfc7 #b7dfc7 #b7dfc7 #2f8b57}.stakeholder-node.tone-evidence,.safeguard-node.tone-evidence,.insight-row.tone-evidence,.control-story.tone-evidence,.safeguard-brief.tone-evidence{color:#172033;background:#fff8df;border-color:#ecd79a #ecd79a #ecd79a #e49b0f}.stakeholder-node.tone-overdue,.safeguard-node.tone-overdue,.insight-row.tone-overdue,.control-story.tone-overdue,.safeguard-brief.tone-overdue{color:#172033;background:#fff0ef;border-color:#f0c2bd #f0c2bd #f0c2bd #a81d16}.stakeholder-node.tone-unassessed,.safeguard-node.tone-unassessed,.insight-row.tone-unassessed,.control-story.tone-unassessed,.safeguard-brief.tone-unassessed{color:#172033;background:#f0f2f5;border-color:#d4dae2 #d4dae2 #d4dae2 #8b96a5}.stakeholder-node.tone-critical span,.stakeholder-node.tone-critical strong,.stakeholder-node.tone-critical em,.stakeholder-node.tone-critical small,.stakeholder-node.tone-high span,.stakeholder-node.tone-high strong,.stakeholder-node.tone-high em,.stakeholder-node.tone-high small,.stakeholder-node.tone-complete span,.stakeholder-node.tone-complete strong,.stakeholder-node.tone-complete em,.stakeholder-node.tone-complete small,.stakeholder-node.tone-overdue span,.stakeholder-node.tone-overdue strong,.stakeholder-node.tone-overdue em,.stakeholder-node.tone-overdue small,.stakeholder-node.tone-unassessed span,.stakeholder-node.tone-unassessed strong,.stakeholder-node.tone-unassessed em,.stakeholder-node.tone-unassessed small,.safeguard-node.tone-critical span,.safeguard-node.tone-critical strong,.safeguard-node.tone-critical small,.safeguard-node.tone-high span,.safeguard-node.tone-high strong,.safeguard-node.tone-high small,.safeguard-node.tone-complete span,.safeguard-node.tone-complete strong,.safeguard-node.tone-complete small,.safeguard-node.tone-overdue span,.safeguard-node.tone-overdue strong,.safeguard-node.tone-overdue small,.safeguard-node.tone-unassessed span,.safeguard-node.tone-unassessed strong,.safeguard-node.tone-unassessed small,.insight-row.tone-critical strong,.insight-row.tone-critical span,.insight-row.tone-high strong,.insight-row.tone-high span,.insight-row.tone-complete strong,.insight-row.tone-complete span,.insight-row.tone-overdue strong,.insight-row.tone-overdue span,.insight-row.tone-unassessed strong,.insight-row.tone-unassessed span,.control-story.tone-critical>span,.control-story.tone-critical h3,.control-story.tone-critical p,.control-story.tone-critical strong,.control-story.tone-critical span,.control-story.tone-high>span,.control-story.tone-high h3,.control-story.tone-high p,.control-story.tone-high strong,.control-story.tone-high span,.control-story.tone-complete>span,.control-story.tone-complete h3,.control-story.tone-complete p,.control-story.tone-complete strong,.control-story.tone-complete span,.control-story.tone-overdue>span,.control-story.tone-overdue h3,.control-story.tone-overdue p,.control-story.tone-overdue strong,.control-story.tone-overdue span,.control-story.tone-unassessed>span,.control-story.tone-unassessed h3,.control-story.tone-unassessed p,.control-story.tone-unassessed strong,.control-story.tone-unassessed span,.safeguard-brief.tone-critical>span,.safeguard-brief.tone-critical h3,.safeguard-brief.tone-critical p,.safeguard-brief.tone-critical strong,.safeguard-brief.tone-critical span,.safeguard-brief.tone-high>span,.safeguard-brief.tone-high h3,.safeguard-brief.tone-high p,.safeguard-brief.tone-high strong,.safeguard-brief.tone-high span,.safeguard-brief.tone-complete>span,.safeguard-brief.tone-complete h3,.safeguard-brief.tone-complete p,.safeguard-brief.tone-complete strong,.safeguard-brief.tone-complete span,.safeguard-brief.tone-overdue>span,.safeguard-brief.tone-overdue h3,.safeguard-brief.tone-overdue p,.safeguard-brief.tone-overdue strong,.safeguard-brief.tone-overdue span,.safeguard-brief.tone-unassessed>span,.safeguard-brief.tone-unassessed h3,.safeguard-brief.tone-unassessed p,.safeguard-brief.tone-unassessed strong,.safeguard-brief.tone-unassessed span{color:#172033}.stakeholder-node .rollup-bar{background:#1720331f}.stakeholder-node .rollup-bar span{background:#2f8b57}.stakeholder-node strong,.safeguard-node strong{color:#172033;font-size:1rem;line-height:1.25}.stakeholder-node em{color:#172033;font-style:normal;font-weight:800}.stakeholder-node small,.safeguard-node small{color:#526176;font-size:.78rem;font-weight:700;line-height:1.25}.stakeholder-insight{background:#fff;border:1px solid #dbe1e8;border-radius:8px;padding:14px}.stakeholder-insight h3,.stakeholder-next-steps h3{color:#445266;margin:0 0 12px;font-size:.9rem}.insight-row{width:100%;min-height:96px}.insight-row+.insight-row{margin-top:10px}.insight-row span{color:#344256;font-size:.82rem;font-weight:700;line-height:1.35}.stakeholder-control-view,.stakeholder-safeguard-view{grid-template-columns:minmax(320px,.9fr) minmax(0,1.4fr);gap:16px;display:grid}.control-story,.safeguard-brief,.stakeholder-next-steps{border:1px solid #0000;border-left-width:8px;border-radius:8px;padding:18px}.control-story h3,.safeguard-brief h3{margin:8px 0 12px;font-size:clamp(1.35rem,2vw,2.1rem);line-height:1.1}.control-story p,.safeguard-brief p,.stakeholder-next-steps p{color:#344256;margin:0;line-height:1.45}.story-stats,.brief-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:16px;display:grid}.story-stats strong,.story-stats span,.brief-grid strong,.brief-grid span{display:block}.story-stats strong,.brief-grid strong{color:#172033;overflow-wrap:anywhere;font-size:1rem}.story-stats span,.brief-grid span{color:#526176;margin-top:2px;font-size:.76rem;font-weight:800}.safeguard-zoom-map{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;display:grid}.safeguard-node{min-height:136px}.safeguard-node.selected{box-shadow:0 0 0 3px #2b68a138}.stakeholder-next-steps{background:#fff;border-color:#dbe1e8}.linked-observation-list{gap:10px;margin-top:14px;display:grid}.linked-observation-list article{border:1px solid #0000;border-left-width:6px;border-radius:8px;padding:12px}.linked-observation-list strong,.linked-observation-list span{display:block}.linked-observation-list strong{color:#172033;line-height:1.25}.linked-observation-list span{color:#526176;margin-top:4px;font-size:.8rem;font-weight:700}.linked-observation-list p{margin-top:8px}.detail-panel{background:#fff;border:1px solid #dbe1e8;border-radius:8px;flex-direction:column;flex:1 1 0;min-width:0;max-height:calc(100vh - 24px);margin-top:0;padding:18px;display:flex;position:sticky;top:12px;overflow:hidden}.panel-header{border-bottom:1px solid #e4e9ef;justify-content:space-between;align-items:flex-start;gap:16px;padding-bottom:14px}.panel-header h2{font-size:1.28rem;line-height:1.25}.flag-row{flex-wrap:wrap;gap:8px;margin:14px 0}.flag{color:#3d4c60;background:#eef2f6;border-radius:999px;align-items:center;gap:6px;padding:6px 9px;font-size:.82rem;display:inline-flex}.tabs{border-bottom:1px solid #e4e9ef;flex-wrap:wrap;gap:6px;margin-bottom:16px;padding-bottom:12px}.tabs button{min-height:32px;padding:6px 9px}.tabs button.active{color:#fff;background:#172033;border-color:#172033}.relationship-note{color:#4f5f73;background:#f7f9fb;border:1px solid #e0e6ed;border-radius:6px;margin:-4px 0 14px;padding:9px 10px;font-size:.82rem}.form-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.form-grid.compact{grid-template-columns:repeat(2,minmax(0,1fr))}.field{flex-direction:column;gap:6px;display:flex}.field span,.evidence-panel h3,.history-panel h3{color:#445266;letter-spacing:0;margin:0;font-size:.82rem;font-weight:800}.control-label,.record-kicker{color:#667386;text-transform:uppercase;margin-bottom:6px;font-size:.76rem;font-weight:800;display:block}.field.wide{grid-column:1/-1}.field.wide textarea{min-height:150px}.record-card{background:#fff;border:1px solid #e0e6ed;border-radius:8px;margin-bottom:14px;padding:14px}.record-title-row{margin-bottom:12px}.record-title-row .field span{display:none}.record-title-row input{border-color:#0000;padding-left:0;font-size:1.08rem;font-weight:700}.record-title-row input:focus{border-color:#cbd3dd;padding-left:10px}.long-form{gap:12px;display:grid}.long-form .field{gap:8px}.long-form textarea{line-height:1.45}.long-form textarea[data-field=safeguard\.recommendation]{min-height:220px}.check-row{align-items:center;gap:8px;min-height:38px;display:flex}.check-row input{width:auto;min-height:auto}.evidence-panel,.history-panel{border-top:1px solid #e4e9ef;margin-top:18px;padding-top:16px}.evidence-panel h3,.history-panel h3{margin-bottom:10px}.evidence-row{gap:8px;margin-bottom:8px}.evidence-row button{flex:none}.note-row{gap:8px;margin-bottom:12px}.timeline{gap:8px;display:grid}.timeline article{background:#f7f9fb;border:1px solid #e0e6ed;border-radius:6px;padding:10px}.timeline span,.timeline small{color:#667386;font-size:.78rem;font-weight:700}.timeline p{margin:4px 0}.safeguard-list{flex:0 0 var(--detail-safeguards);border-right:1px solid #e4e9ef;min-width:0;padding:0 12px 0 0;overflow:auto}.section-heading{justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:10px;display:flex}.section-heading h3{color:#445266;margin:0;font-size:.82rem;font-weight:800}.section-heading span{color:#667386;font-size:.78rem}.safeguard-grid{grid-template-columns:1fr;gap:7px;padding:0 4px 2px 0;display:grid}.safeguard-chip{text-align:left;justify-content:stretch;align-items:flex-start;gap:3px;min-height:58px;padding:8px;display:grid}.safeguard-chip strong{color:#172033;font-size:.78rem}.safeguard-chip span{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.78rem;line-height:1.2;display:-webkit-box;overflow:hidden}.safeguard-chip.active{color:#fff;background:#172033;border-color:#172033}.safeguard-chip.linked{border-color:#2b68a1;box-shadow:inset 4px 0 #2b68a1}.safeguard-chip.active strong,.safeguard-chip.active span{color:#fff}.assessment-panel{background:#f8fafc;border:1px solid #e0e6ed;border-radius:8px;margin-bottom:16px;padding:14px}.detail-workspace{flex:auto;gap:0;min-height:0;display:flex;overflow:hidden}.detail-main{flex:1 1 0;min-width:0;padding-left:14px;overflow:auto}.detail-splitter{cursor:col-resize;background:linear-gradient(90deg,#0000 0 3px,#d3dbe5 3px 6px,#0000 6px);border-radius:999px;flex:0 0 10px;align-self:stretch}.detail-splitter:hover,body.resizing-detail .detail-splitter{background:linear-gradient(90deg,#0000 0 2px,#2b68a1 2px 7px,#0000 7px)}body.resizing-detail{cursor:col-resize;-webkit-user-select:none;user-select:none}.assessment-controls{grid-template-columns:minmax(180px,220px) minmax(180px,240px);gap:14px;margin-bottom:12px;display:grid}.assessment-title{background:#fff;border:1px solid #e0e6ed;border-radius:6px;align-items:baseline;gap:10px;margin-bottom:12px;padding:10px;display:flex}.assessment-title strong{color:#172033;flex:none}.assessment-title span{color:#344256;font-weight:700;line-height:1.25}.assessment-nav,.assessment-maturity{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.assessment-nav button,.assessment-maturity button{min-height:34px;padding:7px 8px}.wide-action{width:100%;margin-bottom:12px}.assessment-nav button:disabled,.assessment-maturity button:disabled{cursor:not-allowed;opacity:.48}.safeguard-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:10px;display:grid}.safeguard-summary div{background:#fff;border:1px solid #e0e6ed;border-radius:6px;padding:8px}.safeguard-summary strong,.safeguard-summary span{display:block}.safeguard-summary strong{overflow-wrap:anywhere;font-size:.88rem}.safeguard-summary span{color:#667386;margin-top:3px;font-size:.74rem}.next-action{color:#344256;margin:0;font-size:.88rem}@media (width<=1180px){.workspace{display:block}.left-pane{padding-right:0}.splitter{display:none}.detail-panel{max-height:calc(100vh - 28px);margin-top:18px;position:static}.topbar{flex-direction:column;align-items:stretch}.health-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.filters{grid-template-columns:repeat(2,minmax(0,1fr))}.search-field{grid-column:1/-1}.stakeholder-layout,.stakeholder-control-view,.stakeholder-safeguard-view{grid-template-columns:1fr}.stakeholder-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.stakeholder-legend span{white-space:normal}}@media (width<=940px){.detail-panel{max-height:none;overflow:visible}.detail-workspace{gap:18px;display:grid;overflow:visible}.safeguard-list{border-bottom:1px solid #e4e9ef;border-right:0;max-height:360px;padding:0 0 14px}.detail-main{padding-left:0;overflow:visible}.detail-splitter{display:none}}@media (width<=720px){.app-shell{padding:14px}.stakeholder-toolbar{flex-direction:column;align-items:stretch}.health-grid,.stakeholder-metrics,.heatmap,.filters,.form-grid,.form-grid.compact,.detail-workspace,.assessment-controls,.assessment-maturity{grid-template-columns:1fr}.safeguard-list{border-bottom:1px solid #e4e9ef;padding-bottom:14px}.control-tile{min-height:190px}.evidence-row,.note-row{flex-direction:column}.assessment-nav,.safeguard-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}
