*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg-gradient-start:#100810;--bg-gradient-end:#1e0f1a;--card-bg:#ffffff0d;--card-border:#ff5b8c26;--card-shadow:0 32px 80px #0000008c, 0 0 0 1px #ff5b8c14;--accent:#ff5b8c;--accent-hover:#e8437a;--accent-glow:#ff5b8c4d;--text-primary:#f8f0f4;--text-secondary:#c9a8b8;--text-muted:#8a6275;--error-bg:#ef44441a;--error-border:#ef44444d;--error-text:#fca5a5;--success-bg:#22c55e1a;--success-border:#22c55e4d;--success-text:#86efac;--warning-bg:#ff5b8c14;--warning-border:#ff5b8c40;--warning-text:#ffb3cc;--input-bg:#ffffff0d;--input-border:#ffffff1a;--input-border-focus:#ff5b8ca6;--input-text:#f8f0f4;--btn-disabled:#ff5b8c4d;--radius:12px;--radius-sm:8px;--transition:.2s ease;--font:"Inter", system-ui, -apple-system, sans-serif}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px}body{font-family:var(--font);background:linear-gradient(135deg, var(--bg-gradient-start) 0%, var(--bg-gradient-end) 100%);min-height:100vh;color:var(--text-primary);justify-content:center;align-items:center;padding:24px 16px;display:flex;position:relative;overflow-x:hidden}body:before,body:after{content:"";filter:blur(80px);pointer-events:none;z-index:0;border-radius:50%;position:fixed}body:before{background:radial-gradient(circle,#ff5b8c1f 0%,#0000 65%);width:600px;height:600px;animation:8s ease-in-out infinite float;top:-150px;left:-120px}body:after{background:radial-gradient(circle,#ff5b8c14 0%,#0000 65%);width:500px;height:500px;animation:10s ease-in-out infinite reverse float;bottom:-120px;right:-100px}@keyframes float{0%,to{transform:translateY(0)scale(1)}50%{transform:translateY(-20px)scale(1.05)}}#app{z-index:1;flex-direction:column;align-items:center;width:100%;display:flex;position:relative}.card{background:var(--card-bg);border:1px solid var(--card-border);box-shadow:var(--card-shadow);-webkit-backdrop-filter:blur(24px);border-radius:20px;width:100%;max-width:460px;padding:48px 40px;animation:.5s cubic-bezier(.16,1,.3,1) both slideUp}@keyframes slideUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.brand{flex-direction:column;align-items:center;margin-bottom:36px;display:flex}.brand-logo-img{object-fit:contain;background:0 0;width:260px;height:auto;margin:0 auto;display:block}h1.page-title{color:var(--text-primary);text-align:center;letter-spacing:-.02em;margin-bottom:8px;font-size:26px;font-weight:700}.page-subtitle{color:var(--text-secondary);text-align:center;margin-bottom:32px;font-size:14px;font-weight:400;line-height:1.6}.form{flex-direction:column;gap:20px;display:flex}.field{flex-direction:column;gap:6px;display:flex}.field label{color:var(--text-secondary);letter-spacing:.01em;font-size:13px;font-weight:500}.input-wrapper{position:relative}.input-wrapper input{background:var(--input-bg);border:1px solid var(--input-border);border-radius:var(--radius-sm);width:100%;color:var(--input-text);font-family:var(--font);transition:border-color var(--transition), box-shadow var(--transition), background var(--transition);outline:none;padding:13px 44px 13px 16px;font-size:15px}.input-wrapper input:focus{border-color:var(--input-border-focus);background:#ffffff12;box-shadow:0 0 0 3px #38bdf81f}.input-wrapper input::placeholder{color:var(--text-muted)}.toggle-password{cursor:pointer;color:var(--text-muted);transition:color var(--transition);background:0 0;border:none;justify-content:center;align-items:center;padding:4px;display:flex;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.toggle-password:hover{color:var(--text-secondary)}.strength-bar{gap:4px;margin-top:6px;display:flex}.strength-segment{height:3px;transition:background var(--transition);background:#ffffff14;border-radius:2px;flex:1}.strength-segment.weak{background:#ef4444}.strength-segment.fair{background:#f59e0b}.strength-segment.good{background:#3b82f6}.strength-segment.strong{background:#22c55e}.strength-label{color:var(--text-muted);min-height:16px;transition:color var(--transition);margin-top:4px;font-size:11px}.password-hint{color:var(--text-muted);border-radius:var(--radius-sm);background:#ffffff08;border:1px solid #ffffff0f;padding:10px 12px;font-size:12px;line-height:1.5}.alert{border-radius:var(--radius-sm);align-items:flex-start;gap:10px;padding:14px 16px;font-size:14px;line-height:1.5;animation:.3s both fadeIn;display:flex}@keyframes fadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.alert-icon{flex-shrink:0;margin-top:1px}.alert.error{background:var(--error-bg);border:1px solid var(--error-border);color:var(--error-text)}.alert.success{background:var(--success-bg);border:1px solid var(--success-border);color:var(--success-text)}.alert.warning{background:var(--warning-bg);border:1px solid var(--warning-border);color:var(--warning-text)}.btn-primary{background:linear-gradient(135deg, var(--accent) 0%, var(--accent-hover) 100%);border-radius:var(--radius-sm);color:#fff;width:100%;font-family:var(--font);cursor:pointer;transition:opacity var(--transition), transform var(--transition), box-shadow var(--transition);letter-spacing:.01em;border:none;padding:14px 24px;font-size:15px;font-weight:600;position:relative;overflow:hidden;box-shadow:0 4px 20px #ff5b8c59}.btn-primary:after{content:"";pointer-events:none;background:linear-gradient(#ffffff26,#0000);position:absolute;inset:0}.btn-primary:hover:not(:disabled){opacity:.92;transform:translateY(-1px);box-shadow:0 8px 28px #ff5b8c73}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-primary:disabled{background:var(--btn-disabled);cursor:not-allowed;box-shadow:none;transform:none}.btn-secondary{border-radius:var(--radius-sm);width:100%;color:var(--accent);font-family:var(--font);cursor:pointer;transition:background var(--transition), border-color var(--transition);letter-spacing:.01em;background:0 0;border:1px solid #ff5b8c66;padding:14px 24px;font-size:15px;font-weight:500}.btn-secondary:hover{background:#ff5b8c14;border-color:#ff5b8ca6}.loading-state{flex-direction:column;justify-content:center;align-items:center;gap:20px;padding:20px 0;display:flex}.spinner{border:3px solid #38bdf826;border-top-color:var(--accent);border-radius:50%;width:40px;height:40px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.loading-text{color:var(--text-secondary);font-size:14px;font-weight:400}.success-state{text-align:center;flex-direction:column;align-items:center;gap:16px;padding:10px 0;display:flex}.success-icon{background:var(--success-bg);border:1px solid var(--success-border);border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;animation:.4s cubic-bezier(.16,1,.3,1) both scaleIn;display:flex}@keyframes scaleIn{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}.success-title{color:var(--success-text);font-size:20px;font-weight:600}.success-message{color:var(--text-secondary);font-size:14px;line-height:1.6}.redirect-countdown{color:var(--text-muted);font-size:13px}.error-state{text-align:center;flex-direction:column;align-items:center;gap:16px;padding:10px 0;display:flex}.error-icon{background:var(--error-bg);border:1px solid var(--error-border);border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;animation:.4s cubic-bezier(.16,1,.3,1) both scaleIn;display:flex}.error-title{color:var(--error-text);font-size:20px;font-weight:600}.error-message{color:var(--text-secondary);font-size:14px;line-height:1.6}.divider{background:var(--card-border);height:1px;margin:8px 0}.card-footer{text-align:center;color:var(--text-muted);margin-top:28px;font-size:12px}@media (width<=520px){.card{border-radius:16px;padding:36px 24px}h1.page-title{font-size:22px}}
