/* Status messages */ .status-container { position: fixed; top: calc(var(--header-height) + 20px); left: 50%; transform: translateX(-50%); z-index: 12300; max-width: 400px; width: 90%; } .status-message { padding: 12px 20px; border-radius: var(--border-radius); margin-bottom: 10px; display: flex; align-items: center; gap: 10px; animation: slideIn 0.3s ease; box-shadow: 0 2px 8px rgba(0,0,0,0.1); } @keyframes slideIn { from { opacity: 0; transform: translateY(-20px); } to { opacity: 1; transform: translateY(0); } } .status-message.success { background-color: var(--success-color); color: white; } .status-message.error { background-color: var(--danger-color); color: white; } .status-message.warning { background-color: var(--warning-color); color: white; } .status-message.info { background-color: var(--primary-color); color: white; } /* Loading overlay */ .loading-overlay { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(255,255,255,0.9); display: flex; flex-direction: column; align-items: center; justify-content: center; z-index: 15000; /* Higher than everything else during auth */ } /* Enhanced loading for authentication state */ body.authenticating .loading-overlay { background-color: rgba(255,255,255,0.98); backdrop-filter: blur(2px); z-index: 15000; } .loading-overlay.hidden { display: none; } .spinner { width: 50px; height: 50px; border: 3px solid var(--light-color); border-top-color: var(--primary-color); border-radius: 50%; animation: spin 1s linear infinite; } @keyframes spin { to { transform: rotate(360deg); } } .loading-overlay p { margin-top: 20px; color: var(--dark-color); font-size: 16px; } .loading-patience-message { margin-top: 10px !important; font-size: 14px !important; color: #666 !important; max-width: 320px; text-align: center; line-height: 1.4; opacity: 0.85; padding: 0 20px; /* Add padding for mobile */ } /* Better spinner animation during auth */ body.authenticating .spinner { width: 60px; height: 60px; border: 4px solid var(--light-color); border-top-color: var(--primary-color); border-radius: 50%; animation: spin 1s linear infinite; } /* Larger text during authentication */ body.authenticating .loading-overlay p:first-of-type { font-size: 18px; font-weight: 500; color: var(--primary-color); }