.auth-wrap{max-width:520px;margin:0 auto;padding:36px 24px 70px}.auth-card{padding:32px 0}.auth-card h1{font-size:42px;line-height:1.12;letter-spacing:-1.5px;margin:24px 0 18px}.auth-card>p{color:var(--muted);line-height:1.7}.auth-card form{display:grid;gap:22px;margin-top:32px}.auth-card .field input{width:100%}.auth-links{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px;font-size:13px;margin-top:30px;color:var(--muted)}.consent{display:flex;align-items:flex-start;gap:10px;font-size:13px;line-height:1.6;color:var(--muted)}.consent input{margin-top:5px;accent-color:var(--accent)}.consent a,.legal-copy a{color:var(--accent);text-decoration:underline}.form-message{min-height:22px;color:var(--accent);font-size:13px;line-height:1.6}.legal-wrap>.brand{margin:30px auto;max-width:840px;padding:0 24px}.legal-copy{max-width:840px;margin:0 auto;padding:32px 24px 80px}.legal-copy h1{font-size:42px;margin-bottom:24px}.legal-copy h2{font-size:23px;margin:32px 0 14px}.legal-copy p{line-height:1.85;color:var(--muted)}.price small{font-size:14px;color:var(--muted);font-weight:400}.settings-panel>p{font-size:13px;line-height:1.7;color:var(--muted)}.settings-panel .row{flex-wrap:wrap;gap:12px}.current-plan>p{color:var(--muted);line-height:1.7}.current-plan{margin-bottom:28px}.text-link{cursor:pointer;border:0;background:transparent}.site-nav .nav-actions>a:first-child{white-space:nowrap}.game-teams{min-width:0}.game-teams span{overflow-wrap:anywhere}.signal-match h3{overflow-wrap:anywhere}.signal-bottom p{max-width:70%}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:20px 0}.detail-grid span{display:block;color:var(--muted);font-size:12px;margin-bottom:8px}.key-value{gap:14px}button:disabled{opacity:.6;cursor:wait}input,select{font:inherit}input:focus-visible,select:focus-visible,button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.empty{min-height:220px}.empty p{max-width:460px;margin:10px auto 20px}.stats-table{margin:22px 0}dialog .signal-bottom button{display:none}@media(max-width:640px){.auth-card h1,.legal-copy h1{font-size:34px}.auth-wrap{padding-top:24px}.detail-grid{grid-template-columns:1fr}.app-top .row{gap:12px}.signal-match .club-pair{display:none}.signal-facts{grid-template-columns:1fr 1fr}.signal-bottom{align-items:flex-start;gap:12px}.signal-bottom p{max-width:65%}.game-row{gap:12px}.game-action .btn{font-size:11px}.game-score{font-size:19px}.plan-details{grid-template-columns:1fr}.price small{display:block;margin-top:8px}.site-nav .nav-actions .btn{padding:10px;font-size:11px}}
.results-layout{display:grid;grid-template-columns:minmax(320px,440px) minmax(0,1fr);gap:28px;align-items:start}.results-calendar{background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:26px}.results-calendar h2{font-size:22px;margin:12px 0 20px}.calendar-controls{display:flex;align-items:center;justify-content:space-between;margin:22px 0}.calendar-controls h3{font-size:16px}.calendar-controls button{font-size:28px}.calendar-week,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.calendar-week{font-size:11px;color:var(--muted);text-align:center;margin-bottom:10px}.calendar-day{min-width:0;min-height:67px;border:1px solid transparent;border-radius:8px;padding:8px 5px;display:flex;flex-direction:column;text-align:left;gap:9px;background:var(--neutral-bg,#18201a);color:var(--neutral-text,#a8b1a6);font:inherit;cursor:pointer}.calendar-day>span{font-size:11px}.calendar-day b{font-size:11px;letter-spacing:-.25px;white-space:nowrap}.calendar-day small{font-size:9px;color:var(--muted);line-height:1}.calendar-day.positive{background:var(--positive-bg,#18392a);color:var(--positive-text,#8cdfab)}.calendar-day.negative{background:var(--negative-bg,#3d2228);color:var(--negative-text,#f29c9e)}.calendar-day.unavailable{background:transparent;opacity:.35;cursor:default}.calendar-day.selected{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.calendar-day[aria-current=date]>span{font-weight:800;color:var(--accent)}.calendar-summary{border-top:1px solid var(--line);margin-top:24px;padding-top:12px}.calendar-summary p{font-size:12px;color:var(--muted)}.calendar-summary>div{display:flex;gap:14px;align-items:center;justify-content:space-between;margin:16px 0}.calendar-summary strong{font-size:22px}.calendar-summary span{font-size:11px;color:var(--muted)}.calendar-summary .positive{color:var(--positive-text,#8cdfab)}.calendar-summary .negative{color:var(--negative-text,#f29c9e)}.calendar-note{font-size:11px;line-height:1.7;color:var(--muted);margin-top:18px}.results-day h2{font-size:26px;margin:10px 0}.results-signal-list{display:grid;gap:16px}.results-day .signal-facts{grid-template-columns:1fr 1fr}.mobile-nav{grid-template-columns:repeat(6,1fr)}.password-field{position:relative}.password-field input{padding-right:70px}.password-field button{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:transparent;border:0;color:var(--accent);font:inherit;font-size:12px;cursor:pointer}.auth-steps{display:flex;gap:8px;margin:20px 0;color:var(--muted);font-size:11px}.auth-steps span{border-bottom:2px solid var(--line);padding-bottom:8px;flex:1}.auth-steps .active{color:var(--accent);border-color:var(--accent)}.verify-icon{font-size:32px;color:var(--accent)}.auth-card .auth-footnote{font-size:12px;line-height:1.7}.referral-panel{margin-top:28px}.referral-link{width:100%;font-size:12px;margin:14px 0}.preview-banner{background:var(--accent);color:var(--on-accent,#0c110e);padding:10px;text-align:center;font-size:12px;font-weight:700;position:relative;z-index:50}@media(max-width:1100px){.results-layout{grid-template-columns:1fr}.results-calendar{max-width:520px;width:100%;margin:0 auto}}@media(max-width:640px){.results-calendar{padding:18px}.calendar-grid{gap:4px}.calendar-day{min-height:62px;padding:7px 3px}.calendar-day b{font-size:10px}.mobile-nav a span{font-size:9px}.mobile-nav a{padding-left:2px;padding-right:2px}}
/* Match the legacy app's 16px reading baseline; keep controls comfortable on phones. */
.cancellation-panel{border-top:1px solid var(--line);margin-top:24px;padding-top:20px}
.cancellation-panel p{color:var(--muted);font-size:15px}.cancellation-actions{flex-wrap:wrap;gap:12px}
.cancellation-actions .btn{min-height:44px;font-size:15px}#cancellation-message{max-width:480px}
body{font-size:16px}
.auth-wrap .field,.settings-panel .field{font-size:14px}
.field input,.field select,.search input{font-size:16px;min-height:44px}
.auth-links,.consent,.form-message,.auth-card .auth-footnote{font-size:14px}
.auth-steps{font-size:13px}.password-field button{font-size:14px;min-height:44px}
.app-shell .btn,.auth-wrap .btn{font-size:15px;min-height:44px}
.app-shell .page-head p,.settings-panel>p,.setting-row p,.side-panel p{font-size:15px}
.setting-row b{font-size:15px}.settings-panel h3{font-size:20px}
.app-shell .text-link{font-size:14px;min-height:44px;display:inline-flex;align-items:center}
.signal-match h3{font-size:17px}.signal-match .match-score{font-size:22px}
.signal-facts span,.signal-top .league-name,.signal-bottom p{font-size:12px}
.signal-facts b{font-size:15px}.signal-facts .odd-value{font-size:21px}
.signal-bottom button{font-size:14px;min-height:44px}.signal-match p{font-size:12px}
.settings-panel,.side-panel{min-width:0}.side-panel a{overflow-wrap:anywhere}
.app-shell .pill,.date-chip,.app-foot{font-size:12px}
.summary-tile .label{font-size:12px}.tabs button{font-size:14px;min-height:44px}
.game-teams{font-size:15px}.league-head{font-size:14px}.league-head small{font-size:12px}
.calendar-week{font-size:12px}.calendar-summary p,.calendar-note{font-size:13px}
.calendar-day b{max-width:100%;overflow:hidden;text-overflow:ellipsis}
.calendar-summary span{font-size:12px}.calendar-day>span{font-size:12px}.calendar-day b{font-size:12px}
.detail-grid span{font-size:14px}.referral-link{font-size:16px}.toast{font-size:14px}
@media(max-width:720px){
 .app-body{padding-bottom:112px}.mobile-nav a span{font-size:11px}.mobile-nav a{min-height:48px}
 .summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.summary-tile{padding:15px}
 .app-shell .page-head p{font-size:15px}.signal-match h3{font-size:16px}
 .signal-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
 .signal-bottom{flex-wrap:wrap}.signal-bottom p{max-width:100%}.signal-bottom button{margin-left:auto}
 .setting-row{flex-wrap:wrap}.setting-row .btn.small{font-size:14px;min-height:44px;white-space:normal}
 .setting-row select{max-width:100%;font-size:16px}.settings-panel{padding:20px}
 .game-row{grid-template-columns:36px minmax(0,1fr) 32px;gap:10px}
 .game-action,.game-row .pressure{grid-column:auto;grid-row:auto;align-self:center;padding:0}
 .game-action{grid-column:2 / 4}.game-clock{font-size:14px!important}
 .game-action .btn{font-size:14px;min-height:44px;padding:8px 12px}
 .results-calendar{padding:15px}.calendar-grid,.calendar-week{gap:3px}
 .calendar-day{padding:7px 2px;min-height:72px}.calendar-day b{font-size:11px}
 .calendar-day small{font-size:10px}.calendar-summary>div{flex-wrap:wrap;gap:10px}
}
.measurement-panel{position:fixed;bottom:16px;left:16px;right:16px;max-width:680px;z-index:80;padding:20px;border:1px solid var(--line-emphasis,#345147);border-radius:16px;background:var(--surface-elevated,#101f1b);color:var(--panel-text,#e8eee9);box-shadow:0 10px 40px var(--shadow-color,#0007)}
.measurement-panel[hidden]{display:none}.measurement-panel h2{font-size:18px;margin:0 0 8px}.measurement-panel p{font-size:14px;line-height:1.5;margin:0 0 14px}.measurement-panel .row{flex-wrap:wrap;gap:10px}.measurement-panel a{font-size:14px;text-decoration:underline}.measurement-panel .btn{white-space:normal}
@media(max-width:600px){.measurement-panel{bottom:74px;padding:16px;max-height:65vh;overflow:auto}.measurement-panel .btn{flex:1;min-width:130px}}
