:root {
  --bg: #080a09;
  --panel: #111511;
  --panel2: #171d17;
  --ink: #f4efdf;
  --muted: #969c91;
  --green: #29e86f;
  --green2: #0ea84b;
  --coffee: #e9c48c;
  --orange: #f39a2e;
  --line: rgba(255,255,255,.08);
}
* { box-sizing: border-box; -webkit-tap-highlight-color: transparent; }
html, body { margin:0; min-height:100%; background:var(--bg); color:var(--ink); font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
body { min-height: 100dvh; background:
 radial-gradient(circle at 20% 0%, rgba(41,232,111,.09), transparent 30%),
 radial-gradient(circle at 100% 30%, rgba(243,154,46,.07), transparent 32%), var(--bg); }
.shell { width:min(100%, 560px); margin:0 auto; padding: max(18px, env(safe-area-inset-top)) 16px calc(28px + env(safe-area-inset-bottom)); }
.topbar { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; margin-bottom:14px; }
.eyebrow { color:var(--green); font-size:11px; font-weight:900; letter-spacing:.18em; }
h1 { margin:2px 0 0; font-size:38px; line-height:.95; letter-spacing:-.045em; font-weight:950; }
.dot { color:var(--orange); }
.balance-pill { background:rgba(255,255,255,.06); border:1px solid var(--line); border-radius:999px; padding:10px 13px; font-size:14px; }
.hud { display:grid; grid-template-columns:1.2fr .8fr .8fr; gap:8px; margin-bottom:10px; }
.hud-card { padding:10px 11px; border:1px solid var(--line); border-radius:15px; background:rgba(255,255,255,.035); min-width:0; }
.hud-card span { display:block; color:var(--muted); font-size:9px; letter-spacing:.13em; font-weight:800; }
.hud-card strong { display:block; margin-top:3px; font-size:13px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.game-card { background:linear-gradient(180deg, rgba(23,29,23,.96), rgba(12,15,12,.98)); border:1px solid var(--line); border-radius:24px; padding:12px; box-shadow:0 20px 60px rgba(0,0,0,.38); }
.score-row { display:flex; justify-content:space-between; align-items:center; font-weight:900; padding:2px 3px 10px; }
.status { color:var(--muted); font-size:11px; letter-spacing:.06em; text-align:right; }
.canvas-wrap { position:relative; width:100%; aspect-ratio:1/1; border-radius:18px; overflow:hidden; background:#050705; border:1px solid rgba(255,255,255,.07); box-shadow: inset 0 0 60px rgba(0,0,0,.65); }
canvas { display:block; width:100%; height:100%; touch-action:none; }
.overlay { position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; padding:28px; background:rgba(4,6,5,.78); backdrop-filter:blur(7px); opacity:0; pointer-events:none; transition:.18s ease; }
.overlay.show { opacity:1; pointer-events:auto; }
.overlay-kicker { color:var(--green); font-size:11px; font-weight:900; letter-spacing:.2em; margin-bottom:8px; }
.overlay-title { font-size:36px; font-weight:950; letter-spacing:-.04em; }
.overlay-text { margin:10px 0 18px; color:#c2c6bc; font-size:14px; line-height:1.45; }
.primary { appearance:none; border:0; border-radius:14px; background:linear-gradient(180deg,#37f27d,#16b957); color:#041108; padding:14px 20px; font-size:14px; font-weight:950; letter-spacing:.08em; box-shadow:0 8px 24px rgba(41,232,111,.22); }
.primary:active { transform:translateY(1px) scale(.99); }
.countdown { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; font-size:78px; font-weight:950; color:var(--ink); text-shadow:0 0 30px rgba(41,232,111,.55); pointer-events:none; }
.controls { margin:12px auto 2px; display:grid; width:min(260px, 80%); grid-template-columns:repeat(3,1fr); grid-template-areas:". up ." "left center right" ". down ."; gap:7px; }
.dir, .control-center { height:52px; border-radius:15px; display:grid; place-items:center; }
.dir { border:1px solid rgba(255,255,255,.08); background:#20261f; color:#f7f3e7; font-size:21px; font-weight:900; box-shadow: inset 0 -2px 0 rgba(0,0,0,.25); }
.dir:active { background:#293329; transform:scale(.97); }
.up{grid-area:up}.left{grid-area:left}.right{grid-area:right}.down{grid-area:down}.control-center{grid-area:center;background:#101510;border:1px solid var(--line);font-size:22px}
.hint { text-align:center; color:var(--muted); font-size:11px; margin:9px 0 1px; }
.info-card { margin-top:10px; display:flex; gap:12px; align-items:center; padding:14px; border-radius:18px; border:1px solid var(--line); background:rgba(255,255,255,.035); }
.info-icon { width:42px; height:42px; display:grid; place-items:center; border-radius:13px; background:rgba(41,232,111,.11); font-size:22px; }
.info-card strong { font-size:14px; }.info-card p { margin:3px 0 0; color:var(--muted); font-size:12px; line-height:1.35; }
.error-box { display:none; margin-top:10px; padding:12px 14px; color:#ffd6c4; background:rgba(255,82,45,.10); border:1px solid rgba(255,82,45,.22); border-radius:14px; font-size:12px; line-height:1.4; }
.error-box.show { display:block; }
@media (max-height: 720px) { .shell{padding-top:10px}.topbar{margin-bottom:8px} h1{font-size:31px}.hud{margin-bottom:7px}.game-card{padding:9px}.controls{margin-top:8px}.dir,.control-center{height:44px}.info-card{display:none} }


/* ================================================================
   MINI APP HUB v2
   ================================================================ */
body {
  padding-bottom: calc(78px + env(safe-area-inset-bottom));
}
.app-shell {
  width: min(100%, 560px);
  margin: 0 auto;
  padding: max(18px, env(safe-area-inset-top)) 16px 24px;
}
.screen { display: none; }
.screen.active { display: block; animation: screenIn .18s ease-out; }
@keyframes screenIn {
  from { opacity: .55; transform: translateY(4px); }
  to { opacity: 1; transform: translateY(0); }
}
.hero {
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:16px;
  padding:8px 2px 18px;
}
.hero h1 { font-size:42px; }
.hero-sub {
  color:var(--muted);
  margin:10px 0 0;
  font-size:14px;
  line-height:1.45;
  max-width:370px;
}
.avatar-badge {
  width:52px; height:52px;
  flex:0 0 auto;
  border-radius:18px;
  display:grid; place-items:center;
  background:rgba(255,255,255,.055);
  border:1px solid var(--line);
  font-size:24px;
}
.compact-hero { padding-bottom:12px; }

.loyalty-card {
  border:1px solid var(--line);
  border-radius:26px;
  background:
    radial-gradient(circle at 90% 0%, rgba(41,232,111,.12), transparent 38%),
    linear-gradient(180deg, rgba(23,29,23,.98), rgba(12,15,12,.98));
  padding:18px;
  box-shadow:0 18px 55px rgba(0,0,0,.28);
  margin-bottom:12px;
}
.loyalty-top {
  display:flex; align-items:flex-start; justify-content:space-between; gap:12px;
}
.section-label {
  display:block;
  color:var(--muted);
  font-weight:900;
  font-size:10px;
  letter-spacing:.16em;
}
.big-balance {
  margin-top:3px;
  font-weight:950;
  font-size:46px;
  letter-spacing:-.055em;
  line-height:1;
}
.big-balance small {
  color:var(--muted);
  font-size:18px;
  margin-left:3px;
}
.gift-count {
  min-width:88px;
  padding:9px 11px;
  border-radius:17px;
  background:rgba(255,255,255,.045);
  border:1px solid var(--line);
  display:grid;
  grid-template-columns:auto auto;
  align-items:center;
  gap:0 7px;
}
.gift-count span { grid-row:1/3; font-size:23px; }
.gift-count strong { font-size:19px; line-height:1; }
.gift-count small { color:var(--muted); font-size:9px; }

.bean-track {
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:8px;
  margin:18px 0 13px;
}
.bean-track span {
  height:12px;
  border-radius:999px;
  background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.035);
  box-shadow:inset 0 1px 4px rgba(0,0,0,.3);
}
.bean-track span.filled {
  background:linear-gradient(90deg,var(--green2),var(--green));
  box-shadow:0 0 16px rgba(41,232,111,.22);
}
.loyalty-bottom {
  color:var(--muted);
  font-size:12px;
  display:flex; justify-content:space-between; align-items:center;
}
.loyalty-bottom strong { color:var(--ink); font-size:13px; }

.feature-card {
  width:100%;
  border:1px solid var(--line);
  background:rgba(255,255,255,.035);
  color:var(--ink);
  border-radius:22px;
  padding:14px;
  display:grid;
  grid-template-columns:48px 1fr auto;
  gap:12px;
  align-items:center;
  text-align:left;
  margin:10px 0;
  font:inherit;
}
.feature-card:active { transform:scale(.992); }
.play-feature {
  background:
    linear-gradient(135deg, rgba(41,232,111,.095), rgba(255,255,255,.025));
}
.feature-icon {
  width:48px; height:48px;
  display:grid; place-items:center;
  border-radius:16px;
  background:rgba(255,255,255,.055);
  font-size:24px;
}
.snake-icon {
  background:rgba(41,232,111,.11);
}
.feature-copy { min-width:0; }
.feature-copy strong {
  display:block;
  margin:2px 0 3px;
  font-size:15px;
}
.feature-copy small {
  color:var(--muted);
  display:block;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.feature-arrow {
  color:var(--green);
  font-size:22px;
  font-weight:900;
}
.mini-stats {
  display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-top:10px;
}
.mini-stat {
  border:1px solid var(--line);
  background:rgba(255,255,255,.025);
  border-radius:18px;
  padding:13px 14px;
}
.mini-stat span { color:var(--muted); font-size:11px; display:block; }
.mini-stat strong { font-size:22px; display:block; margin-top:3px; }

.gift-wallet {
  border:1px solid var(--line);
  border-radius:26px;
  background:
    radial-gradient(circle at 90% 0%, rgba(243,154,46,.12), transparent 42%),
    linear-gradient(180deg, rgba(23,29,23,.98), rgba(12,15,12,.98));
  padding:20px;
}
.gift-wallet-count {
  font-size:54px;
  font-weight:950;
  letter-spacing:-.06em;
  line-height:1.05;
  margin:5px 0 7px;
}
.gift-wallet-count small {
  font-size:19px; color:var(--muted); letter-spacing:0;
}
.gift-wallet p { color:var(--muted); margin:0; font-size:13px; }

.gift-preview {
  display:flex; gap:13px; align-items:center;
  margin-top:12px;
  border:1px solid var(--line);
  border-radius:21px;
  padding:15px;
  background:rgba(255,255,255,.035);
}
.gift-preview-icon {
  width:52px; height:52px; border-radius:17px;
  display:grid; place-items:center;
  background:rgba(243,154,46,.10);
  font-size:27px;
}
.gift-preview strong { display:block; }
.gift-preview p { margin:4px 0 0; color:var(--muted); font-size:12px; line-height:1.4; }
.notice-card {
  margin-top:12px;
  display:flex; gap:11px; align-items:flex-start;
  border:1px dashed rgba(255,255,255,.11);
  border-radius:18px;
  padding:14px;
  color:var(--muted);
  background:rgba(255,255,255,.018);
}
.notice-card p { margin:0; font-size:12px; line-height:1.5; }

.bottom-nav {
  position:fixed;
  left:50%;
  bottom:0;
  transform:translateX(-50%);
  z-index:50;
  width:min(100%,560px);
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:8px;
  padding:9px 14px calc(9px + env(safe-area-inset-bottom));
  background:rgba(8,10,9,.93);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
  border-top:1px solid var(--line);
}
.nav-btn {
  border:0;
  color:var(--muted);
  background:transparent;
  border-radius:15px;
  padding:7px 4px;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:2px;
  font:inherit;
}
.nav-btn span { font-size:19px; line-height:1; }
.nav-btn small { font-size:10px; font-weight:800; }
.nav-btn.active {
  color:var(--ink);
  background:rgba(255,255,255,.055);
}
.nav-btn.active span { filter:drop-shadow(0 0 8px rgba(41,232,111,.3)); }

.global-error { margin:12px 0 4px; }
.game-topbar { padding-top:2px; }

@media (max-width:390px) {
  .app-shell { padding-left:12px; padding-right:12px; }
  .hero h1 { font-size:36px; }
  .big-balance { font-size:42px; }
}


/* ================================================================
   GIFT ACTIVATION v2.1
   ================================================================ */
.gift-preview-copy { flex:1; min-width:0; }

.gift-activate-btn {
  width:100%;
  margin-top:12px;
  min-height:58px;
  border-radius:19px;
  font-size:15px;
  letter-spacing:.08em;
}

.sheet-backdrop {
  position:fixed;
  z-index:120;
  inset:0;
  background:rgba(0,0,0,.68);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
  display:flex;
  align-items:flex-end;
  justify-content:center;
  padding:16px;
}
.sheet-backdrop[hidden] { display:none !important; }

.gift-sheet {
  width:min(100%,530px);
  background:#111512;
  border:1px solid rgba(255,255,255,.1);
  border-radius:28px;
  padding:12px 16px calc(18px + env(safe-area-inset-bottom));
  box-shadow:0 -28px 90px rgba(0,0,0,.55);
}
.sheet-handle {
  width:42px; height:4px; border-radius:999px;
  margin:0 auto 18px;
  background:rgba(255,255,255,.17);
}
.gift-sheet h2 {
  margin:6px 0 7px;
  font-size:27px;
  letter-spacing:-.035em;
}
.sheet-note {
  color:var(--muted);
  margin:0 0 15px;
  font-size:13px;
  line-height:1.45;
}
.point-choice {
  width:100%;
  border:1px solid var(--line);
  background:rgba(255,255,255,.035);
  color:var(--ink);
  border-radius:19px;
  padding:14px;
  display:grid;
  grid-template-columns:42px 1fr auto;
  align-items:center;
  gap:11px;
  text-align:left;
  font:inherit;
  margin:9px 0;
}
.point-choice:active { transform:scale(.992); }
.point-pin {
  width:42px; height:42px;
  display:grid; place-items:center;
  border-radius:14px;
  background:rgba(41,232,111,.08);
}
.point-choice strong { display:block; font-size:14px; }
.point-choice small {
  display:block; color:var(--muted); margin-top:3px; font-size:11px;
}
.point-choice b { color:var(--green); font-size:20px; }

.sheet-cancel {
  width:100%;
  min-height:48px;
  border:0;
  background:transparent;
  color:var(--muted);
  font:inherit;
  font-weight:800;
  margin-top:5px;
}
.confirm-sheet { text-align:center; }
.confirm-icon {
  width:70px; height:70px; margin:2px auto 10px;
  display:grid; place-items:center;
  font-size:38px;
  border-radius:24px;
  background:rgba(41,232,111,.09);
  border:1px solid rgba(41,232,111,.13);
}
.confirm-point {
  color:var(--green);
  font-weight:900;
  margin:0 0 15px;
}
.warning-box {
  text-align:left;
  border:1px solid rgba(243,154,46,.22);
  background:rgba(243,154,46,.065);
  border-radius:18px;
  padding:13px;
  margin:0 0 14px;
}
.warning-box strong { display:block; font-size:13px; margin-bottom:4px; }
.warning-box span {
  display:block; color:var(--muted); font-size:12px; line-height:1.45;
}

.live-pass {
  position:fixed;
  z-index:200;
  inset:0;
  overflow:hidden;
  background:
    radial-gradient(circle at 50% 20%, rgba(41,232,111,.18), transparent 38%),
    #071009;
  color:#f7f4e9;
  padding:
    max(28px, env(safe-area-inset-top))
    22px
    calc(25px + env(safe-area-inset-bottom));
  text-align:center;
}
.live-pass[hidden] { display:none !important; }

.live-pass-bg {
  position:absolute; inset:0; pointer-events:none; opacity:.32; overflow:hidden;
}
.live-pass-bg i {
  position:absolute;
  width:120px; height:120px;
  border:2px solid rgba(41,232,111,.28);
  border-radius:50%;
  animation:floatRing 5.2s linear infinite;
}
.live-pass-bg i:nth-child(1){left:-40px;top:14%;animation-delay:-1s}
.live-pass-bg i:nth-child(2){right:-50px;top:28%;animation-delay:-3s}
.live-pass-bg i:nth-child(3){left:18%;bottom:-50px;animation-delay:-4s}
.live-pass-bg i:nth-child(4){right:18%;bottom:12%;animation-delay:-2s}
.live-pass-bg i:nth-child(5){left:44%;top:-75px;animation-delay:-.5s}
.live-pass-bg i:nth-child(6){right:36%;top:48%;animation-delay:-4.7s}
@keyframes floatRing {
  0% { transform:translateY(0) scale(.78); opacity:.1; }
  50% { opacity:.8; }
  100% { transform:translateY(-120px) scale(1.2); opacity:.05; }
}

.live-header {
  position:relative;
  display:flex; justify-content:space-between; align-items:flex-start;
  text-align:left;
}
.live-header h2 {
  margin:4px 0 0;
  font-size:24px;
}
.live-eyebrow { color:#65f890; }
.live-dot {
  margin-top:6px;
  color:#75ff9a;
  font-weight:950;
  font-size:12px;
  letter-spacing:.08em;
  animation:livePulse 1s ease-in-out infinite alternate;
}
@keyframes livePulse { from{opacity:.35} to{opacity:1} }

.live-coffee {
  position:relative;
  margin:11vh auto 10px;
  font-size:76px;
  filter:drop-shadow(0 0 26px rgba(243,154,46,.24));
}
.live-main {
  position:relative;
  font-size:31px;
  font-weight:950;
  letter-spacing:-.045em;
}
.live-point {
  position:relative;
  margin-top:8px;
  font-weight:850;
  color:#9fffb9;
  font-size:17px;
}

.live-code-card {
  position:relative;
  width:min(100%,330px);
  margin:24px auto 14px;
  padding:14px;
  border-radius:22px;
  background:rgba(255,255,255,.055);
  border:1px solid rgba(255,255,255,.11);
}
.live-code-card span,
.live-clock-row span {
  color:rgba(255,255,255,.55);
  display:block;
  font-size:10px;
  font-weight:900;
  letter-spacing:.15em;
}
.live-code-card strong {
  display:block;
  font-size:50px;
  letter-spacing:.15em;
  margin:2px 0 -2px;
}

.live-clock-row {
  position:relative;
  width:min(100%,330px);
  margin:0 auto;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}
.live-clock-row div {
  border-radius:18px;
  padding:12px 8px;
  border:1px solid rgba(255,255,255,.08);
  background:rgba(0,0,0,.17);
}
.live-clock-row strong {
  display:block;
  font-size:22px;
  margin-top:3px;
  font-variant-numeric:tabular-nums;
}
.live-wave {
  position:relative;
  display:flex;
  height:28px;
  justify-content:center;
  align-items:center;
  gap:6px;
  margin:18px 0 10px;
}
.live-wave span {
  width:5px;
  height:12px;
  background:#42ef76;
  border-radius:999px;
  animation:wave 1.05s ease-in-out infinite;
}
.live-wave span:nth-child(2){animation-delay:.12s}
.live-wave span:nth-child(3){animation-delay:.24s}
.live-wave span:nth-child(4){animation-delay:.36s}
.live-wave span:nth-child(5){animation-delay:.48s}
@keyframes wave {
  0%,100%{height:8px;opacity:.35}
  50%{height:28px;opacity:1}
}

.live-instruction {
  position:relative;
  color:rgba(255,255,255,.68);
  font-size:13px;
  line-height:1.5;
  max-width:340px;
  margin:0 auto;
}
.live-expired {
  position:relative;
  margin:16px auto 0;
  width:min(100%,350px);
  padding:13px;
  border-radius:17px;
  background:rgba(239,89,89,.10);
  border:1px solid rgba(239,89,89,.18);
  color:#ffb4b4;
  font-size:13px;
  font-weight:800;
}


/* ================================================================
   GIFT EXPIRED UX v2.2
   ================================================================ */
.live-pass.expired-state {
  background:
    radial-gradient(circle at 50% 18%, rgba(126,126,126,.14), transparent 38%),
    #0b0d0b;
}
.live-pass.expired-state .live-code-card {
  opacity:.45;
  filter:grayscale(1);
}
.live-pass.expired-state .live-wave {
  opacity:.25;
}
.live-finish-btn {
  position:relative;
  width:min(100%,350px);
  margin:14px auto 0;
  min-height:52px;
  border:1px solid rgba(255,255,255,.11);
  border-radius:17px;
  background:rgba(255,255,255,.07);
  color:#f7f4e9;
  font:inherit;
  font-weight:900;
  letter-spacing:.05em;
}
.live-finish-btn[hidden] { display:none !important; }


/* ================================================================
   ADMIN PANEL v2.3
   ================================================================ */
.admin-hero { padding-bottom: 10px; }

.admin-periods {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:7px;
  padding:5px;
  border-radius:17px;
  background:rgba(255,255,255,.035);
  border:1px solid var(--line);
  margin-bottom:12px;
}
.admin-periods button {
  border:0;
  border-radius:12px;
  min-height:39px;
  background:transparent;
  color:var(--muted);
  font:inherit;
  font-size:11px;
  font-weight:900;
}
.admin-periods button.active {
  background:rgba(255,255,255,.09);
  color:var(--ink);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.05);
}

.admin-kpis {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:9px;
  margin-bottom:13px;
}
.admin-kpi {
  min-height:92px;
  border:1px solid var(--line);
  border-radius:20px;
  padding:14px;
  background:
    radial-gradient(circle at 100% 0%, rgba(41,232,111,.07), transparent 45%),
    rgba(255,255,255,.03);
}
.admin-kpi span,
.admin-point-head span,
.admin-point-grid span,
.admin-money-row span {
  color:var(--muted);
  font-size:9px;
  font-weight:900;
  letter-spacing:.11em;
}
.admin-kpi strong {
  display:block;
  font-size:27px;
  margin-top:7px;
  letter-spacing:-.035em;
}

.admin-section { margin-top:16px; }
.admin-section-title {
  display:flex;
  justify-content:space-between;
  align-items:end;
  gap:10px;
  margin:0 2px 8px;
}
.admin-section-title span {
  font-size:10px;
  color:var(--muted);
  font-weight:950;
  letter-spacing:.15em;
}
.admin-section-title small {
  color:rgba(255,255,255,.35);
  font-size:9px;
  text-align:right;
}

.admin-point-card {
  border:1px solid var(--line);
  border-radius:22px;
  padding:14px;
  margin:9px 0;
  background:rgba(255,255,255,.027);
}
.admin-point-head {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
}
.admin-point-head strong {
  display:block;
  margin-top:2px;
  font-size:15px;
}
.admin-point-head b {
  color:var(--green);
  font-size:17px;
}
.admin-point-grid {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:6px;
  margin:13px 0 9px;
}
.admin-point-grid div {
  border-radius:13px;
  padding:9px 6px;
  text-align:center;
  background:rgba(255,255,255,.035);
}
.admin-point-grid span { display:block; letter-spacing:0; }
.admin-point-grid strong { display:block; margin-top:3px; font-size:16px; }

.admin-money-row {
  display:grid;
  grid-template-columns:1fr 1fr 1fr;
  gap:6px;
}
.admin-money-row div {
  padding:10px 7px;
  border-radius:13px;
  background:rgba(255,255,255,.035);
}
.admin-money-row span { display:block; letter-spacing:0; }
.admin-money-row strong { display:block; margin-top:3px; font-size:13px; }
.admin-money-row .accent {
  background:rgba(41,232,111,.08);
}
.admin-money-row .accent strong { color:#9fffb9; }

.admin-gift-row {
  display:grid;
  grid-template-columns:1fr auto;
  gap:2px 10px;
  align-items:center;
  border-top:1px solid rgba(255,255,255,.055);
  margin-top:11px;
  padding-top:11px;
}
.admin-gift-row span { font-size:12px; }
.admin-gift-row strong { color:#f7dba9; }
.admin-gift-row small {
  grid-column:1/3;
  color:var(--muted);
  font-size:9px;
}

.admin-users {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
}
.admin-users div {
  border:1px solid var(--line);
  border-radius:17px;
  padding:12px;
  background:rgba(255,255,255,.025);
}
.admin-users span {
  display:block;
  color:var(--muted);
  font-size:10px;
}
.admin-users strong {
  display:block;
  margin-top:4px;
  font-size:20px;
}

.admin-history {
  border:1px solid var(--line);
  border-radius:20px;
  overflow:hidden;
  background:rgba(255,255,255,.022);
}
.admin-history-row {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:12px 13px;
  border-bottom:1px solid rgba(255,255,255,.05);
}
.admin-history-row:last-child { border-bottom:0; }
.admin-history-row strong {
  display:block;
  font-size:12px;
}
.admin-history-row span {
  display:block;
  color:var(--muted);
  font-size:10px;
  margin-top:2px;
}
.admin-history-row code {
  font-family:ui-monospace, SFMono-Regular, Menlo, monospace;
  color:#9fffb9;
  font-weight:900;
  font-size:15px;
}
.admin-empty {
  padding:18px;
  color:var(--muted);
  text-align:center;
  font-size:12px;
}
.admin-empty.error { color:#ffabab; }
