.admin-page{background:#12040b}
.admin-header{position:relative;z-index:10;border-bottom:1px solid var(--colour-border);background:rgba(27,7,16,.92);backdrop-filter:blur(14px)}
.admin-header__inner{min-height:5rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}
.admin-header__actions{display:flex;align-items:center;gap:.5rem}
.admin-brand{display:flex;align-items:center;min-width:0}
.admin-brand__padeuce{display:block;width:auto;height:2.35rem}
.admin-main{position:relative;isolation:isolate;overflow:hidden;padding:1.5rem 0 6rem}
.admin-backdrop{position:absolute;z-index:-2;inset:0;background:linear-gradient(90deg,rgba(27,7,16,.98) 0%,rgba(27,7,16,.86) 48%,rgba(27,7,16,.48) 100%),linear-gradient(0deg,#12040b 0%,transparent 35%),url("../assets/images/Dagbreek-HERO-BG.jpg") center top/cover fixed no-repeat;opacity:.96}
.admin-backdrop::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 18% 20%,rgba(255,215,106,.08),transparent 28%),linear-gradient(180deg,transparent 0%,rgba(27,7,16,.22) 70%,#12040b 100%)}
.admin-content{position:relative}.admin-status{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:hidden;margin-bottom:3rem;border:1px solid var(--colour-border);border-radius:var(--radius-md);background:rgba(42,7,22,.88);box-shadow:var(--shadow);backdrop-filter:blur(12px)}
.admin-status div{min-width:0;padding:1rem 1.25rem;border-right:1px solid var(--colour-border);border-bottom:1px solid var(--colour-border)}.admin-status div:nth-child(2n){border-right:0}.admin-status div:nth-last-child(-n+2){border-bottom:0}
.admin-status span,.admin-status strong{display:block}.admin-status span{color:var(--colour-text-muted);font-size:.66rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.admin-status strong{margin-top:.2rem;font-size:.88rem}
.admin-section+.admin-section{margin-top:3.5rem}.admin-section__heading{margin-bottom:1.35rem}.admin-section__heading .eyebrow{margin-bottom:.35rem}.admin-section__heading h1,.admin-section__heading h2{font-size:clamp(2.2rem,5vw,3.7rem)}
.admin-courts{display:grid;gap:1rem}
.admin-page .court-embed{border-radius:var(--radius-md);background:rgba(58,16,34,.94)}.admin-page .court-embed__header{align-items:center;padding:1rem 1.1rem}.admin-page .court-embed__header h2{font:800 1.2rem/1.1 var(--font-heading);letter-spacing:-.03em}.admin-page .court-score{min-height:17rem}.admin-page .court-score__loading,.admin-page .court-score__empty{min-height:14.5rem}
.admin-sync{display:flex;align-items:center;gap:.5rem;margin:-.7rem 0 1rem;color:var(--colour-text-muted);font-size:.75rem}.admin-sync::before{content:"";width:.45rem;height:.45rem;border-radius:50%;background:var(--colour-warning);box-shadow:0 0 0 .2rem rgba(245,158,11,.15)}.admin-sync[data-state="success"]::before{background:var(--colour-electric-green);box-shadow:0 0 0 .2rem rgba(255,215,106,.12)}.admin-sync[data-state="fallback"]::before{background:var(--colour-text-muted);box-shadow:none}
.admin-tournament-layout,.admin-standings{display:grid;gap:1rem}.admin-panel{overflow:hidden;border:1px solid var(--colour-border);border-radius:var(--radius-md);background:rgba(58,16,34,.94);box-shadow:var(--shadow)}
.admin-panel__header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.1rem;border-bottom:1px solid var(--colour-border)}.admin-panel__header .eyebrow{margin-bottom:.25rem}.admin-panel__header h3{font-size:1.2rem}
.admin-loading{display:grid;min-height:9rem;place-items:center;padding:1.5rem;color:var(--colour-text-muted);font-weight:700;text-align:center}
.admin-stage-phase[hidden],.admin-panel[hidden]{display:none!important}.admin-stage-phase+.admin-stage-phase{border-top:1px solid var(--colour-border)}.admin-stage-phase__heading{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;padding:1rem 1rem .25rem}.admin-stage-phase__heading .eyebrow{margin-bottom:.2rem}.admin-stage-phase__heading h4{font-size:1.1rem}.admin-stage-phase__heading>span{color:var(--colour-text-muted);font-size:.62rem;font-weight:800;text-transform:uppercase}.admin-stage-draw{padding:.75rem 1rem 1rem}.admin-stage-draw+.admin-stage-draw{border-top:1px solid var(--colour-border)}.admin-stage-draw__title{margin-bottom:.4rem;color:var(--colour-electric-green);font:800 .78rem var(--font-heading);text-transform:uppercase}.admin-stage-draw .admin-round{padding:.75rem 0 0}.admin-round{padding:1rem}.admin-round+.admin-round{border-top:1px solid var(--colour-border)}.admin-round__title{margin-bottom:.65rem;color:var(--colour-text-muted);font:700 .82rem var(--font-heading)}.admin-round__heading{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.65rem}.admin-round__heading h4,.admin-round__heading h5{font:800 .82rem var(--font-heading)}.admin-round__heading span{color:var(--colour-text-muted);font-size:.58rem;font-weight:800;text-transform:uppercase}
.admin-match{display:grid;grid-template-columns:2rem minmax(0,1fr) auto minmax(0,1fr);gap:.75rem;align-items:center;min-height:4.75rem;padding:.75rem;border:1px solid var(--colour-border);border-radius:.7rem;background:rgba(255,255,255,.045)}.admin-match+.admin-match{margin-top:.55rem}.admin-match__court{display:grid;place-items:center;width:1.55rem;height:1.55rem;border-radius:50%;background:var(--colour-faded-green);color:var(--colour-electric-green);font:800 .68rem var(--font-heading)}.admin-match__team{min-width:0;color:var(--colour-text-muted);font-weight:700;line-height:1.35;text-align:center}.admin-match__team.is-winner{color:var(--colour-electric-green)}.admin-match__result{display:flex;align-items:center;justify-content:center;gap:.25rem;min-width:2rem;color:var(--colour-text-muted);font-size:.65rem;font-weight:800;text-transform:uppercase}.admin-match__result.has-score{font:800 .75rem var(--font-heading);letter-spacing:.04em;white-space:pre;text-transform:none}.admin-match__meta{grid-column:1/-1;display:flex;flex-wrap:wrap;justify-content:flex-start;gap:.5rem;padding-bottom:.55rem;border-bottom:1px solid var(--colour-border);color:var(--colour-text-muted);font-size:.65rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.admin-match__group{color:var(--colour-electric-green)}
.admin-knockout-results{display:grid;gap:1rem;padding:1rem}.admin-knockout-stage{min-width:0}.admin-knockout-stage+.admin-knockout-stage{padding-top:1rem;border-top:1px solid var(--colour-border)}
.admin-standings-table{min-width:0;table-layout:fixed}.admin-standings-table th,.admin-standings-table td{padding:.75rem .6rem}.admin-standings-table th:first-child,.admin-standings-table td:first-child{width:2.7rem;text-align:center}.admin-standings-table th:nth-child(n+3),.admin-standings-table td:nth-child(n+3){width:2.7rem;text-align:center}.admin-standings-table__rank{display:grid;place-items:center;width:1.7rem;height:1.7rem;margin:auto;border-radius:50%;background:var(--colour-faded-green);color:var(--colour-electric-green);font:800 .7rem var(--font-heading)}.admin-standings-table__team{display:grid;gap:.1rem;font-size:.78rem;line-height:1.3}.admin-standings-table__number{color:var(--colour-text-muted);font:800 .75rem var(--font-heading)}
.admin-footer{padding:3.5rem 0 2rem;border-top:1px solid var(--colour-border);background:#010503}.admin-footer__inner{display:flex;align-items:flex-end;justify-content:space-between;gap:2rem}.admin-footer img{display:block;width:auto;height:2rem}.admin-footer p{margin-top:.6rem;color:var(--colour-text-muted);font-size:.75rem}
@media(min-width:48rem){.admin-status{grid-template-columns:repeat(4,minmax(0,1fr))}.admin-status div{border-bottom:0}.admin-status div:nth-child(2n){border-right:1px solid var(--colour-border)}.admin-status div:last-child{border-right:0}.admin-courts{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:64rem){.admin-main{padding-top:2rem}.admin-tournament-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start}.admin-section+.admin-section{margin-top:4.5rem}}
@media(max-width:39.99rem){.admin-header__inner{min-height:4.35rem}.admin-brand__padeuce{height:1.55rem}.admin-header__actions{gap:.3rem}.admin-header .button{min-height:2.35rem;padding:.45rem .55rem;font-size:.68rem}.admin-status{grid-template-columns:1fr}.admin-status div,.admin-status div:nth-child(2n){border-right:0;border-bottom:1px solid var(--colour-border)}.admin-status div:last-child{border-bottom:0}.admin-match{grid-template-columns:1.6rem minmax(0,1fr);gap:.55rem}.admin-match__court{grid-row:span 3}.admin-match__team{text-align:left}.admin-match__result{grid-column:2;justify-self:center}.admin-match__meta{grid-column:1/-1}.admin-footer__inner{align-items:flex-start;flex-direction:column}}
