 @keyframes float-nebula {

     0%,
     100% {
         transform: translate(-15px, -15px) scale(1);
     }

     50% {
         transform: translate(15px, 15px) scale(1.08);
     }
 }

 @keyframes float-nebula-delayed {

     0%,
     100% {
         transform: translate(15px, 15px) scale(1.08);
     }

     50% {
         transform: translate(-15px, -15px) scale(1);
     }
 }

 .animate-nebula-1 {
     animation: float-nebula 9s ease-in-out infinite;
 }

 .animate-nebula-2 {
     animation: float-nebula-delayed 9s ease-in-out infinite;
 }

 /* Custom overrides to ensure absolute premium layout consistency */
 #authModalOverlay {
     display: none;
 }

 .auth-custom-card {
     max-width: 440px !important;
     width: 100% !important;
     border-radius: 24px !important;
     backdrop-filter: blur(20px) !important;
     -webkit-backdrop-filter: blur(20px) !important;
     padding-top: 4.25rem !important;
 }

 .auth-input-wrapper {
     position: relative !important;
     width: 100%;
     margin-top: 6px !important;
 }

 .auth-input-field {
     padding-left: 2.85rem !important;
     padding-right: 2.85rem !important;
     transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
 }

 .auth-input-field:focus {
     border-color: #3b82f6 !important;
     box-shadow: 0 0 0 4px rgba(59, 130, 246, 0.1) !important;
 }

 .auth-input-icon {
     position: absolute !important;
     left: 1.1rem !important;
     top: 50% !important;
     transform: translateY(-50%) !important;
     transition: color 0.2s ease !important;
     pointer-events: none !important;
     display: flex !important;
     align-items: center !important;
     justify-content: center !important;
 }

 .auth-input-wrapper:focus-within .auth-input-icon {
     color: #3b82f6 !important;
 }

 /* Segmented tab styling */
 .auth-tab-bar {
     display: flex !important;
     padding: 4px !important;
     background: rgba(15, 23, 42, 0.05) !important;
     border-radius: 16px !important;
     border: 1px solid rgba(15, 23, 42, 0.05) !important;
 }

 .dark .auth-tab-bar {
     background: rgba(2, 6, 23, 0.4) !important;
     border: 1px solid rgba(255, 255, 255, 0.05) !important;
 }

 .auth-tab-btn {
     flex: 1 !important;
     padding: 10px 0 !important;
     font-size: 14px !important;
     font-weight: 600 !important;
     border-radius: 12px !important;
     transition: all 0.2s ease !important;
     text-align: center !important;
     border: none !important;
     background: transparent !important;
 }

 .auth-tab-btn.active {
     background: #ffffff !important;
     color: #0f172a !important;
     box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1), 0 1px 2px rgba(0, 0, 0, 0.06) !important;
 }

 .dark .auth-tab-btn.active {
     background: #1e293b !important;
     color: #ffffff !important;
     box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.2), 0 2px 4px -1px rgba(0, 0, 0, 0.1) !important;
 }

 .auth-tab-btn:not(.active) {
     color: #64748b !important;
 }

 .dark .auth-tab-btn:not(.active) {
     color: #94a3b8 !important;
 }

 /* Password field layout and toggle button */
 .auth-pass-toggle {
     position: absolute !important;
     right: 1.1rem !important;
     top: 50% !important;
     transform: translateY(-50%) !important;
     cursor: pointer !important;
     padding: 4px !important;
     color: #94a3b8 !important;
     transition: color 0.2s ease !important;
     background: transparent !important;
     border: none !important;
     display: flex !important;
     align-items: center !important;
     justify-content: center !important;
 }

 .auth-pass-toggle:hover {
     color: #475569 !important;
 }

 .dark .auth-pass-toggle:hover {
     color: #cbd5e1 !important;
 }

 /* OTP fields styling overrides */
 .auth-otp-input {
     letter-spacing: 0.4em !important;
     text-indent: 0.2em !important;
     font-size: 28px !important;
     font-weight: 850 !important;
     padding: 14px !important;
 }