.input-field{display:flex;flex-direction:column;width:100%}.input-field--full-width{width:100%}.input-field__label{display:block;margin-bottom:.5rem;font-weight:600;color:#2d3748;font-size:.9rem;transition:color .2s ease}.input-field__required{color:#e53e3e;margin-right:.25rem}.input-field__wrapper{position:relative;display:flex;align-items:center}.input-field__input{width:100%;border:2px solid #e2e8f0;border-radius:8px;font-size:1rem;transition:all .3s ease;background:#f8f9fa;color:#2d3748;font-family:inherit}.input-field__input:focus{outline:none;border-color:#667eea;background:#fff;box-shadow:0 0 0 3px rgba(102,126,234,.1)}.input-field__input::placeholder{color:#a0aec0}.input-field__input:disabled{background:#f7fafc;color:#a0aec0;cursor:not-allowed}.input-field__icon{position:absolute;color:#a0aec0;pointer-events:none;transition:color .2s ease}.input-field__icon--left{right:1rem;z-index:2}.input-field__password-toggle{position:absolute;left:1rem;background:none;border:none;color:#a0aec0;cursor:pointer;padding:.25rem;border-radius:4px;transition:color .2s ease;z-index:2;display:flex;align-items:center;justify-content:center}.input-field__password-toggle:hover{color:#667eea}.input-field__password-toggle:focus{outline:none;color:#667eea}.input-field__error-message{color:#e53e3e;font-size:.85rem;margin-top:.25rem;display:block;animation:slideDown .2s ease}.input-field--small .input-field__input{padding:.5rem 1rem;font-size:.875rem}.input-field--small .input-field__label{font-size:.8rem}.input-field--small .input-field__icon--left{right:.75rem}.input-field--small .input-field__password-toggle{left:.75rem}.input-field--medium .input-field__input{padding:.75rem 1rem}.input-field--medium.has-left-icon .input-field__input{padding-right:3rem}.input-field--medium.has-password-toggle .input-field__input{padding-left:3rem}.input-field--medium.has-left-icon.has-password-toggle .input-field__input{padding:.75rem 3rem}.input-field--large .input-field__input{padding:1rem 1.25rem;font-size:1.125rem}.input-field--large .input-field__label{font-size:1rem}.input-field--large .input-field__icon--left{right:1.25rem}.input-field--large .input-field__password-toggle{left:1.25rem}.input-field--large.has-left-icon .input-field__input{padding-right:3.5rem}.input-field--large.has-password-toggle .input-field__input{padding-left:3.5rem}.input-field--large.has-left-icon.has-password-toggle .input-field__input{padding:1rem 3.5rem}.input-field--focused .input-field__icon,.input-field--focused .input-field__label{color:#667eea}.input-field--error .input-field__input{border-color:#e53e3e;background:#fef5f5}.input-field--error .input-field__input:focus{border-color:#e53e3e;box-shadow:0 0 0 3px rgba(229,62,62,.1)}.input-field--error .input-field__icon,.input-field--error .input-field__label{color:#e53e3e}.input-field--disabled .input-field__label{color:#a0aec0}.input-field--disabled .input-field__icon{color:#cbd5e0}.input-field.has-left-icon .input-field__input{padding-right:3rem}.input-field.has-password-toggle .input-field__input{padding-left:3rem}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@media(prefers-color-scheme:dark){.input-field__label{color:#e2e8f0}.input-field__input{background:#4a5568;border-color:#718096;color:#fff}.input-field__input:focus{background:#4a5568;border-color:#667eea}.input-field__input::placeholder{color:#718096}.input-field__input:disabled{background:#2d3748;color:#718096}.input-field__icon,.input-field__password-toggle{color:#718096}.input-field--focused .input-field__icon,.input-field--focused .input-field__label,.input-field__password-toggle:focus,.input-field__password-toggle:hover{color:#90cdf4}.input-field--error .input-field__input{background:#742a2a;border-color:#e53e3e}.input-field--error .input-field__input:focus{background:#742a2a}.input-field--disabled .input-field__label{color:#718096}.input-field--disabled .input-field__icon{color:#4a5568}}[dir=rtl] .input-field__icon--left{right:auto;left:1rem}[dir=rtl] .input-field__password-toggle{left:auto;right:1rem}[dir=rtl] .input-field.has-left-icon .input-field__input{padding-right:1rem;padding-left:3rem}[dir=rtl] .input-field.has-password-toggle .input-field__input{padding-left:1rem;padding-right:3rem}[dir=rtl] .input-field.has-left-icon.has-password-toggle .input-field__input{padding:.75rem 3rem}[dir=rtl] .input-field--small .input-field__icon--left{left:.75rem;right:auto}[dir=rtl] .input-field--small .input-field__password-toggle{right:.75rem;left:auto}[dir=rtl] .input-field--large .input-field__icon--left{left:1.25rem;right:auto}[dir=rtl] .input-field--large .input-field__password-toggle{right:1.25rem;left:auto}