:root{--accent:#4b2bbd}
.auth-page{background:radial-gradient(circle at 12% 15%,#ebe6ff,transparent 35%),radial-gradient(circle at 90% 90%,#e7e1ff,transparent 35%),#f7f7fa}
.auth-shell{min-height:calc(100vh - 78px);display:grid;place-items:center;padding:42px 16px 80px}
.auth-card{width:min(100%,500px);background:#fff;border:1px solid #dcd7e3;border-radius:26px;padding:30px;box-shadow:0 24px 70px rgba(31,25,55,.12)}
.auth-brand{display:inline-flex;align-items:center;gap:10px;color:var(--ink);font-size:1.15rem;font-weight:800;text-decoration:none;margin-bottom:25px}
.auth-card h1{font-family:Manrope,sans-serif;font-size:1.8rem;font-weight:800;letter-spacing:-.035em}
.auth-card .form-label{font-size:.8rem;font-weight:750}
.auth-card .form-control,.auth-card .form-select{min-height:48px;border-radius:13px;border-color:#c7c1d0;background:#fff;font-family:Manrope,sans-serif}
.auth-card .form-control:focus{border-color:var(--purple);box-shadow:0 0 0 .2rem rgba(75,43,189,.12)}
.auth-card .btn{min-height:48px;border-radius:13px;font-weight:750}
.auth-card .btn-dark,.auth-card .btn-primary{background:var(--purple)}
.auth-links{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}
.auth-links a{color:var(--purple);font-size:.86rem;font-weight:700;text-decoration:none}
.google-signin{min-height:48px;border:1px solid #aaa3b6;border-radius:13px;background:#fff;color:var(--ink);display:flex;align-items:center;justify-content:center;gap:11px;font-size:.88rem;font-weight:750;text-decoration:none;box-shadow:0 7px 20px rgba(31,25,55,.06)}
.google-signin:hover{border-color:rgba(75,43,189,.35);color:var(--purple);background:var(--purple-soft)}
.google-signin>span{width:25px;height:25px;border-radius:50%;display:grid;place-items:center;background:#fff;color:#4285f4;border:1px solid #ddd;font-weight:850}
.auth-divider{display:flex;align-items:center;gap:14px;margin:21px 0;color:var(--muted);font-size:.72rem}
.auth-divider::before,.auth-divider::after{content:"";height:1px;flex:1;background:var(--line)}
altcha-widget{display:block;margin:18px 0}
.auth-page.auth-sign-in{height:100dvh;min-height:100dvh;overflow:hidden;padding-bottom:0}
.auth-sign-in .auth-shell{height:calc(100dvh - 78px);min-height:0;padding:18px 16px;overflow:hidden}
.auth-sign-in .auth-card{max-height:100%;overflow-y:auto;scrollbar-width:none}
.auth-sign-in .auth-card::-webkit-scrollbar{display:none}
.auth-sign-in .auth-card h1{margin:0 0 6px}
.auth-sign-in .auth-card>.text-muted{margin-bottom:22px!important}
@media(max-width:640px){.auth-page{padding-bottom:70px}
.auth-page .site-header .desktop-actions{display:none}
.auth-shell{min-height:calc(100vh - 64px);padding:25px 14px 45px}
.auth-card{padding:22px;border-radius:22px}
.auth-brand{display:none}
.auth-sign-in .auth-shell{height:calc(100dvh - 146px);min-height:0;padding:8px 14px;overflow:hidden}
.auth-sign-in .auth-card{padding:20px}
.auth-sign-in .auth-card h1{font-size:1.6rem}
.auth-sign-in .auth-card>.text-muted{margin-bottom:18px!important;font-size:.82rem}
.auth-sign-in .auth-divider{margin:16px 0}
.auth-sign-in .auth-card .mb-3{margin-bottom:12px!important}
.auth-sign-in .auth-card .form-label{margin-bottom:4px}
.auth-sign-in altcha-widget{margin:12px 0}
.auth-sign-in .auth-links{margin-top:14px!important}
}
