:root{--bg:#061924;--bg2:#092535;--card:#0b2b3a;--card2:#0e3141;--line:#406070;--soft:#a4c1cb;--text:#f7f8f6;--gold:#efc477;--gold2:#ffe3aa;--warn:#ffedc8;--green:#a4e6ca;--red:#ffb6b4}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,"Segoe UI",sans-serif;color:var(--text);background:#03131d;font-size:14px}button,input,textarea{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--gold2);outline-offset:2px}button:disabled{opacity:.4;cursor:not-allowed}.nav{height:62px;display:flex;justify-content:space-between;align-items:center;padding:0 34px;background:#051622;border-bottom:1px solid #304b58;gap:14px;position:relative;z-index:2}.brand{display:flex;align-items:center;gap:11px;min-width:148px}.mark{background:var(--gold);color:#09202d;display:grid;place-items:center;width:31px;height:31px;font-size:21px;font-style:italic;font-weight:1000;transform:skew(-8deg)}.brand strong{display:block;font-size:22px;letter-spacing:-1px}.brand em{color:var(--gold);font-style:normal}.brand small{font-size:8px;display:block;color:#91b0bd;letter-spacing:1.1px}.centre{font-size:10px;letter-spacing:2px;color:#91b0bd;font-weight:800}.top-actions{display:flex;gap:8px;align-items:center}.btn{border-radius:4px;background:transparent;border:1px solid #537487;color:#e1eef2;min-height:40px;padding:0 14px;font-weight:800;white-space:nowrap}.btn:hover{border-color:var(--gold)}.btn.primary{background:var(--gold);color:#162734;border-color:var(--gold)}.btn.on{background:#173d4f;color:var(--gold2);border-color:var(--gold)}.btn.plus{background:var(--gold);color:#061c28;border-color:var(--gold);font-size:19px;padding:0 13px;min-width:40px}.btn.danger{color:var(--red);border-color:#815e62}.strip{background:#f8e8be;color:#453218;display:flex;justify-content:center;align-items:center;gap:12px;font-size:11px;height:27px;padding:0 16px;text-align:center}.strip strong{letter-spacing:1.1px}.page{max-width:1440px;margin:0 auto;padding:16px 32px 26px;background:radial-gradient(ellipse at 80% 10%,#113b4b 0,#061a27 62%);min-height:calc(100vh - 89px)}.hero{display:flex;justify-content:space-between;align-items:end;gap:18px;padding-bottom:14px;border-bottom:1px solid #3b5766}.eyebrow{letter-spacing:1.3px;color:var(--gold);font-size:10px;font-weight:850}.name{margin:8px 0 0;letter-spacing:-3px;font-weight:1000;font-style:italic;font-size:clamp(39px,5.5vw,63px);line-height:.95;color:white}.name b{color:var(--gold)}.meta{text-align:right}.meta .period-no{font-size:38px;line-height:1;font-weight:1000;color:var(--gold)}.meta span{font-size:15px;font-weight:950;margin-left:7px}.meta small{display:block;color:#a4c1ce;font-size:11px;margin-top:7px}.section-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:13px 0 10px}.section-bar h2{font-size:17px;font-weight:1000;margin:0}.n{color:var(--gold);border-left:2px solid var(--gold);padding-left:9px;margin-right:8px}.hint{font-size:10px;color:#a8c5cd;letter-spacing:1px;font-weight:800}.timeline{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:13px;position:relative;margin-bottom:10px;padding:0 6px}.timeline:before{content:"";position:absolute;height:2px;background:#8ba4aa;top:34px;left:2%;right:2%}.point{position:relative;min-width:0}.point .date{font-size:17px;color:white;font-weight:950}.point small{display:block;font-size:10px;color:#b4cbd5;margin:3px 0 23px}.point:after{content:"";position:absolute;top:28px;left:4px;width:12px;height:12px;background:var(--gold);border:2px solid #0c3344;box-shadow:0 0 0 1px #799eac;border-radius:50%}.point strong{display:block;font-size:17px;color:var(--gold);white-space:nowrap}.mini-note{background:#102f3f;border-left:2px solid var(--gold);padding:6px 11px;margin-top:6px;color:#c8dce5;font-size:10px}.edit-note{display:none;color:#e7cb94;background:#173847;border:1px solid #8c754d;padding:10px 14px;margin:11px 0;font-size:12px}.editing .edit-note{display:block}.editonly{display:none!important}.editing .editonly{display:flex!important}.viewonly{display:block}.editing .viewonly{display:none!important}.field{width:100%;background:#0a1824;color:#fff;border:1px solid #b08b4f;border-radius:3px;padding:8px;font-size:15px;min-width:0}.field.year{font-size:19px;font-weight:900;color:var(--gold)}.field.money,.field.roi{font-size:20px;font-weight:900;color:var(--gold)}.field.title{font-size:17px;font-weight:900}.field.project{font-size:39px;font-style:italic;font-weight:1000;max-width:500px}.field:focus{background:#132e3c}.field.textarea{resize:vertical;min-height:106px;line-height:1.55}.micro{color:#9eb9c5;font-size:10px;margin-top:4px}.toolbar{display:flex;justify-content:space-between;align-items:center;margin:12px 0 8px;gap:8px}.toolbar h2{font-size:18px;margin:0;font-weight:1000}.toolbar-actions{display:flex;gap:8px}.pill{font-size:10px;letter-spacing:1px;color:#d2e4e9;border:1px solid #66818a;padding:7px 9px;font-weight:900}.phase-head{display:flex;justify-content:space-between;align-items:center;gap:8px}.phase-tools{display:flex;gap:5px;align-items:center}.phase-tools .btn{min-height:32px;font-size:13px;padding:0 8px}.phase-year{font-size:26px;color:var(--gold);font-weight:1000;white-space:nowrap}.stage-label{color:#bed2d8;font-size:10px;letter-spacing:1px;font-weight:850;margin-top:5px}.stage-title{font-size:20px;font-weight:900;margin:8px 0}.bullet{margin:8px 0 0;padding-left:17px;font-size:13px;line-height:1.55}.bullet li{margin:5px 0}.bullet li::marker{color:var(--gold)}.phase-small{font-size:11px;color:#b5cfdb}.money-large{color:var(--gold2);font-size:24px;font-weight:1000;letter-spacing:-.5px}.money-sub{color:#bdd1d8;font-size:11px;margin-top:5px}.roi-num{color:#b8edd8;font-size:28px;font-weight:1000}.profit{color:var(--gold2);font-size:17px;font-weight:850}.footer{margin-top:8px;display:flex;justify-content:space-between;color:#96b0bb;font-size:10px;gap:20px}.scrolltip{display:none;color:#b3cbd0;font-size:11px;text-align:right;margin:7px 0}.scroll-shell{overflow-x:auto;scroll-behavior:smooth;scrollbar-color:var(--gold) #0e2b3b}.scroll-shell:focus-visible{outline:2px solid var(--gold)}.scroll-shell::-webkit-scrollbar{height:8px}.scroll-shell::-webkit-scrollbar-thumb{background:#bd9a62;border-radius:8px}.scroll-shell::-webkit-scrollbar-track{background:#0b2634}.matrix .matrix-content{display:grid;gap:8px}.matrix .matrix-row{display:grid;grid-template-columns:118px repeat(var(--count),minmax(375px,1fr));gap:8px;min-width:max(100%,calc(118px + var(--count) * 383px))}.matrix .row-label{display:flex;align-items:center;justify-content:center;text-align:center;border:1px solid #395562;background:#07202d;color:var(--gold);font-size:12px;font-weight:900;letter-spacing:.3px;padding:10px;position:sticky;left:0;z-index:1}.matrix .gridcell{border:1px solid #4a6673;background:#0e2f40;padding:12px 15px;min-width:0}.matrix .phase-top{min-height:82px;background:#123b4b;border-top:3px solid var(--gold)}.matrix .factor-cell{height:205px;overflow:auto}.matrix .moneycell{height:105px}.matrix .roicell{height:117px;background:#102c3c}.matrix .growth-factor{font-size:13px}.matrix .phase-actions{display:flex;align-items:center;justify-content:flex-end;gap:5px}.matrix .phase-actions .btn{min-height:30px}.matrix .factorcell-title{font-size:20px;font-weight:900}.cards .cards-row{display:grid;grid-template-columns:repeat(var(--count),minmax(440px,1fr));gap:14px;min-width:max(100%,calc(var(--count) * 454px))}.cards .phase-card{border:1px solid #55717d;border-left:4px solid var(--gold);background:#0b2b3c;padding:14px;display:grid;grid-template-rows:75px 245px 124px 136px;min-width:0}.cards .phase-body{min-width:0;overflow:auto}.cards .capital-zone{border-top:1px solid #446170;padding-top:11px}.cards .roi-zone{border-top:1px solid #446170;padding-top:11px}.cards .money-row{display:flex;justify-content:space-between;align-items:center;margin-top:10px}.cards .sector-label{font-size:10px;color:var(--gold);letter-spacing:1.6px;font-weight:900}.cards .roi-row{display:flex;justify-content:space-between;align-items:center;margin-top:6px}.cards .cards-detail{font-size:10px;color:#bed5dc;margin-top:8px}.cards .stage-title{margin:5px 0}.cards .bullet{line-height:1.48}.cards .phase-year{font-size:28px}.cards .stage-label{font-size:11px}.editing .phase-card .field.textarea{min-height:110px}.editing .matrix .factor-cell{height:245px}.editing .cards .phase-card{grid-template-rows:87px 275px 140px 160px}.editing .matrix .moneycell{height:132px}.editing .matrix .roicell{height:150px}.editline{display:flex;gap:8px;align-items:center}.inputcol{flex:1;min-width:0}.edit-label{display:block;margin-bottom:4px;color:#bad3d9;font-size:10px;font-weight:800;letter-spacing:.5px}.status{font-size:10px;letter-spacing:.6px;color:#a8e8cd;font-weight:850;margin-right:5px}.help{color:#a3bac4;font-size:11px}.phase-empty{min-width:390px;padding:30px;text-align:center}.summary-footer{margin-top:8px;background:#092738;border:1px solid #456170;display:flex;align-items:center;justify-content:space-between;padding:12px 15px;gap:12px}.summary-footer b{color:var(--gold2)}.summary-footer .sum{display:flex;gap:18px;align-items:center}.summary-footer .sum strong{font-size:20px}.summary-footer .sum span{font-size:10px;color:#b3ccd5}.btn:active{transform:translateY(1px)}@media(max-width:1000px){.page{padding:10px 18px}.nav{padding:0 18px}.centre{display:none}.matrix .matrix-row{grid-template-columns:96px repeat(var(--count),minmax(340px,1fr));min-width:max(100%,calc(96px + var(--count) * 348px))}.cards .cards-row{grid-template-columns:repeat(var(--count),minmax(370px,1fr));min-width:max(100%,calc(var(--count) * 384px))}.scrolltip{display:block}.brand strong{font-size:18px}.name{font-size:42px}.toolbar h2{font-size:15px}}@media(max-width:700px){.nav{height:auto;flex-wrap:wrap;padding:9px 12px}.top-actions{width:100%}.page{padding:11px}.hero{align-items:start}.name{font-size:35px}.meta .period-no{font-size:29px}.timeline{display:flex;overflow-x:auto}.point{min-width:128px}.strip{height:auto;min-height:32px}.toolbar{flex-wrap:wrap}.footer{display:block}.cards .cards-row{grid-template-columns:repeat(var(--count),minmax(310px,1fr));min-width:calc(var(--count) * 325px)}}@media print{.nav,.strip,.edit-note,.editonly,.toolbar-actions,.scrolltip,.mini-note{display:none!important}.page{padding:10px;background:#fff;color:#111}.scroll-shell{overflow:visible}.matrix .matrix-row,.cards .cards-row{min-width:0}.matrix .gridcell,.cards .phase-card{background:#fff;color:#111}.row-label{color:#111!important}.bullet,.stage-title{color:#111}body{background:white;color:#111}}

/* D.INVEST iPad A approved patch: explicit modes and accessible matrix */
.top-actions #viewBtn,.top-actions #editModeBtn{min-width:86px}
.top-actions #saveBtn{border-color:var(--gold);color:var(--gold2)}
@media(max-width:1130px){.nav{height:auto;min-height:62px;flex-wrap:wrap;padding:10px 16px}.nav .centre{display:none}.top-actions{flex-wrap:wrap;justify-content:flex-end}.top-actions .btn{min-height:44px}.matrix .gridcell{min-width:0}}
@media(max-width:700px){.nav{gap:8px}.brand{min-width:120px}.top-actions{width:100%;justify-content:flex-start}.top-actions .btn{min-height:44px}.matrix .matrix-row{grid-template-columns:92px repeat(var(--count),minmax(270px,1fr));min-width:max(100%,calc(92px + var(--count) * 278px))}}
@media print{.nav,.strip{display:none!important}.matrix .matrix-row{break-inside:avoid}.matrix .gridcell{border-color:#999}.matrix .phase-tools{display:none!important}}
