:root{color-scheme:light;--auth-bg:#f4f6fa;--auth-card:#fff;--auth-ink:#111827;--auth-muted:#5c6b82;--auth-line:#d7dfeb;--auth-primary:#5353f5;--auth-primary-dark:#3f3fd9;--auth-soft:#f6f7ff;--auth-danger:#b71930}
body.auth-page{min-height:100vh;margin:0;padding:24px;background:linear-gradient(90deg,#1677ff,#00b894,#f59e0b,#ff7a00,#6257ff) top/100% 4px no-repeat,var(--auth-bg);color:var(--auth-ink);font-family:"Open Sans",ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
body.auth-login-page{display:grid;place-items:center}
.auth-page .auth-shell{width:min(900px,100%);grid-template-columns:minmax(0,1fr) 380px;border:1px solid var(--auth-line);border-radius:14px;box-shadow:0 18px 55px rgba(15,23,42,.1)}
.auth-page .auth-intro{min-height:460px;padding:36px;background:#fbfcff;border-right:1px solid var(--auth-line)}
.auth-page .logo{margin:0 0 28px;color:var(--auth-ink);font-size:17px}
.auth-page .auth-kicker,.auth-page .kicker{margin:0 0 9px;color:var(--auth-primary);font-size:11px;font-weight:900;letter-spacing:.09em;text-transform:uppercase}
.auth-page .auth-intro h1{margin:0 0 12px;font-size:38px;line-height:1.08;letter-spacing:-.035em}
.auth-page .lead{max-width:470px;color:var(--auth-muted);font-size:15px;line-height:1.55}
.auth-page .route-card{margin-top:24px;padding:14px 15px;border:1px solid #d9dcff;border-left:3px solid var(--auth-primary);border-radius:10px;background:var(--auth-soft);color:#344054;font-size:13px}
.auth-page .auth-intro-foot{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:26px;padding-top:16px;border-top:1px solid #e4e8f0;font-size:12px}
.auth-page .auth-intro-foot .foot{margin:0;padding:0;border:0;font-size:12px}
.auth-page .auth-intro-foot a,.auth-page .auth-role-link{color:var(--auth-primary);font-weight:800;text-decoration:none}
.auth-page .auth-form{padding:36px;background:var(--auth-card)}
.auth-page .auth-form h2{font-size:28px}
.auth-page .auth-form .muted{margin-bottom:20px;color:var(--auth-muted);font-size:13px}
.auth-page label{margin:13px 0 6px;color:#344054;font-size:12px}
.auth-page input{height:46px;border-color:#bcc8d8;border-radius:9px;font-size:15px}
.auth-page button{height:46px;margin-top:18px;border-radius:9px;background:var(--auth-primary);box-shadow:none;font-size:14px}
.auth-page button:hover{background:var(--auth-primary-dark)}
.auth-page .account-recovery{gap:4px;margin-top:10px}
.auth-page .link-btn{min-height:40px;padding:8px 9px;border:0;border-radius:7px;background:transparent;color:var(--auth-primary);font-size:12px}
.auth-page .security-note{margin-top:12px;padding-top:13px;color:var(--auth-muted);font-size:12px}
.auth-page .error,.auth-page .notice{margin-bottom:13px;padding:10px 12px;border-radius:9px;font-size:12px}
body.auth-recovery-page{display:grid;place-items:center}
.auth-page .auth-recovery-card{width:min(500px,100%);padding:30px;border:1px solid var(--auth-line);border-radius:14px;box-shadow:0 18px 55px rgba(15,23,42,.1)}
.auth-page .auth-recovery-card .logo{margin-bottom:24px}
.auth-page .auth-recovery-card h1{margin:0 0 8px;font-size:28px;line-height:1.15}
.auth-page .auth-recovery-card>p{margin-bottom:16px;color:var(--auth-muted);font-size:13px}
.auth-page .auth-recovery-card .links{justify-content:flex-start;gap:4px;margin-top:10px}
.auth-page .auth-recovery-card .links a{min-height:40px;padding:8px;color:var(--auth-primary);font-size:12px}
.auth-page .auth-recovery-card .small{margin-top:10px;padding-top:13px;color:var(--auth-muted);font-size:12px}
.auth-page .auth-role-link{display:none;margin-top:14px;font-size:12px;text-align:center}
@media(max-width:760px){body.auth-page{padding:14px;place-items:start center}.auth-page .auth-shell{grid-template-columns:1fr}.auth-page .auth-intro{min-height:0;padding:22px;border-right:0;border-bottom:1px solid var(--auth-line)}.auth-page .logo{margin-bottom:18px}.auth-page .auth-intro h1{font-size:28px}.auth-page .lead{font-size:13px}.auth-page .route-card{margin-top:15px}.auth-page .auth-intro-foot{display:none}.auth-page .auth-form{padding:24px 22px}.auth-page .auth-role-link{display:block}.auth-page .auth-recovery-card{padding:24px 22px}}
@media(max-width:380px){body.auth-page{padding:8px}.auth-page .auth-intro,.auth-page .auth-form,.auth-page .auth-recovery-card{padding:19px 17px}.auth-page .account-recovery{display:grid;grid-template-columns:1fr 1fr}.auth-page .link-btn{width:100%}}
