/*
    AdminLTE 4 con el aspecto de siempre.

    AdminLTE 4 y Bootstrap 5 cambiaron tipografia, colores, alturas y el armazon entero
    respecto de la 3. Sin esta hoja las pantallas salen con la barra lateral estrecha, la
    cabecera descolocada y los botones de otro color: es lo que se veia en las webs de
    Fernando frente a las demas, que la llevaban copiada en su site.css.

    Aqui esta compartida para todas. Lleva:

      - la tipografia y los tamanos de siempre (Verdana, .9rem, 14px de raiz);
      - la paleta de Bootstrap con los colores de AdminLTE, para que los btn-*, bg-*,
        text-*, border-*, alert-*, list-group-item-* y table-* salgan como antes;
      - el armazon: cabecera de 3,5rem, barra lateral de 250px con su modo estrecho,
        el contenido, el pie, la barra de administracion y los botones de menu;
      - los remates de tarjetas y tablas.

    Los colores de marca NO estan aqui: los emite _ThemeSettings.cshtml leyendo el
    appsettings de cada aplicacion y los aplica active-theme.css.

    Se carga DESPUES de adminlte.css y ANTES de la hoja propia de cada web, para que
    cada una pueda seguir ajustando lo suyo encima. ValoraIntranet2026 y ValoraCliente2026
    lo hacen con cuatro reglas que tenian distintas.
*/
:root,
[data-bs-theme="light"] {
    --bs-font-sans-serif: Verdana, Roboto, Arial, sans-serif;
    --bs-body-font-family: Verdana, Roboto, Arial, sans-serif;
    --bs-body-font-size: .9rem;
    --bs-body-color: #212529;
    --bs-body-bg: #fff;
    --bs-primary: var(--app-primary, #3c8dbc);
    --bs-primary-rgb: 0, 123, 255;
    --bs-secondary: #6c757d;
    --bs-secondary-rgb: 108, 117, 125;
    --bs-success: #28a745;
    --bs-success-rgb: 40, 167, 69;
    --bs-info: #17a2b8;
    --bs-info-rgb: 23, 162, 184;
    --bs-warning: #ffc107;
    --bs-warning-rgb: 255, 193, 7;
    --bs-danger: #dc3545;
    --bs-danger-rgb: 220, 53, 69;
    --bs-dark: #343a40;
    --bs-dark-rgb: 52, 58, 64;
    --bs-light: #f8f9fa;
    --bs-light-rgb: 248, 249, 250;
    --bs-link-color: var(--app-primary, #3c8dbc);
    --bs-link-color-rgb: 0, 123, 255;
    --bs-link-hover-color: #0056b3;
    --bs-link-hover-color-rgb: 0, 86, 179;
    --bs-border-radius: .25rem;
    --bs-border-radius-sm: .2rem;
    --lte-sidebar-width: 250px;
}

html {
    font-family: Verdana, Roboto, Arial, sans-serif;
    font-size: 14px;
    line-height: 1.15;
}

body {
    font-family: Verdana, Roboto, Arial, sans-serif;
    font-size: .9rem;
    line-height: 1.5;
    color: #212529;
    text-align: left;
    background-color: #fff;
}

a {
    color: var(--app-primary, #3c8dbc);
    text-decoration: none;
    background-color: transparent;
}

a:hover {
    color: #0056b3;
    text-decoration: none;
}

.row {
    --bs-gutter-x: 15px;
}

/* Header */
.app-header.navbar {
    --bs-navbar-padding-x: .5rem;
    --bs-navbar-padding-y: .5rem;
    height: 3.5rem;
    min-height: 3.5rem;
    margin: 0;
    border-bottom-color: #dee2e6 !important;
}

.app-header > .container-fluid {
    --bs-gutter-x: 0;
}

.app-header .nav-link {
    height: 1.93725rem;
    padding: .35rem .4rem;
}

.app-header .user-menu > .dropdown-menu {
    right: 0;
    left: auto;
}

/* Left sidebar */
.app-sidebar.bg-dark {
    --lte-sidebar-menu-active-bg: var(--app-primary, #3c8dbc);
    --lte-sidebar-menu-active-color: #fff;
    --lte-sidebar-submenu-active-color: #343a40;
    --lte-sidebar-submenu-active-bg: rgba(255, 255, 255, .9);
    box-shadow: 0 14px 28px rgba(0, 0, 0, .25), 0 10px 10px rgba(0, 0, 0, .22) !important;
}

.sidebar-brand {
    justify-content: flex-start;
    height: 3.5rem;
    padding: .8125rem .5rem;
    border-bottom-color: #dee2e6;
}

.sidebar-brand .brand-link:hover,
.sidebar-brand .brand-text:hover {
    color: #fff;
}

.sidebar-brand .brand-link .brand-image {
    margin: -.25rem .5rem -.25rem .6rem;
    max-height: 29px;
}

.sidebar-brand .brand-text {
    margin-left: 0;
}

.sidebar-wrapper {
    padding-top: 0;
    padding-bottom: 0;
}

.sidebar-menu.nav-compact .nav-link,
.sidebar-menu.nav-compact .nav-header {
    padding-top: .25rem;
    padding-bottom: .25rem;
}

.sidebar-menu .nav-link {
    border-radius: .25rem;
}

.sidebar-menu .nav-link p {
    padding-left: .2rem;
}

.sidebar-menu .nav-icon {
    margin-right: .2rem;
    font-size: 1.1rem;
}

.sidebar-menu > .nav-header {
    margin: .5em 0 0;
    padding-right: .5rem;
    padding-left: .5rem;
    overflow: hidden;
    font-weight: bolder;
    color: #ffc107;
    text-overflow: clip;
}

/* Aire entre grupos del menú: el de ValoraIntranet (1.7rem), que es el modelo de todas. */
.sidebar-menu > .nav-header:not(:first-of-type) {
    padding-top: 1.7rem;
}

.sidebar-wrapper .sidebar-menu > .nav-item > .nav-link.active {
    color: #fff;
    background-color: var(--app-primary, #3c8dbc);
    box-shadow: 0 1px 3px rgba(0, 0, 0, .12), 0 1px 2px rgba(0, 0, 0, .24);
}

/* El menu lateral contraido se queda contraido tambien al pasar el raton, como en
   AdminLTE 3. AdminLTE 4 hace lo contrario -crece al pasar el raton- y estas cuatro reglas
   le ganan a las suyas. Igual en todas las webs (CasaGalicia tenia una salida por clase y ya
   no). Ojo, no vale usar sidebar-without-hover, que es de AdminLTE y apaga las dos cosas. */
.sidebar-mini.sidebar-collapse:not(.sidebar-without-hover) .app-sidebar:hover {
    min-width: 4.6rem;
    max-width: 4.6rem;
}

.sidebar-mini.sidebar-collapse:not(.sidebar-without-hover) .app-sidebar:hover .sidebar-menu .nav-header {
    display: none;
}

.sidebar-mini.sidebar-collapse:not(.sidebar-without-hover) .app-sidebar:hover .sidebar-menu .nav-link {
    width: 3.6rem;
}

.sidebar-mini.sidebar-collapse:not(.sidebar-without-hover) .app-sidebar:hover .sidebar-menu .nav-link p,
.sidebar-mini.sidebar-collapse:not(.sidebar-without-hover) .app-sidebar:hover .brand-text,
.sidebar-mini.sidebar-collapse:not(.sidebar-without-hover) .app-sidebar:hover .nav-arrow {
    width: 0;
    max-width: 0;
    margin-left: 0;
    overflow: hidden;
    visibility: hidden;
    opacity: 0;
}

/* Content and footer */
.app-main {
    padding: .5em 0 0;
    background: #fff;
}

.app-content {
    padding: 0;
}

.app-content > .container-fluid {
    --bs-gutter-x: 15px;
}

.app-footer {
    min-height: auto;
    padding: .812rem;
    margin: 0;
    color: #869099;
    background: #fff;
    border-top: 1px solid #dee2e6;
}

/* Right administration sidebar */
#adminSidebarAlt {
    --bs-offcanvas-width: 250px;
    top: calc(3.5rem + 1px);
    bottom: 0;
    height: auto;
}

#adminSidebarAlt .offcanvas-header {
    display: none;
}

#adminSidebarAlt .offcanvas-body {
    overflow-y: auto;
}

#adminSidebarAlt .right-sidebar {
    --lte-sidebar-menu-active-bg: var(--app-primary, #3c8dbc);
    --lte-sidebar-menu-active-color: #fff;
    --lte-sidebar-submenu-active-color: #343a40;
    --lte-sidebar-submenu-active-bg: rgba(255, 255, 255, .9);
}

/* The right menu must never inherit the collapsed state of the left sidebar. */
.sidebar-mini.sidebar-collapse #adminSidebarAlt .right-sidebar .sidebar-menu,
.sidebar-mini.sidebar-collapse #adminSidebarAlt .right-sidebar .sidebar-menu .nav-link {
    width: 100% !important;
}

.sidebar-mini.sidebar-collapse #adminSidebarAlt .right-sidebar .sidebar-menu .nav-link p {
    display: inline !important;
    width: auto !important;
    max-width: none !important;
    margin-left: 0 !important;
    overflow: visible !important;
    visibility: visible !important;
    opacity: 1 !important;
}

.sidebar-mini.sidebar-collapse #adminSidebarAlt .right-sidebar .sidebar-menu .nav-header {
    display: list-item !important;
    width: 100% !important;
    visibility: visible !important;
    opacity: 1 !important;
}

.sidebar-mini.sidebar-collapse #adminSidebarAlt .right-sidebar .sidebar-menu .nav-arrow,
.sidebar-mini.sidebar-collapse #adminSidebarAlt .right-sidebar .sidebar-menu .nav-badge {
    display: inline-block !important;
    visibility: visible !important;
    opacity: 1 !important;
}

/* Home shortcuts: preserve Bootstrap 4 sizing and link treatment. */
.menu-button {
    padding: .25rem !important;
}

.menu-button > a,
.menu-button > form {
    width: 100%;
}

.menu-button > a {
    padding: .5rem;
    /* icono y texto centrados en la baldosa, tambien en vertical (las filas van con align-items-stretch) */
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    background: #f9f9f9;
    border: 1px solid #f1f1f1;
    border-radius: 0;
}

.menu-button > a:hover,
.menu-button > a:focus {
    text-decoration: none;
    background: #f9f9f9;
}

.menu-button > a > p {
    padding: .5rem;
    margin: 0;
}

/* Contenedor de icono con contadores de las portadas (el de ValoraIntranet, Home/Index). */
div.icon-container {
    margin: 0 auto;
    max-width: 120px;
    position: relative;
    height: 100px;
}

div.icon-container .badge.items {
    position: absolute;
    left: .5em;
    top: .5em;
}

div.icon-container .badge.plus {
    position: absolute;
    font-size: 1rem;
    height: 2rem;
    right: .5em;
    line-height: 1.5rem;
}

div.icon-container .badge.plus a {
    color: white;
}

div.icon-container a.icon {
    position: absolute;
    top: 30%;
    display: flex;
    width: 100%;
}

div.icon-container a.icon i {
    margin: 0 auto;
}

/* Keep Highcharts' previous breakpoint width from widening the Home page. */
.home-charts > [class*="col-"] {
    min-width: 0;
}

.home-charts .chart-container {
    min-width: 0;
    max-width: 100%;
    overflow: hidden;
}

/* Bootstrap 4 / AdminLTE 3 semantic palette used by ValoraIntranet2021. */
.btn-primary {
    --bs-btn-color: #fff;
    --bs-btn-bg: var(--app-primary, #3c8dbc);
    --bs-btn-border-color: var(--app-primary, #3c8dbc);
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #0069d9;
    --bs-btn-hover-border-color: #0062cc;
    --bs-btn-focus-shadow-rgb: 38, 143, 255;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #0062cc;
    --bs-btn-active-border-color: #005cbf;
    --bs-btn-disabled-color: #fff;
    --bs-btn-disabled-bg: var(--app-primary, #3c8dbc);
    --bs-btn-disabled-border-color: var(--app-primary, #3c8dbc);
}

.btn-secondary {
    --bs-btn-color: #fff;
    --bs-btn-bg: #6c757d;
    --bs-btn-border-color: #6c757d;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #5a6268;
    --bs-btn-hover-border-color: #545b62;
    --bs-btn-focus-shadow-rgb: 130, 138, 145;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #545b62;
    --bs-btn-active-border-color: #4e555b;
    --bs-btn-disabled-color: #fff;
    --bs-btn-disabled-bg: #6c757d;
    --bs-btn-disabled-border-color: #6c757d;
}

.btn-success {
    --bs-btn-color: #fff;
    --bs-btn-bg: #28a745;
    --bs-btn-border-color: #28a745;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #218838;
    --bs-btn-hover-border-color: #1e7e34;
    --bs-btn-focus-shadow-rgb: 72, 180, 97;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #1e7e34;
    --bs-btn-active-border-color: #1c7430;
    --bs-btn-disabled-color: #fff;
    --bs-btn-disabled-bg: #28a745;
    --bs-btn-disabled-border-color: #28a745;
}

.btn-info {
    --bs-btn-color: #fff;
    --bs-btn-bg: #17a2b8;
    --bs-btn-border-color: #17a2b8;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #138496;
    --bs-btn-hover-border-color: #117a8b;
    --bs-btn-focus-shadow-rgb: 58, 176, 195;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #117a8b;
    --bs-btn-active-border-color: #10707f;
    --bs-btn-disabled-color: #fff;
    --bs-btn-disabled-bg: #17a2b8;
    --bs-btn-disabled-border-color: #17a2b8;
}

.btn-warning {
    --bs-btn-color: #1f2d3d;
    --bs-btn-bg: #ffc107;
    --bs-btn-border-color: #ffc107;
    --bs-btn-hover-color: #1f2d3d;
    --bs-btn-hover-bg: #e0a800;
    --bs-btn-hover-border-color: #d39e00;
    --bs-btn-focus-shadow-rgb: 221, 171, 15;
    --bs-btn-active-color: #1f2d3d;
    --bs-btn-active-bg: #d39e00;
    --bs-btn-active-border-color: #c69500;
    --bs-btn-disabled-color: #1f2d3d;
    --bs-btn-disabled-bg: #ffc107;
    --bs-btn-disabled-border-color: #ffc107;
}

.btn-danger {
    --bs-btn-color: #fff;
    --bs-btn-bg: #dc3545;
    --bs-btn-border-color: #dc3545;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #c82333;
    --bs-btn-hover-border-color: #bd2130;
    --bs-btn-focus-shadow-rgb: 225, 83, 97;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #bd2130;
    --bs-btn-active-border-color: #b21f2d;
    --bs-btn-disabled-color: #fff;
    --bs-btn-disabled-bg: #dc3545;
    --bs-btn-disabled-border-color: #dc3545;
}

.btn-light {
    --bs-btn-color: #1f2d3d;
    --bs-btn-bg: #f8f9fa;
    --bs-btn-border-color: #f8f9fa;
    --bs-btn-hover-color: #1f2d3d;
    --bs-btn-hover-bg: #e2e6ea;
    --bs-btn-hover-border-color: #dae0e5;
    --bs-btn-focus-shadow-rgb: 215, 218, 222;
    --bs-btn-active-color: #1f2d3d;
    --bs-btn-active-bg: #dae0e5;
    --bs-btn-active-border-color: #d3d9df;
    --bs-btn-disabled-color: #1f2d3d;
    --bs-btn-disabled-bg: #f8f9fa;
    --bs-btn-disabled-border-color: #f8f9fa;
}

.btn-dark {
    --bs-btn-color: #fff;
    --bs-btn-bg: #343a40;
    --bs-btn-border-color: #343a40;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #23272b;
    --bs-btn-hover-border-color: #1d2124;
    --bs-btn-focus-shadow-rgb: 82, 88, 93;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #1d2124;
    --bs-btn-active-border-color: #171a1d;
    --bs-btn-disabled-color: #fff;
    --bs-btn-disabled-bg: #343a40;
    --bs-btn-disabled-border-color: #343a40;
}

.btn-outline-primary { --bs-btn-color: var(--app-primary, #3c8dbc); --bs-btn-border-color: var(--app-primary, #3c8dbc); --bs-btn-hover-color: #fff; --bs-btn-hover-bg: var(--app-primary, #3c8dbc); --bs-btn-hover-border-color: var(--app-primary, #3c8dbc); --bs-btn-active-color: #fff; --bs-btn-active-bg: var(--app-primary, #3c8dbc); --bs-btn-active-border-color: var(--app-primary, #3c8dbc); }
.btn-outline-secondary { --bs-btn-color: #6c757d; --bs-btn-border-color: #6c757d; --bs-btn-hover-color: #fff; --bs-btn-hover-bg: #6c757d; --bs-btn-hover-border-color: #6c757d; --bs-btn-active-color: #fff; --bs-btn-active-bg: #6c757d; --bs-btn-active-border-color: #6c757d; }
.btn-outline-success { --bs-btn-color: #28a745; --bs-btn-border-color: #28a745; --bs-btn-hover-color: #fff; --bs-btn-hover-bg: #28a745; --bs-btn-hover-border-color: #28a745; --bs-btn-active-color: #fff; --bs-btn-active-bg: #28a745; --bs-btn-active-border-color: #28a745; }
.btn-outline-info { --bs-btn-color: #17a2b8; --bs-btn-border-color: #17a2b8; --bs-btn-hover-color: #fff; --bs-btn-hover-bg: #17a2b8; --bs-btn-hover-border-color: #17a2b8; --bs-btn-active-color: #fff; --bs-btn-active-bg: #17a2b8; --bs-btn-active-border-color: #17a2b8; }
.btn-outline-warning { --bs-btn-color: #ffc107; --bs-btn-border-color: #ffc107; --bs-btn-hover-color: #1f2d3d; --bs-btn-hover-bg: #ffc107; --bs-btn-hover-border-color: #ffc107; --bs-btn-active-color: #1f2d3d; --bs-btn-active-bg: #ffc107; --bs-btn-active-border-color: #ffc107; }
.btn-outline-danger { --bs-btn-color: #dc3545; --bs-btn-border-color: #dc3545; --bs-btn-hover-color: #fff; --bs-btn-hover-bg: #dc3545; --bs-btn-hover-border-color: #dc3545; --bs-btn-active-color: #fff; --bs-btn-active-bg: #dc3545; --bs-btn-active-border-color: #dc3545; }
.btn-outline-light { --bs-btn-color: #f8f9fa; --bs-btn-border-color: #f8f9fa; --bs-btn-hover-color: #1f2d3d; --bs-btn-hover-bg: #f8f9fa; --bs-btn-hover-border-color: #f8f9fa; --bs-btn-active-color: #1f2d3d; --bs-btn-active-bg: #f8f9fa; --bs-btn-active-border-color: #f8f9fa; }
.btn-outline-dark { --bs-btn-color: #343a40; --bs-btn-border-color: #343a40; --bs-btn-hover-color: #fff; --bs-btn-hover-bg: #343a40; --bs-btn-hover-border-color: #343a40; --bs-btn-active-color: #fff; --bs-btn-active-bg: #343a40; --bs-btn-active-border-color: #343a40; }

.bg-primary { background-color: var(--app-primary, #3c8dbc) !important; }
.bg-secondary { background-color: #6c757d !important; }
.bg-success { background-color: #20c997 !important; }
.bg-info { background-color: #17a2b8 !important; }
.bg-warning { background-color: #ffc107 !important; }
.bg-danger { background-color: #cc8f95 !important; }
.bg-light { background-color: #f8f9fa !important; }
.bg-dark { background-color: #343a40 !important; }

.bg-primary, .bg-primary > a,
.bg-secondary, .bg-secondary > a,
.bg-success, .bg-success > a,
.bg-info, .bg-info > a,
.bg-danger, .bg-danger > a,
.bg-dark, .bg-dark > a {
    color: #fff !important;
}

.bg-warning, .bg-warning > a,
.bg-light, .bg-light > a {
    color: #1f2d3d !important;
}

a.bg-primary:hover, a.bg-primary:focus, button.bg-primary:hover, button.bg-primary:focus { background-color: #0062cc !important; }
a.bg-secondary:hover, a.bg-secondary:focus, button.bg-secondary:hover, button.bg-secondary:focus { background-color: #545b62 !important; }
a.bg-success:hover, a.bg-success:focus, button.bg-success:hover, button.bg-success:focus { background-color: #1e7e34 !important; }
a.bg-info:hover, a.bg-info:focus, button.bg-info:hover, button.bg-info:focus { background-color: #117a8b !important; }
a.bg-warning:hover, a.bg-warning:focus, button.bg-warning:hover, button.bg-warning:focus { background-color: #d39e00 !important; }
a.bg-danger:hover, a.bg-danger:focus, button.bg-danger:hover, button.bg-danger:focus { background-color: #bd2130 !important; }
a.bg-light:hover, a.bg-light:focus, button.bg-light:hover, button.bg-light:focus { background-color: #dae0e5 !important; }
a.bg-dark:hover, a.bg-dark:focus, button.bg-dark:hover, button.bg-dark:focus { background-color: #1d2124 !important; }

.text-primary { color: var(--app-primary, #3c8dbc) !important; }
.text-secondary { color: #6c757d !important; }
.text-success { color: #28a745 !important; }
.text-info { color: #17a2b8 !important; }
.text-warning { color: #ffc107 !important; }
.text-danger { color: #dc3545 !important; }
.text-light { color: #f8f9fa !important; }
.text-dark { color: #343a40 !important; }

a.text-primary:hover, a.text-primary:focus { color: #0056b3 !important; }
a.text-secondary:hover, a.text-secondary:focus { color: #494f54 !important; }
a.text-success:hover, a.text-success:focus { color: #19692c !important; }
a.text-info:hover, a.text-info:focus { color: #0f6674 !important; }
a.text-warning:hover, a.text-warning:focus { color: #ba8b00 !important; }
a.text-danger:hover, a.text-danger:focus { color: #a71d2a !important; }
a.text-light:hover, a.text-light:focus { color: #cbd3da !important; }
a.text-dark:hover, a.text-dark:focus { color: #121416 !important; }

.border-primary { border-color: var(--app-primary, #3c8dbc) !important; }
.border-secondary { border-color: #6c757d !important; }
.border-success { border-color: #28a745 !important; }
.border-info { border-color: #17a2b8 !important; }
.border-warning { border-color: #ffc107 !important; }
.border-danger { border-color: #dc3545 !important; }
.border-light { border-color: #f8f9fa !important; }
.border-dark { border-color: #343a40 !important; }

.text-bg-primary { color: #fff !important; background-color: var(--app-primary, #3c8dbc) !important; }
.text-bg-secondary { color: #fff !important; background-color: #6c757d !important; }
.text-bg-success { color: #fff !important; background-color: #20c997 !important; }
.text-bg-info { color: #fff !important; background-color: #17a2b8 !important; }
.text-bg-warning { color: #1f2d3d !important; background-color: #ffc107 !important; }
.text-bg-danger { color: #fff !important; background-color: #cc8f95 !important; }
.text-bg-light { color: #1f2d3d !important; background-color: #f8f9fa !important; }
.text-bg-dark { color: #fff !important; background-color: #343a40 !important; }

.alert-primary { --bs-alert-color: #004085; --bs-alert-bg: #cce5ff; --bs-alert-border-color: #b8daff; --bs-alert-link-color: #002752; }
.alert-secondary { --bs-alert-color: #383d41; --bs-alert-bg: #e2e3e5; --bs-alert-border-color: #d6d8db; --bs-alert-link-color: #202326; }
.alert-success { --bs-alert-color: #155724; --bs-alert-bg: #d4edda; --bs-alert-border-color: #c3e6cb; --bs-alert-link-color: #0b2e13; }
.alert-info { --bs-alert-color: #0c5460; --bs-alert-bg: #d1ecf1; --bs-alert-border-color: #bee5eb; --bs-alert-link-color: #062c33; }
.alert-warning { --bs-alert-color: #856404; --bs-alert-bg: #fff3cd; --bs-alert-border-color: #ffeeba; --bs-alert-link-color: #533f03; }
.alert-danger { --bs-alert-color: #721c24; --bs-alert-bg: #f8d7da; --bs-alert-border-color: #f5c6cb; --bs-alert-link-color: #491217; }
.alert-light { --bs-alert-color: #818182; --bs-alert-bg: #fefefe; --bs-alert-border-color: #fdfdfe; --bs-alert-link-color: #686868; }
.alert-dark { --bs-alert-color: #1b1e21; --bs-alert-bg: #d6d8d9; --bs-alert-border-color: #c6c8ca; --bs-alert-link-color: #040505; }

.list-group-item-primary { color: #004085; background-color: #b8daff; }
.list-group-item-secondary { color: #383d41; background-color: #d6d8db; }
.list-group-item-success { color: #155724; background-color: #c3e6cb; }
.list-group-item-info { color: #0c5460; background-color: #bee5eb; }
.list-group-item-warning { color: #856404; background-color: #ffeeba; }
.list-group-item-danger { color: #721c24; background-color: #f5c6cb; }
.list-group-item-light { color: #818182; background-color: #fdfdfe; }
.list-group-item-dark { color: #1b1e21; background-color: #c6c8ca; }

.table-primary { --bs-table-color: #212529; --bs-table-bg: #b8daff; }
.table-secondary { --bs-table-color: #212529; --bs-table-bg: #d6d8db; }
.table-success { --bs-table-color: #212529; --bs-table-bg: #c3e6cb; }
.table-info { --bs-table-color: #212529; --bs-table-bg: #bee5eb; }
.table-warning { --bs-table-color: #212529; --bs-table-bg: #ffeeba; }
.table-danger { --bs-table-color: #212529; --bs-table-bg: #f5c6cb; }
.table-light { --bs-table-color: #212529; --bs-table-bg: #fdfdfe; }
.table-dark { --bs-table-color: #fff; --bs-table-bg: #212529; }

/* Bootstrap 4's neutral button, used by the original DataTable toolbars. */
.btn-default {
    --bs-btn-color: #444;
    --bs-btn-bg: #f8f9fa;
    --bs-btn-border-color: #ddd;
    --bs-btn-hover-color: #2b2b2b;
    --bs-btn-hover-bg: #e9ecef;
    --bs-btn-hover-border-color: #ddd;
    --bs-btn-active-color: #2b2b2b;
    --bs-btn-active-bg: #e9ecef;
    --bs-btn-active-border-color: #ddd;
    --bs-btn-disabled-color: #444;
    --bs-btn-disabled-bg: #f8f9fa;
    --bs-btn-disabled-border-color: #ddd;
    background-color: #f8f9fa;
    border-color: #ddd;
    color: #444;
}

.btn-default:hover,
.btn-default:active,
.btn-default.hover {
    background-color: #e9ecef;
    border-color: #ddd;
    color: #2b2b2b;
}

@media (max-width: 767.98px) {
    #adminSidebarAlt {
        top: 0;
        bottom: 0;
    }
}

/* Flat theme: disable visual shadows without editing generated AdminLTE CSS. */
:root {
    --bs-box-shadow: none;
    --bs-box-shadow-sm: none;
    --bs-box-shadow-lg: none;
    --bs-box-shadow-inset: none;
}

body *,
body *::before,
body *::after {
    box-shadow: none !important;
    text-shadow: none !important;
}

/* Preserve the original 2021 login card while keeping the rest of the theme flat. */
.card.o-hidden.border-0.shadow-lg {
    overflow: hidden !important;
    box-shadow: 0 1rem 3rem rgba(0, 0, 0, .175) !important;
}

/* Bootstrap uses this inset shadow as a colour layer, not as visual depth. */
.table > :not(caption) > * > * {
    box-shadow: inset 0 0 0 9999px var(--bs-table-bg-state, var(--bs-table-bg-type, var(--bs-table-accent-bg))) !important;
}

/* Keep keyboard focus visible after removing Bootstrap's shadow-based rings. */
:focus-visible {
    outline: 2px solid var(--bs-primary, #0d6efd);
    outline-offset: 2px;
}

/* Shared AJAX form modal: use the requested viewport width instead of modal-xl's fixed cap. */
#modal-bs .modal-dialog {
    width: 90vw;
    max-width: 90vw;
    margin-right: auto;
    margin-left: auto;
}


/* Fondos degradados de AdminLTE 3 (bg-gradient-*), que AdminLTE 4 ya no trae. Los usan
   cabeceras de tabla, resúmenes y tarjetas de varias webs: sin esto salían sin fondo. */
.bg-gradient-primary { background: #007bff linear-gradient(180deg, #268fff, #007bff) repeat-x !important; color: #fff; }
.bg-gradient-secondary { background: #6c757d linear-gradient(180deg, #828a91, #6c757d) repeat-x !important; color: #fff; }
.bg-gradient-success { background: #28a745 linear-gradient(180deg, #48b461, #28a745) repeat-x !important; color: #fff; }
.bg-gradient-info { background: #17a2b8 linear-gradient(180deg, #3aafc3, #17a2b8) repeat-x !important; color: #fff; }
.bg-gradient-warning { background: #ffc107 linear-gradient(180deg, #ffca2c, #ffc107) repeat-x !important; color: #1f2d3d; }
.bg-gradient-danger { background: #dc3545 linear-gradient(180deg, #e15361, #dc3545) repeat-x !important; color: #fff; }
.bg-gradient-light { background: #f8f9fa linear-gradient(180deg, #f9fafb, #f8f9fa) repeat-x !important; color: #1f2d3d; }
.bg-gradient-dark { background: #343a40 linear-gradient(180deg, #52585d, #343a40) repeat-x !important; color: #fff; }
.bg-gradient-gray { background: #6c757d linear-gradient(180deg, #828a91, #6c757d) repeat-x !important; color: #fff; }

/* En iOS, un campo con letra de menos de 16px hace que Safari amplíe la página al enfocarlo
   y el usuario se queda con la pantalla descuadrada. El tema pone la letra de los campos a
   12,6px (raíz de 14px), así que en pantallas pequeñas se sube a 16px. Estaba solo en
   CasaGalicia2026 (lo usan socios desde el móvil), pero el problema es de todas las webs. */
@media (max-width: 767.98px) {
    input:not([type="checkbox"]):not([type="radio"]),
    select,
    textarea,
    .mbsc-control {
        font-size: 16px !important;
    }
}
