@import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&display=swap');

:root{
  /* Shopify-like palette */
  --admin-shell-bg:#f6f6f7;
  --admin-side-bg:#ffffff;
  --admin-surface:#ffffff;
  --admin-surface-2:#fbfbfc;
  --admin-border:#e5e7eb;
  --admin-border-soft:#eef2f7;
  --admin-accent:#111827;
  --admin-accent-strong:#0f172a;
  --admin-text:#0f172a;
  --admin-muted:#64748b;
  --admin-success:#059669;
  --admin-danger:#dc2626;
  --admin-shadow:0 18px 40px rgba(15,23,42,.08);
  --admin-shadow-soft:0 10px 22px rgba(15,23,42,.06);
  --admin-radius:16px;
  --admin-radius-lg:20px;
}

.admin-shell{
  display:flex;
  min-height:100vh;
  background:var(--admin-shell-bg);
}

.admin-sidebar{
  width:260px;
  padding:22px 16px 18px;
  background:var(--admin-side-bg);
  border-right:1px solid var(--admin-border);
  color:var(--admin-text);
  display:flex;
  flex-direction:column;
  gap:14px;
  position:sticky;
  top:0;
  height:100vh;
  overflow-y:auto;
  overscroll-behavior:contain;
}

.admin-brand{
  display:flex;
  align-items:center;
  gap:10px;
  font-family:"Space Grotesk", "Segoe UI", system-ui, sans-serif;
}
.admin-brand-link{
  display:flex;
  align-items:center;
  gap:10px;
  text-decoration:none;
  color:inherit;
}

.admin-brand-logo{
  width:44px;
  height:44px;
  border-radius:12px;
  object-fit:cover;
  background:transparent;
  padding:0;
  box-shadow:0 10px 25px rgba(15,23,42,0.12);
}

.admin-brand .badge{
  width:36px;
  height:36px;
  border-radius:12px;
  background:linear-gradient(135deg, #0f172a, #334155);
  color:#fff;
  font-weight:800;
  display:grid;
  place-items:center;
  letter-spacing:.6px;
}

.admin-brand .title{
  font-size:16px;
  font-weight:700;
  letter-spacing:.3px;
}

.admin-brand .subtitle{
  font-size:12px;
  color:var(--admin-muted);
}

.admin-nav{
  display:flex;
  flex-direction:column;
  gap:10px;
}

.admin-nav-links{
  display:flex;
  flex-direction:column;
  gap:10px;
}

.admin-nav-group{
  display:flex;
  flex-direction:column;
  gap:6px;
}
.admin-nav-group__title{
  font-size:11px;
  color:var(--admin-muted);
  font-weight:800;
  letter-spacing:.6px;
  text-transform:uppercase;
  padding:6px 10px 2px;
}

.admin-nav a{
  display:flex;
  align-items:center;
  gap:10px;
  padding:10px 12px;
  border-radius:12px;
  text-decoration:none;
  color:var(--admin-text);
  border:1px solid transparent;
  background:var(--admin-surface-2);
  font-weight:700;
  font-size:13px;
  transition:all .18s ease;
}
.admin-nav .nav-toggle{
  display:none;
  align-items:center;
  gap:10px;
  padding:10px 12px;
  border-radius:12px;
  border:1px solid transparent;
  background:#f8fafc;
  color:var(--admin-text);
  font-weight:700;
  font-size:13px;
  cursor:pointer;
  transition:all .18s ease;
}
.admin-nav .nav-toggle:hover{
  border-color:#fed7aa;
  background:#fff7ed;
}
.admin-nav .nav-icon{font-size:16px;line-height:1;}
.admin-nav .nav-label{font-size:13px;}

.admin-nav a:hover{
  border-color:var(--admin-border);
  background:var(--admin-surface);
  box-shadow:var(--admin-shadow-soft);
}

.admin-nav a.active{
  border-color:rgba(15,23,42,.18);
  color:var(--admin-accent-strong);
  background:var(--admin-surface);
  box-shadow:var(--admin-shadow-soft);
}

.admin-foot{
  margin-top:auto;
  padding-top:12px;
  border-top:1px dashed #e2e8f0;
  font-size:12px;
  color:var(--admin-muted);
}

.admin-main{
  flex:1;
  min-width:0;
  padding:24px 28px;
}

.admin-shell-applied .btn{
  appearance:none;
  border:1px solid var(--admin-border);
  background:var(--admin-surface-2);
  color:var(--admin-text);
  border-radius:999px;
  padding:9px 14px;
  font-weight:800;
  font-size:13px;
  cursor:pointer;
  transition:transform .15s ease, box-shadow .15s ease, background .15s ease;
}
.admin-shell-applied .btn:hover{
  background:var(--admin-surface);
  box-shadow:var(--admin-shadow-soft);
  transform:translateY(-1px);
}
.admin-shell-applied .btn:disabled{
  opacity:.6;
  cursor:not-allowed;
  transform:none;
  box-shadow:none;
}
.admin-shell-applied .btn.primary{
  background:#111827;
  color:#fff;
  border-color:#111827;
}
.admin-shell-applied .btn.primary:hover{
  background:#0f172a;
  border-color:#0f172a;
}
.admin-shell-applied .btn.gold{
  background:#fff7ed;
  border-color:#fed7aa;
  color:#9a3412;
}

.admin-main .wrap{
  max-width:1560px;
  width:100%;
  margin:0 auto;
}

.admin-shell-applied .page{
  max-width:1200px;
  margin:0 auto;
  display:flex;
  flex-direction:column;
  gap:16px;
}
.admin-shell-applied .page-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}
.admin-shell-applied .page-title h1{
  margin:0;
  font-size:22px;
  line-height:1.2;
  font-weight:800;
}
.admin-shell-applied .page-sub{
  margin-top:6px;
  font-size:13px;
  color:var(--admin-muted);
}
.admin-shell-applied .page-actions{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.admin-shell-applied .page-body{
  display:grid;
  gap:12px;
}
.admin-shell-applied .panel{
  background:var(--admin-surface);
  border:1px solid var(--admin-border);
  border-radius:var(--admin-radius);
  box-shadow:var(--admin-shadow-soft);
  padding:14px;
}
.admin-shell-applied .kpi-grid{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:12px;
}
.admin-shell-applied .kpi-card{
  background:var(--admin-surface);
  border:1px solid var(--admin-border);
  border-radius:14px;
  padding:12px;
}
.admin-shell-applied .kpi-title{
  font-size:12px;
  color:var(--admin-muted);
  font-weight:700;
}
.admin-shell-applied .kpi-value{
  font-size:22px;
  font-weight:800;
  margin-top:6px;
}
.admin-shell-applied .kpi-sub{
  font-size:12px;
  color:var(--admin-muted);
  margin-top:4px;
}
.admin-shell-applied .health-box{
  display:grid;
  gap:8px;
}
.admin-shell-applied .health-item{
  border-radius:12px;
  padding:10px 12px;
  border:1px solid var(--admin-border);
  background:var(--admin-surface);
}
.admin-shell-applied .health-item.ok{border-color:rgba(22,163,74,.35);}
.admin-shell-applied .health-item.warn{border-color:rgba(234,179,8,.45);}
.admin-shell-applied .health-item.err{border-color:rgba(239,68,68,.45);}
.admin-shell-applied .health-item .en{
  display:block;
  font-size:12px;
  color:var(--admin-muted);
  margin-top:4px;
}
.admin-shell-applied .ab-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
  flex-wrap:wrap;
}
.admin-shell-applied .ab-controls{
  display:flex;
  align-items:flex-end;
  gap:8px;
  flex-wrap:wrap;
}
.admin-shell-applied .ab-rows{
  display:grid;
  gap:8px;
}
.admin-shell-applied .ab-row{
  border:1px solid var(--admin-border-soft);
  border-radius:12px;
  padding:10px 12px;
  background:var(--admin-surface-2);
}
.admin-shell-applied .ab-label{
  font-size:12px;
  color:var(--admin-muted);
  margin-bottom:8px;
  font-weight:700;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  flex-wrap:wrap;
}
.admin-shell-applied .ab-note{
  font-size:11px;
  font-weight:600;
  color:var(--admin-muted);
}
.admin-shell-applied .ab-bars{
  display:grid;
  gap:6px;
}
.admin-shell-applied .ab-bar-line{
  display:grid;
  grid-template-columns:22px minmax(0,1fr) 168px;
  align-items:center;
  gap:8px;
}
.admin-shell-applied .ab-tag{
  font-size:12px;
  font-weight:800;
  color:var(--admin-muted);
}
.admin-shell-applied .ab-val{
  font-size:12px;
  text-align:right;
  color:var(--admin-text);
  font-weight:700;
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:2px;
}
.admin-shell-applied .ab-warn{
  font-size:11px;
  color:#b45309;
  font-weight:700;
}
.admin-shell-applied .ab-bar{
  display:block;
  height:10px;
  border-radius:999px;
  min-width:4px;
}
.admin-shell-applied .ab-a{
  background:linear-gradient(90deg, #2563eb, #60a5fa);
}
.admin-shell-applied .ab-b{
  background:linear-gradient(90deg, #10b981, #34d399);
}
.admin-shell-applied .table-wrap{
  overflow:auto;
  border:1px solid var(--admin-border-soft);
  border-radius:12px;
  background:var(--admin-surface);
}
.admin-shell-applied table{
  width:100%;
  border-collapse:separate;
  border-spacing:0;
  font-size:13px;
}
.admin-shell-applied thead th{
  position:sticky;
  top:0;
  background:var(--admin-surface-2);
  z-index:2;
  text-align:left;
  padding:10px 12px;
  border-bottom:1px solid var(--admin-border);
  color:var(--admin-muted);
  font-weight:800;
  letter-spacing:.2px;
}
.admin-shell-applied tbody td{
  padding:12px;
  border-bottom:1px solid var(--admin-border-soft);
  vertical-align:top;
  color:var(--admin-text);
  font-weight:600;
}
.admin-shell-applied tbody tr:hover td{
  background:#fbfbfc;
}

.admin-shell .wrap{
  font-family:"Space Grotesk", "Segoe UI", system-ui, sans-serif;
}

.admin-shell-applied .backLink{display:none;}
.admin-shell-applied .wrap > h1{margin-top:0;}

.admin-shell-applied .entry-hero{
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);
  gap:16px;
  margin-bottom:18px;
  padding:22px;
  border:1px solid var(--admin-border);
  border-radius:var(--admin-radius-lg);
  background:
    radial-gradient(circle at top right, rgba(249,115,22,.10), transparent 32%),
    linear-gradient(180deg, #ffffff, #fbfbfc);
  box-shadow:var(--admin-shadow-soft);
}
.admin-shell-applied .entry-hero-text{
  min-width:0;
  display:grid;
  gap:12px;
  align-content:start;
}
.admin-shell-applied .entry-eyebrow{
  font-size:11px;
  font-weight:800;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--admin-muted);
}
.admin-shell-applied .entry-hero h1{
  margin:0;
  font-size:40px;
  line-height:1.08;
  letter-spacing:-.03em;
  color:var(--admin-accent-strong);
}
.admin-shell-applied .entry-chips{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.admin-shell-applied .pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:8px 12px;
  border-radius:999px;
  background:#f8fafc;
  border:1px solid var(--admin-border);
  color:var(--admin-text);
  font-size:12px;
  font-weight:800;
  text-decoration:none;
}
.admin-shell-applied .pill.alt{
  background:#fff7ed;
  border-color:#fed7aa;
  color:#9a3412;
}
.admin-shell-applied .entry-actions{
  display:grid;
  gap:10px;
  align-content:start;
}
.admin-shell-applied .entry-action{
  display:grid;
  gap:4px;
  padding:14px 16px;
  border-radius:16px;
  border:1px solid var(--admin-border);
  background:var(--admin-surface);
  color:var(--admin-text);
  text-decoration:none;
  box-shadow:var(--admin-shadow-soft);
  transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease, background .16s ease;
}
.admin-shell-applied .entry-action:hover{
  transform:translateY(-1px);
  border-color:#cbd5e1;
  background:#ffffff;
}
.admin-shell-applied .entry-action.primary{
  background:linear-gradient(135deg, #111827, #1f2937);
  border-color:#111827;
  color:#ffffff;
}
.admin-shell-applied .entry-action.primary:hover{
  border-color:#0f172a;
  background:linear-gradient(135deg, #0f172a, #111827);
}
.admin-shell-applied .entry-action .action-title{
  font-size:15px;
  font-weight:800;
  line-height:1.2;
}
.admin-shell-applied .entry-action .action-sub{
  font-size:12px;
  line-height:1.4;
  color:inherit;
  opacity:.78;
}
.admin-shell-applied .entry-section{
  display:grid;
  gap:14px;
  margin-bottom:18px;
}
.admin-shell-applied .section-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
}
.admin-shell-applied .section-head h2{
  margin:0;
  font-size:18px;
  font-weight:800;
  color:var(--admin-accent-strong);
}
.admin-shell-applied .data-grid.single{
  grid-template-columns:minmax(0,1fr);
}
.admin-shell-applied .data-stack{
  display:grid;
  gap:16px;
}
.admin-shell-applied .flow-grid{
  grid-template-columns:repeat(2, minmax(0,1fr));
}
.admin-shell-applied .stat-accent{
  color:#ea580c;
  font-weight:800;
}

.admin-topbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  background:var(--admin-surface);
  border:1px solid var(--admin-border);
  border-radius:var(--admin-radius);
  padding:12px 16px;
  box-shadow:var(--admin-shadow-soft);
  margin-bottom:16px;
}
.admin-topbar-title{
  font-weight:800;
  font-size:15px;
  color:#0f172a;
  white-space:nowrap;
  line-height:1.2;
}
.admin-topbar-actions{
  display:flex;
  gap:6px;
  flex-wrap:wrap;
}
.admin-topbar-actions-primary,
.admin-topbar-actions-secondary{
  display:flex;
  align-items:center;
  gap:6px;
  flex-wrap:wrap;
  width:100%;
}
.admin-topbar-actions a{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:5px 10px;
  border-radius:999px;
  border:1px solid var(--admin-border);
  background:var(--admin-surface-2);
  color:#0f172a;
  text-decoration:none;
  font-weight:700;
  font-size:11px;
}
.admin-topbar-user{
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  justify-content:center;
  gap:2px;
  padding:6px 10px;
  border-radius:14px;
  border:1px solid var(--admin-border);
  background:var(--admin-surface);
  min-width:138px;
}
.admin-topbar-user__name{
  font-weight:800;
  font-size:11px;
  color:#0f172a;
  line-height:1.2;
  max-width:240px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.admin-topbar-user__meta{
  font-size:10px;
  color:#64748b;
  line-height:1.2;
}
.admin-topbar-logout{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  padding:5px 10px;
  border-radius:999px;
  border:1px solid rgba(220,38,38,.24);
  background:#fff1f2;
  color:#b91c1c;
  font-weight:800;
  font-size:11px;
  cursor:pointer;
}
.admin-topbar-logout:disabled{
  opacity:.6;
  cursor:not-allowed;
}

@media(max-width:900px){
  .admin-shell-applied .entry-hero{
    grid-template-columns:minmax(0,1fr);
  }
  .admin-shell-applied .flow-grid{
    grid-template-columns:minmax(0,1fr);
  }
  .admin-sidebar{
    width:100%;
    position:static;
    height:auto;
    border-right:none;
    border-bottom:1px solid #e5e7eb;
  }
  .admin-shell{
    flex-direction:column;
  }
  .admin-main{
    padding:18px 14px;
  }
  .admin-shell-applied .page-head{
    flex-direction:column;
    align-items:stretch;
  }
  .admin-shell-applied .page-actions{
    justify-content:flex-start;
  }
  .admin-shell-applied .kpi-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}

/* ================================
   Page: /admin/audit-logs
   Keep scoped to avoid side effects
================================ */
.admin-shell-applied [data-admin-page="audit-logs"] .bar{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  align-items:center;
  margin:14px 0;
}
.admin-shell-applied [data-admin-page="audit-logs"] .bar input,
.admin-shell-applied [data-admin-page="audit-logs"] .bar select{
  appearance:none;
  background:var(--admin-surface);
  border:1px solid var(--admin-border);
  border-radius:14px;
  padding:10px 12px;
  color:var(--admin-text);
  font-weight:700;
  font-size:13px;
  min-height:40px;
}
.admin-shell-applied [data-admin-page="audit-logs"] .bar input{
  min-width:220px;
}
.admin-shell-applied [data-admin-page="audit-logs"] .bar .muted{
  color:var(--admin-muted);
  font-size:12px;
  font-weight:600;
}
.admin-shell-applied [data-admin-page="audit-logs"] .btn{
  appearance:none;
  border:1px solid var(--admin-border);
  background:var(--admin-surface-2);
  color:var(--admin-text);
  border-radius:999px;
  padding:9px 14px;
  font-weight:800;
  font-size:13px;
  cursor:pointer;
  transition:transform .15s ease, box-shadow .15s ease, background .15s ease;
}
.admin-shell-applied [data-admin-page="audit-logs"] .btn:hover{
  background:var(--admin-surface);
  box-shadow:var(--admin-shadow-soft);
  transform:translateY(-1px);
}
.admin-shell-applied [data-admin-page="audit-logs"] .btn:disabled{
  opacity:.6;
  cursor:not-allowed;
  transform:none;
  box-shadow:none;
}
.admin-shell-applied [data-admin-page="audit-logs"] .card{
  background:var(--admin-surface);
  border:1px solid var(--admin-border);
  border-radius:var(--admin-radius);
  box-shadow:var(--admin-shadow-soft);
  padding:12px;
}
.admin-shell-applied [data-admin-page="audit-logs"] .audit-table-scroll{
  overflow:auto;
  max-height:70vh;
}
.admin-shell-applied [data-admin-page="audit-logs"] table{
  width:100%;
  border-collapse:separate;
  border-spacing:0;
  font-size:13px;
}
.admin-shell-applied [data-admin-page="audit-logs"] .audit-col-time,
.admin-shell-applied [data-admin-page="audit-logs"] .audit-col-action{
  min-width:180px;
}
.admin-shell-applied [data-admin-page="audit-logs"] .audit-col-actor,
.admin-shell-applied [data-admin-page="audit-logs"] .audit-col-target{
  min-width:240px;
}
.admin-shell-applied [data-admin-page="audit-logs"] .audit-col-meta{
  min-width:320px;
}
.admin-shell-applied [data-admin-page="audit-logs"] thead th{
  position:sticky;
  top:0;
  background:var(--admin-surface);
  z-index:2;
  text-align:left;
  padding:10px 12px;
  border-bottom:1px solid var(--admin-border);
  color:var(--admin-muted);
  font-weight:800;
  letter-spacing:.2px;
}
.admin-shell-applied [data-admin-page="audit-logs"] tbody td{
  padding:12px;
  border-bottom:1px solid var(--admin-border-soft);
  vertical-align:top;
  color:var(--admin-text);
  font-weight:600;
}
.admin-shell-applied [data-admin-page="audit-logs"] tbody tr:hover td{
  background:#fbfbfc;
}

/* ================================
   Page: /admin/line-logs
   Keep scoped to avoid side effects
================================ */
.admin-shell-applied [data-admin-page="line-logs"] .bar{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  align-items:center;
  margin-bottom:12px;
}
.admin-shell-applied [data-admin-page="line-logs"] .bar input,
.admin-shell-applied [data-admin-page="line-logs"] .bar select{
  min-width:160px;
}
.admin-shell-applied [data-admin-page="line-logs"] .table-box{
  overflow:auto;
  max-height:72vh;
}
.admin-shell-applied [data-admin-page="line-logs"] table{
  width:100%;
  border-collapse:collapse;
}
.admin-shell-applied [data-admin-page="line-logs"] th,
.admin-shell-applied [data-admin-page="line-logs"] td{
  border-bottom:1px solid #e5e7eb;
  padding:8px 10px;
  text-align:left;
  vertical-align:top;
  font-size:13px;
}
.admin-shell-applied [data-admin-page="line-logs"] th{
  position:sticky;
  top:0;
  background:#fff;
  z-index:1;
  font-weight:800;
}
.admin-shell-applied [data-admin-page="line-logs"] .ok{
  color:#047857;
  font-weight:700;
}
.admin-shell-applied [data-admin-page="line-logs"] .fail{
  color:#b91c1c;
  font-weight:700;
}
.admin-shell-applied [data-admin-page="line-logs"] .mono{
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace;
  font-size:12px;
  white-space:pre-wrap;
  word-break:break-word;
}
.admin-shell-applied [data-admin-page="line-logs"] .line-col-time{ min-width:170px; }
.admin-shell-applied [data-admin-page="line-logs"] .line-col-source{ min-width:130px; }
.admin-shell-applied [data-admin-page="line-logs"] .line-col-kind{ min-width:80px; }
.admin-shell-applied [data-admin-page="line-logs"] .line-col-result{ min-width:90px; }
.admin-shell-applied [data-admin-page="line-logs"] .line-col-order{ min-width:140px; }
.admin-shell-applied [data-admin-page="line-logs"] .line-col-member,
.admin-shell-applied [data-admin-page="line-logs"] .line-col-name{ min-width:160px; }
.admin-shell-applied [data-admin-page="line-logs"] .line-col-request-id{ min-width:180px; }
.admin-shell-applied [data-admin-page="line-logs"] .line-col-status-code{ min-width:120px; }
.admin-shell-applied [data-admin-page="line-logs"] .line-col-error{ min-width:200px; }
.admin-shell-applied [data-admin-page="line-logs"] .line-col-preview{ min-width:420px; }

@media(max-width:980px){
  .admin-shell{flex-direction:column;}
  .admin-sidebar{
    width:100%;
    height:auto;
    position:sticky;
    top:0;
    z-index:999;
    gap:8px;
    padding:10px 12px 8px;
    border-bottom:1px solid rgba(148,163,184,0.18);
    border-right:none;
    background:rgba(255,255,255,0.92);
    backdrop-filter:blur(10px);
    box-shadow:0 10px 22px rgba(15,23,42,0.08);
  }
  .admin-brand{justify-content:flex-start;gap:10px;}
  .admin-brand .badge{width:30px;height:30px;border-radius:10px;font-size:13px;}
  .admin-brand .title{font-size:14px;}
  .admin-brand .subtitle{display:none;}
  .admin-nav{
    display:flex;
    flex-direction:column;
    overflow:visible;
    padding:0;
  }
  /* Backward compatibility: if old admin-shell.js is cached and links are direct children,
     keep them collapsed by default instead of rendering a huge vertical list. */
  .admin-nav > a{
    display:none;
  }
  .admin-nav > .admin-nav-group{
    display:none;
  }
  .admin-nav .nav-toggle{
    order:-1;
  }
  .admin-nav.is-expanded{
    display:flex;
    flex-direction:column;
    width:100%;
    gap:8px;
    padding:6px 2px 2px;
    animation:adminNavDrop .18s ease-out;
  }
  .admin-nav-links{
    display:none;
  }
  .admin-nav.is-expanded .admin-nav-links{
    display:flex;
    flex-direction:column;
    gap:8px;
  }
  .admin-nav-group{
    display:flex;
    flex-direction:column;
    gap:4px;
  }
  .admin-nav-group__title{
    display:block;
    font-size:10px;
    color:var(--admin-muted);
    font-weight:800;
    letter-spacing:.7px;
    text-transform:uppercase;
    padding:2px 4px 4px;
    border-bottom:1px solid var(--admin-border-soft);
    margin-bottom:2px;
  }
  /* 工作台: 3-col stacked cards */
  .admin-nav-group[data-group="main"]{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:5px;
  }
  .admin-nav-group[data-group="main"] > .admin-nav-group__title{grid-column:1/-1;}
  .admin-nav-group[data-group="main"] > a{
    flex-direction:column;
    align-items:center;
    justify-content:center;
    text-align:center;
    gap:4px;
    min-height:62px;
    padding:10px 4px;
    border-radius:12px;
    background:var(--admin-surface-2);
    white-space:normal;
  }
  .admin-nav-group[data-group="main"] .nav-icon{font-size:18px;}
  .admin-nav-group[data-group="main"] .nav-label{font-size:11px;line-height:1.25;text-align:center;}
  /* 營運: 2-col compact rows */
  .admin-nav-group[data-group="primary"]{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:4px;
  }
  .admin-nav-group[data-group="primary"] > .admin-nav-group__title{grid-column:1/-1;}
  .admin-nav-group[data-group="primary"] > a{
    flex-direction:row;
    align-items:center;
    justify-content:flex-start;
    text-align:left;
    gap:6px;
    min-height:32px;
    padding:6px 8px;
    border-radius:10px;
    background:var(--admin-surface-2);
    white-space:nowrap;
  }
  .admin-nav-group[data-group="primary"] .nav-icon{font-size:13px;}
  .admin-nav-group[data-group="primary"] .nav-label{font-size:11px;overflow:hidden;text-overflow:ellipsis;}
  /* 設定: 2-col ultra-compact */
  .admin-nav-group[data-group="extra"]{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:3px;
  }
  .admin-nav-group[data-group="extra"] > .admin-nav-group__title{grid-column:1/-1;}
  .admin-nav-group[data-group="extra"] > a{
    flex-direction:row;
    align-items:center;
    justify-content:flex-start;
    text-align:left;
    gap:5px;
    min-height:28px;
    padding:4px 6px;
    border-radius:8px;
    background:var(--admin-surface-2);
    white-space:nowrap;
  }
  .admin-nav-group[data-group="extra"] .nav-icon{font-size:12px;}
  .admin-nav-group[data-group="extra"] .nav-label{font-size:10px;overflow:hidden;text-overflow:ellipsis;}
  .admin-nav a.active{background:var(--admin-surface);}
  .admin-nav .nav-toggle{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    width:100%;
    min-height:44px;
    padding:8px 12px;
    border-radius:12px;
    border:1px solid var(--admin-border);
    background:#f8fafc;
    white-space:nowrap;
    box-shadow:var(--admin-shadow-soft);
  }
  .admin-nav.is-expanded .nav-toggle{
    grid-column:1 / -1;
  }
  .admin-nav.is-expanded .nav-toggle{
    border-color:rgba(15,23,42,.18);
    color:var(--admin-accent-strong);
    background:var(--admin-surface);
  }
  .admin-foot{display:none;}
  .admin-main{padding:14px 12px 24px;}
  .admin-sidebar > .admin-topbar{
    margin:0;
    padding:10px 12px;
    border-radius:14px;
  }
  .admin-sidebar > .admin-topbar .admin-topbar-title{
    font-size:14px;
    white-space:nowrap;
  }
  .admin-sidebar > .admin-topbar .admin-topbar-actions{
    width:100%;
    gap:4px;
  }
  .admin-sidebar > .admin-topbar .admin-topbar-actions-primary{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:6px;
  }
  .admin-sidebar > .admin-topbar .admin-topbar-actions-secondary{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:6px;
  }
  .admin-sidebar > .admin-topbar .admin-topbar-actions-secondary a,
  .admin-sidebar > .admin-topbar .admin-topbar-logout{
    justify-content:center;
    min-height:34px;
    font-size:11px;
  }
  .admin-sidebar > .admin-topbar .admin-topbar-user{
    min-width:0;
    padding:5px 9px;
  }
  .admin-shell-applied .kpi-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }

  @keyframes adminNavDrop{
    from{opacity:0;transform:translateY(-6px);}
    to{opacity:1;transform:translateY(0);}
  }
}
@media(max-width:640px){
  .admin-shell-applied .kpi-grid{
    grid-template-columns:repeat(1, minmax(0, 1fr));
  }
}
@media(max-width:720px){
  .admin-nav .nav-toggle{min-height:44px;}
  .admin-brand .title{font-size:15px;}
  .admin-stat-card{padding:10px 12px;}
  .admin-stat-value{font-size:18px;}
}
@media(max-width:420px){
  .admin-nav-group[data-group="main"] > a{min-height:56px;padding:8px 2px;}
  .admin-nav-group[data-group="main"] .nav-icon{font-size:16px;}
  .admin-nav .nav-toggle{min-height:42px;padding:6px 8px;}
}

.admin-shell-applied .topbar{display:none;}
.admin-shell-applied .backLink{margin:8px 0 0;}

/* Force mobile nav UI even when Safari uses desktop viewport width */
html.admin-force-mobile-nav .admin-shell{
  flex-direction:column;
}
html.admin-force-mobile-nav .admin-sidebar{
  width:100%;
  height:auto;
  position:sticky;
  top:0;
  z-index:999;
  gap:8px;
  padding:10px 12px 8px;
  border-bottom:1px solid rgba(148,163,184,0.18);
  border-right:none;
  background:rgba(255,255,255,0.92);
  backdrop-filter:blur(10px);
  box-shadow:0 10px 22px rgba(15,23,42,0.08);
}
html.admin-force-mobile-nav .admin-brand{
  justify-content:flex-start;
  gap:10px;
}
html.admin-force-mobile-nav .admin-brand .subtitle{
  display:none;
}
html.admin-force-mobile-nav .admin-nav{
  display:flex;
  flex-direction:column;
  overflow:visible;
  padding:0;
}
html.admin-force-mobile-nav .admin-nav > a,
html.admin-force-mobile-nav .admin-nav > .admin-nav-group,
html.admin-force-mobile-nav .admin-nav-links{
  display:none;
}
html.admin-force-mobile-nav .admin-nav .nav-toggle{
  display:flex;
  order:-1;
  align-items:center;
  justify-content:center;
  gap:8px;
  width:100%;
  min-height:44px;
  padding:8px 12px;
  border-radius:12px;
  border:1px solid var(--admin-border);
  background:#f8fafc;
  white-space:nowrap;
  box-shadow:var(--admin-shadow-soft);
}
html.admin-force-mobile-nav .admin-nav.is-expanded{
  display:flex;
  flex-direction:column;
  width:100%;
  gap:8px;
  padding:6px 2px 2px;
}
html.admin-force-mobile-nav .admin-nav-links{
  display:none;
}
html.admin-force-mobile-nav .admin-nav.is-expanded .admin-nav-links{
  display:flex;
  flex-direction:column;
  gap:8px;
}
html.admin-force-mobile-nav .admin-nav-group{
  display:flex;
  flex-direction:column;
  gap:4px;
}
html.admin-force-mobile-nav .admin-nav-group__title{
  display:block;
  font-size:10px;
  color:var(--admin-muted);
  font-weight:800;
  letter-spacing:.7px;
  text-transform:uppercase;
  padding:2px 4px 4px;
  border-bottom:1px solid var(--admin-border-soft);
  margin-bottom:2px;
}
html.admin-force-mobile-nav .admin-nav-group[data-group="main"]{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:5px;
}
html.admin-force-mobile-nav .admin-nav-group[data-group="main"] > .admin-nav-group__title{grid-column:1/-1;}
html.admin-force-mobile-nav .admin-nav-group[data-group="main"] > a{
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  gap:4px;
  min-height:62px;
  padding:10px 4px;
  border-radius:12px;
  background:var(--admin-surface-2);
  white-space:normal;
}
html.admin-force-mobile-nav .admin-nav-group[data-group="main"] .nav-icon{font-size:18px;}
html.admin-force-mobile-nav .admin-nav-group[data-group="main"] .nav-label{font-size:11px;line-height:1.25;text-align:center;}
html.admin-force-mobile-nav .admin-nav-group[data-group="primary"]{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:4px;
}
html.admin-force-mobile-nav .admin-nav-group[data-group="primary"] > .admin-nav-group__title{grid-column:1/-1;}
html.admin-force-mobile-nav .admin-nav-group[data-group="primary"] > a{
  flex-direction:row;
  align-items:center;
  justify-content:flex-start;
  text-align:left;
  gap:6px;
  min-height:32px;
  padding:6px 8px;
  border-radius:10px;
  background:var(--admin-surface-2);
  white-space:nowrap;
}
html.admin-force-mobile-nav .admin-nav-group[data-group="primary"] .nav-icon{font-size:13px;}
html.admin-force-mobile-nav .admin-nav-group[data-group="primary"] .nav-label{font-size:11px;overflow:hidden;text-overflow:ellipsis;}
html.admin-force-mobile-nav .admin-nav-group[data-group="extra"]{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:3px;
}
html.admin-force-mobile-nav .admin-nav-group[data-group="extra"] > .admin-nav-group__title{grid-column:1/-1;}
html.admin-force-mobile-nav .admin-nav-group[data-group="extra"] > a{
  flex-direction:row;
  align-items:center;
  justify-content:flex-start;
  text-align:left;
  gap:5px;
  min-height:28px;
  padding:4px 6px;
  border-radius:8px;
  background:var(--admin-surface-2);
  white-space:nowrap;
}
html.admin-force-mobile-nav .admin-nav-group[data-group="extra"] .nav-icon{font-size:12px;}
html.admin-force-mobile-nav .admin-nav-group[data-group="extra"] .nav-label{font-size:10px;overflow:hidden;text-overflow:ellipsis;}
html.admin-force-mobile-nav .admin-main{
  padding:14px 12px 24px;
}
html.admin-force-mobile-nav .admin-sidebar > .admin-topbar{
  margin:0;
  padding:10px 12px;
  border-radius:14px;
}
html.admin-force-mobile-nav .admin-sidebar > .admin-topbar .admin-topbar-title{
  font-size:14px;
  white-space:nowrap;
}
html.admin-force-mobile-nav .admin-sidebar > .admin-topbar .admin-topbar-actions{
  width:100%;
  gap:4px;
}
html.admin-force-mobile-nav .admin-sidebar > .admin-topbar .admin-topbar-actions-primary{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:6px;
}
html.admin-force-mobile-nav .admin-sidebar > .admin-topbar .admin-topbar-actions-secondary{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:6px;
}
html.admin-force-mobile-nav .admin-sidebar > .admin-topbar .admin-topbar-actions-secondary a,
html.admin-force-mobile-nav .admin-sidebar > .admin-topbar .admin-topbar-logout{
  justify-content:center;
  min-height:34px;
  font-size:11px;
}
html.admin-force-mobile-nav .admin-sidebar > .admin-topbar .admin-topbar-user{
  min-width:0;
  padding:5px 9px;
}
html.admin-force-mobile-nav .admin-foot{
  display:none;
}
@media (max-width:420px){
  html.admin-force-mobile-nav .admin-nav-group[data-group="main"] > a{min-height:56px;padding:8px 2px;}
  html.admin-force-mobile-nav .admin-nav-group[data-group="main"] .nav-icon{font-size:16px;}
}

.admin-stats{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
  gap:12px;
  margin-bottom:18px;
}
.admin-stat-card{
  background:var(--admin-surface);
  border:1px solid var(--admin-border);
  border-radius:var(--admin-radius);
  padding:14px 14px;
  color:var(--admin-text);
  box-shadow:var(--admin-shadow-soft);
}
.admin-stat-title{
  font-size:12px;
  color:var(--admin-muted);
  font-weight:700;
}
.admin-stat-value{
  font-size:22px;
  font-weight:900;
  margin-top:6px;
  letter-spacing:.2px;
}
.admin-stat-sub{
  font-size:12px;
  color:var(--admin-muted);
  margin-top:4px;
}

.report-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  flex-wrap:wrap;
}
.report-tools{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}
.report-updated{
  font-size:12px;
  color:var(--admin-muted);
  font-weight:600;
}
.tag.neutral{
  background:rgba(148,163,184,0.18);
  color:#334155;
}
.report-list .muted{
  color:var(--admin-muted);
}
.report-detail-btn{
  border:none;
  cursor:pointer;
  padding:6px 12px;
  border-radius:999px;
  font-weight:700;
}
.report-detail-dialog{
  border:none;
  padding:0;
  background:transparent;
  width:min(840px, 94vw);
}
.report-detail-dialog::backdrop{
  background:rgba(15,23,42,.45);
  backdrop-filter:blur(4px);
}
.report-detail-card{
  background:var(--admin-surface);
  border:1px solid var(--admin-border);
  border-radius:18px;
  box-shadow:var(--admin-shadow);
  padding:18px;
}
.report-detail-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}
.report-detail-head h3{
  margin:0;
  font-size:18px;
  font-weight:800;
}
.report-detail-close{
  border:none;
  background:var(--admin-surface-2);
  width:34px;
  height:34px;
  border-radius:999px;
  cursor:pointer;
  font-weight:700;
}
.report-detail-tabs{
  display:flex;
  gap:8px;
  margin:14px 0 10px;
}
.report-detail-tab{
  border:1px solid var(--admin-border);
  background:var(--admin-surface-2);
  border-radius:999px;
  padding:6px 14px;
  font-size:13px;
  font-weight:800;
  cursor:pointer;
}
.report-detail-tab.active{
  background:var(--admin-accent-soft);
  color:var(--admin-accent-strong);
  border-color:rgba(37,99,235,.25);
}
.report-detail-list{
  display:grid;
  gap:10px;
  max-height:55vh;
  overflow:auto;
  padding-right:6px;
}
.report-detail-item{
  border:1px solid var(--admin-border);
  border-radius:14px;
  padding:12px 14px;
  background:var(--admin-surface-2);
}
.report-detail-item .row{
  display:flex;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
}
.report-detail-item .title{
  font-weight:800;
}
.report-detail-item .meta{
  margin-top:6px;
  font-size:12px;
  color:var(--admin-muted);
  line-height:1.5;
}
.report-detail-footer{
  display:flex;
  justify-content:flex-end;
  margin-top:12px;
}

/* Global mobile rescue for all /admin pages */
@media (max-width:980px){
  html,body{
    max-width:100%;
    overflow-x:hidden;
  }
  .admin-shell-applied .admin-main,
  .admin-shell-applied .admin-main .wrap,
  .admin-shell-applied .admin-main .wrap > *{
    min-width:0 !important;
  }
  .admin-shell-applied .wrap{
    width:100% !important;
    max-width:100% !important;
    padding-left:12px !important;
    padding-right:12px !important;
    box-sizing:border-box;
  }
  .admin-shell-applied .card,
  .admin-shell-applied .panel,
  .admin-shell-applied .entry-section,
  .admin-shell-applied .data-card{
    max-width:100% !important;
    min-width:0 !important;
    box-sizing:border-box;
  }
  .admin-shell-applied img,
  .admin-shell-applied canvas,
  .admin-shell-applied video,
  .admin-shell-applied svg{
    max-width:100% !important;
    height:auto;
  }
  .admin-shell-applied input,
  .admin-shell-applied select,
  .admin-shell-applied textarea,
  .admin-shell-applied button,
  .admin-shell-applied .btn{
    max-width:100% !important;
  }
  .admin-shell-applied input[style*="width:"],
  .admin-shell-applied select[style*="width:"],
  .admin-shell-applied textarea[style*="width:"]{
    width:100% !important;
    max-width:100% !important;
  }
  .admin-shell-applied input[style*="min-width"],
  .admin-shell-applied select[style*="min-width"],
  .admin-shell-applied textarea[style*="min-width"],
  .admin-shell-applied button[style*="min-width"],
  .admin-shell-applied .btn[style*="min-width"]{
    min-width:0 !important;
  }

  .admin-shell-applied .lookup,
  .admin-shell-applied .toolbar,
  .admin-shell-applied .bar,
  .admin-shell-applied .filters,
  .admin-shell-applied .list-tools,
  .admin-shell-applied .page-actions,
  .admin-shell-applied .entry-card-actions,
  .admin-shell-applied .actions,
  .admin-shell-applied .status-tabs,
  .admin-shell-applied .tabs{
    display:flex !important;
    flex-wrap:wrap !important;
    gap:8px !important;
    align-items:stretch;
  }
  .admin-shell-applied .status-tabs > *,
  .admin-shell-applied .tabs > *{
    flex:1 1 calc(50% - 8px);
    min-width:0 !important;
    max-width:100%;
  }

  .admin-shell-applied .table-wrap,
  .admin-shell-applied .table-scroll,
  .admin-shell-applied .list{
    max-width:100% !important;
    overflow-x:auto !important;
    -webkit-overflow-scrolling:touch;
  }
  .admin-shell-applied table{
    width:100%;
    max-width:100%;
  }
  .admin-shell-applied th,
  .admin-shell-applied td{
    word-break:break-word;
  }
}

@media (max-width:640px){
  .admin-shell-applied .entry-hero{
    padding:18px;
  }
  .admin-shell-applied .entry-hero h1{
    font-size:32px;
  }
  .admin-shell-applied .status-tabs > *,
  .admin-shell-applied .tabs > *{
    flex:1 1 100%;
  }
  .admin-shell-applied .admin-nav.is-expanded,
  html.admin-force-mobile-nav .admin-nav.is-expanded{
    grid-template-columns:repeat(4, minmax(0, 1fr)) !important;
  }
  .admin-shell-applied .admin-nav a,
  html.admin-force-mobile-nav .admin-nav a{
    text-align:center !important;
  }
}
.btn.small{
  padding:8px 14px;
  font-size:12px;
  border-radius:999px;
}

/* Subtle normalization for common admin pages */
.admin-shell-applied .wrap p.muted{color:var(--admin-muted);}
.admin-shell-applied .wrap .card{background:var(--admin-surface);border:1px solid var(--admin-border);border-radius:var(--admin-radius);box-shadow:var(--admin-shadow-soft);}
.admin-shell-applied .wrap table{border-collapse:separate;border-spacing:0;}
.admin-shell-applied .wrap table th{background:var(--admin-surface-2);}
.admin-shell-applied .wrap input,.admin-shell-applied .wrap select,.admin-shell-applied .wrap textarea{border-radius:12px;}

/* ================================
   Page: /admin/schema-monitor
================================ */
.admin-shell-applied [data-admin-page="schema-monitor"] .page-actions{
  align-items:center;
}
.admin-shell-applied [data-admin-page="schema-monitor"] .page-actions label{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-size:12px;
  color:var(--admin-muted);
  font-weight:700;
}
.admin-shell-applied [data-admin-page="schema-monitor"] .page-actions select{
  min-width:84px;
  min-height:36px;
  padding:6px 10px;
  border:1px solid var(--admin-border);
  background:var(--admin-surface);
  color:var(--admin-text);
  font-weight:700;
}
.admin-shell-applied [data-admin-page="schema-monitor"] .schema-monitor-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:10px;
  flex-wrap:wrap;
}
.admin-shell-applied [data-admin-page="schema-monitor"] code{
  background:#f1f5f9;
  border:1px solid #e2e8f0;
  border-radius:8px;
  padding:3px 7px;
  font-size:12px;
  font-weight:700;
}
.admin-shell-applied [data-admin-page="schema-monitor"] .schema-flag{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:66px;
  border-radius:999px;
  padding:4px 10px;
  font-size:12px;
  font-weight:800;
  border:1px solid transparent;
}
.admin-shell-applied [data-admin-page="schema-monitor"] .schema-flag.ok{
  background:rgba(16,185,129,.1);
  color:#065f46;
  border-color:rgba(16,185,129,.25);
}
.admin-shell-applied [data-admin-page="schema-monitor"] .schema-flag.notice{
  background:rgba(245,158,11,.12);
  color:#92400e;
  border-color:rgba(245,158,11,.3);
}
.admin-shell-applied [data-admin-page="schema-monitor"] .schema-flag.warn{
  background:rgba(239,68,68,.1);
  color:#991b1b;
  border-color:rgba(239,68,68,.24);
}

/* ═══════════════════════════════════════════════════════════════
   Global mobile UX — comprehensive improvements
   Appended LAST so these take cascade authority over all
   page-specific CSS files (which load before admin-ui.css).
   All rules scoped to .admin-shell-applied.
═══════════════════════════════════════════════════════════════ */

/* ── ≤980px: action/page-action buttons → 2-col flex ──
   .actions already has display:flex !important from above.
   Setting flex on child .btn gives us reliable 2-col layout.   */
@media(max-width:980px){
  .admin-shell-applied .actions > .btn,
  .admin-shell-applied .page-actions > .btn{
    flex:1 1 calc(50% - 4px);
    min-width:0;
  }
  /* primary / danger / lone button → always full row */
  .admin-shell-applied .actions > .btn.primary,
  .admin-shell-applied .actions > .btn.danger,
  .admin-shell-applied .actions > .btn:only-child,
  .admin-shell-applied .page-actions > .btn.primary,
  .admin-shell-applied .page-actions > .btn.danger,
  .admin-shell-applied .page-actions > .btn:only-child{
    flex:1 1 100%;
  }
  /* lookup / toolbar / bar inputs: always expand to fill width */
  .admin-shell-applied .lookup input,
  .admin-shell-applied .lookup select,
  .admin-shell-applied .toolbar input,
  .admin-shell-applied .toolbar select,
  .admin-shell-applied .bar input,
  .admin-shell-applied .bar select{
    width:100%;
    min-width:0 !important;
    flex:1 1 auto;
  }
  /* table headers with hardcoded inline min-width → let table be responsive */
  .admin-shell-applied th[style*="min-width"]{
    min-width:0 !important;
    white-space:normal;
  }
}

/* ── ≤760px: shrink page h1, keep kpi-grid at 2-col ── */
@media(max-width:760px){
  /* main page title (direct child of .wrap or .page-head) */
  .admin-shell-applied .wrap > h1,
  .admin-shell-applied .page-head > h1{
    font-size:20px !important;
    letter-spacing:-.01em;
    line-height:1.2;
    margin-bottom:10px;
  }
  /* kpi-grid: override the 640px→1-col collapse; keep 2-col down to 480px */
  .admin-shell-applied .kpi-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  }
  /* page-head: tighter vertical gap on phone */
  .admin-shell-applied .page-head{
    gap:8px;
  }
  /* admin-main: tighter horizontal padding */
  .admin-shell-applied .admin-main{
    padding:12px 10px 24px;
  }
}

/* ── ≤480px: extra-small phones ── */
@media(max-width:480px){
  .admin-shell-applied .wrap > h1,
  .admin-shell-applied .page-head > h1{
    font-size:17px !important;
  }
  /* kpi-grid: 1-col only at ≤480px */
  .admin-shell-applied .kpi-grid{
    grid-template-columns:1fr !important;
  }
  /* action buttons: smaller touch targets still comfortable */
  .admin-shell-applied .actions > .btn,
  .admin-shell-applied .page-actions > .btn{
    font-size:12px;
    min-height:36px;
    padding:7px 9px;
  }
  /* admin-main: tightest padding */
  .admin-shell-applied .admin-main{
    padding:10px 8px 20px !important;
  }
}

/* ── Page: /admin/dashboard ── */
@media(max-width:760px){
  /* slot-controls: stack labels + inputs vertically */
  .admin-shell-applied [data-admin-page="dashboard"] .slot-controls{
    flex-direction:column !important;
    align-items:stretch !important;
    gap:8px !important;
  }
  .admin-shell-applied [data-admin-page="dashboard"] .slot-controls label{
    display:flex;
    flex-direction:column;
    gap:4px;
    font-size:13px;
    font-weight:600;
    color:var(--admin-muted);
  }
  .admin-shell-applied [data-admin-page="dashboard"] .slot-controls select,
  .admin-shell-applied [data-admin-page="dashboard"] .slot-controls input[type="text"]{
    width:100%;
    min-width:0 !important;
  }
  .admin-shell-applied [data-admin-page="dashboard"] .slot-controls .btn{
    align-self:flex-start;
  }
  /* ab-head: stack h2 + controls vertically */
  .admin-shell-applied [data-admin-page="dashboard"] .ab-head{
    display:flex;
    flex-direction:column;
    gap:10px;
    margin-bottom:10px;
  }
  .admin-shell-applied [data-admin-page="dashboard"] .ab-controls{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    align-items:center;
  }
  /* table: allow wrap */
  .admin-shell-applied [data-admin-page="dashboard"] th,
  .admin-shell-applied [data-admin-page="dashboard"] td{
    white-space:normal;
    word-break:break-word;
    font-size:12px;
    padding:7px 8px;
  }
  .admin-shell-applied [data-admin-page="dashboard"] th{
    font-size:11px;
  }
  /* panel h2 sizing */
  .admin-shell-applied [data-admin-page="dashboard"] .panel h2{
    font-size:16px !important;
  }
}

/* ── Page: /admin/audit-logs — mobile ── */
@media(max-width:760px){
  /* override scoped min-width:220px so inputs go full-width */
  .admin-shell-applied [data-admin-page="audit-logs"] .bar input,
  .admin-shell-applied [data-admin-page="audit-logs"] .bar select{
    min-width:0 !important;
    width:100%;
    flex:1 1 100%;
  }
  .admin-shell-applied [data-admin-page="audit-logs"] .bar .btn{
    flex:1 1 calc(50% - 4px);
  }
  .admin-shell-applied [data-admin-page="audit-logs"] .audit-table-scroll{
    max-height:none !important;
    overflow:visible !important;
  }
  .admin-shell-applied [data-admin-page="audit-logs"] thead th{
    white-space:normal;
    font-size:11px;
    padding:8px;
  }
  .admin-shell-applied [data-admin-page="audit-logs"] tbody td{
    white-space:normal;
    word-break:break-word;
    font-size:12px;
    padding:8px;
  }
}

/* ── Page: /admin/mail-logs — mobile ── */
@media(max-width:760px){
  .admin-shell-applied [data-admin-page="mail-logs"] .bar input,
  .admin-shell-applied [data-admin-page="mail-logs"] .bar select{
    min-width:0 !important;
    width:100%;
    flex:1 1 100%;
  }
  .admin-shell-applied [data-admin-page="mail-logs"] .bar .btn{
    flex:1 1 calc(50% - 4px);
  }
  /* remove inline max-height:70vh */
  .admin-shell-applied [data-admin-page="mail-logs"] .card div[style*="max-height"]{
    max-height:none !important;
    overflow:visible !important;
  }
}

/* ── Page: /admin/line-logs — mobile ── */
@media(max-width:760px){
  /* the bar has flex-wrap already; just make buttons stack 2-up */
  .admin-shell-applied [data-admin-page="line-logs"] .bar .btn{
    flex:1 1 calc(50% - 4px);
  }
  .admin-shell-applied [data-admin-page="line-logs"] .bar input,
  .admin-shell-applied [data-admin-page="line-logs"] .bar select{
    min-width:0 !important;
    flex:1 1 100%;
  }
}

@media(max-width:768px){
  .admin-shell-applied [data-admin-page="line-logs"] .table-box{
    max-height:none;
  }
  .admin-shell-applied [data-admin-page="line-logs"] table,
  .admin-shell-applied [data-admin-page="line-logs"] thead,
  .admin-shell-applied [data-admin-page="line-logs"] tbody,
  .admin-shell-applied [data-admin-page="line-logs"] th,
  .admin-shell-applied [data-admin-page="line-logs"] td,
  .admin-shell-applied [data-admin-page="line-logs"] tr{
    display:block;
  }
  .admin-shell-applied [data-admin-page="line-logs"] thead{
    display:none;
  }
  .admin-shell-applied [data-admin-page="line-logs"] tr{
    border:1px solid #e5e7eb;
    border-radius:12px;
    padding:8px;
    margin-bottom:10px;
    background:#fff;
  }
  .admin-shell-applied [data-admin-page="line-logs"] td{
    border:0;
    padding:4px 0;
  }
  .admin-shell-applied [data-admin-page="line-logs"] td::before{
    content:attr(data-label);
    display:block;
    color:#64748b;
    font-size:11px;
    font-weight:700;
    margin-bottom:2px;
  }
}
