/* ==========================================================================
   Branding Delta Plus AIR — paleta oficial (override, cargado al final)
   Azul marino #11263B = base (navbar, tablas, texto, hover de botones)
   Amarillo    #FFCC00 = botones en reposo
   Amarillo suave #FBDE76 / Gris azulado #637380 = boton lupa (adjuntar)
   Fondo app   #EFF3F5 · Contenido #FFFFFF · Rojo #F42434 solo dentro del logo
   No se editan los CSS del tema; esto solo re-colorea y cambia la tipografia.
   ========================================================================== */

:root {
    --dp-navy: #11263B;
    --dp-yellow: #FFCC00;
    --dp-yellow-soft: #FBDE76;
    --dp-slate: #637380;
    --dp-bg: #EFF3F5;
    --dp-white: #FFFFFF;
    --dp-red: #F42434;
    --dp-border: #e0e6ed;
    --dp-font: Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", Arial,
               sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
}

/* ----- Tipografia global -----
   Cubre todo el documento, excepto los elementos que usan fuentes de iconos
   (glyphicon, font-awesome, flaticon, iconos de sweetalert y de DataTables). */
html, body,
body *:not([class*="glyphicon"]):not([class*="fa-"]):not([class*="flaticon"]):not(.fa):not(.fas):not(.far):not(.fab):not(.fal):not(.swal2-icon):not([class*="ui-icon"]):not([class*="dropify"]) {
    font-family: var(--dp-font) !important;
}
/* los pseudo-elementos del tema tambien heredan la fuente correcta */
body *:not([class*="glyphicon"]):not([class*="fa-"]):not([class*="flaticon"]):not([class*="dropify"])::before,
body *:not([class*="glyphicon"]):not([class*="fa-"]):not([class*="flaticon"]):not([class*="dropify"])::after {
    font-family: var(--dp-font);
}

body {
    color: var(--dp-navy) !important;
    background: var(--dp-bg) !important;
}

/* sin !important: deja que los estilos propios (cabeceras oscuras, modales) manden */
h1, h2, h3, h4, h5, h6,
strong, b { color: var(--dp-navy); }

/* texto sobre fondos oscuros */
.modal-header { background-color: var(--dp-navy) !important; border-bottom: none !important; }
.modal-header .modal-title,
.modal-header h1, .modal-header h2, .modal-header h3,
.modal-header h4, .modal-header h5, .modal-header h6,
.modal-header .close,
.rwd-table thead th, .rwd-table thead td { color: var(--dp-white) !important; }
.modal-header .close { opacity: .9; text-shadow: none; }

/* ----- Navbar / header -> azul marino ----- */
.navbar { background: var(--dp-navy) !important; }
.header-container .navbar .theme-brand,
.header-container .navbar-nav.theme-brand,
.header-container.fixed-top {
    background-image: linear-gradient(to right, var(--dp-navy) 0%, var(--dp-navy) 100%) !important;
    background-color: var(--dp-navy) !important;
}
/* el tema pinta un borde rojo entre el bloque de marca y el resto de la barra */
.header-container .navbar-nav.theme-brand { border-right: none !important; }
.navbar .navbar-item .nav-item .nav-link,
.navbar .navbar-item .nav-item a.user svg,
.navbar .navbar-item .nav-item svg {
    color: var(--dp-white) !important;
    stroke: var(--dp-white) !important;
}

/* ----- Sidebar -> fondo claro, acentos azul marino ----- */
.sidebar-wrapper,
#sidebar { background: var(--dp-bg) !important; }

.sidebar-wrapper .profile-info .user-info h6,
.sidebar-wrapper .profile-info .user-info p { color: var(--dp-navy) !important; }

#sidebar ul.menu-categories li.menu > .dropdown-toggle,
#sidebar ul.menu-categories li.menu > .dropdown-toggle svg,
#sidebar ul.menu-categories li.menu > .dropdown-toggle span {
    color: var(--dp-navy) !important;
}
#sidebar ul.menu-categories li.menu.active > .dropdown-toggle,
#sidebar ul.menu-categories li.menu:not(.active) > .dropdown-toggle[aria-expanded=true],
#sidebar ul.menu-categories li.menu > .dropdown-toggle:hover {
    background: var(--dp-navy) !important;
}
#sidebar ul.menu-categories li.menu.active > .dropdown-toggle,
#sidebar ul.menu-categories li.menu.active > .dropdown-toggle svg,
#sidebar ul.menu-categories li.menu.active > .dropdown-toggle span,
#sidebar ul.menu-categories li.menu > .dropdown-toggle:hover,
#sidebar ul.menu-categories li.menu > .dropdown-toggle:hover svg,
#sidebar ul.menu-categories li.menu > .dropdown-toggle:hover span {
    color: var(--dp-white) !important;
}
#sidebar ul.menu-categories li.menu ul.submenu > li.active a,
#sidebar ul.menu-categories li.menu ul.submenu > li a:hover,
#sidebar ul.menu-categories li.menu ul.submenu > li > a[aria-expanded=true] {
    color: var(--dp-navy) !important;
}
#sidebar ul.menu-categories li.menu ul.submenu > li.active a:before,
#sidebar ul.menu-categories li.menu ul.submenu > li a:hover:before {
    background-color: var(--dp-navy) !important;
}

/* ----- Area de contenido -> blanco ----- */
.main-content,
.main-container .layout-px-spacing,
#container.main-container { background: var(--dp-white) !important; }

.footer-wrapper { background: transparent !important; }
.footer-wrapper p,
.footer-wrapper a { color: var(--dp-navy) !important; }

/* ----- Botones de accion -> amarillo en reposo, azul marino al pasar ----- */
.btn-air-dark,
.btn-air-dark:active,
.btn-air-dark.active,
.btn-primary,
.btn-primary:not(:disabled):not(.disabled):active,
.btn-info,
.btn-info:not(:disabled):not(.disabled):active,
.btn-success,
.btn-secondary,
.btn-airsafety {
    background-color: var(--dp-yellow) !important;
    border-color: var(--dp-yellow) !important;
    color: var(--dp-navy) !important;
}
.btn-air-dark:hover, .btn-air-dark:focus,
.btn-primary:hover, .btn-primary:focus,
.btn-info:hover, .btn-info:focus,
.btn-success:hover, .btn-success:focus,
.btn-secondary:hover, .btn-secondary:focus,
.btn-airsafety:hover, .btn-airsafety:focus,
.show > .btn-primary.dropdown-toggle,
.show > .btn-info.dropdown-toggle {
    background-color: var(--dp-navy) !important;
    border-color: var(--dp-navy) !important;
    color: var(--dp-white) !important;
}

.btn-outline-primary {
    background-color: transparent !important;
    border-color: var(--dp-navy) !important;
    color: var(--dp-navy) !important;
}
.btn-outline-primary:hover,
.btn-outline-primary:focus,
.btn-outline-primary:not(:disabled):not(.disabled):active {
    background-color: var(--dp-navy) !important;
    border-color: var(--dp-navy) !important;
    color: var(--dp-white) !important;
}

.badge-primary, .badge-info { background-color: var(--dp-navy) !important; }
.outline-badge-primary,
.outline-badge-info { color: var(--dp-navy) !important; border-color: var(--dp-navy) !important; }

/* ----- Boton lupa del adjunto "Cargar orden de compra" ----- */
.custom-file-label {
    border: 1px solid var(--dp-slate) !important;
    color: var(--dp-navy) !important;
    background-color: var(--dp-white) !important;
}
.custom-file-label::after {
    content: "" !important;
    width: 44px;
    border-left: 0 !important;
    border-radius: 0 3px 3px 0 !important;
    background-color: var(--dp-yellow-soft) !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23637380' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'%3E%3C/circle%3E%3Cline x1='21' y1='21' x2='16.65' y2='16.65'%3E%3C/line%3E%3C/svg%3E") !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
    background-size: 18px 18px !important;
}
.custom-file:hover .custom-file-label::after,
.custom-file-input:focus ~ .custom-file-label::after {
    background-color: var(--dp-slate) !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23FFFFFF' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'%3E%3C/circle%3E%3Cline x1='21' y1='21' x2='16.65' y2='16.65'%3E%3C/line%3E%3C/svg%3E") !important;
}

/* ----- Tablas -----
   Cabecera navy con texto blanco en todas las tablas del portal
   (.rwd-table, .table de Bootstrap y las inicializadas por DataTables). */
.rwd-table thead tr, .rwd-table thead th, .rwd-table thead td,
.table thead tr, .table thead th, .table thead td,
table.dataTable thead tr, table.dataTable thead th, table.dataTable thead td {
    background-color: var(--dp-navy) !important;
    color: var(--dp-white) !important;
    border-color: var(--dp-navy) !important;
}
/* el pie repite los titulos sobre fondo claro: se queda en navy */
.rwd-table tfoot tr, .rwd-table tfoot th, .rwd-table tfoot td,
.table tfoot tr, .table tfoot th, .table tfoot td,
table.dataTable tfoot tr, table.dataTable tfoot th, table.dataTable tfoot td {
    background-color: transparent !important;
    color: var(--dp-navy) !important;
}
.rwd-table td, .rwd-table th { border-color: var(--dp-border) !important; }
.rwd-table tbody td,
.table tbody td { color: var(--dp-navy) !important; }
.table tbody td a,
.rwd-table tbody td a { color: var(--dp-navy) !important; }
.table tbody td a:hover,
.rwd-table tbody td a:hover { color: var(--dp-slate) !important; }

/* ----- Formularios ----- */
.form-control,
.custom-select { color: var(--dp-navy) !important; }
.form-control:focus {
    border-color: var(--dp-navy) !important;
    box-shadow: 0 0 5px 2px rgba(17, 38, 59, .20) !important;
}
.custom-select:focus { border-color: var(--dp-navy) !important; }
label,
.form-outline label { color: var(--dp-slate) !important; }

/* ----- Acentos varios ----- */
::selection { color: var(--dp-white); background: var(--dp-navy); }
a { color: var(--dp-navy); }
a:hover { color: var(--dp-slate); }
.list-icon svg, span.blue { color: var(--dp-navy) !important; }
blockquote.blockquote { border-left-color: var(--dp-yellow) !important; }

/* ----- Logo en pantallas de autenticacion ----- */
.form-content .logo,
img.logo {
    height: 76px !important;
    width: auto !important;
    max-width: 100% !important;
    display: block;
    margin: 0 auto 18px auto;
}

/* ----- Botones de exportacion de DataTables (CSV / Excel / PDF) ----- */
.dt-buttons .dt-button,
.dataTables_wrapper .dt-button {
    background: var(--dp-white) !important;
    background-image: none !important;
    border: 1px solid var(--dp-navy) !important;
    border-radius: 4px !important;
    color: var(--dp-navy) !important;
    font-weight: 500;
    box-shadow: none !important;
}
.dt-buttons .dt-button:hover,
.dataTables_wrapper .dt-button:hover,
.dt-buttons .dt-button:focus,
.dataTables_wrapper .dt-button:focus {
    background: var(--dp-navy) !important;
    border-color: var(--dp-navy) !important;
    color: var(--dp-white) !important;
}

/* ----- Paginacion y buscador de DataTables ----- */
.dataTables_wrapper .dataTables_paginate .paginate_button.current,
.dataTables_wrapper .dataTables_paginate .paginate_button.current:hover {
    background: var(--dp-navy) !important;
    background-image: none !important;
    border-color: var(--dp-navy) !important;
    color: var(--dp-white) !important;
}
.dataTables_wrapper .dataTables_paginate .paginate_button:hover {
    background: var(--dp-yellow) !important;
    background-image: none !important;
    border-color: var(--dp-yellow) !important;
    color: var(--dp-navy) !important;
}
.dataTables_wrapper .dataTables_filter input {
    border: 1px solid var(--dp-slate) !important;
    border-radius: 4px !important;
    padding: 4px 8px;
    color: var(--dp-navy) !important;
}
.dataTables_wrapper .dataTables_filter input:focus {
    outline: none;
    border-color: var(--dp-navy) !important;
    box-shadow: 0 0 5px 2px rgba(17, 38, 59, .20) !important;
}
