.checkbox-group{display:flex;flex-direction:column;gap:8px;margin-bottom:18px}.checkbox-group label{display:flex;align-items:center;gap:8px;font-size:.9rem;color:var(--color-text);cursor:pointer;padding:6px 0}.checkbox-group input[type=checkbox]{width:18px;height:18px;accent-color:var(--color-primary);flex-shrink:0}.checkbox-group input[type=checkbox]:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:2px}.radio-group{display:flex;gap:20px;margin-bottom:18px}.radio-group label{display:flex;align-items:center;gap:6px;font-size:.9rem;color:var(--color-text);cursor:pointer}.radio-group input[type=radio]{width:18px;height:18px;accent-color:var(--color-primary);flex-shrink:0}.result-total-main{font-family:var(--font-display);font-size:clamp(1.8rem,3vw,2.4rem);font-weight:800;color:var(--color-primary);margin-bottom:2px;letter-spacing:-.02em}.result-total-label{font-size:.85rem;color:var(--color-text-secondary);margin-bottom:20px}.breakdown-table{width:100%;border-collapse:collapse;margin-top:16px}.breakdown-table th{text-align:left;font-size:.8rem;color:var(--color-text-muted);font-weight:600;text-transform:uppercase;letter-spacing:.04em;padding:8px 0;border-bottom:1px solid var(--color-border-light)}.breakdown-table td{padding:8px 0;font-size:.9rem;color:var(--color-text);border-bottom:1px solid var(--color-border-light)}.breakdown-table td:last-child{text-align:right;font-weight:600;font-family:var(--font-mono);font-size:.85rem}.breakdown-total td{font-weight:700;color:var(--color-primary);border-bottom:none;padding-top:12px}.breakdown-total td:last-child{font-size:1rem;color:var(--color-primary)}.breakdown-bars{margin-top:16px}.breakdown-bar-item{margin-bottom:10px;display:flex;align-items:center;gap:10px}.breakdown-bar-label{font-size:.8rem;color:var(--color-text-secondary);min-width:90px;flex-shrink:0}.breakdown-bar-track{flex:1;height:20px;background:var(--color-border-light);border-radius:4px;overflow:hidden;position:relative}.breakdown-bar-fill{height:100%;border-radius:4px;transition:width .5s var(--ease-out);min-width:0}.breakdown-bar-amount{font-family:var(--font-mono);font-size:.8rem;color:var(--color-text-secondary);min-width:80px;text-align:right;flex-shrink:0}.range-display{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;margin-top:16px}.range-box{background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-sm);padding:14px;text-align:center}.range-box .range-value{font-family:var(--font-display);font-size:1.1rem;font-weight:700;color:var(--color-text)}.range-box .range-label{font-size:.75rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em;margin-top:2px}.range-box.low .range-value{color:var(--color-success)}.range-box.mid .range-value{color:var(--color-primary)}.range-box.high .range-value{color:var(--color-danger)}.comparison-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:16px}@media(max-width:600px){.comparison-grid{grid-template-columns:1fr}}.comparison-card{border-radius:var(--radius-md);padding:20px;border:1px solid var(--color-border-light);position:relative}.comparison-card.diy{background:var(--color-success-bg);border-color:var(--color-success-border)}.comparison-card.full-service{background:var(--color-primary-bg);border-color:color-mix(in oklch,var(--color-primary) 15%,transparent)}.comparison-card h4{font-family:var(--font-display);font-size:1rem;font-weight:600;margin-bottom:12px;color:var(--color-text)}.comparison-card .comp-total{font-family:var(--font-display);font-size:1.5rem;font-weight:700;margin-bottom:4px}.comparison-card.diy .comp-total{color:var(--color-success)}.comparison-card.full-service .comp-total{color:var(--color-primary)}.comparison-card .comp-per-hour{font-size:.8rem;color:var(--color-text-secondary);margin-bottom:12px}.comparison-card .comp-savings{font-size:.85rem;font-weight:600;color:var(--color-success);padding:6px 12px;background:#0596691a;border-radius:var(--radius-sm);display:inline-block}.comp-details{margin-top:12px;padding-top:12px;border-top:1px solid var(--color-border-light)}.comp-details div{display:flex;justify-content:space-between;font-size:.82rem;padding:3px 0;color:var(--color-text-secondary)}.comp-details div span:last-child{font-weight:500;color:var(--color-text)}.distance-note{background:var(--color-accent-bg);border:1px solid rgba(180,83,9,.15);border-radius:var(--radius-sm);padding:16px;margin-top:18px;font-size:.85rem;color:var(--color-text-secondary);line-height:1.6}.distance-note i{color:var(--color-accent);margin-right:6px}
