.planner-page{--planner-border:#6D8291;--planner-muted:#496376;--planner-accent:#730C07;padding-top:115px}
.planner-heading{padding:1.5rem 0 2rem}.planner-heading .tagline{font-size:.75rem;letter-spacing:.14em;text-transform:uppercase}.planner-heading h1{font-size:clamp(2.5rem,5vw,4rem);letter-spacing:-.045em;line-height:1.1;margin:.6rem 0 1rem}.planner-heading p{max-width:48ch;color:var(--planner-muted);font-size:1.05rem}
.planner-shell{padding-bottom:3rem}.planner-topline{display:flex;justify-content:space-between;gap:1rem;align-items:center;font-size:.85rem;color:var(--planner-muted);margin-bottom:1rem}.planner-topline p{margin:0}#save-badge{white-space:nowrap;padding:.3rem .65rem;border:1px solid var(--planner-border);border-radius:7px;background:#fff}
.planner-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.4rem;background:#F1F5F8;padding:.4rem;border-radius:14px;margin-bottom:1.5rem}.planner-tabs button{border:0;background:transparent;padding:.85rem .75rem;border-radius:10px;font-weight:600;color:#0C2F48;min-height:44px}.planner-tabs button[aria-selected=true]{background:#fff;color:var(--planner-accent);box-shadow:0 2px 8px #0C2F480C}
.planner-page [hidden]{display:none!important}.planner-page fieldset{padding:0;border:0;min-width:0}.planner-page .sr-only{position:absolute;overflow:hidden;clip-path:inset(50%);width:1px;height:1px;white-space:nowrap}.planner-page [role=tabpanel]:focus-visible{outline-offset:8px}
.planner-panel-heading{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;margin:1.5rem 0}.planner-panel-heading h2{font-size:1.65rem;line-height:1.3;margin:0 0 .45rem}.planner-panel-heading p{margin:0;color:var(--planner-muted)}.plan-switch{display:flex;gap:.3rem;flex-shrink:0}.plan-switch button{border:1px solid #6D8291;background:#fff;border-radius:8px;min-height:44px;padding:.6rem 1rem;color:#0C2F48}.plan-switch button[aria-pressed=true]{color:#fff;background:var(--planner-accent);border-color:var(--planner-accent)}
.planner-help{margin-bottom:1.5rem;font-size:.9rem;color:#496376}.planner-help summary{cursor:pointer;color:var(--planner-accent);padding:.4rem 0;min-height:32px}.planner-help p{max-width:85ch;padding:.65rem 1rem;background:#F1F5F8;border-radius:10px}
.budget-workspace{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(290px,1fr);gap:1.5rem;align-items:start}.planner-card{padding:1.75rem;border:1px solid var(--planner-border);border-radius:18px;background:#fff;min-width:0}.planner-card h3{font-size:1.1rem;line-height:1.4;margin:0 0 1rem}.budget-fields h3{margin:1.8rem 0 1rem}.plan-meta{display:grid;grid-template-columns:minmax(0,2fr) minmax(70px,1fr) minmax(70px,1fr);gap:.85rem}.planner-page input:not([type=checkbox]),.planner-page select,.planner-page textarea{width:100%;min-width:0;box-sizing:border-box;background:#FFFFFF;border:1px solid #6D8291;border-radius:9px;padding:.8rem .85rem;font:inherit;font-size:1rem;color:#0C2F48}.planner-page input[aria-invalid=true],.planner-page select[aria-invalid=true]{border-color:#B92326;background:#F8E9E9}.planner-page input::placeholder{color:#496376}.planner-page label{display:block;font-size:.88rem;font-weight:600;line-height:1.45;margin-bottom:.5rem}.planner-page label span,.cost-basis{font-weight:400;color:var(--planner-muted)}.cost-basis{display:block;font-size:.77rem;margin:.2rem 0 .45rem}.cost-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.planner-field{min-width:0}.field-error{display:block;color:#B92326;font-size:.8rem;line-height:1.4;margin:.35rem 0 0}.field-error:empty{display:none}.planner-muted{color:var(--planner-muted);font-size:.84rem;line-height:1.6;margin:.8rem 0 0}.small-print{font-size:.78rem}
.budget-summary{position:sticky;top:1.5rem;border-top:4px solid var(--planner-accent)}.budget-summary .tagline{font-size:.7rem;text-transform:uppercase;letter-spacing:.12em}.budget-summary h3{font-size:1.3rem;margin:.4rem 0}.summary-numbers{margin:1.2rem 0;display:grid;gap:.85rem}.summary-numbers>div{border-bottom:1px solid #E2EBF1;padding-bottom:.85rem}.summary-numbers dt{font-size:.82rem;color:#496376}.summary-numbers dd{margin:.35rem 0 0;font-size:1.35rem;font-weight:600;overflow-wrap:anywhere}.summary-numbers .gap-number dd{color:var(--planner-accent)}.summary-note{font-size:.87rem;line-height:1.6;background:#F1F5F8;border-radius:10px;padding:.85rem 1rem;margin:1rem 0}.planner-button,.planner-quiet{min-height:44px;border-radius:9px;padding:.7rem 1rem;font:inherit;font-size:.9rem;font-weight:600;cursor:pointer}.planner-button{border:1px solid var(--planner-accent);background:var(--planner-accent);color:#fff}.planner-quiet{background:#fff;border:1px solid #6D8291;color:#0C2F48}.budget-summary .planner-button{width:100%;margin-top:1rem}.planner-page button:disabled{opacity:.5;cursor:not-allowed}
.comparison-cards{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem;margin:1.5rem 0}.comparison-cards .plan-total{font-size:1.6rem;font-weight:600;overflow-wrap:anywhere;margin:.5rem 0}.comparison-cards p{font-size:.9rem;margin:.4rem 0}.comparison-table-wrap{overflow-x:auto;padding:1rem 1.25rem}.comparison-table{width:100%;border-collapse:collapse;font-size:.87rem}.comparison-table caption{text-align:left;font-weight:600;padding:.5rem 0 1rem}.comparison-table th,.comparison-table td{text-align:left;padding:.8rem .5rem;border-top:1px solid #E2EBF1;vertical-align:top;overflow-wrap:anywhere}.comparison-table th{font-weight:600}.comparison-table th:first-child{width:40%}
.checklist-workspace{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(260px,1fr);gap:1.5rem;align-items:start}.progress-label{font-size:.85rem;white-space:nowrap;color:var(--planner-muted)}#checklist-meter{width:100%;height:8px;margin:0 0 1.5rem;accent-color:var(--planner-accent)}.planning-items{display:grid;gap:.9rem}.planning-item{border:1px solid var(--planner-border);background:#fff;border-radius:14px;padding:1.1rem;min-width:0}.item-topline{display:grid;grid-template-columns:minmax(0,1fr) 130px 38px;gap:.7rem;align-items:start}.planner-page .item-title{font-weight:600;background:transparent;border-color:transparent;padding:.65rem .4rem}.planner-page .item-title:focus{border-color:#6D8291}.item-remove{width:38px;min-height:44px;border:0;background:transparent;color:#B92326;border-radius:8px;font-size:1.3rem}.planning-item[data-status=Done]{border-left:4px solid #0C2F48}.item-details{margin:.7rem 0 0}.item-details summary{cursor:pointer;color:var(--planner-muted);font-size:.82rem;min-height:32px}.item-extra-fields{display:grid;grid-template-columns:1fr 1fr;gap:.8rem;margin:.75rem 0}.item-note-field{grid-column:1/-1}.planner-page .item-notes{min-height:80px;font-size:.9rem}.item-date-status{font-size:.78rem;color:#0C2F48;margin:.35rem 0 0}.next-actions{position:sticky;top:1.5rem}.next-actions .tagline{font-size:.72rem;text-transform:uppercase}.next-actions ol{padding-left:1.2rem;display:grid;gap:1rem}.next-actions li{font-size:.91rem;line-height:1.5}.next-actions small{display:block;color:var(--planner-muted)}.add-item{margin-top:1.3rem}.add-item button{margin-top:.85rem}.save-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:1.5rem}.save-grid p{font-size:.9rem;line-height:1.7}.planner-page .save-choice{display:flex;align-items:center;gap:.8rem;font-size:1rem;margin:1.25rem 0}.save-choice input{width:22px;height:22px;accent-color:var(--planner-accent);flex-shrink:0}.export-actions{display:flex;flex-wrap:wrap;gap:.6rem;margin:1.25rem 0}.planner-page #export-text{font-size:.83rem;line-height:1.5;white-space:pre-wrap;min-height:220px}.planner-bottom-note{border-top:1px solid var(--planner-border);margin:2rem 0 0;padding-top:1.25rem;max-width:75ch}.planner-bottom-note p{font-size:.82rem;line-height:1.6;color:var(--planner-muted);margin:0}.planner-page a{color:var(--planner-accent);text-decoration:underline}.planner-feedback:empty{display:none}.planner-feedback{font-size:.85rem;color:#0C2F48;padding:.7rem;border-left:3px solid #0C2F48}.planner-print{display:none}
#clear-dialog{width:min(460px,calc(100vw - 32px));border:1px solid #6D8291;border-radius:16px;padding:1.5rem;margin:auto;background:#fff;color:#0C2F48}#clear-dialog::backdrop{background:#0008}#clear-dialog h2{font-size:1.4rem;margin:0 0 .8rem}#clear-dialog p{font-size:.95rem;line-height:1.6}
.item-main{display:grid;grid-template-columns:minmax(0,1fr) 135px;gap:.8rem}.item-extra{display:grid;grid-template-columns:1fr 1fr;gap:.8rem;margin:1rem 0}.item-extra>.planner-field:last-child{grid-column:1/-1}.next-actions li>span{display:block;color:var(--planner-muted);font-size:.8rem;margin:.35rem 0}.next-actions li>span.overdue{color:#B92326}.comparison-card .summary-numbers{grid-template-columns:1fr}.comparison-card h3{overflow-wrap:anywhere}.planner-page :is(button,input,select,textarea,summary,a):focus-visible{outline:3px solid #730C07;outline-offset:3px}.planner-page summary{min-height:44px}
@media(max-width:600px){.item-main,.item-extra{grid-template-columns:1fr}.item-extra>.planner-field:last-child{grid-column:auto}.next-actions .planner-quiet{min-height:44px}}
@media(max-width:1000px){.budget-workspace,.checklist-workspace,.save-grid{grid-template-columns:minmax(0,1fr)}.budget-summary{position:static;order:-1}.summary-numbers{grid-template-columns:1fr 1fr;gap:1rem}.budget-summary .planner-button{width:auto}.budget-summary .summary-note{margin:.7rem 0}.budget-summary .small-print{display:none}.next-actions{position:static;order:-1}.next-actions ol{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem}.planner-heading{padding-top:.5rem}}
@media(max-width:600px){.planner-page{padding-top:100px}.planner-heading{padding:1rem 0 1.3rem}.planner-heading h1{font-size:2.6rem}.planner-heading p{font-size:.96rem}.planner-tabs{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:1rem}.planner-tabs button{padding:.7rem .5rem}.planner-topline{align-items:flex-start;gap:.7rem;font-size:.75rem}.planner-topline p{max-width:23ch}.planner-panel-heading{align-items:flex-start;flex-direction:column;gap:.8rem;margin:1.2rem 0}.planner-panel-heading h2{font-size:1.45rem}.planner-panel-heading p{font-size:.9rem}.planner-card{padding:1.15rem;border-radius:14px}.plan-meta{grid-template-columns:1fr 1fr}.plan-meta .planner-field:first-child{grid-column:1/-1}.cost-fields{grid-template-columns:1fr}.summary-numbers dd{font-size:1.05rem}.summary-numbers dt{font-size:.75rem}.budget-summary h3{font-size:1.15rem}.comparison-cards{gap:.7rem}.comparison-cards .plan-total{font-size:1.05rem}.comparison-cards h3{font-size:.95rem}.comparison-cards .planner-quiet{width:100%;padding:.6rem .4rem;font-size:.8rem}.comparison-table-wrap{padding:.6rem}.comparison-table{font-size:.75rem}.comparison-table th,.comparison-table td{padding:.7rem .35rem}.item-topline{grid-template-columns:minmax(0,1fr) 38px}.item-topline .item-title{grid-column:1}.item-topline .item-status-field{grid-column:1;grid-row:2}.item-topline .item-remove{grid-column:2;grid-row:1}.item-extra-fields{grid-template-columns:1fr}.item-note-field{grid-column:auto}.next-actions ol{grid-template-columns:1fr}.progress-label{white-space:normal}.planner-page input:not([type=checkbox]),.planner-page select,.planner-page textarea{font-size:1rem}.planner-page .planner-help{font-size:.85rem}.export-actions>*{flex:1 1 auto}}
@media print{body{padding:0;background:#fff!important}body>*:not(main),.planner-heading,.planner-shell,#clear-dialog{display:none!important}.planner-page{padding:0}.planner-print{display:block!important;color:#000}.planner-print pre{font:11pt/1.45 sans-serif;white-space:pre-wrap;overflow-wrap:anywhere}footer,.subpage-bar,.dock-nav,.hamburger-btn,.mobile-search-btn,.scroll-to-top{display:none!important}}
.planner-heading{padding-left:var(--container-pad);padding-right:var(--container-pad)}
body:has(.planner-page) .nav-slider{display:none}
.planner-page .item-title-text{resize:vertical;line-height:1.5;min-height:80px}
.planner-page :is(input,textarea,select,button,summary){scroll-margin-block:110px}
@media(max-width:480px){.comparison-cards{grid-template-columns:1fr}.comparison-card .summary-numbers dd{font-size:1.15rem}}
