:root{--ae-primary:#546f7a;--ae-dark:#273238;--ae-white:#fff;--ae-danger:#9b4242;--ae-success:#52796f;--bs-primary:#546f7a;--bs-primary-rgb:84,111,122}
[data-theme="light"]{--ae-bg:#fff;--ae-surface:#f5f7f8;--ae-card:#fff;--ae-text:#273238;--ae-muted:#68767d;--ae-border:rgba(39,50,56,.12);--ae-soft-primary:rgba(84,111,122,.1);--ae-input:#fff;--ae-shadow:0 28px 72px rgba(39,50,56,.1)}
[data-theme="dark"]{--ae-bg:#182228;--ae-surface:#202c32;--ae-card:#202c32;--ae-text:#f8fafb;--ae-muted:#b8c3c8;--ae-border:rgba(255,255,255,.12);--ae-soft-primary:rgba(84,111,122,.22);--ae-input:#182228;--ae-shadow:0 28px 72px rgba(0,0,0,.24)}
html{scroll-behavior:smooth}
body{background:var(--ae-bg);color:var(--ae-text)}
.text-primary{color:var(--ae-primary)!important}
.text-secondary{color:var(--ae-muted)!important}
.bg-body-tertiary{background-color:var(--ae-surface)!important}
.border,.border-top,.border-bottom{border-color:var(--ae-border)!important}
.btn-primary{--bs-btn-bg:#546f7a;--bs-btn-border-color:#546f7a;--bs-btn-hover-bg:#273238;--bs-btn-hover-border-color:#273238;--bs-btn-active-bg:#273238;--bs-btn-active-border-color:#273238}
.btn-outline-primary{--bs-btn-color:#546f7a;--bs-btn-border-color:#546f7a;--bs-btn-hover-bg:#546f7a;--bs-btn-hover-border-color:#546f7a;--bs-btn-active-bg:#546f7a;--bs-btn-active-border-color:#546f7a}
.auth-hero{position:relative;overflow:hidden;background:var(--ae-surface);border-bottom:1px solid var(--ae-border)}
.auth-hero:after{content:"";position:absolute;right:-12%;top:-95%;width:480px;height:480px;border-radius:50%;background:radial-gradient(circle,rgba(84,111,122,.18),transparent 68%);pointer-events:none}
.auth-hero .container{position:relative;z-index:1}
.auth-kicker{display:inline-flex;align-items:center;gap:.55rem;color:var(--ae-primary);font-size:.78rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.auth-hero-title{max-width:850px;font-size:clamp(2.65rem,6vw,5rem);line-height:.98;letter-spacing:-.055em}
.auth-hero-copy{max-width:700px;color:var(--ae-muted)}
.auth-shell{overflow:hidden;background:var(--ae-card);border:1px solid var(--ae-border);box-shadow:var(--ae-shadow)}
.auth-visual{position:relative;height:100%;min-height:620px;overflow:hidden;background:var(--ae-dark)}
.auth-visual img{width:100%;height:100%;object-fit:cover;opacity:.5}
.auth-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(39,50,56,.08),rgba(39,50,56,.9))}
.auth-visual-copy{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:clamp(1.5rem,4vw,3rem);color:#fff}
.auth-visual-copy p{max-width:450px;color:rgba(255,255,255,.72)}
.auth-visual-badge{display:inline-flex;align-items:center;gap:.5rem;padding:.55rem .8rem;margin-bottom:1rem;border:1px solid rgba(255,255,255,.22);border-radius:999px;background:rgba(255,255,255,.08);font-size:.76rem;font-weight:800;backdrop-filter:blur(8px)}
.auth-panel{padding:clamp(1.5rem,4vw,3.5rem)}
.auth-panel-inner{width:min(100%,560px);margin-inline:auto}
.auth-step-icon{width:56px;height:56px;display:grid;place-items:center;margin-bottom:1.2rem;border-radius:18px;background:var(--ae-soft-primary);color:var(--ae-primary);font-size:1.35rem}
.auth-title{font-size:clamp(2rem,4vw,3.2rem);line-height:1.02;letter-spacing:-.045em}
.auth-copy{color:var(--ae-muted)}
.form-label{color:var(--ae-text);font-size:.84rem;font-weight:800}
.form-control{min-height:52px;border:1px solid var(--ae-border);border-radius:14px;background:var(--ae-input);color:var(--ae-text);padding:.78rem .95rem}
.form-control::placeholder{color:var(--ae-muted);opacity:.7}
.form-control:focus{border-color:var(--ae-primary);background:var(--ae-input);color:var(--ae-text);box-shadow:0 0 0 .25rem rgba(84,111,122,.13)}
.form-control:-webkit-autofill,.form-control:-webkit-autofill:hover,.form-control:-webkit-autofill:focus{-webkit-text-fill-color:var(--ae-text);transition:background-color 9999s ease-in-out 0s}
.input-password{position:relative}
.input-password .form-control{padding-right:3.4rem}
.password-toggle{position:absolute;top:50%;right:.45rem;width:42px;height:42px;display:grid;place-items:center;transform:translateY(-50%);border:0;border-radius:12px;background:transparent;color:var(--ae-muted)}
.password-toggle:hover,.password-toggle:focus-visible{background:var(--ae-soft-primary);color:var(--ae-primary)}
.field-help{margin-top:.45rem;color:var(--ae-muted);font-size:.76rem}
.auth-inline-link{color:var(--ae-primary);font-weight:800;text-decoration:none}
.auth-inline-link:hover{text-decoration:underline}
.auth-submit{min-height:52px}
.auth-submit:disabled{opacity:.72;cursor:wait}
.auth-divider{display:flex;align-items:center;gap:.8rem;margin:1.45rem 0;color:var(--ae-muted);font-size:.76rem;font-weight:700}
.auth-divider:before,.auth-divider:after{content:"";height:1px;flex:1;background:var(--ae-border)}
.auth-secondary{display:flex;align-items:center;justify-content:center;min-height:50px;padding:.7rem 1rem;border:1px solid var(--ae-border);border-radius:999px;color:var(--ae-text);font-weight:800;text-decoration:none}
.auth-secondary:hover{border-color:rgba(84,111,122,.45);color:var(--ae-primary)}
.auth-feedback{display:flex;align-items:flex-start;gap:.75rem;padding:1rem 1.1rem;margin-bottom:1.25rem;border-radius:16px;font-size:.88rem}
.auth-feedback-danger{border:1px solid rgba(155,66,66,.22);background:rgba(155,66,66,.08);color:var(--ae-danger)}
.auth-feedback-success{border:1px solid rgba(82,121,111,.22);background:rgba(82,121,111,.09);color:var(--ae-success)}
[data-theme="dark"] .auth-feedback-danger{color:#ffd4cf;border-color:rgba(255,212,207,.18);background:rgba(155,66,66,.14)}
[data-theme="dark"] .auth-feedback-success{color:#d7ebe5;border-color:rgba(215,235,229,.16);background:rgba(82,121,111,.16)}
.auth-privacy{display:flex;align-items:flex-start;gap:.7rem;padding:1rem;margin-top:1.25rem;border:1px solid var(--ae-border);border-radius:16px;background:var(--ae-surface);color:var(--ae-muted);font-size:.78rem}
.auth-privacy i{color:var(--ae-primary);font-size:1rem}
.auth-points{display:grid;gap:.8rem;margin-top:1.5rem}
.auth-point{display:flex;align-items:flex-start;gap:.75rem;color:rgba(255,255,255,.8);font-size:.84rem}
.auth-point i{width:30px;height:30px;min-width:30px;display:grid;place-items:center;border-radius:10px;background:rgba(255,255,255,.1)}
.g-recaptcha{max-width:100%;overflow:hidden}
.auth-status-card{padding:1.2rem;border:1px solid var(--ae-border);border-radius:18px;background:var(--ae-surface)}
.auth-status-card i{width:42px;height:42px;min-width:42px;display:grid;place-items:center;border-radius:14px;background:var(--ae-soft-primary);color:var(--ae-primary)}
.trust-card{height:100%;background:var(--ae-card);border:1px solid var(--ae-border)}
.trust-icon{width:46px;height:46px;display:grid;place-items:center;border-radius:1rem;background:var(--ae-soft-primary);color:var(--ae-primary);font-size:1.12rem}
.alert{border-radius:1rem}
.alert-success{--bs-alert-color:#35564f;--bs-alert-bg:rgba(84,111,122,.1);--bs-alert-border-color:rgba(84,111,122,.2)}
[data-theme="dark"] .alert-success{--bs-alert-color:#dce8e5;--bs-alert-bg:rgba(84,111,122,.18);--bs-alert-border-color:rgba(255,255,255,.12)}
[data-theme="dark"] .alert-danger{--bs-alert-color:#ffd8d3;--bs-alert-bg:rgba(155,66,66,.18);--bs-alert-border-color:rgba(255,255,255,.12)}
.reveal{opacity:0;transform:translateY(18px);transition:opacity .55s ease,transform .55s ease}
.reveal.is-visible{opacity:1;transform:none}
@media(max-width:991.98px){.auth-visual{min-height:360px}.auth-shell{box-shadow:none}.auth-panel-inner{width:100%}}
@media(max-width:767.98px){.auth-hero-title{font-size:clamp(2.45rem,13vw,3.8rem)}.auth-panel{padding:1.35rem}.auth-visual{min-height:300px}.auth-visual-copy{padding:1.35rem}}
@media(max-width:575.98px){.auth-hero{display:none}.auth-shell{border-radius:1.5rem!important}.auth-visual{min-height:235px}.auth-visual-copy h2{font-size:1.35rem}.auth-visual-copy p{font-size:.82rem}.auth-panel{padding:1.15rem}.auth-title{font-size:2rem}.auth-step-icon{width:50px;height:50px;border-radius:16px}.auth-secondary{width:100%}.g-recaptcha{transform:scale(.92);transform-origin:left top;margin-bottom:-6px}}
@media(max-width:360px){.g-recaptcha{transform:scale(.84);margin-bottom:-12px}}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}}