/* Shared light-surface tokens: no dark-theme green text in dialogs. */
body dialog{--accent:#315fc4;--text:#203451;--muted:#536982;--line:#d5dfeb;--panel:#f3f6fb;--panel2:#eaf0f9;--dark:#fff;color:#203451;color-scheme:light}
body dialog .modal-bar{padding:14px 22px;min-height:68px;border-color:#dbe3ef}
body dialog .modal-bar .logo{color:#203451!important}
body dialog .modal-bar .icon-btn,body dialog #hub-close{width:44px;height:44px;min-width:44px;min-height:44px;border:1px solid #d7e1ee;background:#f0f4fa;border-radius:12px;color:#385478;font-size:26px;line-height:1;box-shadow:none}
body dialog .modal-bar .icon-btn:hover{background:#e3ecf9;color:#173a71}
body dialog #modal-content .subtitle,body.hub dialog #hub-content .subtitle{color:#536982;font-size:16px;line-height:1.65;margin:12px 0 0}
body dialog .wizard-heading .eyebrow,body dialog .match-card .match-label{color:#526d92;font-size:12px;letter-spacing:1px}
body dialog .wizard-heading h2{margin:14px 0 0;font-size:clamp(26px,4vw,36px);line-height:1.2}
body dialog .wizard-heading,body dialog .wizard-body,body dialog .wizard-nav{max-width:760px}
body dialog .selection-progress{margin-bottom:24px;padding-bottom:20px}
body dialog .wizard-body{margin-top:24px}
body dialog .wizard-choice,body.hub dialog #hub-content .hub-choice{border:1px solid #d2ddeb;border-radius:14px;background:#f5f8fc;color:#233e63;padding:20px;min-width:0;box-shadow:none}
body dialog .wizard-choice.selected,body.hub dialog #hub-content .hub-choice.selected{background:#eaf1ff;border-color:#315fc4;box-shadow:inset 0 0 0 1px #315fc4}
body dialog .wizard-choice strong{font-size:16px;line-height:1.4;color:#233e63;font-weight:600}
body dialog .wizard-choice small,body.hub dialog #hub-content .hub-choice small{font-size:14px;line-height:1.55;color:#536982;margin-top:8px}
body dialog .wizard-choice>span{font-family:Arial,sans-serif;font-size:23px;color:#4169a0;margin:0 0 12px;line-height:1}
body dialog .wizard-choice.selected:after{color:#315fc4;top:14px;right:14px}
body dialog .wizard-nav{margin-top:24px;padding-top:20px;gap:16px;border-color:#d7e1ec}
body dialog .wizard-nav .btn,body dialog .wizard-nav .text-btn{min-height:46px;font-size:14px}
body dialog .wizard-budget{padding:24px;background:#f3f6fb;border:1px solid #d5e0ef;border-radius:18px}
body dialog .wizard-budget label{color:#526982;font-size:15px}
body dialog .wizard-budget>strong{color:#233f6b;font-size:clamp(34px,7vw,48px);line-height:1.25;letter-spacing:-1.5px;margin-top:8px}
body dialog .wizard-summary{border-top:1px solid #d2ddeb;color:#536982;font-size:14px;line-height:1.65;padding-top:18px;margin-top:20px}
body dialog .wizard-summary strong{color:#264b81;font-size:18px;letter-spacing:-.3px;font-weight:650;display:inline}
body dialog .distance-facts{display:grid;grid-template-columns:1fr 1fr;gap:16px}
body dialog .distance-facts span{display:block;color:#536982;font-size:13px;margin-bottom:6px}
body dialog .distance-facts strong{display:block;font-size:24px;line-height:1.3}
body dialog .wizard-summary p{font-size:14px;line-height:1.6;margin:16px 0 0;color:#536982}
body dialog input[type=range]{appearance:none;-webkit-appearance:none;background:transparent;height:30px;width:100%;padding:0;accent-color:#315fc4;margin:20px 0 8px;cursor:pointer;box-shadow:none;border:0}
body dialog input[type=range]::-webkit-slider-runnable-track{height:5px;background:#c9d7ea;border-radius:8px}
body dialog input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;height:24px;width:24px;margin-top:-9.5px;border:4px solid #fff;border-radius:50%;background:#315fc4;box-shadow:0 1px 7px #17345b40}
body dialog input[type=range]::-moz-range-track{height:5px;background:#c9d7ea;border-radius:8px}
body dialog input[type=range]::-moz-range-thumb{height:17px;width:17px;border:4px solid #fff;border-radius:50%;background:#315fc4;box-shadow:0 1px 7px #17345b40}
body dialog .range-labels{font-size:13px;color:#526982}
body dialog .budget-status,body.hub dialog .hub-result .budget-status{color:#245b48;background:#edf6f1;border:1px solid #c8dfd3;font-size:13px;padding:7px 10px;border-radius:8px;line-height:1.4}
body dialog .budget-status.over,body.hub dialog .hub-result .budget-status.over{color:#89501d;background:#fff4e7;border-color:#ead4b8}
body dialog .score-dial{box-shadow:none!important;flex-shrink:0;background:conic-gradient(#315fc4 calc(var(--score)*1%),#d9e3f0 0)}
body dialog .score-dial>div{background:#fff;color:#264871}
body dialog .score-dial span{font-size:12px;color:#536982;margin-top:10px}
body dialog .score-caption{color:#526982;font-size:11px;letter-spacing:.8px;line-height:1.4;grid-column:2;grid-row:2;margin:0;text-align:center}
body .tv-mini.actual-tv{filter:none;background:transparent;border:0;box-shadow:none}
body .tv-mini.actual-tv:before,body .tv-mini:after{display:none!important;content:none!important}
body .tv-mini.actual-tv img{object-fit:contain;mix-blend-mode:multiply;border-radius:0;filter:none;box-shadow:none}
body dialog .match-card{background:#fff;border:1px solid #d4dfed;padding:22px;border-radius:18px;gap:22px;min-width:0}
body dialog .match-card:first-of-type{border-color:#b4c7e3}
body dialog .match-card h3{font-size:24px;line-height:1.3;letter-spacing:-.6px;overflow-wrap:anywhere;margin-top:8px}
body dialog .match-card .match-visual{padding:18px;background:#f3f6fb;border-radius:14px;align-self:start}
body dialog .match-card .tv-mini{max-width:100%;width:100%}
body dialog .match-card .decision-brief{margin-top:18px;padding:18px;background:#f3f6fb}
body dialog .match-card .decision-brief h3{font-size:19px;line-height:1.35}
body dialog .match-card li{color:#536982;font-size:14px;line-height:1.65}
body dialog .source-note{color:#536982}
body dialog button:focus-visible,body dialog a:focus-visible,body dialog input:focus-visible{outline:3px solid #759adb;outline-offset:3px}
body dialog .check input{accent-color:#315fc4}
@media(max-width:600px){body dialog .modal-bar{padding:12px 18px;min-height:66px}body dialog #modal-content,body.hub dialog #hub-content{padding:22px 18px calc(24px + env(safe-area-inset-bottom))}body dialog .selection-progress{gap:8px;padding-bottom:18px;margin-bottom:22px}body dialog .wizard-choice{padding:16px}body dialog .wizard-choices{gap:10px}body dialog .wizard-choice>span{margin-bottom:10px}body dialog .wizard-choice small{font-size:14px}body dialog .wizard-budget{padding:20px}body dialog .wizard-heading h2{font-size:27px}body dialog .wizard-heading .eyebrow{font-size:11px}body dialog .match-card{padding:16px;gap:18px;grid-template-columns:1fr}body dialog .match-card .match-visual{display:grid;grid-template-columns:minmax(0,1fr) 94px;grid-template-rows:1fr auto;gap:10px 16px;padding:16px}body dialog .match-visual .tv-mini{grid-column:1;grid-row:1/3;margin:0;max-width:none}body dialog .match-visual .tv-mini img{height:155px!important;width:100%}body dialog .match-visual .score-dial{width:88px;height:88px;grid-row:1;grid-column:2;justify-self:center;align-self:end}body dialog .match-visual .score-dial strong{font-size:30px}body dialog .match-card h3{font-size:23px}body dialog .match-card .match-label{font-size:11px}body dialog .match-card .decision-brief{padding:16px}body dialog .match-card .decision-brief h3{font-size:19px}body dialog .wizard-nav{margin-top:22px;padding-top:18px}}
@media(max-width:360px){body dialog .wizard-choices{grid-template-columns:1fr}body dialog .distance-facts{grid-template-columns:1fr}body dialog .match-card .match-visual{grid-template-columns:minmax(0,1fr) 80px;gap:10px}body dialog .match-visual .score-dial{width:76px;height:76px}}
