.textfield-container{display:flex;flex-direction:column;gap:5px;width:100%;max-width:500px;position:relative;font-family:system-ui;text-align:left}.textfield-full-width{max-width:100%}.textfield-wrapper{position:relative;width:100%;cursor:text}.textfield-input{width:100%;min-width:70px;padding:12px 15px;background-color:#fff;border:1px solid #ced4da;border-radius:6px;font-size:14px;color:#333;font-family:system-ui;transition:all .2s ease;outline:none;position:relative;z-index:1}.textfield-input:focus{border-color:#0056b3;box-shadow:0 0 0 2px rgba(0,123,255,.25)}.textfield-input:hover{border-color:#0056b3}.textfield-label{position:absolute;left:15px;top:50%;transform:translateY(-50%);background-color:#fff;padding:0 4px;color:#555;font-size:14px;font-weight:500;transition:all .2s ease;pointer-events:none;z-index:2;font-family:system-ui}.textfield-label-floating{top:0;transform:translateY(-50%);font-size:12px;color:#007bff;font-weight:600}.textfield-required{color:#dc3545;margin-left:2px}.textfield-password-toggle{position:absolute;right:15px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;padding:4px;color:#007bff;z-index:3;display:flex;align-items:center;justify-content:center;transition:color .2s ease}.textfield-password-toggle:hover{color:#0056b3}.textfield-password-toggle:disabled{color:#6c757d;cursor:not-allowed}.textfield-eye-icon{width:16px;height:16px}.textfield-error .textfield-input{border-color:#dc3545}.textfield-error .textfield-input:focus{border-color:#dc3545;box-shadow:0 0 0 2px rgba(220,53,69,.25)}.textfield-error .textfield-label-floating{color:#dc3545}.textfield-error-message{color:#dc3545;font-size:12px;font-weight:500;margin-top:2px;font-family:system-ui}.textfield-disabled .textfield-input{background-color:#f8f9fa;border-color:#dee2e6;color:#6c757d;cursor:not-allowed}.textfield-disabled .textfield-input:hover{border-color:#dee2e6}.textfield-disabled .textfield-label,.textfield-disabled .textfield-label-floating{color:#6c757d}.textfield-size-small .textfield-input{padding:8px 12px;font-size:13px}.textfield-size-tiny .textfield-input{padding:6px 10px;font-size:13px;max-width:70px}.textfield-size-small .textfield-label{font-size:13px;left:12px}.textfield-size-small .textfield-label-floating{font-size:11px}.textfield-size-small .textfield-password-toggle{right:12px}.textfield-size-medium .textfield-input{padding:10px 12px;font-size:14px}.textfield-size-medium .textfield-label{font-size:14px;left:12px}.textfield-size-medium .textfield-label-floating{font-size:12px}.textfield-size-medium .textfield-password-toggle{right:12px}.textfield-size-large .textfield-input{padding:16px 18px;font-size:16px}.textfield-size-large .textfield-label{font-size:16px;left:18px}.textfield-size-large .textfield-label-floating{font-size:14px}.textfield-size-large .textfield-password-toggle{right:18px}.textfield-textarea{resize:vertical;min-height:100px;line-height:1.5}.textfield-wrapper:focus-within .textfield-input{border-color:#0056b3;box-shadow:0 0 0 2px rgba(0,123,255,.25)}@media (max-width:480px){.textfield-container{max-width:100%}.textfield-input{padding:10px 12px;font-size:13px}.textfield-label{font-size:13px;left:12px}.textfield-label-floating{font-size:11px}.textfield-password-toggle{right:12px}}