/* Reset Password Page Styles */ .ai-reset-container { max-width: 400px; margin: 50px auto 0 auto; padding: 40px 20px; background: #fff; border-radius: 12px; box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1); font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif; } .ai-reset-header { text-align: center; margin-bottom: 30px; } .ai-reset-header h2 { color: #1a1a1a; font-size: 28px; font-weight: 600; margin: 0 0 8px 0; line-height: 1.2; } .ai-reset-header p { color: #666; font-size: 16px; margin: 0; line-height: 1.5; } .ai-reset-form { margin-bottom: 20px; } .ai-form-group { margin-bottom: 20px; } .ai-form-group label { display: block; color: #333; font-size: 14px; font-weight: 500; margin-bottom: 8px; line-height: 1.4; } .ai-form-group input { width: 100%; padding: 12px 16px; border: 2px solid #e1e5e9; border-radius: 8px; font-size: 16px; transition: all 0.3s ease; box-sizing: border-box; background: #fff; color: #333; } .ai-form-group input:focus { outline: none; border-color: #007cba; box-shadow: 0 0 0 3px rgba(0, 124, 186, 0.1); } .ai-form-group input:invalid { border-color: #d63638; } .ai-submit-btn { width: 100%; padding: 14px 20px; background: linear-gradient(135deg, #007cba 0%, #005a87 100%); color: white; border: none; border-radius: 8px; font-size: 16px; font-weight: 600; cursor: pointer; transition: all 0.3s ease; display: flex; align-items: center; justify-content: center; gap: 8px; position: relative; overflow: hidden; } .ai-submit-btn:hover { background: linear-gradient(135deg, #005a87 0%, #004a6f 100%); transform: translateY(-1px); box-shadow: 0 4px 12px rgba(0, 124, 186, 0.3); } .ai-submit-btn:active { transform: translateY(0); box-shadow: 0 2px 8px rgba(0, 124, 186, 0.3); } .ai-submit-btn:disabled { background: #ccc; cursor: not-allowed; transform: none; box-shadow: none; } .ai-loading { width: 16px; height: 16px; border: 2px solid transparent; border-top: 2px solid currentColor; border-radius: 50%; animation: spin 1s linear infinite; } @keyframes spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } } .ai-back-to-signin { text-align: center; margin-top: 20px; } .ai-link { color: #007cba; text-decoration: none; font-size: 14px; font-weight: 500; transition: color 0.3s ease; } .ai-link:hover { color: #005a87; text-decoration: underline; } .ai-message { padding: 12px 16px; border-radius: 8px; margin: 20px 0; font-size: 14px; font-weight: 500; line-height: 1.4; } .ai-message.success { background: #d1f2eb; color: #0f5132; border: 1px solid #a8e6cf; } .ai-message.error { background: #f8d7da; color: #721c24; border: 1px solid #f5c6cb; } .ai-message.info { background: #d1ecf1; color: #0c5460; border: 1px solid #bee5eb; } .ai-message.warning { background: #fff3cd; color: #856404; border: 1px solid #ffeaa7; } /* Animation d'apparition */ .ai-fade-in { animation: fadeIn 0.5s ease-in-out; } @keyframes fadeIn { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } } /* Responsive Design */ @media (max-width: 480px) { .ai-reset-container { margin: 20px; padding: 30px 20px; border-radius: 8px; } .ai-reset-header h2 { font-size: 24px; } .ai-reset-header p { font-size: 14px; } .ai-form-group input { padding: 10px 14px; font-size: 16px; /* Évite le zoom sur iOS */ } .ai-submit-btn { padding: 12px 18px; font-size: 16px; } } /* Amélioration de l'accessibilité */ .ai-form-group input:focus-visible { outline: 2px solid #007cba; outline-offset: 2px; } .ai-submit-btn:focus-visible { outline: 2px solid #007cba; outline-offset: 2px; } /* États de chargement */ .ai-submit-btn.loading { pointer-events: none; } /* Amélioration des contrastes pour l'accessibilité */ .ai-form-group label { color: #2c3e50; } .ai-form-group input { color: #2c3e50; } .ai-reset-header h2 { color: #2c3e50; } /* Support pour les thèmes sombres (si nécessaire) */ @media (prefers-color-scheme: dark) { .ai-reset-container { background: #2c3e50; color: #ecf0f1; } .ai-reset-header h2 { color: #ecf0f1; } .ai-reset-header p { color: #bdc3c7; } .ai-form-group label { color: #ecf0f1; } .ai-form-group input { background: #34495e; border-color: #7f8c8d; color: #ecf0f1; } .ai-form-group input:focus { border-color: #3498db; } }