/* v1.6.28 — sign-in experience aligned with the public welcome page. */
body:has(#login),body:has(#reset-form){background:var(--bg);}
body:has(#login) .shell,body:has(#reset-form) .shell{max-width:none;width:100%;padding:0;}
body:has(#login) .top,body:has(#reset-form) .top{padding:22px clamp(22px,4vw,72px);border-bottom:1px solid var(--line);background:var(--bg);}
body:has(#login) .top nav,body:has(#reset-form) .top nav{display:none;}
body:has(#login) .hero,body:has(#reset-form) .hero{display:none;}
body:has(#login) #admin-app,body:has(#reset-form) #admin-app{max-width:1100px;margin:clamp(32px,6vw,90px) auto;padding:0 clamp(20px,4vw,48px);}
body:has(#login) #admin-app>.admin-panel,body:has(#reset-form) #admin-app>.admin-panel{position:relative;overflow:hidden;max-width:720px;margin:0 auto;padding:clamp(26px,5vw,58px);border:1px solid var(--line);border-radius:22px;background:var(--panel);box-shadow:0 28px 90px rgba(0,0,0,.16);}
body:has(#login) #admin-app>.admin-panel::before,body:has(#reset-form) #admin-app>.admin-panel::before{content:'';display:block;width:72px;height:5px;background:var(--acid);margin-bottom:32px;border-radius:4px;}
body:has(#login) .auth-eyebrow{display:block;font-size:12px;letter-spacing:.16em;font-weight:900;color:var(--acid);margin-bottom:12px;}
body:has(#login) .auth-heading h2{font-size:clamp(36px,6vw,66px);line-height:1.04;letter-spacing:-.065em;margin:0 0 14px;color:var(--ink);}
body:has(#login) .auth-heading p{color:var(--muted);font-size:clamp(15px,1.8vw,18px);margin:0 0 32px;line-height:1.6;}
body:has(#login) #login{display:grid;grid-template-columns:1fr;gap:20px;}
body:has(#login) #login label,body:has(#login) #admin-app details label{display:flex;flex-direction:column;gap:8px;font-size:13px;font-weight:800;letter-spacing:.02em;}
body:has(#login) #login input,body:has(#login) #admin-app details input,body:has(#reset-form) input{box-sizing:border-box;width:100%;min-height:54px;border:1px solid var(--line);border-radius:9px;padding:12px 15px;background:var(--bg);color:var(--ink);font:inherit;}
body:has(#login) #login input:focus-visible,body:has(#login) #admin-app details input:focus-visible{outline:2px solid var(--acid);outline-offset:2px;}
body:has(#login) #login button{width:100%;min-height:54px;justify-content:center;border-radius:9px;background:var(--acid);color:#10110e;font-weight:900;letter-spacing:.04em;margin-top:4px;}
body:has(#login) .auth-separator{display:flex;align-items:center;gap:16px;margin:30px 0 12px;color:var(--muted);font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;}
body:has(#login) .auth-separator::before,body:has(#login) .auth-separator::after{content:'';height:1px;background:var(--line);flex:1;}
body:has(#login) #admin-app details{border-bottom:1px solid var(--line);padding:0;}
body:has(#login) #admin-app details summary{cursor:pointer;list-style-position:inside;padding:17px 3px;font-weight:800;color:var(--ink);}
body:has(#login) #admin-app details[open] summary{color:var(--acid);}
body:has(#login) #admin-app details form{display:grid;grid-template-columns:1fr;gap:14px;padding:4px 0 20px;}
body:has(#login) #admin-app details button{justify-self:start;min-height:44px;}
body:has(#login) #admin-app details p{color:var(--muted);line-height:1.55;}
body:has(#login) #admin-status{margin-top:18px;}
@media(max-width:600px){body:has(#login) #admin-app,body:has(#reset-form) #admin-app{margin:22px auto;padding:0 14px;}body:has(#login) #admin-app>.admin-panel,body:has(#reset-form) #admin-app>.admin-panel{padding:26px 20px;border-radius:14px;}body:has(#login) .top{padding:18px 20px;}}

/* Registration shares the same auth shell and theme-aware visual system as sign-in. */
body:has(.registration-panel){background:var(--bg)}
body:has(.registration-panel) .shell{max-width:none;width:100%;padding:0}
body:has(.registration-panel) .top{padding:22px clamp(22px,4vw,72px);border-bottom:1px solid var(--line);background:var(--bg)}
body:has(.registration-panel) .top nav,body:has(.registration-panel) .hero,body:has(.registration-panel) .archive-alerts,body:has(.registration-panel) .mobile-menu-toggle{display:none!important}
body:has(.registration-panel) #admin-app{max-width:1100px;margin:clamp(32px,6vw,90px) auto;padding:0 clamp(20px,4vw,48px)}
body:has(.registration-panel) #admin-app>.admin-panel{position:relative;overflow:hidden;max-width:720px;margin:0 auto;padding:clamp(26px,5vw,58px);border:1px solid var(--line);border-radius:22px;background:var(--panel);box-shadow:0 28px 90px rgba(0,0,0,.16)}
body:has(.registration-panel) #admin-app>.admin-panel::before{content:'';display:block;width:72px;height:5px;background:var(--acid);margin-bottom:32px;border-radius:4px}
body:has(.registration-panel) .auth-eyebrow{display:block;font-size:12px;letter-spacing:.16em;font-weight:900;color:var(--acid);margin-bottom:12px}
body:has(.registration-panel) .auth-heading h2,body:has(.registration-panel) .registration-success h2{font-size:clamp(36px,6vw,66px);line-height:1.04;letter-spacing:-.065em;margin:0 0 14px;color:var(--ink)}
body:has(.registration-panel) .auth-heading p,body:has(.registration-panel) .registration-success p{color:var(--muted);font-size:clamp(15px,1.8vw,18px);margin:0 0 32px;line-height:1.6}
body:has(.registration-panel) #new-account-form{display:grid;grid-template-columns:1fr;gap:20px}
body:has(.registration-panel) #new-account-form label{display:flex;flex-direction:column;gap:8px;font-size:13px;font-weight:800;letter-spacing:.02em}
body:has(.registration-panel) #new-account-form input{box-sizing:border-box;width:100%;min-height:54px;border:1px solid var(--line);border-radius:9px;padding:12px 15px;background:var(--bg);color:var(--ink);font:inherit}
body:has(.registration-panel) #new-account-form input:focus-visible{outline:2px solid var(--acid);outline-offset:2px}
body:has(.registration-panel) #new-account-form button{width:100%;min-height:54px;justify-content:center;border-radius:9px;background:var(--acid);color:var(--bg);font-weight:900;letter-spacing:.04em;margin-top:4px}
body:has(.registration-panel) .registration-switch{margin-top:30px;color:var(--muted)}
body:has(.registration-panel) .registration-switch a,body:has(.registration-panel) .registration-success a:not(.btn){color:var(--acid)}
body:has(.registration-panel) .registration-success ol{padding-left:1.4rem;line-height:1.6}
body:has(.registration-panel) .registration-success li{margin:14px 0}
body:has(.registration-panel) .registration-home-link{display:inline-block;margin-top:12px}
@media(max-width:600px){body:has(.registration-panel) #admin-app{margin:22px auto;padding:0 14px}body:has(.registration-panel) #admin-app>.admin-panel{padding:26px 20px;border-radius:14px}body:has(.registration-panel) .top{padding:18px 20px}}

/* Vector arrows inherit button/link ink; never use emoji glyph rendering. */
.auth-arrow{display:inline-block;width:1.1em;height:1.1em;vertical-align:-.17em;flex:none;stroke:currentColor}

/* Email verification is a public member flow, not an owner/admin screen. */
body.verification-mode .shell{max-width:none;width:100%;padding:0;}
body.verification-mode .top{padding:22px clamp(22px,4vw,72px);border-bottom:1px solid var(--line);background:var(--bg);}
body.verification-mode .top nav,body.verification-mode .hero,body.verification-mode .archive-alerts{display:none;}
body.verification-mode #admin-app{max-width:850px;margin:clamp(36px,8vw,110px) auto;padding:0 clamp(20px,4vw,48px);}
body.verification-mode #admin-app>.admin-panel{max-width:680px;margin:0 auto;padding:clamp(28px,5vw,56px);border:1px solid var(--line);border-radius:22px;background:var(--panel);box-shadow:0 28px 90px rgba(0,0,0,.16);}
body.verification-mode #admin-app>.admin-panel::before{content:'';display:block;width:72px;height:5px;background:var(--acid);margin-bottom:28px;border-radius:4px;}
body.verification-mode .auth-eyebrow{display:block;font-size:12px;letter-spacing:.16em;font-weight:900;color:var(--acid);margin-bottom:14px;}
body.verification-mode #admin-app h2{font-size:clamp(30px,5vw,52px);line-height:1.1;margin:0 0 22px;}
body.verification-mode #admin-app p{line-height:1.65;margin:0 0 20px;}
body.verification-mode #admin-app .btn{display:inline-flex;margin-top:10px;}

/* Keep the member-facing reset success screen out of the admin layout. */
body.password-reset-mode .shell{max-width:none;width:100%;padding:0;}
body.password-reset-mode .top{padding:22px clamp(22px,4vw,72px);border-bottom:1px solid var(--line);background:var(--bg);}
body.password-reset-mode .top nav,body.password-reset-mode .hero,body.password-reset-mode .archive-alerts{display:none;}
body.password-reset-mode #admin-app{max-width:850px;margin:clamp(36px,8vw,110px) auto;padding:0 clamp(20px,4vw,48px);}
body.password-reset-mode #admin-app>.admin-panel{max-width:680px;margin:0 auto;padding:clamp(28px,5vw,56px);border:1px solid var(--line);border-radius:22px;background:var(--panel);box-shadow:0 28px 90px rgba(0,0,0,.16);}
body.password-reset-mode #admin-app>.admin-panel::before{content:'';display:block;width:72px;height:5px;background:var(--acid);margin-bottom:28px;border-radius:4px;}
body.password-reset-mode #admin-app h2{font-size:clamp(30px,5vw,52px);line-height:1.1;margin:0 0 22px;}
body.password-reset-mode #admin-app p{line-height:1.65;margin:0 0 20px;}
