:root{--navy-950:#07101f;--navy-900:#0b1527;--navy-850:#101b31;--navy-800:#14223b;--line:#283852;--line-soft:#21304a;--text:#f4f7fb;--muted:#9fb0c8;--mint:#22d3a6;--blue:#38bdf8;--purple:#8b5cf6;--amber:#f59e0b;--red:#ef4444}*{box-sizing:border-box}html{color-scheme:dark}body{margin:0;background:radial-gradient(circle at 75% 0,rgba(56,189,248,.08),transparent 30%),var(--navy-950);color:var(--text);font-family:Arial,Helvetica,sans-serif;font-size:15px}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.35}.app-shell{min-height:100vh}.topbar{height:72px;padding:0 30px;gap:24px;border-bottom:1px solid var(--line-soft);background:rgba(7,16,31,.92);position:sticky;top:0;z-index:50;backdrop-filter:blur(18px)}.brand,.topbar{display:flex;align-items:center}.brand{gap:11px;min-width:240px}.brand-mark{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;color:#06131e;background:linear-gradient(145deg,var(--mint),#8af5d7);font-weight:900;font-size:20px;box-shadow:0 0 30px rgba(34,211,166,.2)}.brand>div:last-child{display:flex;flex-direction:column}.brand strong{letter-spacing:.14em;font-size:15px}.brand span{color:var(--muted);font-size:12px;margin-top:2px}.save-state{margin-left:auto;display:flex;align-items:center;gap:8px;color:#b9c6d8;font-size:12px}.live-dot{width:7px;height:7px;background:var(--mint);border-radius:50%;box-shadow:0 0 0 5px rgba(34,211,166,.1)}.toolbar{display:flex;align-items:center;gap:8px}.danger,.ghost,.icon-button,.primary{border:1px solid var(--line);background:#121f35;color:#dce6f3;padding:10px 14px;border-radius:9px;font-weight:700;transition:.18s ease}.ghost:hover,.icon-button:hover{border-color:#536987;background:#192840}.primary{color:#07131e;background:var(--mint);border-color:var(--mint)}.primary:hover{background:#59e1bc;transform:translateY(-1px)}.danger{background:rgba(239,68,68,.08);border-color:rgba(239,68,68,.35);color:#fca5a5}.danger:hover{background:rgba(239,68,68,.16)}.small{padding:8px 11px;font-size:13px}.icon-button{width:40px;padding:10px 0;font-size:20px}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.hero{padding:34px 34px 26px;display:flex;justify-content:space-between;gap:40px;max-width:1900px;margin:0 auto}.eyebrow,.section-kicker{color:var(--mint);letter-spacing:.14em;font-weight:800;font-size:11px}.hero h1{font-size:clamp(25px,3vw,39px);margin:9px 0 7px;letter-spacing:-.035em;line-height:1.08}.hero p{color:var(--muted);margin:0;font-size:16px}.hero-meta{display:flex;align-items:center;gap:38px;padding:8px 22px;border:1px solid var(--line-soft);border-radius:14px;background:rgba(16,27,49,.65);min-width:330px}.hero-meta div{display:flex;flex-direction:column;gap:5px}.hero-meta span{color:#7f92ac;font-size:11px;text-transform:uppercase;letter-spacing:.1em}.hero-meta strong{font-size:14px}.kpi-grid{max-width:1900px;margin:0 auto 24px;padding:0 34px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}.kpi{min-height:132px;border:1px solid var(--line-soft);border-radius:14px;padding:20px;background:linear-gradient(145deg,rgba(20,34,59,.95),rgba(11,21,39,.95));position:relative;overflow:hidden}.kpi:before{inset:0 auto 0 0;width:3px}.kpi:after,.kpi:before{content:"";position:absolute;background:var(--accent)}.kpi:after{width:100px;height:100px;right:-30px;top:-35px;border-radius:50%;opacity:.06}.kpi.mint{--accent:var(--mint)}.kpi.blue{--accent:var(--blue)}.kpi.purple{--accent:var(--purple)}.kpi.amber{--accent:var(--amber)}.kpi>span{display:block;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:11px;font-weight:700}.kpi>strong{display:block;color:var(--accent);font-size:34px;margin:10px 0 7px;line-height:1}.kpi>strong.compact{font-size:19px;max-width:230px;line-height:1.18}.kpi small{color:#8193ac;font-size:12px}.tabs{max-width:1900px;margin:0 auto;padding:0 34px;display:flex;gap:5px;border-bottom:1px solid var(--line-soft)}.tabs button{padding:13px 17px;border:0;border-bottom:2px solid transparent;color:#8497b0;background:transparent;font-weight:700}.tabs button:hover{color:#dbe6f4}.tabs button.active{color:var(--mint);border-bottom-color:var(--mint);background:linear-gradient(0deg,rgba(34,211,166,.07),transparent)}.panel{border:1px solid var(--line-soft);border-radius:15px;background:linear-gradient(145deg,rgba(16,27,49,.97),rgba(10,20,37,.97));box-shadow:0 16px 55px rgba(0,0,0,.12)}.matrix-panel{max-width:calc(100vw - 44px);overflow:hidden}.panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:21px 23px 17px}.panel-head h2{font-size:20px;margin:6px 0 5px;letter-spacing:-.02em}.panel-head p{color:var(--muted);margin:0;font-size:13px;line-height:1.5}.matrix-actions,.search{display:flex;gap:8px;align-items:center}.search{min-width:280px;height:40px;border:1px solid var(--line);background:#0a1528;border-radius:9px;padding:0 11px;color:#8193ac}.search input{width:100%;border:0;outline:0;color:white;background:transparent}.legend{flex-wrap:wrap;gap:8px 16px;margin:0 23px 17px;padding:10px 13px;background:#0a1527;border:1px solid #1c2a42;border-radius:9px;font-size:11px;color:#9eafc4}.legend,.legend>span{display:flex;align-items:center}.legend>span{gap:6px}.legend .legend-title{color:white;font-weight:800}.legend i{width:20px;text-align:center;font-style:normal;font-weight:900;font-size:15px}.legend i.rel-strong,.relation.rel-strong{color:#d946ef}.legend i.rel-medium,.relation.rel-medium{color:#e879f9}.legend i.rel-weak,.relation.rel-weak{color:#f0abfc}.legend-divider{height:20px;width:1px;background:var(--line)}.roof-wrap{min-height:235px;display:flex;align-items:stretch;border-top:1px solid var(--line-soft);background:radial-gradient(circle at 50% 100%,rgba(56,189,248,.08),transparent 42%),#0a1426}.roof-label{width:200px;flex:0 0 200px;padding:24px;border-right:1px solid var(--line-soft);display:flex;flex-direction:column;justify-content:flex-end;gap:7px}.roof-label span{font-weight:800}.roof-label small{color:var(--muted);line-height:1.4}.roof-scroll{overflow-x:auto;flex:1;display:flex;justify-content:center}.roof-outline{fill:rgba(56,189,248,.02);stroke:#3c7192;stroke-width:1.2}.roof-line{stroke:#1e4d6c;opacity:.8}.roof-point{cursor:pointer;outline:none}.roof-point:focus circle,.roof-point:hover circle{fill:#243653;stroke-width:3}.matrix-scroll{overflow:auto;max-height:720px;border-top:1px solid var(--line);scrollbar-color:#425576 #0b1527}.matrix-table{border-collapse:separate;border-spacing:0;min-width:1760px;width:100%;font-size:12px}.matrix-table td,.matrix-table th{border-right:1px solid #273750;border-bottom:1px solid #273750}.matrix-table thead th{position:sticky;top:0;z-index:12;background:#172c49}.rank-col{text-align:center;position:sticky;z-index:15!important;background:#142945!important}.need-col{width:330px;min-width:330px;position:sticky;left:48px;z-index:14!important;background:#101f36!important;padding:9px 13px;line-height:1.35}thead .need-col{background:#173657!important;text-align:left;font-size:13px}.number-col{width:62px;min-width:62px;text-align:center;background:#12263f!important}.matrix-table .number-col:nth-child(3){left:378px}.matrix-table .number-col:nth-child(4){left:440px}.tech-head{width:56px;min-width:56px;height:260px;vertical-align:bottom;padding:0;background:linear-gradient(#173657,#152b48)!important}.tech-number{position:absolute;top:7px;left:50%;transform:translateX(-50%);color:var(--blue);font-weight:900}.vertical-label{height:200px;display:flex;align-items:flex-end;padding:8px 6px;writing-mode:vertical-rl;transform:rotate(180deg);line-height:1.15;font-weight:700;color:#d9e5f2}.direction{display:block;padding:7px 2px;font-size:9px;color:var(--mint);background:#0f2037;white-space:nowrap;overflow:hidden}.direction.min{color:#fb7185}.direction.target{color:#fbbf24}.competitor-head{min-width:70px;width:70px;vertical-align:bottom;padding:7px 4px;background:#213654!important}.competitor-head span{writing-mode:vertical-rl;transform:rotate(180deg);display:inline-block;height:175px;text-align:left}.competitor-head.c0{background:#0d574b!important}.matrix-table tbody .need-row:hover .need-col,.matrix-table tbody .need-row:hover .relation-cell{background-color:#242631!important}.row-rank{width:25px;height:25px;place-items:center;border-radius:7px;background:#1e3a5c;color:#9fdbff}.importance,.row-rank{display:inline-grid;font-weight:900}.importance{place-items:center;width:27px;height:27px;border-radius:50%;color:#08131e;background:var(--amber)}.relation-cell{width:56px;min-width:56px;height:44px;padding:3px;background:#0d192c}.relation{width:100%;height:100%;border:0;background:transparent;border-radius:6px;font-size:17px;font-weight:900}.relation:focus,.relation:hover{outline:1px solid #4b6384;background:#1a2c48}.relation.rel-none{color:#41506a}.score-cell{width:70px;text-align:center;background:#101e33}.score-cell select{width:45px;padding:5px 4px;border:1px solid #364762;background:#0a1527;border-radius:7px;color:white;text-align:center}.score-cell:first-of-type select{border-color:rgba(34,211,166,.5);color:var(--mint)}.summary-row td{height:41px;background:#12233a}.summary-row .need-col{background:#193657!important;color:#dce9f7}.summary-cell{text-align:center;font-size:11px}.summary-fill{background:#102038!important}.rank-badge,.target-pill{display:inline-block;min-width:25px;padding:4px;border-radius:6px;color:var(--mint);background:rgba(34,211,166,.1);font-weight:900}.rank-badge{color:#c4b5fd;background:rgba(139,92,246,.13)}.difficulty{display:inline-grid;width:25px;height:25px;place-items:center;border-radius:50%;background:#334155;font-weight:900}.difficulty.d2{background:#a16207}.difficulty.d3,.difficulty.d4{background:#b91c1c}.filter-summary{padding:10px 23px;margin:0;color:var(--muted);font-size:12px}.view-grid{max-width:1500px;margin:24px auto 0;padding:0 24px;display:grid;grid-template-columns:1fr 1fr;gap:16px}.view-grid .wide{grid-column:1/-1}.priority-list{padding:0 22px 23px;display:grid;gap:8px}.priority-row{display:grid;grid-template-columns:38px minmax(260px,1.2fr) minmax(180px,1fr) 70px;align-items:center;gap:14px;padding:10px;border:1px solid #21314b;border-radius:10px;background:#0b172a}.priority-rank{width:30px;height:30px;display:grid;place-items:center;border-radius:8px;background:rgba(34,211,166,.12);color:var(--mint);font-weight:900}.priority-row>div:nth-child(2){display:flex;flex-direction:column;gap:4px}.priority-row small{color:#8295ae}.bar-track{height:9px;border-radius:9px;overflow:hidden;background:#1b2b43}.bar-track i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--purple),var(--mint))}.priority-row>strong:last-child{color:var(--mint);text-align:right}.risk-list{padding:0 22px 25px;display:grid;gap:16px}.risk-list>div{position:relative;display:grid;grid-template-columns:1fr 45px;gap:10px;padding-bottom:10px;border-bottom:3px solid #1c2c43}.risk-list span{font-size:13px}.risk-list strong{text-align:right;color:#fbbf24}.risk-list i{position:absolute;bottom:-3px;left:0;height:3px;background:linear-gradient(90deg,var(--amber),var(--red))}.owner-wrap{padding:0 22px 25px;display:flex;align-items:center;gap:30px}.donut{width:170px;height:170px;border-radius:50%;display:grid;place-items:center;position:relative;flex:0 0 auto}.donut:after{content:"";width:106px;height:106px;position:absolute;border-radius:50%;background:#101b31}.donut span{z-index:1;display:flex;flex-direction:column;align-items:center;color:var(--muted);font-size:11px;text-transform:uppercase}.donut strong{color:white;font-size:31px}.owner-legend{flex:1;display:grid;gap:8px}.owner-legend>div{display:grid;grid-template-columns:10px 1fr 25px;gap:8px;align-items:center}.chart-legend i,.owner-legend i{width:8px;height:8px;border-radius:50%}.owner-legend span{color:#b3c1d3;font-size:12px}.owner-legend strong{text-align:right}.chart-legend{display:flex;flex-wrap:wrap;gap:16px;padding:0 24px 8px}.chart-legend span{display:flex;align-items:center;gap:7px;color:#aebed1;font-size:12px}.chart-scroll{overflow-x:auto;padding:0 18px 14px}.line-chart{width:100%;min-width:720px}.line-chart text{fill:#7e91aa;font-size:11px}.grid-line{stroke:#263750;stroke-width:1}.gap-table{padding:0 22px 24px;display:grid;gap:7px}.gap-table>div{display:grid;grid-template-columns:34px minmax(260px,1fr) 90px 130px 50px;gap:12px;align-items:center;padding:10px;background:#0b172a;border:1px solid #20304a;border-radius:9px}.gap-table span{color:#8fa2ba;font-size:12px}.gap-index{width:25px;height:25px;display:grid;place-items:center;border-radius:6px;background:#1b304d;color:white!important}.gap-table b{text-align:center;padding:5px;border-radius:6px}.gap-table b.positive{color:var(--mint);background:rgba(34,211,166,.1)}.gap-table b.negative{color:#fca5a5;background:rgba(239,68,68,.1)}.setup-grid{max-width:1780px;margin:24px auto 0;padding:0 24px;display:grid;grid-template-columns:.8fr 1.2fr;gap:16px}.full-width{grid-column:1/-1}.form-grid{padding:0 22px 22px;display:grid;grid-template-columns:1fr 1fr;gap:13px}.competitor-inputs label,.edit-row label,.form-grid label{display:flex;flex-direction:column;gap:6px;color:#8fa2b9;text-transform:uppercase;letter-spacing:.07em;font-size:9px;font-weight:800}.form-grid .full{grid-column:1/-1}input,select,textarea{border:1px solid #31425d;background:#091426;color:white;border-radius:8px;padding:10px;outline:none}input:focus,select:focus,textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(56,189,248,.08)}textarea{resize:vertical}.danger-zone{margin:0 22px 22px;padding:13px;display:flex;justify-content:space-between;align-items:center;border:1px solid rgba(239,68,68,.2);border-radius:10px;background:rgba(239,68,68,.035)}.danger-zone div{display:flex;flex-direction:column;gap:4px}.danger-zone span{color:#8496ad;font-size:12px}.editable-list{padding:0 16px 19px;display:grid;gap:7px;max-height:620px;overflow:auto}.edit-row{display:flex;align-items:flex-end;gap:8px;padding:9px;border:1px solid #20314a;border-radius:9px;background:#0a1628}.edit-index{width:27px;height:37px;display:grid;place-items:center;color:var(--blue);font-weight:900}.edit-row label.grow{flex:1}.edit-row label:not(.grow){width:85px}.tech-edit label:nth-of-type(2){width:110px}.tech-edit label:nth-of-type(5){width:135px}.edit-row input,.edit-row select{height:37px;padding:7px 8px;text-transform:none;letter-spacing:0;min-width:0;width:100%}.row-buttons{display:flex;gap:4px}.row-buttons button{width:34px;height:37px;border:1px solid #31425d;background:#13223a;color:#b7c7da;border-radius:7px}.row-buttons button:hover{border-color:#60799b}.row-buttons button.delete{color:#fca5a5;border-color:rgba(239,68,68,.25)}.competitor-inputs{padding:0 22px 23px;display:grid;grid-template-columns:repeat(5,1fr);gap:12px}footer{max-width:1900px;margin:30px auto 0;padding:20px 34px 28px;display:flex;justify-content:space-between;gap:20px;color:#64758e;font-size:11px}.toast{position:fixed;right:24px;bottom:24px;z-index:100;padding:13px 18px;border-radius:10px;background:#e8fff8;color:#07261e;font-weight:800;box-shadow:0 15px 40px rgba(0,0,0,.35);animation:toast-in .2s ease}@keyframes toast-in{0%{transform:translateY(10px);opacity:0}}:root{--navy-950:#0d0f14;--navy-900:#12151b;--navy-850:#181b23;--navy-800:#20232d;--line:#3a3d49;--line-soft:#2c2f39;--text:#f7f4f0;--muted:#aaa8b3;--mint:#a8e6cf;--blue:#b8d8e8;--purple:#c8b6ff;--amber:#ffe8a3;--red:#ff9aae;--sage:#a8e6cf;--peach:#ffd3b6;--lavender:#c8b6ff;--rose:#ffaaa5;--butter:#ffe8a3}html{background:var(--navy-950)}body{background:radial-gradient(circle at 12% 0,rgba(200,182,255,.08),transparent 28%),radial-gradient(circle at 88% 8%,rgba(168,230,207,.07),transparent 30%),var(--navy-950)}.topbar{background:rgba(13,15,20,.94)}.brand-mark{background:linear-gradient(145deg,var(--sage),var(--peach));box-shadow:0 0 28px rgba(168,230,207,.16)}.ghost,.icon-button{background:#1c1f27}.ghost:hover,.icon-button:hover{background:#272a34;border-color:#696b78}.primary{background:var(--sage);border-color:var(--sage)}.primary:hover{background:#c9f3e3}.eyebrow,.section-kicker{color:var(--sage)}.hero-meta{background:rgba(28,30,38,.78);min-width:470px}.kpi{background:linear-gradient(145deg,rgba(31,33,42,.98),rgba(20,22,29,.98))}.kpi.sage{--accent:var(--sage)}.kpi.peach{--accent:var(--peach)}.kpi.lavender{--accent:var(--lavender)}.kpi.rose{--accent:var(--rose)}.tabs button.active{color:var(--sage);border-bottom-color:var(--sage);background:linear-gradient(0deg,rgba(168,230,207,.07),transparent)}.panel{background:linear-gradient(145deg,rgba(27,29,37,.98),rgba(18,20,26,.98))}.matrix-scroll,.search{background:#12141a}.matrix-scroll{max-height:980px;border-color:#3b3d47;scrollbar-color:#626472 #171920}.house-roof-row{display:grid;height:300px;border-bottom:1px solid #4a4c58;background:#15171e}.matrix-side-key,.roof-insight{padding:20px 22px;background:linear-gradient(145deg,#1f212a,#181a21);border-right:1px solid #3b3d48;overflow:hidden}.matrix-side-key>div,.roof-insight{display:flex;flex-direction:column}.key-kicker{color:var(--sage);font-size:9px;font-weight:900;letter-spacing:.15em}.matrix-side-key>div>strong,.roof-insight>strong{margin-top:5px;font-size:15px}.matrix-side-key{display:grid;grid-template-columns:1.08fr 1fr 1fr;gap:18px;align-content:center}.matrix-side-key>div{grid-column:1/-1}.matrix-side-key section{display:flex;flex-direction:column;gap:6px}.matrix-side-key section small{color:#d7d3dc;font-weight:800;margin-bottom:2px}.matrix-side-key section span{display:flex;gap:7px;align-items:center;color:#aaa8b3;font-size:10px}.matrix-side-key section i{width:18px;height:18px;display:inline-grid;place-items:center;flex:0 0 18px;border-radius:5px;font-style:normal;font-weight:900}.matrix-side-key i.rel-strong,.relation.rel-strong{color:#edb7ed}.matrix-side-key i.rel-medium,.relation.rel-medium{color:#d7c4f5}.matrix-side-key i.rel-weak,.relation.rel-weak{color:#f6d7c8}.rag-key i.rag-red{background:rgba(255,154,174,.25);border:1px solid #ff9aae}.rag-key i.rag-amber{background:rgba(255,232,163,.2);border:1px solid #ffe8a3}.rag-key i.rag-green{background:rgba(168,230,207,.2);border:1px solid #a8e6cf}.roof-wrap{position:relative;min-height:300px;display:block;border:0;background:radial-gradient(circle at 50% 90%,rgba(200,182,255,.08),transparent 55%),#15171e;overflow:hidden}.roof-title{position:absolute;top:10px;left:0;right:0;z-index:2;display:flex;justify-content:space-between;align-items:center;padding:0 14px;pointer-events:none}.roof-title span{color:#d8d4df;font-size:9px;letter-spacing:.13em;font-weight:900}.roof-title small{color:#777986;font-size:9px}.roof{display:block;margin-top:20px}.roof-outline{fill:rgba(200,182,255,.018);stroke:#8d82aa;stroke-width:1.1}.roof-line{stroke:#494958;stroke-width:.7;opacity:.82}.roof-anchor{stroke:#777181;stroke-width:.8;stroke-dasharray:2 2}.roof-anchor-number{fill:#d5cfe0;font-size:9px;font-weight:900}.roof-point circle{fill:#242631;stroke-width:1.2;transition:.15s ease}.roof-point circle.active{fill:#17181f;stroke-width:2}.roof-point text{font-size:11px;font-weight:900;pointer-events:none}.roof-point text.double{font-size:7px}.roof-point:focus circle,.roof-point:hover circle{fill:#333541;stroke-width:2.8;filter:drop-shadow(0 0 5px rgba(255,255,255,.12))}.roof-insight{border-right:0;border-left:1px solid #3b3d48;justify-content:center;padding:30px 34px}.roof-insight p{color:#aaa8b3;line-height:1.55;font-size:11px;max-width:410px}.roof-insight>div{display:flex;gap:12px}.roof-insight>div span{min-width:150px;padding:10px 12px;border-radius:9px;background:#24262f;color:#aaa8b3;font-size:9px;text-transform:uppercase;letter-spacing:.06em}.roof-insight b{display:block;color:var(--peach);font-size:20px;margin-bottom:3px}.matrix-table{color:#f5f2ee}.matrix-table td,.matrix-table th{border-color:#3b3d48}.matrix-table thead th{background:#292b35}.rank-col{width:44px;min-width:44px;background:#24262f!important}.rag-col{width:68px;min-width:68px;text-align:center;position:sticky;left:44px;z-index:15!important;background:#22242d!important}.need-col{width:300px;min-width:300px;left:112px;background:#1d1f27!important}thead .need-col{background:#302f3a!important}.number-col{position:sticky;z-index:14!important;background:#24262f!important}.imp-col{width:58px;min-width:58px;left:412px}.weight-col{width:68px;min-width:68px;left:470px}.weight-col small,.weight-col strong{display:block}.weight-col small{color:#8f8d99;font-size:9px;margin-top:2px}.tech-head{background:linear-gradient(#31313c,#292a34)!important}.tech-number{color:var(--peach)}.vertical-label{color:#f0edf1}.direction{color:var(--sage);background:#1f2129;border-top:1px solid #3c3e49}.direction.min{color:var(--rose)}.direction.target{color:var(--butter)}.competitor-head{width:62px;min-width:62px;background:#35313b!important}.competitor-head.c0{background:#28443c!important}.benchmark-chart-head{width:240px;min-width:240px;padding:12px;vertical-align:bottom;background:#302d37!important}.benchmark-chart-head small,.benchmark-chart-head strong{display:block;text-align:left}.benchmark-chart-head small{color:#aaa8b3;margin:5px 0 10px;font-weight:400}.benchmark-chart-head div{display:flex;gap:6px}.benchmark-chart-head i{width:9px;height:9px;border-radius:50%}.row-rank{background:#333540;color:#f7f4f0}.rag-status{display:flex;flex-direction:column;align-items:center;gap:4px;color:#d8d4dc;font-size:8px;font-weight:900;text-transform:uppercase;letter-spacing:.05em}.rag-status i{width:19px;height:7px;border-radius:8px}.rag-col.rag-red{background:rgba(255,154,174,.16)!important}.rag-col.rag-red i{background:#ff9aae}.rag-col.rag-amber{background:rgba(255,232,163,.13)!important}.rag-col.rag-amber i{background:#ffe8a3}.rag-col.rag-green{background:rgba(168,230,207,.13)!important}.rag-col.rag-green i{background:#a8e6cf}.need-row.rag-red .need-col{box-shadow:inset 4px 0 #ff9aae}.need-row.rag-amber .need-col{box-shadow:inset 4px 0 #ffe8a3}.need-row.rag-green .need-col{box-shadow:inset 4px 0 #a8e6cf}.importance{background:var(--peach);color:#2c211b}.relation-cell{background:#181a21}.relation:focus,.relation:hover{outline-color:#777483;background:#2a2c36}.relation.rel-none{color:#555762}.score-cell{width:62px;min-width:62px;background:#1d1f27}.score-cell select{width:42px;border-color:#4c4d59;background:#16181e}.benchmark-chart-cell{width:240px;min-width:240px;padding:0;vertical-align:top;background:#171920}.matrix-benchmark-chart{display:block}.benchmark-grid{stroke:#393b45;stroke-width:.7}.benchmark-series{transition:opacity .18s}.matrix-benchmark-chart:hover .benchmark-series{opacity:.48}.matrix-benchmark-chart .benchmark-series:hover{opacity:1}.summary-row td{height:43px;background:#20222a}.summary-row .need-col{background:#292b34!important;color:#f3eff3}.summary-row .rag-col{background:#24262f!important}.summary-cell{padding:0;font-size:10px;transition:filter .15s}.summary-cell:hover{filter:brightness(1.18)}.summary-cell.rag-red{background:rgba(255,154,174,.34)!important;color:#ffe9ed}.summary-cell.rag-amber{background:rgba(255,232,163,.28)!important;color:#fff4ce}.summary-cell.rag-green{background:rgba(168,230,207,.25)!important;color:#e7fff6}.summary-cell.target-tone.max{background:rgba(168,230,207,.18)!important;color:var(--sage)}.summary-cell.target-tone.min{background:rgba(255,170,165,.2)!important;color:var(--rose)}.summary-cell.target-tone.target{background:rgba(255,232,163,.2)!important;color:var(--butter)}.summary-cell.weight-tone{background:rgba(255,211,182,.15)!important;color:var(--peach)}.summary-cell.relative-tone{background:rgba(200,182,255,.18)!important;color:#e2d8ff}.summary-fill{background:#1c1e25!important}.edit-row,.gap-table>div,.priority-row,.risk-list>div{background:#181a21;border-color:#343641}.priority-rank{background:rgba(200,182,255,.15);color:var(--lavender)}.bar-track{background:#30323b}.bar-track i{background:linear-gradient(90deg,var(--lavender),var(--peach),var(--sage))}.gap-table b.positive,.priority-row>strong:last-child{color:var(--sage)}.risk-list strong{color:var(--butter)}.risk-list i{background:linear-gradient(90deg,var(--butter),var(--rose))}.donut:after{background:#1b1d25}.grid-line{stroke:#373944}input,select,textarea{background:#15171d;border-color:#484a56}input:focus,select:focus,textarea:focus{border-color:var(--lavender);box-shadow:0 0 0 3px rgba(200,182,255,.08)}body{font-size:16px}.eyebrow,.section-kicker{font-size:12px}.hero p{font-size:17px}.hero-meta span{font-size:11.5px}.hero-meta strong{font-size:15px}.edit-project-link{margin-top:12px;padding:0;border:0;border-bottom:1px solid rgba(168,230,207,.55);background:transparent;color:var(--sage);font-size:13px;font-weight:800}.edit-project-link:hover{color:#d8fff1;border-bottom-color:#d8fff1}.kpi>span{font-size:12px}.kpi small{font-size:13px}.tabs button{font-size:15px}.panel-head h2{font-size:22px}.panel-head p{font-size:14px}.matrix-table{width:auto;min-width:0;font-size:13px}.roof-grid-header th{position:static!important;top:auto!important;z-index:auto!important;height:300px;padding:0!important;vertical-align:top;border-bottom:1px solid #4a4c58}.roof-key-head{background:#1c1e26!important}.roof-table-cell{background:#15171e!important}.roof-insight-head{background:#1c1e26!important}.roof-insight-head .roof-insight,.roof-key-head .matrix-side-key,.roof-table-cell .roof-wrap{width:100%;height:300px;min-height:300px}.column-header-row th{position:sticky;top:0;z-index:12}.roof-table-cell .roof{width:100%;height:270px}.matrix-side-key{padding:20px 18px}.key-kicker{font-size:10.5px}.matrix-side-key>div>strong,.roof-insight>strong{font-size:16px}.matrix-side-key section small{font-size:11px}.matrix-side-key section span{font-size:11.5px}.roof-title span{font-size:10.5px}.roof-title small{font-size:10px}.roof-insight p{font-size:12.5px}.roof-insight>div span{font-size:10.5px}.roof-anchor-number{font-size:10px}.tech-number{font-size:12px}.vertical-label{line-height:1.2}.direction{font-size:10.5px}.rag-status{font-size:9.5px}.weight-col small{font-size:10.5px}.benchmark-chart-head strong{font-size:13.5px}.benchmark-chart-head small{font-size:11.5px}.benchmark-chart-head .benchmark-series-key{display:flex;gap:7px}.benchmark-chart-head .benchmark-scale{display:grid;grid-template-columns:repeat(6,1fr);gap:0;margin-top:11px;padding:6px 7px 0;border-top:1px solid #4a4c58;color:#e9e5ed;font-size:11px;font-weight:900}.benchmark-scale span{text-align:center}.benchmark-axis-label{fill:#d8d4df;font-size:10px;font-weight:900;paint-order:stroke;stroke:#171920;stroke-width:3px}.score-cell select{width:44px;font-size:13.5px;font-weight:900;border-width:1px}.score-select.score-0,.score-select.score-1{background:rgba(255,154,174,.23);border-color:#ff9aae;color:#ffe7ec}.score-select.score-2{background:rgba(255,211,182,.2);border-color:#ffd3b6;color:#fff0e7}.score-select.score-3{background:rgba(255,232,163,.2);border-color:#ffe8a3;color:#fff6d2}.score-select.score-4{background:rgba(168,230,207,.2);border-color:#a8e6cf;color:#e6fff6}.score-select.score-5{background:rgba(119,211,178,.32);border-color:#83e0bf;color:#effff9;box-shadow:inset 0 0 0 1px rgba(168,230,207,.12)}.blind-spot-list{padding:0 22px 24px;display:grid;gap:9px}.blind-spot-row{display:grid;grid-template-columns:34px minmax(300px,1.25fr) minmax(180px,.8fr) 58px 130px;align-items:center;gap:14px;padding:12px 14px;border:1px solid #393b46;border-left:4px solid var(--rag-accent);border-radius:10px;background:#181a21}.blind-spot-row.rag-red{--rag-accent:#ff9aae;--rag-wash:rgba(255,154,174,.18)}.blind-spot-row.rag-amber{--rag-accent:#ffe8a3;--rag-wash:rgba(255,232,163,.16)}.blind-spot-row.rag-green{--rag-accent:#a8e6cf;--rag-wash:rgba(168,230,207,.16)}.blind-rank{width:30px;height:30px;display:grid;place-items:center;border-radius:8px;background:var(--rag-wash);color:var(--rag-accent);font-weight:900}.blind-spot-row>div:nth-child(2){display:flex;flex-direction:column;gap:4px}.blind-spot-row small{color:#aaa8b3;font-size:12px}.coverage-track{height:10px;overflow:hidden;border-radius:10px;background:#30323b}.coverage-track i{display:block;height:100%;border-radius:inherit;background:var(--rag-accent)}.blind-spot-row>strong{color:var(--rag-accent);text-align:right}.blind-status{padding:7px 9px;border-radius:8px;background:var(--rag-wash);color:var(--rag-accent);font-size:11px;font-weight:900;text-align:center;text-transform:uppercase;letter-spacing:.04em}.competitor-inputs label,.edit-row label,.form-grid label{font-size:10.5px}input,select,textarea{font-size:14px}.priority-row small{font-size:12.5px}.chart-legend span,.gap-table span,.owner-legend span,.risk-list span{font-size:13px}body,html{background:#111216}.topbar{background:rgba(17,18,22,.97)}.kpi,.panel{box-shadow:0 12px 34px rgba(0,0,0,.14)}.hero-meta,.kpi,.panel{background:#1a1b21}.matrix-side-key,.roof-insight{background:#1b1c22}.roof-wrap{background:#15161b}.matrix-scroll{max-height:none;background:#14151a;scroll-padding-left:608px}.matrix-actions{flex-wrap:wrap;justify-content:flex-end;max-width:790px}.matrix-actions .search{min-width:235px}.structure-button{color:#dcf8ee;border-color:rgba(168,230,207,.35)}.column-number-row th,.direction-indicator-row th{position:static!important;top:auto!important;z-index:auto!important;padding:0;border-bottom:1px solid #484a54}.column-number-row th{height:34px;background:#25262d!important}.direction-indicator-row th{height:42px;background:#1e2026!important}.indicator-label{padding:6px 14px!important;text-align:right;color:#e8e4ea}.indicator-label small,.indicator-label strong{display:block}.indicator-label strong{font-size:12px}.indicator-label small{margin-top:2px;color:#aaa8b3;font-size:10px;font-weight:600}.column-number-cell{color:var(--peach);font-size:12px;font-weight:900;text-align:center}.indicator-cell{text-align:center}.indicator-cell span{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:8px;font-size:16px;font-weight:900}.indicator-cell.max span{color:#b9f1dc;background:rgba(168,230,207,.13)}.indicator-cell.min span{color:#ffc0cc;background:rgba(255,154,174,.13)}.indicator-cell.target span{color:#ffefb8;background:rgba(255,232,163,.13)}.indicator-fill{background:#18191e!important}.rank-col{width:48px;min-width:48px;left:0}.rag-col{width:82px;min-width:82px;left:48px}.need-col{width:320px;min-width:320px;left:130px}.imp-col{width:76px;min-width:76px;left:450px}.weight-col{width:82px;min-width:82px;left:526px}.relation-cell,.summary-cell,.tech-head{width:70px;min-width:70px}.tech-head{height:270px;background:#282930!important}.vertical-label{height:224px;padding:12px 9px;font-size:12.5px;line-height:1.22;overflow:visible}.direction{min-height:46px;display:grid;place-items:center;padding:6px 4px;font-size:11px;line-height:1.15;white-space:normal;overflow:visible;background:#202229}.competitor-head{background:#2a292f!important}.competitor-head.c0{background:#26332f!important}.need-row,.need-row td,.relation-cell{height:52px}.need-col{line-height:1.4;padding-top:8px;padding-bottom:8px}.importance{width:31px;height:31px}.summary-row td{height:48px}.summary-cell{padding:4px 3px;font-size:11.5px;overflow:visible}.summary-cell strong{display:block;white-space:normal;overflow-wrap:anywhere;line-height:1.15}.benchmark-chart-cell{background:#17181d}.competitor-inputs{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}.competitor-input{display:grid;grid-template-columns:1fr auto;align-items:end;gap:8px;padding:10px;border:1px solid #343641;border-radius:10px;background:#181a21}.delete-series{height:39px;padding:0 10px;border:1px solid rgba(255,154,174,.28);border-radius:8px;background:rgba(255,154,174,.08);color:#ffc0cc;font-size:12px;font-weight:800}.delete-series:hover{background:rgba(255,154,174,.15)}html{background:#efede8;color-scheme:light}body{background:radial-gradient(circle at 8% 5%,rgba(168,230,207,.22),transparent 24%),radial-gradient(circle at 92% 3%,rgba(255,211,182,.22),transparent 26%),#efede8}.app-shell{padding-bottom:30px}.hero{width:calc(100% - 56px);max-width:1880px;min-height:0!important;height:auto!important;margin:24px auto 14px;padding:24px 28px;display:grid;grid-template-columns:minmax(360px,.78fr) minmax(640px,1.22fr);align-items:stretch;gap:24px;border:1px solid #ddd8cf;border-radius:18px;background:linear-gradient(135deg,rgba(247,250,247,.98),rgba(251,245,239,.98));box-shadow:0 16px 42px rgba(56,48,39,.08)}.hero-copy{display:flex;flex-direction:column;justify-content:center;min-width:0}.hero .eyebrow{color:#397d69}.hero h1{margin:10px 0 8px;color:#25262d;font-size:clamp(29px,2.4vw,43px)}.hero p{color:#66646b;font-size:15px}.project-facts{display:flex;flex-wrap:wrap;gap:9px;margin-top:17px}.project-facts>span{min-width:128px;padding:9px 11px;border:1px solid #dedad2;border-radius:10px;background:rgba(255,255,255,.7)}.project-facts small,.project-facts strong{display:block}.project-facts small{color:#858188;font-size:9.5px;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.project-facts strong{margin-top:4px;color:#2a2b32;font-size:12.5px}.edit-project-link{align-self:flex-start;color:#397d69;border-bottom-color:rgba(57,125,105,.45)}.edit-project-link:hover{color:#235f50;border-bottom-color:#235f50}.decision-brief{min-width:0;padding:17px;border:1px solid #ddd8d0;border-radius:14px;background:rgba(255,255,255,.84);box-shadow:inset 0 1px 0 rgba(255,255,255,.9)}.decision-brief__head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:12px}.decision-brief__head div{display:flex;flex-direction:column;gap:4px}.decision-brief__head span{color:#397d69;font-size:10px;font-weight:900;letter-spacing:.12em}.decision-brief__head strong{color:#25262d;font-size:18px}.decision-brief__head i{padding:6px 9px;border-radius:999px;background:#e4f3ed;color:#286b58;font-size:11px;font-style:normal;font-weight:900;white-space:nowrap}.decision-brief__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.decision-brief article{min-width:0;padding:12px;border:1px solid #e3ded7;border-top:3px solid var(--brief-accent);border-radius:10px;background:#fbfaf8}.decision-brief article small,.decision-brief article span,.decision-brief article strong{display:block}.decision-brief article span{color:#807c83;font-size:9px;font-weight:900;letter-spacing:.09em}.decision-brief article strong{margin:7px 0 6px;color:#292a31;font-size:12px;font-weight:720;line-height:1.3;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.decision-brief article small{color:#77747b;font-size:10.5px;line-height:1.3}.brief-focus{--brief-accent:#7ccdb1}.brief-protect{--brief-accent:#dfbd62}.brief-conflict{--brief-accent:#df8f9e}.kpi-grid{max-width:none;width:calc(100% - 56px);padding:0;margin:0 auto 19px}.kpi{min-height:116px;background:rgba(255,255,255,.9);border-color:#ddd8cf;box-shadow:0 10px 28px rgba(56,48,39,.06)}.kpi small,.kpi>span{color:#77747c}.kpi.sage>strong{color:#24755f}.kpi.peach>strong{color:#a35c35}.kpi.lavender>strong{color:#7058ad}.kpi.rose>strong{color:#a64d5b}.tabs{max-width:none;width:calc(100% - 56px);padding:0;border-bottom-color:#d7d2ca}.tabs button{color:#69666e}.tabs button:hover{color:#25262d}.tabs button.active{color:#286b58;border-bottom-color:#68b99e;background:linear-gradient(0deg,rgba(104,185,158,.1),transparent)}.matrix-panel{width:calc(100% - 56px);max-width:none;margin:24px auto 0;border-color:#d9d4cc;box-shadow:0 18px 48px rgba(56,48,39,.09)}.matrix-panel,.matrix-panel>.panel-head{background:#fffdfa}.matrix-panel>.panel-head h2{color:#26272e}.matrix-panel>.panel-head p{color:#69666e}.matrix-panel>.panel-head .section-kicker{color:#397d69}.matrix-scroll{margin:0}.vertical-label{align-items:center;justify-content:center;text-align:center;color:#fbfaf7;font-family:Inter,Segoe UI,Arial,sans-serif;font-size:12px;font-weight:520;letter-spacing:.01em;line-height:1.25;-webkit-font-smoothing:antialiased;text-rendering:geometricPrecision}.score-select{color-scheme:light}.score-select option{background:#fffdf9;color:#1d2027;font-weight:750}.dashboard-return-link,.licence-button{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;white-space:nowrap}.licence-button{color:#111216}@media (max-width:1100px){.topbar{padding:0 18px}.save-state{display:none}.brand{min-width:180px}.toolbar .ghost{display:none}.hero{width:calc(100% - 28px);grid-template-columns:1fr;padding:22px}.decision-brief__grid{grid-template-columns:1fr 1fr 1fr}.hero-meta{display:none}.kpi-grid{width:calc(100% - 28px);grid-template-columns:repeat(2,1fr);padding:0}.tabs{padding:0 20px;overflow-x:auto}.matrix-panel{max-width:calc(100vw - 20px)}.setup-grid,.view-grid{grid-template-columns:1fr;padding:0 10px}.full-width,.view-grid .wide{grid-column:auto}.priority-row{grid-template-columns:35px 1fr 60px}.priority-row .bar-track{grid-column:2/-1}.blind-spot-row{grid-template-columns:34px 1fr 55px}.blind-spot-row .coverage-track,.blind-status{grid-column:2/4}.blind-status{justify-self:start}.competitor-inputs{grid-template-columns:repeat(2,1fr)}.tech-edit{flex-wrap:wrap}.tech-edit label.grow{min-width:100%}}@media (max-width:640px){body{font-size:14px}.topbar{height:64px;gap:10px}.brand span{display:none}.brand{min-width:120px}.toolbar .primary{padding:9px;font-size:12px}.hero h1{font-size:25px}.decision-brief__grid{grid-template-columns:1fr}.project-facts{display:grid}.kpi-grid,.project-facts{grid-template-columns:1fr 1fr}.kpi-grid{gap:8px}.kpi{min-height:110px;padding:15px}.kpi>strong{font-size:27px}.tabs button{white-space:nowrap;padding:12px}.panel-head{flex-direction:column;padding:18px}.matrix-actions{width:100%}.search{min-width:0;flex:1}.matrix-side-key,.roof-insight{padding:16px}.roof-title small{display:none}.rank-col{width:48px;min-width:48px}.rag-col{width:82px;min-width:82px;left:48px}.need-col{width:320px;min-width:320px;left:130px}.imp-col{width:76px;min-width:76px;left:450px}.weight-col{width:82px;min-width:82px;left:526px}.owner-wrap{flex-direction:column}.gap-table>div{grid-template-columns:30px 1fr 45px}.gap-table>div span:nth-of-type(2),.gap-table>div span:nth-of-type(3){display:none}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.need-edit{flex-wrap:wrap}.need-edit label.grow{min-width:calc(100% - 45px)}.competitor-inputs{grid-template-columns:1fr}footer{flex-direction:column}}@media print{@page{size:landscape;margin:8mm}body{background:white!important;color:#101827!important;font-size:9px}.no-print,.toast,footer{display:none!important}.hero,.kpi-grid,.matrix-panel{max-width:none;padding-left:0;padding-right:0;margin-left:0;margin-right:0}.hero{padding-top:0}.hero h1{color:#10233c;font-size:22px}.hero p,.hero-meta span{color:#44546a}.hero-meta{border-color:#ccd5e0;background:white}.kpi{min-height:80px;padding:11px;background:#f3f6fa;border-color:#d6dee8;color:#10233c;box-shadow:none}.kpi>strong{font-size:20px}.kpi small,.kpi span{color:#465870}.panel{border:0;background:white;box-shadow:none}.panel-head{padding:8px 0}.panel-head h2{color:#10233c}.panel-head p{color:#465870}.matrix-scroll{max-height:none;overflow:visible;border-color:#93a4b8}.matrix-table{min-width:0;font-size:6px;color:#101827}.matrix-table td,.matrix-table th{position:static!important;border-color:#8090a4;background:white!important}.rank-col{width:18px;min-width:18px}.rag-col{width:30px;min-width:30px}.need-col{width:145px;min-width:145px}.number-col{width:26px;min-width:26px}.tech-head{width:32px;min-width:32px;height:160px;color:white;background:#183657!important}.vertical-label{height:120px;color:white}.direction{color:white;background:#183657;font-size:5px}.competitor-head{min-width:30px;width:30px;color:white;background:#4b4450!important}.competitor-head span{height:100px}.benchmark-chart-cell,.benchmark-chart-head{display:none}.relation-cell{width:32px;min-width:32px;height:26px}.relation{color:#7c1d8c!important;font-size:10px}.importance,.need-col strong,.summary-row .need-col{color:#101827}.importance{width:18px;height:18px;background:#f5bf42}.score-cell select{appearance:none;border:0;background:white;color:#101827;padding:0;width:auto}}