:root{font-family:Inter,system-ui,sans-serif;color:#0b214a;background:#f6f8fb}body{margin:0}.top{display:flex;align-items:center;gap:22px;padding:12px 28px;background:#061d3b;color:#fff;position:sticky;top:0;z-index:2;box-shadow:0 3px 20px #0002}.brand{display:flex;align-items:center;gap:12px;font-size:22px;letter-spacing:.04em}.ball{width:36px;height:36px;display:grid;place-items:center;border-radius:50%;background:#c7e82e;color:#c7e82e;border:2px solid #e9ff75}nav{display:flex;gap:10px;flex:1;justify-content:flex-end}button,select,input{border:1px solid #cbd5e1;border-radius:6px;padding:9px 11px;font:inherit;background:#fff;color:#0b214a}button{cursor:pointer;font-weight:700}nav button{background:transparent;color:#fff;border:0;display:flex;gap:8px;align-items:center}nav button span{background:#e5e7eb;color:#0b214a;border-radius:5px;padding:2px 7px}nav button.active{background:#fff;color:#0b214a}.courts{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.courtMini{display:grid;gap:1px;min-width:116px;padding:6px 9px;border:1px solid #ffffff33;border-radius:6px;background:#ffffff12;line-height:1.2}.courtHead{display:flex;align-items:center;justify-content:space-between;gap:8px}.courtHead b{font-size:13px}.courtHead span{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.courtMini>p{margin:0;color:#64748b;font-size:13px}.courtMini.free{background:#16a34a22;border-color:#86efac66}.courtMini.playing{background:#facc1526;border-color:#fde68a77;color:#fff}.courtMini.panel{min-width:0;border-color:#cbd5e1;padding:14px;gap:12px}.courtMini.panel .matchTeams{align-items:flex-start;justify-content:space-between;gap:12px}.courtMini.panel .teamDisplay b{font-size:12px}.courtMini.panel .teamDisplay small{font-size:15px}.courtMini.panel.free{background:#dcfce7;border-color:#86efac;color:#166534}.courtMini.panel.playing{background:#fee2e2;border-color:#fca5a5;color:#991b1b}.panel .courts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;justify-content:stretch}.page{padding:24px 28px 34px}h1{margin:0 0 16px;font-size:28px;letter-spacing:.05em}h2{margin:0 0 10px;font-size:21px}h3{margin:14px 0 8px;font-size:15px}.grid{display:grid;gap:18px}.three{grid-template-columns:repeat(3,minmax(0,1fr))}.two{grid-template-columns:repeat(2,minmax(0,1fr))}.playoffSection{margin-bottom:18px}.playoffSection>h2{margin-bottom:12px}.playoffPlacementPanel{padding:10px 12px}.playoffPlacementPanel h3{margin:0 0 6px;font-size:13px}.playoffPlacementPanel table{font-size:12px}.playoffPlacementPanel th,.playoffPlacementPanel td{padding:4px 6px}.playoffPlacementPanel .teamDisplay b{font-size:10px}.playoffPlacementPanel .teamDisplay small{font-size:12px}.playoffPlacementPanel .status{padding:3px 6px;font-size:10px}.queueLayout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(360px,.8fr);gap:18px;align-items:start}.queueCourtsPanel .courts{grid-template-columns:1fr;gap:14px}.queueCourtsPanel .courtMini.panel{padding:18px;gap:14px}.queueCourtsPanel .courtHead b{font-size:16px}.queueCourtsPanel .courtMini>p{font-size:14px}.queueCourtsPanel .courtMini.panel .teamDisplay b{font-size:13px}.queueCourtsPanel .courtMini.panel .teamDisplay small{font-size:18px}.queueMatchesPanel table{font-size:13px}.queueMatchesPanel td{padding-top:7px;padding-bottom:7px}.queueMatchesPanel td:first-child{font-size:13px;font-weight:700}.queueMatchesPanel .teamDisplay b{font-size:12px}.queueMatchesPanel .teamDisplay small{font-size:14px}.queueMatchesPanel .matchTeams{gap:8px}.queueMatchesPanel .versus{font-size:12px}.queueMatchesPanel .readyBadge{font-size:13px;padding:5px 10px}.panel{background:#fff;border:1px solid #dce3ec;border-radius:8px;padding:14px;box-shadow:0 8px 24px #0b214a0d;margin-bottom:16px;overflow:auto}.groupStagePanel{overflow:visible}.groupStagePanel h3{margin:10px 0 6px}.groupStagePanel table{font-size:13px}.groupStagePanel .standingTable{table-layout:auto}.groupStagePanel .standingTable th:nth-child(1),.groupStagePanel .standingTable td:nth-child(1){width:22px;padding-right:3px}.groupStagePanel .standingTable th:nth-child(2),.groupStagePanel .standingTable td:nth-child(2){width:auto}.groupStagePanel .standingTable th:nth-child(3),.groupStagePanel .standingTable td:nth-child(3),.groupStagePanel .standingTable th:nth-child(4),.groupStagePanel .standingTable td:nth-child(4){width:46px}.groupStagePanel .standingTable th:nth-child(5),.groupStagePanel .standingTable td:nth-child(5){width:62px}.groupStagePanel .standingTable th:nth-child(6),.groupStagePanel .standingTable td:nth-child(6){width:84px}.groupStagePanel th,.groupStagePanel td{padding:4px 5px;white-space:normal;overflow-wrap:anywhere;vertical-align:top}.groupStagePanel .teamDisplay{display:grid;gap:1px;max-width:100%}.groupStagePanel .teamDisplay b{font-size:11px}.groupStagePanel .teamDisplay small{font-size:13px}.groupStagePanel .matchTeams{align-items:flex-start;gap:4px;flex-wrap:wrap}.groupStagePanel .matchTeams.compact{display:grid;gap:2px}.groupStagePanel .matchTeams.compact .versus{display:none}.groupStagePanel .pointsSummary{gap:4px;flex-wrap:wrap}.wide{padding:18px}table{width:100%;border-collapse:collapse;font-size:12px}th,td{text-align:left;padding:5px 7px;border-bottom:1px solid #e6ebf2;white-space:nowrap;line-height:1.15}th{color:#102a56;font-size:12px;text-transform:uppercase}.upcomingReady td{background:#dbeafe;border-bottom-color:#bfdbfe}.readyBadge{display:inline-block;padding:5px 9px;border-radius:6px;background:#2563eb;color:#fff;font-size:12px;font-weight:800;white-space:nowrap}.teamDisplay{display:inline-grid;gap:2px;vertical-align:middle}.teamDisplay b{font-size:10px;line-height:1.08;color:#64748b;font-weight:700;letter-spacing:.02em}.teamDisplay small{color:#0b214a;font-size:12px;line-height:1.08;font-weight:700}.pointsSummary{display:inline-flex;gap:7px;align-items:baseline}.pointsSummary b{color:#166534}.pointsSummary span{color:#991b1b;font-weight:700}.matchTeams{display:flex;align-items:center;gap:6px}.matchTeams.compact{display:flex;align-items:center;gap:6px;flex-wrap:nowrap}.matchTeams.compact span:first-child,.matchTeams.compact span:last-child{min-width:0}.versus{color:#64748b;font-size:10px;font-weight:700}.seedList{display:grid;gap:8px;margin:4px 0 12px;color:#57708f}.seedList>span{display:flex;align-items:center;gap:7px}.muted{color:#57708f;min-height:20px}.status{background:#edf0f4;color:#334155;border-radius:6px;padding:3px 6px;text-transform:capitalize;display:inline-block;font-size:10px;line-height:1.1}.playing{background:#dcfce7;color:#166534}.finished{background:#e0e7ff;color:#3730a3}.get_ready{background:#dbeafe;color:#1e40af}.cancelled{background:#fee2e2;color:#991b1b}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:16px}.stat{background:#fff;border:1px solid #dce3ec;border-radius:8px;padding:14px}.stat span{display:block;color:#64748b;font-size:13px}.stat b{font-size:24px}.teamSpotlight{padding:18px}.teamSpotlightTop{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:18px}.teamSpotlightTop h2{margin-bottom:4px}.teamPicker{display:grid;gap:6px;min-width:250px}.teamPicker span{color:#475569;font-size:12px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.teamSpotlightEmpty{display:grid;place-items:center;gap:6px;min-height:220px;border:1px dashed #bfd0e3;border-radius:16px;background:linear-gradient(135deg,#f7fbff,#eef4fb);color:#355075;text-align:center;padding:20px}.teamSpotlightEmpty b{font-size:22px}.teamSpotlightEmpty p{margin:0;max-width:500px}.teamFocus{display:grid;gap:16px}.teamFocusHero{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:22px;border-radius:18px;background:linear-gradient(135deg,#0b214a,#1d4f91 62%,#8cc63e);color:#fff;overflow:hidden}.teamEyebrow{margin:0 0 6px;color:#d7f0ff;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.teamFocusHero h3{margin:0 0 6px;font-size:31px}.teamFocusHero p:last-child{margin:0;color:#d8e8ff}.teamHeroBadge{min-width:120px;text-align:center;border-radius:18px;background:#ffffff1a;border:1px solid #ffffff2e;padding:18px 16px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.teamHeroBadge b{display:block;font-size:34px;line-height:1}.teamHeroBadge span{font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#e2efff}.teamMiniStats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.teamMiniStat{background:#f8fbff;border:1px solid #dae7f4;border-radius:14px;padding:14px}.teamMiniStat span{display:block;color:#5f728a;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;margin-bottom:8px}.teamMiniStat b{font-size:26px;color:#0b214a}.teamVisualGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.teamVisualCard{border:1px solid #dce3ec;border-radius:16px;background:linear-gradient(180deg,#fff,#f8fbff);padding:16px}.teamVisualCard h4{margin:0 0 14px;font-size:17px}.metricBar{display:grid;gap:7px;margin-bottom:14px}.metricBar:last-child{margin-bottom:0}.metricBarTop{display:flex;align-items:center;justify-content:space-between;gap:10px}.metricBarTop span{color:#5f728a;font-size:13px}.metricBarTop b{color:#0b214a;font-size:15px}.metricTrack{height:12px;border-radius:999px;background:#e7eef7;overflow:hidden}.metricFill{height:100%;border-radius:inherit}.metricFill.lime{background:linear-gradient(90deg,#84cc16,#bef264)}.metricFill.blue{background:linear-gradient(90deg,#2563eb,#7dd3fc)}.metricFill.gold{background:linear-gradient(90deg,#f59e0b,#fcd34d)}.metricFill.red{background:linear-gradient(90deg,#ef4444,#fda4af)}.metricFill.navy{background:linear-gradient(90deg,#0f172a,#3b82f6)}.metricFill.green{background:linear-gradient(90deg,#16a34a,#86efac)}.splitBarCard{display:grid;gap:8px;margin-bottom:16px}.splitBarCard:last-of-type{margin-bottom:16px}.splitTrack{display:flex;height:14px;border-radius:999px;background:#e7eef7;overflow:hidden}.splitFill.positive{background:linear-gradient(90deg,#16a34a,#86efac)}.splitFill.negative{background:linear-gradient(90deg,#fca5a5,#ef4444)}.splitLabels{display:flex;justify-content:space-between;gap:10px;color:#5f728a;font-size:12px}.teamDetailGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.teamDetailCard{border:1px solid #dce3ec;border-radius:14px;background:#fff;padding:14px;display:grid;gap:8px;align-content:start}.teamDetailCard span{color:#5f728a;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.teamDetailCard b{font-size:24px;color:#0b214a}.durationStat{display:inline-grid;gap:2px}.durationStat b{font-size:13px}.durationStat small{color:#64748b;font-size:11px}.login{max-width:440px}.login input{margin-right:8px}.formrow{display:grid;grid-template-columns:110px 1fr auto;gap:8px;margin-bottom:8px;align-items:center}.formrow.teamEdit{grid-template-columns:110px 1.2fr 1fr 1fr auto}.adminMatchGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:start}.adminMatchGrid.twoColumn{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.adminMatchGrid .panel{margin-bottom:16px}.adminStack{display:grid;gap:16px;align-items:start}.resultEdit{display:grid;grid-template-columns:minmax(130px,180px) minmax(210px,1fr) 110px 70px 70px 170px 170px auto;gap:7px;align-items:center;padding:8px 0;border-bottom:1px solid #e6ebf2}.playingEdit{display:grid;grid-template-columns:minmax(130px,180px) minmax(250px,1fr) 110px 120px 120px auto auto;gap:7px;align-items:center;padding:8px 0;border-bottom:1px solid #e6ebf2}.queueEdit{display:grid;grid-template-columns:46px minmax(130px,180px) minmax(250px,1fr) 110px 130px auto auto auto;gap:7px;align-items:center;padding:8px 0;border-bottom:1px solid #e6ebf2}.playedBlock{border-bottom:1px solid #e6ebf2}.playedRow{display:grid;grid-template-columns:minmax(130px,180px) minmax(250px,1fr) 100px 160px auto;gap:7px;align-items:center;padding:8px 0}.resultEdit input,.queueEdit input,.playingEdit input{min-width:0}.queueNo{color:#64748b;font-weight:700}.error{margin:14px 28px 0;padding:12px;background:#fee2e2;color:#991b1b;border-radius:8px}.ok{color:#166534}.adminWarning{padding:10px 12px;background:#fee2e2;color:#991b1b;border:1px solid #fecaca;border-radius:8px;font-weight:700}.adminPage h1{margin-bottom:10px;font-size:24px}.adminPage h2{margin-bottom:8px;font-size:16px}.adminPage .panel{padding:10px;margin-bottom:12px}.adminPage button,.adminPage select,.adminPage input{padding:5px 7px;border-radius:5px;font-size:12px}.adminPage .teamDisplay b{font-size:10px}.adminPage .teamDisplay small{font-size:12px}.adminPage .status{padding:3px 6px;font-size:11px}.adminPage .secondaryAction{margin:0 0 8px;background:#eef6ff;border-color:#93c5fd;color:#1e40af}.adminPage .adminMatchGrid,.adminPage .adminStack{gap:12px}.adminPage .queueEdit{grid-template-columns:30px minmax(110px,150px) minmax(150px,1fr) 72px 82px 42px 48px 52px;gap:4px;padding:5px 0}.adminPage .playingEdit{grid-template-columns:minmax(110px,150px) minmax(150px,1fr) 72px 70px 70px 56px 74px;gap:4px;padding:5px 0}.adminPage .playedRow{grid-template-columns:minmax(110px,150px) minmax(150px,1fr) 58px 105px 44px;gap:4px;padding:5px 0}.adminPage .resultEdit{grid-template-columns:minmax(110px,150px) minmax(150px,1fr) 78px 48px 48px 126px 126px 50px;gap:4px;padding:5px 0}.adminPage .formrow.teamEdit{grid-template-columns:80px 1.1fr 1fr 1fr 52px;gap:5px;margin-bottom:5px}.adminPage .queueNo{font-size:12px}.adminPage .matchTeams{gap:6px}.adminPage .versus{font-size:10px}@media (max-width: 1000px){.top{align-items:flex-start;flex-direction:column;gap:10px}nav{flex-wrap:wrap;justify-content:flex-start}.courts{justify-content:flex-start}.three,.two,.stats,.adminMatchGrid,.panel .courts,.queueLayout{grid-template-columns:1fr}.teamSpotlightTop,.teamFocusHero{grid-template-columns:1fr;display:grid}.teamPicker,.teamMiniStats,.teamVisualGrid,.teamDetailGrid{grid-template-columns:1fr;min-width:0}.formrow.teamEdit{grid-template-columns:1fr}.matchTeams{align-items:flex-start;flex-direction:column;gap:4px}.versus{display:none}.resultEdit,.queueEdit,.playingEdit,.playedRow{grid-template-columns:1fr 1fr}}@media (max-width: 700px){.page{padding:16px 14px 24px}.adminPage .panel{padding:12px}.adminPage button,.adminPage select,.adminPage input{min-height:40px;font-size:14px}.adminPage .secondaryAction{width:100%}.adminPage .queueEdit,.adminPage .playingEdit,.adminPage .playedRow,.adminPage .resultEdit,.adminPage .formrow.teamEdit{grid-template-columns:1fr;gap:8px;padding:10px 0}.adminPage .queueEdit,.adminPage .playingEdit,.adminPage .playedRow,.adminPage .resultEdit{border:1px solid #e6ebf2;border-radius:10px;padding:10px;margin-bottom:10px;background:#fbfdff}.adminPage .queueEdit button,.adminPage .playingEdit button,.adminPage .playedRow button,.adminPage .resultEdit button{width:100%}.adminPage .queueEdit select,.adminPage .playingEdit input,.adminPage .resultEdit input{width:100%;box-sizing:border-box}.adminPage .matchTeams{gap:2px}.adminPage .queueNo{font-size:14px}.adminPage h1{font-size:22px}.adminPage h2{font-size:15px}}
