/* Estilos del formulario modernizados */
input[type="file"]{display: none;}
input[type="radio"]{cursor: pointer;}
textarea.form_input{min-height: 153px;resize: none;padding-top: 12px;padding-bottom: 12px;}
div.form_input{line-height: 48px;overflow: hidden;text-overflow: ellipsis;white-space: nowrap;}
.form_label.x1{width: 100%;}
.form_label.x2{width: calc(50% - 10px);}
.form_label.x3{width: calc((100% / 3) - (40px / 3));}
.form_label.x4{width: calc((100% / 4) - (60px / 4));}
.form_label, .form_list{min-height: 48px;display: flex;font-size: 14px;border-radius: 12px;position: relative;color: var(--text_1);border: 1px solid var(--border_2);background: var(--background_1);transition: all 0.2s ease;}
.form_label:hover, .form_list:hover {border-color: var(--border_3);box-shadow: 0 0 0 3px rgba(31, 64, 135, 0.05);}
.form_label:focus-within, .form_list:focus-within {border-color: var(--primary);box-shadow: 0 0 0 3px rgba(31, 64, 135, 0.1);}
.form_input{width: 100%;height: 100%;padding: 0 16px 0 8px;font-size: 12px;z-index: 1;color: var(--text_1);font-weight: 500;background: transparent;}
.form_input::placeholder {color: var(--text_3);opacity: 0.7;}
.form_input.upper{text-transform: uppercase !important;}
.form_input.lower{text-transform: lowercase !important;}
.form_grid{width: 100%;display: flex;flex-wrap: wrap;gap: 20px;}
.form_list{width: 100%;height: auto;flex-direction: column;gap: 8px;padding: 16px;min-height: 48px;}
.form_text{top: 12px;left: 48px;margin: auto;position: absolute;color: var(--text_3);background: var(--background_1);transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);font-weight: 500;font-size: 12px;padding: 0 8px;border-radius: 6px;pointer-events: none;}
.form_icon{width: 48px;min-width: 48px;font-size: 16px;height: 100%;display: flex;align-items: center;justify-content: center;border-radius: 10px 0 0 10px;color: var(--text_3);background: var(--background_2);transition: all 0.2s ease;}
.form_eyes{top: 8px;right: 8px;bottom: 8px;width: 32px;height: 32px;margin: auto;border-radius: 8px;position: absolute;z-index: 2;border: 1px solid var(--border_2);background: var(--background_2);color: var(--text_3);transition: all 0.2s ease;}
.form_eyes:hover, .form_eyes:focus{color: white;background: var(--primary);border-color: var(--primary);transform: scale(1.05);}
.form_menu{display: flex;width: 100%;gap: 10px;flex-direction: column;}
.form_menu .table_btns{height: 40px;font-size: 14px;border-radius: 8px;background: var(--gradient_soft);}
.form_menu .table_icon{width: 40px;min-width: 40px;height: 40px;}
.form_menu .table_btns:hover {background: var(--gradient_primary);color: white;}
.form_btns_group{width: 100%;display: flex;gap: 20px;}
.form_btns{
    width: 100%;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    border-radius: 12px;
    color: white;
    background: var(--gradient_primary);
    font-size: 14px;
    font-weight: 500;
    transition: all 0.2s ease;
}
.form_btns:hover, .form_btns:focus{box-shadow: 0 8px 15px rgba(31, 64, 135, 0.2);transform: translateY(-2px);}
/* Estilos del titulo y separador del formulario */
.form_title{width: 100%;font-size: 16px;font-weight: 600;color: var(--text_1);}
.form_divider{width: 100%;height: 1px;background: var(--border_2);}
/* Estilos del formulario activo mejorados */
.form_list.active .form_text{left: 15px;z-index: 2;}
.form_label.active .form_text{left: 48px;z-index: 2;}
.form_label.active .form_text, .form_list.active .form_text{top: -11px;font-size: 12px;color: var(--primary);}
.form_label.active .form_icon, .form_list.active .form_icon {background: var(--gradient_primary);color: white;}
/* Input radio */
.form_radio_group{display: flex;gap: 4px;flex-wrap: wrap;}
.form_radio_title{width: 100%;font-size: 12px;font-weight: 500;}
.form_radio_label{display: flex;align-items: center;gap: 8px;padding: 4px 8px;border: 1px solid var(--border_2);border-radius: 8px;cursor: pointer;transition: all 0.2s ease;font-size: 12px;margin-right: 8px;}
.form_radio_label:hover{border-color: var(--border_3);box-shadow: 0 0 0 3px rgba(31, 64, 135, 0.05);}
.form_radio_input{display: none;}
/* Switch */
.switch{width: 60px;height: 30px;border-radius: 16px;position: relative;cursor: pointer;transition: all 0.2s ease;background: var(--text_3);border: 1px solid var(--border_3);margin: auto;}
.switch_status{width: 22px;height: 22px;border-radius: 50%;position: absolute;left: 4px;top: 0;bottom: 0;margin: auto;background: white;transition: all 0.2s ease;}
.switch.active{background: var(--gradient_primary);}
.switch.active .switch_status{left: 30px;}
/* Responsive mejorado */
@media screen and (max-width: 650px) {
    .form_label.x2, .form_label.x3, .form_label.x4{width: 100%;}
    .form_grid{gap: 16px;}
    .form_btns_group{flex-direction: column;}
    .checkbox.x2{width: 100%;}
}