/* ── Admin layout ────────────────────────────────────────────────────────── */
#screen-admin {
  display: none;
  flex-direction: column;
  height: 100%;
  overflow: hidden;
}
#screen-admin.active { display: flex; }

.adm-shell { font-size: clamp(13px, 1.1vw, 16px);
  flex: 1;
  display: grid;
  grid-template-columns: 190px 1fr;
  grid-template-rows: 38px 1fr;
  overflow: hidden;
}

/* ── Admin top bar ───────────────────────────────────────────────────────── */
.adm-topbar {
  grid-column: 1 / -1;
  background: var(--bg1);
  border-bottom: 2px solid var(--amber);
  display: flex;
  align-items: center;
  gap: .5rem;
  padding: 0 .9rem;
  flex-shrink: 0;
}
.adm-logo  { font-size: .85rem; font-weight: 700; color: var(--amber); letter-spacing: .05em; }
.adm-sub   { font-size: .82rem; color: var(--text4); }
.adm-badge {
  font-size: .75rem;
  padding: .12rem .45rem;
  border-radius: 2px;
  background: var(--amber-bg);
  border: 1px solid var(--amber);
  color: var(--amber);
}
.adm-who   { margin-left: auto; font-size: .82rem; color: var(--text4); }
.adm-who span { color: var(--green); }
.adm-clock { font-size: .82rem; color: var(--text5); font-variant-numeric: tabular-nums; margin-left: .75rem; }

/* ── Nav ─────────────────────────────────────────────────────────────────── */
.adm-nav { background: var(--bg1); border-right: 1px solid var(--border1); padding: .4rem 0; overflow-y: auto; }
.nav-section {
  font-size: .75rem;
  color: var(--text5);
  letter-spacing: .1em;
  text-transform: uppercase;
  padding: .6rem .75rem .2rem;
}
.nav-item {
  display: flex;
  align-items: center;
  gap: .45rem;
  padding: .42rem .9rem;
  cursor: pointer;
  color: var(--text4);
  font-size: .85rem;
  border-left: 2px solid transparent;
  transition: background .1s, color .1s;
}
.nav-item:hover         { background: var(--bg3); color: var(--text1); }
.nav-item.active        { background: #0d1a00; border-left-color: var(--green); color: var(--green); }
.nav-item.active.warn   { background: var(--amber-bg); border-left-color: var(--amber); color: var(--amber); }
.nav-item.active.crit   { background: var(--red-bg); border-left-color: var(--red); color: var(--red); }
.nav-dot  { width: 5px; height: 5px; border-radius: 50%; flex-shrink: 0; }
.nav-badge {
  margin-left: auto;
  font-size: .75rem;
  padding: 1px 4px;
  border-radius: 2px;
  background: var(--red-bg);
  color: var(--red);
  border: 1px solid var(--red-border);
}
.nav-badge.warn {
  background: var(--amber-bg);
  color: var(--amber);
  border-color: var(--amber-border);
}

/* ── Main content ────────────────────────────────────────────────────────── */
.adm-main { overflow-y: auto; background: var(--bg1); }
.adm-page { display: none; flex-direction: column; min-height: 100%; }
.adm-page.show { display: flex; }

.adm-page-head { padding: .9rem 1rem .6rem; border-bottom: 1px solid var(--border1); flex-shrink: 0; }
.adm-ph-title  { font-size: .95rem; font-weight: 700; color: var(--text0); margin-bottom: .2rem; }
.adm-ph-sub    { font-size: .85rem; color: var(--text4); }
.adm-ph-actions { display: flex; gap: .4rem; margin-top: .55rem; flex-wrap: wrap; }

/* ── Stat row ────────────────────────────────────────────────────────────── */
.adm-stat-row {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1px;
  background: var(--bg0);
  flex-shrink: 0;
}
@media (max-width: 900px) { .adm-stat-row { grid-template-columns: repeat(2, 1fr); } }

/* ── Detail panel ────────────────────────────────────────────────────────── */
.adm-detail { border-top: 1px solid var(--border1); background: var(--bg0); padding: .9rem 1rem; display: none; }
.adm-detail.show { display: block; }
.adm-detail-title { font-size: .78rem; font-weight: 700; color: var(--text0); margin-bottom: .6rem; display: flex; align-items: center; gap: .5rem; }
.adm-dp-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: .5rem; margin-bottom: .75rem; }
.adm-dp-field { background: var(--bg1); border: 1px solid var(--border0); border-radius: var(--radius-sm); padding: .5rem .65rem; }
.adm-dp-lbl   { font-size: .75rem; color: var(--text5); text-transform: uppercase; letter-spacing: .06em; margin-bottom: .2rem; }
.adm-dp-val   { font-size: .78rem; color: var(--text1); }

/* ── Permission grid ─────────────────────────────────────────────────────── */
.adm-perm-grid { display: grid; grid-template-columns: 1fr 1fr; gap: .2rem; margin-top: .4rem; }
.adm-perm-row  { display: flex; align-items: center; gap: .4rem; padding: .15rem 0; font-size: .85rem; color: var(--text3); }
.adm-perm-row input { accent-color: var(--green); }

/* ── Agency cards ────────────────────────────────────────────────────────── */
.adm-agencies-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: .5rem; padding: .9rem 1rem; }
.agency-card {
  background: var(--bg2);
  border: 1px solid var(--border1);
  border-radius: var(--radius-sm);
  padding: .65rem .75rem;
  cursor: pointer;
  transition: border-color .1s;
}
.agency-card:hover { border-color: var(--border3); }
.agency-card.sel   { border-color: var(--green); background: #0d1a0d; }
.agency-card .ac-name { font-size: .78rem; font-weight: 700; color: var(--text0); margin-bottom: .3rem; }
.agency-card .ac-meta { font-size: .78rem; color: var(--text4); display: flex; gap: .5rem; flex-wrap: wrap; }
.agency-card-add   { border-style: dashed; display: flex; align-items: center; justify-content: center; color: var(--text5); font-size: .85rem; }

/* ── Audit log rows ──────────────────────────────────────────────────────── */
.log-row {
  display: flex;
  gap: .5rem;
  padding: .3rem 1rem;
  border-bottom: 1px solid var(--border0);
  font-size: .85rem;
  align-items: flex-start;
}
.log-row:hover { background: var(--bg3); }
.log-t      { color: var(--text5); white-space: nowrap; min-width: 3.5rem; }
.log-actor  { color: var(--amber); min-width: 5rem; }
.log-action { color: var(--text1); flex: 1; }
.log-ip     { color: var(--text5); font-size: .75rem; text-align: right; min-width: 5.5rem; }
.log-lvl    { font-size: .75rem; padding: 1px 4px; border-radius: 2px; flex-shrink: 0; }
.ll-ok   { background: var(--green-bg);  color: var(--green);  border: 1px solid var(--green-border); }
.ll-info { background: var(--blue-bg);   color: var(--blue);   border: 1px solid var(--blue-border); }
.ll-warn { background: var(--amber-bg);  color: var(--amber);  border: 1px solid var(--amber-border); }
.ll-crit { background: var(--red-bg);    color: var(--red);    border: 1px solid var(--red-border); }

/* ── Toast inside admin ──────────────────────────────────────────────────── */
.adm-toast {
  font-size: .75rem;
  padding: .45rem .9rem;
  border-radius: var(--radius-sm);
  border: 1px solid;
  display: none;
  margin: .5rem 1rem;
}
.adm-toast.show { display: block; }
.adm-toast.ok   { background: var(--green-bg);  color: var(--green);  border-color: var(--green-border); }
.adm-toast.warn { background: var(--amber-bg);  color: var(--amber);  border-color: var(--amber-border); }
.adm-toast.err  { background: var(--red-bg);    color: var(--red);    border-color: var(--red-border); }



