.admin-body { background: #07130f; }
.admin-shell { width: min(1220px, calc(100% - 34px)); margin-inline: auto; }
.admin-header { position: sticky; top: 0; z-index: 70; background: rgba(6,18,14,.94); backdrop-filter: blur(16px); border-bottom: 1px solid var(--line); }
.admin-header-inner { min-height: 68px; display: flex; align-items: center; gap: 20px; }
.admin-nav { display: flex; gap: 4px; margin-left: auto; }.admin-nav a { color: var(--muted); border-radius: 10px; padding: 9px 12px; font-size: 13px; font-weight: 750; }.admin-nav a:hover,.admin-nav a.is-active { color: var(--ink); background: rgba(94,229,141,.1); }
.view-site,.logout-button { border: 1px solid var(--line); background: transparent; color: var(--muted); padding: 8px 11px; border-radius: 10px; font-size: 12px; cursor: pointer; }.view-site:hover,.logout-button:hover { color: var(--ink); border-color: rgba(94,229,141,.4); }
.admin-menu-toggle { display: none; width: 42px; height: 42px; border: 1px solid var(--line); border-radius: 12px; background: var(--panel); padding: 10px; margin-left: auto; }.admin-menu-toggle span:not(.sr-only) { display: block; height: 2px; background: var(--ink); margin: 4px 0; }
.admin-main { padding: 36px 0 70px; min-height: calc(100vh - 130px); }
.admin-titlebar { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin-bottom: 26px; }.admin-titlebar h1 { font-size: clamp(31px,5vw,52px); letter-spacing: -.05em; margin: 3px 0 0; }.admin-titlebar p { color: var(--muted); margin: 8px 0 0; }.admin-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.notice { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 15px 18px; margin-bottom: 22px; border: 1px solid rgba(94,229,141,.3); border-radius: 14px; background: rgba(94,229,141,.09); color: var(--ink); }.notice-error { border-color: rgba(255,123,112,.35); background: rgba(255,123,112,.09); }.notice-actions { display: flex; gap: 8px; }.notice a { padding: 6px 10px; border-radius: 8px; background: rgba(0,0,0,.2); color: var(--lime); font-weight: 800; font-size: 12px; }
.admin-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 13px; }.admin-metric { padding: 20px; }.admin-metric span { color: var(--muted); font-size: 11px; text-transform: uppercase; letter-spacing: .09em; }.admin-metric strong { display: block; font-size: 34px; margin-top: 8px; letter-spacing: -.04em; }
.admin-columns { display: grid; grid-template-columns: 1.15fr .85fr; gap: 15px; margin-top: 15px; }.admin-panel { padding: 23px; }.admin-panel-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 16px; }.admin-panel h2 { margin: 0; font-size: 20px; }.admin-list { display: grid; gap: 1px; background: var(--line); border: 1px solid var(--line); border-radius: 14px; overflow: hidden; }.admin-list-row { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 14px; min-height: 65px; padding: 12px 14px; background: var(--panel); }.admin-list-row:hover { background: var(--panel-2); }.admin-list-row h3 { margin: 0; font-size: 15px; }.admin-list-row p { margin: 3px 0 0; color: var(--muted); font-size: 11px; }.admin-list-value { text-align: right; }.admin-list-value strong { display: block; color: var(--lime); }.admin-list-value span { color: var(--muted); font-size: 10px; }
.admin-table { width: 100%; border-collapse: collapse; overflow: hidden; border-radius: 15px; background: var(--panel); border: 1px solid var(--line); }.admin-table th,.admin-table td { text-align: left; padding: 14px 16px; border-bottom: 1px solid var(--line); }.admin-table th { color: var(--muted); font-size: 9px; text-transform: uppercase; letter-spacing: .11em; background: rgba(0,0,0,.15); }.admin-table tr:last-child td { border-bottom: 0; }.admin-table .avatar { width: 40px; height: 40px; border-radius: 50%; object-fit: cover; }.admin-table .avatar-fallback { display: grid; place-items: center; background: var(--panel-2); color: var(--green); font-weight: 900; }.admin-player { display: flex; align-items: center; gap: 11px; }.admin-player strong,.admin-player small { display: block; }.admin-player small { color: var(--muted); margin-top: 2px; }.row-actions { display: flex; flex-wrap: wrap; gap: 6px; }.small-button { display: inline-flex; align-items: center; justify-content: center; min-height: 35px; border: 1px solid var(--line); background: rgba(0,0,0,.1); color: var(--ink); border-radius: 9px; padding: 7px 10px; font-size: 11px; font-weight: 800; cursor: pointer; }.small-button:hover { border-color: var(--green); }.small-button.danger { color: var(--red); }
.form-card { padding: clamp(19px,4vw,32px); }.form-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 17px; }.field { display: grid; gap: 7px; }.field-full { grid-column: 1 / -1; }.field label,.field > span:first-child { color: var(--muted); font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }.field textarea { min-height: 115px; resize: vertical; }.field small { color: var(--muted); }.checkbox-field { display: flex; align-items: center; gap: 10px; min-height: 48px; padding: 11px 14px; background: rgba(5,17,13,.8); border: 1px solid var(--line); border-radius: 14px; }.checkbox-field input { width: 20px; height: 20px; accent-color: var(--green); }.checkbox-field span { font-weight: 750; font-size: 13px; }.form-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 9px; margin-top: 24px; padding-top: 20px; border-top: 1px solid var(--line); }
.upload-preview { display: flex; align-items: center; gap: 15px; }.upload-preview .avatar { width: 82px; height: 82px; object-fit: cover; border-radius: 18px; border: 1px solid var(--line); }.upload-preview .avatar-fallback { display: grid; place-items: center; background: var(--panel-2); color: var(--green); font-size: 22px; font-weight: 900; }
.session-core { margin-bottom: 20px; }.form-section-title { display: flex; align-items: center; justify-content: space-between; gap: 15px; margin: 28px 0 14px; }.form-section-title h2 { margin: 0; font-size: 21px; }.form-section-title p { margin: 3px 0 0; color: var(--muted); font-size: 12px; }
.participant-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 9px; }.participant-card { position: relative; display: flex; align-items: center; gap: 10px; min-height: 62px; padding: 10px 12px; background: rgba(5,17,13,.65); border: 1px solid var(--line); border-radius: 14px; cursor: pointer; transition: .18s ease; }.participant-card:has(input:checked) { border-color: var(--green); background: rgba(94,229,141,.09); }.participant-card input { width: 21px; height: 21px; accent-color: var(--green); }.participant-card .avatar { width: 38px; height: 38px; border-radius: 50%; object-fit: cover; }.participant-card .avatar-fallback { display: grid; place-items: center; background: var(--panel-2); color: var(--green); font-size: 11px; font-weight: 900; }.participant-card strong,.participant-card small { display: block; }.participant-card small { color: var(--muted); font-size: 10px; margin-top: 2px; }
.score-entry-list { display: grid; gap: 12px; }.score-entry { overflow: hidden; }.score-entry[hidden] { display: none; }.score-entry-head { display: flex; align-items: center; gap: 11px; padding: 14px 17px; background: rgba(0,0,0,.13); border-bottom: 1px solid var(--line); }.score-entry-head .avatar { width: 42px; height: 42px; border-radius: 50%; object-fit: cover; }.score-entry-head .avatar-fallback { display: grid; place-items: center; color: var(--green); background: var(--panel-2); font-weight: 900; }.score-entry-head h3 { margin: 0; }.score-entry-head p { color: var(--muted); margin: 2px 0 0; font-size: 10px; }.score-entry-body { padding: 17px; }.score-groups { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; }.score-group { display: grid; gap: 12px; align-content: start; }.score-group h4 { color: var(--green); margin: 0; padding-bottom: 8px; border-bottom: 1px solid var(--line); font-size: 11px; text-transform: uppercase; letter-spacing: .1em; }
.quick-field { display: grid; gap: 6px; }.quick-field > label { color: var(--muted); font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: .07em; }.stepper { display: grid; grid-template-columns: 43px 43px 1fr 43px 43px; min-height: 46px; border: 1px solid var(--line); border-radius: 12px; overflow: hidden; background: rgba(5,17,13,.8); }.stepper.compact { grid-template-columns: 43px 1fr 43px; }.stepper button { border: 0; border-right: 1px solid var(--line); background: rgba(255,255,255,.035); color: var(--ink); font-weight: 900; cursor: pointer; min-width: 43px; }.stepper button:last-child { border-right: 0; border-left: 1px solid var(--line); }.stepper button:active { background: rgba(94,229,141,.2); }.stepper input { min-width: 0; width: 100%; border: 0; background: transparent; text-align: center; color: var(--ink); font-weight: 900; appearance: textfield; }.stepper input::-webkit-outer-spin-button,.stepper input::-webkit-inner-spin-button { appearance: none; margin: 0; }
.score-extras { display: grid; grid-template-columns: repeat(2,1fr); gap: 11px; margin-top: 18px; padding-top: 16px; border-top: 1px solid var(--line); }.score-extras .field:last-child { grid-column: 1 / -1; }.exclude-toggle { border-color: rgba(255,123,112,.22); }.exclude-toggle input { accent-color: var(--red); }
.settings-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 13px; }.settings-group { padding: 20px; }.settings-group h2 { margin: 0 0 15px; font-size: 17px; }.settings-group .field + .field { margin-top: 12px; }
.login-page { min-height: 100vh; display: grid; place-items: center; padding: 25px; background: radial-gradient(circle at 50% 0, rgba(94,229,141,.16), transparent 35rem), #06120e; }.login-card { width: min(440px,100%); padding: 30px; }.login-brand { justify-content: center; width: 100%; margin-bottom: 25px; }.login-card h1 { text-align: center; font-size: 34px; letter-spacing: -.04em; margin: 0 0 7px; }.login-card > p { text-align: center; color: var(--muted); margin: 0 0 24px; }.login-card .field + .field { margin-top: 14px; }.login-card .btn { width: 100%; margin-top: 20px; }.login-help { text-align: center; font-size: 11px; color: var(--muted); margin-top: 18px; }.login-help a { color: var(--green); }
.admin-empty { padding: 35px; text-align: center; }.admin-empty h2 { margin: 0 0 7px; }.admin-empty p { color: var(--muted); margin: 0 0 16px; }
.admin-footer { border-top: 1px solid var(--line); padding: 24px 0; color: var(--muted); font-size: 11px; }.admin-footer .admin-shell { display: flex; justify-content: space-between; }

.nav-count { display: inline-grid; place-items: center; min-width: 19px; height: 19px; margin-left: 4px; padding: 0 5px; border-radius: 999px; background: var(--lime); color: #07120c; font-size: 10px; font-weight: 900; }
.pill.pending { background: rgba(244,199,95,.12); color: var(--gold); }.warning-text { color: var(--gold); font-size: 12px; }small.warning-text { max-width: 260px; font-size: 10px; line-height: 1.35; }
.approval-list { display: grid; grid-template-columns: repeat(2,1fr); gap: 12px; }.approval-card { display: grid; gap: 14px; align-content: start; padding: 20px; }.approval-card .avatar { width: 52px; height: 52px; border-radius: 50%; object-fit: cover; }.approval-card .avatar-fallback { display: grid; place-items: center; background: var(--panel-2); color: var(--green); font-weight: 900; }.approval-facts { display: grid; grid-template-columns: repeat(4,1fr); gap: 10px; margin: 0; }.approval-facts dt { color: var(--muted); font-size: 9px; text-transform: uppercase; letter-spacing: .1em; }.approval-facts dd { margin: 3px 0 0; font-size: 13px; font-weight: 700; }.approval-note { margin: 0; padding: 12px 14px; border-left: 3px solid var(--green); background: rgba(0,0,0,.15); border-radius: 0 10px 10px 0; color: var(--ink); font-size: 13px; line-height: 1.5; }.approval-card .warning-text { margin: 0; }.approval-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; padding-top: 14px; border-top: 1px solid var(--line); }.approval-link { display: flex; gap: 6px; }.approval-link select { min-height: 35px; max-width: 190px; color: var(--ink); background: rgba(5,17,13,.8); border: 1px solid var(--line); border-radius: 9px; padding: 6px 8px; font-size: 12px; }
.approval-group { overflow: hidden; margin-bottom: 14px; }.approval-group-head { display: flex; flex-wrap: wrap; align-items: end; gap: 14px; padding: 17px 18px; background: rgba(0,0,0,.13); border-bottom: 1px solid var(--line); }.approval-group-head h3 { margin: 0; font-size: 18px; }.approval-group-head p { margin: 3px 0 0; color: var(--muted); font-size: 12px; }.approval-group-head .field { margin-left: auto; min-width: 240px; }.approval-group .admin-table { border: 0; border-radius: 0; }
.login-panel { margin-top: 15px; }.login-panel p { margin: 0 0 14px; }.copy-link { display: flex; gap: 6px; margin-bottom: 8px; }.copy-link input { flex: 1; min-width: 0; min-height: 40px; color: var(--ink); background: rgba(5,17,13,.8); border: 1px solid var(--line); border-radius: 10px; padding: 8px 11px; font-size: 12px; }
.account-shell { max-width: 900px; }.field input:disabled { opacity: .55; cursor: not-allowed; }.account-password { margin-top: 15px; }.account-password h2 { margin: 0 0 16px; font-size: 20px; }.account-score-groups { margin-top: 22px; }.stat-line { display: block; font-size: 12px; }.stat-line + .stat-line { color: var(--muted); margin-top: 2px; }.honeypot { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }

.draw-result { margin-bottom: 8px; }.draw-result .admin-panel-head p { margin: 4px 0 0; font-size: 12px; }
.draw-choice { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 12px; }.draw-choice span { color: var(--muted); font-size: 12px; font-weight: 800; }.small-button.is-active { border-color: var(--lime); background: rgba(199,243,106,.14); color: var(--lime); }
.draw-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 18px; padding-top: 18px; border-top: 1px solid var(--line); }.draw-actions form { margin-left: auto; }.btn.danger { color: var(--red); }
.draw-form .form-section-title p:empty { display: none; }
@media (max-width: 900px) { .approval-list { grid-template-columns: 1fr; }.admin-nav { display: none; position: absolute; top: 61px; left: 16px; right: 16px; z-index: 80; flex-direction: column; padding: 11px; background: #0b2118; border: 1px solid var(--line); border-radius: 16px; box-shadow: var(--shadow); }.admin-nav.is-open { display: flex; }.admin-nav a { padding: 12px; }.admin-menu-toggle { display: block; }.view-site { display: none; }.admin-grid { grid-template-columns: repeat(2,1fr); }.admin-columns { grid-template-columns: 1fr; }.participant-grid { grid-template-columns: repeat(2,1fr); }.score-groups { grid-template-columns: 1fr; }.settings-grid { grid-template-columns: repeat(2,1fr); } }
@media (max-width: 640px) { .draw-actions .btn,.draw-actions form { flex: 1 1 100%; margin-left: 0; }.draw-actions form .btn { width: 100%; }.approval-facts { grid-template-columns: 1fr 1fr; }.approval-group-head .field { margin-left: 0; min-width: 0; width: 100%; }.approval-group-head .btn { width: 100%; }.approval-link { width: 100%; }.approval-link select { max-width: none; flex: 1; }.admin-shell { width: min(100% - 20px,1220px); }.admin-header { position: relative; }.admin-header-inner { min-height: 63px; gap: 8px; }.admin-header .brand small { display: none; }.logout-button { padding: 8px; }.admin-main { padding-top: 24px; }.admin-titlebar { align-items: stretch; flex-direction: column; }.admin-actions .btn { flex: 1; }.notice { align-items: stretch; flex-direction: column; }.notice-actions a { flex: 1; text-align: center; }.admin-grid { grid-template-columns: 1fr 1fr; gap: 8px; }.admin-metric { padding: 15px; }.admin-metric strong { font-size: 28px; }.form-grid,.settings-grid { grid-template-columns: 1fr; }.participant-grid { grid-template-columns: 1fr 1fr; }.participant-card { min-width: 0; }.participant-card .avatar { display: none; }.form-actions { position: sticky; bottom: 8px; z-index: 30; padding: 10px; border: 1px solid var(--line); border-radius: 16px; background: rgba(8,27,20,.94); backdrop-filter: blur(14px); box-shadow: 0 8px 35px rgba(0,0,0,.35); }.form-actions .btn { flex: 1; }.score-entry-body { padding: 13px; }.score-extras { grid-template-columns: 1fr; }.score-extras .field:last-child { grid-column: auto; }.stepper { grid-template-columns: 46px 46px 1fr 46px 46px; min-height: 52px; }.stepper.compact { grid-template-columns: 52px 1fr 52px; }.admin-table-wrap { overflow-x: auto; }.admin-table { min-width: 690px; }.admin-footer { padding-bottom: calc(24px + env(safe-area-inset-bottom)); } }
