*{box-sizing:border-box}
:root{--text:#f4f5fb;--muted:#9399ab;--cyan:#18c9e7;--pink:#f33d67}
html,body{margin:0;min-height:100%}
body{min-height:100vh;color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.auth-page{position:relative;min-height:100vh;overflow:hidden;display:flex;align-items:center;justify-content:center;padding:42px 18px;background:radial-gradient(ellipse 45% 55% at 8% 54%,rgba(0,139,220,.18),transparent 72%),radial-gradient(ellipse 43% 55% at 88% 58%,rgba(171,40,205,.16),transparent 72%),radial-gradient(ellipse 55% 40% at 50% 0%,rgba(41,51,103,.20),transparent 75%),linear-gradient(135deg,#06101d 0%,#0a1022 45%,#101027 100%)}
.auth-page:before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 19% 27%,rgba(255,255,255,.45) 0 1px,transparent 1.5px),radial-gradient(circle at 69% 15%,rgba(255,255,255,.22) 0 1px,transparent 1.5px),radial-gradient(circle at 81% 36%,rgba(255,255,255,.28) 0 1px,transparent 1.5px),radial-gradient(circle at 92% 78%,rgba(255,255,255,.22) 0 1px,transparent 1.5px)}
.ambient{position:absolute;pointer-events:none;border-radius:50%;filter:blur(85px);opacity:.55}
.ambient-one{width:360px;height:260px;left:-150px;bottom:3%;background:rgba(0,168,255,.22)}
.ambient-two{width:330px;height:300px;right:-130px;bottom:8%;background:rgba(163,38,214,.20)}
.ambient-three{width:280px;height:190px;top:-100px;left:50%;transform:translateX(-50%);background:rgba(44,69,145,.16)}
.stars{position:absolute;inset:0;pointer-events:none;opacity:.65;background-image:radial-gradient(circle at 18% 42%,rgba(255,255,255,.28) 0 1px,transparent 1.5px),radial-gradient(circle at 69% 15%,rgba(255,255,255,.18) 0 1px,transparent 1.5px),radial-gradient(circle at 81% 36%,rgba(255,255,255,.22) 0 1px,transparent 1.5px),radial-gradient(circle at 92% 78%,rgba(255,255,255,.18) 0 1px,transparent 1.5px)}
.auth-shell{position:relative;z-index:2;width:min(100%,448px)}
.auth-card{position:relative;padding:32px 32px 29px;border:1px solid rgba(155,165,194,.22);border-radius:20px;background:linear-gradient(145deg,rgba(31,36,57,.80),rgba(24,28,47,.68));box-shadow:0 30px 80px rgba(0,0,0,.42),inset 0 1px 0 rgba(255,255,255,.045);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.auth-card:before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:linear-gradient(135deg,rgba(255,255,255,.055),transparent 35%,rgba(0,0,0,.05))}
.brand-mark{position:relative;width:64px;height:64px;margin:0 auto 25px;filter:drop-shadow(0 8px 22px rgba(22,198,229,.18))}
.brand-mark svg{width:100%;height:100%;display:block}
.auth-card h1{position:relative;margin:0;text-align:center;font-size:clamp(27px,5vw,32px);line-height:1.1;letter-spacing:-.035em;font-weight:750}
.subtitle{position:relative;margin:10px 0 30px;text-align:center;color:var(--muted);font-size:14px}
form{position:relative;display:flex;flex-direction:column}
form>label{margin:0 0 8px;color:#d9dce5;font-size:13px;font-weight:500}
.input-wrap{position:relative;margin-bottom:22px}
.input-wrap input{display:block;width:100%;height:50px;padding:0 45px 0 47px;border:1px solid rgba(165,173,201,.24);border-radius:11px;outline:none;color:var(--text);background:linear-gradient(180deg,rgba(53,58,79,.53),rgba(39,44,64,.50));box-shadow:inset 0 1px 0 rgba(255,255,255,.025);font:inherit;font-size:14px;transition:border-color .18s,box-shadow .18s,background .18s}
.input-wrap input::placeholder{color:#858b9b}
.input-wrap input:focus{border-color:rgba(42,203,231,.65);background:rgba(48,54,75,.72);box-shadow:0 0 0 3px rgba(24,201,231,.08),inset 0 1px 0 rgba(255,255,255,.03)}
.field-icon{position:absolute;z-index:1;left:15px;top:50%;width:20px;height:20px;transform:translateY(-50%);color:#9299aa;pointer-events:none}
.field-icon svg,.password-toggle svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.password-toggle{position:absolute;z-index:2;top:50%;right:13px;width:22px;height:22px;padding:0;transform:translateY(-50%);border:0;color:#8e95a6;background:transparent;cursor:pointer}
.password-toggle .eye-closed{display:none}
.password-toggle.is-visible .eye-open{display:none}
.password-toggle.is-visible .eye-closed{display:block}
.form-row{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:-2px 0 22px;font-size:13px}
.checkbox-label{display:flex;align-items:center;gap:8px;margin:0;color:#969cad;cursor:pointer;font-weight:400}
.checkbox-label input{appearance:none;width:16px;height:16px;margin:0;border:1px solid rgba(190,197,216,.40);border-radius:3px;background:rgba(35,40,58,.65);cursor:pointer}
.checkbox-label input:checked{border-color:#20c9e7;background:linear-gradient(135deg,var(--cyan),var(--pink));box-shadow:0 0 10px rgba(24,201,231,.18)}
.forgot-link{color:var(--cyan);font-weight:500}
.forgot-link:hover,.signup-row a:hover{color:#72e6f6;text-decoration:none}
.btn-primary{position:relative;width:100%;height:49px;border:0;border-radius:11px;color:white;background:linear-gradient(100deg,#10bfdc 0%,#5e9fc6 44%,#f23f68 100%);box-shadow:0 12px 26px rgba(26,190,220,.18),0 7px 20px rgba(235,54,99,.12);font:inherit;font-size:14px;font-weight:750;letter-spacing:.025em;cursor:pointer;transition:transform .15s,filter .15s,box-shadow .15s}
.btn-primary:hover{filter:brightness(1.06);transform:translateY(-1px);box-shadow:0 15px 30px rgba(26,190,220,.22),0 9px 22px rgba(235,54,99,.16)}
.btn-primary:active{transform:translateY(0)}
.signup-row{position:relative;margin-top:25px;color:#8f96a8;text-align:center;font-size:13px}
.signup-row a{color:var(--cyan);font-weight:600}
.alert{position:relative;margin:-8px 0 18px;padding:11px 13px;border-radius:9px;font-size:12px;line-height:1.45}
.alert.error{color:#ffbdc6;background:rgba(104,29,43,.35);border:1px solid rgba(242,61,103,.20)}
.alert.success{color:#b4f0c5;background:rgba(25,91,50,.28);border:1px solid rgba(76,210,121,.18)}
@media(max-width:520px){.auth-page{padding:20px 13px}.auth-card{padding:29px 22px 25px;border-radius:17px}.brand-mark{width:58px;height:58px;margin-bottom:21px}.subtitle{margin-bottom:25px}.form-row{align-items:flex-start;flex-direction:column}.forgot-link{align-self:flex-end}}
