:root{--bg:#0B1220;--card:#111827;--line:#243247;--text:#F9FAFB;--muted:#93A4B8;--green:#22C55E;--yellow:#F59E0B;--red:#EF4444;--blue:#3B82F6}*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}body{min-height:100vh}.topbar{position:sticky;top:0;z-index:20;display:flex;justify-content:space-between;align-items:center;padding:16px max(20px,calc((100vw - 1240px)/2));background:rgba(11,18,32,.94);backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:13px}.logo{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(135deg,var(--green),var(--blue));color:#06100b;font-weight:950;font-size:15px}.brand-name{font-weight:900;font-size:20px}.brand-sub{font-size:9px;color:#6f829a;letter-spacing:2px;margin-top:3px}.primary-btn{border:0;background:var(--green);color:#06100b;font-weight:900;border-radius:12px;padding:13px 18px;cursor:pointer}.primary-btn:disabled{opacity:.55}.container{max-width:1240px;margin:auto;padding:46px 20px 70px}.hero{max-width:980px;padding-bottom:42px}.eyebrow{font-size:11px;letter-spacing:2.4px;color:var(--green);font-weight:900}.hero h1{font-size:clamp(38px,6vw,72px);line-height:1.02;letter-spacing:-3px;margin:14px 0}.hero p,.section-head p,.method p,.performance-section>p{color:var(--muted);font-size:17px;line-height:1.65}.status-pill{display:inline-flex;gap:9px;align-items:center;border:1px solid var(--line);padding:9px 13px;border-radius:999px;margin-top:10px;color:var(--muted);font-size:13px}.dot{width:8px;height:8px;border-radius:50%;background:var(--green)}.dot.bad{background:var(--red)}.dashboard{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:42px}.stat-card,.match-card,.section{background:var(--card);border:1px solid var(--line);border-radius:20px}.stat-card{padding:20px}.stat-card span,.stat-card small{display:block;color:var(--muted)}.stat-card strong{font-size:34px;margin:7px 0;display:block}.section{padding:26px;margin:34px 0}.section-head{display:flex;gap:24px;justify-content:space-between;align-items:end}.section h2,.performance-section h2,.method h2{font-size:32px;letter-spacing:-1px;margin:8px 0}.search{width:min(360px,100%);background:#0e1726;border:1px solid var(--line);border-radius:12px;color:var(--text);padding:13px 15px;outline:none}.search:focus{border-color:var(--blue)}.chips,.filters{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}.chip,.filter{border:1px solid var(--line);background:#0e1726;color:var(--muted);padding:9px 13px;border-radius:999px;cursor:pointer}.chip.active,.filter.active{border-color:#257f43;background:#0d2818;color:#72e69a}.matches{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.match-card{padding:20px}.card-top{display:flex;justify-content:space-between;gap:10px}.league{font-size:11px;text-transform:uppercase;color:#6ca9ff;font-weight:900;letter-spacing:1px}.kickoff{color:var(--muted);font-size:13px;margin-top:5px}.confidence{font-size:11px;padding:7px 9px;border-radius:999px;white-space:nowrap}.confidence.very-high{background:#123d24;color:#72e69a}.confidence.high{background:#15351f;color:#67d58d}.confidence.medium{background:#3a2b0d;color:#f4c466}.confidence.low{background:#2a2024;color:#c4aab3}.teams{display:grid;grid-template-columns:1fr 45px 1fr;align-items:center;gap:10px;margin:25px 0}.team{display:flex;align-items:center;gap:10px}.team.right{justify-content:flex-end;text-align:right}.team img{width:34px;height:34px;object-fit:contain}.team strong{font-size:19px}.team small{display:block;color:#6d8198;font-size:9px;letter-spacing:1.5px;margin-top:3px}.vs{text-align:center;color:#64758b;font-weight:900}.best-row{display:flex;justify-content:space-between;gap:10px;padding:13px;border:1px solid #2b405b;border-radius:12px;background:#0e1828}.best-row span{color:var(--muted);font-size:12px}.best-row b{color:var(--green);font-size:13px}.markets{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:9px}.markets div,.prob-table div{background:#0e1726;border:1px solid #1f2c3e;border-radius:10px;padding:10px}.markets span,.prob-table span{display:block;color:#778ba3;font-size:10px}.markets b,.prob-table b{font-size:16px}.metrics{display:flex;flex-wrap:wrap;gap:12px;color:#71849b;font-size:11px;margin:12px 2px}.metrics b{color:#d5deea}.detail-btn{width:100%;border:1px solid #315172;background:#102033;color:#dbe8f7;padding:11px;border-radius:11px;cursor:pointer;font-weight:800;margin-top:6px}.detail-btn:hover{border-color:var(--blue)}.performance{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.perf-row{border:1px solid var(--line);border-radius:14px;padding:14px}.perf-row>div:first-child{display:flex;justify-content:space-between}.perf-row span,.perf-row small{display:block;color:var(--muted);font-size:11px;margin-top:4px}.perf-row>b{font-size:24px}.bar{height:6px;background:#0b1422;border-radius:999px;overflow:hidden;margin:10px 0}.bar i{height:100%;display:block;background:var(--green)}.method-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:20px}.method-grid article{padding:18px;background:#0e1726;border:1px solid var(--line);border-radius:14px}.method-grid b{color:var(--green)}.method-grid h3{margin:10px 0 5px}.method-grid p{font-size:14px;margin:0}.footer{display:flex;justify-content:space-between;gap:15px;flex-wrap:wrap;color:#63768d;font-size:11px;padding-top:25px}.error{background:#32171d;border:1px solid #7b2838;color:#ffb8c2;border-radius:14px;padding:14px;margin-bottom:18px}.hidden{display:none!important}.empty{grid-column:1/-1;text-align:center;padding:45px;border:1px dashed #34455a;border-radius:18px;color:var(--muted)}.compact{padding:25px}.modal{position:fixed;inset:0;z-index:50;background:rgba(2,7,15,.82);display:grid;place-items:center;padding:18px}.modal-panel{position:relative;max-width:960px;width:100%;max-height:92vh;overflow:auto;background:#0e1726;border:1px solid #314157;border-radius:22px;padding:28px}.modal-close,.icon-btn{position:absolute;right:15px;top:15px;border:0;background:#182336;color:#d9e3ee;border-radius:10px;width:38px;height:38px;font-size:24px;cursor:pointer}.modal-head h2{font-size:30px;margin:8px 45px 5px 0}.modal-head h2 span{color:#61748a}.modal-head p{color:var(--muted)}.detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:24px 0}.detail-box{background:#111d2d;border:1px solid var(--line);border-radius:14px;padding:16px}.detail-box span,.detail-box small{color:var(--muted);display:block;font-size:11px}.detail-box strong{display:block;font-size:28px;margin:6px 0}.prob-table{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.evidence,.two-col{display:grid;grid-template-columns:1fr 1fr;gap:12px}.evidence>div,.two-col>div,.risk{background:#111d2d;border:1px solid var(--line);border-radius:14px;padding:15px}.evidence span{display:block;color:var(--muted);font-size:13px;margin-top:7px}.scores{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.scores div{background:#111d2d;border:1px solid var(--line);border-radius:12px;padding:13px;text-align:center}.scores b{display:block;font-size:20px}.scores span{color:var(--muted);font-size:12px}.summary{color:#cbd6e2;line-height:1.7}.modal-panel li{color:var(--muted);margin:7px 0}.risk{margin-top:14px}.disclaimer{color:#71849b;font-size:11px;border-top:1px solid var(--line);padding-top:15px;margin-top:20px}@media(max-width:900px){.dashboard{grid-template-columns:repeat(2,1fr)}.matches,.performance{grid-template-columns:1fr}.method-grid{grid-template-columns:repeat(2,1fr)}.section-head{display:block}.search{margin-top:14px}.evidence,.two-col{grid-template-columns:1fr}}@media(max-width:600px){.topbar{padding:12px 14px}.brand-sub{display:none}.brand-name{font-size:17px}.logo{width:42px;height:42px}.primary-btn{padding:10px 12px;font-size:12px}.container{padding:30px 14px}.hero h1{letter-spacing:-2px}.hero p{font-size:15px}.dashboard{gap:8px}.stat-card{padding:14px}.stat-card strong{font-size:26px}.stat-card small{font-size:10px}.section{padding:18px}.matches{gap:10px}.match-card{padding:15px}.teams{grid-template-columns:1fr 30px 1fr}.team strong{font-size:15px}.team img{width:27px;height:27px}.markets{grid-template-columns:repeat(2,1fr)}.detail-grid,.prob-table{grid-template-columns:1fr 1fr}.scores{grid-template-columns:repeat(3,1fr)}.method-grid{grid-template-columns:1fr}}

/* 7.1.1 lifecycle states */
.match-card.finished .confidence.finished{opacity:.9}
.match-card.live .confidence.live{border-color:#ef4444;color:#ef4444}
.match-card.cancelled .confidence.cancelled{border-color:#f59e0b;color:#f59e0b}
.final-score{display:flex;gap:8px;align-items:center;justify-content:center;font-size:20px;font-weight:800;color:#f9fafb}
.result-line{display:flex;justify-content:space-between;align-items:center;margin:10px 0;padding:10px 14px;border:1px solid #26364f;border-radius:12px;background:#0f1b2d}
.result-line b{font-size:18px}

.secondary-btn{margin-top:18px;padding:12px 18px;border:1px solid #2dd4bf;border-radius:12px;background:transparent;color:#5eead4;font-weight:700;cursor:pointer}.future-section{margin-top:28px}.match-card.unknown{opacity:.9}.match-card.finished .markets,.match-card.live .markets{opacity:.65}
.header-actions{display:flex;gap:8px;align-items:center}.secondary-btn{border:1px solid var(--line);background:#0e1726;color:var(--text);font-weight:800;border-radius:12px;padding:11px 15px;cursor:pointer}.auth-panel{max-width:460px}.auth-panel h2{margin-top:0}.auth-submit{margin-top:12px;width:100%}

.stat-card-button{cursor:pointer;transition:transform .16s,border-color .16s,background .16s}.stat-card-button:hover{transform:translateY(-2px);border-color:#2d8c50;background:#142033}.stat-card-button:focus-visible{outline:2px solid var(--green);outline-offset:3px}.future-count{display:flex;align-items:baseline;gap:8px;padding:10px 14px;border:1px solid var(--line);border-radius:12px;background:#0e1726;color:var(--muted)}.future-count strong{font-size:28px;color:var(--text)}.future-count span{font-size:12px}
