:root{--void:#100d0b;--void-2:#15100e;--panel:#211613;--panel-2:#2a1d18;--line:#46352d;--cream:#f5ecdc;--muted:#ad9f96;--red:#d90d35;--red-dark:#9f0827;--gold:#d1a858;--green:#42966f;--shadow:0 24px 80px rgba(0,0,0,.28)}
*{box-sizing:border-box}html{color-scheme:dark}body{margin:0;background:var(--void);color:var(--cream);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:14px}button,input,select{font:inherit}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:Cambria,Georgia,serif}code,.eyebrow{font-family:Consolas,"SFMono-Regular",monospace}.muted{color:var(--muted);line-height:1.7}.eyebrow{color:var(--gold);font-size:11px;letter-spacing:.1em;margin-bottom:7px}.admin-shell{display:grid;grid-template-columns:250px minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;border-right:1px solid var(--line);background:#130f0d;padding:30px 20px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:12px}.brand small{display:block;color:var(--muted);font:8px/1.3 Consolas,monospace;letter-spacing:.12em}.brand strong{display:block;margin-top:3px;font:700 18px/1 Cambria,serif}.brand-mark{width:40px;height:34px;position:relative;display:inline-block;flex:0 0 auto}.brand-mark i{position:absolute;width:22px;height:22px;border-radius:50%;mix-blend-mode:screen}.brand-mark i:nth-child(1){left:0;bottom:0;background:#20b8b2}.brand-mark i:nth-child(2){left:9px;top:1px;background:#ef006f}.brand-mark i:nth-child(3){right:0;top:0;background:#ffc800}.sidebar nav{display:grid;gap:5px;margin-top:52px}.sidebar nav a{padding:13px 14px;border:1px solid transparent;border-radius:8px;color:var(--muted);font-weight:650;display:flex;gap:12px;align-items:center}.sidebar nav a span{font-size:20px;width:22px;text-align:center}.sidebar nav a:hover,.sidebar nav a.active{color:var(--cream);background:var(--panel);border-color:var(--line)}.sidebar nav a.active{box-shadow:inset 3px 0 var(--red)}.sidebar-footer{margin-top:auto;border-top:1px solid var(--line);padding-top:20px}.user-chip{display:flex;align-items:center;gap:10px;margin-bottom:15px}.user-chip>span,.winner-list>div>span{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--red-dark);color:white;font-weight:800}.user-chip strong,.user-chip small{display:block}.user-chip small{font-size:11px;color:var(--muted);margin-top:3px}.text-button{border:0;background:none;color:var(--gold);padding:0;cursor:pointer;font-weight:700}.admin-content{min-width:0}.topbar{height:96px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 38px;background:rgba(16,13,11,.9);position:sticky;top:0;z-index:10;backdrop-filter:blur(12px)}.topbar p{color:var(--gold);font:10px Consolas,monospace;letter-spacing:.12em}.topbar h1{font-size:26px;margin-top:6px}.live-status{display:flex;align-items:center;gap:8px;color:var(--muted)}.live-status span,.status-dot{width:8px;height:8px;background:var(--green);border-radius:50%;box-shadow:0 0 0 5px rgba(66,150,111,.12)}.live-status code{color:var(--gold);margin-left:5px}main{padding:32px 38px 60px}.flash{padding:13px 16px;border-radius:8px;margin-bottom:20px;border:1px solid}.flash.success{background:rgba(66,150,111,.12);border-color:var(--green);color:#80d2ae}.flash.error{background:rgba(217,13,53,.1);border-color:var(--red);color:#ff8ca4}.region-tabs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-bottom:22px}.region-tabs a{border:1px solid var(--line);background:var(--void-2);border-radius:8px;padding:13px 14px;min-height:58px;color:var(--muted);display:flex;align-items:center;gap:7px;font-size:12px}.region-tabs a:hover,.region-tabs a.active{border-color:var(--gold);background:var(--panel);color:var(--cream)}.region-tabs b{color:var(--gold)}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:34px}.stat-grid article{border:1px solid var(--line);background:linear-gradient(145deg,var(--panel-2),var(--panel));padding:20px;border-radius:10px}.stat-grid small,.stat-grid span{display:block;color:var(--muted)}.stat-grid strong{display:block;color:#f0d39b;font:700 32px Cambria,serif;margin:12px 0 7px}.stat-grid span{font-size:11px}.positive{color:var(--green)!important}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;margin:30px 0 14px;gap:20px}.section-heading.compact{margin-top:0}.section-heading h2{font-size:22px}.section-heading>a{color:var(--gold);font-weight:700;font-size:12px}.button{border:1px solid var(--line);border-radius:7px;padding:11px 16px;font-weight:800;display:inline-flex;gap:8px;align-items:center;justify-content:center;cursor:pointer;color:var(--cream);background:var(--panel)}.button:hover{filter:brightness(1.12)}.button.primary{background:var(--red);border-color:var(--red)}.button.gold{background:var(--gold);border-color:var(--gold);color:#18110e}.button.subtle{background:var(--panel)}.button.danger{background:transparent;border-color:var(--red);color:#ff7d98}.button.small{padding:8px 12px;font-size:11px}.button.wide{width:100%}.button:disabled{opacity:.35;cursor:not-allowed}.table-card{border:1px solid var(--line);border-radius:10px;background:var(--panel);overflow:auto}.table-card table{border-collapse:collapse;width:100%;min-width:760px}.table-card th,.table-card td{padding:14px 15px;text-align:left;border-bottom:1px solid var(--line)}.table-card th{background:#291d18;color:var(--cream);font-size:11px;letter-spacing:.03em}.table-card td{color:var(--muted)}.table-card td strong{color:var(--cream)}.table-card tr:last-child td{border-bottom:0}.align-right{text-align:right!important}.region-badge{display:inline-grid;place-items:center;padding:4px 7px;border:1px solid var(--gold);border-radius:5px;color:var(--gold);font:700 10px Consolas,monospace;margin-right:5px}.progress{width:100%;max-width:130px;height:5px;background:#100d0b;border-radius:10px;overflow:hidden}.progress i{display:block;height:100%;background:linear-gradient(90deg,var(--red),var(--gold))}.cell-sub{display:block;color:var(--muted);font-size:10px;margin-top:4px}.status{display:inline-flex;padding:5px 8px;border-radius:20px;font-size:10px;font-weight:800}.status.success{background:rgba(66,150,111,.14);color:#71c9a2}.status.pending{background:rgba(209,168,88,.1);color:var(--gold)}.split-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:22px;margin-top:34px}.stack-list,.winner-list{border:1px solid var(--line);border-radius:10px;background:var(--panel);overflow:hidden}.stack-list>a,.stack-list>div,.winner-list>div{display:flex;align-items:center;gap:14px;padding:14px 16px;border-bottom:1px solid var(--line)}.stack-list>*:last-child,.winner-list>*:last-child{border-bottom:0}.stack-list>a:hover{background:var(--panel-2)}.stack-list div,.winner-list div div{min-width:0;flex:1}.stack-list strong,.stack-list small,.winner-list strong,.winner-list small{display:block}.stack-list small,.winner-list small{color:var(--muted);font-size:10px;margin-top:4px}.stack-list>a>b{color:var(--gold)}.winner-list em{font-style:normal;font-size:10px;color:var(--gold)}.empty{text-align:center!important;padding:28px!important;color:var(--muted)}.filters{display:flex;gap:8px}.filters input{min-width:220px}.filters input,.filters select,input,select{border:1px solid var(--line);background:#140f0d;color:var(--cream);padding:10px 12px;border-radius:7px;outline:0}.filters input:focus,.filters select:focus,input:focus,select:focus{border-color:var(--gold)}.pagination{display:flex;justify-content:space-between;align-items:center;margin-top:18px;color:var(--muted);font-size:12px}.pagination a{color:var(--gold)}.competition-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.competition-card{border:1px solid var(--line);background:var(--panel);border-radius:10px;overflow:hidden}.competition-card header{padding:20px}.competition-card header>span{color:var(--gold);font:10px Consolas,monospace;text-transform:uppercase}.competition-card header>em{float:right}.competition-card h3{font-size:21px;margin:15px 0 7px}.competition-card header small{color:var(--muted)}.competition-card ol{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}.competition-card li{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid var(--line)}.competition-card li:last-child{border-bottom:0}.competition-card li>b{color:var(--gold);font:700 18px Cambria,serif}.competition-card li div{flex:1}.competition-card li strong,.competition-card li small{display:block}.competition-card li small{color:var(--muted);font-size:10px;margin-top:2px}.competition-card li em{font-style:normal;color:var(--gold);font:11px Consolas,monospace}.prize-layout{grid-template-columns:1.4fr .7fr}.prize-list>div>div{flex:1}.form-card{border:1px solid var(--line);background:var(--panel);border-radius:10px;padding:24px}.form-card h2{font-size:24px;margin-bottom:6px}.form-card form,.login-form form{display:grid;gap:14px;margin-top:20px}.form-card label,.login-form label{display:grid;gap:7px;color:var(--muted);font-size:11px}.form-card input,.form-card select,.login-form input{width:100%}.inline-form{display:flex;align-items:center;gap:7px}.inline-form select{padding:7px;font-size:11px}.guest-shell{min-height:100vh;padding:0;display:grid;place-items:center;background:radial-gradient(circle at 0 100%,#2c2116 0,transparent 34%),var(--void)}.login-card{width:min(1000px,calc(100% - 40px));min-height:610px;display:grid;grid-template-columns:1.1fr .9fr;border:1px solid var(--line);background:var(--panel);border-radius:16px;overflow:hidden;box-shadow:var(--shadow)}.login-art{position:relative;overflow:hidden;background:#0e0b0a;padding:70px 54px;display:flex;flex-direction:column;justify-content:flex-end}.login-art .orb{position:absolute;border-radius:50%}.orb-red{width:420px;height:420px;background:#4b0c18;right:-170px;top:-170px}.orb-gold{width:290px;height:290px;background:#312516;left:-150px;bottom:-100px}.login-art p,.login-art h1,.login-art span{position:relative}.login-art p{color:var(--gold);font:10px/1.7 Consolas,monospace;letter-spacing:.12em}.login-art h1{font-size:46px;line-height:1.05;margin:20px 0}.login-art h1 em{color:var(--red);font-style:normal}.login-art span{color:var(--muted)}.login-form{padding:62px 50px;display:flex;flex-direction:column;justify-content:center}.login-form>.brand{margin-bottom:56px}.login-form h2{font-size:30px;margin-bottom:8px}.login-form .check{display:flex;grid-template-columns:16px 1fr;align-items:center}.login-form .check input{width:auto}.demo-hint{display:block;text-align:center;color:var(--muted);margin-top:15px}.live-page{min-height:100vh;overflow:hidden;background:radial-gradient(circle,#320812 0,#120d0b 55%);position:relative}.live-page header{height:82px;padding:0 40px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;color:var(--muted)}.live-page header .brand strong{font-family:Cambria,serif;color:var(--cream)}.live-page main{min-height:calc(100vh - 140px);padding:40px;display:flex;align-items:center;flex-direction:column;text-align:center}.live-page .eyebrow{font-size:14px}.tier-row{display:flex;gap:10px;margin:25px 0}.tier-row span{border:1px solid var(--line);padding:10px 36px;border-radius:7px;color:var(--muted)}.tier-row span.active{background:var(--red-dark);border-color:var(--red);color:white}.winner-medal{width:360px;height:360px;border:4px solid var(--gold);border-radius:50%;display:grid;place-items:center;background:var(--panel);box-shadow:0 0 80px rgba(217,13,53,.24),inset 0 0 0 20px #130f0d;margin:10px}.winner-medal>div{width:290px;height:290px;border:1px dashed var(--gold);border-radius:50%;display:flex;align-items:center;justify-content:center;flex-direction:column}.winner-medal small{color:var(--gold);letter-spacing:.2em}.winner-medal h1{font-size:43px;margin:16px 0}.winner-medal code{color:var(--muted)}.prize-caption{color:var(--muted);font:16px Consolas,monospace;margin:22px}.prize-caption strong{color:var(--gold)}.live-page footer{height:58px;padding:0 40px;color:var(--muted);font:11px Consolas,monospace}.confetti i{position:absolute;width:8px;height:16px;background:var(--red);animation:fall 5s infinite linear}.confetti i:nth-child(1){left:12%;animation-delay:-1s}.confetti i:nth-child(2){left:26%;background:var(--gold);animation-delay:-3s}.confetti i:nth-child(3){left:43%;animation-delay:-2s}.confetti i:nth-child(4){left:65%;background:var(--gold);animation-delay:-4s}.confetti i:nth-child(5){left:78%;animation-delay:-.5s}.confetti i:nth-child(6){left:91%;background:var(--cream);animation-delay:-2.5s}@keyframes fall{from{top:-30px;transform:rotate(0)}to{top:110vh;transform:rotate(540deg)}}
@media(max-width:1050px){.admin-shell{grid-template-columns:84px 1fr}.sidebar{padding:24px 12px}.sidebar .brand span:last-child,.sidebar nav a:not(.active){font-size:0}.sidebar nav a{justify-content:center}.sidebar-footer .user-chip div,.sidebar-footer .text-button{display:none}.region-tabs{grid-template-columns:repeat(3,1fr)}.competition-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.admin-shell{display:block}.sidebar{position:fixed;z-index:30;top:auto;bottom:0;width:100%;height:70px;display:block;padding:8px;border:0;border-top:1px solid var(--line)}.sidebar>.brand,.sidebar-footer{display:none}.sidebar nav{margin:0;display:flex;justify-content:space-around}.sidebar nav a{padding:9px;font-size:0}.sidebar nav a span{font-size:21px}.topbar{height:78px;padding:0 18px}.topbar .live-status{display:none}.topbar h1{font-size:21px}main{padding:22px 18px 100px}.region-tabs{display:flex;overflow:auto}.region-tabs a{min-width:160px}.stat-grid{grid-template-columns:1fr 1fr;gap:10px}.stat-grid strong{font-size:26px}.split-grid,.prize-layout{grid-template-columns:1fr}.competition-grid{grid-template-columns:1fr}.section-heading{align-items:flex-start;flex-direction:column}.filters{width:100%;flex-wrap:wrap}.filters input{min-width:0;flex:1}.login-card{grid-template-columns:1fr}.login-art{display:none}.login-form{padding:40px 28px}.login-form>.brand{margin-bottom:40px}.live-page header{padding:0 18px}.live-page header>a{font-size:0}.live-page header>a:after{content:'←';font-size:20px}.live-page main{padding:25px 12px}.tier-row span{padding:8px;font-size:10px}.winner-medal{width:280px;height:280px}.winner-medal>div{width:225px;height:225px}.winner-medal h1{font-size:33px}}

/* Venue check-in */
.venue-card {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(360px, .8fr);
    gap: 28px;
    margin: 0 0 30px;
    padding: 25px;
    border: 1px solid var(--line);
    border-radius: 12px;
    background: linear-gradient(135deg, var(--panel), #261817);
}
.venue-summary h2 { margin-bottom: 10px; font-size: 24px; }
.venue-current {
    display: grid;
    gap: 5px;
    margin-top: 20px;
    padding: 16px;
    border-left: 3px solid var(--gold);
    background: rgba(0, 0, 0, .18);
}
.venue-current > span { color: var(--gold); font: 10px Consolas, monospace; text-transform: uppercase; }
.venue-current > strong { font-size: 16px; }
.venue-current > small { color: var(--muted); }
.venue-current > a { width: fit-content; margin-top: 4px; color: var(--gold); font-size: 11px; font-weight: 700; }
.venue-current .venue-warning { color: #ff8ca4; }
.venue-form { display: grid; gap: 13px; }
.venue-form label,
.action-panel label { display: grid; gap: 6px; color: var(--muted); font-size: 11px; }
.venue-form input,
.action-panel input,
.action-panel select { width: 100%; }
.venue-form label > small { line-height: 1.5; }
.coordinate-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }

/* Competition administration */
.competition-admin-grid { display: grid; gap: 22px; }
.competition-manage-card { overflow: hidden; border: 1px solid var(--line); border-radius: 12px; background: var(--panel); }
.competition-manage-card > header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
    padding: 22px 24px;
    border-bottom: 1px solid var(--line);
    background: linear-gradient(120deg, #2b1b18, var(--panel));
}
.competition-category { margin-right: 8px; color: var(--gold); font: 10px Consolas, monospace; text-transform: uppercase; }
.competition-manage-card h3 { margin: 11px 0 7px; font-size: 23px; }
.competition-manage-card header small { color: var(--muted); }
.competition-state { display: grid; justify-items: end; gap: 8px; white-space: nowrap; }
.support-state { font-size: 10px; font-weight: 750; }
.support-state.open { color: #71c9a2; }
.support-state.closed { color: var(--muted); }
.winner-banner {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 12px;
    padding: 13px 24px;
    border-bottom: 1px solid rgba(209, 168, 88, .35);
    background: rgba(209, 168, 88, .08);
}
.winner-banner span { color: var(--gold); font: 10px Consolas, monospace; letter-spacing: .08em; }
.winner-banner strong { color: #f0d39b; }
.winner-banner small { color: var(--muted); }
.competition-video-panel {
    display: grid;
    grid-template-columns: minmax(210px, .8fr) minmax(300px, 1.2fr) auto;
    align-items: end;
    gap: 14px 20px;
    padding: 18px 24px;
    border-bottom: 1px solid var(--line);
    background: rgba(0, 0, 0, .12);
}
.competition-video-copy { display: grid; gap: 6px; }
.competition-video-copy h4 { margin: 3px 0 0; font: 700 16px Cambria, serif; }
.competition-video-copy h4 span { color: var(--muted); font: 400 10px Inter, sans-serif; }
.competition-video-copy p { color: var(--muted); font-size: 10px; line-height: 1.5; }
.competition-video-copy a { width: fit-content; color: var(--gold); font-size: 10px; font-weight: 750; }
.video-kicker { color: var(--gold); font: 9px Consolas, monospace; letter-spacing: .08em; }
.competition-video-form { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: 9px; }
.competition-video-form label { display: grid; gap: 6px; color: var(--muted); font-size: 11px; }
.competition-video-form input { width: 100%; }
.competition-video-clear { padding-bottom: 12px; }
.competition-video-clear .text-button { min-height: 44px; padding: 0 5px; color: #ff8ca4; white-space: nowrap; }
.competition-entries { padding: 20px 24px; }
.subsection-title { display: flex; align-items: center; justify-content: space-between; margin-bottom: 10px; }
.subsection-title h4,
.action-panel h4 { margin: 0; font: 700 16px Cambria, serif; }
.subsection-title > span { color: var(--muted); font-size: 10px; }
.entry-list { overflow: hidden; border: 1px solid var(--line); border-radius: 8px; }
.entry-row { display: flex; align-items: center; gap: 12px; padding: 11px 13px; border-bottom: 1px solid var(--line); }
.entry-row:last-child { border-bottom: 0; }
.entry-row.is-winner { background: rgba(209, 168, 88, .08); }
.entry-avatar { display: grid; flex: 0 0 32px; width: 32px; height: 32px; place-items: center; border-radius: 50%; background: var(--red-dark); color: white; font-weight: 800; }
.entry-identity { min-width: 0; flex: 1; }
.entry-identity strong,
.entry-identity small,
.entry-support small { display: block; }
.entry-identity small { overflow: hidden; margin-top: 3px; color: var(--muted); font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.entry-support { min-width: 72px; text-align: right; }
.entry-support b { color: var(--gold); }
.entry-support small { color: var(--muted); font-size: 9px; }
.icon-button { width: 30px; height: 30px; border: 1px solid var(--line); border-radius: 6px; background: transparent; color: var(--muted); cursor: pointer; }
.icon-button.danger:hover { border-color: var(--red); color: #ff8ca4; }
.icon-button:disabled { opacity: .25; cursor: not-allowed; }
.compact-empty { margin: 0; }
.competition-actions { display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid var(--line); }
.action-panel { display: grid; align-content: start; gap: 12px; padding: 20px 24px 24px; }
.action-panel + .action-panel { border-left: 1px solid var(--line); }
.action-panel label span { color: #786d66; }
.winner-panel { background: rgba(209, 168, 88, .035); }
.winner-panel > p { color: var(--muted); font-size: 11px; line-height: 1.5; }

@media (max-width: 900px) {
    .venue-card { grid-template-columns: 1fr; }
    .competition-video-panel { grid-template-columns: 1fr; align-items: stretch; }
    .competition-video-clear { padding: 0; }
}
@media (max-width: 760px) {
    .venue-card { padding: 19px; }
    .coordinate-grid,
    .competition-actions { grid-template-columns: 1fr; }
    .competition-manage-card > header { flex-direction: column; padding: 19px; }
    .competition-state { justify-items: start; }
    .competition-entries { padding: 16px; }
    .competition-video-panel { padding: 17px 16px; }
    .competition-video-form { grid-template-columns: 1fr; }
    .competition-video-form .button { width: 100%; }
    .action-panel { padding: 18px; }
    .action-panel + .action-panel { border-top: 1px solid var(--line); border-left: 0; }
    .winner-banner { grid-template-columns: auto 1fr; padding: 13px 18px; }
    .winner-banner small { grid-column: 2; }
    .entry-support { display: none; }
}

/* Weighted check-in and live draw */
[hidden] { display: none !important; }
.section-description { max-width: 680px; margin-top: 7px; color: var(--muted); font-size: 12px; line-height: 1.55; }
.ticket-count { color: var(--gold) !important; font: 700 22px Cambria, Georgia, serif; }
.draw-rule-note { display: grid; gap: 4px; padding: 12px 14px; border: 1px solid rgba(209, 168, 88, .35); border-radius: 8px; background: rgba(209, 168, 88, .07); }
.draw-rule-note strong { color: var(--gold); font-size: 11px; }
.draw-rule-note span { color: var(--muted); font-size: 10px; line-height: 1.55; }

.live-page { min-height: 100vh; overflow-x: hidden; overflow-y: auto; background: radial-gradient(circle at 50% 42%, #3b0915 0, #160e0d 45%, #0e0b0a 100%); }
.live-page::before { position: fixed; inset: 0; z-index: -1; background-image: linear-gradient(rgba(209,168,88,.025) 1px, transparent 1px), linear-gradient(90deg, rgba(209,168,88,.025) 1px, transparent 1px); background-size: 42px 42px; content: ''; }
.live-page .live-header { position: relative; z-index: 5; height: 82px; padding: 0 40px; border-bottom: 1px solid var(--line); background: rgba(14, 11, 10, .74); backdrop-filter: blur(12px); }
.live-stage { position: relative; z-index: 2; min-height: calc(100vh - 140px); padding: 34px 24px 38px !important; }
.live-page .tier-row { margin: 18px 0; }
.live-page .tier-row span { min-width: 150px; padding: 9px 20px; }
.draw-metrics { display: grid; grid-template-columns: repeat(3, minmax(150px, 1fr)); width: min(700px, 100%); margin: 0 auto 18px; overflow: hidden; border: 1px solid var(--line); border-radius: 10px; background: rgba(33, 22, 19, .86); }
.draw-metrics > div { display: grid; gap: 2px; padding: 12px 18px; }
.draw-metrics > div + div { border-left: 1px solid var(--line); }
.draw-metrics small { color: var(--muted); font: 9px Consolas, monospace; letter-spacing: .08em; }
.draw-metrics strong { color: var(--gold); font: 700 21px Cambria, Georgia, serif; }
.draw-metrics span { color: var(--muted); font-size: 9px; }
.draw-status { min-height: 20px; margin-bottom: 8px; color: var(--muted); font-size: 11px; }
.live-page .draw-medal { width: 330px; height: 330px; transition: border-color .25s ease, box-shadow .25s ease, transform .25s ease; }
.live-page .draw-medal > div { width: 265px; height: 265px; padding: 26px; }
.live-page .draw-medal h1 { overflow-wrap: anywhere; font-size: clamp(29px, 4vw, 41px); line-height: 1.05; }
.draw-medal.is-shuffling { border-color: var(--red); box-shadow: 0 0 90px rgba(217, 13, 53, .38), inset 0 0 0 20px #130f0d; animation: draw-pulse 1.1s ease-in-out infinite; }
.draw-medal.is-revealed { border-color: #f4d996; box-shadow: 0 0 105px rgba(209,168,88,.4), 0 0 32px rgba(217,13,53,.28), inset 0 0 0 20px #130f0d; transform: scale(1.025); }
.winner-ticket { margin-top: 12px; padding: 5px 9px; border: 1px solid rgba(209,168,88,.5); border-radius: 20px; color: #f4d996; font: 700 10px Consolas, monospace; }
.live-page .prize-caption { margin: 17px 0 15px; }
.draw-controls { display: flex; justify-content: center; gap: 10px; min-height: 43px; }
.draw-start { min-width: 210px; }
.draw-integrity { width: min(720px, 100%); margin-top: 22px; padding: 12px 16px; border: 1px solid rgba(209,168,88,.24); border-radius: 8px; background: rgba(14,11,10,.55); text-align: left; }
.draw-integrity strong { display: block; margin-bottom: 4px; color: var(--gold); font-size: 10px; text-transform: uppercase; letter-spacing: .08em; }
.draw-integrity p { color: var(--muted); font-size: 10px; line-height: 1.55; }
.draw-noscript { margin-top: 12px; color: #ff8ca4; }
.live-page .live-footer { position: relative; z-index: 2; display: flex; align-items: center; justify-content: center; height: 58px; padding: 0 24px; text-align: center; }
.sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0, 0, 0, 0) !important; white-space: nowrap !important; border: 0 !important; }
.confetti { position: fixed; inset: 0; z-index: 20; display: none; overflow: hidden; pointer-events: none; }
.confetti.is-active { display: block; }
.confetti i { position: absolute; top: -30px; width: 9px; height: 18px; border-radius: 2px; background: var(--red); animation: live-confetti-fall 3s linear 2 both; }
.confetti i:nth-child(3n + 2) { background: var(--gold); }
.confetti i:nth-child(3n) { background: var(--cream); }
.confetti i:nth-child(4n) { width: 13px; height: 13px; border-radius: 50%; }

@keyframes draw-pulse { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.018); } }
@keyframes live-confetti-fall { from { top: -30px; transform: translateX(0) rotate(0deg); } to { top: 110vh; transform: translateX(80px) rotate(720deg); } }

@media (max-width: 760px) {
    .section-heading .section-description { max-width: none; }
    .live-page .live-header { height: 70px; padding: 0 16px; }
    .live-page .live-header code { display: none; }
    .live-stage { padding: 24px 12px 28px !important; }
    .live-page .tier-row { width: 100%; overflow-x: auto; justify-content: flex-start; padding-bottom: 3px; }
    .live-page .tier-row span { min-width: 112px; }
    .draw-metrics { grid-template-columns: repeat(3, minmax(96px, 1fr)); }
    .draw-metrics > div { padding: 10px 7px; }
    .draw-metrics strong { font-size: 18px; }
    .live-page .draw-medal { width: 270px; height: 270px; }
    .live-page .draw-medal > div { width: 216px; height: 216px; padding: 21px; }
    .live-page .draw-medal h1 { margin: 12px 0; font-size: 29px; }
    .draw-controls { width: 100%; flex-wrap: wrap; }
    .draw-controls .button { flex: 1 1 160px; }
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

/* Mobile and tablet usability */
html { min-width: 320px; min-height: 100%; -webkit-text-size-adjust: 100%; }
body { min-height: 100%; overflow-wrap: anywhere; }
button,
input,
select,
textarea,
summary { touch-action: manipulation; }
input:not([type='checkbox']):not([type='hidden']),
select,
textarea,
.button { min-height: 44px; }
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
summary:focus-visible,
a:focus-visible,
[tabindex='0']:focus-visible { outline: 3px solid rgba(209, 168, 88, .72); outline-offset: 3px; }
.skip-link { position: fixed; top: max(8px, env(safe-area-inset-top)); left: 12px; z-index: 100; padding: 11px 15px; border-radius: 7px; background: var(--gold); color: #18110e; font-weight: 800; transform: translateY(-180%); transition: transform .18s ease; }
.skip-link:focus { transform: translateY(0); }
.sidebar nav a .nav-icon { flex: 0 0 22px; width: 22px; font-size: 20px; text-align: center; }
.sidebar nav a .nav-label { width: auto; font-size: inherit; text-align: left; }
.sidebar nav a.nav-secondary .nav-icon { color: var(--gold); }
.topbar-account { position: relative; display: none; }
.topbar-account summary { display: flex; min-width: 44px; min-height: 44px; align-items: center; justify-content: center; gap: 8px; border: 1px solid var(--line); border-radius: 9px; background: var(--panel); cursor: pointer; list-style: none; }
.topbar-account summary::-webkit-details-marker { display: none; }
.topbar-account summary > span { display: grid; width: 32px; height: 32px; place-items: center; border-radius: 50%; background: var(--red-dark); color: #fff; font-weight: 800; }
.topbar-account summary > b { max-width: 130px; padding-right: 10px; overflow: hidden; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.topbar-account > div { position: absolute; top: calc(100% + 8px); right: 0; width: min(250px, calc(100vw - 28px)); padding: 14px; border: 1px solid var(--line); border-radius: 10px; background: #1c1411; box-shadow: var(--shadow); }
.topbar-account > div small { display: block; margin-bottom: 12px; color: var(--muted); }
.table-card { scrollbar-color: var(--gold) var(--panel); scrollbar-width: thin; -webkit-overflow-scrolling: touch; }
.table-card:focus-visible { border-color: var(--gold); }
.table-card::after { position: sticky; right: 0; display: block; width: 26px; height: 1px; content: ''; }
.pagination a { display: inline-flex; min-height: 44px; align-items: center; padding: 0 8px; }
.inline-form .text-button { min-height: 44px; padding: 0 8px; }
.icon-button { min-width: 44px; min-height: 44px; }
.login-form .flash { margin-top: 18px; margin-bottom: 0; }
.section-heading > a { display: inline-flex; min-height: 44px; align-items: center; }
.draw-medal:focus { outline: 3px solid rgba(244, 217, 150, .7); outline-offset: 5px; }

@media (min-width: 761px) {
    .sidebar { overflow-x: hidden; overflow-y: auto; overscroll-behavior: contain; scrollbar-color: var(--gold) #130f0d; scrollbar-width: thin; }
    .sidebar nav,
    .sidebar-footer { flex: 0 0 auto; }
}

@media (min-width: 761px) and (max-width: 1100px) {
    .admin-shell { grid-template-columns: 88px minmax(0, 1fr); }
    .sidebar { padding: 24px 12px; }
    .sidebar .brand { justify-content: center; }
    .sidebar .brand > span:last-child,
    .sidebar-footer { display: none; }
    .sidebar nav { margin-top: 42px; }
    .sidebar nav a,
    .sidebar nav a:not(.active) { min-height: 56px; flex-direction: column; justify-content: center; gap: 2px; padding: 7px 3px; font-size: 9px; }
    .sidebar nav a .nav-label { position: static; display: block; width: 100%; height: auto; padding: 0; margin: 0; overflow: hidden; clip: auto; font-size: 9px; line-height: 1.15; text-align: center; text-overflow: ellipsis; white-space: nowrap; border: 0; }
    .topbar { height: 86px; padding: 0 24px; }
    .topbar-account { display: block; }
    .topbar .live-status { display: none; }
    main { padding: 26px 24px 52px; }
    .stat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
    .split-grid,
    .prize-layout { grid-template-columns: 1fr; }
    .competition-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .region-tabs { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (min-width: 761px) and (max-width: 900px) {
    .filter-heading { flex-direction: column; align-items: stretch; }
    .filter-heading > div { width: 100%; }
    .filter-heading .filters { display: grid; width: 100%; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); gap: 8px; }
    .filter-heading .filters input,
    .filter-heading .filters select { width: 100%; min-width: 0; }
    .filter-heading .filters .button { width: 100%; grid-column: 1 / -1; }
    .responsive-table { overflow: visible; border: 0; background: transparent; }
    .responsive-table::after { display: none; }
    .responsive-table table,
    .responsive-table tbody { display: block; width: 100%; min-width: 0; }
    .responsive-table thead { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
    .responsive-table tbody { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
    .responsive-table tr { display: block; overflow: hidden; border: 1px solid var(--line); border-radius: 10px; background: var(--panel); }
    .responsive-table td { position: relative; display: block; min-height: 48px; padding: 13px 14px 13px 43%; border-bottom: 1px solid var(--line); text-align: right !important; }
    .responsive-table td::before { position: absolute; top: 14px; left: 14px; width: calc(43% - 24px); color: var(--muted); content: attr(data-label); font-size: 10px; font-weight: 750; line-height: 1.4; text-align: left; text-transform: uppercase; letter-spacing: .04em; }
    .responsive-table td:last-child { border-bottom: 0; }
    .responsive-table td .cell-sub { overflow-wrap: anywhere; }
    .responsive-table td .progress { margin-left: auto; }
    .responsive-table td > form { width: 100%; }
    .responsive-table td .inline-form { justify-content: flex-end; flex-wrap: wrap; }
    .responsive-table td .inline-form select { min-width: 0; max-width: 100%; flex: 1 1 140px; }
    .responsive-table td[data-label='Tindakan'] .button { width: 100%; }
    .responsive-table td.empty { min-height: 0; padding: 25px 16px !important; text-align: center !important; }
    .responsive-table td.empty::before { display: none; }
}

@media (min-width: 761px) and (max-width: 900px) and (orientation: portrait) {
    .guest-shell { min-height: 100dvh; padding: max(22px, env(safe-area-inset-top)) max(22px, env(safe-area-inset-right)) max(22px, env(safe-area-inset-bottom)) max(22px, env(safe-area-inset-left)); }
    .login-card { width: min(600px, 100%); min-height: 0; grid-template-columns: 1fr; }
    .login-art { min-height: 180px; padding: 30px; }
    .login-art h1 { margin-block: 12px 0; font-size: 32px; }
    .login-art span { display: none; }
    .login-form { padding: 36px 42px 40px; }
    .login-form > .brand { margin-bottom: 36px; }
    .login-form input:not([type='checkbox']):not([type='hidden']),
    .login-form select { font-size: 16px; }
}

@media (max-width: 760px) {
    body { min-height: 100dvh; }
    .admin-shell { min-height: 100dvh; }
    .sidebar { height: calc(76px + env(safe-area-inset-bottom)); padding-top: 5px; padding-right: max(4px, env(safe-area-inset-right)); padding-bottom: max(5px, env(safe-area-inset-bottom)); padding-left: max(4px, env(safe-area-inset-left)); background: rgba(19, 15, 13, .97); backdrop-filter: blur(16px); }
    .sidebar nav { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); width: 100%; height: 66px; gap: 0; }
    .sidebar nav a,
    .sidebar nav a:not(.active) { position: relative; display: flex; min-width: 0; min-height: 62px; flex-direction: column; justify-content: center; gap: 2px; padding: 5px 2px; border: 0; border-radius: 7px; font-size: 10px; line-height: 1.1; }
    .sidebar nav a.active { border: 0; background: rgba(217, 13, 53, .13); box-shadow: inset 0 3px var(--red); }
    .sidebar nav a.mobile-parent-active { color: var(--cream); background: rgba(217, 13, 53, .13); box-shadow: inset 0 3px var(--red); }
    .sidebar nav a .nav-icon { width: auto; height: 25px; flex: 0 0 25px; font-size: 21px; line-height: 25px; }
    .sidebar nav a .nav-label { display: block; width: 100%; overflow: hidden; color: inherit; font-size: 9px; font-weight: 700; text-align: center; text-overflow: ellipsis; white-space: nowrap; }
    .topbar { height: calc(76px + env(safe-area-inset-top)); min-height: 76px; padding-top: env(safe-area-inset-top); padding-right: max(14px, env(safe-area-inset-right)); padding-bottom: 0; padding-left: max(14px, env(safe-area-inset-left)); gap: 10px; }
    .topbar > div:first-child { min-width: 0; }
    .topbar p { overflow: hidden; font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }
    .topbar h1 { overflow: hidden; font-size: clamp(18px, 5.7vw, 22px); line-height: 1.12; text-overflow: ellipsis; white-space: nowrap; }
    .topbar-account { display: block; flex: 0 0 auto; }
    .topbar-account summary > b { display: none; }
    .topbar-account > div { top: calc(100% + 7px); }
    main { padding: 20px max(14px, env(safe-area-inset-right)) calc(102px + env(safe-area-inset-bottom)) max(14px, env(safe-area-inset-left)); }
    input:not([type='checkbox']):not([type='hidden']),
    select { font-size: 16px; }
    .flash { line-height: 1.5; }
    .region-tabs { margin-inline: -14px; padding: 0 14px 5px; scroll-padding-inline: 14px; scroll-snap-type: x proximity; }
    .region-tabs a { min-width: min(158px, 72vw); min-height: 52px; scroll-snap-align: start; }
    .stat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); margin-bottom: 26px; }
    .stat-grid article { min-width: 0; padding: 16px 14px; }
    .stat-grid strong { margin: 9px 0 5px; }
    .section-heading { margin: 24px 0 12px; gap: 13px; }
    .section-heading h2 { font-size: 21px; line-height: 1.18; }
    .section-heading > div { width: 100%; }
    .section-heading > .button { width: 100%; }
    .section-description,
    .section-heading .muted { font-size: 12px; line-height: 1.6; }
    .filters { display: grid; width: 100%; grid-template-columns: minmax(0, 1fr); gap: 9px; }
    .filters input,
    .filters select,
    .filters .button { width: 100%; min-width: 0; }
    .split-grid,
    .prize-layout { margin-top: 26px; gap: 24px; }
    .stack-list > a,
    .stack-list > div,
    .winner-list > div { min-height: 54px; padding: 13px 14px; }
    .form-card { padding: 20px 17px; }
    .form-card h2 { font-size: 22px; }
    .venue-card { margin-bottom: 25px; padding: 18px 16px; gap: 22px; }
    .venue-summary h2 { font-size: 22px; }
    .venue-current { padding: 14px; }
    .venue-current > a { display: inline-flex; min-height: 44px; align-items: center; }
    .venue-form { gap: 15px; }
    .venue-form .button { width: 100%; }
    .coordinate-grid { gap: 14px; }
    .competition-manage-card > header { gap: 14px; }
    .competition-state { display: flex; width: 100%; align-items: center; justify-content: space-between; }
    .competition-entries { padding: 15px 13px; }
    .entry-row { display: grid; grid-template-columns: 36px minmax(0, 1fr) 44px; gap: 8px 10px; padding: 12px 10px; }
    .entry-avatar { grid-column: 1; grid-row: 1 / span 2; }
    .entry-identity { grid-column: 2; grid-row: 1; }
    .entry-support { display: block; grid-column: 2; grid-row: 2; min-width: 0; text-align: left; }
    .entry-support b,
    .entry-support small { display: inline; }
    .entry-support small { margin-left: 4px; }
    .entry-row > form { grid-column: 3; grid-row: 1 / span 2; align-self: center; }
    .winner-banner { gap: 7px 10px; }
    .action-panel { padding: 18px 16px; }
    .prize-list > div { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 10px; }
    .prize-list > div > form { grid-column: 1 / -1; width: 100%; }
    .prize-list > div > form .button { width: 100%; }
    .pagination { flex-wrap: wrap; justify-content: center; gap: 4px 10px; text-align: center; }
    .pagination span { flex: 1 0 100%; order: -1; }
    .responsive-table { overflow: visible; border: 0; background: transparent; }
    .responsive-table::after { display: none; }
    .responsive-table table,
    .responsive-table tbody { display: block; width: 100%; min-width: 0; }
    .responsive-table thead { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
    .responsive-table tbody { display: grid; gap: 12px; }
    .responsive-table tr { display: block; overflow: hidden; border: 1px solid var(--line); border-radius: 10px; background: var(--panel); }
    .responsive-table td { position: relative; display: block; min-height: 48px; padding: 13px 14px 13px 43%; border-bottom: 1px solid var(--line); text-align: right !important; }
    .responsive-table td::before { position: absolute; top: 14px; left: 14px; width: calc(43% - 24px); color: var(--muted); content: attr(data-label); font-size: 10px; font-weight: 750; line-height: 1.4; text-align: left; text-transform: uppercase; letter-spacing: .04em; }
    .responsive-table td:last-child { border-bottom: 0; }
    .responsive-table td .cell-sub { overflow-wrap: anywhere; }
    .responsive-table td .progress { margin-left: auto; }
    .responsive-table td > form { width: 100%; }
    .responsive-table td .inline-form { justify-content: flex-end; flex-wrap: wrap; }
    .responsive-table td .inline-form select { min-width: 0; max-width: 100%; flex: 1 1 140px; }
    .responsive-table td[data-label='Tindakan'] .button { width: 100%; }
    .responsive-table td.empty { min-height: 0; padding: 25px 16px !important; text-align: center !important; }
    .responsive-table td.empty::before { display: none; }
    .guest-shell { min-height: 100dvh; padding: max(14px, env(safe-area-inset-top)) max(14px, env(safe-area-inset-right)) max(14px, env(safe-area-inset-bottom)) max(14px, env(safe-area-inset-left)); align-items: start; }
    .login-card { width: min(560px, 100%); min-height: 0; grid-template-columns: 1fr; border-radius: 13px; }
    .login-art { display: flex; min-height: 150px; padding: 24px; justify-content: flex-end; }
    .login-art h1 { margin: 10px 0 0; font-size: 28px; line-height: 1.02; }
    .login-art span { display: none; }
    .login-art .orb-red { width: 240px; height: 240px; right: -105px; top: -120px; }
    .login-art .orb-gold { width: 180px; height: 180px; left: -100px; bottom: -100px; }
    .login-form { padding: 27px 22px 28px; }
    .login-form > .brand { margin-bottom: 30px; }
    .login-form h2 { font-size: 27px; }
    .login-form form { gap: 16px; }
    .login-form input:not([type='checkbox']) { min-height: 48px; }
    .login-form .check { min-height: 44px; grid-template-columns: 24px 1fr; cursor: pointer; }
    .login-form .check input { width: 20px; height: 20px; }
    .live-page { min-height: 100dvh; padding-top: env(safe-area-inset-top); padding-right: env(safe-area-inset-right); padding-left: env(safe-area-inset-left); }
    .live-page .live-header { height: 68px; min-height: 68px; padding: 0 14px; gap: 9px; }
    .live-page .live-header .brand { min-width: 0; }
    .live-page .live-header > a { display: grid; width: 44px; height: 44px; flex: 0 0 44px; place-items: center; }
    .live-page .live-header .brand strong { overflow: hidden; font-size: 13px; text-overflow: ellipsis; white-space: nowrap; }
    .live-stage { min-height: calc(100dvh - 126px - env(safe-area-inset-top) - env(safe-area-inset-bottom)); padding: 21px 12px 24px !important; }
    .live-page .eyebrow { font-size: 11px; line-height: 1.5; }
    .live-page .tier-row { margin: 13px -12px; padding: 0 12px 4px; scroll-padding-inline: 12px; scroll-snap-type: x proximity; }
    .live-page .tier-row span { display: inline-flex; min-width: 118px; min-height: 44px; align-items: center; justify-content: center; scroll-snap-align: center; }
    .draw-metrics { margin-bottom: 14px; }
    .draw-metrics > div { min-width: 0; }
    .draw-metrics small,
    .draw-metrics span { overflow-wrap: normal; }
    .live-page .draw-medal { width: min(270px, 82vw); height: min(270px, 82vw); margin: 7px auto; }
    .live-page .draw-medal > div { width: min(216px, 66vw); height: min(216px, 66vw); }
    .draw-controls { min-height: 48px; }
    .draw-controls .button { min-height: 48px; }
    .draw-integrity { margin-top: 18px; padding: 12px 13px; }
    .live-page .live-footer { height: auto; min-height: calc(58px + env(safe-area-inset-bottom)); padding: 12px 16px max(12px, env(safe-area-inset-bottom)); line-height: 1.5; }
}

@media (max-width: 380px) {
    .topbar { padding-right: max(11px, env(safe-area-inset-right)); padding-left: max(11px, env(safe-area-inset-left)); }
    .topbar p { max-width: 195px; }
    main { padding-right: max(11px, env(safe-area-inset-right)); padding-left: max(11px, env(safe-area-inset-left)); }
    .region-tabs { margin-inline: -11px; padding-inline: 11px; }
    .stat-grid { gap: 8px; }
    .stat-grid article { padding: 14px 11px; }
    .stat-grid small { font-size: 10px; }
    .stat-grid strong { font-size: 25px; }
    .responsive-table td { padding-left: 41%; }
    .responsive-table td::before { width: calc(41% - 22px); }
    .login-art { min-height: 128px; padding: 19px; }
    .login-art h1 { font-size: 24px; }
    .login-art p { font-size: 8px; }
    .login-form { padding: 24px 18px 25px; }
    .login-form > .brand { margin-bottom: 25px; }
    .login-form h2 { font-size: 24px; }
    .live-page .live-header .brand-mark { display: none; }
    .draw-metrics small { font-size: 8px; letter-spacing: 0; }
    .draw-metrics span { font-size: 8px; }
}

@media (max-width: 340px) {
    .stat-grid { grid-template-columns: 1fr; }
}

@media (orientation: landscape) and (max-height: 620px) and (max-width: 1024px) {
    .live-page .live-header { height: 56px; min-height: 56px; }
    .live-stage { min-height: auto; padding-top: 12px !important; }
    .live-page .tier-row { margin-block: 7px; }
    .draw-metrics { margin-bottom: 8px; }
    .draw-metrics > div { padding-block: 7px; }
    .draw-status { margin-bottom: 3px; }
    .live-page .draw-medal { width: 190px; height: 190px; }
    .live-page .draw-medal > div { width: 152px; height: 152px; padding: 14px; }
    .live-page .draw-medal h1 { margin: 8px 0; font-size: 24px; }
    .winner-ticket { margin-top: 6px; }
    .live-page .prize-caption { margin: 9px 0; font-size: 13px; }
    .draw-integrity { margin-top: 12px; }
}

/* Regional workspaces and simplified administration */
.admin-content > main { width: 100%; max-width: 1580px; margin-inline: auto; }
.topbar-title { min-width: 0; }
.topbar-tools { display: flex; align-items: center; gap: 12px; }
.topbar-scope { display: grid; max-width: 250px; gap: 3px; padding: 9px 13px; border: 1px solid var(--line); border-radius: 9px; background: var(--panel); }
.topbar-scope small { color: var(--muted); font-size: 9px; text-transform: uppercase; letter-spacing: .06em; }
.topbar-scope strong { overflow: hidden; color: var(--gold); font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.topbar-account > div > strong { display: block; margin-bottom: 3px; }
.topbar-account .account-link { margin-bottom: 8px; }

.page-intro { display: flex; min-width: 0; align-items: flex-end; justify-content: space-between; gap: 24px; margin-bottom: 22px; }
.page-intro > div:first-child { min-width: 0; }
.page-intro h2 { font-size: clamp(24px, 2.5vw, 31px); line-height: 1.12; }
.page-intro .section-description { max-width: 760px; font-size: 13px; }
.page-intro > .button { flex: 0 0 auto; }
.list-page-intro { align-items: flex-start; }
.back-link { display: inline-flex; min-height: 44px; align-items: center; margin-bottom: 10px; color: var(--gold); font-size: 12px; font-weight: 750; }
.result-summary { margin-top: 12px; color: var(--muted); font-size: 12px; }
.result-summary strong { color: var(--gold); font-size: 17px; }

.region-switcher { display: grid; min-width: min(420px, 100%); gap: 7px; }
.region-switcher > label { color: var(--muted); font-size: 11px; font-weight: 700; }
.region-switcher > div { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; }
.region-switcher select { width: 100%; min-width: 0; }
.compact-switcher { min-width: min(360px, 100%); }
.scope-badge { display: grid; min-width: 220px; gap: 3px; padding: 11px 14px; border: 1px solid rgba(209, 168, 88, .55); border-radius: 9px; background: rgba(209, 168, 88, .07); }
.scope-badge small { color: var(--muted); font-size: 10px; }
.scope-badge strong { color: var(--gold); font-size: 12px; }
.page-actions { display: grid; justify-items: end; gap: 10px; }

.guidance-note { display: grid; gap: 5px; margin-bottom: 24px; padding: 15px 17px; border: 1px solid rgba(209, 168, 88, .35); border-left: 3px solid var(--gold); border-radius: 9px; background: rgba(209, 168, 88, .06); }
.guidance-note strong { color: #f0d39b; font-size: 13px; }
.guidance-note p { color: var(--muted); font-size: 12px; line-height: 1.6; }
.compact-note { margin: 0; }

.scope-note { display: flex; min-width: 0; align-items: center; gap: 12px; margin: 0 0 18px; padding: 12px 14px; border: 1px solid var(--line); border-radius: 9px; background: var(--void-2); }
.scope-note .region-code { flex: 0 0 auto; }
.scope-note > div { min-width: 0; }
.scope-note strong,
.scope-note small { display: block; }
.scope-note small { margin-top: 3px; color: var(--muted); font-size: 11px; line-height: 1.45; }
.region-code { display: inline-grid; min-width: 42px; min-height: 38px; place-items: center; padding: 6px 8px; border: 1px solid var(--gold); border-radius: 7px; color: var(--gold); background: rgba(209, 168, 88, .06); font: 800 12px Consolas, monospace; }

.region-overview-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.region-summary-card { display: flex; min-width: 0; flex-direction: column; padding: 18px; border: 1px solid var(--line); border-radius: 11px; background: linear-gradient(145deg, var(--panel-2), var(--panel)); }
.region-summary-card > header { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: start; gap: 11px; }
.region-summary-card > header > div { min-width: 0; }
.region-summary-card > header h3 { overflow-wrap: normal; font-size: 18px; line-height: 1.18; }
.region-summary-card > header p { margin-top: 5px; overflow: hidden; color: var(--muted); font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.region-summary-card > header .status { grid-column: 1 / -1; width: fit-content; }
.regional-metrics { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; margin: 17px 0; overflow: hidden; border: 1px solid var(--line); border-radius: 8px; background: var(--line); }
.regional-metrics > div { display: grid; gap: 4px; padding: 10px; background: rgba(16, 13, 11, .78); }
.regional-metrics dt { color: var(--muted); font-size: 10px; }
.regional-metrics dd { margin: 0; color: #f0d39b; font: 700 20px Cambria, Georgia, serif; }
.configuration-state { display: flex; min-height: 40px; align-items: center; gap: 8px; margin-top: auto; padding: 9px 10px; border-radius: 7px; font-size: 10px; font-weight: 700; }
.configuration-state span { display: grid; width: 20px; height: 20px; flex: 0 0 20px; place-items: center; border-radius: 50%; }
.configuration-state.ready { background: rgba(66, 150, 111, .11); color: #71c9a2; }
.configuration-state.ready span { background: rgba(66, 150, 111, .2); }
.configuration-state.warning { background: rgba(209, 168, 88, .09); color: var(--gold); }
.configuration-state.warning span { background: rgba(209, 168, 88, .17); }
.region-summary-card > footer { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 14px; }
.region-summary-card > footer .button { min-width: 0; padding-inline: 8px; font-size: 11px; }
.administrator-summary { display: grid; gap: 4px; margin-top: 16px; padding: 12px; border-radius: 8px; background: rgba(0, 0, 0, .15); }
.administrator-summary small { color: var(--muted); font-size: 10px; }
.administrator-summary strong { font-size: 13px; }

.region-choice-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.region-choice-grid > a { display: grid; min-width: 0; min-height: 82px; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 11px; padding: 14px; border: 1px solid var(--line); border-radius: 10px; background: var(--panel); }
.region-choice-grid > a:hover { border-color: var(--gold); background: var(--panel-2); }
.region-choice-grid > a div { min-width: 0; }
.region-choice-grid strong,
.region-choice-grid small { display: block; }
.region-choice-grid strong { font-size: 13px; line-height: 1.3; }
.region-choice-grid small { margin-top: 4px; color: var(--muted); font-size: 10px; }
.region-choice-grid b { color: var(--gold); }

.quick-action-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-bottom: 24px; }
.quick-action-grid > a { display: grid; min-width: 0; min-height: 74px; grid-template-columns: 40px minmax(0, 1fr) auto; align-items: center; gap: 11px; padding: 14px; border: 1px solid var(--line); border-radius: 10px; background: var(--panel); }
.quick-action-grid > a:hover { border-color: var(--gold); background: var(--panel-2); }
.quick-action-grid > a > span { display: grid; width: 40px; height: 40px; place-items: center; border-radius: 8px; background: rgba(217, 13, 53, .12); color: #ff8ca4; font-size: 21px; }
.quick-action-grid > a div { min-width: 0; }
.quick-action-grid strong,
.quick-action-grid small { display: block; }
.quick-action-grid small { margin-top: 4px; color: var(--muted); font-size: 10px; }
.quick-action-grid b { color: var(--gold); }

.settings-disclosure,
.create-disclosure { overflow: hidden; border: 1px solid var(--line); border-radius: 11px; background: var(--panel); }
.settings-disclosure { margin: 24px 0; }
.settings-disclosure > summary,
.create-disclosure > summary { display: flex; min-height: 70px; align-items: center; justify-content: space-between; gap: 14px; padding: 14px 18px; cursor: pointer; list-style: none; }
.settings-disclosure > summary::-webkit-details-marker,
.create-disclosure > summary::-webkit-details-marker,
.competition-summary::-webkit-details-marker { display: none; }
.settings-disclosure > summary > span { display: grid; min-width: 0; gap: 3px; }
.settings-disclosure > summary small { color: var(--gold); font: 9px Consolas, monospace; letter-spacing: .08em; }
.settings-disclosure > summary strong { font: 700 17px Cambria, Georgia, serif; }
.settings-disclosure > summary em { overflow: hidden; color: var(--muted); font-size: 11px; font-style: normal; text-overflow: ellipsis; white-space: nowrap; }
.settings-disclosure > summary > b,
.create-disclosure > summary > b { color: var(--gold); transition: transform .18s ease; }
.settings-disclosure[open] > summary,
.create-disclosure[open] > summary { border-bottom: 1px solid var(--line); }
.settings-disclosure[open] > summary > b,
.create-disclosure[open] > summary > b,
.competition-manage-card[open] .competition-summary-meta > b { transform: rotate(180deg); }
.settings-content.venue-card { margin: 0; border: 0; border-radius: 0; background: rgba(0, 0, 0, .08); }
.single-settings-content { display: grid; gap: 17px; padding: 20px; }

.create-disclosure { margin-bottom: 28px; }
.create-disclosure > summary { justify-content: flex-start; }
.create-disclosure > summary > span { display: grid; width: 38px; height: 38px; flex: 0 0 38px; place-items: center; border-radius: 8px; background: var(--red); color: #fff; font-size: 22px; }
.create-disclosure > summary > div { min-width: 0; flex: 1; }
.create-disclosure > summary strong,
.create-disclosure > summary small { display: block; }
.create-disclosure > summary strong { font: 700 17px Cambria, Georgia, serif; }
.create-disclosure > summary small { margin-top: 3px; color: var(--muted); font-size: 11px; }
.create-competition-form,
.create-prize-form,
.create-master-form,
.create-participant-form,
.create-competition-type-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; padding: 20px; background: rgba(0, 0, 0, .1); }
.create-competition-form label,
.create-prize-form label,
.create-master-form label,
.create-participant-form label,
.create-competition-type-form label { display: grid; min-width: 0; gap: 7px; color: var(--muted); font-size: 11px; }
.create-competition-form input,
.create-competition-form select,
.create-prize-form input,
.create-prize-form select,
.create-master-form input,
.create-master-form select,
.create-master-form textarea,
.create-participant-form input,
.create-participant-form select,
.create-participant-form textarea,
.create-competition-type-form input,
.create-competition-type-form select,
.create-competition-type-form textarea { width: 100%; min-width: 0; }
.create-master-form textarea,
.create-participant-form textarea,
.create-competition-type-form textarea { resize: vertical; border: 1px solid var(--line); border-radius: 7px; outline: 0; background: #140f0d; color: var(--cream); padding: 11px 12px; font: inherit; line-height: 1.5; }
.create-master-form textarea:focus,
.create-participant-form textarea:focus,
.create-competition-type-form textarea:focus { border-color: var(--gold); }
.create-competition-form > .button,
.create-prize-form > .button,
.create-master-form > .button,
.create-participant-form > .button,
.create-competition-type-form > .button { width: fit-content; align-self: end; }
.create-form-wide { grid-column: 1 / -1; }
.check-row { display: flex !important; min-height: 54px; grid-template-columns: none !important; align-items: center; gap: 11px !important; padding: 10px 12px; border: 1px solid var(--line); border-radius: 8px; background: rgba(0, 0, 0, .12); cursor: pointer; }
.check-row > input { width: 20px !important; height: 20px; flex: 0 0 20px; accent-color: var(--red); }
.check-row > span { min-width: 0; }
.check-row strong,
.check-row small { display: block; }
.check-row strong { color: var(--cream); font-size: 12px; }
.check-row small { margin-top: 3px; color: var(--muted); font-size: 10px; line-height: 1.4; }
.optional-label { color: #786d66; font-weight: 400; }

.region-management-grid { display: grid; grid-template-columns: minmax(300px, .72fr) minmax(0, 1.28fr); align-items: start; gap: 18px; }
.administrator-form-card { min-width: 0; }
.administrator-form-card label > small,
.venue-form label > small { color: var(--muted); font-size: 10px; line-height: 1.45; }
.regional-venue-settings { min-width: 0; margin: 0; }
.compact-stats { margin-bottom: 24px; }

.participant-filters { display: grid; width: min(650px, 100%); grid-template-columns: minmax(160px, 1.25fr) minmax(150px, 1fr) auto; align-items: end; }
.participant-filters label { color: var(--muted); font-size: 10px; font-weight: 700; }
.participant-filters label:nth-of-type(1) { grid-column: 1; }
.participant-filters #participant-search { grid-column: 1; }
.participant-filters label:nth-of-type(2) { grid-column: 2; grid-row: 1; }
.participant-filters #participant-region { grid-column: 2; }
.participant-filters .button { grid-column: 3; grid-row: 2; }

.section-tabs {
    display: flex;
    min-width: 0;
    gap: 8px;
    margin: 0 0 22px;
    overflow-x: auto;
    padding-bottom: 3px;
    scrollbar-color: var(--gold) transparent;
    scrollbar-width: thin;
}
.section-tabs a {
    display: inline-flex;
    min-width: max-content;
    min-height: 44px;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    padding: 9px 14px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: var(--void-2);
    color: var(--muted);
    font-size: 11px;
    font-weight: 750;
}
.section-tabs a:hover,
.section-tabs a.active,
.section-tabs a[aria-current='page'] { border-color: var(--gold); background: var(--panel); color: var(--cream); }

.master-card-list { display: grid; gap: 11px; }
.master-record-card {
    display: grid;
    min-width: 0;
    grid-template-columns: minmax(220px, 1fr) minmax(170px, .65fr) auto;
    align-items: center;
    gap: 16px;
    padding: 17px 18px;
    border: 1px solid var(--line);
    border-radius: 10px;
    background: var(--panel);
}
.master-record-main,
.master-record-meta { min-width: 0; }
.master-record-main h3 { margin: 7px 0 5px; font-size: 18px; }
.master-record-main small,
.master-record-meta small { display: block; color: var(--muted); font-size: 10px; line-height: 1.45; }
.master-record-main small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.master-record-meta { display: grid; gap: 5px; }
.master-record-meta strong { color: var(--cream); font-size: 12px; }
.master-record-actions { display: flex; min-width: 0; align-items: center; justify-content: flex-end; gap: 8px; }
.master-record-actions form { min-width: 0; }
.master-record-editor { min-width: 0; grid-column: 1 / -1; }

.competition-list-heading { align-items: center; }
.competition-list-heading > p { max-width: 300px; font-size: 11px; text-align: right; }
.competition-manage-card > .competition-summary { display: flex; min-height: 104px; align-items: center; justify-content: space-between; gap: 20px; padding: 18px 22px; background: linear-gradient(120deg, #2b1b18, var(--panel)); cursor: pointer; list-style: none; }
.competition-manage-card > .competition-summary:hover { background: linear-gradient(120deg, #32201c, var(--panel-2)); }
.competition-summary-main { min-width: 0; }
.competition-summary-main h3 { margin: 9px 0 6px; }
.competition-summary-main > small { display: block; overflow: hidden; color: var(--muted); font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.competition-summary-meta { display: grid; flex: 0 0 auto; justify-items: end; gap: 7px; color: var(--muted); font-size: 10px; }
.competition-summary-meta > b { color: var(--gold); font-size: 16px; transition: transform .18s ease; }
.competition-manage-content { border-top: 1px solid var(--line); }
.competition-video-copy p,
.competition-video-copy a,
.video-kicker,
.subsection-title > span,
.entry-identity small,
.entry-support small { font-size: 11px; }
.action-panel > p { margin: 0; color: var(--muted); font-size: 11px; line-height: 1.5; }
.empty-card { border: 1px dashed var(--line); border-radius: 10px; background: rgba(33, 22, 19, .45); }
.empty-card strong,
.empty-card span { display: block; }
.empty-card span { margin-top: 5px; font-size: 11px; }

.record-edit-disclosure { min-width: 0; overflow: hidden; border-block: 1px solid var(--line); background: rgba(0, 0, 0, .08); }
.record-edit-disclosure > summary { display: flex; min-height: 58px; align-items: center; justify-content: space-between; gap: 14px; padding: 13px 20px; cursor: pointer; list-style: none; }
.record-edit-disclosure > summary::-webkit-details-marker { display: none; }
.record-edit-disclosure > summary > span { display: grid; min-width: 0; gap: 4px; }
.record-edit-disclosure > summary strong { font: 700 15px Cambria, Georgia, serif; }
.record-edit-disclosure > summary small { color: var(--muted); font-size: 10px; line-height: 1.4; }
.record-edit-disclosure > summary > b { color: var(--gold); transition: transform .18s ease; }
.record-edit-disclosure[open] > summary { border-bottom: 1px solid var(--line); }
.record-edit-disclosure[open] > summary > b { transform: rotate(180deg); }
.record-edit-content { display: grid; gap: 16px; padding: 18px 20px 20px; }
.record-edit-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.record-edit-form > label { display: grid; min-width: 0; gap: 7px; color: var(--muted); font-size: 11px; }
.record-edit-form input:not([type='checkbox']),
.record-edit-form select,
.record-edit-form textarea { width: 100%; min-width: 0; }
.record-edit-form textarea { resize: vertical; border: 1px solid var(--line); border-radius: 7px; outline: 0; background: #140f0d; color: var(--cream); padding: 11px 12px; font: inherit; line-height: 1.5; }
.record-edit-form textarea:focus { border-color: var(--gold); }
.record-form-wide,
.record-form-actions { grid-column: 1 / -1; }
.record-form-actions { display: flex; align-items: center; gap: 13px; }
.record-form-actions small,
.field-note { color: var(--muted); font-size: 10px; line-height: 1.45; }
.check-row.is-disabled { cursor: not-allowed; opacity: .65; }
.record-delete-panel { display: flex; min-width: 0; align-items: center; justify-content: space-between; gap: 16px; padding: 13px 14px; border: 1px solid rgba(217, 13, 53, .55); border-radius: 8px; background: rgba(217, 13, 53, .055); }
.record-delete-panel > div { min-width: 0; }
.record-delete-panel strong,
.record-delete-panel small { display: block; }
.record-delete-panel strong { color: #ff9aad; font-size: 12px; }
.record-delete-panel small { margin-top: 4px; color: var(--muted); font-size: 10px; line-height: 1.45; }
.record-delete-panel.is-locked { border-color: var(--line); background: rgba(0, 0, 0, .1); }
.record-delete-panel.is-locked strong { color: var(--cream); }
.locked-badge,
.entry-lock-state { display: inline-flex; min-height: 32px; flex: 0 0 auto; align-items: center; justify-content: center; padding: 6px 9px; border: 1px solid var(--line); border-radius: 6px; color: var(--muted); background: rgba(0, 0, 0, .16); font-size: 9px; font-weight: 750; text-align: center; }
.subsection-title > div { min-width: 0; }
.subsection-title > div > small { display: block; margin-top: 4px; color: var(--muted); font-size: 10px; line-height: 1.4; }
.entry-row { display: grid; grid-template-columns: 32px minmax(0, 1fr) 72px auto; }
.entry-avatar { grid-column: 1; grid-row: 1 / span 2; }
.entry-identity { grid-column: 2; grid-row: 1; }
.entry-support { grid-column: 3; grid-row: 1; }
.entry-lock-state,
.entry-delete-form { grid-column: 4; grid-row: 1; }
.entry-performance-form { display: grid; min-width: 0; grid-column: 2 / -1; grid-row: 2; grid-template-columns: minmax(140px, 1fr) 76px 76px auto; align-items: end; gap: 8px; padding-top: 5px; }
.entry-performance-form label { display: grid; gap: 4px; color: var(--muted); font-size: 9px; }
.entry-performance-form input { width: 100%; min-width: 0; padding: 7px 8px; }
.entry-performance-form .button { min-height: 34px; white-space: nowrap; }

.prize-card-list { display: grid; gap: 11px; }
.prize-manage-card { display: grid; min-width: 0; grid-template-columns: minmax(220px, 1.25fr) minmax(180px, .75fr) auto; align-items: center; gap: 18px; padding: 17px 18px; border: 1px solid var(--line); border-radius: 10px; background: var(--panel); }
.prize-main { min-width: 0; }
.prize-main h3 { margin: 7px 0 5px; font-size: 18px; }
.prize-main small { display: block; overflow: hidden; color: var(--muted); font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.prize-progress { display: grid; gap: 8px; }
.prize-progress > div:first-child { display: flex; justify-content: space-between; gap: 10px; color: var(--muted); font-size: 10px; }
.prize-progress strong { color: var(--cream); }
.prize-progress .progress { max-width: none; }
.prize-action { display: grid; justify-items: end; gap: 8px; }
.prize-action .button { min-width: 130px; }
.prize-record-editor { grid-column: 1 / -1; }
.claim-form .button { min-height: 44px; }

@media (max-width: 1180px) {
    .region-overview-grid,
    .region-choice-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .region-management-grid { grid-template-columns: 1fr; }
    .regional-venue-settings { margin: 0; }
    .master-record-card { grid-template-columns: minmax(200px, 1fr) minmax(160px, .7fr); }
    .master-record-actions { grid-column: 1 / -1; justify-content: flex-end; }
    .prize-manage-card { grid-template-columns: minmax(200px, 1fr) minmax(170px, .7fr); }
    .prize-action { grid-column: 1 / -1; grid-template-columns: 1fr auto; align-items: center; justify-items: start; }
}

@media (max-width: 900px) {
    .page-intro { flex-direction: column; align-items: stretch; gap: 16px; }
    .page-intro > .button { width: 100%; }
    .region-switcher,
    .page-actions { width: 100%; min-width: 0; justify-items: stretch; }
    .page-actions .button { width: 100%; }
    .quick-action-grid { grid-template-columns: 1fr; }
    .create-competition-form,
    .create-prize-form,
    .create-master-form,
    .create-participant-form,
    .create-competition-type-form { grid-template-columns: 1fr 1fr; }
    .participant-filters { width: 100%; }
    .entry-row { display: grid; grid-template-columns: 36px minmax(0, 1fr) auto; gap: 8px 10px; }
    .entry-avatar { grid-column: 1; grid-row: 1 / span 2; }
    .entry-identity { grid-column: 2; grid-row: 1; }
    .entry-support { display: block; grid-column: 2; grid-row: 2; min-width: 0; text-align: left; }
    .entry-support b,
    .entry-support small { display: inline; }
    .entry-support small { margin-left: 4px; }
    .entry-row > .entry-performance-form { grid-column: 1 / -1; grid-row: 3; width: 100%; min-width: 0; grid-template-columns: minmax(120px, 1fr) 76px 76px auto; align-self: stretch; padding-top: 4px; }
    .entry-row > .entry-delete-form { grid-column: 3; grid-row: 1 / span 2; align-self: center; }
    .entry-lock-state { grid-column: 3; grid-row: 1 / span 2; }
}

@media (max-width: 760px) {
    .sidebar nav .nav-regions,
    .sidebar nav .nav-secondary { display: none !important; }
    .topbar-scope { display: none; }
    .topbar-tools { flex: 0 0 auto; }
    .page-intro { margin-bottom: 18px; }
    .page-intro h2 { font-size: 24px; }
    .page-intro .section-description { font-size: 12px; }
    .region-switcher > div { grid-template-columns: minmax(0, 1fr) auto; }
    .region-switcher .button { padding-inline: 12px; }
    .scope-badge { width: 100%; min-width: 0; }
    .region-overview-grid,
    .region-choice-grid { grid-template-columns: 1fr; }
    .region-summary-card { padding: 16px; }
    .region-summary-card > footer { grid-template-columns: 1fr; }
    .region-choice-grid > a { min-height: 76px; }
    .guidance-note { padding: 14px; }
    .scope-note { align-items: flex-start; }
    .quick-action-grid > a { min-height: 72px; }
    .settings-disclosure > summary,
    .create-disclosure > summary { min-height: 68px; padding: 13px 14px; }
    .settings-disclosure > summary strong,
    .create-disclosure > summary strong { font-size: 16px; }
    .settings-content.venue-card,
    .single-settings-content { padding: 16px; }
    .create-competition-form,
    .create-prize-form,
    .create-master-form,
    .create-participant-form,
    .create-competition-type-form { grid-template-columns: 1fr; padding: 16px; }
    .create-competition-form > .button,
    .create-prize-form > .button,
    .create-master-form > .button,
    .create-participant-form > .button,
    .create-competition-type-form > .button { width: 100%; }
    .create-form-wide { grid-column: auto; }
    .participant-filters { grid-template-columns: 1fr; }
    .participant-filters label,
    .participant-filters input,
    .participant-filters select,
    .participant-filters .button { grid-column: 1 !important; grid-row: auto !important; }
    .participant-filters label:nth-of-type(2) { margin-top: 3px; }
    .section-tabs { margin-inline: -14px; padding-inline: 14px; scroll-padding-inline: 14px; scroll-snap-type: x proximity; }
    .section-tabs a { scroll-snap-align: start; }
    .master-record-card { grid-template-columns: 1fr; gap: 13px; padding: 16px; }
    .master-record-main small { overflow: visible; text-overflow: clip; white-space: normal; }
    .master-record-actions { grid-column: auto; flex-direction: column; align-items: stretch; justify-content: stretch; }
    .master-record-actions form,
    .master-record-actions .button { width: 100%; }
    .master-record-editor { grid-column: auto; }
    .competition-list-heading > p { max-width: none; text-align: left; }
    .competition-manage-card > .competition-summary { min-height: 0; align-items: flex-start; gap: 12px; padding: 16px; }
    .competition-summary-main h3 { font-size: 20px; }
    .competition-summary-main > small { overflow: visible; line-height: 1.45; text-overflow: clip; white-space: normal; }
    .competition-summary-meta { min-width: 78px; }
    .competition-summary-meta > span:not(.status) { text-align: right; }
    .entry-support { display: block; }
    .record-edit-disclosure > summary { padding-inline: 15px; }
    .record-edit-content { padding: 16px 15px; }
    .record-edit-form { grid-template-columns: 1fr; }
    .record-form-wide,
    .record-form-actions { grid-column: auto; }
    .record-form-actions,
    .record-delete-panel { align-items: stretch; flex-direction: column; }
    .record-form-actions .button,
    .record-delete-panel form,
    .record-delete-panel .button { width: 100%; }
    .record-delete-panel .locked-badge { width: fit-content; }
    .entry-lock-state { max-width: 124px; white-space: normal; }
    .entry-row { grid-template-columns: 36px minmax(0, 1fr) auto; }
    .entry-row > .entry-performance-form { grid-column: 1 / -1; grid-row: 3; width: 100%; min-width: 0; grid-template-columns: minmax(120px, 1fr) 76px 76px auto; align-self: stretch; padding-top: 4px; }
    .entry-row > .entry-delete-form { grid-column: 3; grid-row: 1 / span 2; }
    .entry-lock-state { grid-column: 3; grid-row: 1 / span 2; }
    .prize-manage-card { grid-template-columns: 1fr; gap: 14px; padding: 16px; }
    .prize-main small { overflow: visible; line-height: 1.4; text-overflow: clip; white-space: normal; }
    .prize-action { grid-column: auto; grid-template-columns: 1fr; justify-items: stretch; }
    .prize-action .status { width: fit-content; }
    .prize-action form,
    .prize-action .button { width: 100%; }
    .claim-form { display: grid; grid-template-columns: 1fr; }
    .claim-form .button { width: 100%; }
}

@media (max-width: 420px) {
    .region-switcher > div { grid-template-columns: 1fr; }
    .region-switcher .button { width: 100%; }
    .regional-metrics { grid-template-columns: 1fr 1fr; }
    .competition-manage-card > .competition-summary { display: grid; grid-template-columns: 1fr; }
    .competition-summary-meta { width: 100%; grid-template-columns: auto 1fr auto; align-items: center; justify-items: start; }
    .competition-summary-meta > span:not(.status) { justify-self: end; }
    .competition-summary-meta > b { justify-self: end; }
    .entry-row > .entry-performance-form { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .entry-performance-form .entry-team-field,
    .entry-performance-form .button { grid-column: 1 / -1; }
    .entry-performance-form .button { width: 100%; }
}

/* Clear competition management */
.button {
    min-height: 46px;
    border-color: #765a4c;
    background: #2c211c;
    box-shadow: 0 1px 0 rgba(255, 255, 255, .04);
    font-size: 12px;
}
.button:hover {
    border-color: #a9806d;
    background: #382923;
    filter: none;
}
.button.primary {
    border-color: #f1294f;
    background: var(--red);
    color: #fff;
}
.button.primary:hover { background: #ee123d; }
.button.secondary {
    border-color: #8a6959;
    background: #33251f;
    color: var(--cream);
}
.button.secondary:hover {
    border-color: var(--gold);
    background: #403027;
}
.button.subtle {
    border-color: #795c4e;
    background: #2d211c;
}
.button.subtle:hover {
    border-color: #a9806d;
    background: #392a23;
}
.button.small {
    min-height: 44px;
    font-size: 12px;
}
.button.gold:hover { background: #e2bd70; }
.button.danger {
    border-color: #d74b65;
    background: transparent;
    color: #ff9bad;
}
.button.danger:hover {
    border-color: #ff6f8a;
    background: rgba(217, 13, 53, .1);
}
.button:disabled,
.button:disabled:hover {
    border-color: #3b302b;
    background: #1a1513;
    box-shadow: none;
    color: #766c66;
    cursor: not-allowed;
    filter: none;
    opacity: 1;
}
.text-link,
.text-button {
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
}
.danger-text { color: #ff8ca4; }
.status {
    border: 0;
    cursor: default;
    user-select: none;
}

.entry-format-options {
    min-width: 0;
    padding: 0;
    margin: 0;
    border: 0;
}
.entry-format-options legend {
    padding: 0;
    margin-bottom: 8px;
    color: var(--muted);
    font-size: 12px;
    font-weight: 700;
}
.entry-format-options > div {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}
.entry-format-option {
    display: flex !important;
    min-height: 66px;
    align-items: center;
    gap: 11px !important;
    padding: 11px 13px;
    border: 1px solid #60493e;
    border-radius: 8px;
    background: #1a1412;
    cursor: pointer;
}
.entry-format-option:hover {
    border-color: #98715e;
    background: #241a17;
}
.entry-format-option:has(input:checked) {
    border-color: var(--gold);
    background: rgba(209, 168, 88, .1);
    box-shadow: inset 0 0 0 1px rgba(209, 168, 88, .18);
}
.entry-format-option > input {
    width: 20px !important;
    min-width: 20px;
    height: 20px;
    min-height: 20px !important;
    flex: 0 0 20px;
    accent-color: var(--red);
}
.entry-format-option strong,
.entry-format-option small {
    display: block;
}
.entry-format-option strong {
    color: var(--cream);
    font-size: 13px;
}
.entry-format-option small {
    margin-top: 4px;
    color: var(--muted);
    font-size: 12px;
    line-height: 1.35;
}
.format-lock {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 4px 14px;
    padding: 12px 14px;
    border-left: 3px solid var(--gold);
    border-radius: 6px;
    background: rgba(209, 168, 88, .07);
}
.format-lock > span {
    color: var(--muted);
    font-size: 12px;
}
.format-lock > strong {
    color: var(--gold);
    font-size: 13px;
}
.format-lock > small {
    grid-column: 1 / -1;
    color: var(--muted);
    font-size: 12px;
}

.format-badge {
    display: inline-flex;
    min-height: 24px;
    align-items: center;
    padding: 3px 8px;
    border-radius: 5px;
    background: #16110f;
    color: #d8cec7;
    font-size: 10px;
    font-weight: 800;
}
.competition-manage-card {
    border-color: #5b4237;
    background: #1b1311;
}
.competition-manage-card > .competition-summary {
    min-height: 112px;
    border-left: 4px solid transparent;
    background: #251a16;
}
.competition-manage-card > .competition-summary:hover {
    border-left-color: var(--gold);
    background: #30211c;
}
.competition-manage-card[open] > .competition-summary {
    border-left-color: var(--red);
    border-bottom: 1px solid #63483c;
    background: #30201b;
}
.competition-summary-main > div {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
}
.competition-summary-main h3 { line-height: 1.2; }
.competition-summary-main > small,
.competition-summary-meta {
    font-size: 12px;
}
.competition-summary-meta {
    min-width: 190px;
    gap: 9px;
}
.disclosure-action {
    display: inline-flex;
    min-height: 38px;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 8px 11px;
    border: 1px solid #896757;
    border-radius: 7px;
    background: #382821;
    color: var(--cream);
    font-size: 11px;
    font-weight: 800;
    white-space: nowrap;
}
.disclosure-action b {
    color: var(--gold);
    font-size: 15px;
    transition: transform .18s ease;
}
.when-open { display: none; }
.competition-manage-card[open] > .competition-summary .when-closed,
.clear-disclosure[open] > summary .when-closed { display: none; }
.competition-manage-card[open] > .competition-summary .when-open,
.clear-disclosure[open] > summary .when-open { display: inline; }
.competition-manage-card[open] > .competition-summary .disclosure-action b,
.clear-disclosure[open] > summary .disclosure-action b { transform: rotate(180deg); }
.competition-manage-content {
    display: grid;
    gap: 14px;
    padding: 16px;
    border-top: 0;
    background: #120e0c;
}

.admin-section-card {
    min-width: 0;
    overflow: hidden;
    border: 1px solid #4f3b33;
    border-radius: 10px;
    background: var(--panel);
}
.admin-section-heading {
    display: flex;
    min-height: 68px;
    align-items: center;
    gap: 12px;
    padding: 13px 18px;
    border-bottom: 1px solid var(--line);
    background: #271b17;
}
.admin-section-heading > div { min-width: 0; }
.admin-section-heading h4 {
    margin: 0;
    font: 700 17px Cambria, Georgia, serif;
}
.admin-section-heading p {
    margin-top: 4px;
    color: var(--muted);
    font-size: 12px;
    line-height: 1.4;
}
.section-number {
    display: grid;
    width: 34px;
    height: 34px;
    flex: 0 0 34px;
    place-items: center;
    border-radius: 50%;
    background: var(--red-dark);
    color: #fff;
    font-size: 13px;
    font-weight: 850;
}
.clear-disclosure {
    border: 0;
    background: transparent;
}
.clear-disclosure > summary {
    min-height: 64px;
    padding: 11px 18px;
    background: #1c1512;
}
.clear-disclosure > summary:hover { background: #241a16; }
.clear-disclosure[open] > summary {
    border-bottom: 1px solid var(--line);
    background: #241a16;
}
.clear-disclosure > summary strong { font-size: 14px; }
.clear-disclosure > summary small { font-size: 12px; }
.compact-action {
    min-height: 38px;
    flex: 0 0 auto;
}

.create-competition-form > label,
.record-edit-form > label,
.roster-add-panel label,
.add-member-form label,
.competition-video-form label,
.result-entry-card label,
.winner-save-panel label {
    font-size: 12px;
    font-weight: 650;
}
.create-competition-form label > small,
.record-edit-form label > small,
.form-help {
    font-size: 12px;
    line-height: 1.45;
}
.static-state {
    display: inline-flex;
    min-height: 32px;
    align-items: center;
    padding: 6px 10px;
    border-radius: 6px;
    background: #191513;
    color: #a89e98;
    font-size: 11px;
    font-weight: 700;
    line-height: 1.35;
    cursor: default;
}
.static-note,
.form-help {
    margin: 0;
    color: var(--muted);
}
.static-note {
    padding: 10px 12px;
    border-radius: 7px;
    background: #191513;
    font-size: 12px;
    line-height: 1.5;
}

.roster-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.4fr) minmax(270px, .6fr);
    align-items: start;
    gap: 16px;
    padding: 18px;
}
.roster-list {
    display: grid;
    min-width: 0;
    gap: 12px;
}
.team-entry-card,
.individual-entry-card {
    min-width: 0;
    border: 1px solid #4f3a31;
    border-radius: 9px;
    background: #1b1412;
}
.team-entry-card.is-winner,
.individual-entry-card.is-winner,
.result-entry-card.is-winner {
    border-color: rgba(209, 168, 88, .75);
    background: rgba(209, 168, 88, .055);
}
.team-entry-card > header {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 11px;
    padding: 13px 14px;
    border-bottom: 1px solid #3d2f29;
}
.team-entry-card > header > div:nth-child(2) { min-width: 0; }
.team-entry-card > header strong,
.team-entry-card > header small {
    display: block;
}
.team-entry-card > header strong { font-size: 14px; }
.team-entry-card > header small {
    margin-top: 4px;
    color: var(--muted);
    font-size: 12px;
}
.team-member-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1px;
    padding: 0;
    margin: 0;
    background: #3a2c26;
    list-style: none;
}
.team-member-list li {
    display: grid;
    min-width: 0;
    min-height: 56px;
    grid-template-columns: 32px minmax(0, 1fr);
    align-items: center;
    gap: 9px;
    padding: 10px 12px;
    background: #201714;
}
.team-member-list li > span {
    display: grid;
    width: 32px;
    height: 32px;
    place-items: center;
    border-radius: 50%;
    background: #5d2430;
    color: #fff;
    font-size: 11px;
    font-weight: 800;
}
.team-member-list li > div { min-width: 0; }
.team-member-list li strong,
.team-member-list li small {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.team-member-list li strong { font-size: 12px; }
.team-member-list li small {
    margin-top: 3px;
    color: var(--muted);
    font-size: 11px;
}
.team-member-list .empty-member {
    display: block;
    grid-column: 1 / -1;
    color: var(--muted);
    font-size: 12px;
}
.add-member-form {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: end;
    gap: 9px;
    padding: 13px 14px;
    border-top: 1px solid #3d2f29;
}
.add-member-form label {
    display: grid;
    min-width: 0;
    gap: 6px;
    color: var(--muted);
}
.add-member-form select { width: 100%; min-width: 0; }
.team-entry-card > .form-help { padding: 0 14px 12px; }
.entry-record-action {
    display: flex;
    justify-content: flex-end;
    padding: 0 14px 13px;
}
.individual-entry-card {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 11px;
    padding: 13px 14px;
}
.individual-entry-card .entry-identity strong,
.individual-entry-card .entry-identity small,
.individual-entry-card .entry-identity span {
    display: block;
}
.individual-entry-card .entry-identity small,
.individual-entry-card .entry-identity span {
    margin-top: 3px;
    color: var(--muted);
    font-size: 12px;
}
.roster-add-panel,
.roster-closed-note {
    border: 1px solid #6b4e41;
    border-radius: 9px;
    background: #291d18;
}
.roster-add-panel {
    padding: 17px;
}
.roster-add-panel h4 { font-size: 17px; }
.roster-add-panel > p { font-size: 12px; }
.roster-add-panel label {
    color: #c6bab2;
}
.roster-add-panel .form-help {
    padding: 9px 10px;
    border-radius: 6px;
    background: #181310;
}
.team-member-picker {
    display: grid;
    gap: 11px;
    padding: 13px;
    border: 1px solid #574036;
    border-radius: 8px;
    background: #1b1512;
}
.team-member-picker-heading {
    display: grid;
    gap: 4px;
}
.team-member-picker-heading strong {
    color: var(--cream);
    font-size: 13px;
}
.team-member-picker-heading small {
    color: var(--muted);
    font-size: 12px;
    line-height: 1.45;
}
.team-member-choice-list {
    display: grid;
    gap: 9px;
}
.team-member-choice {
    display: grid;
    gap: 6px;
    padding: 11px;
    border: 1px solid #49362e;
    border-radius: 7px;
    background: #241a16;
}
.team-member-choice-heading {
    display: flex;
    min-width: 0;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}
.team-member-choice-heading label {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: 7px;
    color: var(--cream);
    font-size: 12px;
    font-weight: 750;
}
.team-member-choice-heading label small {
    display: inline-flex;
    padding: 3px 6px;
    border-radius: 20px;
    background: #342820;
    color: var(--muted);
    font-size: 10px;
    font-weight: 700;
}
.team-member-choice select {
    width: 100%;
    min-width: 0;
}
.member-choice-remove {
    min-height: 36px;
    flex: 0 0 auto;
    padding: 6px 8px;
    border: 1px solid #9f4858;
    border-radius: 6px;
    background: transparent;
    color: #ff9bad;
    cursor: pointer;
    font-size: 11px;
    font-weight: 750;
}
.member-choice-remove:hover,
.member-choice-remove:focus-visible {
    border-color: #ff6f8a;
    background: rgba(217, 13, 53, .1);
}
.team-member-choice-add {
    width: 100%;
    min-height: 44px;
}
.team-member-choice-count {
    display: grid;
    gap: 3px;
    color: var(--muted);
}
.team-member-choice-count strong {
    color: #d8cbc3;
    font-size: 12px;
}
.team-member-choice-count small {
    font-size: 11px;
    line-height: 1.45;
}
.roster-closed-note {
    display: grid;
    gap: 5px;
    padding: 16px;
}
.roster-closed-note strong { font-size: 13px; }
.roster-closed-note small {
    color: var(--muted);
    font-size: 12px;
    line-height: 1.45;
}

.clear-video-panel {
    display: grid;
    grid-template-columns: 1fr;
    align-items: stretch;
    gap: 12px;
    padding: 18px;
    border: 0;
    background: transparent;
}
.competition-video-form {
    grid-template-columns: minmax(0, 1fr) auto;
}
.competition-video-form label {
    color: var(--muted);
}
.video-current-actions {
    display: flex;
    min-width: 0;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 10px 12px;
    border-radius: 7px;
    background: #191412;
}
.video-current-actions .text-link {
    color: var(--gold);
    font-size: 12px;
    font-weight: 750;
}
.video-current-actions .text-button {
    min-height: 44px;
    padding: 0 6px;
}

.result-section-content {
    display: grid;
    gap: 15px;
    padding: 18px;
}
.result-section-content .winner-banner {
    overflow: hidden;
    border: 1px solid rgba(209, 168, 88, .45);
    border-radius: 8px;
}
.result-entry-list {
    display: grid;
    gap: 10px;
}
.result-entry-card {
    display: grid;
    min-width: 0;
    grid-template-columns: minmax(150px, .75fr) minmax(175px, 1fr) 90px 90px auto;
    align-items: end;
    gap: 10px;
    padding: 13px;
    border: 1px solid #4d3a32;
    border-radius: 8px;
    background: #1b1412;
}
.result-entry-title {
    min-width: 0;
    align-self: center;
}
.result-entry-title strong,
.result-entry-title small {
    display: block;
}
.result-entry-title strong { font-size: 14px; }
.result-entry-title small {
    margin-top: 4px;
    color: var(--muted);
    font-size: 12px;
    line-height: 1.35;
}
.result-entry-card label {
    display: grid;
    min-width: 0;
    gap: 6px;
    color: var(--muted);
}
.result-entry-card input {
    width: 100%;
    min-width: 0;
}
.result-entry-card .button { white-space: nowrap; }
.winner-save-panel {
    display: grid;
    grid-template-columns: minmax(190px, 1fr) minmax(220px, .8fr) auto;
    align-items: end;
    gap: 12px;
    padding: 16px;
    border: 1px solid rgba(209, 168, 88, .55);
    border-radius: 9px;
    background: rgba(209, 168, 88, .07);
}
.winner-save-panel > div { align-self: center; }
.winner-save-panel h4 {
    margin: 0;
    font: 700 17px Cambria, Georgia, serif;
}
.winner-save-panel p {
    margin-top: 5px;
    color: var(--muted);
    font-size: 12px;
}
.winner-save-panel label {
    display: grid;
    gap: 6px;
    color: var(--muted);
}
.winner-save-panel select { width: 100%; }

@media (max-width: 1100px) {
    .roster-layout { grid-template-columns: 1fr; }
    .roster-add-panel,
    .roster-closed-note { order: -1; }
    .result-entry-card {
        grid-template-columns: minmax(150px, .8fr) minmax(180px, 1fr) 90px 90px;
    }
    .result-entry-card .button { grid-column: 1 / -1; width: 100%; }
}

@media (max-width: 760px) {
    .button { min-height: 48px; font-size: 13px; }
    .competition-manage-card > .competition-summary {
        min-height: 0;
        flex-direction: column;
        align-items: stretch;
        gap: 14px;
    }
    .competition-summary-meta {
        display: flex;
        width: 100%;
        min-width: 0;
        flex-wrap: wrap;
        align-items: center;
        justify-content: flex-start;
    }
    .competition-summary-meta > span:not(.status):not(.disclosure-action) {
        margin-right: auto;
        text-align: left;
    }
    .disclosure-action { min-height: 44px; }
    .competition-manage-content {
        gap: 12px;
        padding: 10px;
    }
    .admin-section-heading {
        min-height: 64px;
        padding: 12px 13px;
    }
    .admin-section-heading h4 { font-size: 16px; }
    .admin-section-heading p { font-size: 12px; }
    .section-number {
        width: 32px;
        height: 32px;
        flex-basis: 32px;
    }
    .clear-disclosure > summary { padding-inline: 13px; }
    .compact-action { min-height: 42px; }
    .entry-format-options > div { grid-template-columns: 1fr; }
    .entry-format-option { min-height: 64px; }
    .format-lock { grid-template-columns: 1fr; }
    .format-lock > small { grid-column: auto; }
    .roster-layout,
    .clear-video-panel,
    .result-section-content { padding: 13px; }
    .team-member-list { grid-template-columns: 1fr; }
    .team-member-list li strong,
    .team-member-list li small {
        overflow: visible;
        text-overflow: clip;
        white-space: normal;
    }
    .add-member-form {
        grid-template-columns: 1fr;
        padding: 13px;
    }
    .add-member-form .button { width: 100%; }
    .entry-record-action { justify-content: stretch; padding: 0 13px 13px; }
    .entry-record-action .static-state,
    .entry-record-action form,
    .entry-record-action .button { width: 100%; }
    .individual-entry-card {
        grid-template-columns: auto minmax(0, 1fr);
    }
    .individual-entry-card > .status,
    .individual-entry-card > .static-state,
    .individual-entry-card > form {
        width: 100%;
        grid-column: 1 / -1;
    }
    .individual-entry-card > form .button { width: 100%; }
    .roster-add-panel { padding: 15px; }
    .team-member-picker { padding: 11px; }
    .team-member-choice { padding: 10px; }
    .team-member-choice-heading { align-items: flex-start; }
    .member-choice-remove { min-height: 44px; }
    .competition-video-form {
        grid-template-columns: 1fr;
    }
    .competition-video-form .button { width: 100%; }
    .video-current-actions {
        align-items: flex-start;
        flex-direction: column;
    }
    .video-current-actions .text-link,
    .video-current-actions form,
    .video-current-actions .text-button { width: 100%; }
    .video-current-actions .text-button { text-align: left; }
    .result-section-content .winner-banner {
        grid-template-columns: auto minmax(0, 1fr);
    }
    .result-section-content .winner-banner small { grid-column: 2; }
    .result-entry-card {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        padding: 13px;
    }
    .result-entry-title,
    .result-entry-card label:first-of-type,
    .result-entry-card .button {
        grid-column: 1 / -1;
    }
    .result-entry-card .button { width: 100%; }
    .winner-save-panel {
        grid-template-columns: 1fr;
        padding: 14px;
    }
    .winner-save-panel .button { width: 100%; }
}

@media (max-width: 420px) {
    .competition-summary-meta {
        display: grid;
        grid-template-columns: auto minmax(0, 1fr);
    }
    .competition-summary-meta > span:not(.status):not(.disclosure-action) {
        margin: 0;
        justify-self: end;
        text-align: right;
    }
    .competition-summary-meta .disclosure-action {
        width: 100%;
        grid-column: 1 / -1;
    }
    .clear-disclosure > summary {
        align-items: flex-start;
        flex-direction: column;
    }
    .clear-disclosure .compact-action { width: 100%; }
    .result-entry-card { grid-template-columns: 1fr; }
    .result-entry-title,
    .result-entry-card label:first-of-type,
    .result-entry-card .button { grid-column: auto; }
}

/* Professional admin shell and readability layer */
.admin-authenticated {
    --void: #121013;
    --void-2: #1a1619;
    --panel: #252025;
    --panel-2: #2e272c;
    --line: #5e4c55;
    --cream: #fff8f1;
    --muted: #c4b7ba;
    --red: #e3184a;
    --red-dark: #a80d35;
    --gold: #e0b568;
    --green: #55b889;
    --shadow: 0 18px 48px rgba(0, 0, 0, .28);
    min-height: 100%;
    background: var(--void);
    color: var(--cream);
    font-size: 15px;
    line-height: 1.5;
}

.admin-authenticated h1,
.admin-authenticated h2,
.admin-authenticated h3,
.admin-authenticated h4,
.admin-authenticated h5,
.admin-authenticated h6 {
    font-family: inherit;
    letter-spacing: -.018em;
}

.admin-authenticated button,
.admin-authenticated input,
.admin-authenticated select,
.admin-authenticated textarea {
    font-family: inherit;
}

.admin-authenticated .admin-shell {
    grid-template-columns: 276px minmax(0, 1fr);
    background: var(--void);
}

.admin-authenticated .sidebar {
    z-index: 30;
    height: 100dvh;
    padding: 22px 18px 18px;
    border-right: 1px solid #4a3941;
    background: #191519;
    box-shadow: 8px 0 28px rgba(0, 0, 0, .12);
}

.admin-authenticated .sidebar .brand {
    min-height: 58px;
    padding: 6px 7px 13px;
    border-bottom: 1px solid #40333a;
}

.admin-authenticated .sidebar .brand-mark {
    width: 42px;
    height: 36px;
}

.admin-authenticated .sidebar .brand small {
    color: #b9acaf;
    font: 700 9px/1.35 ui-monospace, "SFMono-Regular", Consolas, monospace;
    letter-spacing: .085em;
}

.admin-authenticated .sidebar .brand strong {
    margin-top: 4px;
    font: 750 18px/1.15 inherit;
    letter-spacing: -.015em;
}

.admin-authenticated .sidebar nav {
    display: grid;
    gap: 4px;
    margin-top: 18px;
}

.admin-authenticated .nav-section-label {
    display: block;
    padding: 0 11px;
    margin: 16px 0 4px;
    color: #95868b;
    font-size: 10px;
    font-weight: 800;
    line-height: 1.3;
    text-transform: uppercase;
    letter-spacing: .095em;
}

.admin-authenticated .nav-section-label:first-child {
    margin-top: 0;
}

.admin-authenticated .sidebar nav a,
.admin-authenticated .sidebar nav a:not(.active) {
    position: relative;
    display: flex;
    min-height: 48px;
    align-items: center;
    justify-content: flex-start;
    gap: 11px;
    padding: 10px 12px;
    border: 1px solid transparent;
    border-radius: 9px;
    color: #c9bdc0;
    font-size: 13px;
    font-weight: 680;
    line-height: 1.25;
}

.admin-authenticated .sidebar nav a:hover {
    border-color: #59454e;
    background: #272026;
    color: #fff;
}

.admin-authenticated .sidebar nav a.active {
    border-color: rgba(227, 24, 74, .48);
    background: rgba(227, 24, 74, .13);
    box-shadow: inset 3px 0 var(--red);
    color: #fff;
}

.admin-authenticated .sidebar nav a.nav-secondary {
    min-height: 44px;
    margin-left: 13px;
    padding-left: 10px;
    border-left-color: #4d3d44;
    border-radius: 0 9px 9px 0;
    color: #b7aaae;
    font-size: 12.5px;
}

.admin-authenticated .sidebar nav a.nav-secondary.active {
    border-left-color: var(--red);
}

.admin-authenticated .sidebar nav a .nav-icon {
    display: grid;
    width: 24px;
    height: 24px;
    flex: 0 0 24px;
    place-items: center;
    color: #d8c8cd;
    font-size: 0;
}

.admin-authenticated .sidebar nav a .nav-icon svg {
    width: 22px;
    height: 22px;
    overflow: visible;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.8;
}

.admin-authenticated .sidebar nav a.active .nav-icon {
    color: #ff6f91;
}

.admin-authenticated .sidebar nav a .nav-label {
    display: block;
    width: auto;
    min-width: 0;
    font-size: inherit;
    text-align: left;
}

.admin-authenticated .sidebar nav a .nav-label-full,
.admin-authenticated .sidebar nav a .nav-label-compact {
    width: auto;
    font-size: inherit;
    line-height: inherit;
    text-align: inherit;
}

.admin-authenticated .nav-label-compact {
    display: none;
}

.admin-authenticated .sidebar-footer {
    padding-top: 16px;
    border-top-color: #493942;
}

.admin-authenticated .user-chip {
    min-width: 0;
    margin-bottom: 12px;
}

.admin-authenticated .user-chip > span {
    width: 38px;
    height: 38px;
    flex: 0 0 38px;
    background: #8f1535;
}

.admin-authenticated .user-chip > div {
    min-width: 0;
}

.admin-authenticated .user-chip strong {
    overflow: hidden;
    font-size: 13px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.admin-authenticated .user-chip small {
    color: var(--muted);
    font-size: 11.5px;
}

.admin-authenticated .sidebar-footer form {
    width: 100%;
}

.admin-authenticated .sidebar-logout {
    display: flex;
    width: 100%;
    min-height: 44px;
    align-items: center;
    gap: 9px;
    padding: 9px 11px;
    border: 1px solid #5a4650;
    border-radius: 8px;
    background: transparent;
    color: #d5c7ca;
    cursor: pointer;
    font-size: 12px;
    font-weight: 700;
    text-align: left;
}

.admin-authenticated .sidebar-logout:hover {
    border-color: #9c6a78;
    background: #292126;
    color: #fff;
}

.admin-authenticated .sidebar-logout svg {
    width: 19px;
    height: 19px;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.8;
}

.admin-authenticated .admin-content {
    min-width: 0;
    background:
        radial-gradient(circle at 92% 0, rgba(227, 24, 74, .055), transparent 28rem),
        #131114;
}

.admin-authenticated .topbar {
    height: 88px;
    padding: 0 32px;
    border-bottom-color: #4c3d44;
    background: rgba(19, 17, 20, .94);
    box-shadow: 0 8px 24px rgba(0, 0, 0, .1);
    backdrop-filter: blur(16px);
}

.admin-authenticated .topbar-inner {
    display: flex;
    width: 100%;
    max-width: 1440px;
    min-width: 0;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    margin-inline: auto;
}

.admin-authenticated .topbar-title {
    min-width: 0;
}

.admin-authenticated .topbar-title p {
    overflow: hidden;
    color: var(--gold);
    font: 750 10.5px/1.3 ui-monospace, "SFMono-Regular", Consolas, monospace;
    text-overflow: ellipsis;
    white-space: nowrap;
    letter-spacing: .085em;
}

.admin-authenticated .topbar-title h1 {
    margin-top: 5px;
    overflow: hidden;
    font-size: 24px;
    font-weight: 760;
    line-height: 1.15;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.admin-authenticated .topbar-tools {
    min-width: 0;
}

.admin-authenticated .topbar-scope {
    max-width: 310px;
    min-height: 50px;
    justify-content: center;
    gap: 2px;
    padding: 7px 12px;
    border-color: #5f4d55;
    background: #252025;
}

.admin-authenticated .topbar-scope small {
    color: #a99b9f;
    font-size: 10.5px;
    font-weight: 700;
    letter-spacing: .045em;
}

.admin-authenticated .topbar-scope strong {
    color: #f3cf89;
    font-size: 12.5px;
}

.admin-authenticated .topbar-account summary {
    min-height: 48px;
    border-color: #66525b;
    background: #282126;
}

.admin-authenticated .topbar-account summary > b {
    font-size: 12px;
}

.admin-authenticated .topbar-account > div {
    z-index: 50;
    border-color: #66525b;
    background: #252025;
}

.admin-authenticated .admin-content > main {
    width: 100%;
    max-width: 1440px;
    padding: 32px 34px 72px;
    margin-inline: auto;
}

.admin-authenticated .admin-content main .eyebrow {
    color: #e8bf72;
    font-size: 11.5px;
    font-weight: 780;
    letter-spacing: .085em;
}

.admin-authenticated .admin-content main .muted,
.admin-authenticated .admin-content main .section-description {
    color: var(--muted);
    font-size: 13px;
    line-height: 1.62;
}

.admin-authenticated .admin-content main small {
    font-size: 12px;
    line-height: 1.45;
}

.admin-authenticated .admin-content main label,
.admin-authenticated .admin-content main fieldset legend {
    color: #d2c6c8;
    font-size: 13px !important;
    font-weight: 680;
    line-height: 1.4;
}

.admin-authenticated .admin-content main label > small,
.admin-authenticated .admin-content main .form-help,
.admin-authenticated .admin-content main .field-note,
.admin-authenticated .admin-content main .section-description,
.admin-authenticated .admin-content main .guidance-note p,
.admin-authenticated .admin-content main .scope-note small {
    color: var(--muted);
    font-size: 12px !important;
    font-weight: 450;
    line-height: 1.55;
}

.admin-authenticated input:not([type='checkbox']):not([type='radio']):not([type='hidden']),
.admin-authenticated select,
.admin-authenticated textarea {
    min-height: 46px;
    padding: 10px 12px;
    border: 1px solid #6b555f;
    border-radius: 8px;
    background: #151216;
    color: var(--cream);
    font-size: 14px;
    line-height: 1.35;
}

.admin-authenticated input::placeholder,
.admin-authenticated textarea::placeholder {
    color: #8f8287;
    opacity: 1;
}

.admin-authenticated input:hover,
.admin-authenticated select:hover,
.admin-authenticated textarea:hover {
    border-color: #8b707c;
}

.admin-authenticated input:focus,
.admin-authenticated select:focus,
.admin-authenticated textarea:focus {
    border-color: var(--gold);
    box-shadow: 0 0 0 3px rgba(224, 181, 104, .13);
}

.admin-authenticated .button {
    min-height: 46px;
    padding: 10px 16px;
    border: 1px solid #836a75;
    border-radius: 8px;
    background: #352b31;
    box-shadow: 0 1px 0 rgba(255, 255, 255, .055);
    color: #fffaf5;
    font-size: 13px;
    font-weight: 760;
    line-height: 1.25;
    cursor: pointer;
}

.admin-authenticated .button:hover {
    border-color: #a68794;
    background: #41343b;
}

.admin-authenticated .button.primary {
    border-color: #f03762;
    background: #d91645;
    color: #fff;
    box-shadow: 0 5px 16px rgba(217, 22, 69, .2);
}

.admin-authenticated .button.primary:hover {
    border-color: #ff6687;
    background: #ed1d50;
}

.admin-authenticated .button.secondary {
    border-color: #967684;
    background: #3a2f35;
    color: #fff;
}

.admin-authenticated .button.secondary:hover {
    border-color: var(--gold);
    background: #46383f;
}

.admin-authenticated .button.subtle {
    border-color: #67545d;
    background: transparent;
    color: #e8dcde;
    box-shadow: none;
}

.admin-authenticated .button.subtle:hover {
    border-color: #947985;
    background: #2b2428;
}

.admin-authenticated .button.gold {
    border-color: #f1cc83;
    background: var(--gold);
    color: #211719;
}

.admin-authenticated .button.danger {
    border-color: #c95d75;
    background: transparent;
    color: #ff9eb1;
    box-shadow: none;
}

.admin-authenticated .button.danger:hover {
    border-color: #ff7791;
    background: rgba(227, 24, 74, .11);
}

.admin-authenticated .button:disabled,
.admin-authenticated .button:disabled:hover {
    border-color: #4b4045;
    background: #211c1f;
    color: #81767a;
    box-shadow: none;
    cursor: not-allowed;
}

.admin-authenticated .status {
    min-height: 28px;
    align-items: center;
    padding: 4px 9px;
    border: 1px solid #67585e;
    border-radius: 999px;
    background: #211d20;
    box-shadow: none;
    color: #c8bec0;
    font-size: 11.5px;
    font-weight: 750;
    line-height: 1.2;
    cursor: default;
}

.admin-authenticated .status.success {
    border-color: rgba(85, 184, 137, .46);
    background: rgba(85, 184, 137, .1);
    color: #8ad8b2;
}

.admin-authenticated .status.pending {
    border-color: rgba(224, 181, 104, .42);
    background: rgba(224, 181, 104, .08);
    color: #ebc77f;
}

.admin-authenticated .static-state,
.admin-authenticated .locked-badge,
.admin-authenticated .entry-lock-state {
    border: 1px dashed #66565d;
    background: #1c191b;
    box-shadow: none;
    color: #aaa0a3;
    cursor: default;
    font-size: 11.5px;
}

.admin-authenticated .flash {
    padding: 14px 16px;
    border-radius: 9px;
    font-size: 13px;
    font-weight: 620;
    line-height: 1.5;
}

.admin-authenticated .flash.success {
    border-color: rgba(85, 184, 137, .7);
    background: rgba(85, 184, 137, .11);
    color: #9ae2bd;
}

.admin-authenticated .flash.error {
    border-color: rgba(255, 104, 134, .72);
    background: rgba(227, 24, 74, .1);
    color: #ffadbd;
}

.admin-authenticated .page-intro {
    align-items: flex-start;
    gap: 24px;
    margin-bottom: 24px;
}

.admin-authenticated .page-intro h2 {
    font-size: clamp(25px, 2.25vw, 31px);
    font-weight: 760;
}

.admin-authenticated .section-heading h2 {
    font-size: 21px;
    font-weight: 740;
}

.admin-authenticated .table-card,
.admin-authenticated .form-card,
.admin-authenticated .competition-manage-card,
.admin-authenticated .master-record-card,
.admin-authenticated .prize-manage-card,
.admin-authenticated .region-summary-card,
.admin-authenticated .stack-list,
.admin-authenticated .winner-list {
    border-color: #594851;
    background: var(--panel);
    box-shadow: 0 5px 18px rgba(0, 0, 0, .11);
}

.admin-authenticated .stat-grid {
    gap: 14px;
}

.admin-authenticated .stat-grid article {
    padding: 19px;
    border-color: #594851;
    background: var(--panel);
    box-shadow: 0 5px 18px rgba(0, 0, 0, .1);
}

.admin-authenticated .stat-grid small,
.admin-authenticated .stat-grid span {
    color: var(--muted);
    font-size: 12px;
}

.admin-authenticated .stat-grid strong {
    color: #f0ce8b;
    font-family: inherit;
    font-size: 30px;
    font-weight: 760;
}

.admin-authenticated .table-card th {
    padding: 13px 15px;
    background: #30282d;
    color: #e7dcde;
    font-size: 12px;
}

.admin-authenticated .table-card td {
    padding: 14px 15px;
    color: #c6babe;
    font-size: 13px;
}

.admin-authenticated .cell-sub {
    color: var(--muted);
    font-size: 11.5px;
}

.admin-authenticated .section-tabs a,
.admin-authenticated .region-tabs a {
    border-color: #5d4b54;
    background: #1c181b;
    color: #c2b6ba;
    font-size: 12.5px;
}

.admin-authenticated .section-tabs a:hover,
.admin-authenticated .section-tabs a.active,
.admin-authenticated .section-tabs a[aria-current='page'],
.admin-authenticated .region-tabs a:hover,
.admin-authenticated .region-tabs a.active {
    border-color: var(--gold);
    background: #30282d;
    color: #fff;
}

.admin-authenticated .competition-manage-card > .competition-summary {
    background: #2c252a;
}

.admin-authenticated .competition-manage-card > .competition-summary:hover,
.admin-authenticated .competition-manage-card[open] > .competition-summary {
    background: #352b31;
}

.admin-authenticated button:focus-visible,
.admin-authenticated input:focus-visible,
.admin-authenticated select:focus-visible,
.admin-authenticated textarea:focus-visible,
.admin-authenticated summary:focus-visible,
.admin-authenticated a:focus-visible,
.admin-authenticated [tabindex='0']:focus-visible {
    outline: 3px solid #f0c979;
    outline-offset: 3px;
}

@media (min-width: 761px) and (max-width: 1100px) {
    .admin-authenticated .admin-shell {
        grid-template-columns: 108px minmax(0, 1fr);
    }

    .admin-authenticated .sidebar {
        padding: 18px 8px;
    }

    .admin-authenticated .sidebar .brand {
        justify-content: center;
        padding-inline: 0;
    }

    .admin-authenticated .sidebar .brand > span:last-child,
    .admin-authenticated .sidebar-footer,
    .admin-authenticated .nav-section-label {
        display: none;
    }

    .admin-authenticated .sidebar nav {
        gap: 5px;
        margin-top: 20px;
    }

    .admin-authenticated .sidebar nav a,
    .admin-authenticated .sidebar nav a:not(.active),
    .admin-authenticated .sidebar nav a.nav-secondary {
        min-height: 58px;
        flex-direction: column;
        justify-content: center;
        gap: 3px;
        padding: 7px 4px;
        margin-left: 0;
        border: 1px solid transparent;
        border-radius: 9px;
        font-size: 10.5px;
        text-align: center;
    }

    .admin-authenticated .sidebar nav a.active {
        border-color: rgba(227, 24, 74, .4);
        box-shadow: inset 3px 0 var(--red);
    }

    .admin-authenticated .sidebar nav a .nav-label {
        width: 100%;
        font-size: inherit;
        line-height: 1.15;
        text-align: center;
    }

    .admin-authenticated .nav-label-full {
        display: none;
    }

    .admin-authenticated .nav-label-compact {
        display: block;
    }

    .admin-authenticated .topbar {
        height: 84px;
        padding-inline: 24px;
    }

    .admin-authenticated .admin-content > main {
        padding: 28px 24px 64px;
    }
}

/* Readable type scale for day-to-day admin work. */
.admin-authenticated {
    font-size: 16px;
}

.admin-authenticated .sidebar .brand small,
.admin-guest .brand small {
    color: #bfb3b7;
    font-family: inherit;
    font-size: 11px;
    line-height: 1.35;
    letter-spacing: .045em;
}

.admin-authenticated .nav-section-label {
    font-size: 11px;
}

.admin-authenticated .sidebar nav a,
.admin-authenticated .sidebar nav a:not(.active) {
    font-size: 14px;
}

.admin-authenticated .topbar-title p,
.admin-authenticated .admin-content main .eyebrow {
    font-family: inherit;
    font-size: 12px;
    letter-spacing: .05em;
}

.admin-authenticated .admin-content main small,
.admin-authenticated .admin-content main label > small,
.admin-authenticated .admin-content main .form-help,
.admin-authenticated .admin-content main .field-note,
.admin-authenticated .admin-content main .section-description,
.admin-authenticated .admin-content main .guidance-note p,
.admin-authenticated .admin-content main .scope-note small {
    font-size: 13px !important;
}

.admin-authenticated .admin-content main label,
.admin-authenticated .admin-content main fieldset legend,
.admin-authenticated .button {
    font-size: 14px !important;
}

.admin-authenticated input:not([type='checkbox']):not([type='radio']):not([type='hidden']),
.admin-authenticated select,
.admin-authenticated textarea {
    font-size: 15px;
}

.admin-authenticated .table-card th {
    font-size: 13px;
}

.admin-authenticated .table-card td {
    font-size: 14px;
}

.admin-authenticated .cell-sub,
.admin-authenticated .status,
.admin-authenticated .static-state,
.admin-authenticated .locked-badge,
.admin-authenticated .entry-lock-state,
.admin-authenticated .competition-category,
.admin-authenticated .region-badge,
.admin-authenticated .format-badge,
.admin-authenticated .winner-banner > span {
    font-size: 12px;
}

@media (min-width: 761px) and (max-width: 1100px) {
    .admin-authenticated .sidebar nav a,
    .admin-authenticated .sidebar nav a:not(.active),
    .admin-authenticated .sidebar nav a.nav-secondary {
        font-size: 11.5px;
    }
}

@media (max-width: 760px) {
    .admin-authenticated .sidebar nav a,
    .admin-authenticated .sidebar nav a:not(.active),
    .admin-authenticated .sidebar nav a .nav-label {
        font-size: 12px;
    }

    .admin-authenticated .topbar-title p {
        font-size: 11.5px;
    }

    .admin-authenticated input:not([type='checkbox']):not([type='radio']):not([type='hidden']),
    .admin-authenticated select,
    .admin-authenticated textarea {
        font-size: 16px;
    }
}

@media (max-width: 380px) {
    .admin-authenticated .sidebar nav a,
    .admin-authenticated .sidebar nav a:not(.active),
    .admin-authenticated .sidebar nav a .nav-label {
        font-size: 11.5px;
    }
}

/* Calm, utilitarian authentication screen. */
.admin-guest {
    background: #121013;
    color: #f8f3ee;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
    font-size: 16px;
    line-height: 1.5;
}

.admin-guest h1,
.admin-guest h2,
.admin-guest h3,
.admin-guest .brand strong {
    font-family: inherit;
}

.admin-guest .guest-shell {
    padding: 28px;
    background: #121013;
}

.admin-guest .login-card {
    width: min(920px, 100%);
    min-height: 540px;
    grid-template-columns: minmax(300px, .85fr) minmax(390px, 1.15fr);
    border-color: #4e4148;
    border-radius: 12px;
    background: #1d191c;
    box-shadow: 0 16px 40px rgba(0, 0, 0, .22);
}

.admin-guest .login-art {
    justify-content: center;
    padding: 48px;
    border-right: 1px solid #493d43;
    background: #181518;
}

.admin-guest .login-art .orb {
    display: none;
}

.admin-guest .login-art p {
    color: #e1b66b;
    font: 750 12px/1.4 inherit;
    letter-spacing: .055em;
}

.admin-guest .login-art h1 {
    max-width: 330px;
    margin: 16px 0;
    color: #fffaf5;
    font-size: 38px;
    font-weight: 760;
    line-height: 1.12;
    letter-spacing: -.025em;
}

.admin-guest .login-art span {
    max-width: 330px;
    color: #bfb3b7;
    font-size: 15px;
    line-height: 1.65;
}

.admin-guest .login-form {
    padding: 48px;
}

.admin-guest .login-form > .brand {
    margin-bottom: 38px;
}

.admin-guest .login-form .eyebrow {
    margin-bottom: 8px;
    color: #e1b66b;
    font-family: inherit;
    font-size: 12px;
    font-weight: 750;
    letter-spacing: .05em;
}

.admin-guest .login-form h2 {
    margin-bottom: 8px;
    font-size: 29px;
    font-weight: 760;
    letter-spacing: -.02em;
}

.admin-guest .login-form .muted {
    color: #bfb3b7;
    font-size: 14px;
    line-height: 1.6;
}

.admin-guest .login-form form {
    gap: 16px;
    margin-top: 24px;
}

.admin-guest .login-form label {
    gap: 8px;
    color: #ddd3d6;
    font-size: 13px;
    font-weight: 680;
}

.admin-guest .login-form input:not([type='checkbox']) {
    min-height: 48px;
    border-color: #67545d;
    background: #131114;
    font-size: 16px;
}

.admin-guest .login-form .check {
    min-height: 44px;
    gap: 10px;
    cursor: pointer;
}

.admin-guest .login-form .check input {
    width: 20px;
    height: 20px;
    accent-color: var(--red);
}

.admin-guest .login-form .button {
    min-height: 48px;
    font-size: 14px;
}

.admin-guest .demo-hint {
    font-size: 12px;
}

@media (max-width: 760px) {
    .admin-guest .guest-shell {
        align-items: center;
        padding: 16px;
    }

    .admin-guest .login-card {
        width: min(520px, 100%);
        grid-template-columns: 1fr;
    }

    .admin-guest .login-art {
        display: none;
    }

    .admin-guest .login-form {
        padding: 30px 24px 32px;
    }

    .admin-guest .login-form > .brand {
        margin-bottom: 30px;
    }

    .admin-guest .login-form h2 {
        font-size: 26px;
    }
}

@media (min-width: 761px) and (max-width: 900px) {
    .admin-authenticated .topbar-scope {
        display: none;
    }
}

@media (max-width: 760px) {
    .admin-authenticated {
        font-size: 15px;
    }

    .admin-authenticated .admin-shell {
        display: block;
        min-height: 100dvh;
    }

    .admin-authenticated .sidebar {
        position: fixed;
        inset: auto 0 0;
        z-index: 60;
        width: 100%;
        height: calc(82px + env(safe-area-inset-bottom));
        padding: 6px max(6px, env(safe-area-inset-right)) max(6px, env(safe-area-inset-bottom)) max(6px, env(safe-area-inset-left));
        border: 0;
        border-top: 1px solid #6a505b;
        background: rgba(27, 21, 25, .98);
        box-shadow: 0 -10px 28px rgba(0, 0, 0, .28);
        backdrop-filter: blur(18px);
    }

    .admin-authenticated .sidebar > .brand,
    .admin-authenticated .sidebar-footer,
    .admin-authenticated .nav-section-label,
    .admin-authenticated .sidebar nav .nav-regions,
    .admin-authenticated .sidebar nav .nav-secondary {
        display: none !important;
    }

    .admin-authenticated .sidebar nav {
        display: grid;
        width: 100%;
        height: 70px;
        grid-template-columns: repeat(5, minmax(0, 1fr));
        gap: 4px;
        margin: 0;
    }

    .admin-authenticated .sidebar nav a,
    .admin-authenticated .sidebar nav a:not(.active) {
        min-width: 0;
        min-height: 68px;
        flex-direction: column;
        justify-content: center;
        gap: 4px;
        padding: 6px 2px;
        border: 1px solid transparent;
        border-radius: 11px;
        font-size: 11px;
        line-height: 1.05;
    }

    .admin-authenticated .sidebar nav a.active,
    .admin-authenticated .sidebar nav a.mobile-parent-active {
        border-color: rgba(255, 111, 145, .42);
        background: rgba(227, 24, 74, .18);
        box-shadow: inset 0 3px var(--red);
    }

    .admin-authenticated .sidebar nav a .nav-icon {
        width: 24px;
        height: 24px;
        flex-basis: 24px;
    }

    .admin-authenticated .sidebar nav a .nav-icon svg {
        width: 22px;
        height: 22px;
    }

    .admin-authenticated .sidebar nav a .nav-label {
        display: block;
        width: 100%;
        overflow: hidden;
        font-size: 11px;
        line-height: 1.1;
        text-align: center;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .admin-authenticated .nav-label-full {
        display: none;
    }

    .admin-authenticated .nav-label-compact {
        display: block;
    }

    .admin-authenticated .topbar {
        height: calc(74px + env(safe-area-inset-top));
        min-height: 74px;
        padding: env(safe-area-inset-top) max(15px, env(safe-area-inset-right)) 0 max(15px, env(safe-area-inset-left));
    }

    .admin-authenticated .topbar-inner {
        gap: 10px;
    }

    .admin-authenticated .topbar-title p {
        max-width: 66vw;
        font-size: 9.5px;
    }

    .admin-authenticated .topbar-title h1 {
        max-width: 66vw;
        margin-top: 4px;
        font-size: clamp(19px, 5.4vw, 22px);
    }

    .admin-authenticated .topbar-scope {
        display: none;
    }

    .admin-authenticated .topbar-account {
        display: block;
        flex: 0 0 auto;
    }

    .admin-authenticated .topbar-account summary {
        width: 46px;
        min-width: 46px;
        min-height: 46px;
        padding: 5px;
    }

    .admin-authenticated .topbar-account summary > b {
        display: none;
    }

    .admin-authenticated .admin-content > main {
        max-width: none;
        padding: 20px max(15px, env(safe-area-inset-right)) calc(106px + env(safe-area-inset-bottom)) max(15px, env(safe-area-inset-left));
    }

    .admin-authenticated .admin-content main small {
        font-size: 12px;
    }

    .admin-authenticated input:not([type='checkbox']):not([type='radio']):not([type='hidden']),
    .admin-authenticated select,
    .admin-authenticated textarea {
        min-height: 48px;
        font-size: 16px;
    }

    .admin-authenticated .button {
        min-height: 48px;
        font-size: 13px;
    }

    .admin-authenticated .page-intro {
        gap: 15px;
        margin-bottom: 20px;
    }

    .admin-authenticated .page-intro h2 {
        font-size: 24px;
    }

    .admin-authenticated .section-heading {
        gap: 12px;
        margin-top: 26px;
    }

    .admin-authenticated .section-heading h2 {
        font-size: 20px;
    }

    .admin-authenticated .stat-grid {
        gap: 10px;
    }

    .admin-authenticated .stat-grid article {
        padding: 15px 13px;
    }

    .admin-authenticated .stat-grid strong {
        font-size: 26px;
    }

    .admin-authenticated .responsive-table td {
        color: #ddd2d5;
        font-size: 13px;
    }

    .admin-authenticated .responsive-table td::before {
        color: #b8aaae;
        font-size: 10.5px;
    }
}

@media (max-width: 380px) {
    .admin-authenticated .sidebar {
        padding-inline: 3px;
    }

    .admin-authenticated .sidebar nav {
        gap: 1px;
    }

    .admin-authenticated .sidebar nav a,
    .admin-authenticated .sidebar nav a:not(.active),
    .admin-authenticated .sidebar nav a .nav-label {
        font-size: 10px;
    }

    .admin-authenticated .topbar-title p,
    .admin-authenticated .topbar-title h1 {
        max-width: 62vw;
    }
}

/* Progressive competition management */
.admin-authenticated .competition-manage-content {
    gap: 9px;
    padding: 12px;
    background: #151215;
}

.admin-authenticated .competition-module {
    overflow: hidden;
}

.admin-authenticated .competition-module > summary,
.admin-authenticated .roster-create-disclosure > summary {
    cursor: pointer;
    list-style: none;
}

.admin-authenticated .competition-module > summary::-webkit-details-marker,
.admin-authenticated .roster-create-disclosure > summary::-webkit-details-marker {
    display: none;
}

.admin-authenticated .competition-module > .competition-module-summary {
    min-height: 70px;
    padding: 13px 16px;
    border-bottom: 0;
    background: #292328;
    transition: background .15s ease, border-color .15s ease;
}

.admin-authenticated .competition-module > .competition-module-summary:hover {
    background: #322a30;
}

.admin-authenticated .competition-module[open] > .competition-module-summary {
    border-bottom: 1px solid #5c4952;
    background: #352a31;
}

.admin-authenticated .competition-module-summary > div {
    flex: 1;
}

.admin-authenticated .competition-module-summary h4 {
    font-family: inherit;
    font-size: 16px;
    font-weight: 750;
}

.admin-authenticated .competition-module-summary p {
    color: var(--muted);
    font-size: 13px;
}

.admin-authenticated .competition-module-toggle {
    display: inline-flex;
    min-width: 76px;
    min-height: 40px;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 7px 10px;
    border: 1px solid #76606a;
    border-radius: 7px;
    background: #211c20;
    color: #e4dadd;
    font-size: 13px;
    font-weight: 750;
    line-height: 1.2;
    white-space: nowrap;
}

.admin-authenticated .competition-module-toggle b {
    color: var(--gold);
    font-size: 15px;
    transition: transform .16s ease;
}

.admin-authenticated .competition-module[open] > summary .when-closed,
.admin-authenticated .roster-create-disclosure[open] > summary .when-closed {
    display: none;
}

.admin-authenticated .competition-module[open] > summary .when-open,
.admin-authenticated .roster-create-disclosure[open] > summary .when-open {
    display: inline;
}

.admin-authenticated .competition-module[open] > summary .competition-module-toggle b,
.admin-authenticated .roster-create-disclosure[open] > summary .competition-module-toggle b {
    transform: rotate(180deg);
}

.admin-authenticated .competition-module-body {
    padding: 17px;
}

.admin-authenticated .module-form-intro {
    display: grid;
    gap: 3px;
    padding: 0 1px 13px;
}

.admin-authenticated .module-form-intro strong {
    font-size: 14px;
}

.admin-authenticated .module-form-intro small {
    color: var(--muted);
}

.admin-authenticated .competition-module .record-edit-content {
    padding: 0;
}

.admin-authenticated .competition-module .roster-layout {
    grid-template-columns: minmax(0, 1fr);
    gap: 13px;
    padding: 16px;
}

.admin-authenticated .roster-create-disclosure {
    min-width: 0;
    order: -1;
    overflow: hidden;
    border: 1px solid #806671;
    border-radius: 9px;
    background: #211c20;
}

.admin-authenticated .roster-create-disclosure > summary {
    display: grid;
    min-height: 68px;
    grid-template-columns: 38px minmax(0, 1fr) auto;
    align-items: center;
    gap: 11px;
    padding: 11px 13px;
}

.admin-authenticated .roster-create-disclosure > summary:hover {
    background: #2b2328;
}

.admin-authenticated .roster-create-disclosure[open] > summary {
    border-bottom: 1px solid #5d4a53;
    background: #2d252a;
}

.admin-authenticated .roster-create-icon {
    display: grid;
    width: 38px;
    height: 38px;
    place-items: center;
    border-radius: 8px;
    background: var(--red);
    color: #fff;
    font-size: 21px;
    font-weight: 500;
}

.admin-authenticated .roster-create-disclosure > summary > span:nth-child(2) {
    display: grid;
    min-width: 0;
    gap: 3px;
}

.admin-authenticated .roster-create-disclosure > summary strong {
    font-size: 14px;
}

.admin-authenticated .roster-create-disclosure > summary small {
    color: var(--muted);
    font-size: 13px;
}

.admin-authenticated .roster-create-disclosure .compact-module-toggle {
    min-width: 122px;
}

.admin-authenticated .roster-create-disclosure > .roster-add-panel {
    padding: 16px;
    border: 0;
    border-radius: 0;
    background: #251f23;
}

.admin-authenticated .competition-module .roster-closed-note {
    order: -1;
}

@media (max-width: 760px) {
    .admin-authenticated .competition-manage-content {
        gap: 8px;
        padding: 8px;
    }

    .admin-authenticated .competition-module > .competition-module-summary {
        display: grid;
        min-height: 66px;
        grid-template-columns: 32px minmax(0, 1fr) auto;
        gap: 10px;
        padding: 11px 12px;
    }

    .admin-authenticated .competition-module-summary h4 {
        font-size: 15px;
    }

    .admin-authenticated .competition-module-toggle {
        min-width: 64px;
        min-height: 44px;
        padding-inline: 8px;
    }

    .admin-authenticated .competition-module-body {
        padding: 13px;
    }

    .admin-authenticated .competition-module .roster-layout {
        padding: 12px;
    }

    .admin-authenticated .roster-create-disclosure > summary {
        min-height: 72px;
        grid-template-columns: 38px minmax(0, 1fr) auto;
        padding: 11px;
    }

    .admin-authenticated .roster-create-disclosure .compact-module-toggle {
        min-width: 108px;
        min-height: 44px;
        padding-inline: 8px;
    }

    .admin-authenticated .roster-create-disclosure > .roster-add-panel {
        padding: 14px;
    }
}

@media (max-width: 440px) {
    .admin-authenticated .roster-create-disclosure > summary {
        grid-template-columns: 38px minmax(0, 1fr);
    }

    .admin-authenticated .roster-create-disclosure .compact-module-toggle {
        width: 100%;
        min-width: 0;
        grid-column: 1 / -1;
    }
}

/* Final mobile readability and touch-target safeguards. */
.admin-authenticated .competition-category,
.admin-authenticated .region-badge,
.admin-authenticated .format-badge,
.admin-authenticated .winner-banner > span {
    font-size: 12px;
}

.admin-authenticated .video-current-actions .text-link {
    display: inline-flex;
    min-height: 44px;
    align-items: center;
}

@media (max-width: 760px) {
    .admin-authenticated .topbar-title p {
        font-size: 11.5px;
    }
}

@media (max-width: 380px) {
    .admin-authenticated .sidebar nav a,
    .admin-authenticated .sidebar nav a:not(.active),
    .admin-authenticated .sidebar nav a .nav-label {
        font-size: 11.5px;
    }
}
