.auth-container { min-height: 100vh; display: flex; align-items: center; justify-content: center; background-color: var(--background-color); padding: 2rem; } .auth-card { background-color: var(--surface-color); padding: 2.5rem; border-radius: 1rem; box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06); width: 100%; max-width: 450px; border: 1px solid var(--border-color); } .auth-header { text-align: center; margin-bottom: 2rem; } .auth-header h2 { font-size: 1.75rem; margin-bottom: 0.5rem; color: var(--text-primary); } .auth-header p { color: var(--text-secondary); } .auth-error { background-color: #fef2f2; border: 1px solid #fecaca; color: #ef4444; padding: 0.75rem 1rem; border-radius: 0.5rem; margin-bottom: 1.5rem; display: flex; align-items: center; gap: 0.75rem; font-size: 0.875rem; } .auth-form { display: flex; flex-direction: column; gap: 1.5rem; } .form-group { display: flex; flex-direction: column; gap: 0.5rem; } .form-group label { font-size: 0.875rem; font-weight: 500; color: var(--text-primary); } .input-wrapper { position: relative; display: flex; align-items: center; } .input-icon { position: absolute; left: 1rem; color: var(--text-secondary); pointer-events: none; } .input-wrapper input { width: 100%; padding: 0.75rem 1rem 0.75rem 2.75rem; border: 1px solid var(--border-color); border-radius: 0.5rem; font-size: 1rem; transition: all 0.2s; font-family: inherit; } .input-wrapper input:focus { outline: none; border-color: var(--primary-color); box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.1); } .btn-block { width: 100%; padding: 0.875rem; font-size: 1rem; margin-top: 0.5rem; } .btn-block:disabled { opacity: 0.7; cursor: not-allowed; } .auth-footer { margin-top: 2rem; text-align: center; font-size: 0.875rem; color: var(--text-secondary); } .auth-footer a { color: var(--primary-color); font-weight: 500; } .auth-footer a:hover { text-decoration: underline; }