@charset "UTF-8";
:root{--navy:#10233b;--ink:#162a45;--blue:#1d5b96;--muted:#576d85;--line:#d8e2ec;--paper:#fff;--bg:#f4f6f9;--wash:#edf3f9;--gold:#966b2d;--danger:#9c3333;--font:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans SC",Inter,system-ui,sans-serif}*{box-sizing:border-box}body{margin:0;font:14px/1.6 var(--font);color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}button,input,select,textarea{font:inherit}button{cursor:pointer}button,a,input,select,textarea{outline-offset:4px}button:focus-visible,a:focus-visible{outline:2px solid var(--blue)}button{border:1px solid var(--line);border-radius:5px;background:#fff;color:var(--ink);padding:8px 13px;transition:background .15s,border-color .15s}button:hover{border-color:#9bacc0;background:#f7f9fc}button:disabled{opacity:.45;cursor:not-allowed}.primary{background:var(--navy);border-color:var(--navy);color:#fff}.primary:hover{background:#23415f;color:#fff}.ghost{background:transparent;border-color:transparent}.danger{color:var(--danger)}.small{font-size:13px;padding:5px 9px}.icon{display:none!important;width:0;height:0}.shell{display:grid;grid-template-columns:202px minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;background:var(--navy);color:#fff;padding:20px 18px 16px;display:flex;flex-direction:column;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,0.2) transparent}.sidebar::-webkit-scrollbar{width:4px}.sidebar::-webkit-scrollbar-thumb{background:rgba(255,255,255,0.2);border-radius:2px}.brand{display:block;padding:0 0 12px;border-bottom:1px solid #1f3754;margin-bottom:14px}.brand strong{display:block;font-size:18px;letter-spacing:1.5px;color:#fff;font-weight:650}.brand span{display:block;font-size:10px;letter-spacing:2px;color:#8ba3bc;text-transform:uppercase;margin-top:3px;font-weight:500}.nav-label{font-size:11px;letter-spacing:2px;color:#89a1b9;margin:12px 8px 8px}.nav{display:grid;gap:7px}.nav button{display:flex;align-items:center;text-align:left;background:none;border:0;color:#b9c9da;padding:9px 11px;border-radius:4px;gap:10px}.nav button:hover{background:#1c3958;color:white}.nav button.active{background:#2a4563;color:white;box-shadow:inset 3px 0 #b5cfe9}.nav .step{font-size:12px;letter-spacing:1px;opacity:.7}.nav small{display:block;font-size:10px;letter-spacing:1.1px;margin-top:2px;opacity:.55}.sidebar-bottom{margin-top:auto;padding-top:14px}.sidebar-bottom button{color:#becddd;border:0;background:none;padding-left:10px;width:100%;text-align:left;margin-bottom:5px}.sidebar-note{font-size:11.5px;line-height:1.55;color:#8fa6bd;padding:10px 8px 0;border-top:1px solid #2b435e;margin-top:8px}.workspace{min-width:0}.topbar{height:72px;border-bottom:1px solid var(--line);background:#fff;padding:0 35px;display:flex;justify-content:space-between;align-items:center;gap:12px}.breadcrumb{font-size:13px;color:var(--muted)}.breadcrumb b{color:var(--ink);font-weight:500}.top-actions{display:flex;align-items:center;gap:9px}.save-state{font-size:12px;color:var(--muted);margin-right:8px}.main{padding:28px 35px 35px;max-width:1800px;margin:auto}.project-row{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:12px;letter-spacing:.3px}.project-row .tag{border:1px solid #d7dfeb;background:#fff;padding:2px 8px;letter-spacing:1px;color:#516782}.demo-tag{color:#886830;background:#f3ebdc;padding:2px 8px;border-radius:3px}.heading{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin:12px 0 21px}.eyebrow{font-size:11px;letter-spacing:2.5px;color:var(--muted);margin-bottom:4px}h1{font-size:30px;line-height:1.4;letter-spacing:1px;margin:0;font-weight:650}h1 em{font-family:Georgia,serif;color:#bac4d0;font-weight:400;margin-right:10px;font-style:normal}.subtitle{color:var(--muted);font-size:14px;margin:8px 0 0}.heading-actions{display:flex;gap:8px;flex-shrink:0}.summary{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:0 0 24px;padding:15px 0}.stat{display:flex;align-items:center;gap:14px;border-right:1px solid var(--line);padding:0 23px}.stat:first-child{padding-left:0}.stat:last-child{border:0}.stat b{font-size:28px;font-weight:450;line-height:1.2;font-family:Georgia,serif}.stat span{font-size:13px;color:var(--muted)}.stat small{display:block;font-size:11px;color:#8390a1}.surface{background:white;border:1px solid var(--line);box-shadow:0 3px 13px #16283e03}.surface-head{padding:17px 23px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:15px}.surface-head strong{font-size:15px}.surface-head .caption{font-size:12px;color:var(--muted);margin-left:12px}.legend{display:flex;align-items:center;gap:10px;font-size:12px;color:var(--muted)}.strategy-band{margin:22px 24px 4px;background:var(--navy);color:white;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:17px 22px;border-radius:4px;border:1px solid rgba(255,255,255,0.12)}.strategy-band small{color:#9db4ca;font-size:11px;letter-spacing:2px;display:block;margin-bottom:3px}.strategy-band strong{font-size:17px;letter-spacing:.4px;font-weight:500}.strategy-band button{background:transparent;border-color:#4b6179;color:#dbe5ef;flex-shrink:0}.map-scroll{overflow-x:auto;padding:0 20px 13px}.map-svg{display:block;width:100%;min-width:770px;height:auto;font-family:var(--font)}.node{cursor:pointer}.node rect{transition:fill .15s,stroke .15s}.node:hover rect,.node:focus rect{fill:#eaf2fb;stroke:#3c6c9c}.node:focus{outline:0}.map-add{cursor:pointer}.map-add:hover rect{fill:#e7eef7}.surface-foot{display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:12px;padding:13px 23px;border-top:1px solid var(--line);color:var(--muted);background:#fcfdfe}.guide-strip{display:flex;gap:15px;align-items:flex-start;margin-top:17px;padding:15px 19px;border-left:2px solid #829dbb;background:#eaf0f6;color:#5e7087;font-size:13px}.guide-strip b{color:#334e6c;white-space:nowrap}.guide-strip button{margin-left:auto;white-space:nowrap;border:0;background:none;color:var(--blue);padding:0}.footer{font-size:11px;color:#8693a4;margin-top:21px;display:flex;justify-content:space-between;gap:20px}.view-toggle{display:flex;background:#edf1f6;padding:3px;border-radius:5px}.view-toggle button{font-size:13px;padding:5px 13px;background:none;border:0;color:var(--muted)}.view-toggle .active{background:white;color:var(--ink);box-shadow:0 1px 5px #14284010}.table-scroll{overflow:auto}table{width:100%;border-collapse:collapse;text-align:left;font-size:14px}th{font-weight:500;color:#53677e;background:#f4f7fa;font-size:12px;white-space:nowrap;padding:13px 14px;border-bottom:1px solid var(--line)}td{padding:15px 14px;border-bottom:1px solid #e7ecf2;vertical-align:top}tr:last-child td{border-bottom:0}td small{display:block;color:var(--muted);font-size:12px;margin-top:5px}.dim-cell{background:#f8fafc;width:108px;border-right:1px solid var(--line);font-size:13px;color:#536c86}.dim-cell b{display:block;font-family:Georgia,serif;font-size:22px;font-weight:400;color:#9aadc0;margin-bottom:5px}.link-button{border:0;background:transparent;padding:0;text-align:left;color:var(--blue);line-height:1.7}.link-button:hover{background:transparent;text-decoration:underline}.cell-title{font-weight:550;color:var(--ink)}.placeholder{color:#8494a7;font-size:13px}.count-pill{background:#eef3f8;border-radius:12px;padding:2px 8px;font-size:11px;color:#54708d;white-space:nowrap}.badge{display:inline-block;padding:2px 7px;font-size:11px;color:#40684f;background:#edf4ef;border-radius:3px}.badge.review{background:#fbf1df;color:#8d692f}.classic{padding:26px;display:grid;grid-template-columns:1fr 170px 1fr;gap:18px;align-items:center}.classic-card{border:1px solid #cad6e4;align-self:stretch;min-width:0}.classic-card.financial{grid-column:1/-1;grid-row:1;max-width:700px;justify-self:center;width:100%}.classic-card.customer{grid-column:1;grid-row:2}.classic-card.process{grid-column:3;grid-row:2}.classic-card.learning{grid-column:1/-1;grid-row:3;max-width:700px;width:100%;justify-self:center}.classic-center{grid-column:2;grid-row:2;background:var(--navy);color:white;border-radius:50%;width:164px;height:164px;display:flex;align-items:center;justify-content:center;text-align:center;padding:22px;font-size:15px;position:relative;line-height:1.8;box-shadow:0 0 0 10px #f1f5f9}.classic-card header{padding:11px 14px;border-bottom:2px solid #44658a;font-size:14px;background:#f1f5f9;display:flex;justify-content:space-between}.classic-card header span{font-size:11px;color:var(--muted)}.classic-card td,.classic-card th{font-size:12px;padding:9px 10px}.classic-card .link-button{font-size:12px}.plan-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:20px 23px;border-bottom:1px solid var(--line)}.plan-title{display:flex;gap:14px;align-items:flex-start}.plan-number{font-family:Georgia,serif;font-size:27px;color:#a2b3c6;line-height:1.25}.plan-title h3{margin:0;font-size:17px;font-weight:550}.plan-title p{margin:5px 0 0;color:var(--muted);font-size:12px}.plan-section{margin-bottom:18px}.plan-meta{display:flex;gap:18px;flex-wrap:wrap;padding:10px 23px;background:#f8fafc;color:var(--muted);font-size:12px;border-bottom:1px solid var(--line)}.table-actions{display:flex;gap:7px;justify-content:flex-end}.empty{padding:50px 25px;text-align:center;color:var(--muted)}.empty h3{font-size:18px;color:var(--ink);font-weight:500}.empty p{max-width:480px;margin:10px auto 22px}.task-status{font-size:12px;white-space:nowrap}.check-list{padding:5px 25px 24px}.check-row{display:flex;gap:15px;padding:17px 0;border-bottom:1px solid var(--line);align-items:center}.check-row .check-body{flex:1}.check-row p{margin:2px 0;color:var(--muted);font-size:13px}.check-row strong{font-size:14px}dialog{padding:0;border:1px solid #d1dce8;border-radius:9px;width:min(710px,calc(100vw - 28px));max-height:90vh;box-shadow:0 24px 100px #10233938;color:var(--ink)}dialog::backdrop{background:#0d203755;backdrop-filter:blur(3px)}.dialog-head{padding:22px 27px 15px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:flex-start}.dialog-head h2{margin:0;font-size:22px;font-weight:550}.dialog-head p{margin:5px 0 0;color:var(--muted);font-size:13px}.close{font-size:22px;padding:0 7px;line-height:1.3;border:0}.dialog-body{padding:23px 27px;max-height:calc(90vh - 185px);overflow:auto}.dialog-foot{padding:15px 27px;background:#f8fafc;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:12px}.dialog-foot>div{display:flex;gap:8px}.fields{display:grid;grid-template-columns:1fr 1fr;gap:17px}.field{display:flex;flex-direction:column;gap:6px;min-width:0}.field.wide{grid-column:1/-1}.field>label{font-size:13px;font-weight:550}.field input,.field textarea,.field select{width:100%;border:1px solid #cfd9e4;border-radius:4px;padding:9px 11px;background:#fff;color:var(--ink);min-height:41px}.field textarea{resize:vertical;min-height:85px}.field small{font-size:12px;color:var(--muted);line-height:1.6}.field input:focus,.field textarea:focus,.field select:focus{outline:2px solid #c1d6e9;border-color:#537fa5}.help-box{padding:12px 15px;background:#edf3f9;border-left:2px solid #6f8fac;font-size:13px;color:#536c85;margin:0 0 20px}.section-label{font-size:14px;font-weight:550;grid-column:1/-1;margin:7px 0 -4px;padding-top:12px;border-top:1px solid var(--line)}.choices{display:grid;gap:8px;grid-column:1/-1}.choice{display:flex;align-items:flex-start;gap:9px;font-size:13px;background:#f6f8fb;padding:10px}.choice input[type="checkbox"]{margin-top:5px;width:16px;height:16px;accent-color:var(--navy)}.choice span{flex:1}.choice small{display:block;color:var(--muted);font-size:12px}.relation-reason{width:100%;margin-top:7px;font:inherit;padding:6px 9px;border:1px solid #d0dbe8;background:white;border-radius:3px}.export-grid{display:grid;gap:11px}.export-option{text-align:left;padding:16px 18px;display:flex;align-items:center;gap:16px}.export-option b{font-size:15px;display:block}.export-option small{font-size:12px;color:var(--muted);display:block;margin-top:3px}.export-symbol{font-family:Georgia,serif;background:#edf2f8;color:#56728e;width:46px;height:46px;display:grid;place-items:center;font-size:14px}.export-option>span:last-child{margin-left:auto;color:#7890aa}#toast{position:fixed;bottom:28px;left:50%;transform:translateX(-50%) translateY(20px);opacity:0;pointer-events:none;background:var(--navy);color:white;padding:12px 22px;border-radius:6px;box-shadow:0 5px 25px #10233925;z-index:100;transition:.2s;max-width:calc(100vw - 30px);font-size:14px}#toast.show{transform:translateX(-50%) translateY(0);opacity:1}#print-root{display:none}.inline-row{display:flex;gap:10px;align-items:center}.muted{color:var(--muted)}.num{font-variant-numeric:tabular-nums}.required{color:#8b5b2b}.budget-total{font-size:13px;color:var(--muted);text-align:right;margin-bottom:12px}.budget-total b{font-family:Georgia,serif;font-size:23px;font-weight:400;color:var(--ink);margin:0 5px}
@media(min-width:1550px){.main{padding:35px 50px}.topbar{padding:0 50px}.map-svg{max-height:720px}}
@media(max-width:1150px){.shell{grid-template-columns:175px minmax(0,1fr)}.sidebar{padding:25px 13px}.main{padding:25px 23px}.topbar{padding:0 23px}.save-state{display:none}.heading{align-items:flex-start}.heading-actions{flex-direction:column}.classic{grid-template-columns:1fr 110px 1fr;padding:18px;gap:12px}.classic-center{width:110px;height:110px;font-size:12px;padding:10px}.surface-head .caption{display:none}.stat{padding:0 15px;gap:9px}}
@media(max-width:780px){.shell{display:block}.sidebar{height:auto;position:relative;padding:13px 18px;display:block}.brand{display:none}.nav-label,.sidebar-bottom{display:none}.nav{display:flex;gap:5px}.nav button{flex:1;padding:8px;justify-content:center;gap:7px;font-size:13px}.nav small{display:none}.nav button.active{box-shadow:inset 0 -2px #b5cfe9}.nav button[data-view="checks"]{flex:.5}.topbar{height:auto;min-height:60px;padding:10px 16px;flex-wrap:wrap}.breadcrumb{font-size:12px}.top-actions button{font-size:12px;padding:6px 9px}.main{padding:20px 16px}.heading{display:block;margin-bottom:18px}h1{font-size:26px}.heading-actions{flex-direction:row;margin-top:17px;flex-wrap:wrap}.summary{padding:12px 0;gap:7px}.stat{padding:0 7px;gap:5px;display:block}.stat b{font-size:24px}.stat span{display:block;font-size:11px}.stat small{display:none}.project-row{flex-wrap:wrap}.surface-head{padding:13px 15px;align-items:flex-start}.legend{gap:8px;font-size:11px}.strategy-band{margin:15px 15px 2px;padding:12px}.strategy-band strong{font-size:14px}.strategy-band button{font-size:11px;padding:4px 7px}.map-scroll{padding:0 10px 8px}.surface-foot{padding:12px 15px;display:block;font-size:11px}.surface-foot span{display:block}.guide-strip{display:block}.guide-strip b{display:block;margin-bottom:6px}.guide-strip button{margin-top:8px}.classic{display:flex;flex-direction:column}.classic-card{width:100%!important;max-width:none!important}.classic-center{border-radius:4px;order:-1;width:100%;height:auto;box-shadow:none;padding:15px}.classic-card td,.classic-card th{font-size:12px}.plan-header{padding:16px;gap:10px}.plan-title h3{font-size:15px}.plan-header>button{font-size:11px;white-space:nowrap}.plan-meta{padding:10px 16px}.footer{display:block;line-height:1.9}.fields{grid-template-columns:1fr}.field.wide{grid-column:auto}.dialog-body{padding:20px}.dialog-head{padding:20px}.dialog-foot{padding:13px 20px}.dialog-head h2{font-size:20px}.table-scroll table{min-width:850px}.check-row{align-items:flex-start}.check-row button{font-size:12px}.classic-card table{table-layout:fixed}.classic-card td{overflow-wrap:anywhere}}
@media print{@page{size:A3 landscape;margin:12mm}body{background:#fff;font-size:11px}#app,dialog,#toast{display:none!important}#print-root{display:block!important}.print-page{break-before:page}.print-page:first-child{break-before:auto}.print-title{display:flex;justify-content:space-between;align-items:center;border-bottom:2px solid #122943;padding:0 0 12px;margin-bottom:15px}.print-title h1{font-size:25px}.print-title span{font-size:12px;color:#66758a}#print-root .surface{box-shadow:none}#print-root button,#print-root .map-add,#print-root .heading-actions,#print-root .surface-foot{display:none}#print-root .strategy-band{print-color-adjust:exact;-webkit-print-color-adjust:exact}#print-root .map-svg{max-height:690px;min-width:0}#print-root table{font-size:11px;width:100%;table-layout:auto}#print-root th,#print-root td{font-size:11px;padding:9px}#print-root .table-scroll{overflow:visible}#print-root .table-scroll table{min-width:0}#print-root th{background:#eaf0f6!important;print-color-adjust:exact}#print-root thead{display:table-header-group}#print-root tr{break-inside:avoid}#print-root .plan-section{break-inside:auto;margin-bottom:18px}#print-root .plan-header{break-after:avoid}#print-root .classic-center{print-color-adjust:exact}#print-root .link-button{display:inline!important;color:#182b43}a{color:inherit;text-decoration:none}.print-note{font-size:10px;color:#66758a;margin-top:12px}}

.choice span{min-width:0}.choice input[type="checkbox"]{flex-shrink:0}.choice .relation-reason{display:block;min-height:40px;width:100%;height:auto;padding:9px 11px}.choice:has(input[type="checkbox"]:not(:checked)) .relation-reason{display:none}.choice:has(input[type="checkbox"]:checked){background:#edf4fc;border:1px solid #b7d1ed;border-radius:4px}
@media(max-width:780px){.nav button,.nav button[data-view="checks"]{flex:1;font-size:12px;padding:9px 5px;white-space:nowrap}.nav .step{display:none}.footer>span{display:block}.footer>span+span{margin-top:7px}}
@media print{#print-root .guide-strip{display:none}#print-root .placeholder{display:none!important}#print-root .table-scroll td[rowspan]:last-child{display:table-cell}#print-root table{line-height:1.35}#print-root th,#print-root td{padding:6px 8px}#print-root td small{font-size:10px;line-height:1.4;margin-top:2px}#print-root .dim-cell b{font-size:16px;line-height:1.1;margin:0 0 3px}#print-root .link-button{font:inherit;line-height:1.4}#print-root .plan-header{padding:12px 15px}#print-root .plan-meta{padding:7px 15px}#print-root .plan-section{margin-bottom:14px}#print-root .print-note{break-before:avoid}}

/* --- Professional Strategic Enhancement Styles --- */
.badge.lead { background: #eaf2fb; color: #1a568c; border: 1px solid #bfd7f0; font-weight: 500; }
.badge.lag { background: #f1f4f8; color: #3b5066; border: 1px solid #d3dce7; font-weight: 500; }
.badge.theme { background: #f5f0fb; color: #58337a; border: 1px solid #e1d3f3; }
.badge.category { background: #f0f4f9; color: #436280; font-size: 11px; padding: 2px 6px; }
.badge.rag-green { background: #eaf6ec; color: #1e6d34; border: 1px solid #bce4c6; font-weight: 600; }
.badge.rag-yellow { background: #fef7e6; color: #8a6519; border: 1px solid #f6deb0; font-weight: 600; }
.badge.rag-red { background: #fceeed; color: #a12b25; border: 1px solid #f3c2be; font-weight: 600; }
.trace-banner { display: flex; align-items: center; justify-content: space-between; gap: 14px; background: #fdfdfd; border: 1px solid #d4dde6; padding: 10px 18px; margin: 0 24px 12px; border-radius: 4px; font-size: 13px; color: #1a2a3a; box-shadow: 0 2px 6px rgba(18,41,67,0.04); }
.trace-banner b { color: #0f243b; }
.trace-tags { display: flex; gap: 10px; align-items: center; font-size: 12px; }
.trace-tag-cause { color: #1a4d3a; background: #eef7f3; border: 1px solid #cce8dc; padding: 2px 8px; border-radius: 3px; font-weight: 550; }
.trace-tag-effect { color: #824716; background: #fdf5ea; border: 1px solid #f6dfbe; padding: 2px 8px; border-radius: 3px; font-weight: 550; }
.node.is-active rect.card-bg { stroke: #122943 !important; stroke-width: 2.4px !important; filter: drop-shadow(0 4px 12px rgba(18,41,67,0.22)) !important; }
.node.is-faded { opacity: 0.16 !important; filter: grayscale(35%); transition: opacity .25s ease, filter .25s ease; }
path.edge.is-faded { opacity: 0.08 !important; transition: opacity .25s ease; }
path.edge.is-active-edge { stroke: #122943 !important; stroke-width: 2.2px !important; opacity: 1 !important; }
.roadmap-box { background: white; border: 1px solid var(--line); margin-bottom: 20px; box-shadow: 0 2px 10px rgba(0,0,0,0.02); }
.roadmap-head { padding: 14px 20px; border-bottom: 1px solid var(--line); display: flex; justify-content: space-between; align-items: center; }
.roadmap-head strong { font-size: 14px; color: var(--ink); }
.roadmap-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; padding: 16px 20px; background: #fbfcfd; }
.quarter-card { background: #ffffff; border: 1px solid #e1e7f0; border-radius: 4px; padding: 12px; min-height: 120px; display: flex; flex-direction: column; }
.quarter-card header { display: flex; justify-content: space-between; align-items: center; border-bottom: 1px solid #edf2f7; padding-bottom: 7px; margin-bottom: 9px; }
.quarter-card header b { font-family: Georgia, serif; font-size: 14px; color: #204162; }
.quarter-card header span { font-size: 11px; color: var(--muted); }
.milestone-item { background: #f8fafc; border: 1px solid #e2e8f0; border-left: 3px solid #245d94; border-radius: 3px; padding: 6px 9px; margin-bottom: 7px; font-size: 12px; line-height: 1.45; cursor: pointer; transition: background .15s, border-color .15s, transform .1s; }
.milestone-item:hover { background: #f0f6fc; border-color: #bad3ed; transform: translateY(-1px); }
.milestone-item strong { display: block; color: var(--ink); font-weight: 550; font-size: 12px; }
.milestone-item small { color: var(--muted); font-size: 11px; }
.strat-gap { background: #f6f8fb; border-left: 3px solid #7189a5; padding: 9px 14px; font-size: 12px; color: #41556c; margin: 10px 23px 0; border-radius: 0 3px 3px 0; }
.strat-gap b { color: #1c3652; margin-right: 6px; }
.strat-outcome { background: #f0f7f4; border-left: 3px solid #257065; padding: 9px 14px; font-size: 12px; color: #17423b; margin: 8px 23px 0; border-radius: 0 3px 3px 0; }
.strat-outcome b { color: #0d2e28; margin-right: 6px; }
.check-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 15px; padding: 20px 24px 10px; }
.check-card { background: #f8fafc; border: 1px solid #dce5ee; border-radius: 5px; padding: 15px; display: flex; flex-direction: column; justify-content: space-between; }
.check-card header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 8px; }
.check-card h4 { margin: 0; font-size: 13px; font-weight: 600; color: #1e3853; }
.radar-score { font-family: Georgia, serif; font-size: 22px; font-weight: 600; }
.radar-score.ok { color: #216e39; }
.radar-score.warn { color: #9c6517; }
.radar-desc { font-size: 12px; color: var(--muted); line-height: 1.5; margin: 0; }











@media(max-width:780px){ .check-grid { grid-template-columns: 1fr; } .roadmap-grid { grid-template-columns: 1fr; } }

/* Micro-interactions & animations */
dialog[open] { animation: modalIn .22s cubic-bezier(0.16, 1, 0.3, 1); }
@keyframes modalIn { from { opacity: 0; transform: translateY(14px) scale(0.98); } to { opacity: 1; transform: translateY(0) scale(1); } }
dialog::backdrop { animation: modalBackdrop .2s ease; }
@keyframes modalBackdrop { from { opacity: 0; } to { opacity: 1; } }

.node { cursor: pointer; transition: transform .18s cubic-bezier(0.16, 1, 0.3, 1); }
.node:hover { transform: translateY(-2px); }
.node rect.card-bg { transition: fill .2s ease, stroke .2s ease, filter .2s ease; }
.node:hover rect.card-bg { filter: drop-shadow(0 6px 14px rgba(18, 41, 67, 0.12)); }
.node-trace-link:hover { fill: #0f2742 !important; text-decoration: underline; }

button { transition: background .15s, border-color .15s, transform .15s, box-shadow .15s; }
button:hover:not(:disabled) { transform: translateY(-1px); box-shadow: 0 2px 6px rgba(18,41,67,0.06); }
button:active:not(:disabled) { transform: translateY(0); }

/* Causal Network, Legend Chips & Diagnostic Radar Tags */
.causal-block { grid-column: 1/-1; background: #f8fafc; border: 1px solid #e1eaf2; border-radius: 5px; padding: 13px 15px; }
.causal-heading { font-size: 13px; font-weight: 600; color: #153250; margin-bottom: 9px; }
.choice:has(input[name="supports"]:not(:checked)) .relation-reason,
.choice:has(input[name="supported_by"]:not(:checked)) .relation-reason { display: none; }


.radar-tag { font-size: 11px; padding: 3px 8px; border-radius: 3px; font-weight: 600; white-space: nowrap; flex-shrink: 0; }
.radar-tag.warn { background: #fdf4e8; color: #9c631a; border: 1px solid #f6deb8; }
.radar-tag.ok { background: #eaf5ec; color: #1e6d34; border: 1px solid #bde4c7; }

.next-step-strip { display: flex; align-items: center; justify-content: space-between; gap: 15px; margin-top: 14px; padding: 12px 19px; background: #edf3fa; border: 1px dashed #b9cbe0; border-radius: 4px; font-size: 13px; color: #244161; }
.next-step-strip span { font-weight: 550; }
.badge.theme-micro { border-radius: 2px; font-weight: 500; }
.badge.theme { transition: background .15s, color .15s, border-color .15s; font-weight: 500; }
.plan-section { border-top-width: 3px !important; border-top-style: solid !important; }

/* 2.6 work surface: compact header, readable controls, bounded long content */
.main{padding-top:20px}.heading{margin:12px 0 16px}.heading h1{font-size:28px}.eyebrow,.subtitle{display:none}.summary{padding:9px 0;margin-bottom:18px}.stat b{font-size:23px}.stat small{display:none}.project-row{font-size:12px}.project-row>span{max-width:50%;overflow-wrap:anywhere}.brand{display:flex;align-items:center;gap:10px}.brand-text strong{font-size:19px}.brand-text span{font-size:9px}
.strategy-band{padding:16px 20px;margin:18px 20px 4px;gap:16px}.strategy-band>div{min-width:0}.strategy-band strong{font-size:16px;line-height:1.6}.strategy-band details{margin-top:8px;font-size:13px}.strategy-band details p{white-space:pre-wrap;overflow-wrap:anywhere}.strategy-band summary{cursor:pointer;color:#d5e2ef}.strategy-band button{flex-shrink:0}.map-tools{display:flex;align-items:center;gap:8px;padding:10px 20px}.map-tools small{color:#62758a}.map-tools button{min-height:34px}.map-scroll{overflow:auto}.map-svg{min-width:1000px}.mobile-objectives{display:none}
.classic-center{overflow:hidden;line-height:1.55;font-size:13px}.classic-center .center-detail{display:block;margin:6px auto 0;background:none;color:white;border:1px solid #8fa4b9;font-size:11px;padding:3px 8px}.classic-card{min-width:0}.classic-card td{overflow-wrap:anywhere}.classic{align-items:start}
.theme-row{display:grid;grid-template-columns:1fr 2fr 42px auto;gap:10px;align-items:end;margin:12px 0}.theme-row label{font-size:12px;color:#62758a;min-width:0}.theme-row input{width:100%;min-width:0}.theme-row input[type=color]{height:39px;padding:3px}.theme-row button{height:39px}.field input[type=checkbox]{width:18px;height:18px;vertical-align:middle}.field small{line-height:1.5}
.recovery-banner{border:1px solid #d79f65;background:#fff7eb;padding:16px;margin:0 0 20px;color:#623e19}.recovery-banner p{margin:6px 0 12px}.recovery-banner button{margin:3px}.save-state{display:inline;font-size:12px}.check-boundary{padding:12px 24px;color:#5b6f84;font-size:14px;line-height:1.7}.check-grid{padding-bottom:16px}.check-card b{font-size:22px;color:#284761}.method-guide{font-size:14px;line-height:1.85}.method-guide h3{margin-top:24px;color:#18344f}.method-guide a{color:#265f8b}.method-guide details{border-top:1px solid #dce4ed;padding-top:15px}.milestone-item{display:block;width:100%;text-align:left;background:white;margin:8px 0;white-space:normal}.milestone-item strong,.milestone-item small{display:block;overflow-wrap:anywhere}.roadmap-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}.guide-strip{margin-top:14px;font-size:13px}.guide-strip summary{cursor:pointer;font-weight:600}.guide-strip:not([open])>*:not(summary){display:none}.guide-strip[open]{display:block}.guide-strip[open]>*{margin-top:8px}.node-trace-link{font-size:12px}.node:focus,.node-trace-link:focus,button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #bf7b35;outline-offset:3px}td small{font-size:12px}.num small{white-space:normal}.table-scroll tbody tr:hover{background:#f7fafc}.surface .table-scroll td{vertical-align:top}.theme-micro,.badge{line-height:1.5}.breadcrumb{overflow-wrap:anywhere;min-width:0}.dialog-body{overflow-wrap:anywhere}
@media(max-width:780px){.main{padding:16px 12px}.summary{display:none}.project-row>span{max-width:100%}.project-row .demo-tag{font-size:10px}.heading{margin-bottom:12px}.heading-actions{margin-top:10px}.strategy-band{margin:12px;padding:14px;display:block}.strategy-band>button{margin-top:10px}.strategy-band strong{font-size:15px}.strategy-band>div>div{display:none}.map-scroll{max-height:400px}.map-tools{flex-wrap:wrap;padding:8px 12px}.mobile-objectives{display:block;padding:12px}.mobile-objectives section{border-top:1px solid #dce4ed;padding:12px 0}.mobile-objectives h3{font-size:15px;color:#193852}.mobile-objectives section>div{display:flex;gap:7px;margin:6px 0}.mobile-objectives button{min-height:44px;text-align:left;white-space:normal}.mobile-objectives section>div>button:first-child{flex:1}.theme-row{grid-template-columns:1fr 44px auto;padding-bottom:12px;border-bottom:1px solid #dce4ed}.theme-row label{grid-column:1/-1}.theme-row input[type=color]{grid-column:2}.classic-center{min-height:95px;max-height:none}.top-actions{flex-wrap:wrap}.save-state{max-width:130px}.check-row{flex-wrap:wrap}.check-row .check-body{min-width:180px}.surface-head{flex-wrap:wrap;gap:10px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
@media print{#print-root .next-step-strip,#print-root .guide-strip,#print-root .map-tools{display:none!important}#print-root .map-svg{width:100%;min-width:0;max-height:620px}#print-root .table-scroll th:last-child,#print-root .table-scroll td:last-child{display:table-cell}#print-root .milestone-item{border:1px solid #dce4ed;padding:8px;break-inside:avoid}#print-root .roadmap-box{break-inside:avoid}#print-root .roadmap-grid{grid-template-columns:repeat(4,1fr)}#print-root .print-title{gap:20px}#print-root p{overflow-wrap:anywhere}#print-root .plan-meta,#print-root .strat-outcome,#print-root .strat-gap{break-inside:avoid}.print-note{font-size:10px}#print-root .plan-section{break-before:auto}.print-page{break-after:auto}}

[hidden]{display:none!important}.mobile-map-toggle{display:none}.storage-location{font-size:13px;color:#5a7188;overflow-wrap:anywhere;line-height:1.7}.node-trace-link{cursor:pointer}.dim-cell{border-right:1px solid #dce4ed}.map-scroll .map-svg{max-width:none}
@media(max-width:780px){.mobile-map-toggle{display:block;margin:10px 12px}.map-scroll,.map-tools{display:none}.chart-open .map-scroll,.chart-open .map-tools{display:block}.chart-open .map-scroll{max-height:500px}.mobile-objectives{padding-top:0}.brand{margin-bottom:10px;padding-bottom:10px}.sidebar{padding:10px 14px}.topbar{min-height:48px}.project-row{margin-bottom:8px}.mobile-objectives section:first-child{border-top:0}.strategy-band small{display:none}.next-step-strip{flex-wrap:wrap}.classic-center{overflow:visible}}

.strategy-band>div>small{display:none}.strategy-band>div>div{display:none}.strategy-band{padding:12px 18px}.map-scroll .map-svg{max-height:none}.classic-center{min-height:164px;min-width:164px}.classic{grid-template-columns:minmax(0,1fr) 164px minmax(0,1fr)}
@media(max-width:780px){.classic{display:flex}.classic-center{min-width:0;min-height:100px}.map-scroll .map-svg{max-height:none}}

.target-cell{min-width:150px}.target-cell b,.target-cell small{white-space:nowrap}.actual-cell{min-width:100px}.indirect-support{font-size:12px;color:#526d86;margin:4px 0}.indirect-support summary{cursor:pointer}.indirect-support .link-button{font-size:12px;margin-top:5px}.classic-card small{display:block;font-size:11px;color:#61778d}.classic-card .badge.theme{max-width:100%;white-space:normal}.num{font-variant-numeric:tabular-nums}
@media print{.target-cell{min-width:115px}.actual-cell{min-width:60px}.indirect-support{font-size:10px}.target-cell small{font-size:10px}}
.wide-dialog{width:min(980px,calc(100vw - 28px))}.objective-overview{font-size:14px;line-height:1.7}.objective-overview>section{margin-top:26px;border-top:1px solid #dce4ed;padding-top:14px;scroll-margin:12px}.objective-overview h3{font-size:17px;color:#183852;margin:8px 0}.objective-overview h4{font-size:14px;margin:18px 0 8px}.detail-meta,.section-explain,.detail-empty{color:#5b7085;font-size:13px}.detail-empty{padding:14px;background:#f5f8fb;border-left:3px solid #abbfce}.linked-item{padding:16px 0;border-bottom:1px solid #e1e7ee}.linked-title{display:flex;justify-content:space-between;align-items:center;gap:12px}.linked-title>b{font-size:15px;color:#1d405d}.linked-title button{flex-shrink:0}.linked-item p{margin:7px 0;overflow-wrap:anywhere}.linked-item small{display:block;color:#61778c;line-height:1.7}.metric-facts{display:flex;gap:20px;flex-wrap:wrap}.detail-jump{display:flex;gap:8px;flex-wrap:wrap;background:#f2f6fa;padding:12px}.detail-jump button{font-size:13px}.support-path{background:#f4f7fa;padding:12px;margin:10px 0;border-left:2px solid #8daac4}.support-path .link-button{font-size:13px;white-space:normal}.task-detail-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0}.linked-item details{margin-top:12px}.linked-item summary{cursor:pointer;color:#285273}.relation-explanation{display:block;color:#6a7e90;margin:4px 0}.review-notice{background:#fff6e9;padding:9px;color:#754b22}.node-count-link{cursor:pointer}.node-count-link:hover{text-decoration:underline}.node-count-link:focus{outline:2px solid #b67836}.objective-overview section:focus{outline:none}
.guide-library{font-size:14px;line-height:1.85;color:#354f67}.guide-search{display:block;font-weight:600}.guide-search input{display:block;width:100%;margin-top:7px;padding:10px;border:1px solid #ccd8e4;border-radius:4px}.guide-toc{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:14px 0}.guide-toc button{text-align:left;white-space:normal;font-size:13px;line-height:1.6;padding:9px 12px}.guide-chapter{border-top:1px solid #d7e1eb;padding:13px 0;scroll-margin:15px}.guide-chapter>summary{font-size:16px;font-weight:600;color:#173b58;cursor:pointer}.guide-chapter>div{padding:8px 4px}.guide-chapter p{margin:10px 0}.guide-chapter h3{font-size:15px;margin-top:22px;color:#183b55}.guide-lead{font-size:16px;color:#173b58}.guide-flow{padding-left:22px}.guide-example{padding:14px 18px;background:#f1f6fa;border-left:3px solid #6186a5;margin:15px 0;line-height:1.9}.guide-table{width:100%;border-collapse:collapse;table-layout:fixed;margin:14px 0;font-size:13px}.guide-table th{background:#eff4f9;color:#264a68;text-align:left}.guide-table th,.guide-table td{padding:10px;border:1px solid #dce4ed;vertical-align:top;overflow-wrap:anywhere}.guide-table th:first-child{width:22%}.guide-library a{color:#1b6297;text-decoration:underline}.guide-library li{margin:7px 0}.guide-library summary:focus-visible{outline:2px solid #b07839}.guide-search-status{font-size:12px}.metric-context{padding:10px 14px;border-left:3px solid #8aabc4;background:#f4f8fb;line-height:1.7;font-size:13px;margin-bottom:16px}
@media(max-width:780px){.wide-dialog{width:calc(100vw - 16px)}.wide-dialog .dialog-head{padding:15px}.wide-dialog .dialog-body{padding:15px}.wide-dialog .dialog-foot{padding:12px;flex-wrap:wrap}.wide-dialog .dialog-head h2{font-size:19px}.linked-title{align-items:flex-start;flex-wrap:wrap}.task-detail-row{align-items:flex-start;flex-wrap:wrap}.guide-toc{grid-template-columns:1fr}.guide-table{font-size:12px}.guide-table td,.guide-table th{padding:7px}.guide-chapter>summary{font-size:15px}.detail-jump{padding:8px}.detail-jump button{min-height:40px}.objective-overview .detail-meta{overflow-wrap:anywhere}}

/* Focused overview: one question per panel, comparable values, optional detail. */
.overview-dialog .dialog-body{background:#f5f7fa;padding:0 24px 24px}
.objective-context{padding:16px 0 10px}.objective-context p{margin:5px 0}.objective-context>p:last-child{font-size:14px}
.detail-jump{position:sticky;top:0;z-index:2;border-bottom:1px solid #c5d2df;background:#f5f7fa;padding:0;gap:0;flex-wrap:nowrap;margin-bottom:20px}
.detail-jump button{flex:1;border:0;border-bottom:3px solid transparent;border-radius:0;background:transparent;padding:13px 7px;font-size:14px;color:#566b80}
.detail-jump button[aria-pressed="true"]{border-bottom-color:#245c87;background:#e8f0f7;color:#173c5b;font-weight:650}
.detail-jump b{display:inline-block;margin-left:6px;font-variant-numeric:tabular-nums}
.objective-overview>section{margin:0;border:0;padding:0}.objective-overview>section[hidden]{display:none!important}
.objective-overview h3{font-size:18px}.section-explain{margin:6px 0 18px;line-height:1.7}
.objective-overview .linked-item{background:#fff;border:1px solid #d6e0ea;border-radius:6px;margin:14px 0;padding:18px 20px}
.linked-title>div{min-width:0}.linked-title b{display:block;font-size:17px;color:#173751;line-height:1.6}.record-number{display:block;font-size:11px;color:#617a90;letter-spacing:1px;margin-bottom:3px}
.metric-facts{display:grid;grid-template-columns:1fr 1fr 1fr;gap:0;margin:16px 0 10px;padding:15px 0;background:#f5f8fb;border:1px solid #e4ebf2;border-radius:4px}
.metric-facts>div{min-width:0;padding:0 16px;border-right:1px solid #dce5ed}.metric-facts>div:last-child{border:0}
.fact-label{display:block;font-size:12px;color:#5b7185;margin-bottom:6px;font-weight:400}.metric-facts strong{display:block;font-size:23px;font-weight:650;color:#183c59;line-height:1.45;overflow-wrap:anywhere}.metric-facts .badge{margin:4px 0}.metric-facts small{margin-top:6px;font-size:12px}
.record-owner{font-size:13px;color:#50687e}.record-details{border-top:1px solid #e1e8ef;padding-top:12px}.record-details summary{font-size:13px}.record-definition{display:grid;grid-template-columns:100px minmax(0,1fr);gap:9px 16px;font-size:13px;margin:16px 0 0}.record-definition dt{color:#647b90}.record-definition dd{margin:0;overflow-wrap:anywhere}
.objective-overview h4.group-heading{display:flex;align-items:center;gap:8px;font-size:15px;margin-top:24px}.group-heading:before{content:"";width:3px;height:16px;background:#617f9c}.initiative-purpose{padding:12px 0}.support-path{line-height:2}.objective-overview #detail-relations>h3{margin-top:22px}.objective-overview #detail-relations>p:not(.section-explain){background:white;padding:14px;border:1px solid #d6e0ea;border-radius:4px}.objective-overview .detail-empty{background:#fff;border:1px dashed #b6c8d7;border-radius:4px}
.node-count-link{text-decoration:underline;text-underline-offset:2px}.node-count-link:hover{font-weight:650}
@media(max-width:780px){.overview-dialog .dialog-body{padding:0 14px 16px}.objective-context{padding-top:10px}.detail-jump button{font-size:13px;padding:12px 4px}.detail-jump b{margin-left:3px}.objective-overview .linked-item{padding:14px}.linked-title b{font-size:16px}.metric-facts{grid-template-columns:1fr 1fr;gap:14px 0;padding:12px 0}.metric-facts>div{padding:0 10px}.metric-facts>div:nth-child(2){border:0}.metric-facts>div:last-child{grid-column:1/-1;border-top:1px solid #dce5ed;padding-top:10px}.metric-facts strong{font-size:21px}.record-definition{grid-template-columns:1fr;gap:3px}.record-definition dd{margin-bottom:8px}.overview-dialog .dialog-head h2{font-size:18px}.objective-context>p:last-child{font-size:13px}}
@media print{.node-count-link{text-decoration:none}}

/* Keep long imported names from displacing the close control. */
.dialog-head>div{min-width:0;flex:1}.dialog-head h2{overflow-wrap:anywhere;max-height:4.5em;overflow:auto;line-height:1.5}.dialog-head>.close{flex-shrink:0;margin-left:12px}
