.planner-app{--planner-ink:#17221c;--planner-muted:#5b6961;--planner-green:#176448;--planner-green-dark:#0f4c36;--planner-green-pale:#edf6f1;--planner-line:#d7dfd9;--planner-warm:#fff9ef;--planner-orange:#a64f1c;color:var(--planner-ink);gap:1rem;min-width:0;max-width:54rem;margin:0 auto;display:grid}.planner-app button,.planner-app input,.planner-app select{font:inherit}.planner-app button:disabled{cursor:not-allowed;opacity:.55}.planner-app h2,.planner-app h3,.planner-app p{margin-top:0}.planner-app h2{letter-spacing:-.02em;margin-bottom:.35rem;font-size:clamp(1.2rem,3vw,1.55rem)}.planner-app small{color:var(--planner-muted);font-size:.78rem;font-weight:500;line-height:1.4;display:block}.sr-only{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.planner-card,.planner-welcome,.planner-assumptions,.planner-purchase,.planner-timeline,.planner-result,.planner-export,.planner-scenarios{border:1px solid var(--planner-line);background:#fff;border-radius:.8rem;box-shadow:0 .15rem .8rem #19231e0d}.planner-card,.planner-welcome,.planner-purchase,.planner-timeline,.planner-export,.planner-scenarios{padding:clamp(1rem,3vw,1.5rem)}.planner-intro{padding:.5rem .25rem}.planner-intro p:last-child{color:var(--planner-muted);max-width:43rem;margin-bottom:0}.planner-eyebrow{color:var(--planner-green);letter-spacing:.09em;text-transform:uppercase;margin-bottom:.3rem;font-size:.72rem;font-weight:800}.planner-storage{border:1px solid var(--planner-line);color:#405047;background:#f8faf8;border-radius:.65rem;padding:.75rem .9rem}.planner-storage.is-error,.planner-recovery,.planner-warning{background:#fff5eb;border-color:#e8b995}.planner-storage.is-demo{background:#eef4fb;border-color:#c9d8e9}.planner-storage.is-saved{background:var(--planner-green-pale)}.planner-storage__row,.planner-heading-row,.planner-section-heading,.planner-compact-row,.planner-same-day__row{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.planner-storage__dot{background:var(--planner-green);border-radius:50%;flex:none;width:.55rem;height:.55rem;margin-top:.4rem}.planner-storage.is-error .planner-storage__dot{background:#bd3d2f}.planner-storage p,.planner-storage details,.planner-storage summary{margin-bottom:0;font-size:.79rem}.planner-storage summary,.planner-inline-details summary{color:var(--planner-green-dark);cursor:pointer;font-weight:700}.planner-storage details{border-top:1px solid var(--planner-line);margin-top:.65rem;padding-top:.55rem}.planner-storage details p{margin-top:.5rem}.planner-storage__actions,.planner-chip-row,.planner-row-actions,.planner-bill-actions,.planner-review-actions{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.planner-text-button,.planner-icon-button{color:var(--planner-green-dark);text-underline-offset:.15rem;background:0 0;border:0;border-radius:.25rem;padding:.2rem;font-size:.78rem;text-decoration:underline}.planner-text-button.is-danger,.planner-icon-button.is-danger{color:#a03228}.planner-button{background:var(--planner-green);border:1px solid var(--planner-green);color:#fff;border-radius:.5rem;min-height:2.75rem;padding:.65rem .95rem;font-weight:750}.planner-button:hover:not(:disabled){background:var(--planner-green-dark)}.planner-button.is-secondary,.planner-button.is-quiet{color:var(--planner-green-dark);background:#fff}.planner-button.is-danger{background:#a03228;border-color:#a03228}.planner-section-heading{justify-content:flex-start;margin-bottom:1.25rem}.planner-section-heading p,.planner-heading-row p{color:var(--planner-muted);margin-bottom:0}.planner-step{background:var(--planner-green);color:#fff;border-radius:50%;flex:0 0 1.8rem;justify-content:center;align-items:center;height:1.8rem;font-size:.84rem;font-weight:800;display:inline-flex}.planner-form-grid,.planner-inline-form,.planner-bill-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;display:grid}.planner-form-grid.is-three{grid-template-columns:repeat(3,minmax(0,1fr))}.planner-bill-form{grid-template-columns:1.25fr .8fr 1fr 1fr;align-items:end}.planner-inline-form{grid-template-columns:1.2fr .8fr 1fr auto;align-items:end}.planner-field{gap:.3rem;min-width:0;display:grid}.planner-field>span:first-child,.planner-choice-group legend,.planner-subform legend{font-size:.78rem;font-weight:750}.planner-field input,.planner-field select,.planner-money-input{width:100%;min-width:0}.planner-field input,.planner-field select{color:var(--planner-ink);background:#fbfcfa;border:1px solid #9eada4;border-radius:.45rem;min-height:2.75rem;padding:.58rem .65rem}.planner-field input:focus,.planner-field select:focus{border-color:var(--planner-green);box-shadow:0 0 0 2px #17644824}.planner-money-input{align-items:center;display:flex;position:relative}.planner-money-input>span{color:var(--planner-muted);z-index:1;position:absolute;left:.7rem}.planner-money-input input{padding-left:1.55rem}.planner-field-error,.planner-form-message{color:#a03228;margin:.45rem 0 0;font-size:.78rem}.planner-form-message{color:var(--planner-green-dark)}.planner-help,.planner-muted{color:var(--planner-muted);margin:.65rem 0;font-size:.83rem}.planner-subform,.planner-choice-group{border:1px solid var(--planner-line);border-radius:.55rem;margin:1rem 0 0;padding:.85rem}.planner-short-policy{max-width:22rem;margin-top:.85rem}.planner-preview{border:1px solid var(--planner-line);background:#f7faf8;border-radius:.55rem;margin-top:1rem;padding:.85rem}.planner-preview__label{letter-spacing:.05em;text-transform:uppercase;margin-bottom:.6rem;font-size:.72rem;font-weight:800}.planner-date-pills{grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;display:grid}.planner-date-pill{border:1px solid var(--planner-line);background:#fff;border-radius:.45rem;padding:.55rem;font-size:.82rem;font-weight:700}.planner-inline-details{border-top:1px solid var(--planner-line);margin-top:1rem;padding-top:.8rem}.planner-inline-details>p{color:var(--planner-muted);margin:.5rem 0 .85rem;font-size:.83rem}.planner-compact-list,.planner-bill-list{gap:.55rem;margin-top:1rem;display:grid}.planner-compact-row{border-top:1px solid var(--planner-line);padding-top:.65rem}.planner-bill-actions{align-self:end}.planner-bill-row{border:1px solid var(--planner-line);background:#f9fbf9;border-radius:.55rem;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.75rem;padding:.65rem .75rem;display:grid}.planner-bill-row.is-overdue{background:var(--planner-warm);border-color:#e8c59e}.planner-date-tile{border:1px solid var(--planner-line);background:#fff;border-radius:.4rem;place-items:center;width:2.75rem;height:2.75rem;line-height:1;display:grid}.planner-date-tile span{color:var(--planner-green);text-transform:uppercase;font-size:.58rem;font-weight:800}.planner-date-tile strong{font-size:1rem}.planner-bill-resolution{border-top:1px solid #e8c59e;flex-wrap:wrap;grid-column:1/-1;align-items:center;gap:.55rem;padding-top:.55rem;font-size:.78rem;display:flex}.planner-empty{color:var(--planner-muted);border:1px dashed #a9b6ae;border-radius:.55rem;justify-content:center;align-items:center;gap:.7rem;min-height:4rem;padding:.8rem;display:flex}.planner-empty p{margin:0}.planner-live-preview{background:var(--planner-green-pale);border-left:4px solid var(--planner-green);justify-content:space-between;align-items:center;gap:1rem;margin:1rem -1.5rem -1.5rem;padding:.75rem 1.5rem;display:flex}.planner-live-preview.is-stale,.planner-live-preview.is-danger{border-color:var(--planner-orange);background:#fff3e8}.planner-live-preview p{color:var(--planner-muted);text-transform:uppercase;margin:0;font-size:.7rem}.planner-live-preview span{color:var(--planner-muted);text-align:right;font-size:.8rem}.planner-waiting{color:var(--planner-muted);background:#f5f8f6;border:1px dashed #a9b6ae;border-radius:.7rem;align-items:center;gap:.85rem;padding:1rem;display:flex}.planner-waiting>span{border:1px solid #a9b6ae;border-radius:50%;flex:0 0 1.8rem;justify-content:center;align-items:center;height:1.8rem;display:flex}.planner-waiting p{margin-bottom:0;font-size:.82rem}.planner-results{gap:1rem;display:grid}.planner-assumptions{overflow:hidden}.planner-assumptions summary{cursor:pointer;justify-content:space-between;align-items:center;padding:1rem 1.25rem;list-style:none;display:flex}.planner-assumptions summary::-webkit-details-marker{display:none}.planner-summary-action{color:var(--planner-green);font-size:.8rem;font-weight:800}.planner-assumptions__body{border-top:1px solid var(--planner-line);padding:1.25rem}.planner-choice-group{gap:.55rem;display:grid}.planner-choice{border:1px solid var(--planner-line);background:#f9fbf9;border-radius:.5rem;align-items:flex-start;gap:.7rem;padding:.75rem;display:flex}.planner-choice.is-caution{background:var(--planner-warm)}.planner-choice input,.planner-check input{accent-color:var(--planner-green);flex:none;width:1.1rem;height:1.1rem;margin-top:.15rem}.planner-daily-field{max-width:15rem;margin-left:1.8rem}.planner-warning,.planner-same-day{border:1px solid #e8b995;border-radius:.5rem;margin-top:.85rem;padding:.8rem}.planner-warning p,.planner-same-day p{margin-bottom:.55rem;font-size:.82rem}.planner-same-day__row{border-top:1px solid #e8c59e;align-items:center;padding:.55rem 0}.planner-chip{color:var(--planner-green-dark);background:#fff;border:1px solid #aab7ae;border-radius:999px;min-height:2rem;padding:.3rem .65rem;font-size:.74rem}.planner-chip.is-active{background:var(--planner-green);border-color:var(--planner-green);color:#fff}.planner-check{align-items:flex-start;gap:.65rem;margin:1rem 0;font-size:.86rem;display:flex}.planner-review-actions p{color:var(--planner-muted);margin:0;font-size:.78rem}.planner-result{color:#fff;background:#153f30;border-color:#153f30;padding:clamp(1.1rem,4vw,1.75rem);overflow:hidden}.planner-result.is-warning{background:#63381d;border-color:#63381d}.planner-result__top{justify-content:space-between;align-items:center;gap:.75rem;font-size:.76rem;display:flex}.planner-result__top>div{place-items:flex-end end;gap:.15rem;display:grid}.planner-result .planner-text-button{color:#c9e7da}.planner-badge{letter-spacing:.05em;text-transform:uppercase;background:#ffffff24;border:1px solid #ffffff47;border-radius:999px;padding:.25rem .55rem;font-size:.68rem;font-weight:800;display:inline-block}.planner-badge.is-current{color:#12442f;background:#d9f1e5;border-color:#d9f1e5}.planner-result__kicker{color:#bdd7cb;text-transform:uppercase;margin:1.3rem 0 .25rem;font-size:.74rem}.planner-result__value{letter-spacing:-.055em;margin:.7rem 0 .25rem;font-size:clamp(2.6rem,9vw,4.6rem);font-weight:800;line-height:1}.planner-result__date{color:#c9ddd4;margin-bottom:1rem}.planner-result__alert{background:#ffffff1a;border-left:3px solid #8dc8ac;border-radius:.25rem;padding:.65rem .8rem}.planner-result__alert.is-warning{border-color:#f1b36f}.planner-result__alert.is-danger{border-color:#ff8278}.planner-facts{grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;margin:1.2rem 0;display:grid}.planner-facts div{min-width:0}.planner-facts dt{color:inherit;opacity:.74;text-transform:uppercase;font-size:.68rem}.planner-facts dd{margin:.15rem 0 0;font-size:.88rem;font-weight:750}.planner-result__why,.planner-assumption-summary{border-top:1px solid #ffffff29;margin:.8rem 0 0;padding-top:.75rem;font-size:.79rem}.planner-assumption-summary{color:#c9ddd4}.planner-simulation{border:1px solid var(--planner-line);background:#f7faf8;border-radius:.55rem;min-height:4rem;margin-top:.8rem;padding:.85rem}.planner-simulation .planner-warning{margin:0}.planner-simulation__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;display:grid}.planner-simulation__grid div{border:1px solid var(--planner-line);background:#fff;border-radius:.45rem;padding:.65rem}.planner-simulation__grid strong{font-size:1.25rem;display:block}.planner-simulation__status{border-left:3px solid var(--planner-green);margin:.75rem 0 0;padding-left:.7rem;font-size:.84rem}.planner-simulation__status.is-warning{border-color:var(--planner-orange)}.planner-simulation__status.is-danger{border-color:#bd3d2f}.planner-export{background:#f7faf8}.planner-export__copy{justify-content:space-between;align-items:center;gap:1rem;display:flex}.planner-export__copy>div{max-width:35rem}.planner-export__copy p,.planner-export__privacy,.planner-export__status{color:var(--planner-muted);margin-bottom:0;font-size:.8rem}.planner-export__privacy{border-top:1px solid var(--planner-line);margin-top:.85rem;padding-top:.7rem}.planner-export__status{margin-top:.45rem}.planner-export__status.is-success{color:var(--planner-green-dark)}.planner-export__status.is-error{color:#a03228}.planner-scenario-controls{grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem;margin-top:1rem;display:grid}.planner-scenario-result{margin-bottom:0}.planner-timeline__rows{border-top:1px solid var(--planner-line);margin-top:1rem}.planner-timeline__row{border-bottom:1px solid var(--planner-line);grid-template-columns:minmax(5.5rem,.75fr) minmax(0,1.6fr) minmax(6rem,.8fr);align-items:center;gap:.8rem;padding:.7rem .25rem;display:grid}.planner-timeline__row.is-low{border-left:3px solid var(--planner-orange);background:#fff5e9;padding-left:.6rem}.planner-timeline__date,.planner-legend{color:var(--planner-muted);font-size:.74rem}.planner-timeline__money{text-align:right;justify-items:end;display:grid}.planner-timeline__money strong{color:#9f3429}.planner-timeline__money strong.is-income{color:var(--planner-green)}.planner-timeline__toggle{width:100%;margin-top:1rem}.planner-disclaimer{color:var(--planner-muted);margin-bottom:0;padding:0 .25rem;font-size:.78rem}.planner-demo,.planner-recovery{border:1px solid #c9d8e9;border-radius:.65rem;justify-content:space-between;align-items:center;gap:1rem;padding:.85rem;display:flex}.planner-demo{background:#eef4fb}.planner-demo p,.planner-recovery p{margin-bottom:0}.planner-refresh{border:1px solid var(--planner-line);background:#f7faf8;border-radius:.55rem;grid-template-columns:minmax(0,1fr) minmax(17rem,.8fr);gap:1rem;margin-top:1rem;padding:.9rem;scroll-margin-top:6rem;display:grid}.planner-refresh.is-stale{background:var(--planner-warm);border-color:#e8b995}.planner-refresh p{color:var(--planner-muted);margin-bottom:0;font-size:.8rem}.planner-refresh__form{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:.55rem;display:grid}.planner-dialog{color:var(--planner-ink);border:0;border-radius:.75rem;max-width:min(29rem,100% - 2rem);padding:1.5rem;box-shadow:0 1rem 3rem #141e194d}.planner-dialog::backdrop{background:#0f19148c}.planner-dialog div{justify-content:flex-end;gap:.65rem;display:flex}.planner-loading{min-height:30rem}.planner-loading__bar,.planner-loading__card{background:#e0e7e2;border-radius:.65rem;animation:1.6s ease-in-out infinite planner-pulse}.planner-loading__bar{height:4rem}.planner-loading__card{min-height:13rem;padding:1.5rem}@keyframes planner-pulse{50%{opacity:.58}}@media (width<=48rem){.planner-form-grid.is-three,.planner-bill-form,.planner-inline-form,.planner-scenario-controls{grid-template-columns:repeat(2,minmax(0,1fr))}.planner-bill-actions,.planner-inline-form .planner-button{align-self:end}.planner-refresh{grid-template-columns:1fr}.planner-facts{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=34rem){.planner-app{gap:.75rem}.planner-card,.planner-welcome,.planner-purchase,.planner-timeline,.planner-export,.planner-scenarios{border-radius:.65rem;padding:1rem}.planner-storage__row,.planner-heading-row,.planner-export__copy,.planner-demo,.planner-recovery{flex-direction:column;align-items:stretch}.planner-storage__dot{display:none}.planner-storage__actions,.planner-review-actions{align-items:stretch;width:100%;display:grid}.planner-form-grid,.planner-form-grid.is-three,.planner-bill-form,.planner-inline-form,.planner-scenario-controls,.planner-refresh__form,.planner-date-pills{grid-template-columns:1fr}.planner-bill-row{grid-template-columns:auto minmax(0,1fr)}.planner-row-actions{grid-column:1/-1;justify-content:flex-end}.planner-live-preview{flex-direction:column;align-items:flex-start;margin:1rem -1rem -1rem;padding:.75rem 1rem}.planner-live-preview span{text-align:left}.planner-result__top{align-items:flex-start}.planner-result__top>div{text-align:right;justify-items:end}.planner-result__value{font-size:clamp(2.45rem,15vw,3.6rem)}.planner-timeline__row{grid-template-columns:minmax(0,1fr) auto;gap:.4rem .65rem}.planner-timeline__date{grid-column:1/-1}.planner-same-day__row{flex-direction:column;align-items:stretch}.planner-dialog div{display:grid}}@media (prefers-reduced-motion:reduce){.planner-loading__bar,.planner-loading__card{animation:none}}
