*{box-sizing:border-box;margin:0;padding:0}
body{background:#13131f;color:#e2e8f0;font-family:'Segoe UI',sans-serif;min-height:100vh}
/* ── nav ── */
.nav{background:#0d0d1a;padding:12px 20px;display:flex;align-items:center;gap:8px;flex-wrap:wrap;border-bottom:2px solid #2e2e4e;position:sticky;top:0;z-index:50}
.nav h1{color:#a78bfa;font-size:1.2rem;margin-right:12px;white-space:nowrap}
.nav-btn{background:#1e1e2e;border:1px solid #3e3e5e;color:#94a3b8;padding:7px 16px;border-radius:20px;cursor:pointer;font-size:.83rem;transition:all .15s}
.nav-btn.active,.nav-btn:hover{background:#7c3aed;color:white;border-color:#7c3aed}
/* ── tabs ── */
.tab-content{display:none;padding:20px;max-width:1600px;margin:0 auto}
.tab-content.active{display:block}
.section-title{color:#a78bfa;font-size:1.2rem;font-weight:bold;margin-bottom:14px}
.alert{background:#1e3a5f;border-left:3px solid #3b82f6;padding:10px 14px;border-radius:6px;font-size:.83rem;color:#93c5fd;margin-bottom:16px}
/* ── groups grid ── */
.groups-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px}
.group-card{background:#1e1e2e;border-radius:10px;overflow:hidden;border:1px solid #2e2e4e}
.group-card-header{background:#252535;padding:9px 14px;color:#c4b5fd;font-size:.9rem;font-weight:bold;display:flex;justify-content:space-between;align-items:center}
.group-progress{font-size:.72rem;color:#6b7280;font-weight:normal}
table{width:100%;border-collapse:collapse;font-size:.8rem}
th{background:#1a1a2e;padding:5px 6px;color:#7c6fcd;text-align:center;font-weight:600;white-space:nowrap}
th.left{text-align:left}
td{padding:5px 6px;text-align:center;border-bottom:1px solid #1a1a2e;white-space:nowrap}
td.left{text-align:left}
tr:last-child td{border-bottom:none}
tr:hover td{background:#212130}
.rank-badge{width:20px;height:20px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:bold;color:white}
.rank-playoff{background:#004682}
.rank-third{background:#63cb7b;color:#1a1a1a}
.rank-out{background:#3e3e5e}
.flag-img{width:20px;height:14px;object-fit:cover;border-radius:2px;vertical-align:middle;margin-right:5px}
/* ── match cards ── */
.group-tabs{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:16px}
.gtab{background:#1e1e2e;border:1px solid #3e3e5e;color:#94a3b8;padding:5px 13px;border-radius:16px;cursor:pointer;font-size:.8rem;transition:all .15s}
.gtab.active,.gtab:hover{background:#7c3aed;color:white;border-color:#7c3aed}
.matches-wrapper{display:grid;grid-template-columns:repeat(auto-fill,minmax(520px,1fr));gap:10px}
.match-card{background:#1e1e2e;border:1px solid #2e2e4e;border-radius:10px;padding:10px 14px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.match-card:hover{border-color:#3e3e6e}
.match-meta{display:flex;flex-direction:column;align-items:flex-start;min-width:55px}
.match-meta span{font-size:.68rem;color:#6b7280}
.match-team{display:flex;align-items:center;gap:6px;flex:1;min-width:110px;font-size:.88rem}
.match-team.away{flex-direction:row-reverse;text-align:right}
.match-score-block{display:flex;align-items:center;gap:5px}
.score-inp{width:40px;height:34px;background:#252535;border:1px solid #3e3e5e;color:#e2e8f0;text-align:center;font-size:.95rem;font-weight:bold;border-radius:6px;-moz-appearance:textfield}
.score-inp::-webkit-inner-spin-button,.score-inp::-webkit-outer-spin-button{-webkit-appearance:none}
.score-sep{color:#6b7280;font-weight:bold;font-size:1rem}
.match-actions{display:flex;flex-direction:column;gap:5px;align-items:flex-end}
select.status-sel{background:#252535;border:1px solid #3e3e5e;color:#e2e8f0;padding:3px 7px;border-radius:6px;font-size:.72rem;cursor:pointer}
.btn-save{background:#7c3aed;color:white;border:none;padding:5px 11px;border-radius:6px;cursor:pointer;font-size:.78rem;transition:background .15s}
.btn-save:hover{background:#6d28d9}
.btn-save.saved{background:#059669}
.btn-detail{background:none;border:1px solid #3e3e5e;color:#7c6fcd;padding:4px 10px;border-radius:6px;cursor:pointer;font-size:.75rem}
.btn-detail:hover{border-color:#a78bfa;color:#a78bfa}
/* ── bracket ── */
.bracket-scroll{display:flex;gap:24px;overflow-x:auto;padding:10px 0 20px;align-items:flex-start}
.bracket-round{display:flex;flex-direction:column;gap:12px;min-width:190px}
.bracket-round-title{color:#a78bfa;font-size:.75rem;font-weight:bold;text-transform:uppercase;letter-spacing:.06em;margin-bottom:4px;padding:5px 8px;background:#252535;border-radius:6px;text-align:center}
.bracket-match{background:#1e1e2e;border:1px solid #2e2e4e;border-radius:8px;overflow:hidden;font-size:.8rem;cursor:pointer;transition:border-color .15s}
.bracket-match:hover{border-color:#7c3aed}
.b-team{padding:7px 10px;display:flex;align-items:center;gap:6px;border-bottom:1px solid #1a1a2e}
.b-team:last-child{border-bottom:none}
.b-team.winner{background:#1e1b4b;font-weight:bold;color:#c4b5fd}
.b-score{margin-left:auto;font-weight:bold;color:#a78bfa;min-width:16px;text-align:right}
/* ── stats ── */
.stats-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px}
.card{background:#1e1e2e;border:1px solid #2e2e4e;border-radius:10px;padding:16px}
.card h3{color:#c4b5fd;margin-bottom:12px;font-size:.95rem}
/* ── export ── */
.export-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;max-width:900px}
.btn{background:#7c3aed;color:white;border:none;padding:9px 18px;border-radius:8px;cursor:pointer;font-size:.88rem;transition:background .15s}
.btn:hover{background:#6d28d9}
.btn-outline{background:transparent;border:1px solid #7c3aed;color:#a78bfa}
.btn-outline:hover{background:#2e1e5e}
.btn-danger{background:#991b1b}
.btn-danger:hover{background:#7f1d1d}
/* ── modal ── */
.modal-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.75);z-index:200;align-items:center;justify-content:center}
.modal-overlay.open{display:flex}
.modal{background:#1e1e2e;border:1px solid #3e3e5e;border-radius:12px;padding:20px;max-width:500px;width:92%;max-height:82vh;overflow-y:auto}
.modal h3{color:#c4b5fd;margin-bottom:14px}
.form-row{display:flex;gap:7px;align-items:center;margin-bottom:8px;flex-wrap:wrap}
.form-row input,.form-row select{background:#252535;border:1px solid #3e3e5e;color:#e2e8f0;padding:6px 9px;border-radius:6px;font-size:.83rem}
.form-row input[type=number]{width:68px}
.event-item{display:flex;align-items:center;gap:7px;padding:6px 0;border-bottom:1px solid #1a1a2e;font-size:.82rem}
.event-item:last-child{border-bottom:none}
.min-badge{background:#252535;padding:2px 7px;border-radius:4px;font-size:.73rem;color:#a78bfa;min-width:34px;text-align:center}
/* ── misc ── */
@media(max-width:600px){.matches-wrapper{grid-template-columns:1fr}.match-card{flex-wrap:wrap}}
.legend{display:flex;gap:14px;flex-wrap:wrap;margin-top:12px;font-size:.78rem}
.legend-item{display:flex;align-items:center;gap:6px}
.leg-dot{width:12px;height:12px;border-radius:2px}