header,main,footer{max-width:1240px}
header h1{font-size:clamp(28px,3.5vw,42px)}
main{display:grid;grid-template-columns:minmax(250px,.85fr) minmax(0,1.5fr);gap:0 36px;align-items:start}
main>section:nth-of-type(1),main>section:nth-of-type(2),main>section:nth-of-type(3){grid-column:1}
main>section:nth-of-type(4){grid-column:2;grid-row:1/span 3;background:#fff;padding:24px;border:1px solid var(--line);border-radius:12px;margin-top:24px}
main>section:nth-of-type(5),main>section:nth-of-type(6),main>#error{grid-column:1/-1}
.program-editor{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 18px;margin:18px 0}
.editor-field{margin:0;display:flex;flex-direction:column;gap:6px;font-weight:550}
.editor-field.wide,.program-editor .wide{grid-column:1/-1}
.editor-field textarea{font:inherit;font-size:14px;line-height:1.5}
input[type=checkbox]{width:20px;height:20px;accent-color:var(--accent)}
.source-pick{display:flex;gap:10px;align-items:center;min-height:44px;cursor:pointer}
.source-selection-count{background:#dce9df;padding:10px 12px;border-radius:6px;font-weight:650}
.preview-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.preview-heading h3{font-size:22px}
.program-stages{display:flex;gap:8px;padding:0;list-style:none;flex-wrap:wrap}.program-stages li{padding:8px 12px;border:1px solid var(--line);border-radius:6px}.program-stages small{display:block;color:var(--muted)}
.cycle-preview,.budget-preview{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;margin:16px 0}
.cycle-preview article,.budget-month{display:flex;flex-direction:column;gap:5px;padding:12px;border:1px solid var(--line);border-radius:7px;background:var(--paper)}.budget-month.over{background:#fff0cb;border-color:#d0a348}
.reviewed-preview{overflow-wrap:anywhere}.reviewed-preview li small{display:block;font-family:ui-monospace,monospace;font-size:11px}.budget-preview>p{grid-column:1/-1}
button,.button,input,select{min-height:44px}#drafts .row button{margin-right:8px;margin-top:10px}#compile{background:var(--accent);color:white}#error:not(:empty){background:#fff0cb;border:1px solid #d0a348;border-radius:8px;padding:12px}.editor-field input:invalid{border-color:#8a251f}
@media(max-width:800px){main{display:block}main>section:nth-of-type(4){padding:18px}.program-editor{gap:12px}.editor-field{min-width:0}}
/* One focused workspace over the existing source and program records. */
[hidden]{display:none!important}.workspace{display:grid;grid-template-columns:244px minmax(0,1fr);min-height:100vh}.workspace-main{display:block;max-width:none;width:100%;padding:0 32px 40px;min-width:0}.workspace-main>section{padding:22px 0;border:0;margin:0;background:none;min-width:0}.workspace-main>section:nth-of-type(4){padding:22px 0;border:0;margin:0;background:none}
.workspace-rail{background:#e9ece5;border-right:1px solid var(--line);padding:26px 18px;min-width:0}.wordmark{display:block;font-size:26px;font-weight:750;letter-spacing:-1px;text-decoration:none;margin-bottom:30px}.wordmark span{display:block;font-size:12px;font-weight:500;letter-spacing:0;margin-top:4px}.workspace-rail nav{display:grid;gap:5px}.workspace-rail nav button{background:transparent;color:var(--ink);border-color:transparent;text-align:left;padding:11px 14px}.workspace-rail nav button[aria-current=page]{background:var(--accent);color:white}
.rail-heading{display:flex;justify-content:space-between;align-items:center;margin-top:30px}.rail-heading h2{font-size:14px;margin:0}.rail-heading button{font-size:20px;background:none;color:var(--ink)}.rail-foot{display:grid;gap:15px;margin-top:32px;font-size:13px}.rail-foot button{text-align:left;background:transparent;color:var(--ink)}#drafts .row{padding:14px 0}#drafts .row button{font-size:12px;padding:7px;min-height:38px}#drafts .row strong{font-size:14px}
.workspace-header{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;max-width:none;padding:24px 0 20px}.workspace-header h1{font-size:28px;margin:10px 0 4px}.workspace-header p{margin:3px 0;font-size:13px}.workspace-header a{font-size:12px}.workspace-actions{display:flex;gap:7px;flex-wrap:wrap}.workspace-actions button{font-size:12px;padding:9px 11px}.primary,button.primary,#save-draft{background:var(--accent);color:white}.workspace button:not(.primary):not(#compile):not(#save-draft):not([aria-current=page]){background:white;color:var(--ink)}#web-workspace-notice{flex-basis:100%;max-width:none!important}
.section-heading{display:flex;gap:20px;justify-content:space-between;align-items:center;margin-bottom:18px}.section-heading h2{margin:0 0 5px;font-size:20px}.section-heading p{margin:0;color:var(--muted);font-size:13px}.source-toolbar{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.source-toolbar input{flex:1;min-width:180px}.source-toolbar select{width:auto;max-width:230px}.drop-target{margin:16px 0;padding:15px;border:1px dashed var(--line);border-radius:9px;color:var(--muted);font-size:13px;cursor:pointer}.drop-target.dragging{background:#dce9df;border-color:var(--accent)}
.source-layout{display:grid;grid-template-columns:minmax(200px,1.4fr) minmax(200px,1fr);gap:20px;align-items:start}.source-layout>.source-selection-count{grid-column:1/-1;margin:0}.source-detail{background:white;border:1px solid var(--line);border-radius:12px;padding:22px;min-width:0}.source-detail small,.source-detail p,.source-detail blockquote{overflow-wrap:anywhere}.source-detail blockquote{margin:14px 0;padding-left:14px;border-left:3px solid var(--line)}#observations{min-width:0}#observations .row{background:white;border:1px solid var(--line);border-radius:9px;padding:16px;margin-bottom:10px}.source-pick{font-weight:500}input[type=checkbox]{width:19px;height:19px;min-height:19px;flex-shrink:0}
.planner-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(270px,1fr);gap:24px;align-items:start}.planner-layout>div{min-width:0}#program-inspector{background:white;padding:22px;border:1px solid var(--line);border-radius:12px}.program-editor{gap:12px}.program-editor .editor-field{font-size:12px}.program-editor input,.program-editor select{font-size:14px;min-width:0}.agreement-fields{margin:8px 0}.agreement-fields summary{padding:10px 0}.agreement-fields label{margin:12px 0}
.cycle-preview{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.cycle-preview .cycle-card{background:white;padding:16px;gap:8px;box-shadow:0 2px 4px #152a2906}.cycle-card .calendar-day{font-size:42px;font-weight:450;line-height:1.2}.cycle-card.skipped{background:#edece7}.cycle-card.skipped .calendar-day{text-decoration:line-through;color:var(--muted)}.cycle-card button{margin-top:10px;width:100%;font-size:12px}.cycle-selection{display:flex;gap:8px;align-items:center;margin:0;font-size:12px}.cycle-card small,.cycle-card>span{font-size:12px;color:var(--muted)}.cycle-actions{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0}.cycle-actions span{font-size:12px;align-self:center;color:var(--muted)}.reviewed-preview>details{font-size:13px;padding:12px;background:#ebece6;border-radius:8px}
.comparison-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px}.comparison-card{padding:22px;background:white;border:1px solid var(--line);border-radius:12px;overflow-wrap:anywhere}.comparison-card h3{font-size:19px;margin-top:0}.comparison-card h4{margin:16px 0 8px}.comparison-card p,.comparison-card a{font-size:13px}.comparison-card blockquote{margin:12px 0;border-left:3px solid var(--line);padding-left:12px;font-size:14px}.comparison-card section{padding:12px 0}.comparison-price{font-size:27px}.comparison-summary{padding:12px;background:#dce9df;border-radius:8px}
.budget-preview{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.budget-month{background:white;padding:22px}.budget-month>span{font-size:26px}.proposal-document{white-space:pre-wrap;overflow-wrap:anywhere;background:white;padding:30px;border:1px solid var(--line);border-radius:12px;font:15px/1.7 system-ui,sans-serif;max-width:900px}.workspace table{width:100%;border-collapse:collapse;font-size:14px;margin:16px 0}.workspace td,.workspace th{padding:13px;text-align:left;border-bottom:1px solid var(--line);overflow-wrap:anywhere}.workspace th{font-weight:600}#change-review{overflow-x:auto}#change-review table{table-layout:fixed}#workspace-notice:empty,#error:empty{display:none}#workspace-notice{padding:10px 14px;background:#dce9df;border-radius:8px;font-size:13px}#conflict-recovery{padding:16px;background:#fff0cb;border:1px solid #d0a348;border-radius:9px}
dialog{border:1px solid var(--line);border-radius:14px;padding:24px;width:min(750px,94vw);max-height:88vh;overflow:auto;color:var(--ink);background:var(--paper)}dialog::backdrop{background:#14282199}.dialog-heading{display:flex;justify-content:space-between;align-items:center;gap:14px}.dialog-heading h2{margin:0}.import-row{display:flex;gap:14px;align-items:start;border-bottom:1px solid var(--line);padding:14px 0}.import-row input{margin-top:4px}.import-row p{font-weight:400;margin:6px 0}.import-row small{font-weight:400;overflow-wrap:anywhere}.import-row div{min-width:0}#import-error{color:#8a251f}
@media(min-width:1700px){.workspace-main{padding-left:50px;padding-right:50px}}
@media(max-width:1100px){.workspace{grid-template-columns:200px minmax(0,1fr)}.workspace-main{padding:0 20px 30px}.planner-layout{grid-template-columns:1fr}#program-inspector{order:-1}.program-editor{grid-template-columns:repeat(3,minmax(0,1fr))}.source-layout{grid-template-columns:1fr}.source-detail{order:3}.source-toolbar select{max-width:100%}}
@media(max-width:700px){.workspace{display:block}.workspace-rail{padding:16px;border-right:0;border-bottom:1px solid var(--line)}.wordmark{font-size:23px;margin-bottom:14px}.workspace-rail nav{display:flex;overflow-x:auto;gap:6px}.workspace-rail nav button{white-space:nowrap;flex-shrink:0;font-size:12px}.rail-heading{margin-top:16px}.rail-foot{display:flex;flex-wrap:wrap;gap:14px;align-items:center;margin-top:15px}.rail-foot button{font-size:12px}#drafts{display:flex;overflow-x:auto;gap:14px}#drafts .row{min-width:180px;max-width:260px}.workspace-main{padding:0 16px 24px}.workspace-header h1{font-size:25px}.section-heading{align-items:start;flex-direction:column;gap:8px}.source-toolbar>*{max-width:100%}.source-toolbar input{min-width:0;flex-basis:100%}.source-toolbar select{width:100%;max-width:100%}.cycle-preview{grid-template-columns:repeat(2,minmax(0,1fr))}.program-editor{grid-template-columns:repeat(2,minmax(0,1fr))}.comparison-grid{grid-template-columns:1fr}.proposal-document{padding:18px}.workspace-header{padding:20px 0}.workspace-actions{width:100%}.workspace-actions button{flex:1}.workspace-main>section{padding-top:16px}#change-review table{font-size:12px}.workspace td,.workspace th{padding:8px}.dialog-heading h2{font-size:20px}}
@media print{body{background:white}.workspace{display:block}.workspace-rail,.workspace-header,#error,#workspace-notice,#conflict-recovery,.section-heading,.workspace-main>section:not([data-panel=review]){display:none!important}.workspace-main{padding:0}.workspace-main [data-panel=review]{display:block!important}.proposal-document{border:0;padding:0;max-width:none}#change-review{display:none}}
button:focus-visible,a:focus-visible,.drop-target:focus-visible{outline:3px solid #d18c39;outline-offset:3px}button:disabled{opacity:.5}
