/* ═══════════════════════════════════════════════════════════════════
   ChronX Admin Console — admin.css
   Standalone private admin layout (sidebar shell) on top of chronx.css.
   ═══════════════════════════════════════════════════════════════════ */

body.adm-body { background: var(--bg0); overflow-x: hidden; }

/* ── Top bar ────────────────────────────────────────────────────── */
.adm-topbar {
  display: flex; align-items: center; gap: 14px; flex-wrap: wrap;
  padding: 10px 20px;
  background: rgba(15, 20, 34, .92); backdrop-filter: blur(10px);
  border-bottom: 1px solid var(--border);
}
.adm-brand { display: flex; align-items: center; gap: 10px; }
.adm-brand img { height: 28px; width: auto; display: block; }
.adm-brand .adm-title { font-size: 15px; font-weight: 600; color: var(--text); letter-spacing: .2px; }
.adm-brand .adm-sub { font-size: 11px; color: var(--faint); letter-spacing: 1.6px; text-transform: uppercase; }

.adm-topbar-right { margin-left: auto; display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.adm-user { display: flex; align-items: center; gap: 8px; font-size: 13px; color: var(--muted); }
.adm-user .uname { color: var(--gold); font-weight: 600; }
.adm-role {
  font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .8px;
  padding: 2px 8px; border-radius: var(--r-sm);
  background: var(--gold-soft); border: 1px solid var(--gold-line); color: var(--gold);
}

/* EPP status pills (top bar) */
.adm-epp { display: none; align-items: center; gap: 10px; flex-wrap: wrap; }
.adm-epp.on { display: flex; }
.adm-epp-label {
  font-size: 10px; font-weight: 700; color: var(--gold);
  letter-spacing: 1.5px; text-transform: uppercase;
}
.adm-epp-pills { display: flex; gap: 10px; flex-wrap: wrap; align-items: center; }
.epp-pill { display: inline-flex; align-items: center; gap: 6px; font-size: 12px; font-weight: 500; color: var(--muted); white-space: nowrap; }
.epp-dot { width: 8px; height: 8px; border-radius: 50%; flex-shrink: 0; }
.epp-dot-green  { background: #22c55e; box-shadow: 0 0 6px #22c55e66; }
.epp-dot-yellow { background: #eab308; box-shadow: 0 0 6px #eab30866; }
.epp-dot-red    { background: #ef4444; box-shadow: 0 0 6px #ef444466; }
.epp-dot-orange { background: #f97316; box-shadow: 0 0 6px #f9731666; animation: eppPulse 1.2s infinite; }
.epp-dot-gray   { background: #556; }
@keyframes eppPulse { 0%,100% { opacity: 1; } 50% { opacity: .4; } }
.adm-epp-time { font-size: 10px; color: var(--faint); }

/* ── Shell: sidebar + main ──────────────────────────────────────── */
.adm-shell { display: flex; align-items: stretch; min-height: calc(100vh - 49px); }

.adm-side {
  width: 208px; flex-shrink: 0;
  position: sticky; top: 0; align-self: flex-start;
  max-height: 100vh; overflow-y: auto;
  padding: 16px 10px;
  border-right: 1px solid var(--border);
  display: flex; flex-direction: column; gap: 2px;
}
.adm-nav-btn {
  display: flex; align-items: center; gap: 9px; width: 100%;
  padding: 9px 12px; border: none; border-radius: var(--r-md);
  background: transparent; color: var(--muted);
  font: inherit; font-size: 13.5px; font-weight: 400;
  cursor: pointer; text-align: left; white-space: nowrap;
  transition: background .12s, color .12s;
}
.adm-nav-btn:hover { color: var(--text); background: var(--bg3); }
.adm-nav-btn.active { background: var(--gold-soft); color: var(--gold); font-weight: 600; }
.adm-nav-badge {
  margin-left: auto; background: #f39c12; color: #000;
  font-size: 10px; font-weight: 700; padding: 1px 7px; border-radius: 9px;
}

.adm-main { flex: 1; min-width: 0; padding: 26px 28px 72px; }
.adm-main-inner { max-width: 1180px; margin: 0 auto; }

/* ── Panels ─────────────────────────────────────────────────────── */
.adm-panel { display: none; }
.adm-panel.active { display: block; animation: admFade .18s ease; }
@keyframes admFade { from { opacity: 0; transform: translateY(4px); } to { opacity: 1; transform: none; } }

.adm-panel-head { display: flex; align-items: baseline; gap: 14px; flex-wrap: wrap; margin-bottom: 18px; }
.adm-panel-head h2 { font-size: 22px; }
.adm-panel-head .adm-panel-note { font-size: 12.5px; color: var(--faint); }
.adm-panel-head .spacer { flex: 1; }

.adm-section-title { font-size: 15px; font-weight: 600; color: var(--text); margin: 26px 0 12px; display: flex; align-items: center; gap: 8px; }
.adm-section-title .count { font-size: 12.5px; color: var(--faint); font-weight: 400; }

/* ── States (loading / error / empty) ───────────────────────────── */
.adm-state { padding: 44px 20px; text-align: center; color: var(--muted); font-size: 14px; }
.adm-state.err { color: var(--danger); }
.adm-state .adm-state-title { font-size: 16px; font-weight: 600; color: var(--text); margin-bottom: 6px; }
.adm-spinner {
  display: inline-block; width: 22px; height: 22px; border-radius: 50%;
  border: 2px solid var(--border); border-top-color: var(--gold);
  animation: admSpin .8s linear infinite; vertical-align: middle; margin-right: 10px;
}
@keyframes admSpin { to { transform: rotate(360deg); } }

/* ── Stat cards ─────────────────────────────────────────────────── */
.adm-stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)); gap: 12px; margin-bottom: 20px; }
.adm-stat {
  background: var(--bg2); border: 1px solid var(--border); border-radius: var(--r-lg);
  padding: 16px 14px; text-align: center;
}
.adm-stat .val { font-size: 24px; font-weight: 700; color: var(--gold); letter-spacing: -.5px; }
.adm-stat .val.ok { color: var(--success); }
.adm-stat .val.err { color: var(--danger); }
.adm-stat .val.info { color: var(--info); }
.adm-stat .sub { font-size: 12px; color: var(--muted); margin-top: 3px; }
.adm-stat .lbl { font-size: 11px; letter-spacing: 1.2px; text-transform: uppercase; color: var(--faint); margin-top: 6px; }

/* ── Toolbar / filters ──────────────────────────────────────────── */
.adm-toolbar {
  display: flex; align-items: center; gap: 10px; flex-wrap: wrap;
  padding: 12px 16px; margin-bottom: 16px;
  background: var(--bg2); border: 1px solid var(--border); border-radius: var(--r-lg);
}
.adm-toolbar label { color: var(--muted); font-size: 13px; display: flex; align-items: center; gap: 6px; }
.adm-toolbar .select { padding: 6px 10px; font-size: 13px; width: auto; min-height: 0; }
.adm-toolbar .meta { font-size: 12px; color: var(--faint); margin-left: auto; white-space: nowrap; }

.adm-filters { display: flex; gap: 6px; flex-wrap: wrap; }
.adm-filter-btn {
  padding: 6px 14px; border-radius: var(--r-sm); font-size: 12.5px; cursor: pointer;
  background: var(--bg3); border: 1px solid var(--border); color: var(--muted);
  font-family: inherit;
}
.adm-filter-btn:hover { color: var(--text); border-color: var(--faint); }
.adm-filter-btn.active { background: var(--gold-soft); border-color: var(--gold-line); color: var(--gold); font-weight: 600; }

.adm-pulse {
  display: inline-flex; align-items: center; gap: 6px;
  font-size: 11px; color: var(--muted); padding: 4px 10px;
  background: rgba(92, 224, 138, .06); border: 1px solid rgba(92, 224, 138, .18);
  border-radius: 12px; white-space: nowrap;
}
.adm-pulse .dot { width: 7px; height: 7px; border-radius: 50%; background: var(--success); animation: eppPulse 2s infinite; }

/* Inline note boxes */
.adm-note {
  border-radius: var(--r-md); padding: 12px 16px; margin-bottom: 18px;
  font-size: 12.5px; color: var(--muted); line-height: 1.6;
  background: rgba(92, 224, 138, .05); border: 1px solid rgba(92, 224, 138, .2);
}
.adm-note strong { color: var(--success); }
.adm-note.info { background: rgba(78, 205, 196, .05); border-color: rgba(78, 205, 196, .2); }
.adm-note.info strong { color: var(--info); }

/* ── Table helpers ──────────────────────────────────────────────── */
.adm-main .tbl { font-size: 13px; }
.cell-mono { font-family: 'JetBrains Mono', 'Consolas', monospace; font-size: 11px; color: var(--faint); word-break: break-all; max-width: 170px; }
.cell-email { max-width: 200px; word-break: break-word; }
.cell-date { white-space: nowrap; font-size: 12px; color: var(--muted); }
.cell-actions { white-space: nowrap; }
.tbl th.sortable { cursor: pointer; user-select: none; }
.tbl th.sortable:hover { color: var(--gold); }
.tbl th.sortable.asc::after  { content: ' ▲'; font-size: 9px; }
.tbl th.sortable.desc::after { content: ' ▼'; font-size: 9px; }
.copy-btn { background: none; border: none; color: var(--gold); cursor: pointer; font-size: 11px; padding: 2px 4px; opacity: .7; font-family: inherit; }
.copy-btn:hover { opacity: 1; }
.ticket-desc { max-width: 280px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; cursor: pointer; }
.ticket-desc:hover { white-space: normal; word-break: break-word; }

/* Status pill color extensions (base .pill lives in chronx.css) */
.pill.blue   { background: rgba(52, 152, 219, .12); border-color: rgba(52, 152, 219, .3); color: #5dade2; }
.pill.purple { background: rgba(155, 89, 182, .12); border-color: rgba(155, 89, 182, .3); color: #bb8fce; }
.pill.orange { background: rgba(243, 156, 18, .12); border-color: rgba(243, 156, 18, .3); color: #f5b041; }
.pill.mute   { background: rgba(139, 153, 176, .1); border-color: rgba(139, 153, 176, .25); color: var(--muted); }

/* ── Auth overlays ──────────────────────────────────────────────── */
.adm-auth-overlay {
  position: fixed; inset: 0; z-index: 200;
  background: rgba(5, 7, 13, .94); backdrop-filter: blur(6px);
  display: flex; align-items: center; justify-content: center; padding: 20px;
}
.adm-auth-box {
  width: 380px; max-width: 100%;
  background: var(--bg2); border: 1px solid var(--border); border-radius: var(--r-xl);
  padding: 38px 34px; text-align: center; box-shadow: var(--shadow-2);
}
.adm-auth-box img { height: 44px; width: auto; margin: 0 auto 14px; }
.adm-auth-box h2 { font-size: 20px; margin-bottom: 6px; }
.adm-auth-box p { color: var(--muted); font-size: 13.5px; margin-bottom: 22px; }
.adm-auth-box .field { text-align: left; }
.adm-auth-box .btn { width: 100%; justify-content: center; }

/* ── Toast ──────────────────────────────────────────────────────── */
.adm-toast {
  position: fixed; bottom: 24px; right: 24px; z-index: 300;
  background: var(--bg2); border: 1px solid var(--border); border-radius: var(--r-md);
  padding: 12px 20px; font-size: 14px; display: none; max-width: 340px; box-shadow: var(--shadow-2);
}

/* ── Dashboard ──────────────────────────────────────────────────── */
.adm-dash-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; }
.adm-dash-card { background: var(--bg2); border: 1px solid var(--border); border-radius: var(--r-lg); padding: 20px; }
.adm-dash-card h3 { font-size: 14px; color: var(--muted); text-transform: uppercase; letter-spacing: 1px; margin-bottom: 14px; display: flex; align-items: center; gap: 8px; }
.adm-dash-card h3 .adm-link { margin-left: auto; }
.adm-link { font-size: 12px; color: var(--gold); cursor: pointer; background: none; border: none; font-family: inherit; padding: 0; }
.adm-link:hover { color: var(--gold2); text-decoration: underline; }
.adm-dash-big { font-size: 30px; font-weight: 700; color: var(--gold); letter-spacing: -.5px; }
.adm-dash-row { display: flex; justify-content: space-between; gap: 10px; font-size: 13px; color: var(--muted); padding: 5px 0; border-bottom: 1px solid rgba(30, 42, 66, .5); }
.adm-dash-row:last-child { border-bottom: none; }
.adm-dash-row span:last-child { color: var(--text); }

/* ── Health cards (Network) ─────────────────────────────────────── */
.adm-health-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; }
.adm-health-card { background: var(--bg2); border: 1px solid var(--border); border-radius: var(--r-lg); padding: 20px; }
.adm-health-card h4 { font-size: 12px; color: var(--muted); text-transform: uppercase; letter-spacing: 1px; margin-bottom: 12px; }
.adm-health-card .big { font-size: 26px; font-weight: 700; margin-bottom: 8px; }
.adm-health-card .metric { font-size: 13px; color: var(--muted); margin: 4px 0; }
.adm-health-card .metric span { color: var(--text); }

/* ── Pool panel (Economy) ───────────────────────────────────────── */
.adm-pool { background: var(--bg2); border: 1px solid var(--border); border-radius: var(--r-lg); padding: 20px; margin-bottom: 20px; }
.adm-pool-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap; margin-bottom: 16px; }
.adm-pool-head h3 { font-size: 13px; font-weight: 600; color: var(--muted); text-transform: uppercase; letter-spacing: 1px; }
.adm-pool-head .addr { font-size: 11px; color: var(--faint); font-family: 'JetBrains Mono', 'Consolas', monospace; }
.adm-pool-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-bottom: 14px; }
.adm-pool-stat { text-align: center; }
.adm-pool-stat .pval { font-size: 22px; font-weight: 700; color: var(--gold); }
.adm-pool-stat .psub { font-size: 12px; color: var(--faint); margin-top: 3px; }
.adm-pool-stat .plbl { font-size: 13px; color: var(--text); margin-top: 5px; font-weight: 600; }
.pval-green { color: var(--success) !important; }
.pval-yellow { color: #f5b041 !important; }
.pval-red { color: var(--danger) !important; }
.pval-muted { color: var(--faint) !important; }
.adm-pool-meta { display: flex; gap: 22px; flex-wrap: wrap; border-top: 1px solid var(--border); padding-top: 14px; }
.adm-pool-meta .item { font-size: 12.5px; color: var(--muted); }
.adm-pool-meta .item strong { color: var(--text); }
.adm-pool-updated { font-size: 11px; color: var(--faint); margin-top: 10px; text-align: right; font-style: italic; }

.adm-dist-bar { display: flex; height: 28px; border-radius: var(--r-sm); overflow: hidden; margin-top: 12px; border: 1px solid var(--border); }
.adm-dist-bar .seg { display: flex; align-items: center; justify-content: center; font-size: 10px; font-weight: 700; color: #000; min-width: 2px; transition: width .3s; }
.adm-legend { display: flex; gap: 16px; flex-wrap: wrap; margin-top: 8px; font-size: 11.5px; color: var(--muted); }

/* ── Downloads ──────────────────────────────────────────────────── */
.adm-dl-total { text-align: center; margin-bottom: 22px; }
.adm-dl-total .big-num { font-size: 46px; font-weight: 700; color: var(--gold); letter-spacing: -1px; }
.adm-dl-total .big-lbl { font-size: 13px; color: var(--muted); }
.adm-map { position: relative; background: var(--bg2); border: 1px solid var(--border); border-radius: var(--r-lg); padding: 16px; margin-bottom: 22px; min-height: 120px; }
.adm-map-overlay { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; background: rgba(10, 14, 26, .85); border-radius: var(--r-lg); z-index: 2; color: var(--muted); font-size: 13.5px; text-align: center; padding: 24px; }
.adm-flag-grid { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; }
.adm-flag-cell { border: 1px solid var(--gold-line); background: var(--gold-soft); border-radius: var(--r-md); padding: 8px 12px; text-align: center; }
.adm-flag-cell .flag { font-size: 22px; }
.adm-flag-cell .cnt { font-size: 12px; color: var(--gold); font-weight: 700; }
.adm-flag-cell .cc { font-size: 10px; color: var(--faint); }
.adm-dl-log { font-family: 'JetBrains Mono', 'Consolas', monospace; font-size: 12px; color: var(--muted); line-height: 1.9; max-height: 300px; overflow-y: auto; background: var(--bg2); border: 1px solid var(--border); border-radius: var(--r-lg); padding: 14px 18px; }

/* ── Alerts ─────────────────────────────────────────────────────── */
.adm-alert-happy { text-align: center; padding: 70px 20px; }
.adm-alert-happy .check { font-size: 52px; margin-bottom: 14px; }
.adm-alert-happy .msg { font-size: 17px; color: var(--success); font-weight: 600; }
.adm-alert {
  background: var(--bg2); border: 1px solid var(--border); border-radius: var(--r-lg);
  padding: 14px 18px; margin-bottom: 10px; display: flex; gap: 14px; align-items: flex-start;
}
.adm-alert.err  { border-left: 4px solid var(--danger); }
.adm-alert.warn { border-left: 4px solid #f39c12; }
.adm-alert.info { border-left: 4px solid #3498db; }
.adm-alert .icon { font-size: 18px; flex-shrink: 0; }
.adm-alert .body { flex: 1; }
.adm-alert .title { font-weight: 600; font-size: 14px; color: var(--text); }
.adm-alert .detail { font-size: 13px; color: var(--muted); margin-top: 3px; }
.adm-alert .time { font-size: 11px; color: var(--faint); margin-top: 6px; }

/* ── Notices ────────────────────────────────────────────────────── */
.adm-notice {
  background: var(--bg2); border: 1px solid var(--border); border-radius: var(--r-lg);
  padding: 16px 18px; margin-bottom: 10px;
}
.adm-notice.urgent { border-left: 4px solid var(--danger); }
.adm-notice.message { border-left: 4px solid var(--gold); }
.adm-notice .n-head { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; margin-bottom: 8px; }
.adm-notice .n-title { font-size: 15px; font-weight: 600; flex: 1; }
.adm-notice .n-body { color: var(--muted); font-size: 13px; margin-bottom: 8px; line-height: 1.55; }
.adm-notice .n-meta { font-size: 11.5px; color: var(--faint); display: flex; gap: 16px; flex-wrap: wrap; margin-bottom: 10px; }
.adm-notice-preview { background: var(--bg1); border: 1px solid var(--border); border-radius: var(--r-md); padding: 12px; min-height: 50px; }
.adm-notice-preview .pv-urgent { background: var(--danger); color: #fff; padding: 10px 14px; border-radius: var(--r-sm); font-size: 13px; }
.adm-notice-preview .pv-msg { border: 1px solid var(--gold-line); padding: 10px 14px; border-radius: var(--r-sm); font-size: 13px; }

/* ── Calendar ───────────────────────────────────────────────────── */
.adm-cal-badges { display: flex; gap: 10px; flex-wrap: wrap; flex: 1; }
.adm-cal-badge { display: inline-flex; align-items: center; gap: 5px; padding: 6px 14px; border-radius: var(--r-md); font-size: 12.5px; font-weight: 600; }
.adm-cal-badge.overdue { background: rgba(224, 92, 92, .12); color: var(--danger); }
.adm-cal-badge.soon { background: rgba(243, 156, 18, .12); color: #f5b041; }
.adm-cal-badge.upcoming { background: rgba(52, 152, 219, .12); color: #5dade2; }

.adm-cal-section { margin-bottom: 20px; }
.adm-cal-section-hdr { font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: 1px; padding: 8px 0; margin-bottom: 8px; border-bottom: 1px solid var(--border); }
.adm-cal-section-hdr.overdue { color: var(--danger); }
.adm-cal-section-hdr.soon { color: #f5b041; }
.adm-cal-section-hdr.upcoming { color: #5dade2; }
.adm-cal-section-hdr.completed { color: var(--faint); cursor: pointer; }

.adm-cal-card { background: var(--bg2); border: 1px solid var(--border); border-radius: var(--r-lg); padding: 14px 18px; margin-bottom: 10px; display: flex; gap: 14px; align-items: flex-start; }
.adm-cal-card .cal-border { width: 4px; border-radius: 2px; align-self: stretch; flex-shrink: 0; }
.cal-border-critical { background: var(--danger); }
.cal-border-high { background: #f39c12; }
.cal-border-medium { background: #3498db; }
.cal-border-low { background: var(--faint); }
.adm-cal-card .cal-body { flex: 1; min-width: 0; }
.cal-date { font-weight: 600; font-size: 14px; color: var(--text); }
.cal-days { font-size: 12px; color: var(--faint); margin-left: 8px; }
.cal-title { font-size: 15px; font-weight: 600; color: var(--text); margin: 4px 0; }
.cal-detail { font-size: 13px; color: var(--muted); margin: 4px 0 8px; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; cursor: pointer; }
.cal-detail.expanded { -webkit-line-clamp: unset; }
.cal-actions { display: flex; gap: 6px; flex-wrap: wrap; }

.adm-cal-nav { display: flex; align-items: center; justify-content: center; gap: 16px; margin-bottom: 16px; }
.adm-cal-nav .month-label { font-size: 16px; font-weight: 600; color: var(--text); min-width: 160px; text-align: center; }
.adm-cal-grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 2px; background: var(--bg2); border: 1px solid var(--border); border-radius: var(--r-lg); overflow: hidden; }
.adm-cal-grid .day-header { text-align: center; padding: 8px 4px; font-size: 11px; font-weight: 700; color: var(--faint); text-transform: uppercase; background: var(--bg3); }
.adm-cal-grid .day-cell { min-height: 60px; padding: 6px; background: var(--bg1); font-size: 12px; color: var(--muted); cursor: pointer; }
.adm-cal-grid .day-cell:hover { background: var(--bg2); }
.adm-cal-grid .day-cell.today { background: rgba(212, 168, 75, .07); }
.adm-cal-grid .day-cell.other-month { opacity: .3; }
.adm-cal-grid .day-num { font-weight: 700; margin-bottom: 4px; }
.cal-dot { width: 6px; height: 6px; border-radius: 50%; display: inline-block; margin: 1px; }
.cal-dot-overdue { background: var(--danger); }
.cal-dot-soon { background: #f39c12; }
.cal-dot-upcoming { background: var(--gold); }
.cal-dot-completed { background: var(--faint); }
.adm-cal-day-detail { background: var(--bg2); border: 1px solid var(--border); border-radius: var(--r-lg); padding: 16px; margin-top: 12px; }

/* ── Export ─────────────────────────────────────────────────────── */
.adm-export-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 16px; }
.adm-export-grid .card { text-align: center; }
.adm-export-grid .card .btn { width: 100%; justify-content: center; }

/* ── Partners (badges & applications) ───────────────────────────── */
.adm-subtabs { display: flex; gap: 6px; margin-bottom: 18px; flex-wrap: wrap; }
.adm-badge-pill {
  display: inline-block; padding: 2px 10px; border-radius: 12px;
  font-size: 11px; font-weight: 600; color: #fff; vertical-align: middle;
}
.adm-swatch { display: inline-block; width: 14px; height: 14px; border-radius: 4px; vertical-align: middle; border: 1px solid rgba(255, 255, 255, .15); }
.adm-color-row { display: flex; align-items: center; gap: 10px; }
.adm-color-row input[type="color"] { width: 44px; height: 34px; padding: 2px; background: var(--bg3); border: 1px solid var(--border); border-radius: var(--r-sm); cursor: pointer; }
.adm-color-hex { font-family: 'JetBrains Mono', 'Consolas', monospace; font-size: 12px; color: var(--muted); }
.adm-color-presets { display: flex; gap: 8px; margin-top: 8px; }
.adm-color-preset { width: 26px; height: 26px; border-radius: 6px; cursor: pointer; border: 1px solid rgba(255, 255, 255, .15); }
.adm-color-preset:hover { transform: scale(1.1); }
.adm-preset-btns { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 14px; }
.adm-radio-row { display: flex; gap: 16px; flex-wrap: wrap; font-size: 13.5px; color: var(--muted); }
.adm-radio-row label { display: flex; align-items: center; gap: 6px; cursor: pointer; }
.adm-detail-grid { display: grid; grid-template-columns: 90px 1fr; gap: 6px 12px; font-size: 13px; }
.adm-detail-grid .k { color: var(--faint); }
.adm-detail-grid .v { color: var(--text); word-break: break-word; }

/* ── Operations ─────────────────────────────────────────────────── */
.adm-partner-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 16px; margin-bottom: 8px; }
.adm-partner-card { background: var(--bg2); border: 1px solid var(--border); border-radius: var(--r-lg); padding: 20px; }
.adm-partner-card .p-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 6px; }
.adm-partner-card .p-name { color: var(--gold); font-weight: 700; }
.adm-partner-card .p-tag { font-size: 12px; color: var(--faint); margin-bottom: 12px; }
.adm-partner-card .p-bond { font-size: 13px; color: var(--text); }
.adm-partner-card .p-bond span { color: var(--gold); font-weight: 700; }
.adm-reserve-bar { background: var(--bg3); border-radius: 4px; height: 8px; overflow: hidden; margin-top: 6px; }
.adm-reserve-bar > div { height: 100%; border-radius: 4px; }

/* ── Account ────────────────────────────────────────────────────── */
.adm-account-grid { display: grid; grid-template-columns: 380px 1fr; gap: 16px; align-items: start; }
.event-pill { display: inline-block; padding: 2px 8px; border-radius: var(--r-sm); font-size: 11px; font-weight: 700; }
.event-login_success { background: rgba(92, 224, 138, .12); color: var(--success); }
.event-login_failed { background: rgba(224, 92, 92, .12); color: var(--danger); }
.event-login_blocked { background: rgba(224, 92, 92, .22); color: var(--danger); }
.event-logout { background: rgba(139, 153, 176, .12); color: var(--muted); }
.event-password_changed { background: var(--gold-soft); color: var(--gold); }

/* ── Modal tweaks ───────────────────────────────────────────────── */
.modal .field label .cnt { float: right; color: var(--faint); font-weight: 400; }
.modal .btn-row { justify-content: flex-end; margin-top: 18px; }
.modal .btn-row .grow { flex: 1; justify-content: center; }

/* ── Responsive ─────────────────────────────────────────────────── */
@media (max-width: 1080px) {
  .adm-dash-grid, .adm-health-grid { grid-template-columns: 1fr; }
  .adm-account-grid { grid-template-columns: 1fr; }
}

@media (max-width: 900px) {
  .adm-shell { flex-direction: column; }
  .adm-side {
    width: 100%; position: static; max-height: none;
    flex-direction: row; overflow-x: auto; overflow-y: hidden;
    border-right: none; border-bottom: 1px solid var(--border);
    padding: 8px 10px; gap: 4px;
    scrollbar-width: none;
  }
  .adm-side::-webkit-scrollbar { display: none; }
  .adm-nav-btn { width: auto; flex-shrink: 0; padding: 7px 12px; font-size: 12.5px; }
  .adm-main { padding: 18px 14px 60px; }
  .adm-topbar { padding: 8px 14px; gap: 10px; }
}

@media (max-width: 700px) {
  .adm-pool-grid { grid-template-columns: 1fr 1fr; }
  .adm-pool-meta { flex-direction: column; gap: 8px; }
  .adm-stats { grid-template-columns: repeat(2, 1fr); }
  .adm-toolbar .meta { margin-left: 0; width: 100%; }
}
