.admin-body { min-height: 100vh; background: #090d16; }
.admin-shell { width: min(1120px, calc(100% - 40px)); min-height: 100vh; margin: 0 auto; padding-bottom: 55px; }
.admin-topbar { height: 76px; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid rgba(137,160,187,.14); }
.admin-back { color: #aab6c2; font-size: 12px; font-weight: 600; }
.admin-back:hover { color: var(--cyan); }
.admin-heading { padding: 52px 0 28px; }
.admin-heading .eyebrow { margin-bottom: 11px; }
.admin-heading-row { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; }
.admin-heading h1 { margin: 0; color: var(--text); font: 800 clamp(44px, 8vw, 68px)/.9 var(--display); letter-spacing: .02em; text-transform: uppercase; }
.admin-heading p:not(.eyebrow) { margin: 12px 0 0; color: #9ba8b5; font-size: 13px; }
.admin-lock { display: inline-flex; align-items: center; gap: 8px; padding: 8px 11px; border: 1px solid #2b3a4c; color: #9fb1bf; font-size: 9px; font-weight: 700; letter-spacing: .12em; white-space: nowrap; }
.admin-lock span { color: var(--cyan); }
.admin-gate { max-width: 470px; margin: 32px auto 90px; padding: 29px; border: 1px solid #2d3a4b; background: linear-gradient(145deg, rgba(19,29,43,.96), rgba(11,17,26,.96)); box-shadow: 0 25px 70px rgba(0,0,0,.24); }
.admin-gate-mark { display: grid; width: 42px; height: 42px; place-items: center; color: #061318; background: var(--cyan); font-size: 25px; font-weight: 700; clip-path: polygon(0 0,100% 0,88% 100%,0 100%); }
.admin-gate h2 { margin: 19px 0 8px; font: 700 29px/1 var(--display); text-transform: uppercase; }
.admin-gate > p { color: #9ba8b5; font-size: 12px; line-height: 1.7; }
.admin-login-form { display: grid; gap: 10px; margin-top: 22px; }
.admin-login-form[hidden] { display: none; }
.admin-login-form label { color: #8291a0; font-size: 9px; font-weight: 700; letter-spacing: .13em; }
.admin-login-form input { min-height: 43px; padding: 10px 12px; border: 1px solid #344354; border-radius: 3px; color: var(--text); background: #0a1119; font: 13px var(--font); }
.admin-login-form input:focus { outline: 2px solid rgba(63,225,220,.35); border-color: var(--cyan); }
.admin-login-form .button { min-height: 43px; margin-top: 2px; }
.admin-login-message { min-height: 18px; margin: 0; color: #ff8a7d; font-size: 11px; }
.admin-back-button { display: inline-flex; margin-top: 20px; color: var(--cyan); font-size: 11px; font-weight: 700; }
.admin-dashboard[hidden] { display: none; }
.admin-toolbar { display: flex; justify-content: space-between; align-items: center; gap: 15px; margin: 16px 0 19px; }
.admin-welcome { margin: 0; color: #aeb9c5; font-size: 12px; }
.admin-toolbar-actions { display: flex; align-items: center; gap: 9px; }
.admin-toolbar-actions .button { min-height: 39px; padding: 9px 12px; font-size: 10px; }
.admin-stats { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 12px; margin-bottom: 28px; }
.admin-stat { display: grid; gap: 5px; min-height: 102px; padding: 17px; border: 1px solid #263244; background: #101824; }
.admin-stat span { color: #8594a3; font-size: 9px; font-weight: 700; letter-spacing: .13em; }
.admin-stat strong { color: var(--cyan); font: 700 38px/1 var(--display); }
.admin-list-heading { display: flex; justify-content: space-between; align-items: flex-end; gap: 15px; border-bottom: 1px solid #253243; }
.admin-tabs { display: flex; gap: 5px; }
.admin-tab { min-width: 105px; padding: 12px 16px; border: 1px solid transparent; border-bottom: 0; color: #8c9aa8; background: transparent; font: 700 11px var(--font); cursor: pointer; }
.admin-tab:hover { color: #eaf2f6; }
.admin-tab.is-active { border-color: #253243; color: #09141a; background: var(--cyan); }
.admin-page-count { padding-bottom: 11px; color: #7f8c99; font-size: 10px; }
.admin-notice { min-height: 26px; padding: 7px 0; color: #91a0ad; font-size: 10px; }
.admin-table-wrap { overflow-x: auto; border: 1px solid #253243; background: rgba(14,21,31,.85); }
.admin-table { width: 100%; border-collapse: collapse; text-align: left; }
.admin-table th { padding: 12px 14px; color: #82909d; background: #111a26; font-size: 8px; font-weight: 700; letter-spacing: .12em; white-space: nowrap; }
.admin-table td { max-width: 390px; padding: 12px 14px; border-top: 1px solid #202c3b; color: #c6d0d9; font-size: 11px; overflow-wrap: anywhere; }
.admin-table td strong { color: #f2f5f8; font-size: 12px; }
.admin-table .muted-cell { color: #7e8b98; font-size: 10px; }
.admin-table .empty-cell { padding: 28px 14px; color: #8795a2; text-align: center; }
.admin-detail-button { padding: 7px 9px; border: 1px solid #35465a; color: var(--cyan); background: transparent; font: 700 9px var(--font); cursor: pointer; }
.admin-detail-button:hover { border-color: var(--cyan); background: rgba(63,225,220,.06); }
.admin-pagination { display: flex; justify-content: space-between; gap: 12px; margin-top: 13px; }
.admin-pagination .button { min-height: 36px; padding: 8px 12px; font-size: 10px; }
.admin-pagination .button:disabled { opacity: .42; cursor: not-allowed; transform: none; }
.tournament-detail { position: relative; width: min(720px, calc(100% - 28px)); max-height: min(84vh, 800px); overflow: auto; padding: 27px; border: 1px solid #3a4756; border-radius: 6px; color: var(--text); background: #101822; box-shadow: 0 28px 90px rgba(0,0,0,.58); }
.tournament-detail::backdrop { background: rgba(1,5,10,.8); backdrop-filter: blur(5px); }
.tournament-detail h2 { margin: 4px 0 6px; font: 700 31px/1 var(--display); }
.detail-owner { margin: 0 0 16px; color: #97a4b1; font-size: 11px; }
.tournament-detail pre { max-height: 60vh; overflow: auto; padding: 15px; border: 1px solid #283647; color: #c6d4df; background: #090e16; font: 11px/1.6 ui-monospace, SFMono-Regular, Menlo, monospace; white-space: pre-wrap; overflow-wrap: anywhere; }
.detail-close { position: absolute; top: 8px; right: 11px; width: 33px; height: 33px; border: 0; color: #aab6c1; background: transparent; font-size: 26px; cursor: pointer; }
@media (max-width: 700px) {
  .admin-shell { width: calc(100% - 28px); }
  .admin-topbar { height: 65px; }
  .admin-back { font-size: 10px; }
  .admin-heading { padding: 39px 0 18px; }
  .admin-heading-row { align-items: flex-start; flex-direction: column; gap: 13px; }
  .admin-lock { align-self: flex-start; }
  .admin-toolbar { align-items: flex-start; flex-direction: column; }
  .admin-toolbar-actions { width: 100%; }
  .admin-toolbar-actions .button { flex: 1; }
  .admin-stats { gap: 8px; }
  .admin-stat { min-height: 82px; padding: 12px; }
  .admin-stat strong { font-size: 31px; }
  .admin-tab { min-width: 84px; padding: 11px 9px; }
  .admin-gate { padding: 23px 19px; }
  .admin-table { min-width: 680px; }
  .tournament-detail { padding: 25px 17px 18px; }
}
@media (prefers-reduced-motion: reduce) { .admin-body, .admin-body * { scroll-behavior: auto !important; transition: none !important; } }
