.intro{max-width:850px}#calculator{max-width:850px;margin-top:2.5rem}.budget-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem}fieldset{min-width:0;margin:1.5rem 0;padding:1.25rem;border:1px solid var(--line);border-radius:8px;background:#fff}legend{font-weight:750;padding:0 .5rem}.time-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem}.field{min-width:0}label{display:block;font-weight:650}input,textarea{font:inherit;width:100%;min-height:44px;border:1px solid #778b80;border-radius:5px;padding:.65rem;background:white;color:var(--ink)}.checkbox{display:flex;gap:.7rem;align-items:center;min-height:44px;width:fit-content;cursor:pointer}.checkbox input{width:22px;min-height:22px;height:22px;flex-shrink:0;accent-color:var(--accent)}input:disabled{background:#edf0ea;color:var(--muted)}.help{font-size:.9rem;color:var(--muted);margin:.55rem 0 1rem}.using{font-weight:700}.using,.error{margin-top:.5rem}.error:empty{display:none}.error,.error-summary{color:#9b2925}.error-summary{border:2px solid #9b2925;padding:1rem;margin:1rem 0}.error-summary a{color:inherit}.error-summary a{display:inline-block;padding:.3rem 0}[aria-invalid=true]{border:2px solid #9b2925}.primary{background:var(--accent);color:white;font-weight:700}.primary:hover{background:var(--ink)}button:disabled{opacity:.55;cursor:default}#results{margin-top:2rem;border-top:3px solid var(--accent);padding-top:1.5rem}#result-heading{font-size:1.7rem;max-width:850px}.fit-over{color:#8b3c21}.fit-empty{color:var(--ink)}.notice{background:#f0eee2;border-left:4px solid #8b6a30;padding:1rem}.budget-line{font-weight:650}.metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:1.5rem 0}.metrics>div{background:#fff;border:1px solid var(--line);border-radius:6px;padding:1rem}.metrics dt{font-size:.9rem}.metrics dd{margin:0;font-size:1.5rem;font-weight:750;font-variant-numeric:tabular-nums}.schedule{border-collapse:collapse;width:100%;table-layout:fixed;margin:1.5rem 0}.schedule caption{text-align:left;font-weight:750;margin-bottom:.6rem}.schedule th,.schedule td{text-align:left;padding:.8rem .65rem;border-bottom:1px solid var(--line);vertical-align:top;overflow-wrap:anywhere}.schedule th:first-child{width:36%}.schedule td{font-variant-numeric:tabular-nums}.schedule thead{background:#eaf0e6}.schedule tbody th{font-weight:650}.schedule .badge{display:block;width:fit-content;font-weight:400;margin-top:.3rem}.mobile-label{display:none}.actions{margin-top:1.5rem}.reminder{font-weight:650}#manual-copy{margin:1rem 0}.supporting{max-width:850px;border-top:1px solid var(--line);padding-top:1.5rem;margin-top:3rem}.supporting h2{margin-top:2rem}.supporting li{margin-bottom:.8rem}details{border-bottom:1px solid var(--line);padding:.7rem 0}summary{min-height:44px;display:list-item;cursor:pointer;font-weight:650;padding:.5rem 0}#print-output{display:none}
@media(max-width:620px){.budget-fields{grid-template-columns:1fr}.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}h1{font-size:2.35rem}fieldset{padding:1rem}.schedule,.schedule tbody,.schedule tr,.schedule th,.schedule td{display:block;width:auto!important}.schedule thead{position:absolute;width:1px!important;height:1px;overflow:hidden;clip-path:inset(50%)}.schedule tr{border:1px solid var(--line);border-radius:6px;margin-bottom:1rem;background:#fff}.schedule tbody th{border:0}.schedule td{display:flex;justify-content:space-between;gap:1rem}.schedule td:last-child{border:0}.mobile-label{display:inline;font-weight:600}.schedule caption{display:block}.time-fields{gap:.8rem}}
@media(max-width:350px){.time-fields{grid-template-columns:1fr}.metrics{grid-template-columns:1fr}}
@media print{@page{margin:14mm}body>*:not(main),main>*:not(#print-output){display:none!important}main.wrap{width:100%;max-width:none;padding:0;margin:0}#print-output{display:block!important;color:#000;font:10pt/1.35 sans-serif}#print-output h1{font-size:19pt;max-width:none;letter-spacing:0}#print-output h2{font-size:13pt}#print-output h3{font-size:10pt}#print-output p{max-width:none;margin:.55em 0}#print-output .notice{padding:.6em;background:white;border-left:2px solid #777}#print-output .metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5em;margin:1em 0}#print-output .metrics>div{padding:.5em;break-inside:avoid}#print-output .metrics dd{font-size:12pt}#print-output .metrics dt{font-size:9pt}#print-output .schedule{display:table;width:100%;margin:1em 0;font-size:9pt}#print-output .schedule thead{display:table-header-group;position:static;clip-path:none;width:auto!important;height:auto}#print-output .schedule tbody{display:table-row-group}#print-output .schedule tr{display:table-row;break-inside:avoid}#print-output .schedule th,#print-output .schedule td{display:table-cell;padding:.5em;width:auto!important}#print-output .schedule th:first-child{width:36%!important}#print-output .schedule caption{display:table-caption}#print-output .mobile-label{display:none}#print-output .badge{font-size:8pt;padding:1px 5px}h1,h2,h3,caption{break-after:avoid}a{color:black}}
@media print{html{background:white}#print-output .help{color:black}}
@media print{:root{background:white}}
/* Modest print-only spacing keeps the closing source and credit with short plans. */
@media print{
 #print-output h1{margin:0 0 8pt}
 #print-output h2{margin:6pt 0}
 #print-output .schedule th,#print-output .schedule td{padding:.3em}
 #print-output .schedule{margin:.6em 0}
 #print-output p{margin:.45em 0}
 #print-output{line-height:1.25}
 #print-output .metrics{margin:.6em 0}
}
