.auth-container { max-width: 500px; margin: 50px auto; padding: 40px; background: white; border-radius: 12px; box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1); } .auth-container h2 { text-align: center; margin-bottom: 30px; color: #333; font-size: 2em; font-weight: 600; } .auth-form { display: flex; flex-direction: column; gap: 25px; } .form-group { display: flex; flex-direction: column; gap: 8px; } .form-group label { font-weight: 500; color: #555; font-size: 1em; } .form-control { padding: 14px 16px; border: 2px solid #e1e5e9; border-radius: 8px; font-size: 1em; transition: all 0.3s; width: 100%; box-sizing: border-box; } .form-control:focus { outline: none; border-color: #007bff; box-shadow: 0 0 0 3px rgba(0, 123, 255, 0.1); } .form-control:hover { border-color: #b0b7c3; } .password-container { position: relative; } .toggle-password { position: absolute; right: 15px; top: 50%; transform: translateY(-50%); background: none; border: none; color: #666; cursor: pointer; font-size: 1.2em; } .toggle-password:hover { color: #333; } .btn-submit { padding: 16px; background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); color: white; border: none; border-radius: 8px; font-size: 1.1em; font-weight: 600; cursor: pointer; transition: all 0.3s; margin-top: 10px; } .btn-submit:hover { transform: translateY(-2px); box-shadow: 0 7px 20px rgba(102, 126, 234, 0.3); } .btn-submit:active { transform: translateY(0); } .auth-links { text-align: center; margin-top: 25px; padding-top: 20px; border-top: 1px solid #e9ecef; } .auth-link { color: #007bff; text-decoration: none; font-weight: 500; display: block; margin: 10px 0; } .auth-link:hover { text-decoration: underline; } .remember-me { display: flex; align-items: center; gap: 8px; margin: 10px 0; } .remember-me input[type="checkbox"] { width: 18px; height: 18px; } .error-message { background: rgba(220, 53, 69, 0.1); color: #dc3545; padding: 12px; border-radius: 6px; margin-bottom: 20px; border-left: 4px solid #dc3545; } .success-message { background: rgba(40, 167, 69, 0.1); color: #28a745; padding: 12px; border-radius: 6px; margin-bottom: 20px; border-left: 4px solid #28a745; } .flash-messages { max-width: 500px; margin: 20px auto; } .flash { padding: 12px 20px; border-radius: 6px; margin-bottom: 15px; font-weight: 500; } .flash.success { background: rgba(40, 167, 69, 0.1); color: #28a745; border-left: 4px solid #28a745; } .flash.error, .flash.danger { background: rgba(220, 53, 69, 0.1); color: #dc3545; border-left: 4px solid #dc3545; } .flash.info { background: rgba(23, 162, 184, 0.1); color: #17a2b8; border-left: 4px solid #17a2b8; } .flash.warning { background: rgba(255, 193, 7, 0.1); color: #ffc107; border-left: 4px solid #ffc107; } .social-login { margin-top: 30px; text-align: center; } .social-divider { display: flex; align-items: center; margin: 20px 0; color: #666; } .social-divider::before, .social-divider::after { content: ''; flex: 1; height: 1px; background: #e9ecef; } .social-divider span { padding: 0 15px; } .social-buttons { display: flex; gap: 15px; justify-content: center; } .btn-social { flex: 1; padding: 12px; border: 2px solid #e9ecef; border-radius: 8px; background: white; display: flex; align-items: center; justify-content: center; gap: 10px; font-weight: 500; cursor: pointer; transition: all 0.3s; max-width: 200px; } .btn-social:hover { background: #f8f9fa; border-color: #007bff; } .btn-social.google { color: #db4437; } .btn-social.facebook { color: #4267B2; } @media (max-width: 768px) { .auth-container { margin: 20px; padding: 30px 20px; } .auth-container h2 { font-size: 1.5em; } .social-buttons { flex-direction: column; } .btn-social { max-width: 100%; } } .password-strength { margin-top: 5px; height: 4px; border-radius: 2px; background: #e9ecef; overflow: hidden; } .strength-bar { height: 100%; transition: width 0.3s, background 0.3s; } .strength-weak { background: #dc3545; width: 25%; } .strength-medium { background: #ffc107; width: 50%; } .strength-strong { background: #28a745; width: 75%; } .strength-very-strong { background: #28a745; width: 100%; } .password-hints { font-size: 0.85em; color: #666; margin-top: 5px; } .password-hints ul { margin: 5px 0; padding-left: 20px; } .terms { display: flex; align-items: flex-start; gap: 10px; margin: 15px 0; font-size: 0.9em; color: #666; } .terms input[type="checkbox"] { margin-top: 3px; } .terms a { color: #007bff; text-decoration: none; } .terms a:hover { text-decoration: underline; }