/* Account pages own the full viewport, independently of the dashboard grid. */
body.admin-auth { width:auto; min-height:100vh; min-height:100svh; margin:0; padding:clamp(20px,4vw,48px); display:flex; align-items:center; justify-content:center; font-family:var(--font-body); font-size:17px; line-height:1.8; background:var(--bg-color); color:var(--text-color); }
.auth-wrap { width:100%; max-width:1080px; min-width:0; margin:auto; }
.auth-header { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:24px; }
.auth-brand { display:inline-flex; align-items:center; gap:14px; min-width:0; text-decoration:none !important; }
.auth-brand img { display:block; width:62px; height:54px; object-fit:contain; }
.auth-brand strong { display:block; font-family:'Cormorant Garamond',Georgia,serif; font-size:32px; font-weight:600; letter-spacing:.04em; line-height:1.15; }
.auth-brand small { display:block; margin-top:5px; color:var(--text-muted); font-size:14px; }
.auth-back { display:inline-flex; align-items:center; gap:8px; padding:8px 0; min-height:44px; font-size:15px; white-space:nowrap; }
.auth-layout { display:grid; grid-template-columns:minmax(0,1fr); overflow:hidden; border:1px solid var(--line-color); border-radius:20px; background:var(--surface-color); box-shadow:0 14px 48px rgba(67,20,29,.06); }
.auth-wrap .auth-card { margin:0; padding:clamp(24px,4vw,52px); border:0; border-radius:0; box-shadow:none; min-width:0; display:flex; flex-direction:column; justify-content:center; }
.auth-card h1 { font-size:clamp(26px,2.6vw,34px); margin:0 0 14px; line-height:1.45; }
.auth-card .auth-eyebrow { margin-bottom:10px; color:var(--primary-color); font-size:15px; font-weight:700; }
.auth-card form,.auth-fields { min-width:0; width:100%; }
.auth-fields > p { color:var(--text-muted); margin-bottom:0; font-size:16px; line-height:1.85; }
.auth-wrap .form-grid { grid-template-columns:minmax(0,1fr); gap:22px; margin:28px 0; }
.auth-wrap .field > label { font-size:16px; margin-bottom:8px; }
.auth-wrap .admin-input { min-height:52px; padding:12px 14px; font-size:17px; }
.auth-wrap .admin-button { width:100%; min-height:52px; font-size:17px; }
.auth-wrap .admin-message { margin:0 0 20px; font-size:15px; line-height:1.8; }
.auth-visual { display:none; position:relative; isolation:isolate; min-width:0; background:var(--secondary-color); }
.auth-visual > img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:48% center; }
.auth-visual::after { content:''; position:absolute; inset:0; background:linear-gradient(180deg,rgba(32,19,19,.08) 25%,rgba(32,19,19,.9) 100%); }
.auth-visual-copy { position:relative; z-index:1; padding:44px; margin-top:auto; color:var(--on-dark); }
.auth-visual-copy .auth-visual-eyebrow { margin-bottom:14px; font-size:15px; color:var(--on-dark); }
.auth-visual-copy h2 { color:var(--on-dark); font-size:clamp(29px,3vw,38px); line-height:1.5; margin-bottom:18px; }
.auth-visual-copy p:last-child { color:var(--on-dark); margin:0; font-size:17px; }
.auth-footer { margin:20px 0 0 !important; color:var(--text-muted); text-align:center; font-size:14px; }
.auth-wrap-setup { max-width:640px; }
@media (min-width:900px) {
    .auth-layout { grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
    .auth-visual { display:flex; min-height:570px; }
    .auth-wrap-setup .auth-layout { grid-template-columns:minmax(0,1fr); }
}
@media (max-width:899px) { .auth-wrap { max-width:560px; } }
@media (max-width:480px) {
    body.admin-auth { padding:20px 16px; }
    .auth-header { gap:12px; margin-bottom:20px; }
    .auth-brand { gap:10px; }
    .auth-brand img { width:48px; height:44px; }
    .auth-brand strong { font-size:27px; }
    .auth-brand small { font-size:13px; }
    .auth-back { font-size:14px; }
    .auth-wrap .auth-card { padding:28px 22px; }
    .auth-layout { border-radius:16px; }
}
