/* Premium Auth Styles - Aadhaar Pro */ .auth-page { min-height: 100vh; display: flex; flex-direction: column; /* Soft blurred background matching the theme */ background: radial-gradient(circle at top left, rgba(67, 97, 238, 0.15) 0%, transparent 40%), radial-gradient(circle at bottom right, rgba(247, 37, 133, 0.15) 0%, transparent 40%), var(--bg-color); } [data-theme='dark'] .auth-page { background: radial-gradient(circle at top left, rgba(67, 97, 238, 0.2) 0%, transparent 40%), radial-gradient(circle at bottom right, rgba(247, 37, 133, 0.1) 0%, transparent 40%), var(--bg-color); } /* Auth Header */ .auth-header { width: 100%; padding: 20px 50px; display: flex; justify-content: space-between; align-items: center; background: rgba(255, 255, 255, 0.1); backdrop-filter: blur(15px); -webkit-backdrop-filter: blur(15px); border-bottom: 1px solid rgba(255, 255, 255, 0.2); box-shadow: 0 4px 30px rgba(0, 0, 0, 0.05); z-index: 10; } [data-theme='dark'] .auth-header { background: rgba(15, 20, 35, 0.6); border-bottom: 1px solid rgba(255, 255, 255, 0.05); } .auth-logo { display: flex; align-items: center; gap: 12px; font-size: 1.5rem; font-weight: 700; color: var(--text-color); text-decoration: none; } .auth-logo i { color: var(--primary-color); background: var(--primary-gradient); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; font-size: 1.8rem; } .auth-nav { display: flex; gap: 15px; align-items: center; } .auth-nav-btn { padding: 10px 24px; border-radius: 12px; font-weight: 600; text-decoration: none; transition: all 0.3s ease; font-size: 0.95rem; } .auth-nav-btn.outline { border: 2px solid var(--border-color); color: var(--text-color); background: transparent; } .auth-nav-btn.outline:hover { border-color: var(--primary-color); color: var(--primary-color); background: rgba(67, 97, 238, 0.05); } .auth-nav-btn.solid { background: var(--primary-gradient); color: #fff; box-shadow: 0 4px 15px rgba(67, 97, 238, 0.3); border: 2px solid transparent; } .auth-nav-btn.solid:hover { transform: translateY(-2px); box-shadow: 0 8px 25px rgba(67, 97, 238, 0.4); } /* Main Body holding Card */ .auth-main { flex: 1; display: flex; align-items: center; justify-content: center; padding: 40px 20px; } /* Premium Glassmorphism Card */ .auth-card { position: relative; background: rgba(255, 255, 255, 0.85); backdrop-filter: blur(25px); -webkit-backdrop-filter: blur(25px); max-width: 480px; width: 100%; padding: 50px 45px; border-radius: 28px; border: 1px solid rgba(255, 255, 255, 0.6); box-shadow: 0 30px 60px rgba(0, 0, 0, 0.08), 0 0 0 1px inset rgba(255, 255, 255, 0.8); animation: authSlideUp 0.7s cubic-bezier(0.16, 1, 0.3, 1) forwards; overflow: hidden; } [data-theme='dark'] .auth-card { background: rgba(20, 25, 45, 0.7); border: 1px solid rgba(255, 255, 255, 0.1); box-shadow: 0 30px 60px rgba(0, 0, 0, 0.4), 0 0 0 1px inset rgba(255, 255, 255, 0.05); } /* Decorative Orbs inside card for extra premium feel */ .auth-card::before { content: ''; position: absolute; top: -60px; right: -60px; width: 200px; height: 200px; background: var(--primary-color); filter: blur(80px); opacity: 0.15; z-index: 0; border-radius: 50%; pointer-events: none; } .auth-card::after { content: ''; position: absolute; bottom: -60px; left: -60px; width: 200px; height: 200px; background: var(--secondary-color); filter: blur(90px); opacity: 0.15; z-index: 0; border-radius: 50%; pointer-events: none; } .auth-card > * { position: relative; z-index: 1; } .auth-brand { text-align: center; margin-bottom: 35px; } .logo-icon { font-size: 52px; margin-bottom: 15px; display: inline-block; filter: drop-shadow(0 10px 15px rgba(67,97,238,0.25)); animation: floatingIcon 3s ease-in-out infinite; } @keyframes floatingIcon { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-8px); } } .auth-brand h2 { font-size: 2rem; font-weight: 800; margin-bottom: 8px; background: var(--primary-gradient); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; } .auth-brand p { color: var(--text-muted); font-size: 1rem; font-weight: 500; } .auth-footer { text-align: center; margin-top: 35px; color: var(--text-muted); font-size: 0.95rem; } .auth-footer a { color: var(--primary-color); font-weight: 700; text-decoration: none; transition: color 0.3s ease; } .auth-footer a:hover { color: var(--secondary-color); text-decoration: underline; } .btn-auth { width: 100%; height: 55px; border-radius: 14px; background: var(--primary-gradient); color: #fff; border: none; font-size: 1.05rem; font-weight: 700; cursor: pointer; transition: all 0.3s ease; box-shadow: 0 10px 25px rgba(67, 97, 238, 0.3); display: flex; justify-content: center; align-items: center; gap: 10px; } .btn-auth:hover { transform: translateY(-3px); box-shadow: 0 15px 35px rgba(67, 97, 238, 0.45); } @keyframes authSlideUp { 0% { opacity: 0; transform: translateY(50px) scale(0.96); } 100% { opacity: 1; transform: translateY(0) scale(1); } } @media (max-width: 600px) { .auth-header { padding: 15px 20px; } .auth-nav-btn { padding: 8px 16px; font-size: 0.85rem; } .auth-logo { font-size: 1.2rem; } .auth-logo i { font-size: 1.4rem; } .auth-card { padding: 40px 25px; border-radius: 20px; } .auth-brand h2 { font-size: 1.7rem; } } /* Premium Auth Inputs */ .form-group label { display: block; margin-bottom: 8px; font-weight: 600; color: var(--text-color); font-size: 0.95rem; } .input-auth { width: 100%; padding: 16px 20px; font-size: 1.05rem; font-weight: 500; font-family: 'Outfit', sans-serif; color: var(--text-color); background: rgba(255, 255, 255, 0.5); border: 2px solid rgba(255, 255, 255, 0.8); border-radius: 14px; box-shadow: inset 0 2px 5px rgba(0,0,0,0.02); transition: all 0.3s ease; outline: none; backdrop-filter: blur(10px); box-sizing: border-box; } [data-theme='dark'] .input-auth { background: rgba(15, 23, 42, 0.4); border-color: rgba(255, 255, 255, 0.05); color: var(--text-color); } .input-auth:focus { background: var(--card-bg); border-color: var(--primary-color); box-shadow: 0 0 0 4px rgba(67, 97, 238, 0.15); } /* Auth Inline Error */ .auth-error { background: rgba(247, 37, 133, 0.1); border: 1px solid rgba(247, 37, 133, 0.3); color: #f72585; padding: 12px 16px; border-radius: 12px; margin-bottom: 25px; font-size: 0.95rem; font-weight: 500; text-align: center; backdrop-filter: blur(5px); display: flex; align-items: center; justify-content: center; gap: 10px; } .auth-error a { color: inherit; font-weight: 700; text-decoration: underline; } @keyframes errorShake { 0%, 100% { transform: translateX(0); } 25% { transform: translateX(-8px); } 50% { transform: translateX(8px); } 75% { transform: translateX(-8px); } }