html:has(body.admin-panel-body),
body.admin-panel-body{
  min-height:100dvh;
}

body.admin-panel-body{
  margin:0;
  overflow-x:hidden;
  overflow-y:auto;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior-y:contain;
  background:
    radial-gradient(circle at top center, rgba(72, 191, 236, 0.10), transparent 30%),
    linear-gradient(180deg, #081523 0%, #0a1a2d 36%, #081422 100%);
  color:#eef6ff;
  font-family:"Segoe UI", Inter, system-ui, sans-serif;
  padding:
    max(72px, calc(env(safe-area-inset-top, 0px) + 68px))
    12px
    calc(18px + env(safe-area-inset-bottom, 0px));
}

body.admin-panel-body *{
  box-sizing:border-box;
}

body.admin-panel-body a{
  color:inherit;
  text-decoration:none;
}

:root{
  --admin-shell-width:1060px;
  --admin-panel-bg:rgba(8, 23, 42, 0.88);
  --admin-panel-bg-2:rgba(11, 28, 50, 0.94);
  --admin-surface:linear-gradient(180deg, rgba(15, 32, 55, 0.94), rgba(9, 22, 40, 0.98));
  --admin-surface-soft:rgba(255,255,255,0.04);
  --admin-border:rgba(140, 206, 255, 0.12);
  --admin-border-strong:rgba(140, 206, 255, 0.22);
  --admin-text:#eef6ff;
  --admin-muted:#90a8c5;
  --admin-accent:#7addff;
  --admin-accent-2:#d9f5ff;
  --admin-danger:#ff8d98;
  --admin-shadow:0 18px 60px rgba(0,0,0,0.28);
}

.admin-panel-shell{
  width:min(100%, var(--admin-shell-width));
  margin:0 auto;
  padding-top:0;
}

.admin-panel-card{
  position:relative;
  overflow:hidden;
  border-radius:24px;
  border:1px solid rgba(146, 206, 241, 0.16);
  background:
    linear-gradient(180deg, rgba(12, 28, 47, 0.98), rgba(7, 18, 33, 0.99));
  box-shadow:0 18px 52px rgba(0,0,0,0.28);
  backdrop-filter:blur(14px);
}

.admin-panel-card::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(255,255,255,0.025), transparent 22%, transparent 78%, rgba(255,255,255,0.01));
  pointer-events:none;
}

.admin-panel-inner{
  position:relative;
  z-index:1;
  display:grid;
  gap:14px;
  padding:18px 14px 14px;
}

.admin-panel-hub{
  display:grid;
  gap:14px;
}

.admin-panel-actions{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:10px;
}

.admin-panel-link{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:10px 12px;
  border-radius:14px;
  border:1px solid rgba(122, 180, 216, 0.10);
  background:linear-gradient(180deg, rgba(19, 40, 64, 0.96), rgba(11, 25, 43, 0.98));
  color:#d7eaf8;
  font-size:14px;
  font-weight:700;
  transition:background .18s ease, transform .18s ease, border-color .18s ease;
}

.admin-panel-link:hover{
  background:linear-gradient(180deg, rgba(23, 48, 75, 0.98), rgba(13, 30, 50, 0.99));
  border-color:rgba(122, 180, 216, 0.18);
  transform:translateY(-1px);
}

.admin-panel-nav{
  display:grid;
  gap:10px;
}

.admin-tabs-grid{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:10px;
}

.admin-tab-btn{
  min-height:50px;
  padding:10px 12px;
  border:none;
  border-radius:14px;
  border:1px solid rgba(122, 180, 216, 0.12);
  background:linear-gradient(180deg, rgba(18, 39, 63, 0.98), rgba(11, 25, 43, 0.99));
  color:#d2e5f6;
  font-size:14px;
  font-weight:700;
  cursor:pointer;
  transition:transform .18s ease, background .18s ease, color .18s ease, box-shadow .18s ease;
}

.admin-tab-btn:hover{
  background:linear-gradient(180deg, rgba(23, 47, 75, 0.98), rgba(12, 28, 48, 0.99));
  color:#f2f8ff;
}

.admin-tab-btn.active{
  color:#2f1d03;
  border-color:transparent;
  background:linear-gradient(135deg, #d89d32 0%, #efc76d 52%, #fff0b8 100%);
  box-shadow:0 10px 24px rgba(216, 157, 50, 0.26);
}

.admin-panel-stage{
  display:grid;
  gap:0;
}

.admin-stage-head{
  display:grid;
  gap:6px;
  padding:16px;
  border-radius:18px;
  border:1px solid rgba(122, 180, 216, 0.10);
  background:linear-gradient(180deg, rgba(16, 35, 58, 0.92), rgba(10, 22, 39, 0.96));
}

.admin-stage-title{
  margin:0;
  font-size:22px;
  font-weight:800;
  letter-spacing:-0.03em;
}

.admin-stage-note{
  margin:0;
  color:var(--admin-muted);
  font-size:14px;
  line-height:1.5;
}

.admin-stage-body{
  display:grid;
  gap:16px;
}

.admin-subpanel{
  display:none;
  gap:14px;
}

.admin-subpanel.active{
  display:grid;
}

.admin-toolbar-row,
.admin-inline-actions,
.admin-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  align-items:center;
}

.admin-surface-card,
.admin-rich-card,
.admin-stat-card,
.admin-stats-detail{
  min-width:0;
  border-radius:18px;
  border:1px solid rgba(122, 180, 216, 0.10);
  background:linear-gradient(180deg, rgba(16, 34, 57, 0.95), rgba(9, 21, 38, 0.98));
  box-shadow:0 12px 34px rgba(0,0,0,0.18);
}

.admin-surface-card,
.admin-form-card{
  padding:18px;
}

.admin-rich-card{
  padding:16px;
  margin-bottom:12px;
  display:flex;
  justify-content:space-between;
  gap:14px;
  align-items:flex-start;
}

.admin-rich-card.stacked{
  display:block;
}

.admin-rich-card:last-child{
  margin-bottom:0;
}

.admin-subtitle{
  margin:0 0 8px;
  font-size:19px;
  font-weight:800;
  letter-spacing:-0.02em;
}

.admin-info-box,
.admin-section-note,
.admin-form-hint,
.list-meta{
  color:var(--admin-muted);
  line-height:1.55;
}

.admin-info-box{
  padding:16px 18px;
  border-radius:18px;
  border:1px dashed rgba(122, 180, 216, 0.14);
  background:rgba(255,255,255,0.025);
}

.admin-form-hint{
  margin-top:12px;
  font-size:13px;
}

.admin-search-input,
.admin-panel-body input[type=text],
.admin-panel-body input[type=number],
.admin-panel-body input[type=datetime-local],
.admin-panel-body textarea{
  width:100%;
  min-width:0;
  border-radius:14px;
  border:1px solid rgba(122, 180, 216, 0.10);
  background:rgba(255,255,255,0.04);
  color:#f4f9ff;
  padding:13px 14px;
  outline:none;
  transition:border-color .18s ease, box-shadow .18s ease, background .18s ease;
}

.admin-panel-body textarea{
  min-height:124px;
  resize:vertical;
}

.admin-panel-body input:focus,
.admin-panel-body textarea:focus{
  border-color:rgba(100, 212, 255, 0.58);
  background:rgba(255,255,255,0.058);
  box-shadow:0 0 0 4px rgba(100, 212, 255, 0.10);
}

.admin-form-grid{
  display:grid;
  gap:14px;
}

.admin-form-grid.two-columns{
  grid-template-columns:repeat(2, minmax(0, 1fr));
}

.field,
.field label{
  min-width:0;
}

.field label{
  display:block;
  margin-bottom:8px;
  color:#dbe9f7;
  font-size:13px;
  font-weight:700;
}

.compact-grid .field{
  min-width:0;
}

.admin-panel-body input[type=checkbox]{
  appearance:auto;
  -webkit-appearance:checkbox;
  width:18px;
  height:18px;
  margin:0 8px 0 0;
  vertical-align:middle;
}

.admin-games-checkboxes{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:10px;
  padding-top:10px;
}

.admin-games-checkboxes label,
.admin-toggle-line{
  display:flex;
  align-items:center;
  gap:8px;
}

.primary-btn,
.dark-btn,
.secondary-btn,
.danger-btn,
.ton-btn{
  min-height:42px;
  padding:10px 16px;
  border:none;
  border-radius:13px;
  font-size:14px;
  font-weight:700;
  cursor:pointer;
  transition:transform .18s ease, filter .18s ease, opacity .18s ease;
}

.small-btn{
  min-height:38px;
  padding:8px 12px;
  font-size:13px;
}

.primary-btn{
  background:linear-gradient(135deg, #64d4ff, #c8f1ff);
  color:#071e30;
}

.ton-btn{
  background:linear-gradient(135deg, #8dffd5, #66efbc);
  color:#072116;
}

.dark-btn{
  background:rgba(255,255,255,0.09);
  color:#f3f8ff;
}

.secondary-btn{
  background:rgba(100, 212, 255, 0.12);
  color:#d9f4ff;
}

.secondary-btn.active-filter{
  background:rgba(255, 214, 110, 0.16);
  color:#fff4d1;
  box-shadow:0 8px 20px rgba(255, 190, 84, 0.12);
}

.danger-btn{
  background:rgba(255, 141, 152, 0.16);
  color:#ffd7dc;
}

.primary-btn:hover,
.dark-btn:hover,
.secondary-btn:hover,
.danger-btn:hover,
.ton-btn:hover{
  transform:translateY(-1px);
  filter:brightness(1.04);
}

.primary-btn:disabled,
.dark-btn:disabled,
.secondary-btn:disabled,
.danger-btn:disabled,
.ton-btn:disabled{
  opacity:.55;
  cursor:default;
  transform:none;
  filter:none;
}

.admin-card-title{
  margin:0 0 6px;
  color:#f3f9ff;
  font-size:16px;
  font-weight:800;
  letter-spacing:-0.02em;
}

.admin-rich-card,
.admin-rich-card > div,
.list-meta,
#adminWallets .admin-card-title{
  min-width:0;
  overflow-wrap:anywhere;
  word-break:break-word;
}

body.admin-panel-body .admin-card-title,
body.admin-panel-body .list-meta,
body.admin-panel-body .admin-modal-stat__value{
  -webkit-user-select:text !important;
  user-select:text !important;
  -webkit-touch-callout:default;
}

.admin-task-card{
  padding:16px;
}

.admin-task-card-top{
  display:flex;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
  align-items:flex-start;
}

.admin-task-meta-row{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin:14px 0 10px;
}

.admin-chip{
  display:inline-flex;
  align-items:center;
  min-height:30px;
  padding:0 11px;
  border-radius:999px;
  border:1px solid rgba(122, 180, 216, 0.08);
  background:rgba(255,255,255,0.04);
  color:#dcecff;
  font-size:12px;
  font-weight:600;
}

.admin-chip.is-active{
  background:rgba(141, 255, 213, 0.12);
  color:#dcffef;
}

.admin-chip.is-muted{
  color:#a7bfd8;
}

.admin-chip--alert{
  margin-left:8px;
  border-color:rgba(255, 166, 94, 0.28);
  background:rgba(255, 166, 94, 0.16);
  color:#ffe3c1;
  box-shadow:0 6px 18px rgba(255, 140, 64, 0.14);
}

.admin-ledger-badge{
  margin-left:8px;
  vertical-align:middle;
}

.admin-ledger-badge.is-bet{
  background:rgba(122, 180, 216, 0.16);
  border-color:rgba(122, 180, 216, 0.22);
  color:#d8f0ff;
}

.admin-ledger-badge.is-win{
  background:rgba(110, 233, 170, 0.16);
  border-color:rgba(110, 233, 170, 0.26);
  color:#ddffef;
}

.admin-ledger-badge.is-refund{
  background:rgba(255, 216, 120, 0.16);
  border-color:rgba(255, 216, 120, 0.26);
  color:#fff2c9;
}

.admin-ledger-badge.is-fee{
  background:rgba(255, 141, 152, 0.16);
  border-color:rgba(255, 141, 152, 0.26);
  color:#ffe2e6;
}

.admin-ledger-badge.is-other{
  background:rgba(255,255,255,0.06);
  border-color:rgba(122, 180, 216, 0.12);
  color:#dcecff;
}

.admin-ledger-quick-row{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin-top:10px;
}

.admin-ledger-quick-btn{
  cursor:pointer;
  transition:transform .18s ease, border-color .18s ease, background .18s ease, color .18s ease;
}

.admin-ledger-quick-btn:hover{
  transform:translateY(-1px);
  border-color:rgba(122, 180, 216, 0.20);
}

.admin-login-card{
  max-width:520px;
  margin:60px auto;
  padding:24px;
}

.admin-login-subtext{
  margin:10px 0 18px;
}

.admin-login-error{
  border-color:rgba(255,91,133,.35);
  margin-bottom:16px;
}

.admin-login-footnote{
  margin-top:12px;
}

.admin-login-actions{
  display:flex;
  gap:12px;
  margin-top:18px;
  flex-wrap:wrap;
}

.admin-field-full{
  grid-column:1 / -1;
}

.admin-result-spacer{
  margin-top:12px;
}

.admin-inline-link{
  color:#9fe1ff;
  word-break:break-all;
}

.admin-inline-link:hover{
  color:#dff7ff;
}

.admin-stats-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(180px, 1fr));
  gap:12px;
}

.admin-stat-card{
  padding:16px;
}

.admin-stat-value{
  margin-top:8px;
  font-size:24px;
  font-weight:800;
  letter-spacing:-0.04em;
}

.admin-stats-detail{
  padding:18px;
}

.list-box.compact-admin-list{
  min-width:0;
}

.admin-data-modal[hidden]{
  display:none !important;
}

.admin-data-modal{
  position:fixed;
  inset:0;
  z-index:1200;
}

.admin-data-modal__backdrop{
  position:absolute;
  inset:0;
  background:rgba(4, 10, 20, 0.76);
}

.admin-data-modal__dialog{
  position:relative;
  z-index:1;
  width:min(100%, 760px);
  max-height:min(88vh, 920px);
  overflow:auto;
  margin:max(84px, calc(env(safe-area-inset-top, 0px) + 78px)) auto 24px;
  padding:18px;
  border-radius:22px;
  border:1px solid rgba(122, 180, 216, 0.14);
  background:linear-gradient(180deg, rgba(12, 28, 47, 0.98), rgba(7, 18, 33, 0.99));
  box-shadow:0 24px 64px rgba(0,0,0,0.34);
}

.admin-data-modal__head{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:flex-start;
  margin-bottom:14px;
}

.admin-data-modal__body{
  display:grid;
  gap:12px;
}

.admin-modal-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(180px, 1fr));
  gap:10px;
}

.admin-modal-stat{
  padding:14px;
  border-radius:16px;
  border:1px solid rgba(122, 180, 216, 0.10);
  background:rgba(255,255,255,0.04);
}

.admin-modal-stat__label{
  color:var(--admin-muted);
  font-size:12px;
  line-height:1.4;
}

.admin-modal-stat__value{
  margin-top:6px;
  color:#f3f9ff;
  font-size:18px;
  font-weight:800;
}

.admin-modal-chip-row{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin-top:10px;
}

.admin-modal-status{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:0 10px;
  border-radius:999px;
  font-size:12px;
  font-weight:700;
}

.admin-modal-status.is-active{
  background:rgba(110, 233, 170, 0.14);
  color:#dcffef;
}

.admin-modal-status.is-inactive{
  background:rgba(255, 216, 120, 0.14);
  color:#fff0c7;
}

@media (max-width: 720px){
  .admin-data-modal__dialog{
    width:min(100%, calc(100vw - 12px));
    max-height:calc(100dvh - max(18px, calc(env(safe-area-inset-top, 0px) + 14px)));
    margin:max(86px, calc(env(safe-area-inset-top, 0px) + 80px)) auto 6px;
    padding:14px;
    border-radius:18px;
  }
}

.list-item{
  padding:15px 16px;
  border-radius:16px;
  border:1px solid rgba(122, 180, 216, 0.08);
  background:rgba(255,255,255,0.03);
  color:var(--admin-muted);
}

#adminPanelToast{
  position:fixed;
  right:16px;
  bottom:calc(16px + env(safe-area-inset-bottom, 0px));
  z-index:40;
  max-width:min(320px, calc(100vw - 32px));
  padding:12px 16px;
  border-radius:14px;
  background:#102646;
  border:1px solid rgba(140, 206, 255, 0.16);
  color:#fff;
  box-shadow:var(--admin-shadow);
  opacity:0;
  pointer-events:none;
  transform:translateY(6px);
  transition:opacity .18s ease, transform .18s ease;
}

#adminPanelToast.show{
  opacity:1;
  transform:translateY(0);
}

@media (max-width: 960px){
  .admin-tabs-grid{
    grid-template-columns:repeat(3, minmax(0, 1fr));
  }

  .admin-form-grid.two-columns{
    grid-template-columns:1fr;
  }
}

@media (max-width: 720px){
  body.admin-panel-body{
    padding-left:10px;
    padding-right:10px;
    padding-top:max(62px, calc(env(safe-area-inset-top, 0px) + 58px));
  }

  .admin-panel-card{
    border-radius:24px;
  }

  .admin-panel-shell{
    padding-top:44px;
  }

  .admin-panel-inner{
    padding:18px 12px 12px;
  }

  .admin-panel-actions{
    gap:8px;
  }

  .admin-tabs-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:8px;
  }

  .admin-tab-btn{
    min-height:46px;
    padding:10px 8px;
    font-size:13px;
  }

  .admin-stage-head,
  .admin-surface-card,
  .admin-form-card,
  .admin-stats-detail,
  .admin-rich-card{
    padding:14px;
    border-radius:18px;
  }

  .admin-toolbar-row > *{
    width:100%;
  }

  .admin-inline-actions,
  .admin-actions{
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    width:100%;
  }

  .admin-inline-actions > *,
  .admin-actions > *{
    width:100%;
  }

  .admin-rich-card{
    gap:12px;
  }

  .admin-games-checkboxes{
    grid-template-columns:1fr;
  }
}

@media (max-width: 480px){
  .admin-panel-actions{
    grid-template-columns:1fr;
  }

  .admin-stage-title{
    font-size:20px;
  }

  .admin-stage-note,
  .section-subtext,
  .list-meta{
    font-size:13px;
  }

  .admin-inline-actions,
  .admin-actions,
  .admin-stats-grid{
    grid-template-columns:1fr;
  }
}
