.auth-shell{color:#f8fafc;background:radial-gradient(1200px 600px at 50% -10%,#2680c22e,#0000 60%),#0d1b2a;place-items:center;min-height:100dvh;padding:24px;display:grid}.auth-card{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffff0f;border:1px solid #ffffff1f;border-radius:18px;width:100%;max-width:420px;padding:32px;box-shadow:0 24px 60px #00000073}.auth-logo{color:#fff;background:linear-gradient(135deg,#2680c2,#1e5a8e);border-radius:16px;justify-content:center;align-items:center;width:56px;height:56px;margin:0 auto 20px;display:flex}.auth-logo svg{width:30px;height:30px}.auth-forgot-link{color:#7cc0f0;cursor:pointer;text-align:center;background:0 0;border:none;margin:16px auto 0;font-size:.86rem;font-weight:600;display:block}.auth-forgot-link:hover{text-decoration:underline}.auth-forgot-box{border-top:1px solid #ffffff1f;margin-top:16px;padding-top:16px}.auth-title{text-align:center;margin-bottom:4px;font-size:1.4rem;font-weight:700}.auth-subtitle{text-align:center;color:#9fb3c8;margin-bottom:16px;font-size:.9rem}.auth-password-hint{text-align:center;color:#c7d3e0;background:#ffffff0f;border:1px solid #ffffff1f;border-radius:10px;margin-bottom:20px;padding:10px 14px;font-size:.82rem;line-height:1.5}.auth-password-hint strong{color:#f8fafc}.auth-field{margin-bottom:16px}.auth-field label{color:#c7d3e0;margin-bottom:6px;font-size:.82rem;display:block}.auth-field input{color:#f8fafc;background:#00000040;border:1px solid #ffffff29;border-radius:10px;outline:none;width:100%;padding:11px 13px;font-size:.95rem;transition:border-color .15s,box-shadow .15s}.auth-field input:focus{border-color:#4a9fd8;box-shadow:0 0 0 3px #4a9fd840}.auth-password-wrap{display:flex;position:relative}.auth-password-wrap input{padding-right:42px}.auth-password-toggle{color:#c7d3e0;cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;width:42px;display:flex;position:absolute;top:0;bottom:0;right:0}.auth-password-toggle:hover{color:#f8fafc}.auth-password-toggle svg{width:19px;height:19px}.auth-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#2680c2,#1e5a8e);border:none;border-radius:10px;width:100%;padding:12px;font-size:.95rem;font-weight:600;transition:filter .15s,transform 50ms}.auth-btn:hover:not(:disabled){filter:brightness(1.08)}.auth-btn:active:not(:disabled){transform:translateY(1px)}.auth-btn:disabled{opacity:.6;cursor:not-allowed}.auth-google{color:#1a1a1a;cursor:pointer;background:#fff;border:1px solid #fff3;border-radius:10px;justify-content:center;align-items:center;gap:10px;width:100%;padding:11px;font-size:.92rem;font-weight:600;display:flex}.auth-google:disabled{opacity:.6;cursor:not-allowed}.auth-divider{color:#7c8da0;align-items:center;gap:12px;margin:20px 0;font-size:.78rem;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:#ffffff24;flex:1;height:1px}.auth-error{color:#fca5a5;background:#dc262626;border:1px solid #dc262666;border-radius:10px;margin-bottom:16px;padding:10px 12px;font-size:.85rem}.auth-success{color:#86efac;background:#22c55e26;border:1px solid #22c55e66;border-radius:10px;margin-bottom:16px;padding:10px 12px;font-size:.85rem}.auth-footer{text-align:center;color:#9fb3c8;margin-top:20px;font-size:.86rem}.auth-footer a{color:#7cc0f0;font-weight:600;text-decoration:none}.auth-footer a:hover{text-decoration:underline}.auth-loading{color:#9fb3c8;background:radial-gradient(circle at 50% 35%,#123a5c 0%,#0d1b2a 65%);place-items:center;min-height:100dvh;font-size:.9rem;display:grid}.auth-loading-inner{flex-direction:column;align-items:center;gap:18px;display:flex}.auth-loading-ring{place-items:center;width:96px;height:96px;display:grid;position:relative}.auth-loading-ring:before{content:"";-webkit-mask-composite:xor;background:conic-gradient(#2680c2,#4a9fd8,#0000 65% 100%);border-radius:50%;padding:3px;animation:1.1s linear infinite auth-loading-spin;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);-webkit-mask-position:0 0,0 0;-webkit-mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.auth-loading-mark{border-radius:20px;width:72px;height:72px;animation:2.2s ease-in-out infinite auth-loading-pulse;box-shadow:0 8px 28px #2680c266}.auth-loading-title{color:#eaf2fb;letter-spacing:.2px;font-size:1.05rem;font-weight:700}.auth-loading-caption{color:#7d93ab;align-items:center;gap:3px;font-size:.82rem;display:inline-flex}.auth-loading-dot{background:#7d93ab;border-radius:50%;width:4px;height:4px;animation:1.2s ease-in-out infinite auth-loading-dots}.auth-loading-dot:nth-child(2){animation-delay:.15s}.auth-loading-dot:nth-child(3){animation-delay:.3s}@keyframes auth-loading-spin{to{transform:rotate(360deg)}}@keyframes auth-loading-pulse{0%,to{transform:scale(1);box-shadow:0 8px 28px #2680c266}50%{transform:scale(1.04);box-shadow:0 10px 34px #2680c299}}@keyframes auth-loading-dots{0%,80%,to{opacity:.25;transform:scale(.8)}40%{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.auth-loading-ring:before,.auth-loading-mark,.auth-loading-dot{animation:none!important}}
