/* Admin console — cream+neon, scoped .admin-scope (không rò ra app matcha).
   Tiêu thụ token ở theme-tokens.css. Track C2. */
.admin-scope {
  font-family: var(--font-latin);
  color: var(--text);
  background: var(--bg);
  min-height: 100vh;
  padding: 22px clamp(14px, 4vw, 40px) 60px;
  line-height: 1.55;
}
.admin-scope * { box-sizing: border-box; }
.admin-scope .adm-head { display: flex; align-items: center; gap: 14px; margin-bottom: 6px; flex-wrap: wrap; }
.admin-scope .adm-title { font-size: 22px; font-weight: 800; letter-spacing: -.02em; }
.admin-scope .adm-title b { color: var(--accent-on); background: var(--accent); padding: 1px 9px; border-radius: 8px; }
.admin-scope .adm-sub { color: var(--text-2); font-size: 13px; }
.admin-scope .adm-back { margin-left: auto; color: var(--text-2); text-decoration: none; font-size: 13px; font-weight: 600; }
.admin-scope .adm-back:hover { color: var(--accent-on); }

/* Tabs */
.admin-scope .adm-tabs { display: inline-flex; flex-wrap: wrap; gap: 3px; background: var(--surface-2); border: 1px solid var(--border); border-radius: 12px; padding: 3px; margin: 18px 0 20px; }
.admin-scope .adm-tab { padding: 7px 18px; border: 0; border-radius: 9px; background: transparent; color: var(--text-2); font-weight: 600; font-size: 13.5px; font-family: inherit; cursor: pointer; transition: all .13s; }
.admin-scope .adm-tab.active { background: var(--accent); color: var(--accent-on); }

/* Card */
.admin-scope .adm-card { background: var(--surface); border: 1px solid var(--border-soft); border-radius: var(--r-lg); box-shadow: var(--shadow-sm); padding: 18px 20px; margin-bottom: 16px; }
.admin-scope .adm-card h3 { margin: 0 0 12px; font-size: 15px; font-weight: 700; }

/* Toolbar */
.admin-scope .adm-toolbar { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; margin-bottom: 14px; }
.admin-scope input, .admin-scope select {
  padding: 8px 12px; border: 1px solid var(--border); border-radius: var(--r-sm);
  font-size: 13.5px; font-family: inherit; background: var(--surface); color: var(--text);
}
.admin-scope input:focus, .admin-scope select:focus { outline: 2px solid var(--accent); outline-offset: 1px; }
.admin-scope .adm-spacer { flex: 1; }

/* Buttons */
.admin-scope .btn { display: inline-flex; align-items: center; gap: 6px; padding: 8px 14px; border-radius: 10px; border: 0; font-size: 13.5px; font-weight: 650; font-family: inherit; cursor: pointer; transition: background .14s, transform .05s; }
.admin-scope .btn:active { transform: translateY(1px); }
.admin-scope .btn.primary { background: var(--accent); color: var(--accent-on); }
.admin-scope .btn.primary:hover { background: var(--accent-hover); }
.admin-scope .btn.ghost { background: transparent; color: var(--text-2); border: 1px solid var(--border); }
.admin-scope .btn.ghost:hover { background: var(--surface-2); }
.admin-scope .btn.danger { background: var(--danger-soft); color: var(--danger); }
.admin-scope .btn.danger:hover { background: #fbd5d5; }
.admin-scope .btn.sm { padding: 5px 10px; font-size: 12.5px; border-radius: 8px; }
.admin-scope .btn:disabled { opacity: .45; cursor: not-allowed; }

/* Table */
.admin-scope .adm-table-wrap { overflow-x: auto; border: 1px solid var(--border-soft); border-radius: var(--r); }
.admin-scope table { width: 100%; border-collapse: collapse; font-size: 13.5px; min-width: 620px; }
.admin-scope th { text-align: left; padding: 10px 13px; background: var(--surface-2); color: var(--text-2); font-weight: 700; font-size: 11.5px; text-transform: uppercase; letter-spacing: .05em; white-space: nowrap; }
.admin-scope td { padding: 10px 13px; border-top: 1px solid var(--border-soft); vertical-align: middle; }
.admin-scope tr:hover td { background: var(--surface-2); }
.admin-scope td .row-actions { display: flex; gap: 6px; flex-wrap: wrap; }

/* Chips */
.admin-scope .chip { display: inline-flex; align-items: center; padding: 2px 9px; border-radius: 999px; font-size: 11.5px; font-weight: 600; background: var(--surface-2); border: 1px solid var(--border-soft); color: var(--text-2); }
.admin-scope .chip.ok { background: var(--success-soft); color: var(--success); border-color: transparent; }
.admin-scope .chip.no { background: var(--danger-soft); color: var(--danger); border-color: transparent; }
.admin-scope .chip.warn { background: var(--warn-soft); color: var(--warn); border-color: transparent; }
.admin-scope .chip.owner { background: var(--accent); color: var(--accent-on); border-color: transparent; }
.admin-scope .chip.admin { background: var(--info-soft); color: var(--info); border-color: transparent; }

/* Stat row */
.admin-scope .adm-stats { display: flex; gap: 12px; flex-wrap: wrap; margin-bottom: 18px; }
.admin-scope .adm-stat { background: var(--surface); border: 1px solid var(--border-soft); border-radius: var(--r); padding: 12px 16px; min-width: 130px; box-shadow: var(--shadow-sm); }
.admin-scope .adm-stat .k { font-size: 11px; color: var(--muted); text-transform: uppercase; letter-spacing: .06em; font-weight: 700; }
.admin-scope .adm-stat .v { font-size: 20px; font-weight: 800; margin-top: 2px; }
.admin-scope .adm-stat .v b { color: var(--accent-on); }

/* Detail drawer / QR */
.admin-scope .adm-mono { font-family: ui-monospace, 'SF Mono', Menlo, monospace; font-size: 12.5px; }
.admin-scope .adm-qr { max-width: 190px; border: 1px solid var(--border); border-radius: var(--r); padding: 8px; background: #fff; }
.admin-scope .adm-empty { padding: 40px 20px; text-align: center; color: var(--muted); font-size: 14px; }
.admin-scope .adm-note { font-size: 12.5px; color: var(--text-2); margin-top: 6px; }
.admin-scope .adm-inline-form { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
