.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:#f8fafc;position:relative;overflow:hidden;padding:24px 16px;font-family:Inter,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:40px 36px;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(20px)}to{opacity:1;transform:translateY(0)}}.auth-page .auth-header{text-align:center;margin-bottom:28px}.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:1.75rem;font-weight:800;color:#1e293b;margin:0 0 8px;letter-spacing:-.025em}.auth-page .auth-subtitle{font-size:.875rem;color:#64748b;font-weight:500;line-height:1.5}.auth-page .alert{border-radius:10px;padding:10px 14px;font-size:.85rem;margin-bottom:16px}.auth-page .alert-error{background:#fee2e2;border:1px solid #fca5a5;color:#b91c1c}.auth-page .alert-success{background:#d1fae5;border:1px solid #6ee7b7;color:#065f46}.auth-page .auth-form{display:flex;flex-direction:column;gap:18px}.auth-page .form-group{display:flex;flex-direction:column;gap:8px}.auth-page .form-label{font-size:.82rem;font-weight:700;color:#475569;margin-left:2px}.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;pointer-events:none;transition:color .2s}.auth-page .form-input{width:100%;padding:11px 42px;border:2px solid #f1f5f9;border-radius:16px;font-size:.84rem;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::-moz-placeholder{color:#94a3b8;opacity:1}.auth-page .form-input::placeholder{color:#94a3b8;opacity:1}.auth-page .form-input.input-mismatch{border-color:#f87171;box-shadow:0 0 0 3px #f871711f}.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 .terms-text{font-size:.82rem;color:#64748b;margin:0}.auth-page .terms-link{color:var(--color-primary);font-weight:700;text-decoration:none;transition:color .2s}.auth-page .terms-link:hover{color:#38bcd4}.auth-page .btn-primary{width:100%;padding:12px 16px;background:var(--color-primary);color:#fff;border:none;border-radius:18px;font-size:.9rem;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:16px;height:16px;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.auth-page .auth-footer{text-align:center;margin-top:22px;font-size:.84rem;color:#64748b}.auth-page .auth-link{color:var(--color-primary);font-weight:700;text-decoration:none;transition:color .2s}.auth-page .auth-link:hover{color:#38bcd4}
