:root{--bg: #f5f6f8;--surface: #ffffff;--border: #e2e5ea;--text: #1c2330;--text-muted: #5b6573;--accent: #2f5fae;--accent-soft: #eaf0fa;--no-bet: #6b7280;--watch: #b07d12;--small: #2f7d4f;--strong: #1f6f3a;--danger: #b3261e;--radius: 10px;--shadow: 0 1px 3px rgba(20, 28, 44, .08);font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);line-height:1.45;-webkit-font-smoothing:antialiased}a{color:var(--accent)}.app{max-width:1100px;margin:0 auto;padding:16px}.app-header{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:8px}.app-header h1{font-size:1.4rem;margin:0}.app-header .subtitle{color:var(--text-muted);font-size:.85rem}.disclaimer{background:#fff8e6;border:1px solid #f0e0a8;color:#6b5400;border-radius:var(--radius);padding:10px 12px;font-size:.85rem;margin-bottom:16px}.grid{display:grid;gap:16px}@media (min-width: 760px){.grid-2{grid-template-columns:1fr 1fr}}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:14px}.card h2,.card h3{margin-top:0}section+section{margin-top:20px}label{display:block;font-size:.8rem;color:var(--text-muted);margin-bottom:4px}input,select,button{font:inherit}input,select{width:100%;padding:8px 10px;border:1px solid var(--border);border-radius:8px;background:#fff;color:var(--text)}.field{margin-bottom:10px}.row{display:flex;flex-wrap:wrap;gap:10px}.row>.field{flex:1 1 140px}button{cursor:pointer;border:1px solid var(--accent);background:var(--accent);color:#fff;padding:8px 14px;border-radius:8px;font-weight:600}button.secondary{background:#fff;color:var(--accent)}button:disabled{opacity:.5;cursor:not-allowed}.toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:14px}.toolbar .spacer{flex:1}.checkbox-inline{display:flex;align-items:center;gap:6px;font-size:.85rem;color:var(--text-muted)}.checkbox-inline input{width:auto}.match-card{display:flex;flex-direction:column;gap:8px}.match-card .teams{font-weight:600;font-size:1.05rem}.match-meta{display:flex;flex-wrap:wrap;gap:8px;font-size:.8rem;color:var(--text-muted)}.score{font-variant-numeric:tabular-nums;font-weight:700}.badge{display:inline-block;padding:2px 8px;border-radius:999px;font-size:.72rem;font-weight:700;letter-spacing:.02em}.badge.status-PRE_MATCH{background:#eef1f6;color:#44506a}.badge.status-LIVE{background:#fdeaea;color:var(--danger)}.badge.status-FINISHED{background:#edf0ee;color:#4a5a50}.signal{display:inline-block;padding:3px 10px;border-radius:6px;font-size:.78rem;font-weight:700;color:#fff}.signal.NO_BET{background:var(--no-bet)}.signal.WATCH{background:var(--watch)}.signal.SMALL_EDGE{background:var(--small)}.signal.STRONG_EDGE{background:var(--strong)}.markets-line{font-size:.78rem;color:var(--text-muted)}.signal-card .metrics{display:grid;grid-template-columns:repeat(2,1fr);gap:8px 16px;margin:10px 0;font-size:.9rem}@media (min-width: 520px){.signal-card .metrics{grid-template-columns:repeat(3,1fr)}}.metric .k{display:block;font-size:.72rem;color:var(--text-muted)}.metric .v{font-variant-numeric:tabular-nums;font-weight:600}.metric .v.pos{color:var(--small)}.metric .v.neg{color:var(--danger)}.reasons{margin:8px 0 0;padding-left:18px;font-size:.85rem;color:var(--text-muted)}.warnings{margin-top:10px}.warning{background:#fdeceb;border:1px solid #f1c4c0;color:var(--danger);border-radius:8px;padding:8px 10px;font-size:.82rem;margin-top:6px}.warning.info{background:var(--accent-soft);border-color:#c7d6ef;color:#2a466f}table{width:100%;border-collapse:collapse;font-size:.85rem}th,td{text-align:left;padding:8px 6px;border-bottom:1px solid var(--border);white-space:nowrap}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}.stats-row{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:12px}.stat{min-width:90px}.stat .k{font-size:.72rem;color:var(--text-muted)}.stat .v{font-size:1.1rem;font-weight:700;font-variant-numeric:tabular-nums}.muted{color:var(--text-muted)}.small{font-size:.8rem}.footer{margin:28px 0 8px;font-size:.78rem;color:var(--text-muted);text-align:center}.empty{color:var(--text-muted);font-style:italic;padding:8px 0}
