/* ============================================================
   ApexCommerce ADMIN — shell, nav, KPIs, dense tables
   Sidebar #0E2B21 (locked token: --apx-surface-inverse)
   ============================================================ */

.adm-shell { display: grid; grid-template-columns: 16rem minmax(0, 1fr); min-height: 100vh; }
@media (max-width: 991.98px) { .adm-shell { grid-template-columns: 1fr; } }

.adm-sidebar {
  background: var(--apx-surface-inverse); color: #B9C9BD;
  display: flex; flex-direction: column; gap: var(--apx-space-2);
  padding: var(--apx-space-5) var(--apx-space-3) var(--apx-space-5);
}
@media (min-width: 992px) { .adm-sidebar { position: sticky; top: 0; height: 100vh; overflow-y: auto; } }
@media (max-width: 991.98px) {
  .adm-sidebar { flex-direction: row; align-items: center; overflow-x: auto; padding: var(--apx-space-3); gap: var(--apx-space-1); }
  .adm-nav-group, .adm-side-foot, .adm-nav-lock { display: none; }
  .adm-brand { flex: none; margin: 0 var(--apx-space-2) 0 0; }
}
.adm-brand { display: flex; align-items: center; gap: .625rem; color: #fff; font-family: var(--apx-font-display); font-weight: 600; font-size: 1.0625rem; padding: 0 .5rem var(--apx-space-4); }
@media (max-width: 991.98px) { .adm-brand { padding-bottom: 0; } }
.adm-brand-tag { font-family: var(--apx-font-sans); font-size: var(--apx-fs-caption); font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--apx-on-accent); background: var(--apx-accent); border-radius: var(--apx-radius-xs); padding: .125rem .375rem; }
.adm-nav { display: flex; flex-direction: column; gap: .125rem; }
@media (max-width: 991.98px) { .adm-nav { flex-direction: row; gap: .25rem; } }
.adm-nav-group { font-size: .6875rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: #7E9486; padding: var(--apx-space-4) .75rem .375rem; }
.adm-nav-link { display: flex; align-items: center; gap: .625rem; padding: .4375rem .75rem; border-radius: var(--apx-radius-sm); color: #B9C9BD; text-decoration: none; font-size: var(--apx-fs-small); font-weight: 500; }
.adm-nav-link:hover { background: rgba(255,255,255,.07); color: #fff; }
.adm-nav-link.is-active { background: rgba(255,255,255,.12); color: #fff; font-weight: 600; box-shadow: inset 3px 0 0 var(--apx-accent); }
@media (max-width: 991.98px) { .adm-nav-link { white-space: nowrap; border: 1px solid rgba(255,255,255,.16); border-radius: var(--apx-radius-pill); padding: .375rem .875rem; } .adm-nav-link.is-active { box-shadow: none; border-color: var(--apx-accent); } }
.adm-nav-count { margin-left: auto; font-size: .6875rem; font-weight: 700; background: rgba(255,255,255,.12); border-radius: var(--apx-radius-pill); padding: .0625rem .4375rem; font-variant-numeric: tabular-nums; }
@media (max-width: 991.98px) { .adm-nav-count { display: none; } }
.adm-nav-lock { opacity: .45; }
.adm-side-foot { margin-top: auto; padding: var(--apx-space-4) .5rem 0; border-top: 1px solid rgba(255,255,255,.12); }
@media (max-width: 991.98px) { .adm-side-foot { display: none; } }

.adm-main { min-width: 0; display: flex; flex-direction: column; background: var(--apx-bg); }
.adm-topbar {
  position: sticky; top: 0; z-index: 20; display: flex; align-items: center; gap: var(--apx-space-4);
  padding: .625rem var(--apx-space-6); background: var(--apx-surface); border-bottom: 1px solid var(--apx-border);
}
.adm-topbar-search { max-width: 26rem; flex: 1; }
.adm-content { padding: var(--apx-space-6); max-width: 96rem; width: 100%; margin-inline: auto; }
.adm-head { display: flex; align-items: flex-end; justify-content: space-between; gap: var(--apx-space-4); flex-wrap: wrap; margin-bottom: var(--apx-space-6); }
.adm-head h1 { margin: 0; }
.adm-head-sub { color: var(--apx-text-muted); font-size: var(--apx-fs-small); margin: .25rem 0 0; }

.adm-kpis { display: grid; gap: var(--apx-space-4); grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr)); margin-bottom: var(--apx-space-6); }
.adm-kpi { background: var(--apx-surface); border: 1px solid var(--apx-border); border-radius: var(--apx-radius-md); padding: var(--apx-space-4); }
.adm-kpi-label { font-size: var(--apx-fs-caption); font-weight: 600; color: var(--apx-text-muted); text-transform: uppercase; letter-spacing: .06em; }
.adm-kpi-figure { font-family: var(--apx-font-display); font-size: 1.875rem; font-weight: 600; line-height: 1.15; margin-top: .125rem; font-variant-numeric: tabular-nums; }
.adm-kpi-delta { display: inline-flex; align-items: center; gap: .25rem; font-size: var(--apx-fs-caption); font-weight: 700; border-radius: var(--apx-radius-pill); padding: .0625rem .5rem; margin-top: .25rem; }
.adm-kpi-up { color: var(--apx-success); background: var(--apx-success-soft); }
.adm-kpi-down { color: var(--apx-danger); background: var(--apx-danger-soft); }
.adm-kpi-flat { color: var(--apx-text-muted); background: var(--apx-surface-2); }

.adm-table { font-size: var(--apx-fs-small); }
.adm-table th { white-space: nowrap; }
.adm-table td { vertical-align: middle; }
.adm-row-sel { width: 1rem; height: 1rem; }
.adm-thumb { width: 2.25rem; height: 2.25rem; border-radius: var(--apx-radius-xs); display: grid; place-items: center; flex: none; }
.adm-cell-main { display: flex; align-items: center; gap: .625rem; min-width: 0; }

.adm-bulkbar {
  position: sticky; bottom: var(--apx-space-4); z-index: 15; display: flex; align-items: center; gap: var(--apx-space-3); flex-wrap: wrap;
  background: var(--apx-surface-inverse); color: #DCE7DE; border-radius: var(--apx-radius-md); padding: .625rem var(--apx-space-4);
  box-shadow: var(--apx-shadow-lg);
}
.adm-bulkbar .apx-btn { --btn-bg: var(--apx-accent); --btn-bg-hover: var(--apx-accent-hover); --btn-fg: var(--apx-on-accent); --btn-fg-hover: var(--apx-on-accent); --btn-border: var(--apx-accent); --btn-border-hover: var(--apx-accent-hover); }

.adm-seg { display: inline-flex; border: 1px solid var(--apx-border); border-radius: var(--apx-radius-sm); overflow: hidden; background: var(--apx-surface); }
.adm-seg button { border: 0; background: none; padding: .375rem .875rem; font-size: var(--apx-fs-caption); font-weight: 600; color: var(--apx-text-muted); }
.adm-seg button + button { border-left: 1px solid var(--apx-border); }
.adm-seg button.is-active { background: var(--apx-primary); color: var(--apx-on-primary); }

.adm-tree { list-style: none; margin: 0; padding: 0; }
.adm-tree ul { list-style: none; margin: 0; padding-left: 1.375rem; border-left: 1px dashed var(--apx-border-strong); margin-left: .875rem; }
.adm-tree-row { display: flex; align-items: center; gap: .625rem; padding: .4375rem .5rem; border-radius: var(--apx-radius-sm); }
.adm-tree-row:hover { background: var(--apx-surface-2); }
.adm-tree-grip { color: var(--apx-border-strong); cursor: grab; }
.adm-tree-count { margin-left: auto; font-size: var(--apx-fs-caption); color: var(--apx-text-muted); font-variant-numeric: tabular-nums; }

.adm-matrix { width: 100%; border-collapse: collapse; font-size: var(--apx-fs-small); }
.adm-matrix th, .adm-matrix td { border: 1px solid var(--apx-border); padding: .4375rem .625rem; text-align: center; font-variant-numeric: tabular-nums; }
.adm-matrix th[scope="row"], .adm-matrix thead th { background: var(--apx-surface-2); text-align: center; font-weight: 600; }
.adm-matrix th[scope="row"] { text-align: left; }
.adm-matrix td.is-zero { color: var(--apx-danger); background: var(--apx-danger-soft); font-weight: 700; }
.adm-matrix td.is-low { color: var(--apx-accent-text); background: var(--apx-warning-soft); font-weight: 600; }
.adm-matrix td.is-ok { color: var(--apx-text-secondary); }

.adm-login-wrap { min-height: 100vh; display: grid; place-items: center; padding: var(--apx-space-6); background: var(--apx-surface-inverse); }
.adm-login-card { width: min(26rem, 100%); background: var(--apx-surface); border-radius: var(--apx-radius-lg); padding: var(--apx-space-8); box-shadow: var(--apx-shadow-lg); }
@media (max-width: 575.98px) {
  .adm-topbar { flex-wrap: wrap; gap: var(--apx-space-3); }
  .adm-topbar-search { flex-basis: 100%; max-width: none; }
}

/* ---- Phase 11: service thread, SLA chips, wave cards ---- */
.adm-thread { display: flex; flex-direction: column; gap: .75rem; }
.adm-msg { max-width: 78%; border-radius: var(--apx-radius-md); padding: .625rem .875rem; font-size: var(--apx-fs-small); line-height: 1.55; }
.adm-msg-cust { background: var(--apx-surface-2); align-self: flex-start; border-bottom-left-radius: var(--apx-radius-xs); }
.adm-msg-agent { background: var(--apx-primary-050); align-self: flex-end; border-bottom-right-radius: var(--apx-radius-xs); }
.adm-msg-meta { display: block; font-size: var(--apx-fs-caption); color: var(--apx-text-muted); margin-top: .25rem; }
.adm-note { background: var(--apx-warning-soft); border: 1px dashed var(--apx-warning-border); border-radius: var(--apx-radius-md); padding: .625rem .875rem; font-size: var(--apx-fs-small); align-self: stretch; max-width: 100%; }
.adm-sla { font-size: var(--apx-fs-caption); font-weight: 700; border-radius: var(--apx-radius-pill); padding: .125rem .5rem; font-variant-numeric: tabular-nums; }
.adm-sla-ok { color: var(--apx-success); background: var(--apx-success-soft); }
.adm-sla-warn { color: var(--apx-accent-text); background: var(--apx-warning-soft); }
.adm-sla-breach { color: var(--apx-danger); background: var(--apx-danger-soft); }
.adm-wave { border: 1px solid var(--apx-border); border-radius: var(--apx-radius-md); background: var(--apx-surface); padding: var(--apx-space-4); }
.adm-wave + .adm-wave { margin-top: var(--apx-space-4); }

/* ── §C Phase 12 · marketing & CMS ─────────────────────────────── */
.adm-block{display:flex;align-items:center;gap:var(--apx-space-3);padding:var(--apx-space-3);border:1px solid var(--apx-border);border-radius:var(--apx-radius-md);background:var(--apx-surface)}
.adm-block + .adm-block{margin-top:var(--apx-space-3)}
.adm-block-grip{color:var(--apx-text-muted);flex:none;cursor:grab}
.adm-block-thumb{width:76px;height:50px;border-radius:var(--apx-radius-sm);background:var(--apx-primary-050);display:flex;align-items:center;justify-content:center;color:var(--apx-primary);flex:none;overflow:hidden}
.adm-block.is-draft{border-style:dashed;background:var(--apx-surface-2)}
.adm-frame{border:1px solid var(--apx-border);border-radius:var(--apx-radius-md);background:#fff;overflow:hidden}
.adm-frame-bar{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:var(--apx-surface-2);border-bottom:1px solid var(--apx-border);font-size:var(--apx-fs-caption);color:var(--apx-text-muted)}
.adm-bar-track{height:8px;border-radius:var(--apx-radius-pill);background:var(--apx-surface-2);overflow:hidden}
.adm-bar-fill{height:100%;border-radius:var(--apx-radius-pill);background:var(--apx-primary)}
.adm-bar-fill.is-sched{background:var(--apx-accent-text)}
.adm-bar-fill.is-done{background:var(--apx-success)}
.adm-code-chip{font-family:var(--apx-font-mono);font-size:var(--apx-fs-small);background:var(--apx-primary-050);color:var(--apx-primary);border:1px dashed var(--apx-primary);border-radius:var(--apx-radius-xs);padding:.125rem .5rem;letter-spacing:.04em}

/* ── §D Phase 13 · reports & settings ──────────────────────────── */
.adm-heat-cell{display:block;text-align:center;padding:.4375rem .25rem;border-radius:var(--apx-radius-xs);font-size:var(--apx-fs-caption);font-variant-numeric:tabular-nums}
.adm-heat-0{background:var(--apx-surface-2);color:var(--apx-text-muted)}
.adm-heat-1{background:var(--apx-primary-050);color:var(--apx-primary)}
.adm-heat-2{background:var(--apx-primary-100);color:var(--apx-primary)}
.adm-heat-3{background:var(--apx-primary-200);color:var(--apx-primary)}
.adm-heat-4{background:var(--apx-primary-300);color:#fff}
.adm-heat-5{background:var(--apx-primary);color:#fff}
.adm-switch{display:flex;align-items:center;justify-content:space-between;gap:var(--apx-space-3);padding:var(--apx-space-3);border:1px solid var(--apx-border);border-radius:var(--apx-radius-md);background:var(--apx-surface)}
.adm-switch + .adm-switch{margin-top:var(--apx-space-3)}
.adm-pill-on{background:var(--apx-success-soft);color:var(--apx-success);border-radius:var(--apx-radius-pill);font-size:var(--apx-fs-caption);padding:.125rem .625rem;font-weight:600}
.adm-pill-off{background:var(--apx-surface-2);color:var(--apx-text-muted);border-radius:var(--apx-radius-pill);font-size:var(--apx-fs-caption);padding:.125rem .625rem;font-weight:600}

/* ── §E Phase 14 · RBAC & super admin ──────────────────────────── */
.adm-hash{font-family:var(--apx-font-mono);font-size:var(--apx-fs-caption);color:var(--apx-text-muted);letter-spacing:.02em}
.adm-cell-yes,.adm-cell-no{display:inline-flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;border-radius:var(--apx-radius-xs)}
.adm-cell-yes{background:var(--apx-success-soft);color:var(--apx-success)}
.adm-cell-no{background:var(--apx-surface-2);color:var(--apx-text-muted)}
.adm-stepup{display:inline-flex;align-items:center;gap:.375rem;background:var(--apx-success-soft);color:var(--apx-success);border-radius:var(--apx-radius-pill);font-size:var(--apx-fs-caption);padding:.25rem .75rem;font-weight:600}
