@charset "utf-8";
/* ==========================================================================
   MARCA — Cereales 25
   Fuente: Manual de marca (Manual-cereales25.pdf) + sitio institucional.
   Se carga DESPUÉS de style.css (Star Admin2) y atci.css, y ANTES de los
   $styles de cada página/módulo. Único bloque a tocar para re-skinear:
   los tokens --c25-* de :root.
   ========================================================================== */

@font-face { font-family: 'D-DIN'; src: url('../fonts/c25/D-DIN.woff2') format('woff2'); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: 'D-DIN'; src: url('../fonts/c25/D-DIN-Bold.woff2') format('woff2'); font-weight: 700; font-style: normal; font-display: swap; }
@font-face { font-family: 'D-DIN Condensed'; src: url('../fonts/c25/D-DINCondensed.woff2') format('woff2'); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: 'D-DIN Condensed'; src: url('../fonts/c25/D-DINCondensed-Bold.woff2') format('woff2'); font-weight: 700; font-style: normal; font-display: swap; }

:root {
  /* Paleta oficial (valores exactos del manual) */
  --c25-verde:        #14341E;   /* PANTONE 350 C  */
  --c25-naranja:      #EA9B34;   /* PANTONE 1385 C */
  --c25-beige:        #FAF8F6;   /* PANTONE 9224 C */
  /* Tonos derivados (sitio institucional) */
  --c25-verde-600:    #1D4A2A;
  --c25-verde-700:    #0F2716;
  --c25-verde-300:    #C2D0C4;
  --c25-verde-200:    #DCE4DD;
  --c25-verde-100:    #EEF2EE;
  --c25-naranja-700:  #8A5410;
  --c25-naranja-100:  #FBEBD6;
  --c25-superficie:   #EBE7DF;
  --c25-texto:        #1A1C19;
  --c25-texto-suave:  #5C6259;
  --c25-borde:        #E3DFD6;

  --c25-font-titulo:  'D-DIN Condensed', 'Barlow Condensed', 'Arial Narrow', sans-serif;
  --c25-font-cuerpo:  'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif;

  /* Bootstrap 5 */
  --bs-primary: #14341E;
  --bs-primary-rgb: 20, 52, 30;
  --bs-secondary: #EA9B34;
  --bs-secondary-rgb: 234, 155, 52;
  --bs-link-color: #14341E;
  --bs-link-color-rgb: 20, 52, 30;
  --bs-link-hover-color: #1D4A2A;
  --bs-link-hover-color-rgb: 29, 74, 42;
  --bs-body-font-family: var(--c25-font-cuerpo);
  --bs-body-color: #1A1C19;
  --bs-body-bg: #FAF8F6;
}

/* --------------------------------------------------------------------------
   Tipografía
   -------------------------------------------------------------------------- */
body, .sidebar, .navbar, .form-control, .form-select, .dropdown-menu, .table,
.select2-container, .swal2-popup, .tooltip, .popover {
  font-family: var(--c25-font-cuerpo);
}
body { color: var(--c25-texto); background: var(--c25-beige); }

h1, h2, h3, h4, h5, .h1, .h2, .h3, .h4, .h5,
.card-title, .card .card-title, .modal-title, .page-title,
.welcome-text, .swal2-title, .nav-tabs .nav-link, .nav-pills .nav-link {
  font-family: var(--c25-font-titulo);
  letter-spacing: .02em;
}
h1, h2, h3, h4, .h1, .h2, .h3, .h4, .card-title, .card .card-title, .modal-title {
  color: var(--c25-verde-700);
}
.card .card-title { font-weight: 700; text-transform: none; font-size: 1.15rem; }
h6 { color: var(--c25-verde-700); }

a { color: var(--c25-verde); }
a:hover { color: var(--c25-verde-600); }

.text-primary  { color: var(--c25-verde) !important; }
.text-secondary-brand, .text-naranja { color: var(--c25-naranja-700) !important; }
.bg-primary    { background-color: var(--c25-verde) !important; }
.bg-naranja    { background-color: var(--c25-naranja) !important; }
.border-primary{ border-color: var(--c25-verde) !important; }

/* --------------------------------------------------------------------------
   Estructura: fondo, barra superior, logo
   -------------------------------------------------------------------------- */
.content-wrapper,
.navbar .navbar-brand-wrapper,
.navbar .navbar-menu-wrapper { background: var(--c25-beige); }

.navbar .navbar-menu-wrapper { border-bottom: 1px solid var(--c25-borde); }
.navbar .navbar-brand-wrapper { border-bottom: 1px solid var(--c25-borde); }

.navbar .navbar-brand-wrapper .navbar-brand.brand-logo img { height: 44px; width: auto; }
.navbar .navbar-brand-wrapper .navbar-brand.brand-logo-mini img { height: 40px; width: auto; }

.navbar .navbar-menu-wrapper .navbar-nav .nav-item .welcome-text { color: var(--c25-verde-700); font-weight: 700; }
.navbar .navbar-menu-wrapper .navbar-nav .nav-item .welcome-text .text-black { color: var(--c25-verde) !important; }
.navbar .navbar-menu-wrapper .navbar-nav .nav-item .welcome-sub-text { color: var(--c25-texto-suave); }
.navbar .navbar-menu-wrapper .count-indicator .count { background: var(--c25-naranja); border-color: var(--c25-beige); }

.footer { background: var(--c25-beige); border-top: 1px solid var(--c25-borde); }
.footer .text-success, .footer a.text-success { color: var(--c25-verde) !important; }

/* --------------------------------------------------------------------------
   Sidebar verde
   -------------------------------------------------------------------------- */
.sidebar { background: var(--c25-verde); font-family: var(--c25-font-cuerpo); }

.sidebar .nav .nav-item .nav-link,
.sidebar .nav .nav-item .nav-link i,
.sidebar .nav .nav-item .nav-link i.menu-icon,
.sidebar .nav .nav-item .nav-link .menu-title,
.sidebar .nav .nav-item .nav-link .menu-arrow {
  color: rgba(250, 248, 246, .82) !important;
}
.sidebar .nav .nav-item .nav-link .menu-title {
  font-family: var(--c25-font-titulo);
  font-size: 15px;
  letter-spacing: .04em;
}
.sidebar .nav .nav-item.nav-category { color: var(--c25-naranja); font-family: var(--c25-font-titulo); letter-spacing: .12em; }

/* Hover */
.sidebar .nav:not(.sub-menu) > .nav-item:hover > .nav-link,
.sidebar .nav:not(.sub-menu) > .nav-item:hover[aria-expanded=true] {
  background: var(--c25-verde-600) !important;
}
.sidebar .nav .nav-item:hover > .nav-link i,
.sidebar .nav .nav-item:hover > .nav-link i.menu-icon,
.sidebar .nav .nav-item:hover > .nav-link .menu-title,
.sidebar .nav .nav-item:hover > .nav-link .menu-arrow {
  color: var(--c25-beige) !important;
}

/* Activo: barra naranja a la izquierda + texto/ícono naranja */
.sidebar .nav .nav-item.active > .nav-link,
.sidebar .nav:not(.sub-menu) > .nav-item > .nav-link[aria-expanded=true] {
  background: var(--c25-verde-700) !important;
  box-shadow: inset 4px 0 0 var(--c25-naranja);
}
.sidebar .nav .nav-item.active > .nav-link i,
.sidebar .nav .nav-item.active > .nav-link i.menu-icon,
.sidebar .nav .nav-item.active > .nav-link .menu-title,
.sidebar .nav .nav-item.active > .nav-link .menu-arrow,
.sidebar .nav:not(.sub-menu) > .nav-item > .nav-link[aria-expanded=true] .menu-title,
.sidebar .nav:not(.sub-menu) > .nav-item > .nav-link[aria-expanded=true] i {
  color: var(--c25-naranja) !important;
}

/* Submenú */
.sidebar .nav.sub-menu { background: var(--c25-verde-700) !important; }
.sidebar .nav.sub-menu .nav-item .nav-link { color: rgba(250, 248, 246, .75) !important; }
.sidebar .nav.sub-menu .nav-item .nav-link:hover { color: var(--c25-beige) !important; }
.sidebar .nav.sub-menu .nav-item .nav-link.active { color: var(--c25-naranja) !important; }

/* Sidebar colapsado (sidebar-icon-only): el tema pinta de blanco el sidebar,
   el recuadro del logo y el título flotante con selectores más específicos. */
@media (min-width: 992px) {
  .sidebar-icon-only .sidebar { background: var(--c25-verde) !important; }
  .sidebar-icon-only .navbar .navbar-brand-wrapper { background: var(--c25-beige) !important; }
  .sidebar-icon-only .sidebar .nav .nav-item .nav-link { border-radius: 0 !important; }
  .sidebar-icon-only .sidebar .nav .nav-item .nav-link .menu-title { background: var(--c25-verde-600) !important; }
  .sidebar-icon-only .sidebar .nav .nav-item .nav-link i.menu-icon { font-size: 1.25rem; }
  .sidebar-icon-only .sidebar .nav .nav-item.hover-open .nav-link .menu-title,
  .sidebar-icon-only .sidebar .nav .nav-item.hover-open .nav-link:hover .menu-title {
    background: var(--c25-verde-600) !important;
    color: var(--c25-beige) !important;
    box-shadow: 4px 0 10px rgba(15, 39, 22, .25);
  }
  .sidebar-icon-only .sidebar .nav .nav-item.hover-open .collapse,
  .sidebar-icon-only .sidebar .nav .nav-item.hover-open .collapsing {
    background: var(--c25-verde-700) !important;
    box-shadow: 4px 4px 10px rgba(15, 39, 22, .25);
  }
}
/* Mobile off-canvas */
@media (max-width: 991px) {
  .sidebar-offcanvas { background: var(--c25-verde); }
}

/* --------------------------------------------------------------------------
   Botones (como el sitio: verde + texto beige, mayúsculas, radio 9px)
   -------------------------------------------------------------------------- */
.btn { border-radius: 9px; }
.btn-primary, .btn-success {
  --bs-btn-color: #FAF8F6;
  --bs-btn-bg: #14341E;
  --bs-btn-border-color: #14341E;
  --bs-btn-hover-color: #FAF8F6;
  --bs-btn-hover-bg: #1D4A2A;
  --bs-btn-hover-border-color: #1D4A2A;
  --bs-btn-active-color: #FAF8F6;
  --bs-btn-active-bg: #0F2716;
  --bs-btn-active-border-color: #0F2716;
  --bs-btn-disabled-color: #FAF8F6;
  --bs-btn-disabled-bg: #14341E;
  --bs-btn-disabled-border-color: #14341E;
  --bs-btn-focus-shadow-rgb: 234, 155, 52;
  background: var(--c25-verde) !important;
  border-color: var(--c25-verde) !important;
  color: var(--c25-beige) !important;
  /*font-family: var(--c25-font-titulo);
  letter-spacing: .08em;
  text-transform: uppercase;*/
font-family:"Manrope", sans-serif;
}
.btn-primary:hover, .btn-primary:focus, .btn-primary:active, .btn-primary.active,
.btn-success:hover, .btn-success:focus, .btn-success:active, .btn-success.active {
  background: var(--c25-verde-600) !important;
  border-color: var(--c25-verde-600) !important;
  color: var(--c25-beige) !important;
}
.btn-primary i, .btn-success i { color: inherit !important; }

.btn-outline-primary, .btn-outline-success {
  color: var(--c25-verde) !important;
  border-color: var(--c25-verde) !important;
  background: transparent !important;
}
.btn-outline-primary:hover, .btn-outline-success:hover {
  color: var(--c25-beige) !important;
  background: var(--c25-verde) !important;
}

/* Acento naranja: texto verde oscuro encima (contraste suficiente) */
.btn-naranja {
  background: var(--c25-naranja) !important;
  border-color: var(--c25-naranja) !important;
  color: var(--c25-verde-700) !important;
}
.btn-naranja:hover {
  background: #D98A22 !important;
  border-color: #D98A22 !important;
  color: var(--c25-verde-700) !important;
}

.btn:focus-visible, .form-control:focus, .form-select:focus {
  box-shadow: 0 0 0 .2rem rgba(234, 155, 52, .35) !important;
}

/* --------------------------------------------------------------------------
   Formularios
   -------------------------------------------------------------------------- */
.form-control:focus, .form-select:focus,
.select2-container--default.select2-container--focus .select2-selection--multiple,
.select2-container--default.select2-container--open .select2-selection--single {
  border-color: var(--c25-naranja) !important;
}
.form-check-input:checked { background-color: var(--c25-verde); border-color: var(--c25-verde); }
.form-check .form-check-label input:checked + .input-helper:before { background: var(--c25-verde); border-color: var(--c25-verde); }
.form-switch .form-check-input:checked { background-color: var(--c25-verde); }

.select2-container--default .select2-results__option--highlighted[aria-selected],
.select2-container--default .select2-results__option--highlighted.select2-results__option--selectable {
  background-color: var(--c25-verde) !important;
  color: var(--c25-beige) !important;
}
.select2-container--default .select2-selection--multiple .select2-selection__choice {
  background-color: var(--c25-verde-100) !important;
  border-color: var(--c25-verde-300) !important;
  color: var(--c25-verde) !important;
}

.datepicker table tr td.active, .datepicker table tr td.active:hover,
.datepicker table tr td.active.active, .datepicker table tr td.today {
  background: var(--c25-verde) !important;
  color: var(--c25-beige) !important;
}

/* --------------------------------------------------------------------------
   Tarjetas, tablas, tabs, paginación, badges
   -------------------------------------------------------------------------- */
.card { border-color: var(--c25-borde); }

.table thead th, .table > thead > tr > th {
  color: var(--c25-verde-700);
  border-bottom-color: var(--c25-verde-300);
}
.table-hover > tbody > tr:hover > * { background-color: var(--c25-verde-100); }

.nav-tabs .nav-link.active, .nav-tabs .nav-item.show .nav-link {
  color: var(--c25-verde) !important;
  border-bottom: 2px solid var(--c25-naranja) !important;
}
.nav-tabs .nav-link:hover { color: var(--c25-verde-600); }
.nav-pills .nav-link.active, .nav-pills .show > .nav-link {
  background: var(--c25-verde) !important;
  color: var(--c25-beige) !important;
}

.page-item.active .page-link,
.dataTables_wrapper .dataTables_paginate .paginate_button.current,
.dataTables_wrapper .dataTables_paginate .paginate_button.current:hover {
  background: var(--c25-verde) !important;
  border-color: var(--c25-verde) !important;
  color: var(--c25-beige) !important;
}
.page-link { color: var(--c25-verde); }
.page-link:hover { color: var(--c25-verde-600); background: var(--c25-verde-100); }

.badge.badge-primary, .badge.bg-primary, .badge-opacity-primary { background: var(--c25-verde) !important; color: var(--c25-beige) !important; }
.badge.badge-naranja { background: var(--c25-naranja) !important; color: var(--c25-verde-700) !important; }

.progress-bar { background-color: var(--c25-verde); }
.dropdown-item.active, .dropdown-item:active { background: var(--c25-verde); color: var(--c25-beige); }
.spinner-border.text-primary { color: var(--c25-naranja) !important; }

/* --------------------------------------------------------------------------
   SweetAlert2 (red de seguridad; los confirmButtonColor explícitos mandan)
   -------------------------------------------------------------------------- */
.swal2-popup { border-radius: 14px; }
.swal2-title { color: var(--c25-verde-700) !important; font-weight: 700; }
.swal2-styled.swal2-confirm { font-family: var(--c25-font-titulo); letter-spacing: .08em; text-transform: uppercase; border-radius: 9px !important; }
.swal2-styled.swal2-cancel, .swal2-styled.swal2-deny { font-family: var(--c25-font-titulo); letter-spacing: .08em; text-transform: uppercase; border-radius: 9px !important; }
.swal2-icon.swal2-info { border-color: var(--c25-verde-300) !important; color: var(--c25-verde) !important; }
.swal2-icon.swal2-question { border-color: var(--c25-naranja) !important; color: var(--c25-naranja) !important; }
.swal2-icon.swal2-success .swal2-success-ring { border-color: rgba(20, 52, 30, .3) !important; }
.swal2-icon.swal2-success [class^=swal2-success-line] { background-color: var(--c25-verde) !important; }
.swal2-timer-progress-bar { background: var(--c25-naranja) !important; }

/* --------------------------------------------------------------------------
   Restos del celeste ATCI escritos con !important en style.css (compilado):
   spinner de carga, pestañas .home-tab y la ✕ del panel de filtros.
   -------------------------------------------------------------------------- */
.overlay-spinner { background: rgba(250, 248, 246, .78); }
.jumping-dots-loader span { background-color: var(--c25-verde) !important; }
.jumping-dots-loader span:nth-child(2) { background-color: var(--c25-naranja) !important; }
.overlay-spinner .spinner-text { color: var(--c25-texto-suave); }

.home-tab .nav-tabs .nav-item .nav-link:hover { color: var(--c25-verde-600) !important; }
.home-tab .nav-tabs .nav-item .nav-link.active {
  color: var(--c25-verde) !important;
  border-bottom: 2px solid var(--c25-naranja) !important;
}
.settings-panel .settings-close { color: var(--c25-verde-600) !important; }

/* Avisos informativos: el tema los pinta con el celeste de ATCI (#51B1E1). */
.alert-fill-info { background: var(--c25-verde-600) !important; color: #fff !important; }
.alert-info { background: var(--c25-verde-100); border-color: var(--c25-verde-200); color: var(--c25-verde-700); }

/* Casilleros y radios simples (sin .form-check-input): el navegador los pinta de azul. */
input[type="checkbox"], input[type="radio"] { accent-color: var(--c25-verde); }
