html,
body {
    /* height: 100%; NO parece afectar y si molesta */
}

body {
    font-family: "Roboto", Helvetica, Arial, sans-serif;
    color: #5b5b5b;
    font-size: 0.9rem;
}

h1,
h2,
h3,
h4,
h5,
h6,
.btn {
    font-family: 'Gudea', sans-serif;
    text-transform: uppercase;
    font-weight: bold;
}

a {
    color: #f05324;
}

a:hover {
    color: #f05324;
}

#wrapper {
    width: 100%;
    margin: 0;
    padding: 0;
}

#header {
    position: fixed;
    top: 0;
    background: #f8f9fa;
    margin: 0;
    padding: 0;
    width: 100%;
    height: 98px;
    z-index: 10;
    -o-box-shadow: 0 1px 4px 0 #000 .2;
    -moz-box-shadow: 0 1px 4px 0 #000 .2;
    -ms-box-shadow: 0 1px 4px 0 #000 .2;
    -khtml-box-shadow: 0 1px 4px 0 #000 .2;
    -webkit-box-shadow: 0 1px 4px 0 #000 .2;
    box-shadow: 0 1px 4px 0 #000 .2;
}


/* CHANGE THE WIDTH OF LAYOUT, DEPENDING ON CONTENT */

.formulario main.container-fluid,
.error main.container-fluid {
    max-width: 1140px;
}


/* MAIN CONTAINER VERTICAL SPACES */

main.container-fluid {
    margin-top: 120px;
    padding-bottom: 80px;
}


/* HEADER ITEMS */

.logo {
    width: 307px;
    margin: 0 auto;
    display: block;
}

.navbar-expand-lg {
    width: 100%;
}

.usuario {
    text-align: right;
    width: 100%;
    padding: 0 1rem;
    color: #fff;
    font-size: 0.875rem;
    line-height: 30px;
}

.head_nav_background {
    background: #535353!important;
}

.head_nav {
    text-align: left;
    width: 100%;
    padding: 0 1rem;
    color: #fff;
    font-size: 0.875rem;
    line-height: 30px;
}

.head_nav a {
    padding-right: 10px;
    padding-left: 10px;
}

/* Usuario es el cuarto hijo de la lista ACTUAL. 
Ponemos así por el float: right. Hay que cambiar si se meten mas items en el menu */
.head_nav a:not(:first-child) {
    border-left: 1px solid #fff;
}

.head_nav a:nth-child(4) {
    border-right: 1px solid #fff;
}

.usuario a.logout {
    color: #fff !important;
}


/* FORM ELEMENTS */

.form-group {
    margin-bottom: 15px;
}


/* EL SELECT */

.select {
    display: block;
}

.select2-container--default {
    background-color: #fff;
    border-radius: .25rem;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.5;
    color: #495057;
    background-clip: padding-box;
}

.select2-container .select2-selection--single {
    height: 28px;
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
    line-height: 28px;
    font-size: 12px;
}

.select2-container--default .select2-selection--single {
    background-color: #fff;
    border: 1px solid #ced4da !important;
    border-radius: 4px;
}

.select2-container--default .select2-selection--single .select2-selection__arrow {
    top: 0;
}


/* Para la altura del menu de acciones en masa */
.select2-container--default .select2-results>.select2-results__options {
    max-height: 240px !important;
}

#mensaje_pre_ejecutar_accion_masa {
    font-weight: bold;
    color: #94844A;
    font-size: 1.2em;
}

.form-check-input {
    width: 15px;
    height: 15px;
}

input[type=checkbox],
input[type=radio] {
    height: 20px;
    width: 20px;
    vertical-align: middle;
}

.thead_style input,
.yadcf-filter-reset-button {
    border: 1px solid #ccc;
}

/* BOTONES */

.btn-link {
    color: #000 !important
}

.btn_red_lg {
    background: #94844A;
    color: #fff;
    padding: 10px 1rem;
    font-size: 1.25rem;
    min-width: 168px;
}

.btn-outline-success {
    background: #94844A;
    border: 1px solid #94844A;
    color: #fff;
}

.btn_red,
.btn_aviso_cyc {
    background: #94844A;
    color: #fff;
}

.btn_red_lg i {
    display: none;
}

.btn_red:hover,
.btn_red_lg:hover,
.btn-outline-success:hover {
    background: #676476;
    color: #fff!important;
    border-color: #676476;
}

.btn_red_lg:hover i {
    display: inline-block;
}

.btn-primary {
    color: #fff;
    background-color: #94844A;
    border-color: #94844A;
}

.ickon {
    display: inline-block;
    font: normal normal normal 24px/1 "font-awesome";
    font-size: inherit;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    transform: translate(0, 0);
}

.boton_extra_navegacion {
    margin: -8px 0 0;
}


/* CONTENEDOR NAV */

#contenedor_nav {
    clear: both;
    padding-bottom: 10px;
    margin: 20px auto;
}

.panel_inicial_menu {
    background: #070707 url(../templates/imagenes/pre-login-bg-ruta.jpg) center center;
    background-size: 100% 100%; /* Esto deformará la imagen para llenar el contenedor */
    padding: 38vh 5em;
    margin: 0 2em;
}

.panel_inicial_menu h2 {
    color: #fff;
    text-align: center;
    font-size: 3rem;
}

.panel_principal {
    background-color: #f8f9fa;
    border-radius: 12px;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    overflow: hidden;
    border: 1px solid #e9ecef;
}

.panel-header {
    background: linear-gradient(135deg, #B8A86F 0%, #94844A 100%);
    color: white;
    padding: 1rem 1.5rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.header-content {
    display: flex;
    align-items: center;
    gap: 12px;
}

.header-content i {
    font-size: 1.25rem;
}

.header-content h5 {
    margin: 0;
    font-weight: 600;
}

.panel_principal .toast {
    display: inline-block; 
    min-height: 120px;
    vertical-align: top;
    margin: 5px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    border: 1px solid rgba(0, 0, 0, 0.05);
}

.panel_principal .toast .notificacion_error {
    color: #FF0000;
}

 /* Tarjetas compactas */
        .stat-card-compact {
            border-radius: 8px;
            border: none;
            transition: all 0.3s ease;
            height: 100%;
        }

        .stat-card-compact:hover {
            transform: translateY(-2px);
            box-shadow: 0 4px 8px rgba(0,0,0,0.15);
        }

        .stat-card-compact .card-body {
            padding: 1rem;
        }

        .stat-icon-compact {
            font-size: 1.5rem;
            opacity: 0.9;
        }

        .stat-number {
            font-size: 1.5rem;
            font-weight: 700;
            margin-bottom: 0.25rem;
        }

        .stat-title {
            font-size: 0.85rem;
            font-weight: 600;
            margin-bottom: 0.5rem;
            text-transform: uppercase;
            letter-spacing: 0.5px;
        }

        .stat-trend {
            font-size: 0.75rem;
            display: flex;
            align-items: center;
        }
 
        .bg-dashboard-card { background: linear-gradient(45deg, #B8A86F, #94844A ); color: white; }
        .bg-dashboard-card a { color: white; }


/* DATA TABLES */
/*tfoot {
    display: table-header-group;
}*/

#tabla_gasolineras tfoot,
#tabla_perfiles tfoot,
#tabla_configuracion tfoot,
#tabla_clientes tfoot,
#tabla_clientes_local tfoot,
#tabla_logs tfoot,
#tabla_contactos tfoot,
#tabla_contactos_local tfoot,
#tabla_usuarios tfoot,
#tabla_estaciones tfoot,
#tablaAsignacionClientes tfoot,
#tablaAsignacionContactos tfoot {
    display: table-header-group;
}

table thead tr th {
    padding: 10px;
    border-right: 1px solid #fff;
    background: #94844A;
    color: #fff;
}

table tfoot tr th {
    padding: 10px;
    border-right: 1px solid #fff;
    background: #eee;
}

table.dataTable.compact thead th,
table.dataTable.compact tfoot th {
    padding: 10px 0;
}

.iconos-acciones {
    text-align: right;
    white-space: nowrap;
}


/* FOOTER */

#footer {
    width: 100%;
    background: #94844A;
    position: fixed;
    bottom: 0;
    color: #e1e1e1;
}

#footer .column {
    padding-left: 10px;
    line-height: 24px;
}

#footer .column:first-child {
    padding-left: 10px;
    line-height: 24px;
}

#footer .column {
    padding-left: 0;
    padding-right: 0;
}

#footer .column:nth-child(2) {
    text-align: right;
}

#footer .column {
    padding-left: 0;
    padding-right: 0;
}

#footer .column div:last-child {
    border-left: 0;;
}

#footer .column div {

    font-size: 14px;
    font-weight: normal;
    float: right;
    padding: 0 14px;
    border-left: 1px solid #e1e1e1;
}

#footer .column div a {
    color: #e1e1e1;
    white-space: nowrap;
    text-decoration: none !important;
}

.datos_finalizacion {
    border: 1px solid #D4D4D4;
    border-radius: .25rem;
    margin-top: 20px;
    padding: 20px;
}

span.traza_fallo {
    color: #FFFFFF;
    background-color: #94844A;
    padding: 1px 6px;
}

span.traza_aviso {
    color: #FFFFFF;
    background-color: #b97f12;
    padding: 1px 6px;
}

span.traza_destacado {
    color: #FFFFFF;
    background-color: #0078D7;
    padding: 1px 6px;
}

span.traza_ok {
    color: #FFFFFF;
    background-color: #2D572C;
    padding: 1px 6px;
}

hr.style1 {
    border-top: 1px dotted #8c8b8b;
}


/*#tabla_facturas input[type=text],#tabla_pdfs_tarifas input[type=text]{
    width: 100%;
}*/

.btn,
.btn_red {
    font-size: 0.9rem!important;
}

.tooltip-arrow,
.red-tooltip+.tooltip>.tooltip-inner {
    background-color: yellow;
}


/* Añadidos Garrido */

.ms-options {
    width: 220px !important;
}

#tabla_facturas td {
    padding: 0;
    padding-left: 5px;
    padding-right: 5px;
    font-size: 0.8em;
    line-height: 0.8em;
    white-space: nowrap;
    overflow: hidden;
}

#tabla_facturas_ejecutadas td {
    padding: 0;
    padding-left: 5px;
    padding-right: 5px;
    font-size: 0.8em;
    line-height: 0.8em;
    white-space: nowrap;
    overflow: hidden;
}

#tabla_facturas td.importe {
    color: #000;
    font-weight: bold;
    text-align: right;
    padding-right: 10px;
}

#tabla_facturas_ejecutadas td.importe {
    color: #000;
    font-weight: bold;
    text-align: right;
    padding-right: 10px;
}

#tabla_facturas .iconos-acciones img,
#tabla_gasolineras .iconos-acciones img,
#tabla_configuracion .iconos-acciones img,
#tabla_facturas_ejecutadas .iconos-acciones img,
#tabla_pdfs_tarifas .iconos-acciones img,
#tabla_perfiles .iconos-acciones img,
#tabla_logs .iconos-acciones img,
#tabla_usuarios .iconos-acciones img,
#tabla_clientes .iconos-acciones img,
#tabla_clientes_local .iconos-acciones img,
#tabla_contactos .iconos-acciones img,
#tabla_estaciones .iconos-acciones img,
#tabla_grupos_envio .iconos-acciones img,
#tabla_contactos_local .iconos-acciones img {
    width: 18px;
    margin-left: 8px;
}

.navbar-nav h2 {
    margin-left: 2em;
}

.navbar-nav .dropdown-toggle {
    display: block;
    width: 100%;
    height: calc(1.5em + .75rem + 2px);
    padding: .375rem .75rem;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
    color: #495057;
    background-color: #FFFFFF;
    background-clip: padding-box;
    border: 1px solid #ced4da;
    border-radius: .25rem;
    -moz-border-radius: .25rem;
    -webkit-border-radius: .25rem;
    transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out;
}

button.estado {
    width: 100%!important;
    padding: 0;
    margin: 0 !important;
    font-weight: normal;
}


/* Bloqueado */

#tabla_facturas tr.cliente_bloqueado td
/*#tabla_facturas tr.cliente_bloqueado td:not(.estado)*/

{
    background-color: #ff9980;
    color: #cc2900;
}

#tabla_facturas_ejecutadas tr.cliente_bloqueado td
/*#tabla_facturas tr.cliente_bloqueado td:not(.estado)*/

{
    background-color: #ff9980;
    color: #cc2900;
}

#tabla_facturas tr.cliente_bloqueado td.estado,
#tabla_facturas tr.cliente_bloqueado td.estado button
/*#tabla_facturas tr.cliente_bloqueado td:not(.estado)*/

{
    background-color: #cc2900;
    color: #FFFFFF;
}

#tabla_facturas_ejecutadas tr.cliente_bloqueado td.estado,
#tabla_facturas_ejecutadas tr.cliente_bloqueado td.estado button
/*#tabla_facturas tr.cliente_bloqueado td:not(.estado)*/

{
    background-color: #cc2900;
    color: #FFFFFF;
}

#tabla_facturas tr:hover td:not(.estado) {
    background: rgba(138, 72, 72, 0.10);
}

#tabla_facturas_ejecutadas tr:hover td:not(.estado) {
    background: rgba(138, 72, 72, 0.10);
}


/* Pendiente */

.btn_pendiente,
tr.estado_fila_pendiente td.estado {
    background: #FFFF00;
    color: #000000;
}

tr.estado_fila_pendiente td {
    background: #FFFFFF;
}

.btn_pendiente:hover {
    color: #000000;
}


/* En Vigor */

.btn_en_vigor,
tr.estado_fila_en_vigor td.estado {
    background: #ffff;
    color: #000000;
}

.btn_en_vigor:hover {
    color: #000000;
}


/*
tr.estado_fila_sin_vencer td
{
    background:#FFFFFF;
}

.btn_sin_vencer:hover {
    color:#000000;
}
*/


/* Parcialmente Pagado */

.btn_pendiente_parcial,
tr.estado_fila_pendiente_parcial td.estado {
    background: #5b2c6f;
    color: #FFFFFF;
}

tr.estado_fila_pendiente_parcial td {
    background: #FFFFFF;
}

.btn_pendiente_parcial:hover {
    color: #FFFFFF;
}


/* Falta Iva */

.btn_pendiente_iva,
tr.estado_fila_pendiente_iva td.estado {
    background: #FF8C00;
    color: #fff;
}

tr.estado_fila_pendiente_iva td {
    background: #ffcc99;
    color: #ea6000;
}

.btn_pendiente_iva:hover {
    color: #fff;
}


/* Base pagada en parte */

.btn_pendiente_parcial_base,
tr.estado_fila_pendiente_parcial_base td.estado {
    background: #af7ac5;
    color: #000000;
}

.btn_pendiente_parcial_base:hover {
    color: #000000;
}


/* Iva Puesto en Riesgo */

.btn_p_iva_puesto_en_riesgo,
tr.estado_fila_p_iva_puesto_en_riesgo td.estado {
    background: #993300;
    color: #fff;
}

.btn_p_iva_puesto_en_riesgo:hover {
    color: #fff;
}


/* remesado */

.btn_remesado,
tr.estado_fila_remesado td.estado {
    background: #0066ff;
    color: #fff;
}

.btn_remesado:hover {
    color: #fff;
}


/* Cobrado Entero */

.btn_cobrado,
tr.estado_fila_cobrado td.estado {
    background: #669900;
    color: #fff;
}

.btn_cobrado:hover {
    color: #fff;
}

/* Ejecutado Cobrado */
.btn_ejecutado_cobrado,
tr.estado_fila_ejecutado_cobrado td.estado {
    background: #669900;
    color: #fff;
}

.btn_ejecutado_cobrado:hover {
    color: #fff;
}


/* Aviso CyC */

.btn_aviso_cyc,
tr.estado_fila_aviso_cyc td.estado {
    background: #5c5c3d;
    color: #fff;
}

tr.estado_fila_aviso_cyc td {
    background: #a3a375;
    color: #5c5c3d;
}

.btn_aviso_cyc:hover {
    color: #fff;
}


/* Remesa Devuelta*/

.btn_remesa_devuelta,
tr.estado_fila_remesa_devuelta td.estado {
    background: #ffc107;
    /*efb753*/
    color: #000;
}

tr.estado_fila_remesa_devuelta td {
    background: #ffeeba;
    color: black;
}

.btn_remesa_devuelta:hover {
    color: #fff;
}


/* Base Pendiente */

.btn_base_pendiente,
tr.estado_fila_base_pendiente td.estado {
    background: #2f41aa;
    color: #fff;
}

tr.estado_fila_base_pendiente td {
    background: #d3d8f4;
    color: black;
}

.btn_base_pendiente:hover {
    color: #fff;
}


/* Ejecutado */

.btn_ejecutado,
tr.estado_fila_ejecutado td.estado {
    background: #996633;
    color: #fff;
}

tr.estado_fila_ejecutado td {
    background: #d2a679;
    color: #996633;
}

.btn_ejecutado:hover {
    color: #fff;
}


/* perdida */

.btn_perdida,
tr.estado_fila_perdida td.estado {
    background: #cc2900;
    color: #fff;
}

.btn_perdida:hover {
    color: #fff;
}

#tabla_facturas tr:hover td {
    border-top: #000 1px solid;
    border-bottom: #000 1px solid;
    border-left: transparent 0px solid;
    border-right: transparent 0px solid;
    filter: brightness(80%);
    cursor: pointer;
}

#tabla_facturas_ejecutadas tr:hover td {
    border-top: #000 1px solid;
    border-bottom: #000 1px solid;
    border-left: transparent 0px solid;
    border-right: transparent 0px solid;
    filter: brightness(80%);
    cursor: pointer;
}

#tabla_facturas tr:hover td:not(.estado) {
    background: rgba(138, 72, 72, 0.10);
}

#tabla_facturas_ejecutadas tr:hover td:not(.estado) {
    background: rgba(138, 72, 72, 0.10);
}

#tabla_facturas tr:first-child:hover td {
    border-top: transparent 0px solid;
    border-bottom: #000 1px solid;
    border-left: transparent 0px solid;
    border-right: transparent 0px solid;
    filter: brightness(70%);
}

#tabla_facturas_ejecutadas tr:first-child:hover td {
    border-top: transparent 0px solid;
    border-bottom: #000 1px solid;
    border-left: transparent 0px solid;
    border-right: transparent 0px solid;
    filter: brightness(70%);
}

#tabla_facturas td.positivo {
    color: #669900 !important;
    font-weight: bold;
}

#tabla_facturas_ejecutadas td.positivo {
    color: #669900 !important;
    font-weight: bold;
}

#tabla_facturas td.negativo {
    color: #e60000 !important;
    font-weight: bold;
}

#tabla_facturas_ejecutadas td.negativo {
    color: #e60000 !important;
    font-weight: bold;
}

.modal-body .container .nav-link.active {
    font-weight: bold;
}

.modal-body .nav-link:hover {
    font-weight: bold;
    color: #5b5b5b;
}

.modal-body .nav-link {
    font-weight: normal;
    color: #5b5b5b;
}


/* GESTIONAR PERFILES - MODAL CRAR PERFIL TABS */

#modalInfoPerfil .modal-body .nav-link.active,
#modalInfoPerfil .modal-body .tab-content>.active {
    background: #dee2e6;
}

#modalInfoPerfil .modal-body .nav-link.active {
    border-color: #dee2e6 #dee2e6 #dee2e6;
}

#modalInfoPerfil .modal-body .tab-content>.active {
    padding: 15px;
    border: 0;
    border-bottom-left-radius: 10px;
    border-bottom-right-radius: 10px;
}


/* TABLA CLIENTES: RESUMEN INFORME */

.positiveclass {
    background: #4CAF50;
    color: #fff;
}

.negativeclass {
    background: red;
    color: #fff;
}

.nullclass {
    background: gray;
    color: #fff;
}

#tabla_clientes .sorting_1 {
    font-weight: bold;
}

#tabla_usuarios tfoot input,
#tablaAsignacionClientes tfoot input,
#tabla_logs tfoot input,
#tabla_perfiles tfoot input {
    width: 100%;
}

a.eliminar_cobro img,
a.editar_cobro img {
    width: 18px;
    margin-left: 8px;
}

#modalNuevaFactura input.form-control {
    height: 28px!important;
}

#modalNuevaFactura .select2-selection__rendered {
    font-size: 1rem!important;
}

.select2-container.select2-container--default.select2-container--open {
    z-index: 9999;
}

.dataTable input.check_seleccion {
    width: 100%;
    min-width: 20px;
}

#modalAsignacionClientes .select_multiple {
    min-width: 25%;
}

.tfoot_style input,
.tfoot_style span.select2 {
    width: 100%!important;
    height: 28px;
}


/* Clearable text inputs */

.clearable {
    position: relative;
    display: inline-block;
}

.clearable input[type=text] {
    padding-right: 24px;
    width: 100%;
    box-sizing: border-box;
}

.clearable__clear {
    display: none;
    position: absolute;
    right: 0;
    top: 0;
    padding: 4px 8px;
    font-style: normal;
    font-size: 1.2em;
    user-select: none;
    cursor: pointer;
}

.clearable input::-ms-clear {
    /* Remove IE default X */
    display: none;
}

.ui-menu.ui-widget.ui-widget-content.ui-autocomplete.ui-front {
    z-index: 9999;
    width: 200px!important;
    height: 200px!important;
    overflow: auto;
}

#log img {
    width: 18px;
    margin-right: 8px;
}