.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:#f8fafc;position:relative;overflow:hidden;padding:24px 16px;font-family:Plus Jakarta Sans,sans-serif}.auth-page:before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle at 2px 2px,#e2e8f0 1px,transparent 0);background-size:24px 24px;opacity:.5;z-index:0}.auth-page .blob{position:absolute;border-radius:50%;filter:blur(100px);opacity:.2;pointer-events:none;z-index:0}.auth-page .blob-1{width:500px;height:500px;background:var(--color-primary);top:-200px;right:-100px}.auth-page .blob-2{width:400px;height:400px;background:#38bcd4;bottom:-150px;left:-100px}.auth-page .auth-card{background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);border-radius:28px;padding:48px 40px;width:100%;max-width:460px;box-shadow:0 10px 40px -10px #106c861a,0 4px 12px -4px #0000000d;position:relative;z-index:1;animation:slideUp .6s cubic-bezier(.16,1,.3,1)}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.auth-page .auth-header{text-align:center;margin-bottom:36px}.auth-page .logo-link{display:inline-flex;justify-content:center;margin-bottom:24px;padding:12px;background:#f1f5f9;border-radius:16px;transition:transform .2s}.auth-page .logo-link:hover{transform:scale(1.05)}.auth-page .auth-logo{height:32px;width:auto}.auth-page .auth-title{font-size:2rem;font-weight:800;color:#1e293b;margin:0 0 10px;letter-spacing:-.025em}.auth-page .auth-subtitle{font-size:.95rem;color:#64748b;font-weight:500;line-height:1.5}.auth-page .error-banner{background:#fef2f2;border:1px solid #fee2e2;color:#dc2626;border-radius:14px;padding:14px 18px;font-size:.9rem;font-weight:600;margin-bottom:24px;display:flex;align-items:center;gap:10px}.auth-page .auth-form{display:flex;flex-direction:column;gap:22px}.auth-page .form-group{display:flex;flex-direction:column;gap:8px}.auth-page .form-label{font-size:.875rem;font-weight:700;color:#475569;margin-left:2px}.auth-page .label-row{display:flex;align-items:center;justify-content:space-between}.auth-page .forgot-link{font-size:.875rem;color:var(--color-primary);text-decoration:none;font-weight:700;transition:color .2s}.auth-page .forgot-link:hover{color:#38bcd4}.auth-page .input-wrapper{position:relative;display:flex;align-items:center}.auth-page .input-icon{position:absolute;left:16px;width:20px;height:20px;color:#94a3b8;transition:color .2s;pointer-events:none}.auth-page .form-input{width:100%;padding:12px 46px;border:2px solid #f1f5f9;border-radius:16px;font-size:.875rem;color:#1e293b;background:#fff;outline:none;transition:all .2s cubic-bezier(.4,0,.2,1);font-family:inherit;font-weight:500}.auth-page .form-input:focus{background:#fff;border-color:var(--color-primary);box-shadow:0 0 0 4px #106c861a}.auth-page .form-input:focus+.input-icon,.auth-page .input-wrapper:focus-within .input-icon{color:var(--color-primary)}.auth-page .form-input::-moz-placeholder{color:#94a3b8;opacity:1}.auth-page .form-input::placeholder{color:#94a3b8;opacity:1}.auth-page .form-input:-webkit-autofill,.auth-page .form-input:-webkit-autofill:hover,.auth-page .form-input:-webkit-autofill:focus{-webkit-text-fill-color:#1e293b;box-shadow:0 0 0 1000px #fff inset;caret-color:#1e293b;-webkit-transition:background-color 9999s ease-out 0s;transition:background-color 9999s ease-out 0s}.auth-page .toggle-password{position:absolute;right:16px;background:none;border:none;cursor:pointer;padding:4px;color:#94a3b8;display:flex;align-items:center;transition:color .2s;border-radius:8px}.auth-page .toggle-password:hover{color:var(--color-primary);background:#f1f5f9}.auth-page .remember-label{display:flex;align-items:center;gap:10px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;margin-left:2px}.auth-page .remember-check{display:none}.auth-page .checkmark{width:20px;height:20px;border:2px solid #e2e8f0;border-radius:6px;background:#fff;display:flex;align-items:center;justify-content:center;transition:all .2s;position:relative}.auth-page .remember-check:checked+.checkmark{background:var(--color-primary);border-color:var(--color-primary)}.auth-page .remember-check:checked+.checkmark:after{content:"";position:absolute;width:5px;height:10px;border:2px solid white;border-top:none;border-left:none;transform:rotate(45deg) translateY(-1px)}.auth-page .remember-text{font-size:.95rem;color:#475569;font-weight:600}.auth-page .btn-primary{width:100%;padding:13px 16px;background:var(--color-primary);color:#fff;border:none;border-radius:18px;font-size:.95rem;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:12px;transition:all .3s cubic-bezier(.16,1,.3,1);box-shadow:0 12px 24px -8px #106c8666;margin-top:8px}.auth-page .btn-primary:hover:not(:disabled){background:#0d5a70;transform:translateY(-2px);box-shadow:0 16px 32px -8px #106c8680}.auth-page .btn-primary:active:not(:disabled){transform:translateY(0)}.auth-page .btn-primary:disabled{background:#94a3b8;box-shadow:none;cursor:not-allowed}.auth-page .spinner{width:20px;height:20px;border:3px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.auth-page .auth-footer{text-align:center;margin-top:32px;font-size:.95rem;color:#64748b;font-weight:500}.auth-page .auth-link{color:var(--color-primary);font-weight:800;text-decoration:none;transition:color .2s;margin-left:4px}.auth-page .auth-link:hover{color:#38bcd4;text-decoration:underline}
