/* ==========================================================================
   Shared admin body
   ========================================================================== */
.admin-body{ min-height:100vh; }

/* ---- Login ---- */
.auth-shell{
  min-height:100vh; display:flex; align-items:center; justify-content:center; padding: 24px;
}
.auth-card{
  width: 100%; max-width: 420px;
  background: linear-gradient(160deg, var(--surface-2), var(--surface));
  border: 1px solid var(--border-strong);
  border-radius: var(--radius-l);
  box-shadow: var(--shadow-pop);
  padding: 40px 36px;
  text-align:center;
}
.auth-card__brand{ justify-content:center; margin-bottom: 28px; }
.auth-card__title{ font-size: 1.5rem; margin-bottom: 8px; }
.auth-card__sub{ font-size:.88rem; margin-bottom: 26px; }
.auth-form{ text-align:left; box-shadow:none; border:none; padding:0; background:none; }
.auth-card__error{
  background: rgba(239,109,109,.12); border:1px solid rgba(239,109,109,.4);
  color:#ff9d9d; font-size:.85rem; padding: 10px 14px; border-radius: var(--radius-s);
  margin-bottom: 20px;
}
.auth-card__hint{ font-size:.76rem; color: var(--text-faint); margin-top:22px; }
.auth-card__hint code{ font-family: var(--font-mono); background: rgba(255,255,255,.06); padding: 1px 6px; border-radius:4px; }
.auth-card__back{ display:inline-block; margin-top:14px; font-size:.82rem; color: var(--teal); }

/* ==========================================================================
   Admin dashboard layout
   ========================================================================== */
.dash{ display:grid; grid-template-columns: 240px 1fr; min-height:100vh; }

.dash__sidebar{
  background: var(--bg-soft);
  border-right: 1px solid var(--border);
  padding: 28px 20px;
  display:flex; flex-direction:column;
}
.dash__brand{ margin-bottom: 34px; }
.dash__nav{ display:flex; flex-direction:column; gap:4px; flex:1; }
.dash__nav a{
  padding: 11px 14px; border-radius: var(--radius-s);
  font-size:.92rem; color: var(--text-muted);
  display:flex; align-items:center; gap:10px;
}
.dash__nav a:hover{ background: rgba(255,255,255,.04); color: var(--text); }
.dash__nav a.is-active{ background: var(--teal-dim); color: var(--teal); font-weight:600; }
.dash__nav .badge{
  margin-left:auto; font-family: var(--font-mono); font-size:.68rem;
  background: var(--saffron); color:#1a1102; border-radius:999px; padding: 1px 8px;
}
.dash__logout{ font-size:.85rem; color: var(--text-faint); padding: 11px 14px; }
.dash__logout:hover{ color: var(--danger); }

.dash__main{ padding: 40px 44px; max-width: 920px; }
.dash__head{ margin-bottom: 30px; }
.dash__head h1{ font-size: 1.7rem; margin-bottom: 6px; }
.dash__head p{ font-size:.9rem; }

.dash__banner{
  background: var(--teal-dim); border:1px solid rgba(53,208,192,.35); color: var(--teal);
  padding: 12px 16px; border-radius: var(--radius-s); font-size:.86rem; margin-bottom: 24px;
}

.dash-card{
  background: linear-gradient(160deg, var(--surface-2), var(--surface));
  border: 1px solid var(--border-strong);
  border-radius: var(--radius-m);
  padding: 28px;
  margin-bottom: 24px;
}
.dash-card h2{ font-size: 1.05rem; margin-bottom: 4px; }
.dash-card__hint{ font-size:.82rem; margin-bottom: 20px; }

.dash-table{ width:100%; border-collapse: collapse; font-size:.86rem; }
.dash-table th{
  text-align:left; font-family: var(--font-mono); font-weight:500; font-size:.72rem;
  color: var(--text-faint); text-transform: none; padding: 10px 12px; border-bottom: 1px solid var(--border-strong);
}
.dash-table td{ padding: 12px; border-bottom: 1px solid var(--border); vertical-align:top; color: var(--text-muted); }
.dash-table tr:last-child td{ border-bottom:none; }
.dash-table td strong{ color: var(--text); display:block; }
.dash-table a.dl{ color: var(--teal); font-weight:600; }
.dash-empty{ font-size:.88rem; padding: 20px 0; text-align:center; color: var(--text-faint); }

@media (max-width: 880px){
  .dash{ grid-template-columns: 1fr; }
  .dash__sidebar{ flex-direction:row; flex-wrap:wrap; border-right:none; border-bottom:1px solid var(--border); }
  .dash__nav{ flex-direction:row; flex-wrap:wrap; }
  .dash__main{ padding: 28px 20px; }
  .dash-table{ display:block; overflow-x:auto; white-space:nowrap; }
}
