.campo-input-con-icono,
.campo-busqueda-con-icono {
    position: relative;
    flex: 1 1 auto;
    min-width: 0;
}

.campo-input-con-icono .campo-input__icono,
.campo-busqueda-con-icono .campo-busqueda__icono {
    position: absolute;
    left: 12px;
    top: 50%;
    transform: translateY(-50%);
    width: 18px;
    height: 18px;
    color: #5c667a;
    pointer-events: none;
    z-index: 2;
}

.campo-input-con-icono .campo-input__icono svg,
.campo-busqueda-con-icono .campo-busqueda__icono svg {
    width: 18px;
    height: 18px;
}

.campo-input-con-icono input:not([type="file"]):not([type="hidden"]),
.campo-input-con-icono select:not(.select-busqueda__nativo),
.campo-input-con-icono .form-control:not([type="file"]) {
    padding-left: 38px;
}

.campo-busqueda-con-icono input[type="search"],
.campo-busqueda-con-icono input[type="text"],
.campo-busqueda-con-icono .form-control {
    width: 100%;
    border: 1px solid #cfd6e4;
    border-radius: 6px;
    padding: 10px 12px 10px 38px;
    min-height: 44px;
    color: #192338;
    background: #fff;
    box-sizing: border-box;
}

.campo-busqueda-con-icono--filtro input[type="search"],
.campo-busqueda-con-icono--filtro input[type="text"] {
    padding-right: 40px;
}

.campo-busqueda-con-icono--filtro input[type="search"]::-webkit-search-cancel-button,
.campo-busqueda-con-icono--filtro input[type="search"]::-webkit-search-decoration {
    display: none;
}

.campo-busqueda-con-icono input[type="search"]:focus,
.campo-busqueda-con-icono input[type="text"]:focus,
.campo-busqueda-con-icono .form-control:focus {
    outline: 3px solid rgba(31, 132, 255, 0.18);
    border-color: #2474d4;
    outline-offset: 0;
}

.campo-busqueda__limpiar {
    position: absolute;
    right: 8px;
    top: 50%;
    transform: translateY(-50%);
    z-index: 2;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    padding: 0;
    border: 0;
    border-radius: 4px;
    background: transparent;
    color: #5c667a;
    cursor: pointer;
}

.campo-busqueda__limpiar:hover {
    background: #eef2f7;
    color: #203047;
}

.campo-busqueda__limpiar:focus-visible {
    outline: 2px solid #2474d4;
    outline-offset: 1px;
}

.campo-busqueda__limpiar-icono,
.campo-busqueda__limpiar svg {
    width: 16px;
    height: 16px;
    flex: 0 0 16px;
}

.campo-input-con-icono .select-busqueda-ui__control {
    padding-left: 38px;
}

.campo-input-con-icono .calendario-campo__espejo {
    padding-left: 38px;
}

.campo-input-con-icono--password input:not([type="file"]):not([type="hidden"]),
.campo-input-con-icono--password .form-control:not([type="file"]) {
    padding-right: 46px;
}

.campo-password__alternar {
    position: absolute;
    right: 8px;
    top: 50%;
    transform: translateY(-50%);
    z-index: 2;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    padding: 0;
    border: 0;
    border-radius: 6px;
    background: transparent;
    color: #5c667a;
    cursor: pointer;
}

.campo-password__alternar:hover {
    background: #eef2f7;
    color: #203047;
}

.campo-password__alternar:focus-visible {
    outline: 2px solid #2474d4;
    outline-offset: 1px;
}

.campo-password__alternar svg,
.campo-password__alternar i {
    width: 17px;
    height: 17px;
    flex: 0 0 17px;
}

.campo-input-con-icono--archivo {
    display: flex;
    align-items: stretch;
    border: 1px solid #cfd6e4;
    border-radius: 6px;
    background: #fff;
    overflow: hidden;
}

.campo-input-con-icono--archivo:focus-within {
    outline: 3px solid rgba(31, 132, 255, 0.18);
    border-color: #2474d4;
    outline-offset: 0;
}

.campo-input-con-icono--archivo .campo-input__icono {
    position: static;
    top: auto;
    left: auto;
    transform: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 42px;
    width: 42px;
    min-height: 44px;
    margin: 0;
    background: #f3f6fa;
    border-right: 1px solid #dbe2ee;
    color: #5c667a;
    pointer-events: none;
}

.campo-input-con-icono--archivo .campo-input__icono svg {
    width: 18px;
    height: 18px;
    flex: 0 0 18px;
}

.campo-input-con-icono--archivo input[type="file"] {
    flex: 1 1 auto;
    min-width: 0;
    width: 100%;
    margin: 0;
    padding: 8px 12px;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    min-height: 44px;
    background: transparent;
}

.campo-input-con-icono--archivo input[type="file"]:focus {
    outline: none;
    box-shadow: none;
}

.configuracion-enlaces {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 8px 0 18px;
}

.input-group .campo-busqueda-con-icono {
    flex: 1 1 auto;
    min-width: 220px;
}

.input-group .campo-busqueda-con-icono input,
.input-group .campo-busqueda-con-icono .form-control {
    width: 100%;
}

.input-group .campo-input-con-icono {
    flex: 1 1 auto;
    min-width: 0;
}

.input-group .campo-input-con-icono .form-control {
    width: 100%;
}
