/* estimate — page-local rules (★#59 M4). Token-only; shared components live in chrome.css. */
* { box-sizing: border-box; margin: 0; padding: 0; }
body { font-family: 'Inter', system-ui, sans-serif; background: var(--bg); color: var(--text); line-height: 1.6; }
a { color: var(--accent); text-decoration: none; }
a:hover { text-decoration: underline; }
.data-wrap { max-width: var(--page-max); margin: 0 auto; padding: 8px 20px 80px; }
.section { margin-top: 48px; }
.section-title { font-family: 'Inter Tight', sans-serif; font-size: var(--fs-6); font-weight: 700; letter-spacing: -.02em; color: var(--text); margin: 0 0 8px; }
.section-intro { color: var(--text-muted); font-size: var(--fs-3); line-height: 1.6; margin: 0 0 20px; max-width: 64ch; }
.card { background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius-lg); padding: 24px; box-shadow: var(--shadow); }
.calc-layout { display: grid; grid-template-columns: 1fr 1.2fr; gap: 28px; }
.field { margin-bottom: 16px; }
.section-label { display: block; font-size: var(--fs-1); font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--text-muted); margin-bottom: 8px; }
.field input, .field select { width: 100%; padding: 11px 13px; border: 1.5px solid var(--border-ui); border-radius: var(--radius); font-family: 'Inter', sans-serif; font-size: var(--fs-3); color: var(--text); background: var(--surface); }
.field input:focus, .field select:focus { border-color: var(--accent); outline: none; }
.field input::placeholder { color: var(--text-subtle); }
.field-hint { font-size: var(--fs-1); color: var(--text-subtle); margin-top: 5px; }
.run-btn { display: inline-block; padding: 12px 22px; border-radius: var(--radius); border: none; background: var(--accent); color: var(--on-accent); font-family: 'Inter', sans-serif; font-size: var(--fs-3); font-weight: 600; cursor: pointer; }
.run-btn:hover { filter: brightness(1.05); }
.placeholder { color: var(--text-subtle); text-align: center; padding: 48px 0; font-size: var(--fs-3); }
.disclaimer { margin-top: 18px; padding: 12px 14px; background: var(--surface-alt); border: 1px solid var(--border); border-radius: var(--radius); font-size: var(--fs-1); color: var(--text-muted); }
.nope { display: flex; gap: 12px; padding: 12px 0; border-bottom: 1px solid var(--border); font-size: var(--fs-3); color: var(--text-muted); }
.nope strong { color: var(--text); }
@media (max-width: 640px) { .calc-layout { grid-template-columns: 1fr; } .data-wrap { padding: 8px 16px 64px; } }
.label-opt { font-weight: 500; text-transform: none; letter-spacing: 0; }
.nope-card { padding: 6px 24px; }
.method-note { margin-top: 16px; }
