:root {
  color-scheme: light;
  --bg: #f5f7fb;
  --surface: #fff;
  --surface-2: #eef2f7;
  --line: #d8dee9;
  --text: #172033;
  --muted: #667085;
  --primary: #0f766e;
  --primary-2: #2563eb;
  --success: #16a34a;
  --danger: #dc2626;
  --warning: #d97706;
  --info: #2563eb;
  --radius: 8px;
  --shadow: 0 18px 60px rgba(15, 23, 42, .12);
  --sidebar: 240px;
  --font: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

[data-theme="dark"] {
  color-scheme: dark;
  --bg: #07080d;
  --surface: #10121b;
  --surface-2: #171923;
  --line: #262937;
  --text: #f7f7fa;
  --muted: #9296a8;
  --shadow: 0 30px 100px rgba(0, 0, 0, .45);
}

* { box-sizing: border-box; }
body { margin: 0; background: var(--bg); color: var(--text); font: 14px/1.5 var(--font); }
a { color: inherit; text-decoration: none; }
button, input, textarea, select { font: inherit; }

.login-page { min-height: 100vh; display: grid; place-items: center; padding: 20px; }
.login-card { width: min(420px, 100%); border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); padding: 26px; box-shadow: var(--shadow); }
.login-card h1 { margin: 4px 0 18px; font-size: 28px; }
.eyebrow { margin: 0; color: var(--primary); font-size: 11px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }

.admin-layout { display: grid; grid-template-columns: var(--sidebar) 1fr; min-height: 100vh; }
.sidebar { display: flex; flex-direction: column; gap: 22px; border-right: 1px solid var(--line); background: var(--surface); padding: 24px 18px; }
.brand { font-size: 18px; font-weight: 900; }
.nav { display: grid; gap: 6px; }
.nav a { border-radius: var(--radius); color: var(--muted); padding: 10px 12px; font-weight: 750; }
.nav a:hover, .nav a.active { background: var(--surface-2); color: var(--text); }
.sidebar-footer { display: grid; gap: 8px; margin-top: auto; }
.main { min-width: 0; padding: 28px; }
.topbar { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 22px; }
.topbar h1 { margin: 0; font-size: 28px; }
.admin-badge { border: 1px solid var(--line); border-radius: 999px; background: var(--surface); padding: 8px 12px; color: var(--muted); }

.button, button.button { display: inline-flex; align-items: center; justify-content: center; min-height: 38px; border: 0; border-radius: var(--radius); background: linear-gradient(135deg, var(--primary), var(--primary-2)); color: #fff; padding: 0 14px; font-weight: 850; cursor: pointer; }
.button.secondary { border: 1px solid var(--line); background: transparent; color: var(--text); }
.button.danger { background: var(--danger); }
.button.warning { background: var(--warning); }

.card { border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); padding: 18px; box-shadow: 0 1px 2px rgba(15, 23, 42, .04); }
.card h2 { margin: 0 0 14px; font-size: 18px; }
.grid { display: grid; gap: 16px; }
.grid-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.metrics { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-bottom: 18px; }
.metric span { display: block; color: var(--muted); font-size: 12px; font-weight: 750; }
.metric strong { display: block; margin-top: 6px; font-size: 24px; }
.live-now-card { margin-bottom: 18px; }
.live-now-card .section-title { margin-bottom: 0; }
.live-now-card .eyebrow { margin-bottom: 4px; }
.live-now-card h2 { margin-bottom: 0; }
.live-indicator { display: inline-flex; align-items: center; gap: 7px; border-radius: 999px; padding: 6px 10px; color: var(--muted); font-size: 12px; font-weight: 850; }
.live-indicator span { width: 8px; height: 8px; border-radius: 50%; background: currentColor; }
.live-indicator.online { background: color-mix(in srgb, var(--danger) 13%, var(--surface)); color: var(--danger); }
.live-indicator.online span { box-shadow: 0 0 0 5px color-mix(in srgb, var(--danger) 13%, transparent); }
.live-indicator.offline { background: var(--surface-2); }
.active-live-list { display: grid; gap: 8px; margin-top: 14px; }
.active-live-item { display: flex; align-items: center; justify-content: space-between; gap: 18px; border: 1px solid var(--line); border-radius: var(--radius); padding: 12px; transition: border-color 160ms ease, background 160ms ease; }
.active-live-item:hover { border-color: var(--primary-2); background: var(--surface-2); }
.active-live-item strong, .active-live-item span { display: block; }
.active-live-item > div:first-child span { margin-top: 2px; color: var(--muted); font-size: 12px; }
.active-live-meta { display: flex; align-items: center; justify-content: flex-end; gap: 12px; color: var(--muted); font-size: 12px; white-space: nowrap; }
.compact-message { margin: 12px 0 0; }

.table-wrap { overflow-x: auto; }
table { width: 100%; border-collapse: collapse; font-size: 13px; }
th, td { border-bottom: 1px solid var(--line); padding: 10px 9px; text-align: left; vertical-align: top; }
th { color: var(--muted); font-size: 11px; text-transform: uppercase; white-space: nowrap; }
td a { color: var(--primary-2); font-weight: 850; }
.cell-subtitle { display: block; margin-top: 2px; color: var(--muted); font-size: 11px; font-weight: 500; }
.number-cell, .date-cell { white-space: nowrap; font-variant-numeric: tabular-nums; }
.table-action { white-space: nowrap; }
.message-content { min-width: 320px; max-width: 760px; overflow-wrap: anywhere; white-space: pre-wrap; }

.badge { display: inline-flex; align-items: center; border-radius: 999px; padding: 4px 8px; background: var(--surface-2); color: var(--muted); font-size: 12px; font-weight: 850; white-space: nowrap; }
.badge.active, .badge.trial_active, .badge.verified { background: color-mix(in srgb, var(--success) 16%, var(--surface)); color: var(--success); }
.badge.payment_overdue, .badge.trial_finished, .badge.pending { background: color-mix(in srgb, var(--warning) 16%, var(--surface)); color: var(--warning); }
.badge.blocked, .badge.manual_blocked { background: color-mix(in srgb, var(--danger) 14%, var(--surface)); color: var(--danger); }
.badge.live-online { background: color-mix(in srgb, var(--success) 16%, var(--surface)); color: var(--success); }
.badge.live-connecting, .badge.live-reconnecting { background: color-mix(in srgb, var(--warning) 16%, var(--surface)); color: var(--warning); }
.badge.live-error { background: color-mix(in srgb, var(--danger) 14%, var(--surface)); color: var(--danger); }

.form { display: grid; gap: 12px; }
.form label { display: grid; gap: 6px; color: var(--muted); font-size: 12px; font-weight: 800; }
.form input, .form select, .form textarea { width: 100%; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface-2); color: var(--text); padding: 10px 11px; }
.form textarea { resize: vertical; }
.actions { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.details { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin: 0; }
.details div { border: 1px solid var(--line); border-radius: var(--radius); padding: 12px; }
dt { color: var(--muted); font-size: 11px; font-weight: 850; text-transform: uppercase; }
dd { margin: 5px 0 0; font-weight: 750; overflow-wrap: anywhere; }
.muted { color: var(--muted); }
.section-title { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 14px; }
.section-title h2 { margin: 0; }
.section-description { margin: 3px 0 0; }
.table-filters { display: grid; grid-template-columns: repeat(3, minmax(160px, 1fr)) auto; align-items: end; gap: 10px; margin-bottom: 14px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface-2); padding: 12px; }
.table-filters label { display: grid; gap: 5px; color: var(--muted); font-size: 11px; font-weight: 850; text-transform: uppercase; }
.table-filters input { width: 100%; min-height: 38px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); color: var(--text); padding: 8px 10px; }
.filter-actions { display: flex; gap: 7px; }
.pagination { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 14px; color: var(--muted); font-size: 12px; }
.pagination > div { display: flex; align-items: center; gap: 8px; }
.pagination .disabled { cursor: not-allowed; opacity: .45; }
.page-number { white-space: nowrap; }
.script-toolbar { display: grid; grid-template-columns:minmax(220px, 1fr) minmax(300px, 1.4fr) auto; align-items: end; gap: 16px; margin-bottom: 16px; }
.script-toolbar h2 { margin-bottom: 0; }
.script-search { display: grid; gap: 5px; color: var(--muted); font-size: 11px; font-weight: 850; text-transform: uppercase; }
.script-search input { width: 100%; min-height: 42px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface-2); color: var(--text); padding: 9px 11px; }
.script-result-count { align-self: center; white-space: nowrap; }
.script-library { display: grid; gap: 12px; }
.script-item[hidden], .script-empty[hidden] { display: none; }
.script-item-header { display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.script-item-header h2 { margin: 3px 0 0; }
.script-group { color: var(--primary); font-size: 10px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.script-copy-button { flex: 0 0 auto; }
.script-copy-button.is-copied { background: var(--success); }
.script-preview { margin-top: 12px; border-top: 1px solid var(--line); padding-top: 10px; }
.script-preview summary { width: fit-content; cursor: pointer; color: var(--primary-2); font-size: 12px; font-weight: 850; }
.script-content { margin-top: 14px; border-radius: var(--radius); background: var(--surface-2); padding: 16px; line-height: 1.65; }
.script-content > :first-child { margin-top: 0; }
.script-content > :last-child { margin-bottom: 0; }
.script-content li + li { margin-top: 5px; }
.copy-source { position: fixed; left: -9999px; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.script-empty { display: grid; gap: 3px; text-align: center; }

.system-alert { position: fixed; z-index: 9999; top: 16px; right: 16px; display: grid; gap: 2px; width: min(360px, calc(100vw - 32px)); border-radius: var(--radius); background: var(--surface); color: var(--text); box-shadow: var(--shadow); padding: 12px 14px; }
.system-alert-success { border-left: 5px solid var(--success); }
.system-alert-error { border-left: 5px solid var(--danger); }
.system-alert-warning { border-left: 5px solid var(--warning); }
.system-alert-info { border-left: 5px solid var(--info); }
.js .fallback-alert { display: none; }
.fallback-alert { border-radius: var(--radius); padding: 12px; margin-bottom: 14px; }
.fallback-alert.error { background: color-mix(in srgb, var(--danger) 12%, var(--surface)); color: var(--danger); }

@media (max-width: 1000px) {
  .admin-layout { grid-template-columns: 1fr; }
  .sidebar { position: static; }
  .metrics, .grid-2, .details { grid-template-columns: 1fr; }
  .table-filters { grid-template-columns: 1fr; }
  .script-toolbar { grid-template-columns: 1fr; align-items: stretch; }
  .script-result-count { align-self: auto; }
  .script-item-header { align-items: flex-start; flex-direction: column; }
  .active-live-item, .pagination { align-items: flex-start; flex-direction: column; }
  .active-live-meta { flex-wrap: wrap; justify-content: flex-start; white-space: normal; }
}
