.admin-topbar { position: fixed; inset: 0 0 auto; z-index: 40; min-height: var(--topbar); display: flex; align-items: center; gap: 20px; padding: 0 22px; border-bottom: 1px solid #332a42; background: #211a2d; color: #fff; box-shadow: 0 7px 28px rgba(24,16,33,.18); }
.admin-brand { display: inline-flex; align-items: center; gap: 12px; color: #fff; text-decoration: none; }
.admin-brand img { width: 150px; height: 42px; padding: 5px 8px; border-radius: 9px; background: #fff; object-fit: contain; }
.admin-brand span { font-size: .72rem; font-weight: 900; letter-spacing: .16em; }
.admin-account { margin-left: auto; display: flex; align-items: center; gap: 14px; white-space: nowrap; }
.admin-account-text { display: grid; text-align: right; }
.admin-account-text small { color: #c9bed5; }
.admin-sidebar { position: fixed; inset: var(--topbar) auto 0 0; z-index: 35; width: var(--sidebar); overflow-y: auto; padding: 20px 15px 24px; border-right: 1px solid #332a42; background: #271f34; color: #fff; }
.admin-nav-group { display: grid; gap: 3px; margin-bottom: 20px; }
.admin-nav-group > span { padding: 0 10px 7px; color: #a999b9; font-size: .68rem; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; }
.admin-nav-group a { display: flex; justify-content: space-between; gap: 8px; padding: 9px 11px; border-radius: 9px; color: #ddd3e6; font-size: .88rem; font-weight: 740; text-decoration: none; }
.admin-nav-group a:hover, .admin-nav-group a[aria-current="page"] { background: #453455; color: #fff; }
.staff-workspace-link { display: block; margin: 24px 8px 0; padding: 12px; border: 1px solid #5e4c70; border-radius: 10px; color: #fff; font-size: .82rem; font-weight: 780; text-decoration: none; }
.admin-main { width: auto; max-width: var(--content-max); min-height: 100vh; margin: calc(var(--topbar) + 30px) 32px 70px calc(var(--sidebar) + 32px); }
.page-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; margin-bottom: 22px; }
.page-head h1 { margin: .25rem 0 .35rem; font-size: clamp(1.9rem, 4vw, 3.25rem); line-height: 1.04; letter-spacing: -.045em; }
.page-head p { margin: 0; max-width: 780px; color: var(--muted); }
.page-actions { display: flex; flex-wrap: wrap; gap: 9px; }
.dashboard-grid { display: grid; grid-template-columns: minmax(0, 1.65fr) minmax(300px, .8fr); gap: 20px; align-items: start; }
.dashboard-wide { grid-column: 1; }
.detail-grid { display: grid; grid-template-columns: minmax(0, 1.7fr) minmax(280px, .8fr); gap: 18px; }
.login-layout { min-height: 100vh; display: grid; grid-template-columns: minmax(320px, 520px) 1fr; }
.login-card { display: flex; flex-direction: column; justify-content: center; padding: clamp(28px, 6vw, 72px); background: #fff; }
.login-visual { display: flex; align-items: end; padding: clamp(28px, 6vw, 80px); background: radial-gradient(circle at 75% 18%, rgba(240,165,58,.35), transparent 30%), linear-gradient(145deg, #211a2d, #5b296e); color: #fff; }
.login-visual h2 { max-width: 780px; margin: 0; font-size: clamp(2rem, 5vw, 5rem); line-height: .98; letter-spacing: -.05em; }
@media (max-width: 1080px) { .detail-grid { grid-template-columns: 1fr; } }
@media (max-width: 980px) {
  .admin-sidebar { transform: translateX(-105%); transition: transform .18s ease; box-shadow: 18px 0 50px rgba(20,13,29,.3); }
  body.admin-nav-open .admin-sidebar { transform: translateX(0); }
  .admin-main { margin: calc(var(--topbar) + 30px) 16px 60px; }
  .dashboard-grid { grid-template-columns: 1fr; }
  .dashboard-wide { grid-column: auto; }
}
@media (max-width: 700px) {
  :root { --topbar: 118px; }
  .admin-topbar { flex-wrap: wrap; padding: 10px 12px; gap: 8px; }
  .admin-brand span { display: none; }
  .admin-brand img { width: 125px; }
  .admin-account { width: 100%; justify-content: space-between; }
  .admin-account-text { text-align: left; }
  .page-head { display: grid; }
  .page-actions, .page-actions .btn { width: 100%; }
  .page-actions .btn { flex: 1; }
  .login-layout { grid-template-columns: 1fr; }
  .login-visual { display: none; }
  .login-card { min-height: 100vh; padding: 26px; }
}
