body { font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; background-color: #f5f7fa; display: flex; justify-content: center; align-items: center; min-height: 100vh; margin: 0; padding: 20px; } .form-container { background-color: white; border-radius: 8px; box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1); padding: 30px; width: 100%; max-width: 450px; } h2 { color: #2c3e50; margin-top: 0; margin-bottom: 25px; text-align: center; font-weight: 600; } .form-group { margin-bottom: 20px; } label { display: block; margin-bottom: 8px; color: #4a5568; font-weight: 500; font-size: 0.95rem; } input, select { width: 100%; padding: 12px; margin: 12px; border: 1px solid #ddd; border-radius: 6px; font-size: 1rem; transition: border-color 0.3s, box-shadow 0.3s; box-sizing: border-box; } input:focus, select:focus { border-color: #4299e1; box-shadow: 0 0 0 3px rgba(66, 153, 225, 0.2); outline: none; } select { appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%234a5568' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 12px center; background-size: 16px; padding-right: 40px; } button { background-color: #4299e1; color: white; border: none; border-radius: 6px; padding: 12px 24px; font-size: 1rem; font-weight: 600; cursor: pointer; width: 100%; transition: background-color 0.3s, transform 0.1s; } button:hover { background-color: #3182ce; } button:active { transform: translateY(1px); } /* Optional: Add some animation effects */ @keyframes fadeIn { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } } .form-container { animation: fadeIn 0.5s ease-out; } /* Add validation styling */ input:invalid, select:invalid { border-color: #e53e3e; } /* Add success message styling */ .success-message { background-color: #c6f6d5; color: #2f855a; padding: 12px; border-radius: 6px; margin-bottom: 20px; text-align: center; } /* Add error message styling */ .error-message { background-color: #fed7d7; color: #c53030; padding: 12px; border-radius: 6px; margin-bottom: 20px; text-align: center; }