/* ==========================================================================
   admin.css — frontend-only admin scaffold styling.
   Reuses site tokens; no new color palette introduced.
   ========================================================================== */
body.admin-body{ min-height: 100vh; display: flex; flex-direction: column; }

.admin-banner{
  background: rgba(var(--accent-rgb), .14);
  border-bottom: 1px solid rgba(var(--accent-rgb), .3);
  color: var(--text-1);
  font-family: var(--font-mono);
  font-size: .78rem;
  padding: .6em 1em;
  text-align: center;
}
.admin-banner b{ color: var(--accent); }

.admin-login-wrap{
  flex: 1; display: flex; align-items: center; justify-content: center; padding: var(--sp-4);
}
.admin-login-card{
  width: 100%; max-width: 380px;
  background: var(--bg-2); border: 1px solid var(--line); border-radius: 20px;
  padding: var(--sp-4);
}
.admin-login-card h1{ font-size: 1.3rem; margin-bottom: .3em; }
.admin-login-card p.text-muted{ font-size: .85rem; margin-bottom: var(--sp-3); }

.admin-shell{ display: grid; grid-template-columns: 220px 1fr; min-height: 100vh; }
.admin-sidebar{
  background: var(--bg-1); border-right: 1px solid var(--line);
  padding: var(--sp-3); display: flex; flex-direction: column; gap: var(--sp-2);
}
.admin-sidebar__brand{ font-family: var(--font-display); font-weight: 700; color: var(--text-0); margin-bottom: var(--sp-2); }
.admin-nav-link{
  display: flex; align-items: center; gap: .6em;
  padding: .6em .8em; border-radius: 10px;
  font-family: var(--font-display); font-size: .88rem; color: var(--text-1);
}
.admin-nav-link.is-active{ background: rgba(var(--accent-rgb), .15); color: var(--accent); }
.admin-nav-link:hover{ background: var(--bg-2); }

.admin-main{ padding: var(--sp-4); background: var(--bg-0); }
.admin-topline{ display:flex; justify-content:space-between; align-items:center; margin-bottom: var(--sp-4); flex-wrap:wrap; gap: var(--sp-2); }

.admin-stat-grid{ display:grid; grid-template-columns: repeat(auto-fit, minmax(180px,1fr)); gap: var(--sp-3); margin-bottom: var(--sp-4); }
.admin-stat{ background: var(--bg-2); border:1px solid var(--line); border-radius:16px; padding: var(--sp-3); }
.admin-stat b{ display:block; font-size:1.6rem; color:var(--text-0); }
.admin-stat span{ font-family: var(--font-mono); font-size:.72rem; color:var(--text-2); letter-spacing:.05em; text-transform:uppercase; }

.admin-table{ width:100%; border-collapse: collapse; font-family: var(--font-display); font-size: .88rem; }
.admin-table th, .admin-table td{ padding: .7em .9em; border-bottom: 1px solid var(--line); text-align:left; }
.admin-table th{ color: var(--text-2); font-size:.72rem; text-transform:uppercase; letter-spacing:.05em; }
.admin-table .row-actions{ display:flex; gap:.5em; }

@media (max-width: 860px){
  .admin-shell{ grid-template-columns: 1fr; }
  .admin-sidebar{ flex-direction:row; overflow-x:auto; border-right:none; border-bottom:1px solid var(--line); }
}
