:root{--navy:#102a3a;--navy-2:#183c4c;--teal:#007c78;--teal-dark:#005f5c;--cream:#f6f4ee;--paper:#fff;--muted:#586d76;--line:#d7e1df;--soft:#eaf3f0;--yellow:#fff1c9;--red:#a73531;--shadow:0 5px 22px #18313f0b;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--navy);background:var(--cream);font-synthesis:none}
*{box-sizing:border-box}body{margin:0;overflow-wrap:anywhere}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button,a,input,select,textarea:focus-visible{outline-offset:3px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #36b3ac}.skip-link{position:fixed;top:-60px;left:12px;background:var(--navy);color:white;padding:12px;z-index:99}.skip-link:focus{top:8px}button{border:1px solid var(--line);background:white;color:var(--navy);border-radius:7px;min-height:40px;padding:9px 14px;cursor:pointer;font-weight:650}button:hover{background:var(--soft);border-color:#a7c7c0}button:disabled{opacity:.5;cursor:not-allowed}button.primary{background:var(--teal);border-color:var(--teal);color:white}button.primary:hover{background:var(--teal-dark)}button.quiet{background:transparent}button.small{font-size:12px;min-height:32px;padding:6px 10px}.eyebrow{font-size:11px;letter-spacing:.13em;text-transform:uppercase;font-weight:750;color:var(--teal);margin:0 0 8px}h1,h2,h3,p{margin-top:0}h1{font-size:30px;line-height:1.15;letter-spacing:-.035em;margin-bottom:10px}h2{font-size:22px;letter-spacing:-.025em}h3{font-size:16px;margin-bottom:8px}p{line-height:1.55}.muted{color:var(--muted)}.small-text{font-size:12px}.loading{max-width:700px;margin:12vh auto;padding:24px}
.layout{display:grid;grid-template-columns:265px minmax(0,1fr);min-height:100vh}.sidebar{background:var(--navy);color:#e8f1ee;padding:30px 20px 22px;display:flex;flex-direction:column;gap:26px}.brand{padding:0 10px}.brand .eyebrow{color:#8ed1c5}.brand-title{font-size:19px;line-height:1.23;font-weight:750;letter-spacing:-.025em}.brand-subtitle{font-size:12px;color:#b8cecf;margin:10px 0 0}.nav-label{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:#8faeb3;padding:0 10px;margin:0 0 10px}.stage-nav{display:flex;flex-direction:column;gap:5px}.nav-item{width:100%;border:1px solid transparent;background:transparent;color:#d9e6e5;display:flex;align-items:center;gap:10px;padding:11px 10px;min-height:45px;text-align:left;border-radius:7px;font-size:12.5px;font-weight:550}.nav-item:hover{background:#ffffff0d;border-color:#ffffff10}.nav-item.active{background:#e7f2ed;color:var(--navy);font-weight:750}.nav-number{font-variant-numeric:tabular-nums;min-width:22px;font-size:11px;color:#91b6ba}.active .nav-number{color:var(--teal)}.nav-text{flex:1}.nav-count{font-size:10px;color:#9cb9bb;white-space:nowrap}.active .nav-count{color:var(--teal)}.sidebar-foot{margin-top:auto;padding:18px 10px 0;border-top:1px solid #ffffff20;font-size:11px;line-height:1.55;color:#abc1c3}.sidebar-foot strong{display:block;color:#e8f1ee;font-size:12px;margin-bottom:5px}
.workspace{min-width:0}.topbar{background:var(--paper);border-bottom:1px solid var(--line);padding:16px 30px;display:flex;gap:14px;align-items:center;flex-wrap:wrap}.project-select{min-width:180px;max-width:360px;flex:1}.project-select label{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:700;margin-bottom:4px}.project-select select{width:100%;border:0;background:transparent;color:var(--navy);font-weight:700;padding:3px 20px 3px 0;font-size:14px;min-height:25px}.top-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.save-state{display:flex;gap:7px;align-items:center;font-size:11px;color:var(--muted);margin-left:auto;white-space:nowrap}.state-dot{height:7px;width:7px;border-radius:50%;background:#9baaae}.state-dot.cloud{background:var(--teal)}.state-dot.dirty{background:#b97917}.account-button{font-size:11px;min-height:32px;padding:6px 9px}.utilitybar{padding:10px 30px;display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;border-bottom:1px solid var(--line)}.utility-actions{display:flex;flex-wrap:wrap;gap:6px}.utilitybar button{font-size:11px;padding:5px 9px;min-height:29px;background:transparent;border-color:transparent;color:var(--muted)}.utilitybar button:hover{border-color:var(--line);background:white}.privacy-note{font-size:10px;color:var(--muted);max-width:430px;margin:0;line-height:1.4}.content{padding:28px 32px 40px;max-width:1360px;margin:auto}.banner{border:1px solid #c5dcd3;border-left:4px solid var(--teal);padding:12px 15px;margin-bottom:20px;background:#edf5ef;border-radius:5px;font-size:12px;line-height:1.5;overflow-wrap:anywhere}.banner.error{background:#fff0ed;border-color:#edc1b9;border-left-color:var(--red)}.banner.warning{background:#fff8df;border-color:#ebdca6;border-left-color:#ad7b15}.banner p{margin:0}.banner-actions{display:flex;gap:8px;margin-top:10px}.page-heading{display:flex;gap:20px;align-items:flex-start;justify-content:space-between;margin-bottom:25px}.page-heading p{margin-bottom:0;max-width:680px;font-size:13px;color:var(--muted)}.heading-actions{display:flex;gap:8px;flex-shrink:0}.progress-line{height:3px;background:#dce6df;margin:17px 0 8px;overflow:hidden;border-radius:3px}.progress-line span{height:100%;display:block;background:var(--teal)}.progress-caption{font-size:11px;color:var(--muted)}
.form-layout{display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:26px;align-items:start}.sheet{background:white;border:1px solid var(--line);border-radius:9px;padding:24px;box-shadow:var(--shadow)}.sheet-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:20px;padding-bottom:15px;border-bottom:1px solid var(--line)}.sheet-heading h2{margin:0}.sheet-heading span{font-size:11px;color:var(--muted)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:21px 20px}.field{min-width:0}.field.full{grid-column:1/-1}.field label{display:block;font-size:12px;font-weight:700;margin-bottom:7px;line-height:1.5}.required{color:var(--teal);margin-left:3px}.field input:not([type=checkbox]),.field select,.field textarea,.project-name-input{width:100%;border:1px solid #becfcd;border-radius:6px;background:#fffef9;color:var(--navy);padding:10px 11px;font-size:13px;min-height:42px}.field input::placeholder,.field textarea::placeholder{color:#8b9a9f}.field textarea{resize:vertical;min-height:95px;line-height:1.5}.field .help{font-size:10.5px;color:var(--muted);line-height:1.5;margin:6px 0 0}.field.invalid input,.field.invalid select,.field.invalid textarea{border-color:#d47b6e;background:#fff8f5}.field-error{font-size:11px;color:var(--red);margin-top:6px}.check-control{display:flex;gap:10px;align-items:flex-start;border:1px solid #c8d8d3;background:#f4f8f3;border-radius:6px;padding:12px;min-height:45px}.check-control input{width:18px;height:18px;margin:1px 0 0;accent-color:var(--teal);flex-shrink:0}.check-control label{font-weight:550;margin:0;font-size:12px}.form-footer{display:flex;justify-content:space-between;gap:14px;align-items:center;margin-top:28px;padding-top:20px;border-top:1px solid var(--line)}.form-footer p{font-size:11px;color:var(--muted);margin:0}.form-footer-actions{display:flex;gap:8px}.side-summary{position:sticky;top:20px;display:flex;flex-direction:column;gap:16px}.side-note{padding:17px 0;border-top:1px solid var(--line)}.side-note:first-child{border-top:0;padding-top:0}.side-note h3{font-size:12px;margin-bottom:8px}.side-note p{font-size:11px;color:var(--muted);margin-bottom:0}.side-note ul{padding-left:16px;margin:0;font-size:11px;color:var(--muted);line-height:1.7}.mini-quote{margin:0;display:grid;gap:14px}.mini-quote div{display:flex;justify-content:space-between;gap:10px;align-items:baseline}.mini-quote dt{font-size:11px;color:var(--muted)}.mini-quote dd{font-size:17px;font-weight:750;margin:0;font-variant-numeric:tabular-nums}.mini-quote .days{font-size:14px}.status-text{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:700;color:var(--muted)}.status-text.ready{color:var(--teal)}.status-text.hold{color:#9a6911}.status-text.error{color:var(--red)}
.summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-bottom:25px}.metric{padding:18px 0;border-top:2px solid var(--navy)}.metric .label{font-size:11px;color:var(--muted);margin-bottom:8px}.metric .value{font-size:29px;letter-spacing:-.035em;font-weight:750;font-variant-numeric:tabular-nums;line-height:1.25}.metric .detail{font-size:10px;color:var(--muted);margin-top:5px}.summary-columns{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:22px}.section-block{background:white;border:1px solid var(--line);border-radius:8px;padding:22px;margin-bottom:20px}.section-block h2{font-size:17px;margin-bottom:15px}.section-block>p{font-size:12px;color:var(--muted)}.data-table{width:100%;border-collapse:collapse;font-size:12px;table-layout:fixed}.data-table th{font-size:10px;text-transform:uppercase;letter-spacing:.055em;color:var(--muted);text-align:left;font-weight:700;padding:10px 8px;border-bottom:1px solid #bdcfca}.data-table td{vertical-align:top;padding:12px 8px;border-bottom:1px solid var(--line);line-height:1.5;overflow-wrap:anywhere}.data-table th:first-child,.data-table td:first-child{padding-left:0}.data-table th:last-child,.data-table td:last-child{padding-right:0}.data-table tr:last-child td{border-bottom:0}.data-table .money{font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:700}.gate-list{display:flex;flex-direction:column;gap:14px}.gate{padding:0 0 14px;border-bottom:1px solid var(--line)}.gate:last-child{border-bottom:0;padding-bottom:0}.gate-title{display:flex;justify-content:space-between;gap:12px;font-weight:700;font-size:12px;margin-bottom:6px}.gate ul{padding-left:16px;margin:0;font-size:11px;color:var(--muted);line-height:1.6}.action-list{padding-left:18px;margin:0;color:var(--muted);font-size:12px;line-height:1.8}.empty-state{padding:20px;border:1px dashed #b7cfca;text-align:center;border-radius:7px;color:var(--muted);font-size:12px}.plan-task{display:grid;grid-template-columns:37px minmax(0,1fr);gap:11px;padding:20px 0;border-bottom:1px solid var(--line)}.plan-task:first-child{padding-top:0}.task-num{font-size:11px;color:var(--teal);font-weight:750;padding-top:3px}.task-head{display:flex;justify-content:space-between;align-items:baseline;gap:15px;margin-bottom:8px}.task-head h3{font-size:13px;margin:0}.task-head span{font-size:10px;color:var(--muted)}.task-meta{font-size:11px;color:var(--muted);line-height:1.65;margin:0}.task-meta strong{font-weight:650;color:var(--navy)}.intro-panel{padding:20px 0 24px;border-bottom:1px solid var(--line);margin-bottom:24px}.project-name{max-width:650px;margin-bottom:22px}.project-name label{display:block;font-size:11px;font-weight:700;color:var(--muted);margin-bottom:7px}.section-links{display:flex;flex-direction:column;gap:9px}.stage-link{display:flex;justify-content:space-between;align-items:center;text-align:left;border-radius:6px;padding:13px 14px;font-size:12px}.stage-link small{color:var(--muted);font-size:10px}.pill{border:1px solid #c9d9d3;border-radius:4px;background:#f2f7f4;padding:3px 6px;font-size:10px;white-space:nowrap}.pill.hold{background:var(--yellow);border-color:#e8d79a;color:#896115}.divider{height:1px;background:var(--line);margin:20px 0}.login-backdrop{position:fixed;inset:0;background:#102a3a99;display:grid;place-items:center;padding:22px;z-index:50}.login-panel{width:min(450px,100%);background:white;border-radius:10px;padding:28px;box-shadow:0 20px 80px #0004}.login-panel p{font-size:12px;color:var(--muted)}.login-panel .field{margin:22px 0}.login-actions{display:flex;justify-content:flex-end;gap:9px}.modal-title{display:flex;justify-content:space-between;gap:14px;align-items:center}.modal-title h2{margin:0}.close-button{font-size:19px;min-height:30px;padding:2px 8px;border:0;background:transparent}.live-toast{position:fixed;bottom:20px;right:22px;background:var(--navy);color:white;padding:12px 18px;border-radius:7px;box-shadow:0 10px 35px #0002;max-width:400px;font-size:12px;z-index:60}.page-footer{margin-top:25px;font-size:10px;color:var(--muted);line-height:1.6}#print-root{display:none}
@media(max-width:1190px){.form-layout{grid-template-columns:minmax(0,1fr)}.side-summary{position:static;display:grid;grid-template-columns:1fr 1fr;gap:24px}.side-note{padding-top:0;border:0}.side-summary .side-note:last-child{display:none}.summary-columns{grid-template-columns:1fr}.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.save-state{display:none}.topbar{padding:15px 22px}.content{padding:25px 24px}.utilitybar{padding:9px 22px}.privacy-note{max-width:100%;font-size:9px}}
@media(max-width:790px){.layout{grid-template-columns:1fr}.sidebar{padding:20px;gap:18px}.brand{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:0}.brand-title{font-size:17px;max-width:220px}.brand-subtitle{margin:0;max-width:180px;text-align:right}.brand .eyebrow{font-size:9px}.sidebar nav{min-width:0}.nav-label,.sidebar-foot{display:none}.stage-nav{flex-direction:row;overflow:auto;padding-bottom:3px;gap:7px}.nav-item{width:auto;min-width:180px;min-height:42px;flex-shrink:0}.nav-item.active{background:#e7f2ed}.topbar{padding:14px 18px;gap:12px}.project-select{min-width:180px;max-width:none}.top-actions{gap:6px}.top-actions button{font-size:11px;padding:8px 10px;min-height:36px}.account-button{font-size:10px}.content{padding:23px 18px}.utilitybar{padding:8px 12px}.privacy-note{display:block;font-size:10px}.page-heading{flex-direction:column;gap:13px}.heading-actions{width:100%;justify-content:flex-end}.page-heading h1{font-size:26px}.sheet,.section-block{padding:20px}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.summary-grid{gap:16px}.metric .value{font-size:25px}.summary-columns{gap:0}.side-summary{grid-template-columns:1fr 1fr}.form-footer{flex-wrap:wrap}.form-footer-actions{margin-left:auto}.data-table{font-size:11px}.task-head{align-items:flex-start}.task-head span{text-align:right;max-width:110px}.live-toast{left:18px;right:18px;bottom:15px;max-width:none}}
@media print{@page{size:letter;margin:.55in}body{background:white;color:#111}.layout,#app,.login-backdrop,.live-toast{display:none!important}#print-root{display:block!important}#print-root .print-stage{break-before:page}#print-root .print-stage:first-child{break-before:auto}#print-root h1{font-size:20pt;line-height:1.15;margin:0 0 8pt}#print-root h2{font-size:15pt;margin:0 0 7pt}#print-root .print-kicker{font-size:9pt;text-transform:uppercase;letter-spacing:.08em;color:#007c78;margin-bottom:8pt}#print-root .print-meta{font-size:9pt;margin-bottom:15pt;line-height:1.5}#print-root .print-field{break-inside:avoid;margin:0 0 13pt}#print-root .print-field strong{display:block;font-size:9.5pt;margin-bottom:5pt}#print-root .print-help{font-size:8pt;color:#526570;margin:0 0 4pt;line-height:1.4}#print-root .print-answer{border-bottom:1px solid #c7d3cf;min-height:22pt;font-size:9.5pt;line-height:1.5;white-space:pre-wrap;padding:2pt 0 6pt}#print-root .print-answer.long{min-height:55pt}#print-root .print-footer{font-size:8pt;border-top:1px solid #ccc;margin-top:18pt;padding-top:7pt}#print-root .print-disclaimer{font-size:8pt;color:#526570;line-height:1.4;margin-bottom:15pt}}
