/* MX Pilot Theme — shared across all pages */
@import url('https://fonts.googleapis.com/css2?family=DM+Mono:ital,wght@0,300;0,400;0,500;1,300&family=Sora:wght@300;400;500;600;700;800&display=swap');

:root {
  --bg:       #060a12;
  --bg2:      #0c1220;
  --bg3:      #101828;
  --surface:  #131d2e;
  --surface2: #1a2740;
  --border:   rgba(99,179,237,0.12);
  --border2:  rgba(99,179,237,0.22);
  --accent:   #3b82f6;
  --accent2:  #06b6d4;
  --accent3:  #10b981;
  --warn:     #f59e0b;
  --danger:   #ef4444;
  --text:     #f0f6ff;
  --text2:    #8ba8cc;
  --text3:    #4a6585;
  --mono:     'DM Mono', monospace;
  --sans:     'Sora', sans-serif;
  --radius:   10px;
  --radius-lg:16px;
}

/* Reset */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body {
  font-family: var(--sans);
  font-size: 16px;
  background: var(--bg);
  color: var(--text);
  line-height: 1.6;
  min-height: 100vh;
  overflow-x: hidden;
  position: relative;
}

/* Noise texture */
body::before {
  content: '';
  position: fixed;
  inset: 0;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.04'/%3E%3C/svg%3E");
  pointer-events: none;
  z-index: 0;
  opacity: 0.4;
}

/* Grid background */
.grid-bg {
  position: fixed;
  inset: 0;
  background-image:
    linear-gradient(rgba(59,130,246,0.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(59,130,246,0.04) 1px, transparent 1px);
  background-size: 60px 60px;
  pointer-events: none;
  z-index: 0;
}

/* Everything above background */
.page-wrap { position: relative; z-index: 1; }

/* ── NAV ── */
.nav {
  position: fixed; top: 0; left: 0; right: 0; z-index: 100;
  height: 64px; padding: 0 2rem;
  display: flex; align-items: center; justify-content: space-between;
  background: rgba(6,10,18,0.88);
  backdrop-filter: blur(20px);
  border-bottom: 1px solid var(--border);
}
.nav-logo { display:flex; align-items:center; gap:10px; text-decoration:none; }
.logo-mark {
  width:32px; height:32px; border-radius:7px;
  background: linear-gradient(135deg, var(--accent), var(--accent2));
  display:flex; align-items:center; justify-content:center;
  font-family:var(--mono); font-weight:500; font-size:13px; color:#fff;
}
.logo-text { font-size:17px; font-weight:700; color:var(--text); letter-spacing:-0.02em; }
.logo-text span { color: var(--accent); }
.nav-right { display:flex; align-items:center; gap:1rem; }
.nav-user { font-size:12px; color:var(--text3); font-family:var(--mono); }
.nav-plan { display:inline-block; padding:2px 8px; border-radius:99px; font-size:10px; font-weight:600; font-family:var(--mono); background:rgba(59,130,246,0.15); color:var(--accent); border:1px solid rgba(59,130,246,0.25); letter-spacing:0.05em; }

/* ── SIDEBAR LAYOUT ── */
.app-shell { display:flex; min-height:100vh; padding-top:64px; }

.sidebar {
  width: 220px; flex-shrink:0;
  background: rgba(12,18,32,0.95);
  border-right: 1px solid var(--border);
  position: sticky; top: 64px; height: calc(100vh - 64px);
  display: flex; flex-direction: column;
  overflow-y: auto;
}
.sidebar-inner { padding: .875rem; flex:1; }
.nav-lbl {
  font-size:10px; font-weight:600; letter-spacing:.12em; text-transform:uppercase;
  color:var(--text3); font-family:var(--mono);
  padding: .5rem .5rem .2rem;
}
.nav-item {
  display:flex; align-items:center; gap:8px;
  padding:7px 10px; border-radius:var(--radius);
  font-size:14px; color:var(--text2); text-decoration:none;
  margin-bottom:2px; transition:all .15s;
  font-weight:400;
}
.nav-item svg { width:14px; height:14px; stroke:currentColor; fill:none; stroke-width:1.5; flex-shrink:0; }
.nav-item:hover { background:var(--surface2); color:var(--text); }
.nav-item.active {
  background: rgba(59,130,246,0.12);
  color: var(--accent);
  border: 1px solid rgba(59,130,246,0.2);
  font-weight:500;
}
.nav-divider { height:1px; background:var(--border); margin:.5rem 0; }
.sidebar-foot {
  padding:.875rem;
  border-top:1px solid var(--border);
}
.user-block {
  display:flex; align-items:center; gap:8px;
}
.user-avatar {
  width:28px; height:28px; border-radius:50%;
  background: linear-gradient(135deg, var(--accent), var(--accent2));
  display:flex; align-items:center; justify-content:center;
  font-size:10px; font-weight:700; color:#fff; flex-shrink:0;
}
.user-name { font-size:13px; font-weight:600; color:var(--text); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.user-plan-label { font-size:11px; color:var(--text3); font-family:var(--mono); }
.sign-out-btn { color:var(--text3); text-decoration:none; font-size:13px; flex-shrink:0; }
.sign-out-btn:hover { color:var(--danger); }

/* ── MAIN CONTENT ── */
.main-content { flex:1; min-width:0; padding:2rem 2rem 3rem; }
.page-head { margin-bottom:1.75rem; }
.page-title { font-size:22px; font-weight:700; letter-spacing:-0.02em; margin-bottom:3px; }
.page-sub { font-size:15px; color:var(--text2); font-weight:300; }

/* ── STATUS BAR ── */
.status-bar {
  display:flex; align-items:center; gap:10px; flex-wrap:wrap;
  background:var(--surface); border:1px solid var(--border);
  border-radius:var(--radius); padding:.6rem 1rem;
  font-size:13px; color:var(--text3); margin-bottom:1.5rem;
  font-family:var(--mono);
}
.status-dot { width:6px; height:6px; border-radius:50%; flex-shrink:0; }
.dot-ok { background:var(--accent3); }
.dot-warn { background:var(--warn); }
.dot-fail { background:var(--danger); }

/* ── METRICS ── */
.metrics { display:grid; grid-template-columns:repeat(auto-fit,minmax(130px,1fr)); gap:10px; margin-bottom:1.5rem; }
.metric {
  background:var(--surface); border:1px solid var(--border);
  border-radius:var(--radius); padding:.875rem 1rem;
  transition: border-color .2s;
}
.metric:hover { border-color:var(--border2); }
.metric-label { font-size:11px; font-weight:600; letter-spacing:.1em; text-transform:uppercase; font-family:var(--mono); color:var(--text3); margin-bottom:.4rem; }
.metric-value { font-size:24px; font-weight:700; font-family:var(--mono); color:var(--text); letter-spacing:-0.02em; }
.metric-sub { font-size:12px; color:var(--text3); margin-top:.2rem; font-family:var(--mono); }
.val-ok { color:var(--accent3); }
.val-warn { color:var(--warn); }
.val-fail { color:var(--danger); }
.val-blue { color:var(--accent); }

/* ── CARDS ── */
.card {
  background:var(--surface); border:1px solid var(--border);
  border-radius:var(--radius-lg); margin-bottom:1rem;
  overflow:hidden; transition: border-color .2s;
  position:relative;
}
.card::before {
  content:''; position:absolute; top:0; left:0; right:0; height:1px;
  background:linear-gradient(90deg,transparent,rgba(59,130,246,0.3),transparent);
  opacity:0; transition:opacity .3s;
}
.card:hover { border-color:var(--border2); }
.card:hover::before { opacity:1; }
.card-head {
  display:flex; align-items:center; justify-content:space-between;
  padding:.875rem 1.25rem; cursor:pointer; gap:10px;
  transition:background .15s;
}
.card-head:hover { background:var(--surface2); }
.card-title { font-size:15px; font-weight:600; display:flex; align-items:center; gap:8px; color:var(--text); }
.card-meta { font-size:13px; color:var(--text3); display:flex; align-items:center; gap:6px; font-family:var(--mono); }
.card-body { padding:1.125rem 1.25rem; border-top:1px solid var(--border); }

/* ── BADGES ── */
.badge { display:inline-flex; align-items:center; padding:2px 8px; border-radius:99px; font-size:11px; font-weight:600; white-space:nowrap; font-family:var(--mono); letter-spacing:0.03em; }
.badge.pass   { background:rgba(16,185,129,0.12); color:var(--accent3); border:1px solid rgba(16,185,129,0.2); }
.badge.fail   { background:rgba(239,68,68,0.12);  color:var(--danger);  border:1px solid rgba(239,68,68,0.2); }
.badge.warn   { background:rgba(245,158,11,0.12); color:var(--warn);    border:1px solid rgba(245,158,11,0.2); }
.badge.info   { background:rgba(59,130,246,0.12); color:var(--accent);  border:1px solid rgba(59,130,246,0.2); }
.badge.gray   { background:rgba(74,101,133,0.12); color:var(--text3);   border:1px solid rgba(74,101,133,0.2); }
.badge.action { background:rgba(239,68,68,0.12);  color:var(--danger);  border:1px solid rgba(239,68,68,0.2); }
.badge.review { background:rgba(245,158,11,0.12); color:var(--warn);    border:1px solid rgba(245,158,11,0.2); }
.badge.healthy{ background:rgba(16,185,129,0.12); color:var(--accent3); border:1px solid rgba(16,185,129,0.2); }
.badge.mixed  { background:rgba(245,158,11,0.12); color:var(--warn);    border:1px solid rgba(245,158,11,0.2); }

/* ── GROUPED SENDING SOURCES ── */
.src-rows { font-size:10px; color:var(--text3); font-family:var(--mono); }
.src-org { font-size:11px; color:var(--text3); margin-top:2px; }
.src-detail-row > td { padding:0 0 10px !important; border-bottom:none !important; }
.src-detail > summary { cursor:pointer; color:var(--text3); font-size:12px; padding:4px 0; user-select:none; }
.src-detail > summary:hover { color:var(--accent); }
.src-detail[open] > summary { color:var(--text2); margin-bottom:6px; }
.src-detail-body { padding:2px; }
.src-diag { background:rgba(245,158,11,0.08); border:1px solid rgba(245,158,11,0.28); border-radius:var(--radius); padding:13px 16px; font-size:var(--fs-base); color:var(--text); line-height:1.65; margin-bottom:10px; }
.src-diag.src-diag-unauth { background:rgba(239,68,68,0.08); border-color:rgba(239,68,68,0.3); }
.src-diag.src-diag-partial { background:rgba(59,130,246,0.08); border-color:rgba(59,130,246,0.3); }
.src-diag strong { color:var(--text); }
.src-diag code { font-family:var(--mono); font-size:var(--fs-sm); color:var(--accent2); background:rgba(6,182,212,0.12); padding:1px 6px; border-radius:3px; }
.src-diag-fix { margin-top:10px; color:var(--text2); font-size:var(--fs-sm); line-height:1.6; }
.src-diag-fix strong { color:var(--text); }
.src-find { margin:9px 0; }
.src-find ul { margin:6px 0 0; padding-left:20px; }
.src-find li { margin-bottom:7px; line-height:1.55; font-size:var(--fs-sm); color:var(--text2); }
.src-raw { width:100%; border-collapse:collapse; }
.src-raw th { text-align:left; font-size:10px; text-transform:uppercase; letter-spacing:.04em; color:var(--text3); padding:4px 8px; border-bottom:1px solid var(--border); }
.src-raw td { padding:5px 8px; border-bottom:1px solid var(--border); font-size:12px; color:var(--text2); }
.src-raw tr:last-child td { border-bottom:none; }
.src-sig { font-family:var(--mono); font-size:11px; color:var(--text3); word-break:break-all; }

/* ── TABLES ── */
.tbl-wrap { overflow-x:auto; border-radius:var(--radius); border:1px solid var(--border); margin-bottom:1.125rem; }
table { width:100%; border-collapse:collapse; font-size:14px; font-family:var(--mono); }
th { text-align:left; color:var(--text3); font-weight:500; padding:8px 12px; border-bottom:1px solid var(--border); background:var(--bg3); font-size:11px; letter-spacing:.08em; text-transform:uppercase; }
td { padding:9px 12px; border-bottom:1px solid var(--border); color:var(--text2); font-size:14px; }
tr:last-child td { border-bottom:none; }
tr:hover td { background:var(--surface2); color:var(--text); }
td.mono-val { font-family:var(--mono); font-size:11px; }

/* ── ISSUES / FINDINGS ── */
.sect-label {
  font-size:11px; font-weight:600; letter-spacing:.12em; text-transform:uppercase;
  font-family:var(--mono); color:var(--text3); margin:1.25rem 0 .6rem;
}
.sect-label:first-child { margin-top:0; }
.sect-note { font-size:var(--fs-sm); font-weight:400; color:var(--text3); margin-left:6px; }
button.resolve-btn {
  margin:2px 0 12px; padding:6px 14px;
  background:var(--accent); border:1px solid var(--accent);
  color:#fff; font-weight:600;
}
button.resolve-btn:hover { background:var(--accent); border-color:var(--accent); color:#fff; filter:brightness(1.12); }
button.resolve-btn:disabled { opacity:.65; cursor:default; filter:none; }
button.resolve-btn svg { opacity:1; }
.issue { display:flex; gap:12px; padding:12px 0; border-bottom:1px solid var(--border); }
.issue:last-child { border-bottom:none; }
.issue-icon {
  width:32px; height:32px; border-radius:8px;
  display:flex; align-items:center; justify-content:center;
  flex-shrink:0; margin-top:1px;
}
.issue-icon svg { width:15px; height:15px; stroke:currentColor; fill:none; stroke-width:1.5; }
.issue-icon.fail-ic { background:rgba(239,68,68,0.12); color:var(--danger); }
.issue-icon.warn-ic { background:rgba(245,158,11,0.12); color:var(--warn); }
.issue-icon.pass-ic { background:rgba(16,185,129,0.12); color:var(--accent3); }
.issue-body { flex:1; min-width:0; }
.issue-title { font-size:15px; font-weight:600; color:var(--text); margin-bottom:2px; }
.issue-sub { font-size:13px; color:var(--text3); font-family:var(--mono); margin-bottom:7px; }
.action-box {
  background:rgba(59,130,246,0.07); border:1px solid rgba(59,130,246,0.18);
  border-radius:var(--radius); padding:9px 12px;
  font-size:14px; color:var(--text2); line-height:1.6;
}
.action-box code { font-family:var(--mono); font-size:11px; color:var(--accent2); background:rgba(6,182,212,0.08); padding:1px 5px; border-radius:3px; }

/* ── DIAG ── */
.diag-btn {
  display:inline-flex; align-items:center; gap:5px; margin-top:8px;
  padding:4px 12px; background:transparent; border:1px solid var(--border2);
  border-radius:var(--radius); font-size:11px; font-family:var(--sans);
  color:var(--text3); cursor:pointer; transition:all .15s;
}
.diag-btn:hover { background:var(--surface2); color:var(--accent); border-color:rgba(59,130,246,0.3); }
.diag-panel { margin-top:8px; border:1px solid var(--border); border-radius:var(--radius); overflow:hidden; display:none; }
.diag-panel.open { display:block; }
.diag-row { display:flex; align-items:baseline; gap:10px; padding:7px 12px; border-bottom:1px solid var(--border); font-size:13px; font-family:var(--mono); }
.diag-row:last-child { border-bottom:none; }
.diag-label { font-weight:500; min-width:140px; flex-shrink:0; color:var(--text3); font-size:13px; }
.diag-val { flex:1; word-break:break-all; color:var(--text2); }
.diag-pass { color:var(--accent3); }
.diag-fail { color:var(--danger); }
.diag-warn { color:var(--warn); }
.diag-info { color:var(--text3); }
.diag-loading { padding:10px 12px; font-size:13px; color:var(--text3); font-family:var(--mono); }

/* ── RECORD GENERATOR ── */
.gen-wrap { margin-top:10px; }
.gen-btn svg { opacity:.8; }
.gen-panel { margin-top:8px; display:none; }
.gen-panel.open { display:block; }
.gen-prov { font-size:12px; color:var(--text3); margin-bottom:8px; }
.gen-summary { font-size:var(--fs-sm); padding:9px 13px; border-radius:var(--radius); margin-bottom:11px; line-height:1.55; color:var(--text); }
.gen-summary.act { background:rgba(245,158,11,0.1); border:1px solid rgba(245,158,11,0.3); }
.gen-summary.ok  { background:rgba(16,185,129,0.1); border:1px solid rgba(16,185,129,0.3); }
.gen-rec { background:var(--surface); border:1px solid var(--border); border-radius:var(--radius); padding:11px 13px; margin-bottom:10px; }
.gen-rec-head { display:flex; align-items:center; gap:8px; font-size:14px; color:var(--text); margin-bottom:5px; }
.gen-badge { font-size:10px; text-transform:uppercase; letter-spacing:.03em; padding:1px 7px; border-radius:10px; font-weight:600; }
.gen-badge.change { color:var(--warn); background:rgba(245,158,11,0.12); border:1px solid rgba(245,158,11,0.3); }
.gen-badge.ok { color:var(--accent3); background:rgba(16,185,129,0.12); border:1px solid rgba(16,185,129,0.3); }
.gen-meta { font-size:11px; color:var(--text3); margin-bottom:7px; }
.gen-meta code { font-family:var(--mono); color:var(--accent2); }
.gen-code-row { display:flex; align-items:stretch; gap:6px; }
.gen-code { flex:1; font-family:var(--mono); font-size:12px; color:var(--text2); background:var(--surface2); border:1px solid var(--border); border-radius:var(--radius); padding:8px 10px; word-break:break-all; line-height:1.5; }
.gen-copy { flex-shrink:0; padding:0 12px; background:var(--accent); color:#fff; border:none; border-radius:var(--radius); font-size:12px; font-weight:500; cursor:pointer; transition:all .15s; }
.gen-copy:hover { filter:brightness(1.1); }
.gen-copy.copied { background:var(--accent3); }
.gen-notes { margin:8px 0 0; padding-left:18px; font-size:12px; color:var(--text3); line-height:1.6; }
.gen-notes li { margin-bottom:3px; }
.gen-notes code, .gen-notes-inline code { font-family:var(--mono); font-size:11px; color:var(--accent2); background:rgba(6,182,212,0.08); padding:1px 5px; border-radius:3px; }
.gen-notes-inline { font-size:13px; color:var(--text2); line-height:1.6; }
.gen-cur { font-size:11px; color:var(--text3); margin-top:2px; word-break:break-all; }
.gen-cur code { font-family:var(--mono); }
.gen-host { font-size:12px; color:var(--text2); margin-top:8px; padding:8px 11px; background:rgba(59,130,246,0.06); border:1px solid rgba(59,130,246,0.18); border-radius:var(--radius); line-height:1.5; }
.gen-host-ic { margin-right:4px; }
.gen-host a { color:var(--accent); font-weight:500; }
.gen-host code { font-family:var(--mono); font-size:11px; color:var(--text3); }
.gen-foot { font-size:11px; color:var(--text3); margin-top:6px; line-height:1.5; }
.gen-err { padding:10px 12px; font-size:13px; color:var(--danger); background:rgba(239,68,68,0.06); border:1px solid rgba(239,68,68,0.2); border-radius:var(--radius); }

/* ── FORMS ── */
.settings-card {
  background:var(--surface); border:1px solid var(--border);
  border-radius:var(--radius-lg); padding:1.5rem; max-width:460px; margin-bottom:1.25rem;
}
.settings-title {
  font-size:12px; font-weight:600; letter-spacing:.08em; text-transform:uppercase;
  font-family:var(--mono); color:var(--text3);
  margin-bottom:1.25rem; padding-bottom:.875rem; border-bottom:1px solid var(--border);
}
.form-field { margin-bottom:1rem; }
.form-field label { display:block; font-size:12px; font-weight:500; color:var(--text3); font-family:var(--mono); letter-spacing:.05em; text-transform:uppercase; margin-bottom:6px; }
.form-field input, .form-field select, .form-field textarea {
  width:100%; padding:9px 12px;
  background:var(--bg2); border:1px solid var(--border2);
  border-radius:var(--radius); color:var(--text); font-size:13px;
  font-family:var(--sans); font-size:15px; outline:none; transition:border-color .15s;
}
.form-field input:focus, .form-field select:focus { border-color:var(--accent); box-shadow:0 0 0 3px rgba(59,130,246,0.1); }
.form-field .hint { font-size:10px; color:var(--text3); font-family:var(--mono); margin-top:4px; }

/* ── BUTTONS ── */
.btn { font-family:var(--sans); font-size:15px; font-weight:500; padding:9px 20px; border-radius:var(--radius); cursor:pointer; text-decoration:none; transition:all .2s; border:none; display:inline-flex; align-items:center; gap:6px; }
.btn-primary { background:var(--accent); color:#fff; }
.btn-primary:hover { background:#2563eb; transform:translateY(-1px); }
.btn-ghost { background:transparent; color:var(--text2); border:1px solid var(--border2); }
.btn-ghost:hover { background:var(--surface2); color:var(--text); }
.btn-outline { background:transparent; color:var(--accent); border:1px solid rgba(59,130,246,0.4); }
.btn-outline:hover { background:rgba(59,130,246,0.08); }
.btn-danger { background:rgba(239,68,68,0.1); color:var(--danger); border:1px solid rgba(239,68,68,0.25); }
.btn-danger:hover { background:rgba(239,68,68,0.2); }
.btn-sm { padding:5px 12px; font-size:11px; font-family:var(--mono); }

/* ── ALERTS ── */
.alert { border-radius:var(--radius); padding:10px 14px; font-size:14px; margin-bottom:1.125rem; font-family:var(--mono); border:1px solid; }
.alert.success { background:rgba(16,185,129,0.08); color:var(--accent3); border-color:rgba(16,185,129,0.2); }
.alert.error   { background:rgba(239,68,68,0.08);  color:var(--danger);  border-color:rgba(239,68,68,0.2); }
.alert.info    { background:rgba(59,130,246,0.08);  color:var(--accent);  border-color:rgba(59,130,246,0.2); }
.alert.warning { background:rgba(245,158,11,0.08);  color:var(--warn);    border-color:rgba(245,158,11,0.2); }

/* ── UPGRADE BAR ── */
.upgrade-bar {
  background:rgba(245,158,11,0.07); border:1px solid rgba(245,158,11,0.2);
  border-radius:var(--radius); padding:9px 14px;
  font-size:14px; color:var(--warn); margin-bottom:1.25rem;
  display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:8px;
  font-family:var(--mono);
}
.upgrade-bar a { color:var(--warn); font-weight:600; text-decoration:underline; }

/* ── IMPERSONATION BAR ── */
.impersonate-bar {
  background:rgba(6,182,212,0.07); border:1px solid rgba(6,182,212,0.2);
  border-radius:var(--radius); padding:9px 14px;
  font-size:13px; color:var(--accent2); margin-bottom:1.25rem;
  display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:8px;
  font-family:var(--mono);
}
.impersonate-bar a { color:var(--accent2); text-decoration:underline; }

/* ── PRE / CODE ── */
pre {
  background:var(--bg2); border:1px solid var(--border);
  border-radius:var(--radius); padding:1rem;
  font-family:var(--mono); font-size:12px; line-height:1.7;
  overflow-x:auto; white-space:pre-wrap; word-break:break-all; color:var(--text2);
}
code { font-family:var(--mono); font-size:12px; color:var(--accent2); }

/* ── SUB METRICS ── */
.sub-metrics { display:grid; grid-template-columns:repeat(auto-fit,minmax(110px,1fr)); gap:8px; margin-bottom:1.125rem; }
.sub-metric { background:var(--bg2); border:1px solid var(--border); border-radius:var(--radius); padding:.625rem .875rem; }
.sub-metric-label { font-size:11px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; font-family:var(--mono); color:var(--text3); margin-bottom:3px; }
.sub-metric-value { font-size:18px; font-weight:700; font-family:var(--mono); color:var(--text); }

/* ── DETAILS/SUMMARY ── */
details > summary { list-style:none; cursor:pointer; }
details > summary::-webkit-details-marker { display:none; }
.chev { transition:transform .18s; display:inline-block; font-size:10px; color:var(--text3); }
details[open] .chev { transform:rotate(180deg); }

/* ── EMPTY STATE ── */
.empty { text-align:center; padding:3rem 1rem; color:var(--text3); font-family:var(--mono); font-size:14px; }
.empty .icon { font-size:32px; margin-bottom:.875rem; display:block; }

/* ── RESPONSIVE ── */
@media(max-width:768px){
  .app-shell { flex-direction:column; }
  .sidebar { width:100%; height:auto; position:static; flex-direction:row; flex-wrap:wrap; border-right:none; border-bottom:1px solid var(--border); }
  .sidebar-inner { display:flex; flex-direction:row; flex-wrap:wrap; padding:.375rem; }
  .nav-lbl { display:none; }
  .nav-item { padding:5px 8px; font-size:11px; }
  .sidebar-foot { width:100%; padding:.5rem .875rem; border-top:1px solid var(--border); }
  .main-content { padding:1.25rem; }
}
