/* finance-checker.css — scoped to .fc (route checker module). Uses the site's own colour tokens with fallbacks. */
.fc { background: var(--color-bone-100, #f4eee2); border-top: 1px solid var(--color-bone-200, #e8e0cf); border-bottom: 1px solid var(--color-bone-200, #e8e0cf); padding: 3.5rem 0; }
.fc [hidden] { display: none !important; }
.fc-wrap { max-width: 56rem; }
.fc-eyebrow { font-family: var(--font-mono, ui-monospace, monospace); font-size: .72rem; letter-spacing: .12em; text-transform: uppercase; color: var(--color-amber-700, #7a5a1c); margin: 0 0 .5rem; }
.fc h2 { font-family: var(--font-display, Georgia, serif); font-size: 1.75rem; line-height: 1.2; margin: 0 0 .75rem; color: var(--color-ink-900, #1c1b16); }
.fc-lead { font-size: 1rem; line-height: 1.6; margin: 0 0 1.5rem; color: var(--color-ink-700, #3d3b32); max-width: 44rem; }
.fc-grid { display: grid; grid-template-columns: 1fr; gap: 1rem; }
@media (min-width: 720px) { .fc-grid { grid-template-columns: 1fr 1fr; } }
.fc label { display: block; font-size: .85rem; font-weight: 600; margin-bottom: .3rem; color: var(--color-ink-900, #1c1b16); }
.fc select, .fc input[type=text], .fc input[type=email], .fc input[type=tel], .fc textarea { width: 100%; border: 1px solid var(--color-stone-300, #cfc8b6); background: #fff; border-radius: 2px; padding: .6rem .75rem; font-size: .95rem; font-family: var(--font-body, system-ui, sans-serif); color: var(--color-ink-900, #1c1b16); }
.fc select:focus, .fc input:focus, .fc textarea:focus { outline: 2px solid var(--color-amber-400, #d4a93c); outline-offset: 1px; }
.fc-opt { font-weight: 400; color: #6b6859; }
.fc-actions { margin-top: 1.25rem; }
.fc-run { cursor: pointer; }
.fc-result { margin-top: 1.75rem; }
.fc-result-h { font-family: var(--font-display, Georgia, serif); font-size: 1.35rem; margin: 0 0 .25rem; }
.fc-result-note { font-size: .85rem; color: #6b6859; margin: 0 0 1rem; }
.fc-route { background: #fff; border: 1px solid var(--color-bone-200, #e8e0cf); border-left: 4px solid var(--color-bone-200, #e8e0cf); border-radius: 3px; padding: 1rem 1.15rem; margin-bottom: .75rem; }
.fc-route-top { border-left-color: var(--color-forest-700, #1d4232); }
.fc-route-mid { border-left-color: var(--color-amber-400, #d4a93c); }
.fc-route-low { opacity: .8; padding: .6rem 1.15rem; }
.fc-route-head { display: flex; flex-wrap: wrap; align-items: center; gap: .6rem; }
.fc-badge { font-family: var(--font-mono, ui-monospace, monospace); font-size: .68rem; letter-spacing: .08em; text-transform: uppercase; background: var(--color-forest-800, #153229); color: var(--color-bone-50, #faf7ee); padding: .2rem .5rem; border-radius: 2px; }
.fc-route-mid .fc-badge { background: var(--color-amber-700, #7a5a1c); }
.fc-route-low .fc-badge { background: #6b6859; }
.fc-route-name { font-size: 1.02rem; }
.fc-why { font-size: .88rem; margin: .5rem 0 0; color: var(--color-ink-700, #3d3b32); }
.fc-cols { display: grid; grid-template-columns: 1fr; gap: .75rem; margin-top: .6rem; }
@media (min-width: 720px) { .fc-cols { grid-template-columns: 1fr 1fr; } }
.fc-col-h { display: block; font-family: var(--font-mono, ui-monospace, monospace); font-size: .68rem; letter-spacing: .1em; text-transform: uppercase; color: var(--color-amber-700, #7a5a1c); margin-bottom: .2rem; }
.fc-cols ul, .fc-notes ul { margin: 0; padding-left: 1.1rem; font-size: .88rem; line-height: 1.5; }
.fc-links { font-size: .85rem; margin: .6rem 0 0; }
.fc-links a, .fc-notes a, .fc-how a { color: var(--color-amber-700, #7a5a1c); text-decoration: underline; }
.fc-notes { background: #fff8e6; border: 1px solid var(--color-amber-400, #d4a93c); border-radius: 3px; padding: .8rem 1rem; margin: 1rem 0; font-size: .9rem; }
.fc-how { font-size: .85rem; margin: .5rem 0 0; }
.fc-how summary { cursor: pointer; font-weight: 600; }
.fc-contact { margin-top: 1.75rem; padding-top: 1.25rem; border-top: 1px dashed var(--color-stone-300, #cfc8b6); }
.fc-contact h3 { font-family: var(--font-display, Georgia, serif); font-size: 1.2rem; margin: 0 0 .35rem; }
.fc-contact > p { font-size: .9rem; margin: 0 0 1rem; color: var(--color-ink-700, #3d3b32); max-width: 42rem; }
.fc-fine { font-size: .78rem; color: #6b6859; margin-top: .6rem; }
.fc-fine a { text-decoration: underline; }
.fc-msg { padding: 1rem 1.15rem; border-radius: 3px; margin-top: 1rem; font-size: .95rem; }
.fc-ok { background: #eef6ef; border: 1px solid #9fc3a4; }
.fc-err { background: #fdeeee; border: 1px solid #d99; }
.fc-cta { margin: 1.25rem 0 1.75rem; padding: 1rem 1.25rem; background: var(--color-bone-50, #faf7ee); border: 1px solid var(--color-bone-200, #e8e0cf); border-left: 4px solid var(--color-amber-400, #d4a93c); border-radius: 3px; }
.fc-cta p { margin: 0; font-size: 1rem; line-height: 1.55; }
.fc-cta a.fc-cta-btn { display: inline-block; margin-top: .6rem; background: var(--color-forest-800, #153229); color: var(--color-bone-50, #faf7ee); padding: .55rem 1.1rem; border-radius: 2px; text-decoration: none; font-weight: 500; }
.fc-cta a.fc-cta-btn:hover { background: var(--color-forest-700, #1d4232); }
