.calc{display:grid;gap:var(--space-8);align-items:start;margin-bottom:var(--space-12)}@media(min-width:60rem){.calc{grid-template-columns:22rem 1fr}}.calc-form fieldset{border:1px solid var(--line);border-radius:var(--radius-card);padding:var(--space-6);margin:0;background:var(--surface)}.calc-form legend{font-family:var(--font-sans);font-weight:650;color:var(--aegean);padding-inline:var(--space-2)}.calc .field{margin-bottom:var(--space-6)}.calc .field:last-child{margin-bottom:0}.calc .field-row{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-4)}.calc label,.calc .label-text{display:block;font-family:var(--font-sans);font-weight:600;font-size:.875rem;margin-bottom:var(--space-2)}.calc input[type=text],.calc input[type=number],.calc input[type=date],.calc select{width:100%;min-height:44px;padding:var(--space-2) var(--space-3);border:1px solid var(--line);border-radius:var(--radius-badge);background:var(--page);color:var(--ink);font-size:1rem;font-family:inherit}.calc .input-row{display:flex;gap:var(--space-2)}.calc .input-row input{flex:1 1 auto;min-width:0}.calc .input-row select{flex:0 0 auto;width:auto}.calc .help{font-size:.8125rem;color:var(--ink-muted);margin:var(--space-2) 0 0}.calc .radio-row{display:flex;gap:var(--space-2)}.calc .radio,.calc .checkbox{display:flex;align-items:center;gap:var(--space-2);font-weight:400;margin-bottom:0;min-height:44px;cursor:pointer}.calc .radio{padding:0 var(--space-4);border:1px solid var(--line);border-radius:var(--radius-badge)}.calc .radio:has(input:checked){border-color:var(--aegean);background:var(--surface-sunken)}.calc input[type=radio],.calc input[type=checkbox]{width:1.125rem;height:1.125rem;accent-color:var(--aegean);margin:0}.calc-result{border:1px solid var(--line);border-top:3px solid var(--olive);border-radius:var(--radius-card);padding:var(--space-6);background:var(--surface)}.result-kicker{font-family:var(--font-sans);font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-muted);margin-bottom:var(--space-1)}.result-headline{font-family:var(--font-sans);font-size:clamp(2rem,1.4rem + 2.5vw,2.75rem);font-weight:750;color:var(--aegean);line-height:1.1;margin-bottom:var(--space-2);font-variant-numeric:tabular-nums}.result-unit{font-size:1rem;font-weight:400;color:var(--ink-muted)}.result-second{color:var(--ink-muted);margin-bottom:var(--space-6)}.stack{display:flex;height:2rem;border-radius:var(--radius-badge);overflow:hidden;margin-bottom:var(--space-3);background:var(--surface-sunken)}.stack-seg{flex-basis:0;min-width:2px}.bar-net{background:var(--olive)}.bar-ss{background:var(--aegean-light)}.bar-tax{background:var(--terracotta)}.legend{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:var(--space-4);font-size:.875rem;margin-bottom:var(--space-6)}.legend li{display:flex;align-items:center;gap:var(--space-2);margin:0}.swatch{width:.75rem;height:.75rem;border-radius:2px;display:inline-block}.result-table,.bands table{width:100%;font-size:.9375rem}.result-table caption{padding-left:0}.result-table th,.bands th{font-family:var(--font-sans);font-weight:600}.result-table td,.bands td{text-align:right;font-variant-numeric:tabular-nums}.total-row th,.total-row td{border-top:2px solid var(--line);font-weight:700;color:var(--aegean)}.bands{margin:var(--space-6) 0}.bands summary{cursor:pointer;font-family:var(--font-sans);font-weight:600;font-size:.875rem;min-height:44px;display:flex;align-items:center}.notes{background:var(--surface-sunken);border-radius:var(--radius-badge);padding:var(--space-4);margin-bottom:var(--space-4);font-size:.875rem}.notes-title{font-family:var(--font-sans);font-weight:650;margin-bottom:var(--space-2)}.notes ul{margin:0;padding-left:var(--space-4);color:var(--ink-muted)}.dataset{font-size:.8125rem;color:var(--ink-muted);border-top:1px solid var(--line);padding-top:var(--space-3);margin:0}.no-js-fallback{border:1px solid var(--line);border-radius:var(--radius-card);padding:var(--space-6);background:var(--surface)}.js-only{display:none}.trip-list{list-style:none;padding:0;margin:0 0 var(--space-4)}.trip-list li{padding-bottom:var(--space-4);margin-bottom:var(--space-4);border-bottom:1px solid var(--line)}.trip-fields{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-3)}.link-button{background:none;border:0;color:var(--terracotta);font-family:var(--font-sans);font-size:.8125rem;cursor:pointer;padding:var(--space-2) 0 0;text-decoration:underline;min-height:44px}.secondary-button{min-height:44px;padding:var(--space-2) var(--space-4);border:1px solid var(--line);border-radius:var(--radius-badge);background:var(--surface);color:var(--ink);font-family:var(--font-sans);font-weight:600;font-size:.875rem;cursor:pointer;margin-bottom:var(--space-4)}.secondary-button:hover{border-color:var(--aegean);color:var(--aegean)}.meter{height:1.25rem;background:var(--surface-sunken);border-radius:999px;overflow:hidden;margin-bottom:var(--space-6)}.meter-fill{height:100%;background:var(--olive);transition:width .2s ease}.meter-fill.state-close{background:var(--ochre)}.meter-fill.state-over{background:var(--terracotta)}.result-headline.state-close{color:var(--ochre)}.result-headline.state-over{color:var(--terracotta)}.errors{border-left:4px solid var(--terracotta);background:color-mix(in srgb,var(--terracotta) 7%,var(--surface));padding:var(--space-3) var(--space-4);border-radius:var(--radius-badge);margin-bottom:var(--space-4);font-size:.9375rem}.errors ul{margin:0;padding-left:var(--space-4)}.row-over th,.row-over td{color:var(--terracotta);font-weight:600}.next-entry{padding:var(--space-3) var(--space-4);background:var(--surface-sunken);border-radius:var(--radius-badge);font-size:.9375rem}.verdict{padding:var(--space-4) var(--space-6);border-radius:var(--radius-card);margin-bottom:var(--space-6);border-left:5px solid var(--olive);background:var(--surface-sunken)}.verdict--fail{border-left-color:var(--terracotta)}.verdict--warn{border-left-color:var(--ochre)}.verdict-title{font-family:var(--font-sans);font-weight:700;font-size:1.125rem;margin-bottom:var(--space-2);color:var(--olive)}.verdict--fail .verdict-title{color:var(--terracotta)}.verdict--warn .verdict-title{color:var(--ochre)}.check-list{list-style:none;padding:0;margin:0}.check-list li{display:flex;gap:var(--space-3);align-items:flex-start;padding:var(--space-3) 0;border-bottom:1px solid var(--line);margin:0}.check-mark{flex:none;font-weight:700;font-family:var(--font-sans);width:1.5rem}.check-pass .check-mark{color:var(--olive)}.check-fail .check-mark{color:var(--terracotta)}.check-warn .check-mark{color:var(--ochre)}.route-results{list-style:none;padding:0;margin:0 0 var(--space-6)}.route-results>li{padding:var(--space-4) 0;border-bottom:1px solid var(--line);margin:0}.route-results h3{margin:0 0 var(--space-2);font-size:1.0625rem}.route-one-line{color:var(--ink-muted);font-size:.9375rem;margin-bottom:var(--space-2)}.why{margin:0 0 var(--space-2);padding-left:var(--space-4);font-size:.875rem;color:var(--olive)}.why--blocking{color:var(--terracotta)}.route-catch{font-size:.875rem;color:var(--ink-muted);margin:0}.checklist-progress{margin-bottom:var(--space-6)}.checklist-progress p{font-family:var(--font-sans);font-size:.875rem;color:var(--ink-muted);margin:0}.checklist-steps{list-style:none;padding:0;margin:0 0 var(--space-8);counter-reset:none}.checklist-steps>li{border-bottom:1px solid var(--line);margin:0}.checklist-steps label{display:flex;gap:var(--space-4);align-items:flex-start;padding:var(--space-4) 0;cursor:pointer;font-weight:400;margin:0}.checklist-steps input[type=checkbox]{flex:none;width:1.375rem;height:1.375rem;margin-top:.2rem;accent-color:var(--olive)}.step-body{display:grid;gap:var(--space-1);min-width:0}.step-title{font-family:var(--font-sans);font-weight:650;color:var(--aegean)}.step-meta{font-family:var(--font-sans);font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-muted)}.step-detail{font-size:.9375rem}.step-done .step-title{text-decoration:line-through;color:var(--ink-muted)}.checklist-actions{display:flex;flex-wrap:wrap;gap:var(--space-3);align-items:center}@media print{.checklist-steps input[type=checkbox]{appearance:none;width:12pt;height:12pt;border:1pt solid #000}.step-done .step-title{text-decoration:none}}
