
/* =========================================================
   SEN COMP LIVE V2 — UI BETA 1
   Visual redesign only. Existing IDs, Supabase calls and
   scoring behaviour remain intact.
   ========================================================= */
:root{
  --v2-bg:#05090d;
  --v2-panel:#0d141a;
  --v2-panel-2:#111a21;
  --v2-line:#26323b;
  --v2-text:#f7f9fb;
  --v2-muted:#8f9ba5;
  --v2-radius:18px;
  --v2-shadow:0 22px 55px rgba(0,0,0,.34);
}
body.v2-ui{background:radial-gradient(circle at 70% -10%,rgba(53,111,224,.11),transparent 32%),radial-gradient(circle at 12% 5%,rgba(240,106,25,.09),transparent 30%),var(--v2-bg);color:var(--v2-text)}
body.v2-ui .v1-sidebar{background:linear-gradient(180deg,#090f14,#05090d);border-right:1px solid #1d2830;padding-top:22px}
body.v2-ui .v1-product strong{font-size:1.18rem;letter-spacing:-.03em}
body.v2-ui .v1-product small,body.v2-ui .v1-sidebar-credit span{color:#75828c}
body.v2-ui .v1-nav .nav-btn{color:#c7d0d7;border:1px solid transparent;border-radius:12px;transition:.18s ease}
body.v2-ui .v1-nav .nav-btn:hover{background:rgba(255,255,255,.045);color:#fff}
body.v2-ui .v1-nav .nav-btn.active{background:linear-gradient(90deg,color-mix(in srgb,var(--primary) 19%,transparent),rgba(255,255,255,.025));color:#fff;border-color:color-mix(in srgb,var(--primary) 38%,transparent);box-shadow:inset 3px 0 var(--primary)}
body.v2-ui .v1-topbar{background:rgba(5,9,13,.88);border-color:#1f2a32;color:#fff;backdrop-filter:blur(18px)}
body.v2-ui .v1-mobile-brand small{color:#7f8b94}
body.v2-ui .sync-status{background:#111a21;color:#9aa6af;border:1px solid #26323b}
body.v2-ui .competition-status-badge{box-shadow:none}
body.v2-ui .v1-global-timer{background:linear-gradient(135deg,#101820,#0a1015);border:1px solid #27333c;color:#fff;border-radius:16px;box-shadow:var(--v2-shadow)}
body.v2-ui .v1-global-timer span{color:#8d99a2}
body.v2-ui .app-shell{max-width:1180px}
body.v2-ui .page-title{margin:28px 0 18px}
body.v2-ui .page-title h1{font-size:clamp(1.8rem,4vw,2.7rem);letter-spacing:-.045em;color:#fff}
body.v2-ui .page-title p{color:var(--v2-muted)}
body.v2-ui .card,body.v2-ui .filter-card,body.v2-ui .admin-menu-card,body.v2-ui .home-action,body.v2-ui .home-team-card,body.v2-ui .team-admin-card,body.v2-ui .sponsor-card{background:linear-gradient(145deg,var(--v2-panel-2),var(--v2-panel));border-color:var(--v2-line);color:var(--v2-text);box-shadow:var(--v2-shadow)}
body.v2-ui input,body.v2-ui select,body.v2-ui textarea{background:#080e13!important;color:#fff!important;border-color:#31404a!important}
body.v2-ui label>span,body.v2-ui .muted,body.v2-ui .field-label{color:var(--v2-muted)}
body.v2-ui .primary{background:var(--primary);border-color:var(--primary);color:#fff;box-shadow:0 8px 22px color-mix(in srgb,var(--primary) 22%,transparent)}
body.v2-ui .secondary{background:#111a21;color:#e9eef2;border-color:#35424c}
body.v2-ui .danger{background:#351316;color:#ff8f91;border-color:#6a272d}
body.v2-ui .home-hero{background:radial-gradient(circle at 50% 0%,rgba(53,111,224,.17),transparent 47%),linear-gradient(135deg,#101820,#080d12);border-color:#27333c;box-shadow:var(--v2-shadow)}
body.v2-ui .home-hero h1{color:#fff}
body.v2-ui .home-hero p{color:#9aa6af}
body.v2-ui .home-action{min-height:155px;transition:transform .18s ease,border-color .18s ease}
body.v2-ui .home-action:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--primary) 50%,#26323b)}
body.v2-ui .home-action strong{color:#fff}
body.v2-ui .home-action small{color:#8c99a2}
body.v2-ui .team-card{background:linear-gradient(150deg,color-mix(in srgb,var(--team-color) 13%,#111920),#081016 70%);border:1px solid #293741!important;border-top:5px solid var(--team-color)!important;color:#fff;border-radius:18px;box-shadow:var(--v2-shadow)}
body.v2-ui .team-card h3{color:var(--team-color)}
body.v2-ui .team-card .team-score{font-size:clamp(2.7rem,7vw,5rem);letter-spacing:-.06em}
body.v2-ui .team-card .team-meta,body.v2-ui .team-card .team-breakdown{color:#9aa6af}
body.v2-ui .compact-item{border-color:#26323b}
body.v2-ui .compact-item strong{color:#eef3f6}
body.v2-ui .compact-item span{color:#87949d}
body.v2-ui .ranking-view-tab{background:#0d141a;color:#9da8b0;border-color:#2c3942}
body.v2-ui .ranking-view-tab.active{background:#fff;color:#071017;border-color:#fff}

/* Scorecard: grade is communicated by the card colour only. */
body.v2-ui .scorecard-list{display:grid;gap:10px}
body.v2-ui .v2-problem-card{display:grid;grid-template-columns:58px minmax(0,1fr) 82px minmax(188px,auto);gap:16px;align-items:center;min-height:102px;padding:14px 16px;background:linear-gradient(145deg,color-mix(in srgb,var(--grade-bg) 17%,#121a20),#0b1116 74%);color:#fff;border:1px solid color-mix(in srgb,var(--grade-bg) 32%,#26323b);border-left:7px solid var(--grade-bg);border-radius:16px;box-shadow:0 14px 34px rgba(0,0,0,.2);overflow:hidden;transition:transform .16s ease,border-color .16s ease,opacity .16s ease}
body.v2-ui .v2-problem-card:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--grade-bg) 65%,#26323b)}
body.v2-ui .v2-problem-card.sent{background:linear-gradient(145deg,color-mix(in srgb,var(--grade-bg) 12%,#101b17),#08120e 74%);border-right:3px solid #43c579}
body.v2-ui .v2-problem-number{width:52px;height:52px;border-radius:50%;background:#070c10;color:#fff;border:1px solid color-mix(in srgb,var(--grade-bg) 55%,#33404a);font-size:1rem;box-shadow:inset 0 0 0 5px color-mix(in srgb,var(--grade-bg) 16%,transparent)}
body.v2-ui .v2-problem-main{text-align:left;color:#fff;background:transparent;border:0;padding:0;min-width:0}
body.v2-ui .v2-problem-heading{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:6px;min-width:0}
body.v2-ui .v2-hold-wrap{display:inline-flex;align-items:center;gap:7px;min-width:0}
body.v2-ui .v2-hold-dot{width:14px;height:14px;flex:0 0 14px;border-radius:50%;background:var(--hold-color,#9aa3ad);border:1px solid rgba(255,255,255,.42);box-shadow:0 0 12px color-mix(in srgb,var(--hold-color,#9aa3ad) 55%,transparent)}
body.v2-ui .v2-hold-label{font-size:12px;font-weight:750;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body.v2-ui .v2-problem-heading .setter-line{display:block;width:100%;min-width:0;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body.v2-ui .setter-line{font-size:.9rem;font-weight:850;color:#eef2f5;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body.v2-ui .hold-ascent-line{display:flex;align-items:baseline;gap:7px;margin-top:10px}
body.v2-ui .v2-ascent-value{font-size:1.15rem;font-weight:950;color:#fff}
body.v2-ui .ascent-count{font-size:.6rem;letter-spacing:.11em;color:#85919a;font-weight:950}
body.v2-ui .v2-points-block{text-align:right;border-right:1px solid #2a363f;padding-right:16px}
body.v2-ui .v2-points-block strong{display:block;font-size:1.75rem;line-height:1;color:#fff;letter-spacing:-.04em}
body.v2-ui .v2-points-block span{font-size:.58rem;letter-spacing:.13em;color:#8f9ba5;font-weight:950}
body.v2-ui .v2-problem-actions{min-width:0}
body.v2-ui .v2-problem-actions .action-top{display:flex;justify-content:flex-end;align-items:center;gap:10px}
body.v2-ui .status-label{font-size:.6rem;letter-spacing:.09em;color:#7f8a93;font-weight:950}
body.v2-ui .status-label.sent{color:#4dd184}
body.v2-ui .send-btn{min-width:112px;background:transparent;color:#ff696e;border:1px solid #a62e36;border-radius:9px;padding:10px 12px;font-weight:950;transition:.15s ease}
body.v2-ui .send-btn:hover{background:#3a1115;border-color:#dc434a}
body.v2-ui .send-btn.sent{color:#f0f4f6;border-color:#56636d;background:#111920}
body.v2-ui .prediction-slot{text-align:right;min-height:20px;margin-top:8px}
body.v2-ui .prediction-slot .rank-sub{font-size:.7rem;color:#a7b1b8}
body.v2-ui .prediction-slot strong{color:#fff}

/* Admin surfaces */
body.v2-ui .admin-timer-card{background:linear-gradient(145deg,#111a21,#080d12);border-color:#2c3942;border-top:5px solid #4bc876}
body.v2-ui .admin-timer-remaining strong{color:#fff;font-variant-numeric:tabular-nums}
body.v2-ui .admin-menu-card span{color:#8d99a2}
body.v2-ui .settings-section-heading{border-color:#29343d}
body.v2-ui .settings-step{background:#fff;color:#071017}
body.v2-ui .danger-zone{background:#1b0d10;border-color:#512128}
body.v2-ui .danger-zone p{color:#c99599}
body.v2-ui .toggle-row{border-color:#26323b}
body.v2-ui .toggle-row span{color:#eef2f4!important}
body.v2-ui .v1-footer{color:#6f7c85}

@media(max-width:900px){
  body.v2-ui .v1-topbar{height:64px}
  body.v2-ui .v1-sidebar{box-shadow:22px 0 55px rgba(0,0,0,.55)}
  body.v2-ui .app-shell{padding-left:12px;padding-right:12px}
}
@media(max-width:720px){
  body.v2-ui .page-title{margin:20px 2px 14px}
  body.v2-ui .page-title h1{font-size:1.65rem}
  body.v2-ui .filter-card{padding:12px}
  body.v2-ui .v2-problem-card{grid-template-columns:44px minmax(0,1fr) 60px;gap:9px;padding:12px 10px;min-height:124px;border-left-width:5px}
  body.v2-ui .v2-problem-number{width:42px;height:42px;font-size:.78rem}
  body.v2-ui .v2-points-block{padding-right:8px}
  body.v2-ui .v2-points-block strong{font-size:1.35rem}
  body.v2-ui .v2-problem-actions{grid-column:2/4;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;border-top:1px solid #27333c;padding-top:9px}
  body.v2-ui .v2-problem-actions .action-top{grid-column:2;grid-row:1/3}
  body.v2-ui .prediction-slot{grid-column:1;grid-row:1/3;text-align:left;margin:0;align-self:center}
  body.v2-ui .status-label{display:none}
  body.v2-ui .send-btn{min-width:104px;padding:10px 9px}
  body.v2-ui .team-card .team-score{font-size:clamp(2rem,11vw,3.2rem)}
}
@media(max-width:420px){
  body.v2-ui .v2-problem-card{grid-template-columns:40px minmax(0,1fr) 54px}
  body.v2-ui .setter-line{font-size:.78rem}
  body.v2-ui .prediction-slot .rank-sub{font-size:.64rem}
  body.v2-ui .send-btn{min-width:94px;font-size:.62rem}
}

/* V2 Categories and dynamic point settings */
.ranking-category-tabs{display:flex;gap:8px;overflow-x:auto;padding:4px 0 12px;scrollbar-width:thin}.category-ranking-tab{border:1px solid #d9dde7;background:#fff;border-radius:999px;padding:10px 16px;white-space:nowrap;font-weight:800;cursor:pointer}.category-ranking-tab.active{background:#121722;color:#fff;border-color:#121722;box-shadow:inset 0 -3px 0 var(--category-colour,#6d5ce7)}
.category-table-head,.category-admin-row{display:grid;grid-template-columns:32px 38px minmax(140px,1.3fr) 64px 92px 72px repeat(4,minmax(82px,.7fr)) 80px 72px;gap:10px;align-items:center}.category-table-head{padding:10px 12px;color:#667085;font-size:.72rem;font-weight:800;text-transform:uppercase}.category-admin-row{padding:12px;border-top:1px solid #eceef3;background:#fff}.category-admin-row.dragging{opacity:.45;background:#f1edff}.category-admin-row label{display:flex;align-items:center;gap:6px;font-size:.76rem}.drag-handle{cursor:grab;font-size:1.25rem;color:#7b8494}.category-admin-row input[type="text"],.category-admin-row input:not([type]){min-width:0}.category-admin-row input[type="color"]{width:48px;height:38px;padding:3px}.category-ranking-preview{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.category-ranking-preview span{border:1px solid #d9dde7;border-bottom:3px solid var(--category-colour,#6d5ce7);border-radius:8px;padding:8px 14px;font-weight:800}.category-ranking-preview .active{background:#121722;color:#fff;border-color:#121722}.category-common-toggle small{display:block;margin-top:4px;color:#667085;font-weight:400}.dynamic-grade-head,.dynamic-grade-row{grid-template-columns:68px minmax(110px,1fr) repeat(var(--point-columns,1),minmax(90px,1fr)) 72px 72px 58px minmax(150px,auto)!important}.dynamic-grade-head{--point-columns:1}.category-help-card{margin-bottom:14px}
@media(max-width:1100px){.category-table-head{display:none}.category-admin-row{grid-template-columns:30px 36px 1fr 56px;grid-auto-rows:auto}.category-admin-row>*:nth-child(n+5){grid-column:span 2}.category-admin-row button{grid-column:span 4}.grade-table-wrap{overflow-x:auto}.dynamic-grade-head,.dynamic-grade-row{min-width:850px}}

/* V2.2 broadcast-style mobile refresh */
body.v2-ui{--v2-panel:#0c1319;--v2-panel-2:#111b23;--v2-line:#26343e;--v2-muted:#92a0aa}
body.v2-ui .home-action-grid{grid-template-columns:1fr;gap:12px}
body.v2-ui .home-action{min-height:0!important;padding:18px 20px!important;grid-template-columns:46px minmax(0,1fr) 30px!important;grid-template-rows:auto auto auto!important;align-items:center;border-radius:16px}
body.v2-ui .home-action>span{grid-row:1/4;font-size:1.8rem;margin:0;color:var(--primary)}
body.v2-ui .home-action strong{margin:0;font-size:1.1rem;letter-spacing:.02em}
body.v2-ui .home-action small{margin:4px 0 0;color:#93a0a9;font-size:.82rem}
body.v2-ui .home-action b{grid-column:3;grid-row:1/4;align-self:center;font-size:1.7rem}
body.v2-ui .home-login-card{border-left:0}
body.v2-ui .ranking-control-card{padding:14px}
body.v2-ui .ranking-filters{grid-template-columns:minmax(0,1fr) minmax(130px,.45fr)}
body.v2-ui .ranking-category-select select{border-color:var(--primary)!important;box-shadow:0 0 0 1px color-mix(in srgb,var(--primary) 40%,transparent)}
body.v2-ui .summary-overview-card,body.v2-ui .summary-highlights-card,body.v2-ui .summary-team-result{padding:16px;margin-bottom:14px}
body.v2-ui .summary-grid{grid-template-columns:repeat(4,1fr);gap:8px;margin:12px 0 0}
body.v2-ui .summary-item{position:relative;background:linear-gradient(145deg,#14202a,#0b1218);border:1px solid #26343e;border-radius:12px;box-shadow:none;padding:16px 12px;min-height:112px;text-align:center;display:flex;flex-direction:column;justify-content:center}
body.v2-ui .summary-item strong{font-size:2rem;line-height:1;color:#fff;letter-spacing:-.04em}
body.v2-ui .summary-item span{margin-top:9px;font-size:.58rem;letter-spacing:.08em;color:#b1bbc2}
body.v2-ui .summary-item i{font-style:normal;margin-top:10px;color:#70818d}
body.v2-ui #summaryHighlights{margin-top:8px}
body.v2-ui .highlight-row{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:10px;align-items:center;padding:13px 2px;border-bottom:1px solid #233039}
body.v2-ui .highlight-row:last-child{border-bottom:0}
body.v2-ui .highlight-icon{font-size:1.25rem;color:var(--highlight,var(--primary))}
body.v2-ui .highlight-row strong{display:block;color:var(--highlight,#fff);font-size:.92rem}
body.v2-ui .highlight-row small{display:block;margin-top:2px;color:#87949d;font-size:.58rem;font-weight:900;letter-spacing:.06em}
body.v2-ui .highlight-row b{color:#fff;font-size:.95rem}
body.v2-ui #summaryTeams{margin-top:12px;display:grid;gap:16px}
body.v2-ui .team-result-head{display:flex;justify-content:space-between;align-items:end}
body.v2-ui .team-result-head strong{color:var(--team-color);font-size:.82rem;text-transform:uppercase}
body.v2-ui .team-result-head b{font-size:1.65rem;color:#fff}
body.v2-ui .team-result-track{height:10px;background:#1b252d;border-radius:999px;overflow:hidden;margin:8px 0}
body.v2-ui .team-result-track span{display:block;height:100%;background:var(--team-color);border-radius:999px}
body.v2-ui .team-result-row small{color:#87949d}

@media(max-width:900px){
 /* Mobile uses the original tap-to-open side menu. This keeps ADMIN and SPONSORS accessible. */
 body.v2-ui .v1-sidebar{position:fixed!important;left:-260px!important;right:auto!important;top:0!important;bottom:0!important;width:240px!important;height:100dvh!important;transform:none!important;background:linear-gradient(180deg,#090f14,#05090d)!important;border-right:1px solid #1d2830!important;border-top:0!important;z-index:1000;padding:22px 14px 18px!important;transition:left .22s ease!important;box-shadow:22px 0 55px rgba(0,0,0,.55)}
 body.v2-ui .v1-sidebar.open{left:0!important}
 body.v2-ui .v1-sidebar .v1-product,body.v2-ui .v1-sidebar .v1-sidebar-credit,body.v2-ui .v1-sidebar .nav-btn[data-view="sponsors"],body.v2-ui .v1-sidebar .nav-btn[data-view="admin"]{display:flex!important}
 body.v2-ui .v1-sidebar .v1-product,body.v2-ui .v1-sidebar .v1-sidebar-credit{display:block!important}
 body.v2-ui .v1-nav{height:auto;display:flex!important;flex-direction:column;gap:7px!important;align-items:stretch}
 body.v2-ui .v1-nav .nav-btn{display:flex!important;flex-direction:row;justify-content:flex-start;align-items:center;gap:12px;padding:12px 14px!important;text-align:left;font-size:.78rem;border-radius:12px;color:#9aa7b0}
 body.v2-ui .v1-nav .nav-btn span{font-size:1.05rem;min-width:22px;text-align:center}
 body.v2-ui .v1-nav .nav-btn.active{background:#17212a!important;box-shadow:none!important;color:#fff}
 body.v2-ui .v1-content{margin-left:0!important;padding-bottom:0}
 body.v2-ui .mobile-menu-btn{display:block!important;color:#42a5ff!important;position:relative;z-index:1001}
}
@media(max-width:720px){
 body.v2-ui .summary-grid{grid-template-columns:repeat(2,1fr)}
 body.v2-ui .summary-item{min-height:104px}
 body.v2-ui .ranking-filters{grid-template-columns:1fr 1fr}
}

/* V2.2.2 Categories admin refresh */
.category-settings-card{padding:0;overflow:hidden;background:#101821;border:1px solid #293746}
.category-admin-list{display:grid;gap:0}
.category-admin-card{background:#101821;border-bottom:1px solid #293746;color:#f5f7fa}
.category-admin-card:last-child{border-bottom:0}
.category-admin-card.dragging{opacity:.5;background:#172331}
.category-card-main{display:grid;grid-template-columns:36px 30px minmax(180px,1.5fr) 72px minmax(190px,1fr) 90px 88px 126px;gap:14px;align-items:end;padding:18px}
.category-card-main .drag-handle{border:0;background:transparent;color:#8fa1b5;font-size:1.3rem;padding:10px 4px;cursor:grab}
.category-order{align-self:center;color:#8fa1b5;font-weight:800}
.category-field{display:grid;gap:7px;min-width:0}
.category-field>span,.category-player-count>span{font-size:.69rem;color:#8fa1b5;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.category-field input:not([type="checkbox"]){width:100%;background:#070d12;border:1px solid #334454;color:#fff}
.category-colour-field input[type="color"]{height:44px;padding:4px}
.category-capacity-field{grid-template-columns:auto 1fr;align-items:center}
.category-capacity-field>span{grid-column:1/-1}
.category-capacity-field>input[type="number"]{grid-column:1/-1}
.inline-check{display:flex;align-items:center;gap:7px;color:#dbe3eb;font-size:.82rem}
.category-player-count{display:grid;gap:7px;align-self:center}
.category-player-count strong{font-size:1.05rem}
.category-active-toggle{display:flex;align-items:center;gap:8px;align-self:center;font-weight:800}
.category-advanced-toggle{white-space:nowrap;align-self:center}
.category-advanced-panel{padding:0 18px 18px 98px;background:#0c131b}
.category-advanced-panel>p{margin:0 0 12px}
.category-visibility-grid{display:grid;grid-template-columns:repeat(4,minmax(170px,1fr));gap:10px}
.category-visibility-grid label{display:flex;gap:10px;align-items:flex-start;padding:12px;border:1px solid #293746;border-radius:12px;background:#111b25}
.category-visibility-grid label>span{display:grid;gap:3px}
.category-visibility-grid small{color:#8fa1b5;line-height:1.3}
.category-save-bar{display:flex;justify-content:flex-end;align-items:center;gap:16px;padding:16px 18px;background:#0c131b;border-top:1px solid #293746}
.category-save-bar .primary{min-width:150px}
@media(max-width:1050px){
 .category-card-main{grid-template-columns:34px 28px minmax(170px,1fr) 64px;align-items:end}
 .category-capacity-field,.category-player-count,.category-active-toggle,.category-advanced-toggle{grid-column:span 2}
 .category-advanced-panel{padding-left:18px}
 .category-visibility-grid{grid-template-columns:repeat(2,minmax(160px,1fr))}
}
@media(max-width:640px){
 .category-card-main{grid-template-columns:30px 26px 1fr 58px;gap:10px;padding:14px}
 .category-capacity-field,.category-player-count,.category-active-toggle,.category-advanced-toggle{grid-column:1/-1}
 .category-player-count{display:flex;justify-content:space-between}
 .category-visibility-grid{grid-template-columns:1fr}
 .category-save-bar{position:sticky;bottom:0;z-index:3;justify-content:space-between}
 .category-save-bar .muted{font-size:.75rem}
}


/* V2.3 Admin control dashboard */
body.v2-ui #view-admin .page-title{display:none}
body.v2-ui .admin-control-home{display:grid;gap:18px;margin-top:12px}
body.v2-ui .admin-flow-section{background:linear-gradient(145deg,#111a23,#0b1219);border:1px solid #273746;border-radius:18px;padding:20px;box-shadow:0 18px 50px rgba(0,0,0,.22)}
body.v2-ui .admin-flow-title{display:flex;align-items:flex-start;gap:13px;margin-bottom:16px}
body.v2-ui .admin-flow-title h2{margin:1px 0 4px;font-size:1.3rem}
body.v2-ui .admin-flow-title p{margin:0;color:#8e9ba8;font-size:.86rem}
body.v2-ui .admin-flow-number{display:grid;place-items:center;flex:0 0 30px;height:30px;border-radius:10px;background:#182531;color:#f7fafc;font-weight:900;border:1px solid #314352}
body.v2-ui .admin-settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
body.v2-ui .admin-dashboard-card{width:100%;min-height:104px;display:grid;grid-template-columns:58px 1fr auto;align-items:center;gap:15px;text-align:left;padding:16px 18px;border-radius:15px;border:1px solid #263746;background:linear-gradient(145deg,#14202a,#0d151d);color:#f7fafc;transition:transform .16s ease,border-color .16s ease,background .16s ease}
body.v2-ui .admin-dashboard-card:hover{transform:translateY(-2px);border-color:#526779;background:linear-gradient(145deg,#182631,#101a23)}
body.v2-ui .admin-dashboard-card strong{display:block;font-size:1rem;margin-bottom:5px}
body.v2-ui .admin-dashboard-card small{display:block;color:#98a6b3;line-height:1.45;font-weight:600}
body.v2-ui .admin-dashboard-card>b{font-size:2rem;color:#8d9aa5;font-weight:400}
body.v2-ui .admin-card-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:14px;font-size:1.45rem;font-weight:900;color:#fff;background:linear-gradient(145deg,#6f31e8,#4720a5);box-shadow:0 8px 20px rgba(94,46,210,.3)}
body.v2-ui .admin-card-structure .admin-card-icon{background:linear-gradient(145deg,#2587ff,#1556c8)}
body.v2-ui .admin-card-participants .admin-card-icon{background:linear-gradient(145deg,#2cca67,#12853c)}
body.v2-ui .admin-card-scoring .admin-card-icon{background:linear-gradient(145deg,#ff9c25,#e55c00)}
body.v2-ui .admin-card-sponsors .admin-card-icon{background:linear-gradient(145deg,#ffd62e,#dd9d00)}
body.v2-ui .admin-card-archives .admin-card-icon{background:linear-gradient(145deg,#2dd9cc,#087b8c)}
body.v2-ui .admin-home-status{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border:1px solid #31414f;border-radius:12px;overflow:hidden}
body.v2-ui .admin-home-status button{min-height:56px;border:0;border-right:1px solid #31414f;border-radius:0;background:#151f28;color:#cdd5dd;font-weight:900}
body.v2-ui .admin-home-status button:last-child{border-right:0}
body.v2-ui .admin-home-status button.active{background:linear-gradient(145deg,#0f2b21,#14261f);color:#45db78;box-shadow:inset 0 0 0 1px #2bbd60}
body.v2-ui .status-dot{display:inline-block;width:13px;height:13px;border:2px solid currentColor;border-radius:50%;margin-right:8px;vertical-align:-2px}
body.v2-ui .admin-timer-card{border-top:1px solid #273746!important}
body.v2-ui .admin-timer-card .admin-flow-title{align-items:center}
body.v2-ui .admin-timer-status{margin-left:auto}
body.v2-ui .admin-timer-layout{display:grid;grid-template-columns:190px 1fr 1.15fr;align-items:end;gap:24px;padding:15px;border-radius:14px;background:#0c141b;border:1px solid #1d2b36}
body.v2-ui .admin-timer-remaining{text-align:center}
body.v2-ui .admin-timer-remaining strong{font-size:3.25rem;line-height:1;letter-spacing:.02em}
body.v2-ui .admin-timer-controls{grid-template-columns:repeat(3,1fr);margin:0}
body.v2-ui .admin-timer-controls button{min-height:48px}
body.v2-ui .admin-end-competition-card{display:grid;grid-template-columns:1fr auto;align-items:center;border-color:#682b31;background:linear-gradient(145deg,#211116,#130d11)}
body.v2-ui .admin-end-competition-card .admin-flow-title{margin:0}
body.v2-ui .admin-end-competition-card .admin-flow-number{background:#4b171e;color:#ff7e88;border-color:#762c35}
body.v2-ui .danger-label{color:#ff6672}
body.v2-ui .admin-end-button{min-width:260px;min-height:58px;font-size:1rem}
body.v2-ui .general-heading-actions{display:flex;gap:10px;align-items:center}
body.v2-ui .structure-subsection{background:linear-gradient(145deg,#111a23,#0c141b);border:1px solid #273746;border-radius:17px;padding:18px;margin-bottom:16px}
body.v2-ui .structure-heading{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:14px}
body.v2-ui .structure-heading h3{margin:0 0 3px;font-size:1.15rem}
body.v2-ui .structure-heading p{margin:0;color:#8d9aa7}
body.v2-ui .scoring-rules-card{margin-bottom:16px}
body.v2-ui .scoring-rule-row{max-width:440px;margin-top:14px}
body.v2-ui .scoring-team-points-section{margin-bottom:16px}
body.v2-ui .admin-section-back-row{display:flex;justify-content:flex-start;margin:24px 0 8px}
body.v2-ui .admin-section-back-row .admin-back{min-width:180px}
@media(max-width:900px){
 body.v2-ui .admin-settings-grid{grid-template-columns:1fr}
 body.v2-ui .admin-timer-layout{grid-template-columns:1fr}
 body.v2-ui .admin-timer-remaining{text-align:left}
 body.v2-ui .admin-timer-controls{grid-template-columns:1fr}
 body.v2-ui .admin-end-competition-card{grid-template-columns:1fr;gap:16px}
 body.v2-ui .admin-end-button{width:100%;min-width:0}
 body.v2-ui .general-heading-actions{width:100%;flex-wrap:wrap}
 body.v2-ui .general-page-heading{align-items:flex-start}
}
@media(max-width:560px){
 body.v2-ui .admin-flow-section{padding:15px;border-radius:15px}
 body.v2-ui .admin-dashboard-card{grid-template-columns:46px 1fr auto;padding:14px;min-height:92px}
 body.v2-ui .admin-card-icon{width:42px;height:42px;border-radius:12px;font-size:1.1rem}
 body.v2-ui .admin-home-status{grid-template-columns:1fr}
 body.v2-ui .admin-home-status button{border-right:0;border-bottom:1px solid #31414f}
 body.v2-ui .admin-home-status button:last-child{border-bottom:0}
 body.v2-ui .admin-timer-remaining strong{font-size:2.7rem}
 body.v2-ui .structure-heading{align-items:flex-start;flex-direction:column}
 body.v2-ui .structure-heading button{width:100%}
}


/* V2.4 — Participants, DNS and archive results */
.pin-display {
  background: #111821;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 10px;
  padding: 7px 8px;
}
.pin-display strong { color: #f7fbff !important; font-variant-numeric: tabular-nums; letter-spacing: .08em; }
.participant-toolbar { display:flex; flex-wrap:wrap; gap:10px; align-items:end; margin:14px 0 10px; }
.participant-toolbar label { min-width:220px; margin:0; }
.participant-select-all { padding:10px 0; color:var(--muted); font-weight:800; }
.participant-bulk-bar { display:flex; align-items:center; gap:14px; padding:12px 14px; margin-bottom:12px; border-radius:12px; background:rgba(224,72,72,.12); border:1px solid rgba(255,104,104,.32); }
.participant-bulk-bar span { color:var(--muted); flex:1; font-size:.8rem; }
.participant-select { display:grid; place-items:center; margin:0; }
.participant-select input { width:20px; height:20px; }
.competitor-name-cell { display:grid; gap:5px; min-width:0; }
.competitor-inactive { opacity:.78; background:rgba(255,255,255,.025); border-color:rgba(255,255,255,.08); }
.dns-badge { display:inline-flex; width:fit-content; align-items:center; padding:3px 7px; border-radius:999px; background:rgba(255,179,71,.14); border:1px solid rgba(255,179,71,.35); color:#ffc570; font-size:.67rem; font-style:normal; font-weight:950; letter-spacing:.04em; }
.dns-section-label { padding:18px 4px 8px; color:#ffc570; font-size:.72rem; font-weight:950; letter-spacing:.08em; }
.dns-ranking-row { opacity:.76; }
.dns-ranking-row .rank-stat strong { font-size:.95rem; color:#ffc570; }
.dns-rank-mark { color:var(--muted); font-weight:950; }
.archive-open-row { width:100%; text-align:left; cursor:pointer; }
.archive-open-label { display:block; margin-top:6px; color:var(--accent); font-weight:900; font-size:.75rem; }
.archive-stat-grid { display:grid; grid-template-columns:repeat(5,minmax(90px,1fr)); gap:10px; margin:18px 0 24px; }
.archive-stat-grid > div { padding:14px; border-radius:12px; background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.08); }
.archive-stat-grid strong { display:block; font-size:1.5rem; }
.archive-stat-grid span { color:var(--muted); font-size:.68rem; font-weight:900; }
.archive-team-list,.archive-ranking-list,.archive-problem-list { display:grid; gap:8px; }
.archive-team-list > div,.archive-rank-row,.archive-problem-row { display:grid; grid-template-columns:auto 1fr auto; gap:12px; align-items:center; padding:12px; border-radius:10px; background:rgba(255,255,255,.045); border:1px solid rgba(255,255,255,.07); }
.archive-team-list > div { grid-template-columns:1fr auto; }
.archive-rank-row span,.archive-problem-row span { display:grid; gap:2px; }
.archive-rank-row small,.archive-problem-row small { color:var(--muted); }
.archive-rank-row em { font-style:normal; font-weight:900; }
@media (max-width:760px) {
  .participant-toolbar { display:grid; grid-template-columns:1fr 1fr; }
  .participant-toolbar label { grid-column:1/-1; min-width:0; }
  .participant-bulk-bar { align-items:stretch; flex-direction:column; }
  .competitor-admin-row { grid-template-columns:auto 76px minmax(140px,1fr); }
  .competitor-admin-row > select,.competitor-admin-row > .pin-display,.competitor-admin-row > button { grid-column:2/-1; }
  .archive-stat-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}


/* V2.4.1 — compact single-row Participants admin */
.participants-admin-card{overflow:visible}.participants-heading{align-items:center}.participants-title-line{display:flex;align-items:baseline;flex-wrap:wrap;gap:18px}.participant-toolbar-compact{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:12px 0 16px;margin:0;overflow:visible}.participant-filter-tabs{display:flex;gap:8px;flex:0 0 auto}.participant-filter-btn{min-height:36px;padding:0 16px;border:1px solid var(--line);border-radius:9px;background:#101821;color:var(--text);font-weight:900;cursor:pointer}.participant-filter-btn.active{background:#176fe8;border-color:#2e87ff;box-shadow:0 0 0 1px rgba(46,135,255,.18) inset}.participant-toolbar-divider{width:1px;height:28px;background:var(--line);flex:0 0 auto;margin:0 2px}.participant-toolbar-spacer{flex:1 1 12px}.compact-action{min-height:36px;white-space:nowrap;padding:0 11px;font-size:.82rem}.participant-table-wrap{width:100%;overflow:visible;border:1px solid var(--line);border-radius:12px 12px 0 0;background:#0b131b}.participant-table-head,.participant-table-row{width:100%;min-width:0;display:grid;grid-template-columns:30px 54px minmax(118px,1.55fr) minmax(92px,.9fr) minmax(112px,1fr) minmax(132px,1.15fr) 78px minmax(112px,1fr);column-gap:6px;align-items:center}.participant-table-head{min-height:44px;padding:0 8px;color:var(--muted);font-size:.72rem;font-weight:950;text-transform:uppercase;letter-spacing:.055em;border-bottom:1px solid var(--line)}.participant-table-row{min-height:54px;padding:5px 8px;border-bottom:1px solid rgba(255,255,255,.11);background:#0d161f}.participant-table-row:last-child{border-bottom:0}.participant-table-row:hover{background:#111d28}.participant-table-row>input,.participant-table-row>select{height:36px;min-width:0;padding:0 8px;font-size:.82rem;border-radius:8px;background:#09121a}.participant-code-input{font-variant-numeric:tabular-nums}.participant-name-input{font-weight:800}.compact-pin{display:grid;grid-template-columns:minmax(50px,1fr) 26px 45px;align-items:center;gap:5px;min-height:38px;padding:3px 4px 3px 10px;background:#09121a}.compact-pin strong{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.pin-eye{width:25px;height:28px;display:grid;place-items:center;border:0;border-radius:7px;background:transparent;color:#fff;font-size:1rem;cursor:pointer}.pin-eye:hover{background:rgba(255,255,255,.08)}.participant-status-cell{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:0}.participant-status{display:inline-flex;align-items:center;justify-content:center;min-width:58px;padding:5px 10px;border-radius:999px;font-size:.72rem;font-weight:950}.participant-status.active{color:#dfffea;background:rgba(32,183,93,.26);border:1px solid rgba(42,217,112,.3)}.participant-status.dns{color:#ffe2bd;background:rgba(210,104,0,.45);border:1px solid rgba(255,151,44,.38)}.participant-status-note{color:var(--muted);font-size:.64rem;white-space:nowrap}.participant-row-actions{display:flex;align-items:center;justify-content:flex-end;gap:4px}.participant-row-actions button{white-space:nowrap;min-height:32px;padding:0 7px;font-size:.72rem}.participant-reactivate-btn{color:#50a9ff!important;border-color:rgba(64,156,255,.55)!important}.competitor-inactive{opacity:1;background:#111b24}.competitor-inactive input,.competitor-inactive select{color:#c8d0d8}.participant-empty{padding:22px;min-width:0}.participant-bulk-bar{position:sticky;bottom:0;z-index:8;margin:0;border-radius:0 0 12px 12px;background:#101a24;border:1px solid var(--line);border-top:0;box-shadow:0 -10px 28px rgba(0,0,0,.28)}.participant-bulk-bar small{color:var(--muted);margin-left:auto;white-space:nowrap}.participant-bulk-spacer{flex:1}.participant-bulk-bar .ghost{background:transparent;color:#58aaff;border:0;text-decoration:underline}@media(max-width:900px){.participants-title-line{display:block}.participant-toolbar-compact{flex-wrap:wrap}.participant-toolbar-spacer,.participant-toolbar-divider{display:none}.participant-table-head{display:none}.participant-table-wrap{border:0;background:transparent}.participant-table-body{display:grid;gap:10px}.participant-table-row{grid-template-columns:30px 58px minmax(130px,1.4fr) minmax(105px,1fr) minmax(120px,1fr);grid-template-areas:"select code name team category" ". pin pin status actions";gap:7px 6px;padding:10px;border:1px solid var(--line);border-radius:11px}.participant-table-row .participant-select{grid-area:select}.participant-code-input{grid-area:code}.participant-name-input{grid-area:name}.participant-table-row>select:nth-of-type(1){grid-area:team}.participant-table-row>select:nth-of-type(2){grid-area:category}.compact-pin{grid-area:pin}.participant-status-cell{grid-area:status}.participant-row-actions{grid-area:actions}.participant-bulk-bar{position:static;min-width:0;flex-wrap:wrap;align-items:center;overflow:visible;border-radius:12px;margin-top:10px}.participant-bulk-bar small{width:100%;margin:4px 0 0}}@media(max-width:560px){.participant-table-row{grid-template-columns:30px 52px 1fr;grid-template-areas:"select code name" ". team team" ". category category" ". pin pin" ". status actions"}.participant-filter-tabs{width:100%}.participant-filter-btn{flex:1}.compact-action{flex:1 1 calc(50% - 8px)}.participant-row-actions{justify-content:flex-end}}

/* V2.4.2 — Archive results redesign */
.archive-open-row{
  display:grid!important;grid-template-columns:64px minmax(0,1fr) auto;gap:16px;align-items:center;
  padding:16px!important;background:linear-gradient(135deg,rgba(18,31,43,.98),rgba(11,21,30,.98))!important;
  color:#f5f7fa!important;border:1px solid #2d4254!important;border-radius:14px!important;
  box-shadow:0 12px 28px rgba(0,0,0,.18);transition:.18s ease;
}
.archive-open-row:hover{border-color:#268cff!important;transform:translateY(-1px);box-shadow:0 14px 34px rgba(0,0,0,.25),0 0 0 1px rgba(38,140,255,.15)}
.archive-date-tile{width:58px;height:70px;border:1px solid #2d4f75;border-radius:10px;display:grid;place-content:center;text-align:center;background:#102236;color:#e9f3ff;line-height:1}
.archive-date-tile b{font-size:.66rem;color:#55a6ff;letter-spacing:.08em}.archive-date-tile strong{font-size:1.55rem;margin:4px 0}.archive-date-tile small{font-size:.65rem;color:#8da3b5}
.archive-row-main{display:grid;gap:5px;text-align:left}.archive-row-main>strong{font-size:1rem}.archive-row-main>span{font-size:.78rem;color:#9fb0bf}.archive-row-main>small{display:flex;align-items:center;gap:6px;color:#92a4b4;text-transform:capitalize}.archive-row-main>small i{width:7px;height:7px;border-radius:50%;background:#35c879}
.archive-row-result{display:grid;grid-template-columns:auto auto auto;align-items:center;gap:10px;text-align:right}.archive-row-result>b{font-size:.9rem}.archive-row-result>span{font-size:.8rem;color:#d7e8f7}.archive-row-result>em{font-size:1.6rem;font-style:normal;color:#6caeff}

.modal-panel.archive-modal-panel{width:min(900px,calc(100vw - 32px));max-height:92vh;padding:0;background:linear-gradient(155deg,#142332,#0b151e);border:1px solid #30485c;border-radius:18px;color:#f4f7fa;box-shadow:0 30px 90px rgba(0,0,0,.65)}
.archive-modal-panel .modal-close{color:#eff6fc;background:#152534;border:1px solid #345064;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;font-size:1.25rem;right:18px;top:18px}
.archive-modal-panel #modalContent{padding:28px}
.archive-detail{color:#f4f7fa}.archive-detail-header{padding-right:55px}.archive-detail-header .eyebrow{color:#8fa6b8;font-size:.7rem;letter-spacing:.12em;font-weight:900}.archive-detail-header h2{font-size:2rem;margin:7px 0 8px;color:#fff}.archive-detail-header p{display:flex;align-items:center;flex-wrap:wrap;gap:8px;color:#9eb1c0;margin:0}.archive-detail-header p i{width:1px;height:16px;background:#405262;margin:0 5px}
.archive-stat-grid{grid-template-columns:repeat(5,minmax(90px,1fr));gap:0;margin:24px 0;background:rgba(5,13,20,.45);border:1px solid #2b4052;border-radius:14px;overflow:hidden}
.archive-stat-grid>.archive-stat{padding:18px 10px;border:0;border-right:1px solid #273b4b;border-radius:0;background:transparent;text-align:center}.archive-stat-grid>.archive-stat:last-child{border-right:0}.archive-stat span{display:block;font-size:1.25rem;margin-bottom:5px}.archive-stat strong{font-size:1.65rem;line-height:1.1}.archive-stat small{display:block;margin-top:6px;color:#8da0af;font-size:.65rem;font-weight:900;letter-spacing:.05em}.archive-stat.registered span,.archive-stat.registered strong{color:#3d9cff}.archive-stat.competed span,.archive-stat.competed strong{color:#43d27d}.archive-stat.dns span,.archive-stat.dns strong{color:#f29a28}.archive-stat.problems span,.archive-stat.problems strong{color:#ae65ff}.archive-stat.ascents span,.archive-stat.ascents strong{color:#ff4f79}
.archive-section{margin-top:24px}.archive-section h3{margin:0 0 12px;font-size:1rem;color:#f6f8fa}.archive-team-list,.archive-ranking-list,.archive-problem-list{gap:0;border:1px solid #293f50;border-radius:12px;overflow:hidden;background:rgba(7,16,24,.38)}
.archive-team-list>div{display:grid;grid-template-columns:1fr auto;align-items:center;padding:13px 14px;border:0;border-bottom:1px solid #263a49;border-radius:0;background:transparent}.archive-team-list>div:last-child{border-bottom:0}.archive-team-list>div span{display:flex;align-items:center;gap:10px}.archive-team-dot{display:inline-block;width:9px;height:9px;border-radius:50%;flex:0 0 auto}
.archive-ranking-head{display:grid;grid-template-columns:70px 1fr 130px;padding:8px 14px;color:#8195a5;font-size:.65rem;font-weight:900;letter-spacing:.06em}.archive-ranking-head span:last-child{text-align:right}
.archive-rank-row{display:grid;grid-template-columns:70px 1fr 130px;align-items:center;padding:11px 14px;border:0;border-top:1px solid #263a49;border-radius:0;background:transparent}.archive-rank-row:first-child{border-top:0}.archive-rank-row>b{font-size:.9rem}.archive-rank-row span{display:grid;gap:3px}.archive-rank-row span small{display:flex;align-items:center;gap:7px;color:#92a5b4}.archive-rank-row em{text-align:right;color:#f5f8fa}.archive-dns-row{opacity:.72}.archive-dns-row em{color:#d3953b;font-size:.76rem}.dns-badge{font-style:normal;font-size:.6rem;color:#fff;background:#9b5c09;border-radius:99px;padding:3px 6px}
.archive-problems-details{margin-top:22px;border:1px solid #2a4152;border-radius:12px;overflow:hidden;background:rgba(7,16,24,.38)}.archive-problems-details summary{cursor:pointer;display:flex;justify-content:space-between;padding:14px;font-weight:900}.archive-problems-details summary span{color:#8fa4b5;font-size:.75rem;font-weight:700}.archive-problem-list{border:0;border-top:1px solid #293f50;border-radius:0}.archive-problem-row{grid-template-columns:55px 1fr auto;border:0;border-bottom:1px solid #263a49;border-radius:0;background:transparent;padding:11px 14px}.archive-problem-row:last-child{border-bottom:0}.archive-problem-row span b{color:#f4f7fa}.archive-problem-row>b:last-child{font-size:.78rem;color:#9eb3c3}
@media(max-width:720px){
  .archive-open-row{grid-template-columns:52px minmax(0,1fr);gap:11px;padding:12px!important}.archive-date-tile{width:48px;height:60px}.archive-row-result{grid-column:2;justify-content:start;text-align:left}.archive-row-result>b{display:none}
  .archive-modal-panel #modalContent{padding:20px 15px}.archive-detail-header h2{font-size:1.55rem}.archive-stat-grid{grid-template-columns:repeat(3,1fr)}.archive-stat-grid>.archive-stat{border-bottom:1px solid #273b4b}.archive-stat-grid>.archive-stat:nth-child(3){border-right:0}.archive-stat-grid>.archive-stat:nth-child(4),.archive-stat-grid>.archive-stat:nth-child(5){border-bottom:0}.archive-ranking-head{display:none}.archive-rank-row{grid-template-columns:38px 1fr auto;padding:11px 10px}.archive-rank-row em{font-size:.8rem}.archive-problem-row{grid-template-columns:42px 1fr auto;padding:10px}
}

/* V2.5 Sponsors redesign */
body.v2-ui #adminSection-sponsors{max-width:1180px;margin:0 auto}
body.v2-ui #adminSection-sponsors .general-page-heading{align-items:flex-start;margin-bottom:18px}
body.v2-ui .sponsor-live-toggle-card{padding:0;overflow:hidden}
body.v2-ui .sponsor-live-toggle-card .toggle-row{min-height:78px;padding:18px 22px;display:flex;align-items:center;justify-content:space-between;gap:18px}
body.v2-ui .sponsor-toggle-copy{display:flex;align-items:center;gap:14px}
body.v2-ui .sponsor-toggle-icon{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:rgba(255,111,0,.16);color:#ff7a00;font-size:1.2rem}
body.v2-ui .sponsor-toggle-copy strong{display:block;font-size:1rem}
body.v2-ui .sponsor-toggle-copy small{display:block;color:var(--v2-muted);margin-top:4px}
body.v2-ui .sponsor-admin-list{display:grid;gap:12px;margin-top:16px}
body.v2-ui .sponsor-admin-card{position:relative;display:grid;grid-template-columns:28px 142px minmax(0,1fr) auto;gap:18px;align-items:center;background:linear-gradient(145deg,#111c27,#0c151e);border:1px solid #263746;border-radius:18px;padding:16px 18px;box-shadow:none;color:#f7fafc;transition:border-color .2s ease,transform .2s ease,box-shadow .2s ease}
body.v2-ui .sponsor-admin-card:hover{border-color:#3d5366;transform:translateY(-1px)}
body.v2-ui .sponsor-admin-card.dragging{opacity:.55;border-color:#ff7300;box-shadow:0 0 0 2px rgba(255,115,0,.18)}
body.v2-ui .sponsor-admin-card.main-sponsor{border-color:#685314;background:linear-gradient(145deg,#151d26,#11181f);box-shadow:inset 3px 0 0 #d8ac21}
body.v2-ui .sponsor-drag-handle{cursor:grab;color:#7f93a5;font-size:1.45rem;line-height:1;text-align:center;user-select:none}
body.v2-ui .sponsor-drag-handle:active{cursor:grabbing}
body.v2-ui .sponsor-logo-box{width:142px;height:116px;border-radius:14px;background:#fff;border:1px solid #e5e7eb;display:grid;place-items:center;padding:12px;overflow:hidden}
body.v2-ui .sponsor-logo-box img{width:100%;height:100%;object-fit:contain}
body.v2-ui .sponsor-admin-copy{min-width:0}
body.v2-ui .sponsor-admin-level{display:inline-flex;align-items:center;min-height:24px;padding:4px 9px;border-radius:999px;background:rgba(255,112,0,.18);color:#ff841a;font-size:.7rem;font-weight:950;letter-spacing:.03em;text-transform:uppercase}
body.v2-ui .sponsor-admin-level.main{background:rgba(207,158,0,.18);color:#ffd33d}
body.v2-ui .sponsor-admin-copy h3{font-size:1.45rem;margin:8px 0 6px;color:#fff}
body.v2-ui .sponsor-admin-url{display:flex;align-items:center;gap:7px;color:#aebdca;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:620px}
body.v2-ui .sponsor-admin-meta{display:flex;flex-wrap:wrap;gap:9px;align-items:center;margin-top:10px;color:#bdc8d2;font-size:.82rem}
body.v2-ui .sponsor-visible-dot{width:8px;height:8px;border-radius:50%;background:#28c76f;box-shadow:0 0 0 3px rgba(40,199,111,.12)}
body.v2-ui .sponsor-hidden-dot{background:#77808a;box-shadow:none}
body.v2-ui .sponsor-main-badge{display:inline-flex;align-items:center;gap:7px;border:1px solid #7d6512;border-radius:10px;padding:10px 12px;color:#ffd83d;background:rgba(101,78,0,.15);font-weight:950;font-size:.8rem;margin-bottom:12px}
body.v2-ui .sponsor-admin-actions{display:flex;flex-direction:column;align-items:flex-end;justify-content:center;gap:12px;min-width:250px}
body.v2-ui .sponsor-admin-actions .row-actions{display:flex;gap:10px}
body.v2-ui .sponsor-admin-actions button{min-width:112px}
body.v2-ui .sponsor-admin-help{display:flex;align-items:center;gap:12px;margin-top:14px;padding:16px 18px;border:1px solid #263746;border-radius:14px;background:#0f1923;color:#aebdca}
body.v2-ui .sponsor-admin-help b{color:#dce6ee}
body.v2-ui .sponsor-modal-layout{display:grid;grid-template-columns:minmax(0,1fr) 230px;gap:20px;align-items:start}
body.v2-ui .sponsor-logo-preview{border:1px solid #2c3e4d;border-radius:16px;background:#0d1720;padding:14px}
body.v2-ui .sponsor-logo-preview strong{display:block;margin-bottom:10px}
body.v2-ui .sponsor-logo-preview-box{height:180px;border-radius:12px;background:#fff;display:grid;place-items:center;padding:16px;overflow:hidden}
body.v2-ui .sponsor-logo-preview-box img{width:100%;height:100%;object-fit:contain}
body.v2-ui .sponsor-logo-preview-box span{color:#8795a1;text-align:center}
body.v2-ui .sponsor-home-showcase{display:grid;gap:14px;width:100%}
body.v2-ui .sponsor-home-heading{display:flex;align-items:end;justify-content:space-between;gap:16px}
body.v2-ui .sponsor-home-heading h3{margin:3px 0 0;font-size:1.25rem}
body.v2-ui .home-main-sponsor{display:grid;grid-template-columns:minmax(180px,32%) 1fr;align-items:center;gap:22px;min-height:142px;padding:20px 24px;background:#fff;border:1px solid #dbb641;border-radius:16px;box-shadow:0 0 24px rgba(219,182,65,.12);text-decoration:none;color:#151515}
body.v2-ui .home-main-sponsor img{width:100%;height:96px;object-fit:contain}
body.v2-ui .home-main-sponsor-copy{border-left:1px solid #dedede;padding-left:22px}
body.v2-ui .home-main-sponsor-copy small{display:block;color:#8d6a00;font-weight:950;text-transform:uppercase;letter-spacing:.08em}
body.v2-ui .home-main-sponsor-copy strong{display:block;font-size:1.65rem;margin-top:6px}
body.v2-ui .home-main-sponsor-copy span{display:block;color:#555;margin-top:6px}
body.v2-ui .home-official-sponsors{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
body.v2-ui .home-official-sponsors a{height:78px;background:#fff;border:1px solid #d7dde2;border-radius:12px;padding:10px;display:grid;place-items:center}
body.v2-ui .home-official-sponsors img{width:100%;height:56px;object-fit:contain}
@media(max-width:900px){
 body.v2-ui .sponsor-admin-card{grid-template-columns:22px 105px minmax(0,1fr)}
 body.v2-ui .sponsor-logo-box{width:105px;height:92px}
 body.v2-ui .sponsor-admin-actions{grid-column:2/-1;flex-direction:row;justify-content:space-between;align-items:center;min-width:0}
 body.v2-ui .sponsor-main-badge{margin:0}
 body.v2-ui .sponsor-modal-layout{grid-template-columns:1fr}
 body.v2-ui .home-official-sponsors{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:620px){
 body.v2-ui .sponsor-admin-card{grid-template-columns:18px 78px minmax(0,1fr);gap:10px;padding:12px}
 body.v2-ui .sponsor-logo-box{width:78px;height:72px;padding:8px}
 body.v2-ui .sponsor-admin-copy h3{font-size:1.05rem;margin:5px 0}
 body.v2-ui .sponsor-admin-url{font-size:.72rem}
 body.v2-ui .sponsor-admin-meta{font-size:.7rem;gap:6px}
 body.v2-ui .sponsor-admin-actions{grid-column:1/-1;padding-left:28px}
 body.v2-ui .sponsor-admin-actions .row-actions{width:100%}
 body.v2-ui .sponsor-admin-actions button{min-width:0;flex:1}
 body.v2-ui .home-main-sponsor{grid-template-columns:1fr;padding:16px}
 body.v2-ui .home-main-sponsor-copy{border-left:0;border-top:1px solid #dedede;padding:12px 0 0;text-align:center}
}


/* V2.6.0: team-filtered individual ranking and persistent Admin back control */
body.v2-ui .ranking-filters{grid-template-columns:minmax(180px,1fr) minmax(180px,.72fr) minmax(160px,.55fr)}
body.v2-ui .ranking-context{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 0 12px;padding:13px 16px;border:1px solid color-mix(in srgb,var(--team-color) 62%,#273746);border-left:4px solid var(--team-color);border-radius:13px;background:linear-gradient(90deg,color-mix(in srgb,var(--team-color) 10%,#101922),#101922);color:#fff}
body.v2-ui .ranking-context.hidden{display:none}
body.v2-ui .ranking-context strong{color:var(--team-color);font-size:1rem}
body.v2-ui .ranking-context span{color:#8fa0ad;font-size:.78rem}
body.v2-ui .sidebar-admin-back{width:100%;margin-top:auto;margin-bottom:12px;min-height:44px;justify-content:flex-start;text-align:left;padding:11px 14px;border:1px solid #31414f;background:#111a22;color:#fff;border-radius:12px;font-weight:800}
body.v2-ui .sidebar-admin-back:hover{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 11%,#111a22)}
body.v2-ui .sidebar-admin-back.hidden{display:none!important}
body.v2-ui .sidebar-admin-back:not(.hidden)+.v1-sidebar-credit{margin-top:0}
body.v2-ui .admin-section-back-row{display:none!important}
@media(max-width:760px){
 body.v2-ui .ranking-filters{grid-template-columns:1fr}
 body.v2-ui .ranking-context{align-items:flex-start;flex-direction:column;gap:4px}
 body.v2-ui .sidebar-admin-back{display:flex!important}
 body.v2-ui .sidebar-admin-back.hidden{display:none!important}
}

/* V2.6.4 — stable Home sponsor layout + Admin-back visibility */
body.v2-ui .home-sponsored-card{overflow:hidden}
body.v2-ui #homeSponsorStrip{display:block;width:100%}
body.v2-ui .sponsor-home-showcase{display:grid!important;grid-template-columns:1fr!important;gap:16px!important;width:100%!important;min-width:0!important}
body.v2-ui .sponsor-home-heading{display:flex!important;align-items:flex-end!important;justify-content:space-between!important;gap:14px!important}
body.v2-ui .sponsor-home-heading h3{margin:4px 0 0!important;color:#fff!important;font-size:clamp(1.15rem,2vw,1.45rem)!important}
body.v2-ui .home-main-sponsor{display:grid!important;grid-template-columns:180px minmax(0,1fr)!important;align-items:center!important;gap:24px!important;width:100%!important;min-height:190px!important;padding:22px!important;border:1px solid #705817!important;border-radius:18px!important;background:linear-gradient(145deg,#111b24,#0c151d)!important;color:#fff!important;text-decoration:none!important;box-shadow:inset 4px 0 0 #d4aa27,0 10px 28px rgba(0,0,0,.22)!important;overflow:hidden!important}
body.v2-ui .home-sponsor-logo{display:grid!important;place-items:center!important;width:100%!important;aspect-ratio:1/1!important;padding:12px!important;border:1px solid #d9dee3!important;border-radius:14px!important;background:#fff!important;overflow:hidden!important}
body.v2-ui .home-main-logo{width:180px!important;max-width:100%!important}
body.v2-ui .home-sponsor-logo img{display:block!important;width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;object-fit:contain!important;object-position:center!important;transform:none!important}
body.v2-ui .home-main-sponsor-copy{display:block!important;min-width:0!important;padding:0!important;border:0!important;text-align:left!important}
body.v2-ui .home-main-sponsor-copy small{display:block!important;color:#ffd33d!important;font-size:.75rem!important;font-weight:950!important;letter-spacing:.09em!important;text-transform:uppercase!important}
body.v2-ui .home-main-sponsor-copy strong{display:block!important;margin:8px 0 0!important;color:#fff!important;font-size:clamp(1.6rem,3vw,2.25rem)!important;line-height:1.05!important;overflow-wrap:anywhere!important}
body.v2-ui .home-main-sponsor-copy span{display:block!important;margin-top:10px!important;max-width:720px!important;color:#aebdca!important;font-size:.95rem!important;line-height:1.5!important}
body.v2-ui .home-official-sponsors{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:12px!important;width:100%!important}
body.v2-ui .home-partner-sponsor{display:grid!important;grid-template-rows:auto auto!important;gap:8px!important;min-width:0!important;padding:12px!important;border:1px solid #263746!important;border-radius:14px!important;background:#0d1720!important;color:#fff!important;text-align:center!important;text-decoration:none!important}
body.v2-ui .home-partner-sponsor .home-sponsor-logo{width:100%!important;max-width:150px!important;margin:0 auto!important;padding:10px!important}
body.v2-ui .home-partner-sponsor strong{display:block!important;color:#eaf0f5!important;font-size:.84rem!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
body.v2-ui .sponsor-page-logo{display:grid;place-items:center;aspect-ratio:1/1;background:#fff;border-radius:14px;padding:12px;overflow:hidden}
body.v2-ui .sponsor-page-logo img{width:100%;height:100%;object-fit:contain;object-position:center}
body.v2-ui .sidebar-admin-back{display:none!important}
body.v2-ui #view-admin.active .sidebar-admin-back:not(.hidden){display:flex!important}
@media(max-width:900px){
 body.v2-ui .home-official-sponsors{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:620px){
 body.v2-ui .home-main-sponsor{grid-template-columns:1fr!important;gap:16px!important;padding:16px!important}
 body.v2-ui .home-main-logo{width:min(180px,70vw)!important;margin:0 auto!important}
 body.v2-ui .home-main-sponsor-copy{text-align:center!important}
 body.v2-ui .home-official-sponsors{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}


/* =========================================================
   V2.6.7 — HOME SPONSORS ONLY
   Fixes:
   - Main sponsor logo is never clipped.
   - Event partner cards stay below their heading/content.
   - Partner cards are centred on desktop.
   - Mobile cards do not overlap text or each other.
   ========================================================= */

body.v2-ui .home-sponsored-card,
body.v2-ui #homeSponsorStrip,
body.v2-ui .sponsor-home-showcase {
  min-width: 0 !important;
  overflow: visible !important;
}

body.v2-ui .sponsor-home-showcase {
  display: flex !important;
  flex-direction: column !important;
  gap: 18px !important;
}

/* Main sponsor */
body.v2-ui .home-main-sponsor {
  display: grid !important;
  grid-template-columns: 190px minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 30px !important;
  min-height: 0 !important;
  height: auto !important;
  padding: 20px 28px !important;
  overflow: hidden !important;
}

body.v2-ui .home-main-sponsor .home-main-logo,
body.v2-ui .home-main-sponsor .home-sponsor-logo {
  box-sizing: border-box !important;
  width: 190px !important;
  height: 190px !important;
  min-width: 190px !important;
  max-width: 190px !important;
  aspect-ratio: 1 / 1 !important;
  margin: 0 !important;
  padding: 10px !important;
  overflow: hidden !important;
  align-self: center !important;
}

body.v2-ui .home-main-sponsor .home-sponsor-logo img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: contain !important;
  object-position: 50% 50% !important;
  transform: none !important;
}

/* Event partners */
body.v2-ui .home-official-sponsors {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(150px, 180px)) !important;
  justify-content: center !important;
  align-items: start !important;
  gap: 18px !important;
  width: 100% !important;
  padding: 2px 0 4px !important;
  overflow: visible !important;
}

body.v2-ui .home-partner-sponsor {
  box-sizing: border-box !important;
  display: grid !important;
  grid-template-rows: 150px auto !important;
  align-content: start !important;
  gap: 10px !important;
  width: 100% !important;
  min-width: 0 !important;
  height: auto !important;
  min-height: 196px !important;
  padding: 12px !important;
  overflow: hidden !important;
  position: relative !important;
  isolation: isolate !important;
}

body.v2-ui .home-partner-sponsor .home-sponsor-logo {
  box-sizing: border-box !important;
  display: grid !important;
  place-items: center !important;
  width: 150px !important;
  height: 150px !important;
  max-width: 100% !important;
  aspect-ratio: 1 / 1 !important;
  margin: 0 auto !important;
  padding: 10px !important;
  overflow: hidden !important;
  position: static !important;
  transform: none !important;
}

body.v2-ui .home-partner-sponsor .home-sponsor-logo img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: contain !important;
  object-position: 50% 50% !important;
  transform: none !important;
  position: static !important;
}

body.v2-ui .home-partner-sponsor strong {
  position: static !important;
  z-index: 1 !important;
  min-height: 20px !important;
  margin: 0 !important;
  line-height: 1.25 !important;
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
}

/* Tablet */
@media (max-width: 900px) {
  body.v2-ui .home-main-sponsor {
    grid-template-columns: 170px minmax(0, 1fr) !important;
    gap: 22px !important;
    padding: 18px !important;
  }

  body.v2-ui .home-main-sponsor .home-main-logo,
  body.v2-ui .home-main-sponsor .home-sponsor-logo {
    width: 170px !important;
    height: 170px !important;
    min-width: 170px !important;
    max-width: 170px !important;
  }
}

/* Mobile */
@media (max-width: 620px) {
  body.v2-ui .home-sponsored-card {
    overflow: hidden !important;
  }

  body.v2-ui .sponsor-home-showcase {
    gap: 20px !important;
  }

  body.v2-ui .home-main-sponsor {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 16px !important;
    width: 100% !important;
    padding: 20px 14px 22px !important;
    overflow: hidden !important;
  }

  body.v2-ui .home-main-sponsor .home-main-logo,
  body.v2-ui .home-main-sponsor .home-sponsor-logo {
    width: min(240px, 76vw) !important;
    height: min(240px, 76vw) !important;
    min-width: 0 !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    flex: 0 0 auto !important;
  }

  body.v2-ui .home-main-sponsor-copy {
    width: 100% !important;
    padding: 0 8px !important;
    text-align: center !important;
  }

  body.v2-ui .home-main-sponsor-copy strong {
    font-size: clamp(1.55rem, 7vw, 2rem) !important;
    line-height: 1.12 !important;
  }

  body.v2-ui .home-official-sponsors {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    justify-content: stretch !important;
    gap: 12px !important;
    padding-top: 2px !important;
  }

  body.v2-ui .home-partner-sponsor {
    grid-template-rows: auto auto !important;
    min-height: 0 !important;
    padding: 10px 8px 12px !important;
    gap: 9px !important;
    overflow: hidden !important;
  }

  body.v2-ui .home-partner-sponsor .home-sponsor-logo {
    width: 100% !important;
    height: auto !important;
    max-width: 210px !important;
    aspect-ratio: 1 / 1 !important;
    margin: 0 auto !important;
    padding: 10px !important;
  }

  body.v2-ui .home-partner-sponsor strong {
    display: block !important;
    min-height: 1.25em !important;
    font-size: .92rem !important;
    text-align: center !important;
  }
}

/* Very narrow phones */
@media (max-width: 380px) {
  body.v2-ui .home-official-sponsors {
    grid-template-columns: 1fr !important;
  }

  body.v2-ui .home-partner-sponsor {
    width: min(230px, 100%) !important;
    justify-self: center !important;
  }
}


/* V2.7.1 Competition format + Admin return navigation */
.competition-type-card { margin-bottom: 18px; }
.competition-type-options { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.competition-type-option { display:block; cursor:pointer; }
.competition-type-option input { position:absolute; opacity:0; pointer-events:none; }
.competition-type-option span { display:flex; flex-direction:column; gap:5px; min-height:92px; padding:18px; border:1px solid var(--line,#2c3b49); border-radius:14px; background:#0c1720; transition:.18s ease; }
.competition-type-option small { color:#91a2b3; line-height:1.45; }
.competition-type-option input:checked + span { border-color:var(--primary,#ff6a00); box-shadow:0 0 0 2px color-mix(in srgb,var(--primary,#ff6a00) 24%,transparent); background:color-mix(in srgb,var(--primary,#ff6a00) 8%,#0c1720); }
.sidebar-admin-back { margin-top:auto; margin-inline:12px; width:calc(100% - 24px); flex:0 0 auto; }
.competition-individual .participant-table-head,
.competition-individual .participant-table-row { grid-template-columns:34px 68px minmax(150px,1.6fr) minmax(125px,1fr) minmax(150px,1.1fr) 92px minmax(130px,.9fr) !important; }
.competition-individual .participant-table-head > :nth-child(4),
.competition-individual .participant-table-row > :nth-child(4) { display:none !important; }
@media (max-width:700px){ .competition-type-options{grid-template-columns:1fr;} .competition-type-option span{min-height:0;} }


/* =========================================================
   V2.8 — LIVE PRIMARY METRIC
   Admin can choose Total Points or Average Score as the
   largest value displayed on LIVE team cards.
   ========================================================= */

body.v2-ui .live-primary-metric-setting{
  display:grid;
  gap:10px;
  padding:12px 0 16px;
  margin-bottom:6px;
  border-bottom:1px solid var(--v2-line,#2b3946);
}
body.v2-ui .live-primary-metric-label{
  font-size:.72rem;
  font-weight:950;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--v2-muted,#92a0ad);
}
body.v2-ui .live-primary-metric-options{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
body.v2-ui .live-primary-metric-options label{
  display:block;
  cursor:pointer;
}
body.v2-ui .live-primary-metric-options input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}
body.v2-ui .live-primary-metric-options label>span{
  display:grid;
  gap:3px;
  min-height:64px;
  padding:12px 14px;
  background:#0b151e;
  border:1px solid #30404d;
  border-radius:13px;
  transition:.16s ease;
}
body.v2-ui .live-primary-metric-options label>span strong{
  color:#fff;
}
body.v2-ui .live-primary-metric-options label>span small{
  color:#8fa0ae;
  line-height:1.35;
}
body.v2-ui .live-primary-metric-options input:checked+span{
  border-color:var(--v2-accent,#ff6900);
  background:rgba(255,105,0,.1);
  box-shadow:0 0 0 1px rgba(255,105,0,.2);
}

/* LIVE cards */
body.v2-ui .live-metric-stack{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  align-items:stretch;
  margin:14px 0 10px;
}
body.v2-ui .live-total-metric,
body.v2-ui .live-average-metric{
  display:grid;
  place-content:center;
  min-width:0;
  min-height:88px;
  padding:11px 8px;
  border:1px solid rgba(255,255,255,.1);
  border-radius:14px;
  background:rgba(255,255,255,.035);
}
body.v2-ui .live-total-metric span,
body.v2-ui .live-average-metric span{
  color:var(--muted);
  font-size:.64rem;
  font-weight:950;
  letter-spacing:.08em;
  text-transform:uppercase;
}
body.v2-ui .live-total-metric strong,
body.v2-ui .live-average-metric strong{
  color:#fff;
  font-size:1.55rem;
  line-height:1;
  margin:7px 0 3px;
  letter-spacing:-.04em;
  font-variant-numeric:tabular-nums;
}
body.v2-ui .live-total-metric small,
body.v2-ui .live-average-metric small{
  color:var(--team-color,var(--v2-accent,#ff6900));
  font-size:.67rem;
  font-weight:950;
  text-transform:uppercase;
}

/* Enlarge the chosen metric */
body.v2-ui .live-metric-stack.primary-total .live-total-metric,
body.v2-ui .live-metric-stack.primary-average .live-average-metric{
  grid-row:1 / span 2;
  min-height:132px;
  border-color:var(--team-color,var(--v2-accent,#ff6900));
  background:linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.025));
}
body.v2-ui .live-metric-stack.primary-total .live-total-metric strong,
body.v2-ui .live-metric-stack.primary-average .live-average-metric strong{
  font-size:clamp(2.65rem,6vw,5rem);
}
body.v2-ui .live-metric-stack.primary-total .live-average-metric,
body.v2-ui .live-metric-stack.primary-average .live-total-metric{
  align-self:center;
  min-height:76px;
}

@media(max-width:620px){
  body.v2-ui .live-primary-metric-options{
    grid-template-columns:1fr;
  }
  body.v2-ui .live-metric-stack{
    grid-template-columns:1fr;
  }
  body.v2-ui .live-metric-stack.primary-total .live-total-metric,
  body.v2-ui .live-metric-stack.primary-average .live-average-metric{
    grid-row:auto;
    min-height:112px;
  }
  body.v2-ui .live-metric-stack.primary-total .live-total-metric strong,
  body.v2-ui .live-metric-stack.primary-average .live-average-metric strong{
    font-size:clamp(2.5rem,14vw,4rem);
  }
}


/* =========================================================
   V2.8.1 — RESTORE ORIGINAL LIVE LAYOUT
   Only the large number changes between Total and Average.
   ========================================================= */

/* The Back to Admin button lives in the sidebar, not inside #view-admin. */
body.v2-ui .sidebar-admin-back {
  display: none !important;
}
body.v2-ui.admin-detail-open .sidebar-admin-back:not(.hidden) {
  display: flex !important;
}

/* Preserve the original LIVE card presentation. */
body.v2-ui .live-team-card .team-score {
  font-size: clamp(2.7rem, 7vw, 5rem);
  line-height: .95;
  letter-spacing: -.06em;
  color: #fff;
  margin-top: 10px;
}
body.v2-ui .live-team-card .live-average-score {
  margin-top: 8px;
  color: var(--team-color);
  font-weight: 900;
  font-size: .82rem;
  text-transform: none;
  letter-spacing: .02em;
}

/* Old V2.8 experimental metric boxes are no longer rendered. */
body.v2-ui .live-team-card .live-metric-stack {
  display: contents !important;
}

@media (max-width: 620px) {
  body.v2-ui .live-team-card .team-score {
    font-size: clamp(2rem, 11vw, 3.2rem);
  }
}


/* V2.8.2 LIVE metric labels */
body.v2-ui .live-primary-label{
  margin-top:6px;
  color:var(--team-color);
  font-size:.78rem;
  font-weight:950;
  letter-spacing:.12em;
  text-transform:uppercase;
}
body.v2-ui .live-average-score{
  margin-top:4px;
  opacity:.85;
}


/* =========================================================
   V2.9 — PREVENT OLD LIVE UI FLASH ON REFRESH
   The dynamic LIVE view is revealed only after its current
   teams/settings have been loaded and rendered.
   ========================================================= */

html.live-ui-hydrating body.v2-ui #view-live {
  visibility: hidden !important;
  opacity: 0 !important;
}

html.live-ui-ready body.v2-ui #view-live {
  visibility: visible;
  opacity: 1;
  transition: opacity .12s ease-out;
}

@media (prefers-reduced-motion: reduce) {
  html.live-ui-ready body.v2-ui #view-live {
    transition: none;
  }
}
