@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap";:root{--login-blue: #2563eb;--login-blue-dark: #1d4ed8;--login-glow: rgba(37, 99, 235, .25);--login-bg: #f0f4ff;--login-card: rgba(255, 255, 255, .7);--login-card-border: rgba(255, 255, 255, .8);--login-text: #0f172a;--login-muted: #64748b;--login-border: #e2e8f0;--login-input-bg: rgba(255, 255, 255, .9);--login-danger: #ef4444;--login-success: #22c55e}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--login-bg);color:var(--login-text);min-height:100vh;display:flex;align-items:center;justify-content:center;position:fixed;top:0;left:0;width:100%;z-index:10000;overflow:hidden;font-family:Inter,system-ui,sans-serif;-webkit-font-smoothing:antialiased}.login-blob{position:absolute;border-radius:50%;filter:blur(100px);opacity:.5;animation:login-drift 12s infinite alternate ease-in-out;pointer-events:none}.login-blob.blob-1{width:350px;height:350px;background:rgba(37,99,235,.4);top:-120px;right:-80px}.login-blob.blob-2{width:280px;height:280px;background:rgba(139,92,246,.3);bottom:-60px;left:-100px;animation-delay:-6s}.login-blob.blob-3{width:200px;height:200px;background:rgba(20,184,166,.25);top:50%;left:60%;animation-delay:-3s}@keyframes login-drift{0%{transform:translateY(0) scale(1)}to{transform:translateY(25px) scale(1.08)}}.brand-header{position:absolute;top:30px;left:30px;display:flex;align-items:center;gap:10px;z-index:20;font-weight:800;font-size:18px;letter-spacing:-.5px;color:var(--login-blue-dark)}.brand-header img{width:28px;height:28px}.login-wrap{position:relative;z-index:10;width:100%;max-width:420px;padding:20px;margin:0 auto}.frosted-mobile-card{background:var(--login-card);border:1.5px solid var(--login-card-border);border-radius:32px;padding:36px 32px;box-shadow:0 20px 40px #0000000f,inset 0 0 0 1px #ffffff80;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);text-align:center;animation:login-card-enter .4s cubic-bezier(.16,1,.3,1)}@keyframes login-card-enter{0%{opacity:0;transform:translateY(16px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.login-top-icon{width:56px;height:56px;background:#ffffff;border-radius:16px;display:flex;align-items:center;justify-content:center;margin:0 auto 20px;box-shadow:0 6px 16px #0000000f;color:var(--login-blue)}.login-top-icon.forgot-icon{background:linear-gradient(135deg,#fff7ed,#ffedd5);color:#ea580c;box-shadow:0 6px 16px #ea580c1a}.login-top-icon.reset-icon{background:linear-gradient(135deg,#f5f3ff,#ede9fe);color:#7c3aed;box-shadow:0 6px 16px #7c3aed1a}.login-top-icon.success-icon{background:linear-gradient(135deg,#f0fdf4,#dcfce7);color:#16a34a;box-shadow:0 6px 16px #16a34a1a;animation:success-pop .5s cubic-bezier(.16,1,.3,1)}@keyframes success-pop{0%{transform:scale(.6);opacity:0}60%{transform:scale(1.1)}to{transform:scale(1);opacity:1}}.login-header h1{font-size:22px;font-weight:800;letter-spacing:-.5px;margin-bottom:8px;color:var(--login-text)}.login-header p{font-size:13px;color:var(--login-muted);font-weight:500;line-height:1.5;margin-bottom:28px;padding:0 10px}.login-header p strong{color:var(--login-blue);font-weight:700}.login-form-group{margin-bottom:14px}.login-form-input-wrap{position:relative;display:flex;align-items:center}.login-form-input-icon{position:absolute;left:16px;width:16px;height:16px;color:var(--login-muted);pointer-events:none}.login-form-input{width:100%;padding:14px 14px 14px 44px;background:var(--login-input-bg);border:1.5px solid var(--login-border);border-radius:14px;font-size:14px;font-weight:500;color:var(--login-text);outline:none;transition:all .2s;font-family:inherit}.login-form-input:focus{border-color:var(--login-blue);box-shadow:0 0 0 3px var(--login-glow);background:#ffffff}.login-form-input::placeholder{color:#94a3b8;font-weight:500}.pwd-toggle{position:absolute;right:16px;background:none;border:none;color:var(--login-muted);cursor:pointer;display:flex;align-items:center;justify-content:center}.forgot-pwd{display:block;text-align:right;font-size:12px;font-weight:600;color:var(--login-blue);text-decoration:none;margin-bottom:24px;transition:opacity .2s}.forgot-pwd:hover{opacity:.7}.login-submit-btn{width:100%;padding:16px;border:none;border-radius:14px;background:linear-gradient(135deg,var(--login-blue),var(--login-blue-dark));color:#fff;font-size:15px;font-weight:700;cursor:pointer;transition:all .2s;font-family:inherit;letter-spacing:.3px;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 20px var(--login-glow)}.login-submit-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 10px 24px var(--login-glow)}.login-submit-btn:active:not(:disabled){transform:translateY(0)}.login-submit-btn:disabled{opacity:.7;cursor:not-allowed}.divider{display:flex;align-items:center;text-align:center;margin:24px 0;color:var(--login-muted);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.divider:before,.divider:after{content:"";flex:1;border-bottom:1px solid var(--login-border)}.divider span{padding:0 16px}.google-btn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:14px;background:#ffffff;border:1.5px solid var(--login-border);border-radius:14px;font-size:14px;font-weight:600;color:var(--login-text);cursor:pointer;text-decoration:none;transition:all .2s ease;box-shadow:0 4px 12px #00000008}.google-btn:hover{background:var(--login-input-bg);transform:translateY(-1px);box-shadow:0 6px 16px #0000000f}.login-error-toast{background:rgba(239,68,68,.1);border:1px solid rgba(239,68,68,.2);color:var(--login-danger);padding:12px 14px;border-radius:12px;font-size:13px;font-weight:500;margin-bottom:20px;display:flex;align-items:center;gap:10px;text-align:left;animation:login-shake .4s ease}.login-success-toast{background:rgba(34,197,94,.1);border:1px solid rgba(34,197,94,.25);color:#16a34a;padding:12px 14px;border-radius:12px;font-size:13px;font-weight:500;margin-bottom:20px;display:flex;align-items:center;gap:10px;text-align:left;animation:login-success-enter .4s cubic-bezier(.16,1,.3,1)}@keyframes login-success-enter{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes login-shake{10%,90%{transform:translate(-1px)}20%,80%{transform:translate(2px)}30%,50%,70%{transform:translate(-3px)}40%,60%{transform:translate(3px)}}.login-spinner{display:inline-block;width:18px;height:18px;border:2.5px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:login-spin .6s linear infinite}.login-spinner.spinner-blue{border:2.5px solid rgba(37,99,235,.15);border-top-color:var(--login-blue)}@keyframes login-spin{to{transform:rotate(360deg)}}.back-to-login-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:14px;background:transparent;border:1.5px solid var(--login-border);border-radius:14px;font-size:13px;font-weight:600;color:var(--login-muted);cursor:pointer;transition:all .2s ease;font-family:inherit;margin-top:16px}.back-to-login-btn:hover{background:rgba(255,255,255,.6);color:var(--login-text);border-color:var(--login-blue);transform:translateY(-1px)}.forgot-success-actions{margin-bottom:8px}.forgot-check-email{font-size:13px;color:var(--login-muted);font-weight:500;margin:0;padding:12px 0}.token-validating{display:flex;flex-direction:column;align-items:center;gap:16px;padding:24px 0}.token-validating p{font-size:13px;color:var(--login-muted);font-weight:500;margin:0}.password-strength{display:flex;align-items:center;gap:10px;margin-top:4px}.strength-bar{flex:1;height:4px;background:var(--login-border);border-radius:4px;overflow:hidden}.strength-fill{height:100%;border-radius:4px;transition:width .3s ease,background .3s ease}.strength-bar.weak .strength-fill{width:33%;background:var(--login-danger)}.strength-bar.medium .strength-fill{width:66%;background:#f59e0b}.strength-bar.strong .strength-fill{width:100%;background:var(--login-success)}.strength-label{font-size:11px;font-weight:600;min-width:60px;text-align:right}.strength-bar.weak+.strength-label{color:var(--login-danger)}.strength-bar.medium+.strength-label{color:#f59e0b}.strength-bar.strong+.strength-label{color:var(--login-success)}
