.auth-body { min-height: 100vh; display: grid; place-items: center; padding: var(--space-5); background: radial-gradient(circle at top, #e4f1ef, var(--surface-soft) 55%); }
.auth-shell { width: min(100%, 42rem); }
.auth-card { box-shadow: var(--shadow-md); }
.admin-shell { min-height: 100vh; display: grid; grid-template-columns: 16rem minmax(0, 1fr); }
.admin-sidebar { position: sticky; top: 0; height: 100vh; padding: var(--space-6); background: #102b30; color: #d8e7e8; display: flex; flex-direction: column; gap: var(--space-6); }
.admin-sidebar .brand { color: #fff; }
.admin-nav { display: grid; gap: var(--space-1); }
.admin-nav a { color: #d8e7e8; text-decoration: none; border-radius: var(--radius-sm); padding: 0.65rem 0.75rem; font-weight: 700; }
.admin-nav a:hover, .admin-nav a[aria-current="page"] { color: #fff; background: rgb(255 255 255 / 0.1); }
.sidebar-note { margin-top: auto; color: #afc6c8; font-size: 0.82rem; }
.skip-link { position: absolute; left: -9999px; top: var(--space-2); background: #fff; color: #000; padding: var(--space-2); }
.skip-link:focus { left: var(--space-2); z-index: 10; }
.admin-workspace { min-width: 0; }
.admin-topbar { min-height: 4.5rem; display: flex; justify-content: space-between; align-items: center; gap: var(--space-4); padding: var(--space-3) clamp(1rem, 3vw, 2rem); border-bottom: 1px solid var(--border); background: rgb(255 255 255 / 0.94); }
.admin-topbar .eyebrow { margin-bottom: 0; }
.admin-user { display: flex; align-items: center; gap: var(--space-3); }
.admin-content { width: min(100%, var(--content-width)); margin-inline: auto; padding: clamp(1rem, 3vw, 2rem); display: grid; gap: var(--space-6); }
.page-header { display: flex; justify-content: space-between; align-items: flex-end; gap: var(--space-5); }
.page-header h1 { margin-bottom: var(--space-2); }
.page-header p { margin-bottom: 0; color: var(--text-muted); max-width: 60rem; }
.content-grid { display: grid; gap: var(--space-6); }
.content-grid--sidebar { grid-template-columns: minmax(0, 2fr) minmax(16rem, 1fr); align-items: start; }
details summary { cursor: pointer; color: var(--primary); font-weight: 700; }
details pre { max-width: 36rem; max-height: 18rem; overflow: auto; background: var(--surface-soft); border-radius: var(--radius-sm); padding: var(--space-3); }
@media (max-width: 64rem) {
    .admin-shell { grid-template-columns: 1fr; }
    .admin-sidebar { position: static; height: auto; }
    .admin-nav { grid-template-columns: repeat(auto-fit, minmax(8rem, 1fr)); }
    .sidebar-note { margin-top: 0; }
    .content-grid--sidebar { grid-template-columns: 1fr; }
}
@media (max-width: 42rem) {
    .admin-topbar, .page-header { align-items: flex-start; flex-direction: column; }
    .admin-user { width: 100%; justify-content: space-between; }
    .admin-sidebar { padding: var(--space-4); }
    .admin-content { padding: var(--space-4); }
}
