input{width:100%;padding:.75rem 1rem;font-size:var(--text-base);line-height:1.5;color:var(--color-input-text);background-color:var(--color-input-bg);border:1px solid var(--color-input-border);border-radius:.5rem;transition:all .2s ease-in-out;outline:none;font-family:inherit;&::placeholder{color:var(--color-input-placeholder);opacity:1}&:focus{border-color:var(--color-input-focus);box-shadow:0 0 0 3px rgba(32,231,163,.1);background-color:var(--color-input-bg)}&:hover:not(:disabled):not(:focus){border-color:var(--color-border-hover)}&.error,&[aria-invalid=true]{border-color:var(--color-danger);box-shadow:0 0 0 3px rgba(222,90,59,.1)}&.success{border-color:var(--color-success);box-shadow:0 0 0 3px rgba(105,186,108,.1)}&:disabled{background-color:var(--color-input-disabled-bg);color:var(--color-input-disabled-text);border-color:var(--color-border-default);cursor:not-allowed;opacity:.6}&:read-only{background-color:var(--color-bg-box);border-color:var(--color-border-default);cursor:default}}input[type=number]{-webkit-appearance:none;-moz-appearance:textfield;&::-webkit-inner-spin-button,&::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}}input[type=file]{padding:.5rem;border:2px dashed var(--color-border-default);background-color:var(--color-bg-box);cursor:pointer;&:hover{border-color:var(--color-border-hover);background-color:var(--color-bg-hover)}&:focus{border-color:var(--color-input-focus);border-style:solid}}label{display:block;font-size:.875rem;font-weight:600;color:var(--color-text-heading);margin-bottom:.5rem;line-height:1.4;&.required:after,&[data-required=true]:after{content:" *";color:var(--color-danger);font-weight:500}&.optional:after{content:" (opcional)";color:var(--color-text-caption);font-weight:400;font-size:.8rem}&.disabled,&[data-disabled=true]{color:var(--color-text-disabled);opacity:.6}&.error{color:var(--color-danger)}&.success{color:var(--color-success)}}label.inline{display:inline-flex;align-items:center;font-weight:400;margin-bottom:0;cursor:pointer;input[type=checkbox],input[type=radio]{margin-right:.5rem;margin-bottom:0}}.form-group{margin-bottom:1.5rem;&:last-child{margin-bottom:0}}.helper-text{font-size:.8rem;color:var(--color-text-caption);margin-top:.25rem;line-height:1.4}.error-text{color:var(--color-danger)}.error-text,.success-text{font-size:.8rem;margin-top:.25rem;line-height:1.4;display:flex;align-items:center;gap:.25rem}.success-text{color:var(--color-success)}input[type=checkbox],input[type=radio]{width:1rem;height:1rem;margin:0;padding:0;border:2px solid var(--color-input-border);background-color:var(--color-input-bg);cursor:pointer;transition:all .2s ease-in-out;&:focus{outline:none;border-color:var(--color-input-focus);box-shadow:0 0 0 3px rgba(32,231,163,.1)}&:checked{background-color:var(--color-primary);border-color:var(--color-primary)}&:disabled{background-color:var(--color-input-disabled-bg);border-color:var(--color-border-default);cursor:not-allowed;opacity:.6}}input[type=checkbox]{border-radius:.25rem;&:checked{background-image:url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='m13.854 3.646-7.5 7.5a.5.5 0 0 1-.708 0l-3.5-3.5a.5.5 0 1 1 .708-.708L6 10.293l7.146-7.147a.5.5 0 0 1 .708.708z'/%3e%3c/svg%3e");background-size:.75rem;background-position:50%;background-repeat:no-repeat}}input[type=radio]{border-radius:50%;&:checked{background-image:url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3ccircle cx='8' cy='8' r='3'/%3e%3c/svg%3e");background-size:.5rem;background-position:50%;background-repeat:no-repeat}}textarea{width:100%;min-height:6rem;padding:.75rem 1rem;font-size:var(--text-base);line-height:1.5;color:var(--color-input-text);background-color:var(--color-input-bg);border:1px solid var(--color-input-border);border-radius:.5rem;transition:all .2s ease-in-out;outline:none;font-family:inherit;resize:vertical;&::placeholder{color:var(--color-input-placeholder);opacity:1}&:focus{border-color:var(--color-input-focus);box-shadow:0 0 0 3px rgba(32,231,163,.1)}&:hover:not(:disabled):not(:focus){border-color:var(--color-border-hover)}&.error,&[aria-invalid=true]{border-color:var(--color-danger);box-shadow:0 0 0 3px rgba(222,90,59,.1)}&:disabled{background-color:var(--color-input-disabled-bg);color:var(--color-input-disabled-text);border-color:var(--color-border-default);cursor:not-allowed;opacity:.6;resize:none}}select{width:100%;font-size:var(--text-base);line-height:1.5;color:var(--color-input-text);background-color:var(--color-input-bg);border:1px solid var(--color-input-border);border-radius:.5rem;transition:all .2s ease-in-out;outline:none;font-family:inherit;cursor:pointer;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3e%3c/svg%3e");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.5rem 1.5rem;padding:.75rem 2.5rem .75rem 1rem;&:focus{border-color:var(--color-input-focus);box-shadow:0 0 0 3px rgba(32,231,163,.1)}&:hover:not(:disabled):not(:focus){border-color:var(--color-border-hover)}&.error,&[aria-invalid=true]{border-color:var(--color-danger);box-shadow:0 0 0 3px rgba(222,90,59,.1)}&:disabled{background-color:var(--color-input-disabled-bg);color:var(--color-input-disabled-text);border-color:var(--color-border-default);cursor:not-allowed;opacity:.6}}