:root { color-scheme: light; --blue:#075985; --blue2:#0ea5e9; --ink:#172033; --muted:#64748b; --line:#dbe5ef; --bg:#f3f7fb; --card:#fff; --accent:#fff7cc; }
* { box-sizing:border-box; }
body { margin:0; font-family:system-ui,-apple-system,"Segoe UI",sans-serif; color:var(--ink); background:var(--bg); }
.shell { width:min(1080px, calc(100% - 28px)); margin-inline:auto; }
.hero { color:white; padding:28px 0 24px; background:linear-gradient(135deg,var(--blue),#0369a1 62%,var(--blue2)); box-shadow:0 4px 18px #07598533; }
.eyebrow { margin:0 0 5px; text-transform:uppercase; letter-spacing:.12em; font-size:.76rem; font-weight:800; opacity:.85; }
h1 { margin:0; font-size:clamp(1.7rem,5vw,2.6rem); line-height:1.05; }
.meta { margin:8px 0 0; opacity:.9; }
main { padding-block:20px 30px; }
.card,.notice,.match,.round-card { background:var(--card); border:1px solid var(--line); border-radius:15px; box-shadow:0 5px 16px #17324d0b; }
.notice { padding:18px; }
.notice.error { color:#991b1b; background:#fff1f2; border-color:#fecdd3; }
.selection { display:grid; grid-template-columns:max-content minmax(140px,1fr) max-content minmax(140px,1fr); align-items:center; gap:10px 14px; padding:16px; }
label { font-weight:750; }
select { width:100%; min-height:44px; border:1px solid #b8c7d6; border-radius:10px; background:white; padding:8px 34px 8px 11px; color:var(--ink); font:inherit; }
.tabs { display:grid; grid-template-columns:repeat(3,1fr); gap:7px; margin:16px 0; }
.tab { min-height:45px; border:1px solid var(--line); border-radius:11px; background:#e7eef6; color:#334155; font-weight:750; cursor:pointer; }
.tab.active { background:var(--blue); color:white; border-color:var(--blue); }
.view h2 { margin:20px 0 11px; font-size:1.25rem; }
.matches { display:grid; gap:10px; }
.match { display:grid; grid-template-columns:76px 1fr auto; gap:12px; align-items:center; padding:14px; }
.match.next { background:var(--accent); border-color:#f2d66f; }
.slot { color:var(--blue); font-weight:850; line-height:1.2; }
.teams { min-width:0; font-weight:700; }
.teams span { display:block; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.opponent { color:var(--muted); font-size:.83rem; font-weight:550; margin-top:3px; }
.score { font-size:1.2rem; font-weight:850; white-space:nowrap; }
.badge { display:inline-block; margin-left:6px; padding:3px 7px; border-radius:999px; background:#dbeafe; color:#075985; font-size:.72rem; vertical-align:2px; }
.empty { padding:26px 16px; text-align:center; color:var(--muted); background:white; border:1px dashed #b8c7d6; border-radius:14px; }
.table-wrap { overflow-x:auto; border:1px solid var(--line); border-radius:14px; background:white; }
table { border-collapse:collapse; width:100%; min-width:660px; }
th,td { padding:11px 9px; border-bottom:1px solid var(--line); text-align:center; }
th { background:#e8f2f8; color:#334155; font-size:.78rem; }
th:nth-child(2),td:nth-child(2) { text-align:left; }
tr:last-child td { border-bottom:0; }
tr.own { background:var(--accent); font-weight:750; }
.round-filter { display:flex; align-items:center; gap:10px; margin:4px 0 12px; }
.round-filter select { width:auto; min-width:110px; }
.rounds-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(250px,1fr)); gap:10px; }
.round-card { padding:13px; }
.round-card header { display:flex; justify-content:space-between; gap:10px; color:var(--blue); font-weight:850; margin-bottom:7px; }
.round-card .pair { font-weight:680; }
.round-card.own { background:var(--accent); border-color:#f2d66f; }
.footer { padding:0 0 25px; color:var(--muted); font-size:.78rem; text-align:center; }
@media (max-width:700px) {
  .selection { grid-template-columns:1fr; gap:7px; }
  .selection label:not(:first-child) { margin-top:6px; }
  .tabs { position:sticky; top:6px; z-index:2; }
  .tab { padding:6px; font-size:.82rem; }
  .match { grid-template-columns:64px 1fr auto; gap:8px; }
}
