.auth-page{min-height:100dvh;background:#faf9ff;line-height:1.6}
.social-login-buttons{display:grid;gap:10px}.auth-form-panel .social-login-btn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:46px;border:1px solid #e4ddee;border-radius:10px;background:#fff;color:var(--ink);font-size:13px;font-weight:600}.social-login-btn:hover{background:#faf8ff;border-color:#c7bcf2}.social-login-btn i{font-size:17px}.auth-divider{display:flex;align-items:center;gap:12px;color:#93899e;font-size:11px;margin:22px 0}.auth-divider::before,.auth-divider::after{content:'';height:1px;background:#eeeaf3;flex:1}
.auth-nav{height:88px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.auth-form-panel .social-login-google{background:#fff;color:#1f1f1f;border-color:#747775}.auth-form-panel .social-login-google:hover{background:#f8fafd;border-color:#1f1f1f}.auth-form-panel .social-login-github{background:#24292f;color:#fff;border-color:#24292f}.auth-form-panel .social-login-github:hover{background:#32383f;border-color:#32383f}.social-login-icon{flex-shrink:0}
.auth-nav .auth-home{font-size:13px;color:var(--muted);font-weight:600}
.auth-layout{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:80px;padding:38px 0 64px;min-height:calc(100dvh - 150px)}
.auth-story{position:relative;padding:40px 0;max-width:490px}
.auth-kicker{display:inline-flex;align-items:center;gap:8px;background:var(--lavender);color:#6552c2;border:1px solid #e0d9fc;border-radius:30px;padding:7px 13px;font-size:12px;font-weight:650;margin-bottom:24px}
.auth-story h2{font-size:clamp(36px,4.3vw,58px);font-weight:650;letter-spacing:-2px;line-height:1.08;margin:0 0 22px}
.auth-story h2 em{font-family:'Instrument Serif',Georgia,serif;color:var(--purple);font-weight:400}
.auth-story>p{font-size:15px;color:var(--muted);max-width:380px;line-height:1.8;margin:0 0 32px}
.auth-preview{position:relative;background:#fff;border:1px solid #e5dff4;border-radius:20px;padding:24px;box-shadow:var(--shadow);max-width:380px;transform:rotate(-2deg);margin-top:38px}
.auth-preview-top{display:flex;justify-content:space-between;align-items:center;color:#8b829b;font-size:11px;font-weight:650;letter-spacing:.06em;text-transform:uppercase;margin-bottom:20px}
.auth-preview h3{font-family:'Instrument Serif',Georgia,serif;font-size:28px;font-weight:400;line-height:1.2;margin:0 0 18px;letter-spacing:-.4px}
.auth-preview-line{height:7px;border-radius:8px;background:#eeeaf5;margin:10px 0;width:94%}.auth-preview-line.short{width:67%}
.auth-preview-tag{display:inline-flex;align-items:center;gap:7px;font-size:11px;font-weight:650;background:var(--lime);color:#4e5e29;border-radius:8px;padding:7px 10px;margin-top:14px}
.auth-form-panel{width:100%;max-width:460px;justify-self:end;background:#fff;border:1px solid #e7e1f2;border-radius:24px;padding:36px;box-shadow:0 16px 55px #45316a08}
.auth-form-panel :is(.signin-header,.signup-header){margin-bottom:28px}
.auth-form-panel h1{font-size:28px;line-height:1.2;font-weight:650;letter-spacing:-.8px;margin:0 0 8px}
.auth-form-panel :is(.signin-header,.signup-header)>p{font-size:14px;color:var(--muted);margin:0}
.auth-form-panel .form-group{margin-bottom:18px}
.auth-form-panel .form-group label{display:block;font-size:13px;font-weight:600;margin-bottom:7px}
.auth-form-panel .input-wrapper{position:relative}
.auth-form-panel .input-wrapper i{position:absolute;left:15px;top:50%;transform:translateY(-50%);color:#a79ab9;font-size:14px;pointer-events:none}
.auth-form-panel .form-control{display:block;width:100%;min-height:48px;border:1px solid #e4ddee;border-radius:10px;padding:12px 14px 12px 42px;background:#fdfcfe;font-size:14px;color:var(--ink);transition:border-color .15s,box-shadow .15s}
.auth-form-panel .form-control:focus{outline:none;border-color:var(--purple);box-shadow:0 0 0 3px #7765eb18;background:#fff}
.auth-form-panel .form-row{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin:2px 0 22px;font-size:12px}
.auth-form-panel .checkbox-label{display:flex;align-items:center;gap:8px;color:var(--muted)}
.auth-form-panel input[type=checkbox]{accent-color:var(--purple);width:16px;height:16px;flex-shrink:0}
.auth-form-panel a{color:var(--purple-dark);font-weight:600}.auth-form-panel a:hover{text-decoration:underline}
.auth-form-panel :is(.btn-signin,.btn-primary){display:flex;align-items:center;justify-content:center;gap:9px;width:100%;min-height:48px;padding:13px 16px;border:0;border-radius:10px;background:var(--purple);color:#fff;font:inherit;font-size:14px;font-weight:650;box-shadow:0 5px 14px #7765eb20;transition:background .15s,transform .15s}
.auth-form-panel :is(.btn-signin,.btn-primary):hover{background:var(--purple-dark);transform:translateY(-1px)}
.auth-form-panel :is(.signin-prompt,.signup-prompt){text-align:center;font-size:13px;color:var(--muted);border-top:1px solid #eeeaf3;padding-top:22px}
.auth-form-panel .terms-row{display:flex;gap:10px;align-items:flex-start;margin:8px 0 22px}.auth-form-panel .terms-row input{margin-top:3px}
.auth-form-panel .terms-text{font-size:12px;color:var(--muted);line-height:1.7}
.auth-form-panel .password-hint{font-size:11px;color:#8c819b;margin-top:7px}
.auth-form-panel .alert{padding:12px 14px;border-radius:10px;font-size:13px;margin-bottom:20px;overflow-wrap:anywhere}.auth-form-panel .alert-error{background:#fff1f0;color:#a52b35;border:1px solid #f7d9dc}.auth-form-panel .alert-success{background:#ecf8ef;color:#287548;border:1px solid #d9eedf}
.auth-footer{display:flex;justify-content:space-between;gap:16px;padding:0 0 24px;color:#93899e;font-size:11px}.auth-footer nav{display:flex;gap:20px}.auth-footer a:hover{color:var(--purple)}
@media(max-width:900px){.auth-layout{gap:36px}.auth-story h2{font-size:42px}.auth-form-panel{padding:28px}.auth-story{padding:20px 0}}
@media(max-width:700px){.auth-nav{height:76px}.auth-nav .logo{font-size:24px}.auth-layout{grid-template-columns:1fr;gap:24px;min-height:0;padding:22px 0 40px}.auth-story{display:none}.auth-form-panel{justify-self:center;max-width:460px}.auth-footer{max-width:460px;margin:auto;flex-wrap:wrap}.auth-page .container{width:calc(100% - 32px)}}
@media(prefers-reduced-motion:reduce){.auth-form-panel *{transition:none!important}}
