:root{--navy:#10162f;--navy2:#24345d;--yellow:#efc94f;--cream:#f5f2eb;--sage:#ccd8aa;--sage2:#e8edd9;--ink:#171a27;--muted:#696b73;--line:#ddd9d0;--white:#fff;--orange:#dc8050;--red:#b34d52;--shadow:0 20px 60px rgba(16,22,47,.12)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:Inter,"Avenir Next",Avenir,Arial,sans-serif;line-height:1.45}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}.portal-shell{width:min(1240px,calc(100% - 32px));min-height:calc(100vh - 32px);margin:16px auto;background:var(--white);box-shadow:var(--shadow);overflow:hidden}.topbar{min-height:118px;padding:19px 38px;display:flex;align-items:center;justify-content:space-between;gap:28px;border-bottom:1px solid var(--line)}.brand{display:grid;grid-template-columns:auto auto;align-items:end;column-gap:7px;text-decoration:none;color:var(--navy)}.brand strong{font-size:31px;line-height:.95;letter-spacing:-.06em}.brand>span{font-size:17px;line-height:1;font-weight:700;letter-spacing:.18em}.brand small{grid-column:1/-1;margin-top:7px;color:var(--muted);font-size:10px;letter-spacing:.12em}.brand-logo{display:block;width:min(300px,34vw);line-height:0}.brand-logo img{display:block;width:100%;height:auto;max-height:80px;object-fit:contain;object-position:left center}.client-context{display:flex;align-items:center;gap:20px}.client-context>div{display:grid;text-align:right}.client-context small{color:var(--muted);font-size:9px;font-weight:800;letter-spacing:.13em}.client-context strong{font-size:18px}.engagement-pill{padding:14px 18px;border-radius:25px;background:var(--yellow);font-size:11px;font-weight:750;letter-spacing:.06em}.phase-nav{display:grid;grid-template-columns:repeat(4,1fr);background:var(--cream);border-bottom:1px solid var(--line)}.phase-button{min-height:100px;padding:17px 24px;border:0;border-bottom:5px solid transparent;background:transparent;display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:15px;text-align:left}.phase-button:hover{background:#fff}.phase-button.active{background:var(--navy);color:#fff;border-bottom-color:var(--yellow)}.phase-button>span{grid-row:1/3;color:#8b8e99;font-size:10px;font-weight:800;letter-spacing:.12em}.phase-button.active>span{color:var(--yellow)}.phase-button strong{font-size:18px}.phase-button small{color:#777982;font-size:11px}.phase-button.active small{color:#c9ccd8}.phase-panel{padding:46px 48px 38px}.phase-panel[hidden]{display:none}.hero-grid{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:45px;align-items:end;margin-bottom:42px}.kicker{margin:0 0 12px;color:var(--navy2);font-size:10px;font-weight:850;letter-spacing:.17em}.hero-grid h1{margin:0;color:var(--navy);font-size:clamp(38px,5.6vw,68px);line-height:.98;letter-spacing:-.055em}.hero-grid h1 mark{background:var(--yellow);color:var(--navy);padding:0 .08em}.hero-grid>div>p:last-child{max-width:770px;margin:22px 0 0;color:var(--muted);font-size:17px}.progress-block,.phase-status{padding:22px;background:var(--navy);color:#fff;border-radius:0 26px 0 0}.progress-block>div:first-child{display:flex;align-items:baseline;justify-content:space-between}.progress-block strong{font-size:34px;font-weight:600}.progress-block span,.progress-block small{color:#cdd0dc;font-size:11px}.progress-track{height:8px;margin:16px 0 10px;background:#303852;overflow:hidden}.progress-track i{display:block;height:100%;background:var(--yellow);transition:width .25s}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:25px;margin:34px 0 17px}.section-heading h2,.card-title h2{margin:0;color:var(--navy);font-size:26px;line-height:1.15;letter-spacing:-.025em}.section-heading>span{padding:8px 10px;background:var(--sage2);color:#536038;font-size:9px;font-weight:800;letter-spacing:.1em}.request-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start}.request-card{border:1px solid var(--line);border-top:5px solid var(--yellow)}.request-card:nth-child(even){border-top-color:var(--sage)}.request-toggle{width:100%;min-height:105px;padding:18px;display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;gap:15px;align-items:center;border:0;background:#fff;text-align:left}.request-toggle:hover{background:var(--cream)}.request-toggle>span{color:var(--navy);font-weight:850}.request-toggle>div{display:grid;gap:5px}.request-toggle strong{font-size:14px;letter-spacing:.05em}.request-toggle small{color:var(--muted);font-size:11px}.request-toggle em{padding:5px 7px;background:var(--sage2);color:#536038;font-size:9px;font-style:normal}.request-toggle>i{width:10px;height:10px;border-right:2px solid var(--navy);border-bottom:2px solid var(--navy);transform:rotate(45deg);transition:.2s}.request-toggle[aria-expanded=true]>i{transform:rotate(225deg)}.request-docs{padding:0 18px 8px;border-top:1px solid var(--line)}.request-doc{min-height:57px;padding:8px 0;display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;gap:11px;align-items:center;border-bottom:1px solid var(--line)}.request-doc:last-child{border-bottom:0}.doc-icon{width:22px;height:24px;display:grid;place-items:center;border:1px solid #aaa;color:var(--muted);font-size:12px}.request-doc.received .doc-icon{border-color:#718142;background:var(--sage2);color:#536038}.request-doc>span{font-size:12px}.request-doc>small{color:#67723e;font-size:8px;letter-spacing:.07em}.request-doc label{padding:7px 9px;border:1px solid var(--line);font-size:9px;cursor:pointer}.request-doc label:hover{border-color:var(--navy)}.request-doc label em{font-style:normal}.request-doc input{position:absolute;width:1px;height:1px;opacity:0}.maturity-heading{margin-top:42px}.score-key{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:8px}.score-key i{width:70px;height:5px;background:linear-gradient(90deg,var(--orange),var(--yellow),var(--sage))}.maturity-list{border-top:1px solid var(--line)}.maturity-list article{display:grid;grid-template-columns:1.35fr 160px 70px 1.6fr;gap:18px;align-items:center;padding:16px 10px;border-bottom:1px solid var(--line)}.maturity-name{display:flex;gap:13px;align-items:center}.maturity-name span{color:#9a9ba0;font-size:10px}.maturity-name strong{font-size:13px}.score-dots{display:flex;gap:6px}.score-dots i{width:20px;height:8px;background:#e5e3df}.score-dots i.filled{background:var(--navy2)}.maturity-list article>b{color:var(--navy2);font-size:9px;letter-spacing:.07em}.maturity-list article>p{margin:0;color:var(--muted);font-size:11px}.panel-footer{margin-top:34px;padding-top:25px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:25px}.panel-footer p{margin:0;max-width:720px;color:var(--muted);font-size:11px}.primary-button,.secondary-button{border:0;border-radius:0 15px 0 0;background:var(--navy);color:#fff;padding:15px 18px;font-size:10px;font-weight:800;letter-spacing:.06em}.primary-button:hover{background:var(--navy2)}.primary-button span{margin-left:14px;color:var(--yellow);font-size:17px}.gap-card{padding:22px;background:var(--navy);color:#fff;border-radius:0 24px 0 0}.gap-card small{color:var(--yellow);font-size:9px;letter-spacing:.1em}.gap-card strong{display:block;margin:7px 0 0;font-size:48px;line-height:1}.gap-card span{color:#cfd2dd;font-size:11px}.design-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:22px}.design-summary article{padding:20px;background:var(--cream);border-top:5px solid var(--yellow)}.design-summary article:nth-child(2){border-color:var(--sage)}.design-summary article:nth-child(3){border-color:var(--navy)}.design-summary small{color:var(--muted);font-size:9px;letter-spacing:.1em}.design-summary strong{display:block;color:var(--navy);font-size:34px}.design-summary span{color:var(--muted);font-size:11px}.gap-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.gap-card-row{padding:16px;border:1px solid var(--line);display:grid;grid-template-columns:1.4fr 145px 60px;gap:14px;align-items:center}.gap-card-row.priority{border-left:6px solid var(--yellow)}.gap-card-row>div:first-child{display:flex;gap:10px}.gap-card-row>div:first-child span{color:#999;font-size:9px}.gap-card-row strong{font-size:12px}.score-comparison{display:flex;align-items:center;gap:7px}.score-comparison b{font-size:12px}.score-comparison i{width:90px;height:6px;background:linear-gradient(90deg,var(--navy) 0 var(--from),var(--yellow) var(--from) var(--to),#eee var(--to))}.gap-card-row em{padding:5px 7px;background:var(--sage2);color:#58633b;font-size:9px;font-style:normal}.gap-card-row p{grid-column:1/-1;margin:0 0 0 20px;color:var(--muted);font-size:10px}.roadmap-flow{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.roadmap-flow article{min-height:210px;padding:17px;background:var(--cream);position:relative}.roadmap-flow article:nth-child(-n+3){border-top:5px solid var(--yellow)}.roadmap-flow article:nth-child(n+4){border-top:5px solid var(--sage)}.roadmap-flow article>span{color:var(--navy2);font-size:9px;font-weight:850;letter-spacing:.08em}.roadmap-flow b{display:block;margin:15px 0 4px;font-size:15px}.roadmap-flow small{color:var(--muted);font-size:9px}.roadmap-flow p{margin:18px 0 0;color:var(--muted);font-size:10px}.roadmap-flow i{position:absolute;right:-10px;top:45%;z-index:2;color:var(--navy);font-style:normal}.phase-status{display:grid;gap:4px}.phase-status small{color:var(--yellow);font-size:9px;letter-spacing:.1em}.phase-status strong{font-size:20px}.phase-status span{color:#cfd2dd;font-size:11px}.sustain-status{background:var(--sage2);color:var(--navy)}.sustain-status small{color:#6b773e}.sustain-status span{color:var(--muted)}.workspace-card{border:1px solid var(--line)}.card-title{min-height:85px;padding:18px 22px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}.status-chip,.table-chip{padding:6px 8px;background:var(--sage2);color:#5b673c;font-size:9px;font-weight:800;letter-spacing:.07em}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;min-width:780px}th{padding:12px 15px;background:var(--navy);color:#fff;text-align:left;font-size:9px;letter-spacing:.06em}td{padding:14px 15px;border-bottom:1px solid var(--line);font-size:11px}tbody tr:nth-child(even){background:var(--cream)}td strong{color:var(--navy)}.health{padding:5px 7px;border-radius:12px;background:var(--sage2);color:#566237;font-size:9px}.health.attention{background:#f8e7d7;color:#985b31}.health.not-started{background:#eee;color:#777}.delivery-principles{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-top:20px}.delivery-principles article{padding:21px;background:var(--cream);border-top:4px solid var(--yellow)}.delivery-principles article:nth-child(2){border-color:var(--sage)}.delivery-principles article:nth-child(3){border-color:var(--navy)}.delivery-principles span{color:var(--navy);font-size:10px;font-weight:800}.delivery-principles h3{margin:14px 0 7px;font-size:15px}.delivery-principles p{margin:0;color:var(--muted);font-size:11px}.sustain-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.sustain-card{padding:24px;border:1px solid var(--line);border-top:5px solid var(--yellow)}.sustain-card:nth-child(2){border-color:var(--line);border-top-color:var(--sage)}.sustain-card:nth-child(3){border-color:var(--line);border-top-color:var(--navy)}.sustain-card h2{margin:0 0 18px;color:var(--navy);font-size:20px}.sustain-card ul{margin:0;padding-left:18px}.sustain-card li{margin:10px 0;color:var(--muted);font-size:11px}.health-scorecard{margin-top:20px;padding:23px;background:var(--navy);color:#fff;display:grid;grid-template-columns:1.3fr repeat(4,.7fr);gap:20px;align-items:center}.health-scorecard h2{margin:0;font-size:22px}.health-scorecard .kicker{color:var(--yellow)}.health-metric{display:grid;gap:3px}.health-metric strong{color:var(--yellow);font-size:22px}.health-metric span{color:#ccd0dc;font-size:9px}.toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,20px);padding:12px 18px;background:var(--navy);color:#fff;box-shadow:var(--shadow);opacity:0;pointer-events:none;transition:.2s;font-size:11px}.toast.show{opacity:1;transform:translate(-50%,0)}
/* workspace */.workspace-shell .phase-nav{grid-template-columns:repeat(5,1fr)}.workspace-header .client-context{gap:12px}.workspace-link{text-decoration:none}.workspace-section{border:1px solid var(--line);margin-bottom:18px}.workspace-heading{min-height:80px;padding:17px 20px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:20px}.workspace-heading>div{display:flex;align-items:center;gap:13px}.workspace-heading>div>span{color:var(--yellow);background:var(--navy);padding:6px 8px;font-size:10px;font-weight:800}.workspace-heading h2{margin:0;color:var(--navy);font-size:19px}.workspace-heading p{margin:3px 0 0;color:var(--muted);font-size:10px}.text-button{border:0;background:none;color:var(--navy);font-size:9px;font-weight:800;letter-spacing:.08em}.text-button:hover{color:#9c7610;text-decoration:underline}.form-grid{padding:20px;display:grid;grid-template-columns:1fr 1fr;gap:15px}.field{display:grid;gap:6px}.field.full{grid-column:1/-1}.field>span,.inline-field span{color:var(--navy);font-size:9px;font-weight:800;letter-spacing:.05em}.field input,.field select,.field textarea,.inline-field input,.inline-field select,.editable-input,.workspace-table input,.workspace-table select,.comment-form textarea,.comment-form select{width:100%;padding:10px;border:1px solid var(--line);background:#fff;font:inherit;font-size:11px;border-radius:0}.field textarea{resize:vertical}.field input:focus,.field select:focus,.field textarea:focus,.editable-input:focus,.workspace-table input:focus,.workspace-table select:focus{outline:2px solid rgba(239,201,79,.65);border-color:#c69d1d}.workspace-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px}.workspace-stats article{padding:15px 18px;background:var(--cream);border-top:4px solid var(--yellow)}.workspace-stats article:nth-child(even){border-color:var(--sage)}.workspace-stats strong{font-size:26px;color:var(--navy)}.workspace-stats span{margin-left:7px;color:var(--muted);font-size:10px}.builder-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.builder-card{border:1px solid var(--line);border-top:5px solid var(--yellow)}.builder-card:nth-child(even){border-top-color:var(--sage)}.builder-head{padding:15px;display:grid;grid-template-columns:auto 1fr;gap:10px;border-bottom:1px solid var(--line)}.builder-head>span{color:var(--navy);font-weight:800}.builder-head div{display:grid;gap:6px}.builder-head input:first-child{font-weight:750}.builder-docs{padding:7px 15px}.builder-row{display:grid;grid-template-columns:1fr 90px auto;gap:7px;padding:8px 0;border-bottom:1px solid var(--line)}.delete-button{width:32px;border:1px solid var(--line);background:#fff;color:#888}.delete-button:hover{border-color:var(--red);color:var(--red)}.add-row{width:100%;margin:10px 0 5px;padding:9px;border:1px dashed #aaa;background:var(--cream);font-size:9px}.assessment-table{min-width:1050px}.assessment-table td{vertical-align:top}.assessment-table input[type=number]{width:58px}.assessment-table textarea{width:100%;min-width:240px;padding:8px;border:1px solid var(--line);font:inherit;font-size:10px}.workspace-table{min-width:1000px}.workspace-table input,.workspace-table select{padding:8px}.file-label{display:grid;gap:3px;padding:8px;border:1px solid var(--line);font-size:9px;cursor:pointer}.file-label input{position:absolute;width:1px;height:1px;opacity:0}.file-label small{max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#5a6638}.alio-banner{padding:20px;background:var(--navy);color:#fff;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:16px;margin-bottom:18px}.alio-orb{width:50px;height:50px;border-radius:50%;background:var(--sage);color:var(--navy);display:grid;place-items:center;font-size:21px;font-weight:800}.alio-banner h2{margin:2px 0;font-size:21px}.alio-banner small{color:var(--yellow);font-size:9px;letter-spacing:.1em}.alio-banner p{margin:0;color:#ccd0dc;font-size:10px}.roadmap-editor{display:grid;gap:10px}.roadmap-edit-row{display:grid;grid-template-columns:110px 1fr 100px 105px 2fr auto;gap:8px;align-items:center;padding:10px;background:var(--cream)}.roadmap-edit-row input,.roadmap-edit-row select{width:100%;padding:9px;border:1px solid var(--line);font-size:10px}.comments-layout{display:grid;grid-template-columns:1.4fr .8fr;gap:18px}.comment-list{padding:0 20px}.comment-item{display:grid;grid-template-columns:auto 1fr auto;gap:11px;padding:15px 0;border-bottom:1px solid var(--line)}.comment-avatar{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:var(--sage2);color:var(--navy);font-size:9px;font-weight:800}.comment-item strong{font-size:11px}.comment-item small{display:block;color:#9a7618;font-size:8px}.comment-item p{margin:5px 0 0;color:var(--muted);font-size:10px}.comment-form{padding:15px 20px;background:var(--cream)}.comment-form>div{display:flex;gap:8px;margin-top:8px}.side-actions{padding:20px;background:var(--cream)}.side-actions h3{margin:0 0 12px;color:var(--navy)}.side-actions p{color:var(--muted);font-size:10px}.side-actions .primary-button,.side-actions .secondary-button{width:100%;margin-top:8px}.secondary-button{background:#fff;color:var(--navy);border:1px solid var(--line)}.secondary-button:hover{border-color:var(--navy)}.import-label{display:block;text-align:center}.import-label input{position:absolute;width:1px;height:1px;opacity:0}.footer-actions{display:flex;gap:9px}.modal{width:min(800px,calc(100% - 32px));max-height:85vh;padding:0;border:0;box-shadow:var(--shadow)}.modal::backdrop{background:rgba(16,22,47,.6)}.modal-head{padding:20px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between}.modal-head h2{margin:0;color:var(--navy)}.modal-head button{border:0;background:none;font-size:28px}.modal-body{padding:20px;display:grid;grid-template-columns:1fr 1fr;gap:12px}.preview-group{border:1px solid var(--line);border-top:4px solid var(--yellow);padding:14px}.preview-group:nth-child(even){border-top-color:var(--sage)}.preview-group h3{margin:0;font-size:13px}.preview-group p{color:var(--muted);font-size:9px}.preview-group li{padding:7px 0;border-top:1px solid var(--line);display:flex;justify-content:space-between;font-size:9px}.preview-group li span{color:#59643a;font-size:8px}
@media(max-width:950px){.hero-grid{grid-template-columns:1fr}.progress-block,.phase-status,.gap-card{width:100%}.request-grid,.gap-grid,.builder-grid,.comments-layout{grid-template-columns:1fr}.roadmap-flow{grid-template-columns:1fr 1fr}.maturity-list article{grid-template-columns:1fr 130px 60px}.maturity-list article p{grid-column:1/-1}.health-scorecard{grid-template-columns:1fr 1fr}.roadmap-edit-row{grid-template-columns:1fr 1fr}.roadmap-edit-row input:nth-child(5){grid-column:1/-1}}
@media(max-width:700px){.portal-shell{width:100%;margin:0}.topbar{padding:20px;align-items:flex-start;flex-direction:column}.client-context{align-items:flex-start;flex-direction:column}.client-context>div{text-align:left}.phase-nav,.workspace-shell .phase-nav{grid-template-columns:repeat(4,minmax(78px,1fr));overflow-x:auto}.workspace-shell .phase-nav{grid-template-columns:repeat(5,minmax(82px,1fr))}.phase-button{padding:12px 8px}.phase-button small{display:none}.phase-panel{padding:30px 18px}.hero-grid h1{font-size:42px}.request-grid,.design-summary,.delivery-principles,.sustain-grid,.workspace-stats,.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.roadmap-flow{grid-template-columns:1fr}.roadmap-flow i{display:none}.maturity-list article{grid-template-columns:1fr}.gap-card-row{grid-template-columns:1fr}.gap-card-row p{margin:0;grid-column:auto}.health-scorecard{grid-template-columns:1fr}.panel-footer,.footer-actions{align-items:stretch;flex-direction:column}.primary-button{width:100%}.request-toggle{grid-template-columns:auto 1fr auto}.request-toggle em{display:none}.request-doc{grid-template-columns:auto 1fr auto}.request-doc>small{display:none}.modal-body{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* Agreement and phase SOW workspaces */
.agreement-grid{grid-template-columns:repeat(3,1fr)}
.inline-record-link{display:inline-flex;margin:0 20px 20px;padding:10px 13px;background:var(--sage2);color:var(--navy);text-decoration:none;font-size:9px;font-weight:850;letter-spacing:.08em}
.inline-record-link[hidden]{display:none}
.phase-sow-cards{grid-template-columns:repeat(4,1fr)}
.phase-sow-card{min-height:280px;padding:21px;background:var(--cream);border-top:4px solid var(--yellow);color:var(--ink);text-decoration:none;display:flex;flex-direction:column;transition:transform .18s,box-shadow .18s}
.phase-sow-card:nth-child(2){border-top-color:var(--sage)}.phase-sow-card:nth-child(3){border-top-color:var(--navy)}.phase-sow-card:nth-child(4){border-top-color:var(--orange)}
.phase-sow-card:hover{transform:translateY(-3px);box-shadow:0 12px 30px rgba(16,22,47,.12)}
.phase-sow-card-top,.phase-sow-meta{display:flex;align-items:center;justify-content:space-between;gap:10px}
.phase-sow-card-top>span{color:var(--navy);font-size:10px;font-weight:850;letter-spacing:.08em}.phase-sow-card-top em{padding:5px 7px;background:#fff;color:#5c663e;font-size:8px;font-style:normal;font-weight:800;text-transform:uppercase}
.phase-sow-card h3{margin:17px 0 8px;font-size:16px}.phase-sow-card>p{flex:1;margin:0 0 18px;color:var(--muted);font-size:10px}.phase-sow-meta small{color:var(--muted);font-size:9px}.phase-sow-meta strong{color:var(--navy);font-size:19px}
.mini-progress{height:6px;margin:8px 0 15px;background:#dedbd2;overflow:hidden}.mini-progress i{display:block;height:100%;background:var(--navy);transition:width .2s}.phase-sow-card>b{color:var(--navy);font-size:8px;letter-spacing:.07em}.phase-sow-card>b span{float:right;color:#a57b0c;font-size:15px}
.sow-content{padding:40px 48px}.sow-phase-nav{display:grid;grid-template-columns:repeat(4,1fr);background:var(--cream);border-bottom:1px solid var(--line)}
.sow-phase-tab{min-height:84px;padding:16px 20px;border-bottom:5px solid transparent;color:var(--navy);text-decoration:none;display:grid;gap:3px}.sow-phase-tab:hover{background:#fff}.sow-phase-tab.active{background:var(--navy);color:#fff;border-bottom-color:var(--yellow)}.sow-phase-tab span{color:#8b8e99;font-size:8px;font-weight:850;letter-spacing:.1em}.sow-phase-tab.active span{color:var(--yellow)}.sow-phase-tab strong{font-size:13px}.sow-phase-tab small{color:var(--muted);font-size:9px}.sow-phase-tab.active small{color:#c9ccd8}
.sow-hero{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:44px;align-items:end;margin-bottom:32px}.sow-hero h1{margin:0;color:var(--navy);font-size:clamp(40px,5vw,64px);line-height:1;letter-spacing:-.05em}.sow-hero>div>p:last-child{max-width:780px;margin:18px 0 0;color:var(--muted);font-size:15px}.sow-progress-card{padding:22px;background:var(--navy);color:#fff;border-radius:0 24px 0 0}.sow-progress-card>small{color:var(--yellow);font-size:9px;letter-spacing:.1em}.sow-progress-card>strong{display:block;margin-top:5px;font-size:38px}.sow-progress-card>span{color:#cdd0dc;font-size:10px}
.scope-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:20px}.scope-box{border-top:4px solid var(--sage);background:var(--cream);padding:16px;display:grid;gap:9px}.scope-box.out{border-top-color:var(--orange)}.scope-box>span{color:var(--navy);font-size:9px;font-weight:850;letter-spacing:.1em}.scope-box textarea{width:100%;padding:12px;border:1px solid var(--line);background:#fff;font-size:11px;resize:vertical}.scope-box textarea:focus{outline:2px solid rgba(239,201,79,.65);border-color:#c69d1d}
.sow-deliverable-table{min-width:1280px}.sow-deliverable-table th:nth-child(1){width:19%}.sow-deliverable-table th:nth-child(2){width:12%}.sow-deliverable-table th:nth-child(3){width:11%}.sow-deliverable-table th:nth-child(4){width:12%}.sow-deliverable-table th:nth-child(5){width:14%}.sow-deliverable-table th:nth-child(6){width:26%}.sow-deliverable-table td{vertical-align:top}.sow-deliverable-table input,.sow-deliverable-table select{width:100%;padding:8px;border:1px solid var(--line);background:#fff;font-size:10px}.progress-editor{display:grid;grid-template-columns:1fr 38px;align-items:center;gap:8px}.progress-editor input{padding:0;border:0;accent-color:var(--navy)}.progress-editor output{color:var(--navy);font-size:10px;font-weight:800}.plan-fields{display:grid;grid-template-columns:1fr 1.2fr;gap:5px;align-items:center}.plan-fields .plan-open,.plan-fields small{grid-column:1/-1}.plan-open{color:var(--navy);font-size:8px;font-weight:850;letter-spacing:.06em}.plan-fields small{color:var(--muted);font-size:7px;letter-spacing:.06em}
.sow-bottom-grid{display:grid;grid-template-columns:1.5fr .7fr;gap:18px}.agreement-context{margin:0}.agreement-context dl{display:grid;grid-template-columns:1fr 1fr;margin:0;padding:20px;gap:16px}.agreement-context dl div{padding-bottom:10px;border-bottom:1px solid var(--line)}.agreement-context dt{color:var(--muted);font-size:8px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.agreement-context dd{margin:4px 0 0;color:var(--navy);font-size:12px;font-weight:700}.sow-actions .workspace-link{display:block}
@media(max-width:1000px){.phase-sow-cards{grid-template-columns:1fr 1fr}.agreement-grid{grid-template-columns:1fr 1fr}.sow-hero,.sow-bottom-grid{grid-template-columns:1fr}}
@media(max-width:700px){.agreement-grid,.phase-sow-cards,.scope-grid{grid-template-columns:1fr}.sow-content{padding:30px 18px}.sow-phase-nav{grid-template-columns:repeat(4,minmax(125px,1fr));overflow-x:auto}.sow-phase-tab{padding:12px}.agreement-context dl{grid-template-columns:1fr}}
.brand-logo{width:min(270px,34vw)}
.brand-logo img{max-height:none;object-fit:fill}
@media(max-width:700px){.brand-logo{width:min(270px,80vw)}}
.hero-grid h1{isolation:isolate}
.hero-grid h1 .hero-line-top{position:relative;z-index:2}
.hero-grid h1 mark{position:relative;z-index:1}

/* Shared-data layer (store.js): sign-in overlay, save banner, engagement bar */
.auth-overlay{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;background:var(--cream)}
.auth-card{display:flex;flex-direction:column;gap:14px;width:min(400px,90vw);padding:38px;background:var(--white);border-top:6px solid var(--yellow);box-shadow:var(--shadow)}
.auth-card img{width:150px;margin-bottom:4px}
.auth-card h1{margin:0;font-size:22px;color:var(--navy)}
.auth-card p{margin:0;color:var(--muted);font-size:11px}
.auth-card label{display:flex;flex-direction:column;gap:5px;font-size:10px;font-weight:800;letter-spacing:.06em;color:var(--navy)}
.auth-card input{padding:11px;border:1px solid var(--line);font:inherit;font-size:13px}
.auth-card button{padding:13px;border:0;background:var(--navy);color:var(--white);font-weight:850;letter-spacing:.08em;font-size:11px;cursor:pointer}
.auth-card button:disabled{opacity:.6}
.auth-error{color:var(--red);font-weight:700}
.store-banner{position:fixed;left:50%;bottom:24px;z-index:210;transform:translate(-50%,20px);padding:12px 18px;background:var(--red);color:var(--white);font-size:11px;font-weight:700;opacity:0;pointer-events:none;transition:.25s}
.store-banner.show{opacity:1;transform:translate(-50%,0)}
.engagement-bar{display:flex;align-items:center;gap:14px;margin-left:auto}
.engagement-bar label{display:flex;align-items:center;gap:8px;font-size:9px;font-weight:850;letter-spacing:.08em;color:var(--navy)}
.engagement-bar select{padding:7px 9px;border:1px solid var(--line);background:var(--white);font:inherit;font-size:11px}
.new-client-modal .field{display:flex;flex-direction:column;gap:5px;margin-bottom:14px;font-size:10px;font-weight:800;letter-spacing:.05em;color:var(--navy)}
.new-client-modal input{padding:10px;border:1px solid var(--line);font:inherit;font-size:13px}
.new-client-modal .nc-hint{font-weight:400;color:var(--muted)}
.new-client-modal .nc-result b{color:var(--navy)}
.rubric-hint{margin-top:8px;font-size:9px;color:var(--muted)}
.rubric-hint summary{cursor:pointer;font-weight:800;letter-spacing:.05em;color:var(--navy)}
.rubric-hint p{margin:6px 0 0}
.ai-draft-table em{font-style:normal;font-size:9px;color:var(--muted)}
.doc-dims{display:block;margin-top:3px;color:var(--muted);font-size:8px;letter-spacing:.04em;text-transform:uppercase}
.doc-fields{display:flex;flex-direction:column;gap:4px;flex:1}
.doc-dims-input{font-size:9px;color:var(--muted)}
.evidence-coverage{display:inline-block;margin:6px 0 0;padding:3px 6px;background:#f3e9d8;color:#8a6d1f;font-size:8px;font-weight:850;letter-spacing:.06em}
.evidence-coverage.covered{background:var(--sage2);color:#5c663e}
#workspace-framework{font-size:clamp(20px,2.4vw,34px);overflow-wrap:anywhere}
/* Anti-flash: page content stays hidden from first paint until store.js
   confirms sign-in and data load; the auth overlay lives outside the shell. */
.portal-shell{visibility:hidden}
#workstream-map-section{margin-top:8px}
.workstream-frame{border:1px solid var(--line);background:var(--white)}
.workstream-frame iframe{display:block;width:100%;height:660px;border:0;background:#fff}
.map-open-link{font-size:10px;font-weight:850;letter-spacing:.08em;color:var(--navy);text-decoration:none;border-bottom:2px solid var(--yellow);padding-bottom:2px}
.map-dim-link{display:inline-block;margin-top:10px;font-size:10px;font-weight:800;letter-spacing:.05em;color:var(--navy);text-decoration:none;border-bottom:2px solid var(--yellow);padding-bottom:1px}
.workstream-card{border-top:3px solid var(--yellow)}
.workstream-body{padding:0 18px 18px}
.workstream-footer{display:flex;justify-content:flex-end;padding-top:12px}
.doc-template{display:block;margin-top:4px;font-size:10px;color:var(--muted)}
.doc-template a{color:var(--navy);font-weight:800;text-decoration:none;border-bottom:2px solid var(--yellow);padding-bottom:1px}
/* Self-assessment survey */
.survey-intro{max-width:70ch;margin:0 0 18px;color:var(--muted);font-size:12px;line-height:1.6}
.survey-progress{padding:6px 10px;background:var(--navy);color:var(--yellow);font-family:inherit;font-size:9px;font-weight:850;letter-spacing:.08em}
.survey-q{padding:14px 18px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:16px}
.survey-q p{margin:0;font-size:12.5px;line-height:1.5;flex:1}
.ans-row{display:flex;gap:6px;flex:none}
.ans-btn{padding:8px 14px;border:1px solid var(--line);background:#fff;font:inherit;font-size:10px;font-weight:800;letter-spacing:.05em;cursor:pointer;color:var(--muted)}
.ans-btn:hover{border-color:var(--navy);color:var(--navy)}
.ans-btn.selected{background:var(--navy);border-color:var(--navy);color:var(--yellow)}
#survey-section{margin-bottom:34px}

/* ── Karcsay Group white-label theme (from Karcsay Style Guide v2) ──
   Black chrome, Coral Red large headlines, Seal Red small accents,
   Karcsay Navy for data/selection, Helvetica display over Wix Madefor Text. */
body[data-theme="kcg"]{
  --navy:#000000;--navy2:#1C2328;--yellow:#E84840;--cream:#F5F7F8;
  --sage:#A9C3D0;--sage2:#E3ECF1;--ink:#1C2328;--muted:#62717B;
  --line:#D8E0E5;--white:#fff;--orange:#D51D25;--red:#A8161C;
  font-family:'Wix Madefor Text',system-ui,sans-serif;
}
body[data-theme="kcg"] h1,body[data-theme="kcg"] h2,body[data-theme="kcg"] h3,
body[data-theme="kcg"] .phase-button strong{font-family:'Helvetica Neue',Helvetica,Arimo,Arial,sans-serif}
body[data-theme="kcg"] .kicker{color:#D51D25}
body[data-theme="kcg"] .hero-grid h1{color:#E84840}
body[data-theme="kcg"] h1 mark{background:#000;color:#fff;padding:2px 10px}
body[data-theme="kcg"] .topbar{background:#000}
body[data-theme="kcg"] .topbar .client-context small{color:#A9C3D0}
body[data-theme="kcg"] .topbar .client-context strong{color:#fff}
body[data-theme="kcg"] .brand-wordmark{font-family:'Helvetica Neue',Helvetica,Arimo,Arial,sans-serif;font-size:26px;color:#fff;letter-spacing:.01em}
body[data-theme="kcg"] .engagement-pill{background:#E84840;color:#000;border-radius:999px}
body[data-theme="kcg"] .primary-button,body[data-theme="kcg"] .secondary-button{border-radius:999px}
body[data-theme="kcg"] .ans-btn{border-radius:999px}
body[data-theme="kcg"] .ans-btn.selected{background:#000;border-color:#000;color:#fff}
body[data-theme="kcg"] .request-card,body[data-theme="kcg"] .workstream-frame,body[data-theme="kcg"] .gap-card,body[data-theme="kcg"] .progress-block{border-radius:8px;overflow:hidden}
body[data-theme="kcg"] .survey-progress{background:#000;color:#fff;border-radius:999px}
body[data-theme="kcg"] .auth-card{border-top:6px solid #D51D25;border-radius:8px}
body[data-theme="kcg"] .auth-card button{background:#000;border-radius:999px}
body[data-theme="kcg"] .auth-wordmark{font-family:'Helvetica Neue',Helvetica,Arimo,Arial,sans-serif;font-weight:700;font-size:26px;color:#000}
body[data-theme="kcg"] .auth-card input{border-radius:4px}
body[data-theme="kcg"] .doc-template a,body[data-theme="kcg"] .map-open-link,body[data-theme="kcg"] .map-dim-link{border-bottom-color:#D51D25}
.maturity-attribution{margin:16px 0 0;font-size:10.5px;letter-spacing:.06em;color:var(--muted)}

/* Wide-screen legibility: scale the whole interface up on large monitors so
   nobody needs browser zoom. Media queries evaluate against the real viewport,
   so these do not compound. */
@media (min-width:1500px){
  body{zoom:1.18}
  .portal-shell{width:min(1300px,calc(100% - 48px))}
}
@media (min-width:1800px){
  body{zoom:1.32}
}
.step-nav{margin:26px 0 6px;display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.step-nav small{color:var(--muted);font-size:11px}
.primary-button:disabled{opacity:.35;cursor:default}
.step-back{margin:0 0 14px}
.phase-button.locked{opacity:.42;cursor:not-allowed}
.phase-button.locked .phase-lock{color:var(--muted);font-style:italic}
.next-phase.locked{opacity:.42;cursor:not-allowed}
.survey-editor{padding:16px 20px;border-top:1px solid var(--line);background:var(--cream)}
.survey-editor-note{margin:0 0 12px;color:var(--muted);font-size:10px}
.survey-edit-cat{border:1px solid var(--line);background:#fff;margin-bottom:10px}
.survey-edit-cat.off{opacity:.5}
.survey-edit-head{display:flex;align-items:center;gap:10px;padding:10px 12px;border-bottom:1px solid var(--line);cursor:pointer}
.survey-edit-head strong{font-size:11px;color:var(--navy)}
.survey-edit-head small{color:var(--muted);font-size:9px}
.survey-edit-qs{padding:6px 12px}
.survey-edit-q{display:flex;align-items:center;gap:10px;padding:5px 0}
.survey-edit-q.off .q-text{opacity:.5;text-decoration:line-through}
.survey-edit-q .q-text{flex:1;padding:7px 9px;border:1px solid var(--line);font:inherit;font-size:10px}
.add-login-result{padding:12px;background:var(--cream);border:1px solid var(--line);font-size:11px}
.add-login-result b{word-break:break-all}
