[hidden] { display:none !important; }
.admin-body { background:var(--pale); }
.admin-header { position:static; display:flex; gap:24px; justify-content:space-between; align-items:center; padding:24px 5%; background:white; border-bottom:1px solid var(--line); }
.admin-main { max-width:1180px; margin:40px auto; padding:0 24px; }
.admin-panel { padding:32px; background:white; border:1px solid var(--line); }
.login-panel { max-width:520px; margin:40px auto; }
.admin-panel h1,.dashboard-heading h1 { font-size:30px; margin:12px 0; }
.admin-panel h2 { font-size:22px; margin-top:0; }
.admin-panel p { color:var(--muted); line-height:1.7; }
.admin-grid { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(0,1fr); gap:24px; align-items:start; }
.dashboard-heading { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:24px; }
.admin-field { margin:24px 0; }
.admin-field label { display:block; font-weight:600; margin-bottom:10px; }
.input-row { display:flex; gap:8px; }
.input-row input { width:100%; min-width:0; padding:13px; border:1px solid #a8b7c5; background:white; font:inherit; color:var(--ink); }
.input-row input[aria-invalid=true] { border-color:#a82727; }
.secondary,.reveal { padding:12px 16px; background:white; border:1px solid #a8b7c5; color:var(--navy); font:inherit; cursor:pointer; white-space:nowrap; }
.admin-actions { display:flex; gap:12px; flex-wrap:wrap; }
.admin-body .button { cursor:pointer; font:inherit; border:0; }
.admin-body button:disabled { opacity:.55; cursor:wait; }
.admin-body :focus-visible { outline:3px solid #456d91; outline-offset:3px; }
.field-error { display:block; color:#a82727; margin-top:7px; }
.feedback { min-height:28px; overflow-wrap:anywhere; }
.feedback.error { color:#a82727; }
.admin-body fieldset { border:0; padding:0; margin:0; min-width:0; }
.admin-body dialog { max-width:520px; padding:32px; border:1px solid var(--line); color:var(--ink); }
.admin-body dialog::backdrop { background:#142c4780; }
@media(max-width:760px) {
  .admin-header { flex-wrap:wrap; gap:14px; }
  .admin-header>span { display:none; }
  .admin-main { padding:0 16px; margin-top:24px; }
  .admin-grid { grid-template-columns:1fr; }
  .admin-panel { padding:24px 20px; }
  .dashboard-heading { align-items:flex-start; }
  .dashboard-heading h1 { font-size:25px; }
}
