/* ============================================================
   KIWI.CSS — Sistema de diseño CDK · Sin AdminLTE
   Bootstrap 5 + Layout propio
   ============================================================ */

/* ─── 1. VARIABLES — paleta unificada con portal principal ─ */
:root {
  /* Verdes principales (paleta del portal /principal y login) */
  --kiwi-darker:     #1b4d2e;   /* verde bosque — topbar / títulos / acentos fuertes */
  --kiwi-dark:       #2d6a4f;   /* verde medio — botones primarios, hover topbar */
  --kiwi-mid:        #3a8c52;   /* verde medio-claro — variantes */
  --kiwi-soft:       #40916c;   /* verde suave — secundarios */
  --kiwi-light:      #52b788;   /* verde claro — hover, focus rings */
  --kiwi-lime:       #74c436;   /* verde lima — acentos brillantes */
  --kiwi-pale:       #e8f5d8;   /* lima muy claro — fondos sutiles */
  --kiwi-cream:      #f0f7e4;   /* crema verdoso — card headers */
  --kiwi-bg:         #f5f7f5;   /* gris muy claro — fondo general */

  --color-success:   #1b4d2e;  --color-success-bg: #e8f5d8;
  --color-info:      #185FA5;  --color-info-bg:    #E6F1FB;
  --color-warning:   #854F0B;  --color-warning-bg: #FAEEDA;
  --color-danger:    #791F1F;  --color-danger-bg:  #FCEBEB;
  --color-teal:      #2d6a4f;  --color-teal-bg:    #d4ead8;

  --border-color:    #c8e8a8;
  --border-light:    #a8d68c;
  --border-card:     rgba(27,77,46,.55);   /* borde verde oscuro para cards */
  --border-card-hov: #1b4d2e;              /* borde verde sólido al hover */
  --text-primary:    #1b4d2e;
  --text-secondary:  #4a7a56;
  --text-muted:      #6b8f74;
  --text-link:       #2d6a4f;

  --sidebar-width:   250px;
  --topbar-height:   56px;
}

*, *::before, *::after { box-sizing: border-box; }

body {
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Arial, sans-serif;
  background: var(--kiwi-bg);
  color: var(--text-primary);
  margin: 0;
  -webkit-font-smoothing: antialiased;
}

/* ─── 2. TOPBAR ─────────────────────────────────────────── */
.kiwi-topbar {
  position: fixed;
  top: 0; left: 0; right: 0;
  height: var(--topbar-height);
  background: var(--kiwi-dark);
  display: flex;
  align-items: center;
  padding: 0 16px;
  z-index: 1050;
  box-shadow: 0 2px 8px rgba(0,0,0,.15);
}

.kiwi-topbar-toggle {
  background: none;
  border: none;
  color: rgba(255,255,255,.85);
  font-size: 16px;
  cursor: pointer;
  padding: 8px 12px;
  border-radius: 6px;
  transition: background .12s;
}
.kiwi-topbar-toggle:hover { background: rgba(255,255,255,.12); }

.kiwi-topbar-logo {
  display: flex;
  align-items: center;
  padding: 0 12px;
  height: 100%;
}
.kiwi-topbar-logo img { height: 36px; width: auto; display: block; }

.kiwi-topbar-sep {
  width: 1px;
  height: 28px;
  background: rgba(255,255,255,.25);
  margin: 0 12px;
}

.kiwi-topbar-module {
  color: #fff;
  font-size: 13px;
  font-weight: 600;
  white-space: nowrap;
}

.kiwi-topbar-spacer { flex: 1; }

.kiwi-topbar-user {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-right: 8px;
}

.kiwi-topbar-avatar {
  width: 30px; height: 30px;
  border-radius: 50%;
  background: rgba(255,255,255,.25);
  display: flex; align-items: center; justify-content: center;
  color: #fff;
  font-size: 11px;
  font-weight: 700;
}

.kiwi-topbar-username {
  color: rgba(255,255,255,.9);
  font-size: 12px;
}

.kiwi-topbar-logout {
  color: rgba(255,255,255,.75);
  font-size: 11px;
  padding: 5px 12px;
  border-radius: 5px;
  background: rgba(255,255,255,.12);
  text-decoration: none;
  transition: background .12s;
}
.kiwi-topbar-logout:hover { background: rgba(255,255,255,.22); color: #fff; }

/* ─── 3. SIDEBAR ────────────────────────────────────────── */
.kiwi-sidebar {
  position: fixed;
  top: var(--topbar-height);
  left: 0;
  width: var(--sidebar-width);
  height: calc(100vh - var(--topbar-height));
  background: #f0f7e4;
  border-right: 1px solid #a8d68c;
  overflow-y: auto;
  z-index: 1040;
  transition: transform .2s ease;
}

.ks-user {
  padding: 12px 16px;
  border-bottom: 1px solid #a8d68c;
}
.ks-role { font-size: 9px; color: #6a9472; text-transform: uppercase; letter-spacing: .05em; margin-bottom: 2px; }
.ks-name { font-size: 12px; color: var(--kiwi-dark); font-weight: 700; }
.ks-name small { font-size: 9px; color: #6a9472; font-weight: 400; }

.ks-nav { padding: 8px 0; }

.ks-item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 16px;
  font-size: 14px;
  color: #2a5c35;
  text-decoration: none;
  border-left: 3px solid transparent;
  transition: background .1s;
  cursor: pointer;
}
.ks-item:hover { background: #e2f0e6; color: #1a2e1c; text-decoration: none; }
.ks-item.active {
  background: #d6edd9;
  color: var(--kiwi-dark);
  font-weight: 700;
  border-left-color: var(--kiwi-dark);
}
.ks-item i:first-child { width: 16px; text-align: center; color: #6a9472; font-size: 13px; }
.ks-item.active i:first-child { color: var(--kiwi-dark); }

.ks-badge {
  margin-left: auto;
  background: var(--kiwi-dark);
  color: #fff;
  font-size: 9px;
  padding: 1px 6px;
  border-radius: 99px;
}

.ks-arrow {
  margin-left: 4px;
  font-size: 10px;
  transition: transform .15s;
}
.ks-group.open .ks-arrow { transform: rotate(180deg); }

.ks-submenu {
  display: none;
  padding: 2px 0 2px 28px;
}
.ks-group.open .ks-submenu { display: block; }

.ks-subitem {
  display: block;
  padding: 4px 16px;
  font-size: 14px;
  color: #2a5c35;
  text-decoration: none;
}
.ks-subitem:hover { color: var(--kiwi-dark); }
.ks-subitem.active { color: var(--kiwi-dark); font-weight: 600; }

.ks-divider {
  margin: 6px 16px;
  border-top: 1px solid #a8d68c;
}

/* Sidebar responsive */
@media (max-width: 991.98px) {
  .kiwi-sidebar { transform: translateX(-100%); }
  .kiwi-sidebar.open { transform: translateX(0); }
}

/* Collapsed (desktop) */
body.sidebar-collapsed .kiwi-sidebar { transform: translateX(-100%); }
body.sidebar-collapsed .kiwi-main,
body.sidebar-collapsed .kiwi-footer { margin-left: 0; }

/* Overlay mobile */
.kiwi-overlay {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,.35);
  z-index: 1035;
}
.kiwi-overlay.active { display: block; }

/* ─── 4. MAIN ───────────────────────────────────────────── */
.kiwi-main {
  margin-left: var(--sidebar-width);
  margin-top: var(--topbar-height);
  min-height: calc(100vh - var(--topbar-height));
  background: var(--kiwi-bg);
  transition: margin-left .2s ease;
}

@media (max-width: 991.98px) {
  .kiwi-main { margin-left: 0; }
}

/* ─── 5. FOOTER ─────────────────────────────────────────── */
.kiwi-footer {
  margin-left: var(--sidebar-width);
  background: var(--kiwi-bg);
  border-top: 1px solid var(--border-color);
  color: var(--text-secondary);
  font-size: 11px;
  padding: 10px 20px;
  transition: margin-left .2s ease;
}
.kiwi-footer a { color: var(--kiwi-darker); font-weight: 600; }

@media (max-width: 991.98px) {
  .kiwi-footer { margin-left: 0; }
}

/* ─── 6. CONTENT WRAPPER (para vistas que usan @yield) ─── */
.content-wrapper {
  padding: 0;
  background: var(--kiwi-bg);
}

.content-header {
  padding: 14px 22px 0;
}

.content-header h1 {
  font-size: 16px;
  font-weight: 700;
  color: var(--text-primary);
}

.content {
  padding: 0 22px 22px;
}

/* Breadcrumbs */
.breadcrumb { background: transparent; padding: 0; margin: 0; font-size: 11px; }
.breadcrumb-item a { color: var(--text-link); }
.breadcrumb-item.active { color: var(--text-muted); }

/* ─── 7. CARDS ──────────────────────────────────────────── */
.card {
  border: 1.5px solid var(--border-card);
  border-radius: 12px;
  box-shadow: 0 1px 4px rgba(27,77,46,.07);
  background: #fff;
}

.card-header {
  background: var(--kiwi-cream);
  border-bottom: 1px solid var(--border-light);
  padding: 12px 16px;
  font-size: 13px;
  font-weight: 700;
  color: var(--text-primary);
  border-radius: 12px 12px 0 0;
}

.card-body { padding: 16px; }

/* ─── 8. ACCESS CARDS ───────────────────────────────────── */
.kiwi-access-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
  margin-bottom: 20px;
}
.kiwi-access-grid.cols-2 { grid-template-columns: repeat(2, 1fr); }

@media (max-width: 992px) { .kiwi-access-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 576px) { .kiwi-access-grid { grid-template-columns: 1fr; } }

.kiwi-access-card {
  background: #fff;
  border: 1.5px solid var(--border-card);
  border-radius: 12px;
  padding: 16px 14px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  text-decoration: none !important;
  transition: border-color .15s, box-shadow .15s, transform .1s;
  cursor: pointer;
}
.kiwi-access-card:hover {
  border-color: var(--kiwi-light);
  box-shadow: 0 4px 12px rgba(27,77,46,.12);
  transform: translateY(-1px);
}

.kiwi-access-card-icon {
  width: 44px; height: 44px;
  border-radius: 10px;
  display: flex; align-items: center; justify-content: center;
  font-size: 20px;
}
.kiwi-access-card-icon.green  { background: var(--color-success-bg); }
.kiwi-access-card-icon.blue   { background: var(--color-info-bg); }
.kiwi-access-card-icon.amber  { background: var(--color-warning-bg); }
.kiwi-access-card-icon.teal   { background: var(--color-teal-bg); }
.kiwi-access-card-icon.purple { background: #EEEDFE; }
.kiwi-access-card-icon.gray   { background: #F1EFE8; }

.kiwi-access-card-title { font-size: 13px; font-weight: 700; color: var(--text-primary); margin: 0; }
.kiwi-access-card-desc  { font-size: 11px; color: var(--text-muted); line-height: 1.4; margin: 0; }
.kiwi-access-card-arrow { font-size: 11px; margin-top: auto; }

/* ─── 9. STATS CARDS ────────────────────────────────────── */
.kiwi-stats-row {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
  margin-bottom: 18px;
}
@media (max-width: 992px) { .kiwi-stats-row { grid-template-columns: repeat(2, 1fr); } }

.kiwi-stat-card {
  background: #fff;
  border: 1.5px solid var(--border-card);
  border-radius: 9px;
  padding: 12px 14px;
  display: flex;
  align-items: center;
  gap: 12px;
}
.kiwi-stat-icon {
  width: 38px; height: 38px;
  border-radius: 8px;
  display: flex; align-items: center; justify-content: center;
}
.kiwi-stat-number { font-size: 22px; font-weight: 700; color: var(--text-primary); line-height: 1; }
.kiwi-stat-label  { font-size: 10px; color: var(--text-muted); margin-top: 2px; }

/* ─── 10. WELCOME BAR ───────────────────────────────────── */
.kiwi-welcome {
  background: var(--kiwi-dark);
  border-radius: 12px;
  padding: 16px 20px;
  margin-bottom: 18px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.kiwi-welcome h2 { font-size: 15px; font-weight: 700; color: #fff; margin: 0 0 3px; }
.kiwi-welcome p  { font-size: 11px; color: rgba(255,255,255,.78); margin: 0; }
.kiwi-welcome-pill {
  background: rgba(255,255,255,.18);
  border-radius: 8px;
  padding: 8px 16px;
  text-align: center;
}
.kiwi-welcome-pill span   { font-size: 10px; color: rgba(255,255,255,.78); display: block; }
.kiwi-welcome-pill strong { font-size: 18px; font-weight: 700; color: #fff; display: block; }

/* ─── 11. BADGES ────────────────────────────────────────── */
.kiwi-badge {
  display: inline-block;
  padding: 2px 9px;
  border-radius: 5px;
  font-size: 10px;
  font-weight: 700;
  white-space: nowrap;
}
.kiwi-badge-success { background: var(--color-success-bg); color: var(--color-success); }
.kiwi-badge-info    { background: var(--color-info-bg);    color: var(--color-info); }
.kiwi-badge-warning { background: var(--color-warning-bg); color: var(--color-warning); }
.kiwi-badge-danger  { background: var(--color-danger-bg);  color: var(--color-danger); }

/* ─── 12. PANELS ────────────────────────────────────────── */
.kiwi-panel {
  background: #fff;
  border: 1.5px solid var(--border-card);
  border-radius: 12px;
  padding: 14px 16px;
}
.kiwi-panel-header {
  font-size: 12px; font-weight: 700; color: var(--text-primary);
  margin-bottom: 10px;
  display: flex; justify-content: space-between;
}
.kiwi-panel-link { font-size: 11px; color: var(--kiwi-dark); text-decoration: none; }

.kiwi-notif-item { display: flex; gap: 10px; padding: 6px 0; border-bottom: 1px solid #e8f5d8; }
.kiwi-notif-item:last-child { border-bottom: none; }
.kiwi-notif-dot  { width: 8px; height: 8px; border-radius: 50%; margin-top: 5px; flex-shrink: 0; }
.kiwi-notif-text { font-size: 11px; color: var(--text-primary); line-height: 1.35; }
.kiwi-notif-time { font-size: 10px; color: var(--text-muted); }

.kiwi-etapa-item { display: flex; align-items: center; gap: 10px; padding: 6px 0; border-bottom: 1px solid #e8f5d8; }
.kiwi-etapa-item:last-child { border-bottom: none; }
.kiwi-etapa-num {
  width: 22px; height: 22px; border-radius: 50%;
  background: var(--color-success-bg); color: var(--color-success);
  font-size: 10px; font-weight: 700;
  display: flex; align-items: center; justify-content: center;
}
.kiwi-etapa-label { font-size: 11px; color: var(--text-primary); flex: 1; }

.kiwi-section-label {
  font-size: 10px; font-weight: 700; color: var(--text-muted);
  text-transform: uppercase; letter-spacing: .07em;
  margin-bottom: 10px;
}

/* ─── 13. TABLAS ────────────────────────────────────────── */
.table thead th {
  background: var(--kiwi-cream) !important;
  color: #2a5c35 !important;
  font-size: 11px;
  font-weight: 700;
  border-bottom: 1px solid var(--border-light) !important;
}
.table tbody td {
  font-size: 12px;
  vertical-align: middle;
  border-bottom: 1px solid #eef5ee;
}
.table tbody tr:hover td { background: #f7fbf8 !important; }

/* DataTables overrides */
.dataTables_wrapper .dataTables_filter input {
  border: 1px solid var(--border-light);
  border-radius: 6px;
  padding: 5px 10px;
  font-size: 12px;
}
.dataTables_wrapper .dataTables_filter input:focus {
  outline: none;
  border-color: var(--kiwi-light);
  box-shadow: 0 0 0 3px rgba(103,189,91,.15);
}
.dataTables_wrapper .dataTables_info { font-size: 11px; color: var(--text-muted); }
.dataTables_wrapper .dataTables_paginate .paginate_button.current {
  background: var(--kiwi-dark) !important;
  border-color: var(--kiwi-dark) !important;
  color: #fff !important;
  border-radius: 6px;
}

/* ─── 14. FORMULARIOS ───────────────────────────────────── */
.form-control {
  border: 1px solid var(--border-light);
  border-radius: 9px;
  font-size: 13px;
  color: var(--text-primary);
}
.form-control:focus {
  border-color: var(--kiwi-light);
  box-shadow: 0 0 0 3px rgba(103,189,91,.18);
}

/* ─── 15. BOTONES ───────────────────────────────────────── */
.btn-success, .btn-kiwi {
  background-color: var(--kiwi-dark) !important;
  border-color: var(--kiwi-dark) !important;
  color: #fff !important;
  font-size: 12px;
  font-weight: 600;
  border-radius: 9px;
}
.btn-success:hover, .btn-kiwi:hover {
  background-color: var(--kiwi-mid) !important;
}

/* ─── 16. MODALES ───────────────────────────────────────── */
.modal-header {
  background: var(--kiwi-dark);
  color: #fff;
  border-radius: 0;
}
.modal-header .modal-title { font-size: 14px; font-weight: 700; color: #fff; }
.modal-header .btn-close { filter: invert(1); }
.modal-content { border: none; border-radius: 12px; }

/* ─── 17. ALERTAS ───────────────────────────────────────── */
.alert-success { background: var(--color-success-bg); border-color: var(--kiwi-light); color: var(--color-success); border-radius: 9px; }
.alert-info    { background: var(--color-info-bg);    border-color: #85B7EB;          color: var(--color-info);    border-radius: 9px; }
.alert-warning { background: var(--color-warning-bg); border-color: #F5C078;          color: var(--color-warning); border-radius: 9px; }
.alert-danger  { background: var(--color-danger-bg);  border-color: #F5A0A0;          color: var(--color-danger);  border-radius: 9px; }

/* ─── 18. CHOSEN ────────────────────────────────────────── */
.chosen-container .chosen-single,
.chosen-container .chosen-choices {
  border: 1px solid var(--border-light) !important;
  border-radius: 9px !important;
  background: #fff !important;
  box-shadow: none !important;
  font-size: 13px;
}
.chosen-container .chosen-results li.highlighted {
  background: var(--kiwi-dark) !important;
  color: #fff !important;
}

/* ─── 19. SCROLLBAR ─────────────────────────────────────── */
::-webkit-scrollbar { width: 6px; height: 6px; }
::-webkit-scrollbar-track { background: var(--kiwi-cream); }
::-webkit-scrollbar-thumb { background: var(--border-light); border-radius: 99px; }
::-webkit-scrollbar-thumb:hover { background: var(--kiwi-light); }

/* ─── 20. UTILIDADES ────────────────────────────────────── */
.text-kiwi     { color: var(--kiwi-dark) !important; }
.bg-kiwi       { background-color: var(--kiwi-dark) !important; }
.bg-kiwi-pale  { background-color: var(--kiwi-pale) !important; }
.bg-kiwi-cream { background-color: var(--kiwi-cream) !important; }

/* ─── 21. TABLAS — HELPERS ──────────────────────────────── */
.clscaja { display: none; }

table tbody tr:not(.nothover) { cursor: pointer; }
table tbody tr:not(.nothover):hover td,
table tbody tr:not(.nothover):hover th { background-color: #e7f1ab !important; }

.img-fluid-custom {
  max-width: 100%;
  max-height: 80vh;
  object-fit: contain;
}
@media (max-width: 767px) {
  .img-fluid-custom { max-height: 50vh; }
}

/* ─── 22. BOTONES DE ACCIÓN (tablas) ────────────────────── */
.btn-accion {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  border: none;
  border-radius: 6px;
  font-size: 10px;
  font-weight: 600;
  padding: 4px 9px;
  line-height: 1.3;
  cursor: pointer;
  white-space: nowrap;
  transition: filter .15s;
}
.btn-accion:hover  { filter: brightness(88%); }
.btn-accion i      { font-size: 11px; }
.btn-ac-ver        { background: #3a86c4; color: #fff; }
.btn-ac-editar     { background: #e8962a; color: #fff; }
.btn-ac-eliminar   { background: #e05252; color: #fff; }
.btn-ac-email      { background: #2f7bc4; color: #fff; }
.btn-ac-predios    { background: #20a8a0; color: #fff; }
.btn-ac-usuarios   { background: #2f86c4; color: #fff; }
.btn-ac-asociar    { background: #6c757d; color: #fff; }
.btn-ac-activar    { background: var(--kiwi-dark); color: #fff; }
.btn-ac-desactivar { background: #e05252; color: #fff; }
.btn-ac-ccalidad   { background: #8e44ad; color: #fff; }
.btn-ac-resultado  { background: #27ae60; color: #fff; }
.btn-ac-pdf        { background: #c0392b; color: #fff; }
.btn-ac-excel      { background: #1e8449; color: #fff; }

/* ─── 23. HERO BANNER (monitoreo / estimación) ──────────── */
.mon-hero {
  background: linear-gradient(120deg, #1b4332 0%, #2d6a4f 55%, #40916c 100%);
  padding: 28px 32px 22px;
  margin-bottom: 0;
  display: flex;
  align-items: center;
  gap: 20px;
}
.mon-hero-icon {
  width: 56px; height: 56px;
  border-radius: 14px;
  background: rgba(255,255,255,.15);
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
}
.mon-hero-icon i { font-size: 26px; color: #fff; }
.mon-hero-title  { color: #fff; font-size: 20px; font-weight: 700; margin: 0; line-height: 1.2; }
.mon-hero-sub    { color: rgba(255,255,255,.75); font-size: 12px; margin: 3px 0 0; }
.mon-hero-season {
  margin-left: auto;
  background: rgba(255,255,255,.15);
  border: 1px solid rgba(255,255,255,.3);
  border-radius: 20px;
  color: #fff; font-size: 12px; font-weight: 600;
  padding: 5px 14px; white-space: nowrap;
}
.mon-hero-pills { margin-left: auto; display: flex; gap: 8px; align-items: center; }
.mon-hero-pill {
  background: rgba(255,255,255,.15);
  border: 1px solid rgba(255,255,255,.3);
  border-radius: 20px;
  color: #fff; font-size: 12px; font-weight: 600;
  padding: 5px 14px; white-space: nowrap;
}
@media (max-width: 576px) {
  .mon-hero                  { padding: 18px 16px; flex-wrap: wrap; }
  .mon-hero-season,
  .mon-hero-pills            { margin-left: 0; }
}

.mon-tabs-wrap { background: #fff; border-bottom: 2px solid #e8f0ec; padding: 0 24px; }
.mon-tabs      { display: flex; gap: 4px; margin: 0; padding: 0; list-style: none; }
.mon-tabs .nav-link {
  border: none; border-radius: 0;
  border-bottom: 3px solid transparent;
  color: #555; font-size: 13px; font-weight: 600;
  padding: 14px 20px; background: transparent;
  display: flex; align-items: center; gap: 7px;
  transition: color .15s, border-color .15s;
}
.mon-tabs .nav-link i      { font-size: 14px; opacity: .75; }
.mon-tabs .nav-link:hover  { color: #2d6a4f; border-bottom-color: #a8d5b5; }
.mon-tabs .nav-link.active { color: #2d6a4f; border-bottom-color: #2d6a4f; }

.mon-body { padding: 28px 24px; background: #f5f7f5; min-height: 480px; }
@media (max-width: 576px) { .mon-body { padding: 16px 12px; } }

/* ─── 24. TARJETAS DE ETAPA ─────────────────────────────── */
.etapa-card {
  background: #fff; border-radius: 12px;
  border: 1.5px solid var(--border-card);
  box-shadow: 0 2px 8px rgba(0,0,0,.07); overflow: hidden;
  transition: transform .18s, box-shadow .18s, border-color .15s;
  text-decoration: none; color: inherit; display: block; height: 100%;
}
.etapa-card:hover { transform: translateY(-4px); box-shadow: 0 8px 24px rgba(27,77,46,.18); border-color: var(--border-card-hov); text-decoration: none; color: inherit; }
.etapa-card-top   { height: 5px; }
.etapa-card-body  { padding: 18px 16px 14px; display: flex; flex-direction: column; gap: 8px; height: calc(100% - 5px); }
.etapa-icon-wrap  { width: 44px; height: 44px; border-radius: 10px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.etapa-icon-wrap i { font-size: 20px; }
.etapa-num        { font-size: 10px; font-weight: 700; letter-spacing: .5px; text-transform: uppercase; opacity: .55; }
.etapa-name       { font-size: 13px; font-weight: 700; color: #1a2e22; line-height: 1.3; margin: 0; }
.etapa-sub        { font-size: 11px; color: #6b7e72; margin: 0; line-height: 1.4; flex: 1; }
.etapa-arrow      { margin-top: 4px; font-size: 11px; font-weight: 600; display: flex; align-items: center; gap: 5px; }
.etapa-arrow i    { font-size: 10px; transition: transform .15s; }
.etapa-card:hover .etapa-arrow i { transform: translateX(3px); }

/* ─── 25. DASHBOARD KPI / CHARTS ────────────────────────── */
.dash-kpi {
  background: #fff; border-radius: 12px;
  border: 1.5px solid var(--border-card);
  box-shadow: 0 2px 8px rgba(0,0,0,.06); padding: 18px 16px; height: 100%;
}
.dash-kpi-icon  { width: 38px; height: 38px; border-radius: 9px; display: flex; align-items: center; justify-content: center; font-size: 16px; margin-bottom: 10px; }
.dash-kpi-val   { font-size: 24px; font-weight: 800; color: #1a2e22; line-height: 1; }
.dash-kpi-lbl   { font-size: 11px; font-weight: 600; color: #6b7e72; margin-top: 4px; }
.dash-kpi-sub   { font-size: 10px; color: #a0b0a8; margin-top: 2px; }

.dash-chart-card   { background: #fff; border-radius: 12px; border: 1.5px solid var(--border-card); box-shadow: 0 2px 8px rgba(0,0,0,.06); overflow: hidden; }
.dash-chart-header { display: flex; align-items: center; gap: 8px; padding: 12px 16px; border-bottom: 1px solid #f0f4f2; font-size: 12px; font-weight: 700; color: #1a2e22; }
.dash-chart-body   { padding: 8px 8px 4px; }
.dash-chart-link   { margin-left: auto; font-size: 11px; font-weight: 600; color: #2d6a4f; text-decoration: none; display: flex; align-items: center; gap: 4px; }
.dash-chart-link:hover { text-decoration: underline; color: #2d6a4f; }

/* ─── 26. BADGES ESPECIALES ─────────────────────────────── */
.badge-pronto {
  font-size: 9px; font-weight: 700; text-transform: uppercase;
  letter-spacing: .5px; background: #fff3cd; color: #856404;
  border: 1px solid #ffc107; border-radius: 6px;
  padding: 2px 7px; margin-left: auto; white-space: nowrap;
}

/* ─── 27. ALERTAS EXTENDIDAS ────────────────────────────── */
.alert-danger-kiwi {
  background: #fff2f2;
  border: 1.5px solid #f0a0a0;
  border-radius: 9px;
  color: #7a1f1f;
  font-size: 13px;
  padding: 10px 14px;
}
.alert-danger-kiwi ul { margin: 5px 0 0 16px; }

/* ─── 28. REPORTE — visor de imagen ─────────────────────── */
.rep-header { background: #fff; border-radius: 12px 12px 0 0; border-bottom: 1px solid #e8f0ec; padding: 14px 20px; display: flex; align-items: center; gap: 10px; }
.rep-header h6 { margin: 0; font-size: 13px; font-weight: 700; color: #1a2e22; }
.rep-body   { background: #fff; border-radius: 0 0 12px 12px; padding: 20px; display: flex; justify-content: center; align-items: flex-start; min-height: 400px; }
.rep-img    { max-width: 100%; max-height: 78vh; object-fit: contain; border-radius: 6px; box-shadow: 0 2px 12px rgba(0,0,0,.10); }
.rep-dl     { display: inline-flex; align-items: center; gap: 6px; margin-left: auto; font-size: 12px; font-weight: 600; background: #f0f7f3; color: #2d6a4f; border: 1px solid #c1dece; border-radius: 7px; padding: 5px 13px; text-decoration: none; transition: background .15s; }
.rep-dl:hover { background: #dceee5; color: #2d6a4f; }

/* ─── 29. PORTAL DE SELECCIÓN (sistemas / login standalone) ── */
.portal-page {
  min-height: 100vh;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  position: relative;
  overflow-x: hidden;
  background: #cde8a2;   /* lima — mismo fondo que el login */
  padding: 16px;
  box-sizing: border-box;
}
.portal-page::before {
  content: '';
  position: absolute;
  width: 540px; height: 540px;
  border-radius: 50%;
  background: #1b4d2e;
  opacity: .82;
  top: -160px; left: -200px;
  pointer-events: none;
  mix-blend-mode: multiply;
}
.portal-page::after {
  content: '';
  position: absolute;
  width: 380px; height: 380px;
  border-radius: 50%;
  background: #74c436;
  opacity: .55;
  bottom: -120px; left: -80px;
  pointer-events: none;
  mix-blend-mode: multiply;
}
.portal-deco {
  position: absolute;
  border-radius: 50%;
  background: #3a8c52;
  opacity: .7;
  pointer-events: none;
  mix-blend-mode: multiply;
}

.portal-card {
  background: rgba(255,255,255,.88);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border-radius: 18px;
  width: 100%;
  max-width: 720px;
  overflow: hidden;
  box-shadow: 0 8px 36px rgba(27,77,46,.18);
  position: relative;
  z-index: 2;
  border: 1.5px solid var(--border-card);
  margin-top: auto;
  margin-bottom: auto;
}

.portal-header {
  background: #E9EDC9; /* #1b4d2e;*/
  padding: 22px 28px;
  text-align: center;
  border-bottom: 1.5px solid var(--border-card);
}
.portal-header img {
  height: 80px; width: auto;

}
.portal-header p {
  font-size: 16px;
  color:#1b4d2e;
  margin: 10px 0 0;
}

.portal-body { padding: 24px 28px 28px; }

.portal-footer {
  text-align: right;
  padding: 0 28px 18px;
  font-size: 11px;
  color: #4a7a56;
}
.portal-footer a { color: #1b4d2e; text-decoration: none; font-weight: 600; }
.portal-footer a:hover { text-decoration: underline; }

/* ─── 30. MÓDULOS GRID ───────────────────────────────────── */
.modules-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
}
.modules-grid > .module-card:last-child:nth-child(3n+1) {
  grid-column: 2;
}
@media (max-width: 640px) {
  .modules-grid { grid-template-columns: repeat(2, 1fr); }
  .modules-grid > .module-card:last-child:nth-child(3n+1) { grid-column: auto; }
}
@media (max-height: 700px) {
  .portal-header { padding: 12px 28px; }
  .portal-header img { height: 52px; }
  .portal-header p { font-size: 13px; margin: 6px 0 0; }
  .portal-body { padding: 14px 28px 18px; }
  .portal-footer { padding: 0 28px 10px; }
  .module-card-body { padding: 10px 10px 8px; }
  .module-icon { width: 36px; height: 36px; font-size: 16px; margin-bottom: 5px; }
}
@media (max-height: 560px) {
  .portal-header img { height: 38px; }
  .portal-header p { display: none; }
  .portal-body { padding: 10px 20px 12px; }
  .modules-grid { gap: 8px; }
  .module-card-body { padding: 8px 8px 6px; }
  .module-icon { width: 28px; height: 28px; font-size: 13px; }
}

.module-card {
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 2px 8px rgba(0,0,0,.07);
  border: 1.5px solid var(--border-card);
  overflow: hidden;
  text-decoration: none !important;
  color: inherit;
  display: flex;
  flex-direction: column;
  transition: transform .18s, box-shadow .18s;
}
.module-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 10px 28px rgba(0,0,0,.12);
  text-decoration: none !important;
  color: inherit;
}
.module-card-top  { height: 4px; flex-shrink: 0; }
.module-card-body {
  padding: 14px 12px 12px;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  flex: 1;
  gap: 0;
}
.module-icon {
  width: 46px; height: 46px;
  border-radius: 12px;
  display: flex; align-items: center; justify-content: center;
  font-size: 20px;
  margin-bottom: 8px;
  flex-shrink: 0;
}
.module-name    { font-size: 14px; font-weight: 700; color: #1a2e22; line-height: 1.3; margin: 0 0 2px; }
.module-sub     { font-size: 10px; color: #8fa89a; margin: 0 0 8px; }
.module-divider { width: 100%; border: none; border-top: 1px solid #eef3f0; margin: 6px 0; }
.module-arrow   { font-size: 12px; font-weight: 600; display: flex; align-items: center; gap: 5px; margin-top: auto; }
.module-arrow i { font-size: 10px; transition: transform .15s; }
.module-card:hover .module-arrow i { transform: translateX(3px); }

/* ─── 31. MODAL NOVEDADES ────────────────────────────────── */
.notif-overlay {
  display: none;
  position: fixed;
  z-index: 1050;
  left: 0; top: 0;
  width: 100%; height: 100%;
  background: rgba(0,0,0,.4);
  align-items: center;
  justify-content: center;
}
.notif-overlay.show { display: flex; }
.notif-box {
  background: #fff;
  border: 1.5px solid rgba(255,255,255,.7);
  border-radius: 14px;
  width: 90%;
  max-width: 520px;
  padding: 0;
  overflow: hidden;
  box-shadow: 0 12px 40px rgba(27,77,46,.2);
}
.notif-box-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 15px 20px;
  background: #1b4d2e;
}
.notif-box-header h5 { font-size: 14px; font-weight: 700; color: #fff; margin: 0; }
.notif-close { font-size: 22px; font-weight: 700; color: rgba(255,255,255,.75); cursor: pointer; line-height: 1; }
.notif-close:hover { color: #fff; }
.notif-list { list-style: none; padding: 0 20px; margin: 0; }
.notif-list li { border-bottom: 1px solid #c8e8a8; padding: 10px 0; font-size: 13px; color: #1b4d2e; }
.notif-list li:last-child { border-bottom: none; }


/* ─── 32. AJAX ────────────────────────────────── */

  /* ── ajax/resultado.blade.php ── */
#custom-content-above-tab .nav-link:hover { background:#e8f5d8 !important; color:#1b4d2e !important; border-color:#a8d68c !important; }
  #custom-content-above-tab .nav-link.active { background:#2d6a4f !important; color:#fff !important; border-color:#2d6a4f !important; }
  #custom-content-above-tab + .tab-content { border:1px solid #e8f0ec; border-top:none; border-radius:0 0 8px 8px; padding:14px; }
  thead[style*="CCE2A6"] { background:#e8f3ed !important; color:#1a2e22 !important; }


/* ─── 33. AUDITORIAS ──────────────────────────── */

  /* ── auditorias/laboratorio/index.blade.php ── */
.btn-kiwi-new { background-color: var(--kiwi-dark) !important; color: #fff !important; border: none !important; border-radius: 8px !important; font-size: 12px !important; font-weight: 600 !important; padding: 7px 16px !important; }
  .btn-kiwi-new:hover { background-color: #015f32 !important; }

  #empresas_wrapper .pagination { margin: 0; gap: 2px; }
  #empresas_wrapper .page-item .page-link {
    font-size: 11px !important; padding: 4px 9px;
    color: var(--kiwi-dark); background-color: #fff;
    border: 1px solid var(--kiwi-light); border-radius: 5px !important; line-height: 1.4;
  }
  #empresas_wrapper .page-item .page-link:hover {
    background-color: var(--kiwi-pale); color: var(--kiwi-dark); border-color: var(--kiwi-mid);
  }
  #empresas_wrapper .page-item.active .page-link {
    background-color: var(--kiwi-dark) !important; border-color: var(--kiwi-dark) !important;
    color: #fff !important; font-weight: 600;
  }
  #empresas_wrapper .page-item.disabled .page-link {
    color: #aaa; border-color: #ddd; background-color: #f8f8f8;
  }
  #empresas_wrapper .dataTables_info { font-size: 11px; color: #555; padding-top: 6px; }


  /* ── auditorias/packing/index.blade.php ── */
.clscaja {
    display: none;
  }
  table tbody tr:not(.nothover) {
    cursor: pointer;
  }

  .dataTables_filter {
   float: right !important;
  }
  #empresas {
    width: 100%;
 }

th { font-size: 12px; }
td { font-size: 11px; }
/* Ensure that the demo table scrolls */

  /* Botones de acción */
  .btn-accion {
    display: inline-flex; align-items: center; gap: 4px;
    border: none; border-radius: 6px; font-size: 10px;
    font-weight: 600; padding: 4px 9px; line-height: 1.3;
    cursor: pointer; white-space: nowrap; transition: filter .15s;
  }
  .btn-accion:hover { filter: brightness(88%); }
  .btn-accion i { font-size: 11px; }
  .btn-ac-ver       { background: #3a86c4; color: #fff; }
  .btn-ac-editar    { background: #e8962a; color: #fff; }
  .btn-ac-eliminar  { background: #e05252; color: #fff; }
  .btn-ac-email     { background: #2f7bc4; color: #fff; }
  .btn-ac-predios   { background: #20a8a0; color: #fff; }
  .btn-ac-usuarios  { background: #2f86c4; color: #fff; }
  .btn-ac-asociar   { background: #6c757d; color: #fff; }
  .btn-ac-activar   { background: var(--kiwi-dark); color: #fff; }
  .btn-ac-desactivar{ background: #e05252; color: #fff; }


  /* ── auditorias/terreno/index.blade.php ── */
.btn-kiwi-new { background-color: var(--kiwi-dark) !important; color: #fff !important; border: none !important; border-radius: 8px !important; font-size: 12px !important; font-weight: 600 !important; padding: 7px 16px !important; }
  .btn-kiwi-new:hover { background-color: #015f32 !important; }

  /* Paginación KIWI */
  #empresas_wrapper .pagination { margin: 0; gap: 2px; }
  #empresas_wrapper .page-item .page-link {
    font-size: 11px !important;
    padding: 4px 9px;
    color: var(--kiwi-dark);
    background-color: #fff;
    border: 1px solid var(--kiwi-light);
    border-radius: 5px !important;
    line-height: 1.4;
  }
  #empresas_wrapper .page-item .page-link:hover {
    background-color: var(--kiwi-pale);
    color: var(--kiwi-dark);
    border-color: var(--kiwi-mid);
  }
  #empresas_wrapper .page-item.active .page-link {
    background-color: var(--kiwi-dark) !important;
    border-color: var(--kiwi-dark) !important;
    color: #fff !important;
    font-weight: 600;
  }
  #empresas_wrapper .page-item.disabled .page-link {
    color: #aaa;
    border-color: #ddd;
    background-color: #f8f8f8;
  }
  #empresas_wrapper .dataTables_info { font-size: 11px; color: #555; padding-top: 6px; }


/* ─── 34. ESTIMACION ──────────────────────────── */

  /* ── estimacion/controlresumen.blade.php ── */
table tbody tr:not(.nothover) {
    cursor: pointer;
  }
  
  .highcharts-contextmenu {
    bottom: auto !important;
    top: 50px;
}


  /* ── estimacion/demo.blade.php ── */
/* ── Hero ── */
  .mon-hero {
    background: linear-gradient(120deg, #1b4332 0%, #2d6a4f 55%, #40916c 100%);
    padding: 28px 32px 22px; margin-bottom: 0;
    display: flex; align-items: center; gap: 20px;
  }
  .mon-hero-icon {
    width: 56px; height: 56px; border-radius: 14px;
    background: rgba(255,255,255,.15); display: flex;
    align-items: center; justify-content: center; flex-shrink: 0;
  }
  .mon-hero-icon i { font-size: 26px; color: #fff; }
  .mon-hero-title { color: #fff; font-size: 20px; font-weight: 700; margin: 0; line-height: 1.2; }
  .mon-hero-sub   { color: rgba(255,255,255,.75); font-size: 12px; margin: 3px 0 0; }
  .mon-hero-season {
    margin-left: auto; background: rgba(255,255,255,.15);
    border: 1px solid rgba(255,255,255,.3); border-radius: 20px;
    color: #fff; font-size: 12px; font-weight: 600;
    padding: 5px 14px; white-space: nowrap;
  }
  @media (max-width: 576px) {
    .mon-hero { padding: 18px 16px; flex-wrap: wrap; }
    .mon-hero-season { margin-left: 0; }
  }

  .dataTables_filter { float: right !important; }
  .custom-select-width { width: 25% !important; }

  /* ── Tabs estilo kiwi ── */
  #custom-content-above-tab {
    border-bottom: 2px solid #1b4d2e;
    gap: 4px;
  }
  #custom-content-above-tab .nav-link {
    border-radius: 6px 6px 0 0;
    border: 1px solid #dee2e6;
    border-bottom: none;
    color: #2d6a4f;
    font-size: 13px;
    font-weight: 600;
    padding: 7px 18px;
    background: #f8f9fa;
    transition: background .15s, color .15s;
  }
  #custom-content-above-tab .nav-link:hover {
    background: #e8f5d8;
    color: #1b4d2e;
    border-color: #a8d68c;
  }
  #custom-content-above-tab .nav-link.active {
    background: #1b4d2e;
    color: #fff;
    border-color: #1b4d2e;
  }

  /* ── Altura fija contenedores de gráfico ── */
  #container2, #container3, #container4, #container5 {
    height: 360px;
    position: relative;
    padding: 8px 0;
  }


  /* ── estimacion/demo2.blade.php ── */
.clscaja {
    display: none;
  }
  table tbody tr:not(.nothover) {
    cursor: pointer;
  }
  table tbody tr:not(.nothover):hover td, 
  table tbody tr:not(.nothover):hover th {
    background-color: #e7f1ab;
  }
  .dataTables_filter {
   float: right !important;
  }
  .carousel-caption {
    background-color: rgba(0, 0, 0, 0.3); /* Color de fondo negro con opacidad */
    padding: 10px; /* Espacio alrededor del contenido */
    border-radius: 5px; /* Borde redondeado */
  }

  .caption-container {
    position: relative;
    color: white; /* Color del texto dentro del rectángulo */
    text-align: left; /* Alinea el texto a la izquierda */
  }

  .title-top-left {
    margin: 0; /* Elimina márgenes predeterminados para un mejor ajuste */
  }

  .logo-top-right {
    position: absolute;
    top: 10px; /* Ajusta la distancia desde la parte superior */
    right: 10px; /* Ajusta la distancia desde la derecha */
    width: 100px; /* Ajusta el ancho del logo según tus necesidades */
    height: auto; /* Ajusta la altura automáticamente en función del ancho */
  }


  /* ── estimacion/demo3.blade.php ── */
.clscaja {
    display: none;
  }
  
 
  .dataTables_filter {
   float: right !important;
  }
  .carousel-caption {
    background-color: rgba(0, 0, 0, 0.3); /* Color de fondo negro con opacidad */
    padding: 10px; /* Espacio alrededor del contenido */
    border-radius: 5px; /* Borde redondeado */
  }

  .caption-container {
    position: relative;
    color: white; /* Color del texto dentro del rectángulo */
    text-align: left; /* Alinea el texto a la izquierda */
  }

  .title-top-left {
    margin: 0; /* Elimina márgenes predeterminados para un mejor ajuste */
  }

  .logo-top-right {
    position: absolute;
    top: 10px; /* Ajusta la distancia desde la parte superior */
    right: 10px; /* Ajusta la distancia desde la derecha */
    width: 100px; /* Ajusta el ancho del logo según tus necesidades */
    height: auto; /* Ajusta la altura automáticamente en función del ancho */
  }


/* ─── 35. INFORMES ────────────────────────────── */

  /* ── informes/liberacion-A.blade.php ── */
/* ── Tablas liberación ── */
  .table thead th { font-size: 11px !important; }
  .table tbody td { font-size: 11px !important; }
  .table tbody tr:hover td { background: #f0f7e4 !important; cursor: pointer; }
  /* ── Botón volver ── */
  .kiwi-btn {
    background: rgba(255,255,255,.18);
    border: 1px solid rgba(255,255,255,.35);
    color: #fff; font-size: 12px; font-weight: 600;
    padding: 5px 14px; border-radius: 7px;
    cursor: pointer; transition: background .15s;
  }
  .kiwi-btn:hover { background: rgba(255,255,255,.30); color: #fff; }
  /* ── Fila total ── */
  .kiwi-tr-total td { background-color: var(--kiwi-dark) !important; color: #fff !important; font-weight: 700; }
  .kiwi-tr-total { background-color: var(--kiwi-dark) !important; color: #fff !important; }
  /* ── Thead verde ── */
  .kiwi-th-dark { background-color: var(--kiwi-dark) !important; color: #fff !important; font-size: 11px !important; }


  /* ── informes/liberacion-B.blade.php ── */
/* ── Tablas liberación ── */
  .table thead th { font-size: 11px !important; }
  .table tbody td { font-size: 11px !important; }
  .table tbody tr:hover td { background: #f0f7e4 !important; cursor: pointer; }
  /* ── Botón volver ── */
  .kiwi-btn {
    background: rgba(255,255,255,.18);
    border: 1px solid rgba(255,255,255,.35);
    color: #fff; font-size: 12px; font-weight: 600;
    padding: 5px 14px; border-radius: 7px;
    cursor: pointer; transition: background .15s;
  }
  .kiwi-btn:hover { background: rgba(255,255,255,.30); color: #fff; }
  /* ── Fila total ── */
  .kiwi-tr-total td { background-color: var(--kiwi-dark) !important; color: #fff !important; font-weight: 700; }
  .kiwi-tr-total { background-color: var(--kiwi-dark) !important; color: #fff !important; }
  /* ── Thead verde ── */
  .kiwi-th-dark { background-color: var(--kiwi-dark) !important; color: #fff !important; font-size: 11px !important; }


  /* ── informes/liberacion-C.blade.php ── */
/* ── Tablas liberación ── */
  .table thead th { font-size: 11px !important; }
  .table tbody td { font-size: 11px !important; }
  .table tbody tr:hover td { background: #f0f7e4 !important; cursor: pointer; }
  /* ── Botón volver ── */
  .kiwi-btn {
    background: rgba(255,255,255,.18);
    border: 1px solid rgba(255,255,255,.35);
    color: #fff; font-size: 12px; font-weight: 600;
    padding: 5px 14px; border-radius: 7px;
    cursor: pointer; transition: background .15s;
  }
  .kiwi-btn:hover { background: rgba(255,255,255,.30); color: #fff; }
  /* ── Fila total ── */
  .kiwi-tr-total td { background-color: var(--kiwi-dark) !important; color: #fff !important; font-weight: 700; }
  .kiwi-tr-total { background-color: var(--kiwi-dark) !important; color: #fff !important; }
  /* ── Thead verde ── */
  .kiwi-th-dark { background-color: var(--kiwi-dark) !important; color: #fff !important; font-size: 11px !important; }


  /* ── informes/liberacion-D.blade.php ── */
/* ── Tablas liberación ── */
  .table thead th { font-size: 11px !important; }
  .table tbody td { font-size: 11px !important; }
  .table tbody tr:hover td { background: #f0f7e4 !important; cursor: pointer; }
  /* ── Botón volver ── */
  .kiwi-btn {
    background: rgba(255,255,255,.18);
    border: 1px solid rgba(255,255,255,.35);
    color: #fff; font-size: 12px; font-weight: 600;
    padding: 5px 14px; border-radius: 7px;
    cursor: pointer; transition: background .15s;
  }
  .kiwi-btn:hover { background: rgba(255,255,255,.30); color: #fff; }
  /* ── Fila total ── */
  .kiwi-tr-total td { background-color: var(--kiwi-dark) !important; color: #fff !important; font-weight: 700; }
  .kiwi-tr-total { background-color: var(--kiwi-dark) !important; color: #fff !important; }
  /* ── Thead verde ── */
  .kiwi-th-dark { background-color: var(--kiwi-dark) !important; color: #fff !important; font-size: 11px !important; }


  /* ── informes/liberacion-E.blade.php ── */
/* ── Tablas liberación ── */
  .table thead th { font-size: 11px !important; }
  .table tbody td { font-size: 11px !important; }
  .table tbody tr:hover td { background: #f0f7e4 !important; cursor: pointer; }
  /* ── Botón volver ── */
  .kiwi-btn {
    background: rgba(255,255,255,.18);
    border: 1px solid rgba(255,255,255,.35);
    color: #fff; font-size: 12px; font-weight: 600;
    padding: 5px 14px; border-radius: 7px;
    cursor: pointer; transition: background .15s;
  }
  .kiwi-btn:hover { background: rgba(255,255,255,.30); color: #fff; }
  /* ── Fila total ── */
  .kiwi-tr-total td { background-color: var(--kiwi-dark) !important; color: #fff !important; font-weight: 700; }
  .kiwi-tr-total { background-color: var(--kiwi-dark) !important; color: #fff !important; }
  /* ── Thead verde ── */
  .kiwi-th-dark { background-color: var(--kiwi-dark) !important; color: #fff !important; font-size: 11px !important; }


  /* ── informes/liberacion-F.blade.php ── */
/* ── Tablas liberación ── */
  .table thead th { font-size: 13px !important; font-weight: 800;}
  .table tbody td { font-size: 13px !important; font-weight: 500;}
  .table tbody tr:hover td { background: #f0f7e4 !important; cursor: pointer; }
  /* ── Botón volver ── */
  .kiwi-btn {
    background: rgba(255,255,255,.18);
    border: 1px solid rgba(255,255,255,.35);
    color: #fff; font-size: 12px; font-weight: 600;
    padding: 5px 14px; border-radius: 7px;
    cursor: pointer; transition: background .15s;
  }
  .kiwi-btn:hover { background: rgba(255,255,255,.30); color: #fff; }
  /* ── Fila total ── */
  .kiwi-tr-total td { background-color: var(--kiwi-dark) !important; color: #fff !important; font-weight: 700; }
  .kiwi-tr-total { background-color: var(--kiwi-dark) !important; color: #fff !important; }
  /* ── Thead verde ── */
  .kiwi-th-dark { background-color: var(--kiwi-dark) !important; color: #fff !important; font-size: 11px !important; }


  /* ── informes/liberacion.blade.php ── */
/* ── Hero ── */
  .mon-hero {
    background: linear-gradient(120deg, #1b4332 0%, #2d6a4f 55%, #40916c 100%);
    padding: 28px 32px 22px; margin-bottom: 0;
    display: flex; align-items: center; gap: 20px;
  }
  .mon-hero-icon {
    width: 56px; height: 56px; border-radius: 14px;
    background: rgba(255,255,255,.15); display: flex;
    align-items: center; justify-content: center; flex-shrink: 0;
  }
  .mon-hero-icon i { font-size: 26px; color: #fff; }
  .mon-hero-title { color: #fff; font-size: 20px; font-weight: 700; margin: 0; line-height: 1.2; }
  .mon-hero-sub   { color: rgba(255,255,255,.75); font-size: 12px; margin: 3px 0 0; }
  .mon-hero-pills { margin-left: auto; display: flex; gap: 8px; align-items: center; }
  .mon-hero-pill {
    background: rgba(255,255,255,.15); border: 1px solid rgba(255,255,255,.3);
    border-radius: 20px; color: #fff; font-size: 12px; font-weight: 600;
    padding: 5px 14px; white-space: nowrap;
  }
  @media (max-width: 576px) {
    .mon-hero { padding: 18px 16px; flex-wrap: wrap; }
    .mon-hero-pills { margin-left: 0; }
  }
  /* ── Grid de tarjetas ── */
  .lib-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
  }
  @media (max-width: 992px) { .lib-grid { grid-template-columns: repeat(2, 1fr); } }
  @media (max-width: 576px) { .lib-grid { grid-template-columns: 1fr; } }

  /* ── Tarjeta de navegación ── */
  .lib-card {
    background: #fff;
    border: 1px solid var(--border-color);
    border-radius: 12px;
    overflow: hidden;
    text-decoration: none !important;
    display: flex;
    flex-direction: column;
    transition: border-color .15s, box-shadow .15s, transform .12s;
  }
  .lib-card:hover {
    border-color: var(--kiwi-light);
    box-shadow: 0 6px 18px rgba(27,77,46,.14);
    transform: translateY(-2px);
  }

  /* ── Barra accent superior ── */
  .lib-card-accent { height: 5px; width: 100%; display: block; }
  .accent-a { background: #1b4d2e; }
  .accent-b { background: #2d6a4f; }
  .accent-c { background: #185FA5; }
  .accent-d { background: #854F0B; }
  .accent-e { background: #534AB7; }
  .accent-f { background: #993C1D; }

  /* ── Cuerpo interno ── */
  .lib-card-body {
    padding: 16px 16px 14px;
    display: flex;
    flex-direction: column;
    gap: 7px;
    flex: 1;
  }

  /* ── Fila ícono + letra ── */
  .lib-card-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
  }

  /* ── Chip de ícono ── */
  .lib-icon {
    width: 40px; height: 40px;
    border-radius: 10px;
    display: flex; align-items: center; justify-content: center;
    font-size: 18px;
  }
  .icon-a { background: #e8f5d8; color: #1b4d2e; }
  .icon-b { background: #E1F5EE; color: #085041; }
  .icon-c { background: #E6F1FB; color: #0C447C; }
  .icon-d { background: #FAEEDA; color: #633806; }
  .icon-e { background: #EEEDFE; color: #3C3489; }
  .icon-f { background: #FAECE7; color: #712B13; }

  /* ── Letra identificadora ── */
  .lib-card-letra {
    font-size: 11px;
    font-weight: 700;
    color: var(--text-muted);
    background: var(--kiwi-cream);
    width: 22px; height: 22px;
    border-radius: 6px;
    display: flex; align-items: center; justify-content: center;
  }

  .lib-card-title {
    font-size: 13px;
    font-weight: 700;
    color: var(--text-primary);
    margin: 0;
    line-height: 1.3;
  }
  .lib-card-desc {
    font-size: 11px;
    color: var(--text-muted);
    margin: 0;
    line-height: 1.4;
  }
  .lib-card-arrow {
    font-size: 11px;
    font-weight: 600;
    margin-top: auto;
    padding-top: 4px;
    display: flex;
    align-items: center;
    gap: 4px;
  }
  .arrow-a { color: #1b4d2e; }
  .arrow-b { color: #085041; }
  .arrow-c { color: #0C447C; }
  .arrow-d { color: #633806; }
  .arrow-e { color: #3C3489; }
  .arrow-f { color: #712B13; }

  /* ── Strip empresa ── */
  .lib-empresa-strip {
    background: var(--kiwi-cream);
    border: 1px solid var(--border-light);
    border-radius: 9px;
    padding: 10px 16px;
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 20px;
  }
  .lib-empresa-strip i { color: var(--kiwi-dark); font-size: 15px; }
  .lib-empresa-strip .label { font-size: 11px; color: var(--text-muted); }
  .lib-empresa-strip .valor { font-size: 13px; font-weight: 700; color: var(--text-primary); }


  /* ── informes/monitoreobotones.blade.php ── */
table tbody tr:not(.nothover) {
    cursor: pointer;
  }
  
  .highcharts-contextmenu {
    bottom: auto !important;
    top: 50px;
}


  /* ── informes/monitoreobotonesm2.blade.php ── */
.highcharts-contextmenu {
    bottom: auto !important;
    top: 50px;
}


  /* ── informes/monitoreobotrytis.blade.php ── */
table tbody tr:not(.nothover) {
    cursor: pointer;
  }
  
  .highcharts-contextmenu {
    bottom: auto !important;
    top: 50px;
}


  /* ── informes/monitoreobrotacion.blade.php ── */
table tbody tr:not(.nothover) {
    cursor: pointer;
  }
  
  .highcharts-contextmenu {
    bottom: auto !important;
    top: 50px;
}


  /* ── informes/monitoreobrotacionf.blade.php ── */
table tbody tr:not(.nothover) {
    cursor: pointer;
  }
  
  .highcharts-contextmenu {
    bottom: auto !important;
    top: 50px;
}


  /* ── informes/monitoreocalidad.blade.php ── */
table tbody tr:not(.nothover) {
    cursor: pointer;
  }
  
  .highcharts-contextmenu {
    bottom: auto !important;
    top: 50px;
}


  /* ── informes/monitoreocargaprod.blade.php ── */
table tbody tr:not(.nothover) {
    cursor: pointer;
  }
  
  .highcharts-contextmenu {
    bottom: auto !important;
    top: 50px;
}


  /* ── informes/monitoreoevolucion.blade.php ── */
table tbody tr:not(.nothover) {
    cursor: pointer;
  }
  
  .highcharts-contextmenu {
    bottom: auto !important;
    top: 50px;
}


  /* ── informes/monitoreoevolucionH.blade.php ── */
table tbody tr:not(.nothover) {
    cursor: pointer;
  }
  
  .highcharts-contextmenu {
    bottom: auto !important;
    top: 50px;
}


  /* ── informes/monitoreoevolucionL.blade.php ── */
table tbody tr:not(.nothover) {
    cursor: pointer;
  }
  
  .highcharts-contextmenu {
    bottom: auto !important;
    top: 50px;
}


  /* ── informes/monitoreoevolucionLT.blade.php ── */
table tbody tr:not(.nothover) {
    cursor: pointer;
  }
  
  .highcharts-contextmenu {
    bottom: auto !important;
    top: 50px;
}


  /* ── informes/monitoreofenologia.blade.php ── */
table tbody tr:not(.nothover) { cursor: pointer; }

  /* Nav tabs fenología */
  #custom-tabs-four-tab {
    border-bottom: 2px solid #1b4d2e;
  }
  #custom-tabs-four-tab .nav-link {
    color: #555;
    border: 1px solid transparent;
    border-bottom: none;
    background: #f8f9fa;
    margin-right: 4px;
    border-radius: 6px 6px 0 0;
  }
  #custom-tabs-four-tab .nav-link.active {
    color: #fff;
    background: #1b4d2e;
    border-color: #1b4d2e #1b4d2e transparent;
    font-weight: 600;
  }
  #custom-tabs-four-tab .nav-link:hover:not(.active) {
    color: #1b4d2e;
    background: #e8f5d8;
    border-color: #c3e6cb #c3e6cb transparent;
  }


  /* ── informes/monitoreoflores.blade.php ── */
table tbody tr:not(.nothover) {
    cursor: pointer;
  }
  
  .highcharts-contextmenu {
    bottom: auto !important;
    top: 50px;
}
@media (max-width: 768px) {
    #tablaFlores {
        margin-bottom: 20px;
    }
    .text-justify {
        margin-left: 15px;
        margin-right: 15px;
    }
}


  /* ── informes/monitoreoflorespl.blade.php ── */
table tbody tr:not(.nothover) {
    cursor: pointer;
  }
  
  .highcharts-contextmenu {
    bottom: auto !important;
    top: 50px;
}


  /* ── informes/monitoreofloressinc.blade.php ── */
table tbody tr:not(.nothover) {
    cursor: pointer;
  }
  
  .highcharts-contextmenu {
    bottom: auto !important;
    top: 50px;
}


  /* ── informes/monitoreofrutosm2.blade.php ── */
table tbody tr:not(.nothover) {
    cursor: pointer;
  }
  
  .highcharts-contextmenu {
    bottom: auto !important;
    top: 50px;
}


  /* ── informes/monitoreomadera.blade.php ── */
table tbody tr:not(.nothover) {
    cursor: pointer;
  }
  
  .highcharts-contextmenu {
    bottom: auto !important;
    top: 50px;
}


  /* ── informes/monitoreoyemas.blade.php ── */
table tbody tr:not(.nothover) {
    cursor: pointer;
  }
  
  .highcharts-contextmenu {
    bottom: auto !important;
    top: 50px;  
  }


  /* ── informes/proceso.blade.php ── */
table tbody tr:not(.nothover) {
    cursor: pointer;
  }

  table thead{
    background-color:#E7E7E7;
  }
  
  .highcharts-contextmenu {
    bottom: auto !important;
    top: 50px;
  }


  /* ── informes/reportefenologico.blade.php ── */
table tbody tr:not(.nothover) {
    cursor: pointer;
  }
  
  .highcharts-contextmenu {
    bottom: auto !important;
    top: 50px;
}


/* ─── 36. INSPECCIONES ────────────────────────── */

  /* ── inspecciones/inspeccion/informe.blade.php ── */
.table.dataTable  { 
    font-size: 10px;
}


/* ─── 37. LAYOUTS ─────────────────────────────── */

  /* ── layouts/admin.blade.php ── */
html {
  font-size: 12px;
  line-height: 1.2;
}


  /* ── layouts/caquis.blade.php ── */
html {
  font-size: 12px;
  line-height: 1.2;
}


  /* ── layouts/climatico.blade.php ── */
.clim-page { background: #f0f5fa; padding: 20px; min-height: calc(100vh - 110px); }
    .clim-page .card { border-radius: 12px !important; box-shadow: 0 2px 10px rgba(0,0,0,.08) !important; border: none !important; overflow: hidden; }
    .clim-page .card-header { background: var(--kiwi-dark) !important; border-radius: 12px 12px 0 0 !important; padding: 14px 20px !important; display: flex; align-items: center; justify-content: space-between; }
    .clim-page .card-header h4,
    .clim-page .card-header h5 { margin: 0; font-size: 14px; font-weight: 700; color: #fff; }
    .clim-page .card-header .clim-hd-fecha { font-size: 11px; color: rgba(255,255,255,.75); white-space: nowrap; }
    .clim-page .card-header .nav-icon { color: rgba(255,255,255,.8) !important; margin-right: 7px; font-size: 15px; }
    @media (max-width: 576px) { .clim-page { padding: 12px; } .clim-page .card-header .clim-hd-fecha { display: none; } }


  /* ── layouts/monitoreo.blade.php ── */
.mon-page { background: #f5f7f5; padding: 20px; min-height: calc(100vh - 110px); }
    .mon-page .card { border-radius: 12px !important; box-shadow: 0 2px 10px rgba(0,0,0,.08) !important; border: none !important; overflow: hidden; }
    .mon-page .card-header { background: var(--kiwi-dark) !important; border-radius: 12px 12px 0 0 !important; padding: 14px 20px !important; display: flex; align-items: center; justify-content: space-between; }
    .mon-page .card-header h4,
    .mon-page .card-header h5 { margin: 0; font-size: 16px; font-weight: 700; color: #fff; }
    .mon-page .card-header .mon-hd-fecha { font-size: 11px; color: rgba(255,255,255,.75); white-space: nowrap; }
    .mon-page .card-header .nav-icon { color: rgba(255,255,255,.8) !important; margin-right: 7px; font-size: 15px; }
    .chart-disabled-overlay { opacity: .35; pointer-events: none; user-select: none; }
    @media (max-width: 576px) { .mon-page { padding: 12px; } .mon-page .card-header .mon-hd-fecha { display: none; } }


  /* ── layouts/pamsm.blade.php ── */
html {
  font-size: 12px;
  line-height: 1.2;
}


/* ─── 38. MANTENEDOR ──────────────────────────── */

  /* ── mantenedor/documentos/index.blade.php ── */
.clscaja {
    display: none;
  }
  table tbody tr:not(.nothover) {
    cursor: pointer;
  }
  table tbody tr:not(.nothover):hover td,
  table tbody tr:not(.nothover):hover th {
    background-color: #e7f1ab;
  }
  .dataTables_filter {
   float: right !important;
  }
  /* Botones de acción */
  .btn-accion {
    display: inline-flex; align-items: center; gap: 4px;
    border: none; border-radius: 6px; font-size: 10px;
    font-weight: 600; padding: 4px 9px; line-height: 1.3;
    cursor: pointer; white-space: nowrap; transition: filter .15s;
  }
  .btn-accion:hover { filter: brightness(88%); }
  .btn-accion i { font-size: 11px; }
  .btn-ac-ver       { background: #3a86c4; color: #fff; }
  .btn-ac-editar    { background: #e8962a; color: #fff; }
  .btn-ac-eliminar  { background: #e05252; color: #fff; }
  .btn-ac-email     { background: #2f7bc4; color: #fff; }
  .btn-ac-predios   { background: #20a8a0; color: #fff; }
  .btn-ac-usuarios  { background: #2f86c4; color: #fff; }
  .btn-ac-asociar   { background: #6c757d; color: #fff; }
  .btn-ac-activar   { background: var(--kiwi-dark); color: #fff; }
  .btn-ac-desactivar{ background: #e05252; color: #fff; }


  /* ── mantenedor/empresas/exportadores/index.blade.php ── */
.clscaja { display: none; }
  table tbody tr:not(.nothover) { cursor: pointer; }
  table tbody tr:not(.nothover):hover td,
  table tbody tr:not(.nothover):hover th { background-color: #e7f1ab; }
  .dataTables_filter { float: right !important; }
  #empresas th,
  #empresas td { font-size: 8px !important; }
  #empresas_wrapper .dataTables_info,
  #empresas_wrapper .dataTables_filter label,
  #empresas_wrapper .dataTables_filter input { font-size: 11px; }

  /* Botones de acción por columna */
  .btn-accion {
    display: inline-flex; align-items: center; gap: 4px;
    border: none; border-radius: 6px; font-size: 10px;
    font-weight: 600; padding: 4px 9px; line-height: 1.3;
    cursor: pointer; white-space: nowrap; transition: filter .15s;
  }
  .btn-accion:hover { filter: brightness(88%); }
  .btn-accion i { font-size: 11px; }

  /* Colores semánticos */
  .btn-ac-servicios  { background: #6c757d; color: #fff; }   /* gris — configuración interna */
  .btn-ac-activar    { background: var(--kiwi-dark); color: #fff; }   /* verde — activar */
  .btn-ac-desactivar { background: #e05252; color: #fff; }   /* rojo — desactivar */
  .btn-ac-usuarios   { background: #2f86c4; color: #fff; }   /* azul — personas */
  .btn-ac-editar     { background: #e8962a; color: #fff; }   /* ámbar — editar */
  .btn-ac-ccalidad   { background: #20a8a0; color: #fff; }   /* teal — reporte CC */
  .btn-ac-libum      { background: #7c5cbf; color: #fff; }   /* violeta — Lib. UM */
.btn-kiwi-new { background-color: var(--kiwi-dark) !important; color: #fff !important; border: none !important; border-radius: 8px !important; font-size: 12px !important; font-weight: 600 !important; padding: 7px 16px !important; }
  .btn-kiwi-new:hover { background-color: #015f32 !important; }
  #empresas_wrapper .pagination { margin: 0; gap: 2px; }
  #empresas_wrapper .page-item .page-link { font-size: 11px !important; padding: 4px 9px; color: var(--kiwi-dark); background-color: #fff; border: 1px solid var(--kiwi-light); border-radius: 5px !important; line-height: 1.4; }
  #empresas_wrapper .page-item .page-link:hover { background-color: var(--kiwi-pale); color: var(--kiwi-dark); border-color: var(--kiwi-mid); }
  #empresas_wrapper .page-item.active .page-link { background-color: var(--kiwi-dark) !important; border-color: var(--kiwi-dark) !important; color: #fff !important; font-weight: 600; }
  #empresas_wrapper .page-item.disabled .page-link { color: #aaa; border-color: #ddd; background-color: #f8f8f8; }
  #empresas_wrapper .dataTables_info { font-size: 11px; color: #555; padding-top: 6px; }


  /* ── mantenedor/empresas/predios/index.blade.php ── */
.clscaja {
    display: none;
  }
  table tbody tr:not(.nothover) {
    cursor: pointer;
  }
  table tbody tr:not(.nothover):hover td,
  table tbody tr:not(.nothover):hover th {
    background-color: #e7f1ab;
  }
  .dataTables_filter {
   float: right !important;
  }
  #empresas th,
  #empresas td { font-size: 8px !important; }
  #empresas_wrapper .dataTables_info,
  #empresas_wrapper .dataTables_filter label,
  #empresas_wrapper .dataTables_filter input { font-size: 11px; }
  /* Botones de acción */
  .btn-accion {
    display: inline-flex; align-items: center; gap: 4px;
    border: none; border-radius: 6px; font-size: 10px;
    font-weight: 600; padding: 4px 9px; line-height: 1.3;
    cursor: pointer; white-space: nowrap; transition: filter .15s;
  }
  .btn-accion:hover { filter: brightness(88%); }
  .btn-accion i { font-size: 11px; }
  .btn-ac-ver       { background: #3a86c4; color: #fff; }
  .btn-ac-editar    { background: #e8962a; color: #fff; }
  .btn-ac-eliminar  { background: #e05252; color: #fff; }
  .btn-ac-email     { background: #2f7bc4; color: #fff; }
  .btn-ac-predios   { background: #20a8a0; color: #fff; }
  .btn-ac-usuarios  { background: #2f86c4; color: #fff; }
  .btn-ac-asociar   { background: #6c757d; color: #fff; }
  .btn-ac-activar   { background: var(--kiwi-dark); color: #fff; }
  .btn-ac-desactivar{ background: #e05252; color: #fff; }
.btn-kiwi-new { background-color: var(--kiwi-dark) !important; color: #fff !important; border: none !important; border-radius: 8px !important; font-size: 12px !important; font-weight: 600 !important; padding: 7px 16px !important; }
  .btn-kiwi-new:hover { background-color: #015f32 !important; }
  #empresas_wrapper .pagination { margin: 0; gap: 2px; }
  #empresas_wrapper .page-item .page-link { font-size: 11px !important; padding: 4px 9px; color: var(--kiwi-dark); background-color: #fff; border: 1px solid var(--kiwi-light); border-radius: 5px !important; line-height: 1.4; }
  #empresas_wrapper .page-item .page-link:hover { background-color: var(--kiwi-pale); color: var(--kiwi-dark); border-color: var(--kiwi-mid); }
  #empresas_wrapper .page-item.active .page-link { background-color: var(--kiwi-dark) !important; border-color: var(--kiwi-dark) !important; color: #fff !important; font-weight: 600; }
  #empresas_wrapper .page-item.disabled .page-link { color: #aaa; border-color: #ddd; background-color: #f8f8f8; }
  #empresas_wrapper .dataTables_info { font-size: 11px; color: #555; padding-top: 6px; }


  /* ── mantenedor/empresas/productores/index.blade.php ── */
.clscaja { display: none; }
  table tbody tr:not(.nothover) { cursor: pointer; }
  table tbody tr:not(.nothover):hover td,
  table tbody tr:not(.nothover):hover th { background-color: #e7f1ab; }
  .dataTables_filter { float: right !important; }
  #empresas th,
  #empresas td { font-size: 8px !important; }
  #empresas_wrapper .dataTables_info,
  #empresas_wrapper .dataTables_filter label,
  #empresas_wrapper .dataTables_filter input { font-size: 11px; }

  /* Botones de acción */
  .btn-accion {
    display: inline-flex; align-items: center; gap: 4px;
    border: none; border-radius: 6px; font-size: 10px;
    font-weight: 600; padding: 4px 9px; line-height: 1.3;
    cursor: pointer; white-space: nowrap; transition: filter .15s;
  }
  .btn-accion:hover { filter: brightness(88%); }
  .btn-accion i { font-size: 11px; }
  .btn-ac-predios   { background: #20a8a0; color: #fff; }
  .btn-ac-usuarios  { background: #2f86c4; color: #fff; }
  .btn-ac-exportad  { background: #d97706; color: #fff; }
  .btn-ac-labora    { background: #0e8f88; color: #fff; }
  .btn-ac-muestread { background: #6c757d; color: #fff; }
  .btn-ac-editar    { background: #e8962a; color: #fff; }
.btn-kiwi-new { background-color: var(--kiwi-dark) !important; color: #fff !important; border: none !important; border-radius: 8px !important; font-size: 12px !important; font-weight: 600 !important; padding: 7px 16px !important; }
  .btn-kiwi-new:hover { background-color: #015f32 !important; }
  #empresas_wrapper .pagination { margin: 0; gap: 2px; }
  #empresas_wrapper .page-item .page-link { font-size: 11px !important; padding: 4px 9px; color: var(--kiwi-dark); background-color: #fff; border: 1px solid var(--kiwi-light); border-radius: 5px !important; line-height: 1.4; }
  #empresas_wrapper .page-item .page-link:hover { background-color: var(--kiwi-pale); color: var(--kiwi-dark); border-color: var(--kiwi-mid); }
  #empresas_wrapper .page-item.active .page-link { background-color: var(--kiwi-dark) !important; border-color: var(--kiwi-dark) !important; color: #fff !important; font-weight: 600; }
  #empresas_wrapper .page-item.disabled .page-link { color: #aaa; border-color: #ddd; background-color: #f8f8f8; }
  #empresas_wrapper .dataTables_info { font-size: 11px; color: #555; padding-top: 6px; }


  /* ── mantenedor/empresas/productores/misproductores.blade.php ── */
.clscaja { display: none; }
  table tbody tr:not(.nothover) { cursor: pointer; }
  .dataTables_filter { float: right !important; }
  #empresas th, #empresas td { font-size: 8px !important; }
  #empresas_wrapper .dataTables_info,
  #empresas_wrapper .dataTables_filter label,
  #empresas_wrapper .dataTables_filter input { font-size: 11px; }

  .btn-accion {
    display: inline-flex; align-items: center; gap: 4px;
    border: none; border-radius: 6px; font-size: 10px;
    font-weight: 600; padding: 4px 9px; line-height: 1.3;
    cursor: pointer; white-space: nowrap; transition: filter .15s;
  }
  .btn-accion:hover { filter: brightness(88%); }
  .btn-accion i { font-size: 11px; }
  .btn-ac-predios    { background: #20a8a0; color: #fff; }
  .btn-ac-usuarios   { background: #2f86c4; color: #fff; }
  .btn-ac-exportad   { background: #d97706; color: #fff; }
  .btn-ac-labora     { background: #20a8a0; color: #fff; }
  .btn-ac-muestread  { background: #6c757d; color: #fff; }
  .btn-ac-editar     { background: #e8962a; color: #fff; }
.btn-kiwi-new { background-color: var(--kiwi-dark) !important; color: #fff !important; border: none !important; border-radius: 8px !important; font-size: 12px !important; font-weight: 600 !important; padding: 7px 16px !important; }
  .btn-kiwi-new:hover { background-color: #015f32 !important; }
  #empresas_wrapper .pagination { margin: 0; gap: 2px; }
  #empresas_wrapper .page-item .page-link { font-size: 11px !important; padding: 4px 9px; color: var(--kiwi-dark); background-color: #fff; border: 1px solid var(--kiwi-light); border-radius: 5px !important; line-height: 1.4; }
  #empresas_wrapper .page-item .page-link:hover { background-color: var(--kiwi-pale); color: var(--kiwi-dark); border-color: var(--kiwi-mid); }
  #empresas_wrapper .page-item.active .page-link { background-color: var(--kiwi-dark) !important; border-color: var(--kiwi-dark) !important; color: #fff !important; font-weight: 600; }
  #empresas_wrapper .page-item.disabled .page-link { color: #aaa; border-color: #ddd; background-color: #f8f8f8; }
  #empresas_wrapper .dataTables_info { font-size: 11px; color: #555; padding-top: 6px; }


  /* ── mantenedor/empresas/propios/index.blade.php ── */
.clscaja {
    display: none;
  }
  table tbody tr:not(.nothover) {
    cursor: pointer;
  }
  table tbody tr:not(.nothover):hover td,
  table tbody tr:not(.nothover):hover th {
    background-color: #e7f1ab;
  }
  .dataTables_filter {
   float: right !important;
  }
  #empresas th,
  #empresas td { font-size: 8px !important; }
  #empresas_wrapper .dataTables_info,
  #empresas_wrapper .dataTables_filter label,
  #empresas_wrapper .dataTables_filter input { font-size: 11px; }
.btn-kiwi-new { background-color: var(--kiwi-dark) !important; color: #fff !important; border: none !important; border-radius: 8px !important; font-size: 12px !important; font-weight: 600 !important; padding: 7px 16px !important; }
  .btn-kiwi-new:hover { background-color: #015f32 !important; }
  #empresas_wrapper .pagination { margin: 0; gap: 2px; }
  #empresas_wrapper .page-item .page-link { font-size: 11px !important; padding: 4px 9px; color: var(--kiwi-dark); background-color: #fff; border: 1px solid var(--kiwi-light); border-radius: 5px !important; line-height: 1.4; }
  #empresas_wrapper .page-item .page-link:hover { background-color: var(--kiwi-pale); color: var(--kiwi-dark); border-color: var(--kiwi-mid); }
  #empresas_wrapper .page-item.active .page-link { background-color: var(--kiwi-dark) !important; border-color: var(--kiwi-dark) !important; color: #fff !important; font-weight: 600; }
  #empresas_wrapper .page-item.disabled .page-link { color: #aaa; border-color: #ddd; background-color: #f8f8f8; }
  #empresas_wrapper .dataTables_info { font-size: 11px; color: #555; padding-top: 6px; }


  /* ── mantenedor/empresas/servicios/index.blade.php ── */
.clscaja {
    display: none;
  }
  table tbody tr:not(.nothover) {
    cursor: pointer;
  }
  table tbody tr:not(.nothover):hover td,
  table tbody tr:not(.nothover):hover th {
    background-color: #e7f1ab;
  }
  .dataTables_filter {
   float: right !important;
  }
  #empresas th,
  #empresas td { font-size: 8px !important; }
  #empresas_wrapper .dataTables_info,
  #empresas_wrapper .dataTables_filter label,
  #empresas_wrapper .dataTables_filter input { font-size: 11px; }
.btn-kiwi-new { background-color: var(--kiwi-dark) !important; color: #fff !important; border: none !important; border-radius: 8px !important; font-size: 12px !important; font-weight: 600 !important; padding: 7px 16px !important; }
  .btn-kiwi-new:hover { background-color: #015f32 !important; }
  #empresas_wrapper .pagination { margin: 0; gap: 2px; }
  #empresas_wrapper .page-item .page-link { font-size: 11px !important; padding: 4px 9px; color: var(--kiwi-dark); background-color: #fff; border: 1px solid var(--kiwi-light); border-radius: 5px !important; line-height: 1.4; }
  #empresas_wrapper .page-item .page-link:hover { background-color: var(--kiwi-pale); color: var(--kiwi-dark); border-color: var(--kiwi-mid); }
  #empresas_wrapper .page-item.active .page-link { background-color: var(--kiwi-dark) !important; border-color: var(--kiwi-dark) !important; color: #fff !important; font-weight: 600; }
  #empresas_wrapper .page-item.disabled .page-link { color: #aaa; border-color: #ddd; background-color: #f8f8f8; }
  #empresas_wrapper .dataTables_info { font-size: 11px; color: #555; padding-top: 6px; }


  /* ── mantenedor/empresas/um/index.blade.php ── */
.clscaja {
    display: none;
  }
  table tbody tr:not(.nothover) {
    cursor: pointer;
  }
  table tbody tr:not(.nothover):hover td,
  table tbody tr:not(.nothover):hover th {
    background-color: #e7f1ab;
  }
  .dataTables_filter {
   float: right !important;
  }
  #empresas th,
  #empresas td { font-size: 8px !important; }
  #empresas_wrapper .dataTables_info,
  #empresas_wrapper .dataTables_filter label,
  #empresas_wrapper .dataTables_filter input { font-size: 11px; }
.btn-kiwi-new { background-color: var(--kiwi-dark) !important; color: #fff !important; border: none !important; border-radius: 8px !important; font-size: 12px !important; font-weight: 600 !important; padding: 7px 16px !important; }
  .btn-kiwi-new:hover { background-color: #015f32 !important; }
  #empresas_wrapper .pagination { margin: 0; gap: 2px; }
  #empresas_wrapper .page-item .page-link { font-size: 11px !important; padding: 4px 9px; color: var(--kiwi-dark); background-color: #fff; border: 1px solid var(--kiwi-light); border-radius: 5px !important; line-height: 1.4; }
  #empresas_wrapper .page-item .page-link:hover { background-color: var(--kiwi-pale); color: var(--kiwi-dark); border-color: var(--kiwi-mid); }
  #empresas_wrapper .page-item.active .page-link { background-color: var(--kiwi-dark) !important; border-color: var(--kiwi-dark) !important; color: #fff !important; font-weight: 600; }
  #empresas_wrapper .page-item.disabled .page-link { color: #aaa; border-color: #ddd; background-color: #f8f8f8; }
  #empresas_wrapper .dataTables_info { font-size: 11px; color: #555; padding-top: 6px; }


  /* ── mantenedor/empresas/usuarios/index.blade.php ── */
.clscaja {
    display: none;
  }
  table tbody tr:not(.nothover) {
    cursor: pointer;
  }
  table tbody tr:not(.nothover):hover td,
  table tbody tr:not(.nothover):hover th {
    background-color: #e7f1ab;
  }
  .dataTables_filter {
   float: right !important;
  }
  #empresas th,
  #empresas td { font-size: 8px !important; }
  #empresas_wrapper .dataTables_info,
  #empresas_wrapper .dataTables_filter label,
  #empresas_wrapper .dataTables_filter input { font-size: 11px; }
  /* Botones de acción */
  .btn-accion {
    display: inline-flex; align-items: center; gap: 4px;
    border: none; border-radius: 6px; font-size: 10px;
    font-weight: 600; padding: 4px 9px; line-height: 1.3;
    cursor: pointer; white-space: nowrap; transition: filter .15s;
  }
  .btn-accion:hover { filter: brightness(88%); }
  .btn-accion i { font-size: 11px; }
  .btn-ac-ver       { background: #3a86c4; color: #fff; }
  .btn-ac-editar    { background: #e8962a; color: #fff; }
  .btn-ac-eliminar  { background: #e05252; color: #fff; }
  .btn-ac-email     { background: #2f7bc4; color: #fff; }
  .btn-ac-predios   { background: #20a8a0; color: #fff; }
  .btn-ac-usuarios  { background: #2f86c4; color: #fff; }
  .btn-ac-asociar   { background: #6c757d; color: #fff; }
  .btn-ac-activar   { background: var(--kiwi-dark); color: #fff; }
  .btn-ac-desactivar{ background: #e05252; color: #fff; }
.btn-kiwi-new { background-color: var(--kiwi-dark) !important; color: #fff !important; border: none !important; border-radius: 8px !important; font-size: 12px !important; font-weight: 600 !important; padding: 7px 16px !important; }
  .btn-kiwi-new:hover { background-color: #015f32 !important; }
  #empresas_wrapper .pagination { margin: 0; gap: 2px; }
  #empresas_wrapper .page-item .page-link { font-size: 11px !important; padding: 4px 9px; color: var(--kiwi-dark); background-color: #fff; border: 1px solid var(--kiwi-light); border-radius: 5px !important; line-height: 1.4; }
  #empresas_wrapper .page-item .page-link:hover { background-color: var(--kiwi-pale); color: var(--kiwi-dark); border-color: var(--kiwi-mid); }
  #empresas_wrapper .page-item.active .page-link { background-color: var(--kiwi-dark) !important; border-color: var(--kiwi-dark) !important; color: #fff !important; font-weight: 600; }
  #empresas_wrapper .page-item.disabled .page-link { color: #aaa; border-color: #ddd; background-color: #f8f8f8; }
  #empresas_wrapper .dataTables_info { font-size: 11px; color: #555; padding-top: 6px; }


  /* ── mantenedor/monitoreo/create.blade.php ── */
.card, .card-body { overflow: visible !important; }


  /* ── mantenedor/texto/create.blade.php ── */
.card, .card-body { overflow: visible !important; }


  /* ── mantenedor/texto/index.blade.php ── */
.clscaja { display: none; }
  table tbody tr:not(.nothover) { cursor: pointer; }
  .dataTables_filter { float: right !important; }
  #empresas { width: 100%; }
  #empresas_processing {
    position: absolute; top: 50%; left: 50%;
    transform: translate(-50%, -50%);
    background: #1b4d2e; color: #fff;
    padding: 10px 20px; border-radius: 8px;
    font-size: 13px; z-index: 100;
  }
  .btn-accion {
    display: inline-flex; align-items: center; gap: 4px;
    border: none; border-radius: 6px; font-size: 10px;
    font-weight: 600; padding: 4px 9px; line-height: 1.3;
    cursor: pointer; white-space: nowrap; transition: filter .15s;
  }
  .btn-accion:hover { filter: brightness(88%); }
  .btn-accion i { font-size: 11px; }
  .btn-ac-editar  { background: #e8962a; color: #fff; }
  .btn-ac-eliminar{ background: #e05252; color: #fff; }
/* Paginación estilo kiwi */
  #empresas_wrapper .pagination { margin: 0; gap: 2px; }
  #empresas_wrapper .page-item .page-link {
    font-size: 11px; padding: 4px 9px;
    color: #1b4d2e; background-color: #fff;
    border: 1px solid #b2dfcc; border-radius: 5px; line-height: 1.4;
  }
  #empresas_wrapper .page-item .page-link:hover {
    background-color: #e8f5d8; color: #1b4d2e; border-color: #52b788;
  }
  #empresas_wrapper .page-item.active .page-link {
    background-color: #1b4d2e !important; border-color: #1b4d2e !important;
    color: #fff !important; font-weight: 600;
  }
  #empresas_wrapper .page-item.disabled .page-link {
    color: #aaa; border-color: #ddd; background-color: #f8f8f8;
  }
  #empresas_wrapper .dataTables_info { font-size: 11px; color: #555; padding-top: 6px; }


  /* ── mantenedor/usuariosadm/index.blade.php ── */
.clscaja {
    display: none;
  }
  table tbody tr:not(.nothover) {
    cursor: pointer;
  }
  table tbody tr:not(.nothover):hover td,
  table tbody tr:not(.nothover):hover th {
    background-color: #e7f1ab;
  }
  .dataTables_filter {
   float: right !important;
  }
  /* Botones de acción */
  .btn-accion {
    display: inline-flex; align-items: center; gap: 4px;
    border: none; border-radius: 6px; font-size: 10px;
    font-weight: 600; padding: 4px 9px; line-height: 1.3;
    cursor: pointer; white-space: nowrap; transition: filter .15s;
  }
  .btn-accion:hover { filter: brightness(88%); }
  .btn-accion i { font-size: 11px; }
  .btn-ac-ver       { background: #3a86c4; color: #fff; }
  .btn-ac-editar    { background: #e8962a; color: #fff; }
  .btn-ac-eliminar  { background: #e05252; color: #fff; }
  .btn-ac-email     { background: #2f7bc4; color: #fff; }
  .btn-ac-predios   { background: #20a8a0; color: #fff; }
  .btn-ac-usuarios  { background: #2f86c4; color: #fff; }
  .btn-ac-asociar   { background: #6c757d; color: #fff; }
  .btn-ac-activar   { background: var(--kiwi-dark); color: #fff; }
  .btn-ac-desactivar{ background: #e05252; color: #fff; }


/* ─── 39. PAM ─────────────────────────────────── */

  /* ── pam/biblioteca.blade.php ── */
.mon-hero {
    background: linear-gradient(120deg, #1b4332 0%, #2d6a4f 55%, #40916c 100%);
    padding: 28px 32px 22px; margin-bottom: 0;
    display: flex; align-items: center; gap: 20px;
  }
  .mon-hero-icon {
    width: 56px; height: 56px; border-radius: 14px;
    background: rgba(255,255,255,.15); display: flex;
    align-items: center; justify-content: center; flex-shrink: 0;
  }
  .mon-hero-icon i { font-size: 26px; color: #fff; }
  .mon-hero-title { color: #fff; font-size: 20px; font-weight: 700; margin: 0; line-height: 1.2; }
  .mon-hero-sub   { color: rgba(255,255,255,.75); font-size: 12px; margin: 3px 0 0; }
  .mon-hero-season {
    margin-left: auto; background: rgba(255,255,255,.15);
    border: 1px solid rgba(255,255,255,.3); border-radius: 20px;
    color: #fff; font-size: 12px; font-weight: 600;
    padding: 5px 14px; white-space: nowrap;
  }
  @media (max-width: 576px) {
    .mon-hero { padding: 18px 16px; flex-wrap: wrap; }
    .mon-hero-season { margin-left: 0; }
  }

  /* ── Cards ── */
  .etapa-card {
    background: #fff; border-radius: 12px;
    box-shadow: 0 2px 8px rgba(0,0,0,.07); overflow: hidden;
    transition: transform .18s, box-shadow .18s;
    text-decoration: none; color: inherit; display: block; height: 100%;
  }
  .etapa-card:hover { transform: translateY(-4px); box-shadow: 0 8px 24px rgba(0,0,0,.13); text-decoration: none; color: inherit; }
  .etapa-card-top  { height: 5px; }
  .etapa-card-body { padding: 16px 16px 14px; display: flex; flex-direction: column; gap: 8px; height: calc(100% - 5px); }
  .etapa-icon-wrap { width: 44px; height: 44px; border-radius: 10px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
  .etapa-icon-wrap i { font-size: 20px; }
  .etapa-name  { font-size: 13px; font-weight: 700; color: #1a2e22; line-height: 1.3; margin: 0; }
  .etapa-sub   { font-size: 11px; color: #6b7e72; margin: 0; line-height: 1.4; flex: 1; }
  .etapa-arrow { margin-top: 4px; font-size: 11px; font-weight: 600; display: flex; align-items: center; gap: 5px; }
  .etapa-arrow i { font-size: 10px; transition: transform .15s; }
  .etapa-card:hover .etapa-arrow i { transform: translateX(3px); }


  /* ── pam/controlresumen.blade.php ── */
table tbody tr:not(.nothover) {
    cursor: pointer;
  }
  
  .highcharts-contextmenu {
    bottom: auto !important;
    top: 50px;
}


  /* ── pam/demo.blade.php ── */
/* ── Hero ── */
  .mon-hero {
    background: linear-gradient(120deg, #1b4332 0%, #2d6a4f 55%, #40916c 100%);
    padding: 28px 32px 22px; margin-bottom: 0;
    display: flex; align-items: center; gap: 20px;
  }
  .mon-hero-icon {
    width: 56px; height: 56px; border-radius: 14px;
    background: rgba(255,255,255,.15); display: flex;
    align-items: center; justify-content: center; flex-shrink: 0;
  }
  .mon-hero-icon i { font-size: 26px; color: #fff; }
  .mon-hero-title { color: #fff; font-size: 20px; font-weight: 700; margin: 0; line-height: 1.2; }
  .mon-hero-sub   { color: rgba(255,255,255,.75); font-size: 12px; margin: 3px 0 0; }
  .mon-hero-season {
    margin-left: auto; background: rgba(255,255,255,.15);
    border: 1px solid rgba(255,255,255,.3); border-radius: 20px;
    color: #fff; font-size: 12px; font-weight: 600;
    padding: 5px 14px; white-space: nowrap;
  }
  @media (max-width: 576px) {
    .mon-hero { padding: 18px 16px; flex-wrap: wrap; }
    .mon-hero-season { margin-left: 0; }
  }

  /* ── Panel cards ── */
  .demo-card {
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 2px 8px rgba(0,0,0,.07);
    overflow: hidden;
    height: 100%;
  }
  .demo-card-header {
    display: flex; align-items: center; gap: 10px;
    padding: 12px 16px;
    background: #1b4d2e;
    border-radius: 12px 12px 0 0;
  }
  .demo-card-header-icon {
    width: 32px; height: 32px; border-radius: 8px;
    display: flex; align-items: center; justify-content: center;
    flex-shrink: 0; font-size: 15px;
    background: rgba(255,255,255,.18);
  }
  .demo-card-header-icon i { color: #fff !important; }
  .demo-card-header h6 {
    margin: 0; font-size: 13px; font-weight: 700; color: #fff;
    flex: 1;
  }
  .demo-card-header .demo-season-badge {
    font-size: 11px; font-weight: 600; color: #fff;
    background: rgba(255,255,255,.18); border: 1px solid rgba(255,255,255,.25);
    border-radius: 20px; padding: 2px 10px; white-space: nowrap;
  }
  .demo-card-body { padding: 16px; }

  /* ── Filtros ── */
  .demo-filter-label {
    font-size: 11px; font-weight: 700; color: #6b7e72;
    text-transform: uppercase; letter-spacing: .4px;
    margin-bottom: 4px; display: block;
  }
  .demo-filter-wrap { margin-bottom: 14px; }

  /* ── Tabla hover ── */
  .clscaja { display: none; }
  table tbody tr:not(.nothover) { cursor: pointer; }
  table tbody tr:not(.nothover):hover td,
  table tbody tr:not(.nothover):hover th { background-color: #e8f3ed; }
  .dataTables_filter { float: right !important; }

  /* ── Resultado vacío ── */
  .demo-empty {
    display: flex; flex-direction: column; align-items: center;
    justify-content: center; padding: 60px 20px; color: #a0b0a8;
    gap: 10px;
  }
  .demo-empty i { font-size: 36px; }
  .demo-empty p { margin: 0; font-size: 13px; }

  /* ── Paginación DataTable ── */
  .dataTables_wrapper .pagination { margin: 0; gap: 2px; }
  .dataTables_wrapper .page-item .page-link {
    font-size: 11px; padding: 4px 9px;
    color: #2d6a4f; background-color: #fff;
    border: 1px solid #b2dfcc; border-radius: 5px; line-height: 1.4;
    transition: background .15s, color .15s;
  }
  .dataTables_wrapper .page-item .page-link:hover {
    background-color: #e8f3ed; color: #2d6a4f; border-color: #52b788;
  }
  .dataTables_wrapper .page-item.active .page-link {
    background-color: #2d6a4f !important; border-color: #2d6a4f !important;
    color: #fff !important; font-weight: 600;
  }
  .dataTables_wrapper .page-item.disabled .page-link {
    color: #aaa; border-color: #ddd; background-color: #f8f8f8;
  }
  .dataTables_wrapper .dataTables_info { font-size: 11px; color: #6b7e72; padding-top: 6px; }
  .dataTables_wrapper .dataTables_filter input {
    border: 1px solid #a8d68c; border-radius: 6px;
    padding: 4px 10px; font-size: 12px; color: #1a2e22;
    outline: none;
  }
  .dataTables_wrapper .dataTables_filter input:focus {
    border-color: #2d6a4f; box-shadow: 0 0 0 2px rgba(45,106,79,.15);
  }


  /* ── pam/demo2.blade.php ── */
.clscaja {
    display: none;
  }
  table tbody tr:not(.nothover) {
    cursor: pointer;
  }
  table tbody tr:not(.nothover):hover td, 
  table tbody tr:not(.nothover):hover th {
    background-color: #e7f1ab;
  }
  .dataTables_filter {
   float: right !important;
  }
  .carousel-caption {
    background-color: rgba(0, 0, 0, 0.3); /* Color de fondo negro con opacidad */
    padding: 10px; /* Espacio alrededor del contenido */
    border-radius: 5px; /* Borde redondeado */
  }

  .caption-container {
    position: relative;
    color: white; /* Color del texto dentro del rectángulo */
    text-align: left; /* Alinea el texto a la izquierda */
  }

  .title-top-left {
    margin: 0; /* Elimina márgenes predeterminados para un mejor ajuste */
  }

  .logo-top-right {
    position: absolute;
    top: 10px; /* Ajusta la distancia desde la parte superior */
    right: 10px; /* Ajusta la distancia desde la derecha */
    width: 100px; /* Ajusta el ancho del logo según tus necesidades */
    height: auto; /* Ajusta la altura automáticamente en función del ancho */
  }


  /* ── pam/kiwireport.blade.php ── */
.mon-hero {
    background: linear-gradient(120deg, #1b4332 0%, #2d6a4f 55%, #40916c 100%);
    padding: 28px 32px 22px; margin-bottom: 0;
    display: flex; align-items: center; gap: 20px;
  }
  .mon-hero-icon {
    width: 56px; height: 56px; border-radius: 14px;
    background: rgba(255,255,255,.15); display: flex;
    align-items: center; justify-content: center; flex-shrink: 0;
  }
  .mon-hero-icon i { font-size: 26px; color: #fff; }
  .mon-hero-title { color: #fff; font-size: 20px; font-weight: 700; margin: 0; line-height: 1.2; }
  .mon-hero-sub   { color: rgba(255,255,255,.75); font-size: 12px; margin: 3px 0 0; }
  .mon-hero-season {
    margin-left: auto; background: rgba(255,255,255,.15);
    border: 1px solid rgba(255,255,255,.3); border-radius: 20px;
    color: #fff; font-size: 12px; font-weight: 600;
    padding: 5px 14px; white-space: nowrap;
  }
  @media (max-width: 576px) {
    .mon-hero { padding: 18px 16px; flex-wrap: wrap; }
    .mon-hero-season { margin-left: 0; }
  }


  /* ── pam/pamini.blade.php ── */
.etapa-card {
    background: #fff; border-radius: 12px;
    border: 1.5px solid var(--border-card);
    box-shadow: 0 2px 8px rgba(0,0,0,.07); overflow: hidden;
    transition: transform .18s, box-shadow .18s, border-color .15s;
    text-decoration: none; color: inherit; display: block; height: 100%;
  }
  .etapa-card:hover { transform: translateY(-4px); box-shadow: 0 8px 24px rgba(27,77,46,.18); border-color: var(--border-card-hov); text-decoration: none; color: inherit; }
  .etapa-card-top  { height: 5px; }
  .etapa-card-body { padding: 16px 16px 14px; display: flex; flex-direction: column; gap: 8px; height: calc(100% - 5px); }
  .etapa-icon-wrap { width: 44px; height: 44px; border-radius: 10px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
  .etapa-icon-wrap i { font-size: 20px; }
  .etapa-name  { font-size: 13px; font-weight: 700; color: #1a2e22; line-height: 1.3; margin: 0; }
  .etapa-sub   { font-size: 11px; color: #6b7e72; margin: 0; line-height: 1.4; flex: 1; }
  .etapa-arrow { margin-top: 4px; font-size: 11px; font-weight: 600; display: flex; align-items: center; gap: 5px; }
  .etapa-arrow i { font-size: 10px; transition: transform .15s; }
  .etapa-card:hover .etapa-arrow i { transform: translateX(3px); }

  /* ── Hero ── */
  .mon-hero {
    background: linear-gradient(120deg, #1b4332 0%, #2d6a4f 55%, #40916c 100%);
    padding: 28px 32px 22px; margin-bottom: 0;
    display: flex; align-items: center; gap: 20px;
  }
  .mon-hero-icon {
    width: 56px; height: 56px; border-radius: 14px;
    background: rgba(255,255,255,.15); display: flex;
    align-items: center; justify-content: center; flex-shrink: 0;
  }
  .mon-hero-icon i { font-size: 26px; color: #fff; }
  .mon-hero-title { color: #fff; font-size: 20px; font-weight: 700; margin: 0; line-height: 1.2; }
  .mon-hero-sub   { color: rgba(255,255,255,.75); font-size: 12px; margin: 3px 0 0; }
  .mon-hero-season {
    margin-left: auto; background: rgba(255,255,255,.15);
    border: 1px solid rgba(255,255,255,.3); border-radius: 20px;
    color: #fff; font-size: 12px; font-weight: 600;
    padding: 5px 14px; white-space: nowrap;
  }
  @media (max-width: 576px) {
    .mon-hero { padding: 18px 16px; flex-wrap: wrap; }
    .mon-hero-season { margin-left: 0; }
  }


  /* ── pam/pamlaboratorio.blade.php ── */
.clscaja {
    display: none;
  }
  table tbody tr:not(.nothover) {
    cursor: pointer;
  }
  
  .dataTables_filter {
   float: right !important;
  }
  #empresas {
    width: 100%;
 }


/* Ensure that the demo table scrolls */


  /* ── pam/pammuestreo.blade.php ── */
.clscaja {
    display: none;
  }
  table tbody tr:not(.nothover) {
    cursor: pointer;
  }
  
  .dataTables_filter {
   float: right !important;
  }
  #empresas {
    width: 100%;
 }


/* Ensure that the demo table scrolls */


  /* ── pam/pamresultado.blade.php ── */
/* ── Hero ── */
  .mon-hero {
    background: linear-gradient(120deg, #1b4332 0%, #2d6a4f 55%, #40916c 100%);
    padding: 28px 32px 22px; margin-bottom: 0;
    display: flex; align-items: center; gap: 20px;
  }
  .mon-hero-icon {
    width: 56px; height: 56px; border-radius: 14px;
    background: rgba(255,255,255,.15); display: flex;
    align-items: center; justify-content: center; flex-shrink: 0;
  }
  .mon-hero-icon i { font-size: 26px; color: #fff; }
  .mon-hero-title { color: #fff; font-size: 20px; font-weight: 700; margin: 0; line-height: 1.2; }
  .mon-hero-sub   { color: rgba(255,255,255,.75); font-size: 12px; margin: 3px 0 0; }
  .mon-hero-pills { margin-left: auto; display: flex; gap: 8px; align-items: center; }
  .mon-hero-pill {
    background: rgba(255,255,255,.15); border: 1px solid rgba(255,255,255,.3);
    border-radius: 20px; color: #fff; font-size: 12px; font-weight: 600;
    padding: 5px 14px; white-space: nowrap;
  }
  @media (max-width: 576px) {
    .mon-hero { padding: 18px 16px; flex-wrap: wrap; }
    .mon-hero-pills { margin-left: 0; }
  }
  /* ── Grid de tarjetas ── */
  .lib-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
  }
  @media (max-width: 992px) { .lib-grid { grid-template-columns: repeat(2, 1fr); } }
  @media (max-width: 576px) { .lib-grid { grid-template-columns: 1fr; } }

  /* ── Tarjeta de navegación ── */
  .lib-card {
    background: #fff;
    border: 1px solid var(--border-color);
    border-radius: 12px;
    overflow: hidden;
    text-decoration: none !important;
    display: flex;
    flex-direction: column;
    transition: border-color .15s, box-shadow .15s, transform .12s;
  }
  .lib-card:hover {
    border-color: var(--kiwi-light);
    box-shadow: 0 6px 18px rgba(27,77,46,.14);
    transform: translateY(-2px);
  }

  /* ── Barra accent superior ── */
  .lib-card-accent { height: 5px; width: 100%; display: block; }
  .accent-a { background: #1b4d2e; }
  .accent-b { background: #2d6a4f; }
  .accent-c { background: #185FA5; }
  .accent-d { background: #854F0B; }
  .accent-e { background: #534AB7; }
  .accent-f { background: #993C1D; }

  /* ── Cuerpo interno ── */
  .lib-card-body {
    padding: 16px 16px 14px;
    display: flex;
    flex-direction: column;
    gap: 7px;
    flex: 1;
  }

  /* ── Fila ícono + letra ── */
  .lib-card-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
  }

  /* ── Chip de ícono ── */
  .lib-icon {
    width: 40px; height: 40px;
    border-radius: 10px;
    display: flex; align-items: center; justify-content: center;
    font-size: 18px;
  }
  .icon-a { background: #e8f5d8; color: #1b4d2e; }
  .icon-b { background: #E1F5EE; color: #085041; }
  .icon-c { background: #E6F1FB; color: #0C447C; }
  .icon-d { background: #FAEEDA; color: #633806; }
  .icon-e { background: #EEEDFE; color: #3C3489; }
  .icon-f { background: #FAECE7; color: #712B13; }

  /* ── Letra identificadora ── */
  .lib-card-letra {
    font-size: 11px;
    font-weight: 700;
    color: var(--text-muted);
    background: var(--kiwi-cream);
    width: 22px; height: 22px;
    border-radius: 6px;
    display: flex; align-items: center; justify-content: center;
  }

  .lib-card-title {
    font-size: 13px;
    font-weight: 700;
    color: var(--text-primary);
    margin: 0;
    line-height: 1.3;
  }
  .lib-card-desc {
    font-size: 11px;
    color: var(--text-muted);
    margin: 0;
    line-height: 1.4;
  }
  .lib-card-arrow {
    font-size: 11px;
    font-weight: 600;
    margin-top: auto;
    padding-top: 4px;
    display: flex;
    align-items: center;
    gap: 4px;
  }
  .arrow-a { color: #1b4d2e; }
  .arrow-b { color: #085041; }
  .arrow-c { color: #0C447C; }
  .arrow-d { color: #633806; }
  .arrow-e { color: #3C3489; }
  .arrow-f { color: #712B13; }

  /* ── Strip empresa ── */
  .lib-empresa-strip {
    background: var(--kiwi-cream);
    border: 1px solid var(--border-light);
    border-radius: 9px;
    padding: 10px 16px;
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 20px;
  }
  .lib-empresa-strip i { color: var(--kiwi-dark); font-size: 15px; }
  .lib-empresa-strip .label { font-size: 11px; color: var(--text-muted); }
  .lib-empresa-strip .valor { font-size: 13px; font-weight: 700; color: var(--text-primary); }


  /* ── pam/princlimatico.blade.php ── */
/* ── Hero ── */
  .clim-hero {
    background: linear-gradient(120deg, #1b4332 0%, #2d6a4f 55%, #40916c 100%);
    padding: 28px 32px 22px; margin-bottom: 0;
    display: flex; align-items: center; gap: 20px;
  }
  .clim-hero-icon {
    width: 56px; height: 56px; border-radius: 14px;
    background: rgba(255,255,255,.15); display: flex;
    align-items: center; justify-content: center; flex-shrink: 0;
  }
  .clim-hero-icon i { font-size: 26px; color: #fff; }
  .clim-hero-title { color: #fff; font-size: 20px; font-weight: 700; margin: 0; line-height: 1.2; }
  .clim-hero-sub   { color: rgba(255,255,255,.75); font-size: 12px; margin: 3px 0 0; }
  .clim-hero-season {
    margin-left: auto; background: rgba(255,255,255,.15);
    border: 1px solid rgba(255,255,255,.3); border-radius: 20px;
    color: #fff; font-size: 12px; font-weight: 600;
    padding: 5px 14px; white-space: nowrap;
  }

  /* ── Body ── */
  .clim-body { padding: 28px 24px; background: #f0f5fa; min-height: 480px; }

  /* ── Cards temáticas ── */
  .tema-card {
    background: #fff; border-radius: 12px;
    box-shadow: 0 2px 8px rgba(0,0,0,.07); overflow: hidden;
    transition: transform .18s, box-shadow .18s;
    text-decoration: none; color: inherit; display: block; height: 100%;
  }
  .tema-card:hover { transform: translateY(-4px); box-shadow: 0 8px 24px rgba(0,0,0,.13); text-decoration: none; color: inherit; }
  .tema-card-top  { height: 5px; }
  .tema-card-body { padding: 18px 16px 14px; display: flex; flex-direction: column; gap: 8px; height: calc(100% - 5px); }
  .tema-icon-wrap { width: 44px; height: 44px; border-radius: 10px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
  .tema-icon-wrap i { font-size: 20px; }
  .tema-num   { font-size: 10px; font-weight: 700; letter-spacing: .5px; text-transform: uppercase; opacity: .55; }
  .tema-name  { font-size: 13px; font-weight: 700; color: #0d2d47; line-height: 1.3; margin: 0; }
  .tema-sub   { font-size: 11px; color: #5a7a90; margin: 0; line-height: 1.4; flex: 1; }
  .tema-arrow { margin-top: 4px; font-size: 11px; font-weight: 600; display: flex; align-items: center; gap: 5px; }
  .tema-arrow i { font-size: 10px; transition: transform .15s; }
  .tema-card:hover .tema-arrow i { transform: translateX(3px); }

  /* ── Próximamente badge ── */
  .badge-pronto {
    font-size: 9px; font-weight: 700; text-transform: uppercase;
    letter-spacing: .5px; background: #fff3cd; color: #856404;
    border: 1px solid #ffc107; border-radius: 6px;
    padding: 2px 7px; margin-left: auto; white-space: nowrap;
  }

  @media (max-width: 576px) {
    .clim-hero { padding: 18px 16px; flex-wrap: wrap; }
    .clim-hero-season { margin-left: 0; }
    .clim-body { padding: 16px 12px; }
  }


  /* ── pam/prinmonitoreo.blade.php ── */
.clscaja {
    display: none;
  }
  
 
  .dataTables_filter {
   float: right !important;
  }
  .carousel-caption {
    background-color: rgba(0, 0, 0, 0.3); /* Color de fondo negro con opacidad */
    padding: 10px; /* Espacio alrededor del contenido */
    border-radius: 5px; /* Borde redondeado */
  }

  .caption-container {
    position: relative;
    color: white; /* Color del texto dentro del rectángulo */
    text-align: left; /* Alinea el texto a la izquierda */
  }

  .title-top-left {
    margin: 0; /* Elimina márgenes predeterminados para un mejor ajuste */
  }

  .logo-top-right {
    position: absolute;
    top: 10px; /* Ajusta la distancia desde la parte superior */
    right: 10px; /* Ajusta la distancia desde la derecha */
    width: 100px; /* Ajusta el ancho del logo según tus necesidades */
    height: auto; /* Ajusta la altura automáticamente en función del ancho */
  }
   .img-container {
        display: flex;
        justify-content: center; /* Centra horizontalmente */
        align-items: top; /* Centra verticalmente */
        height: 95vh; /* Ocupa toda la altura de la ventana */
    }

    .img-fluid-custom {
        max-width: 100%;  /* No excede el ancho del contenedor */
        max-height: 80vh; /* No excede el 80% de la altura de la ventana (ajustable) */
        object-fit: contain; /* Mantiene la proporción de la imagen */
    }

    /* Media Query para dispositivos móviles (ancho máximo 767px) */
    @media (max-width: 767px) {
        .img-fluid-custom {
            max-height: 50vh; /* Reduce la altura máxima en móviles (ajustable) */
        }
    }


  /* ── pam/prinmonitoreo2.blade.php ── */
/* ── Hero ── */
  .mon-hero {
    background: linear-gradient(120deg, #1b4332 0%, #2d6a4f 55%, #40916c 100%);
    padding: 28px 32px 22px; margin-bottom: 0;
    display: flex; align-items: center; gap: 20px;
  }
  .mon-hero-icon {
    width: 56px; height: 56px; border-radius: 14px;
    background: rgba(255,255,255,.15); display: flex;
    align-items: center; justify-content: center; flex-shrink: 0;
  }
  .mon-hero-icon i { font-size: 26px; color: #fff; }
  .mon-hero-title { color: #fff; font-size: 20px; font-weight: 700; margin: 0; line-height: 1.2; }
  .mon-hero-sub   { color: rgba(255,255,255,.75); font-size: 12px; margin: 3px 0 0; }
  .mon-hero-season {
    margin-left: auto; background: rgba(255,255,255,.15);
    border: 1px solid rgba(255,255,255,.3); border-radius: 20px;
    color: #fff; font-size: 12px; font-weight: 600;
    padding: 5px 14px; white-space: nowrap;
  }

  /* ── Tab nav ── */
  .mon-tabs-wrap { background: #fff; border-bottom: 2px solid #e8f0ec; padding: 0 24px; }
  .mon-tabs { display: flex; gap: 4px; margin: 0; padding: 0; list-style: none; }
  .mon-tabs .nav-link {
    border: none; border-radius: 0; border-bottom: 3px solid transparent;
    color: #555; font-size: 14px; font-weight: 600;
    padding: 14px 20px; background: transparent;
    display: flex; align-items: center; gap: 7px;
    transition: color .15s, border-color .15s;
  }
  .mon-tabs .nav-link i { font-size: 14px; opacity: .75; }
  .mon-tabs .nav-link:hover  { color: #2d6a4f; border-bottom-color: #a8d5b5; }
  .mon-tabs .nav-link.active { color: #2d6a4f; border-bottom-color: #2d6a4f; }

  /* ── Stage cards ── */
  .mon-body { padding: 28px 24px; background: #f5f7f5; min-height: 480px; }
  .etapa-card {
    background: #fff; border-radius: 12px;
    box-shadow: 0 2px 8px rgba(0,0,0,.07); overflow: hidden;
    transition: transform .18s, box-shadow .18s;
    text-decoration: none; color: inherit; display: block; height: 100%;
  }
  .etapa-card:hover { transform: translateY(-4px); box-shadow: 0 8px 24px rgba(0,0,0,.13); text-decoration: none; color: inherit; }
  .etapa-card-top  { height: 5px; }
  .etapa-card-body { padding: 18px 16px 14px; display: flex; flex-direction: column; gap: 8px; height: calc(100% - 5px); }
  .etapa-icon-wrap { width: 54px; height: 54px; border-radius: 10px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
  .etapa-icon-wrap i { font-size: 20px; }
  .etapa-num   { font-size: 10px; font-weight: 700; letter-spacing: .5px; text-transform: uppercase; opacity: .55; }
  .etapa-name  { font-size: 13px; font-weight: 700; color: #1a2e22; line-height: 1.3; margin: 0; }
  .etapa-sub   { font-size: 12px; color: #6b7e72; margin: 0; line-height: 1.4; flex: 1; }
  .etapa-arrow { margin-top: 4px; font-size: 11px; font-weight: 600; display: flex; align-items: center; gap: 5px; }
  .etapa-arrow i { font-size: 10px; transition: transform .15s; }
  .etapa-card:hover .etapa-arrow i { transform: translateX(3px); }

  /* ── Reporte tab ── */
  .rep-header { background: #fff; border-radius: 12px 12px 0 0; border-bottom: 1px solid #e8f0ec; padding: 14px 20px; display: flex; align-items: center; gap: 10px; }
  .rep-header h6 { margin: 0; font-size: 13px; font-weight: 700; color: #1a2e22; }
  .rep-body { background: #fff; border-radius: 0 0 12px 12px; padding: 20px; display: flex; justify-content: center; align-items: flex-start; min-height: 400px; }
  .rep-img  { max-width: 100%; max-height: 78vh; object-fit: contain; border-radius: 6px; box-shadow: 0 2px 12px rgba(0,0,0,.10); }
  .rep-dl   { display: inline-flex; align-items: center; gap: 6px; margin-left: auto; font-size: 12px; font-weight: 600; background: #f0f7f3; color: #2d6a4f; border: 1px solid #c1dece; border-radius: 7px; padding: 5px 13px; text-decoration: none; transition: background .15s; }
  .rep-dl:hover { background: #dceee5; color: #2d6a4f; }

  /* ── Dashboard ── */
  .dash-kpi {
    background: #fff; border-radius: 12px;
    box-shadow: 0 2px 8px rgba(0,0,0,.06); padding: 18px 16px; height: 100%;
  }
  .dash-kpi-icon { width: 38px; height: 38px; border-radius: 9px; display: flex; align-items: center; justify-content: center; font-size: 16px; margin-bottom: 10px; }
  .dash-kpi-val  { font-size: 24px; font-weight: 800; color: #1a2e22; line-height: 1; }
  .dash-kpi-lbl  { font-size: 11px; font-weight: 600; color: #6b7e72; margin-top: 4px; }
  .dash-kpi-sub  { font-size: 10px; color: #a0b0a8; margin-top: 2px; }
  .dash-chart-card { background: #fff; border-radius: 12px; box-shadow: 0 2px 8px rgba(0,0,0,.06); overflow: hidden; }
  .dash-chart-header { display: flex; align-items: center; gap: 8px; padding: 12px 16px; border-bottom: 1px solid #f0f4f2; font-size: 12px; font-weight: 700; color: #1a2e22; }
  .dash-chart-body { padding: 8px 8px 4px; }
  .dash-chart-link { margin-left: auto; font-size: 11px; font-weight: 600; color: #2d6a4f; text-decoration: none; display: flex; align-items: center; gap: 4px; }
  .dash-chart-link:hover { text-decoration: underline; color: #2d6a4f; }

  @media (max-width: 576px) {
    .mon-hero { padding: 18px 16px; flex-wrap: wrap; }
    .mon-hero-season { margin-left: 0; }
    .mon-body { padding: 16px 12px; }
  }


/* ─── 40. PAM CLIMATICO ───────────────────────── */

  /* ── pam/climatico/horas-frio.blade.php ── */
/* ── Hero ── */
  .rep-hero {
    background: linear-gradient(120deg, #0d2d5c 0%, #1a4a8a 55%, #2471c8 100%);
    padding: 22px 28px 18px; display: flex; align-items: center; gap: 16px;
  }
  .rep-hero-icon { width: 46px; height: 46px; border-radius: 12px; background: rgba(255,255,255,.15);
    display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
  .rep-hero-icon i { font-size: 22px; color: #fff; }
  .rep-hero-title { color: #fff; font-size: 17px; font-weight: 700; margin: 0; line-height: 1.2; }
  .rep-hero-sub   { color: rgba(255,255,255,.75); font-size: 11px; margin: 3px 0 0; }
  .rep-hero-season { margin-left: auto; background: rgba(255,255,255,.15); border: 1px solid rgba(255,255,255,.3);
    border-radius: 20px; color: #fff; font-size: 11px; font-weight: 600; padding: 4px 12px; white-space: nowrap; }

  /* ── Filtros ── */
  .filtros-bar { background: #fff; border-bottom: 1px solid #e2e8f0; padding: 12px 24px; display: flex; flex-wrap: wrap; gap: 12px; align-items: flex-end; }
  .filtro-group label { display: block; font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .5px; color: #5a7a90; margin-bottom: 4px; }
  .filtro-group select { font-size: 12px; border: 1px solid #c0d0e0; border-radius: 7px; padding: 5px 10px; color: #1a2e40; background: #f8fafc; min-width: 130px; }
  .filtro-btn { font-size: 12px; font-weight: 600; background: #1a4a8a; color: #fff; border: none; border-radius: 7px; padding: 6px 16px; cursor: pointer; align-self: flex-end; }
  .filtro-btn:hover { background: #0d2d5c; }

  /* ── Body ── */
  .rep-body { padding: 20px 24px; background: #f0f5fa; }

  /* ── Tab nav ── */
  .tab-nav { display: flex; gap: 0; background: #fff; border-radius: 12px 12px 0 0; overflow: hidden; border: 1px solid #dde8f0; border-bottom: none; margin-bottom: 0; }
  .tab-btn {
    flex: 1; padding: 11px 16px; border: none; background: #f4f8fb; cursor: pointer;
    font-size: 12px; font-weight: 700; color: #5a7a90; transition: all .15s;
    display: flex; align-items: center; justify-content: center; gap: 7px;
    border-right: 1px solid #dde8f0;
  }
  .tab-btn:last-child { border-right: none; }
  .tab-btn.active { background: #1a4a8a; color: #fff; }
  .tab-btn:not(.active):hover { background: #e8f0f8; color: #1a4a8a; }
  .tab-btn i { font-size: 13px; }

  .tab-content { background: #f0f5fa; border: 1px solid #dde8f0; border-radius: 0 0 12px 12px; padding: 16px 0 0; margin-bottom: 20px; }

  /* ── Cuadro ── */
  .cuadro-wrap { background: #fff; border-radius: 14px; box-shadow: 0 2px 12px rgba(0,0,0,.08); overflow: hidden; }
  .cuadro-header { display: flex; align-items: center; gap: 10px; padding: 12px 16px; border-bottom: 2px solid #eaf0f8; }
  .cuadro-header h6 { margin: 0; font-size: 12px; font-weight: 700; color: #1a2e40; }
  .badge-periodo { font-size: 9px; font-weight: 700; background: #e3edf8; color: #1a4a8a; border-radius: 20px; padding: 3px 9px; }

  .cuadro-table { width: 100%; border-collapse: collapse; font-size: 11px; table-layout: fixed; }
  .cuadro-table col.col-loc { width: 28%; }
  .cuadro-table col.col-val { width: 22%; }
  .cuadro-table col.col-dif { width: 18%; }

  .cuadro-table thead tr.th-group th {
    padding: 8px 10px; font-size: 10px; font-weight: 700; letter-spacing: .5px;
    text-transform: uppercase; text-align: center; background: #1a4a8a; color: #fff;
  }
  .cuadro-table thead tr.th-group th.th-localidad { background: #f8fafc; color: #6b7e90; text-align: left; border-right: 1px solid #e2e8f0; }
  .cuadro-table thead tr.th-sub th {
    padding: 6px 8px; font-size: 9px; font-weight: 600; text-align: center;
    line-height: 1.4; border-bottom: 2px solid #e2e8f0; word-break: break-word;
  }
  .cuadro-table thead tr.th-sub th.th-loc-sub { text-align: left; background: #f8fafc; color: #374151; border-right: 1px solid #e2e8f0; font-size: 10px; font-weight: 700; }
  .cuadro-table thead tr.th-sub th.sub-val  { background: #dce8f8; color: #1a4a8a; border-right: 1px solid #c5d9f0; }
  .cuadro-table thead tr.th-sub th.sub-hist { background: #e8f0f8; color: #1a4a8a; border-right: 1px solid #c5d9f0; }
  .cuadro-table thead tr.th-sub th.sub-dif  { background: #d5e3f5; color: #1a4a8a; }

  .cuadro-table tbody tr.tr-region td { padding: 6px 14px; font-size: 10px; font-weight: 700; color: #1a4a8a; text-transform: uppercase; letter-spacing: .5px; background: #eef4fb; border-top: 2px solid #c5d9f0; border-bottom: 1px solid #d5e3f5; }
  .cuadro-table tbody tr.tr-data { cursor: pointer; }
  .cuadro-table tbody tr.tr-data td { padding: 6px 10px; border-bottom: 1px solid #f1f5f9; text-align: right; color: #374151; vertical-align: middle; }
  .cuadro-table tbody tr.tr-data td.td-loc { text-align: left; font-weight: 600; color: #1a2e40; padding-left: 22px; border-right: 1px solid #e8eef4; }
  .cuadro-table tbody tr.tr-data:nth-child(even) { background: #fafcfe; }
  .cuadro-table tbody tr.tr-data:hover { background: #eef4fb; }
  .cuadro-table tbody tr.tr-data:hover td.td-loc { color: #1a4a8a; text-decoration: underline; }
  .cuadro-table tfoot td { background: #f8fafc; font-size: 9px; color: #9ab0c0; padding: 7px 14px; border-top: 1px solid #e8eef4; }

  /* Badges diferencia — para HF/PF: neg (dif>0)=rojo/menos frío; pos (dif<0)=azul/más frío */
  .dif-badge { display: inline-block; border-radius: 20px; font-size: 10px; font-weight: 700; padding: 2px 8px; min-width: 46px; text-align: center; }
  .dif-badge.neg { background: #fde8e8; color: #b71c1c; }
  .dif-badge.pos { background: #dce8f8; color: #1565c0; }
  .dif-badge.zer { background: #f1f5f9; color: #6b7e90; }

  /* ── Panel análisis ── */
  .panel-wrap { background: #fff; border-radius: 14px; box-shadow: 0 2px 12px rgba(0,0,0,.08); overflow: hidden; display: flex; flex-direction: column; }
  .panel-hd { padding: 12px 16px; border-bottom: 2px solid #eaf0f8; display: flex; align-items: center; gap: 8px; }
  .panel-hd h6 { margin: 0; font-size: 12px; font-weight: 700; color: #1a2e40; }
  .panel-section { padding: 12px 16px; border-bottom: 1px solid #f0f4f8; }
  .panel-section:last-child { border-bottom: none; }
  .panel-section-title { font-size: 9px; font-weight: 700; text-transform: uppercase; letter-spacing: .6px; color: #9ab0c0; margin-bottom: 8px; display: flex; align-items: center; gap: 5px; }

  .kpi-box { border-radius: 10px; padding: 10px 12px; text-align: center; background: #e3edf8; }
  .kpi-val  { font-size: 22px; font-weight: 800; color: #1a4a8a; line-height: 1; margin-bottom: 2px; }
  .kpi-lbl  { font-size: 9px; font-weight: 600; color: #6b7e90; text-transform: uppercase; letter-spacing: .4px; }
  .kpi-dif  { font-size: 10px; font-weight: 700; margin-top: 4px; display: inline-block; border-radius: 20px; padding: 1px 7px; }
  .kpi-dif.neg { background: #fde8e8; color: #b71c1c; }
  .kpi-dif.pos { background: #dce8f8; color: #1565c0; }
  .kpi-dif.zer { background: #f1f5f9; color: #6b7e90; }
  .kpi-hist { font-size: 9px; color: #9ab0c0; margin-top: 2px; }

  .dist-bar { height: 12px; border-radius: 6px; overflow: hidden; display: flex; margin-bottom: 6px; }
  .dist-bar-seg { transition: width .4s; }
  .dist-legend { display: flex; flex-wrap: wrap; gap: 6px; }
  .dist-leg-item { font-size: 9px; font-weight: 600; display: flex; align-items: center; gap: 4px; color: #374151; }
  .dist-dot { width: 8px; height: 8px; border-radius: 50%; flex-shrink: 0; }

  .rank-list { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 5px; }
  .rank-item { display: flex; align-items: center; gap: 8px; padding: 5px 10px; border-radius: 8px; background: #f8fafc; }
  .rank-num  { width: 18px; height: 18px; border-radius: 50%; font-size: 9px; font-weight: 800; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
  .rank-loc  { flex: 1; font-size: 11px; font-weight: 600; color: #1a2e40; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .rank-val  { font-size: 12px; font-weight: 800; white-space: nowrap; color: #1a4a8a; }
  .rank-item.top-mas .rank-num  { background: #dce8f8; color: #1a4a8a; }
  .rank-item.top-menos .rank-num { background: #fde8e8; color: #b71c1c; }
  .rank-item.top-menos .rank-val { color: #b71c1c; }

  .amp-box { background: #f8fafc; border-radius: 8px; padding: 8px 12px; text-align: center; }
  .amp-val  { font-size: 18px; font-weight: 800; color: #1a4a8a; }
  .amp-lbl  { font-size: 9px; color: #9ab0c0; text-transform: uppercase; letter-spacing: .4px; margin-top: 2px; }

  /* ── Gráfico ── */
  .grafico-wrap { background: #fff; border-radius: 12px; box-shadow: 0 2px 8px rgba(0,0,0,.07); overflow: hidden; margin: 16px 0 0; }
  .grafico-header { display: flex; align-items: center; gap: 8px; padding: 12px 16px; border-bottom: 1px solid #e8f0f8; }
  .grafico-header h6 { margin: 0; font-size: 13px; font-weight: 700; color: #1a2e40; }
  .grafico-body { padding: 12px; }

  /* ── Modal localidad ── */
  .loc-modal-overlay { display: none; position: fixed; inset: 0; background: rgba(0,0,0,.45); z-index: 9999; align-items: center; justify-content: center; }
  .loc-modal-overlay.active { display: flex; }
  .loc-modal { background: #fff; border-radius: 16px; box-shadow: 0 12px 48px rgba(0,0,0,.22); width: 760px; max-width: 96vw; max-height: 92vh; overflow: hidden; display: flex; flex-direction: column; animation: modalIn .18s ease; }
  @keyframes modalIn { from { opacity: 0; transform: translateY(-18px) scale(.97); } to { opacity: 1; transform: none; } }
  .loc-modal-hd { display: flex; align-items: center; gap: 10px; padding: 14px 18px; border-bottom: 1px solid #eaf0f8; background: linear-gradient(90deg,#0d2d5c,#1a4a8a); flex-shrink: 0; }
  .loc-modal-hd h6 { margin: 0; font-size: 13px; font-weight: 700; color: #fff; flex: 1; }
  .loc-modal-sub { font-size: 10px; color: rgba(255,255,255,.75); margin-top: 2px; }
  .loc-modal-close { background: rgba(255,255,255,.15); border: none; border-radius: 8px; width: 30px; height: 30px; color: #fff; font-size: 14px; cursor: pointer; display: flex; align-items: center; justify-content: center; }
  .loc-modal-close:hover { background: rgba(255,255,255,.28); }
  .loc-modal-body { padding: 18px; overflow-y: auto; }
  .loc-modal-loading { text-align: center; padding: 40px 0; color: #9ab0c0; font-size: 13px; }

  @media (max-width: 576px) {
    .rep-hero { padding: 14px 16px; flex-wrap: wrap; }
    .rep-hero-season { margin-left: 0; }
    .rep-body { padding: 12px; }
    .tab-btn { font-size: 11px; padding: 9px 10px; }
  }


  /* ── pam/climatico/temperaturas.blade.php ── */
/* ── Hero ── */
  .rep-hero {
    background: linear-gradient(120deg, #1b4332 0%, #2d6a4f 55%, #40916c 100%);
    padding: 22px 28px 18px; display: flex; align-items: center; gap: 16px;
  }
  .rep-hero-icon { width: 46px; height: 46px; border-radius: 12px; background: rgba(255,255,255,.15);
    display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
  .rep-hero-icon i { font-size: 22px; color: #fff; }
  .rep-hero-title { color: #fff; font-size: 17px; font-weight: 700; margin: 0; line-height: 1.2; }
  .rep-hero-sub   { color: rgba(255,255,255,.75); font-size: 11px; margin: 3px 0 0; }
  .rep-hero-season { margin-left: auto; background: rgba(255,255,255,.15); border: 1px solid rgba(255,255,255,.3);
    border-radius: 20px; color: #fff; font-size: 11px; font-weight: 600; padding: 4px 12px; white-space: nowrap; }

  /* ── Filtros ── */
  .filtros-bar { background: #fff; border-bottom: 1px solid #e2e8f0; padding: 12px 24px; display: flex; flex-wrap: wrap; gap: 12px; align-items: flex-end; }
  .filtro-group label { display: block; font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .5px; color: #6b7e72; margin-bottom: 4px; }
  .filtro-group select { font-size: 12px; border: 1px solid #c8d8cf; border-radius: 7px; padding: 5px 10px; color: #1a2e22; background: #f8faf9; min-width: 130px; }
  .filtro-btn { font-size: 12px; font-weight: 600; background: #2d6a4f; color: #fff; border: none; border-radius: 7px; padding: 6px 16px; cursor: pointer; margin-bottom: 0; align-self: flex-end; }
  .filtro-btn:hover { background: #1b4332; }

  /* ── Contenido ── */
  .rep-body { padding: 24px; background: #f0f5fa; }

  /* ── Tabla cuadro 1 ── */
  .cuadro-wrap { background: #fff; border-radius: 14px; box-shadow: 0 2px 12px rgba(0,0,0,.08); overflow: hidden; margin-bottom: 0; height: 100%; }
  .cuadro-header { display: flex; align-items: center; gap: 10px; padding: 12px 16px; border-bottom: 2px solid #eef4f1; }
  .cuadro-header h6 { margin: 0; font-size: 12px; font-weight: 700; color: #1a2e22; }
  .cuadro-header .badge-periodo { font-size: 9px; font-weight: 700; background: #e8f3ed; color: #2d6a4f; border-radius: 20px; padding: 3px 9px; }

  .cuadro-table { width: 100%; border-collapse: collapse; font-size: 11px; table-layout: fixed; }
  .cuadro-table col.col-loc  { width: 18%; }
  .cuadro-table col.col-val  { width: 11%; }
  .cuadro-table col.col-dif  { width: 9%;  }

  /* Encabezado grupo (fila 1) */
  .cuadro-table thead tr.th-group th {
    padding: 8px 10px; font-size: 10px; font-weight: 700;
    letter-spacing: .6px; text-transform: uppercase; text-align: center;
  }
  .cuadro-table thead tr.th-group th.th-localidad {
    background: #f8faf9; color: #6b7e72; text-align: left; border-right: 1px solid #e2e8f0;
  }
  .cuadro-table thead tr.th-group th.th-min {
    background: #1565c0; color: #fff;
    border-left: 3px solid #1565c0;
  }
  .cuadro-table thead tr.th-group th.th-max {
    background: #b71c1c; color: #fff;
    border-left: 3px solid #b71c1c;
  }

  /* Encabezado sub (fila 2) */
  .cuadro-table thead tr.th-sub th {
    padding: 6px 8px; font-size: 9px; font-weight: 600;
    text-align: center; line-height: 1.4; border-bottom: 2px solid #e2e8f0;
    word-break: break-word; overflow-wrap: break-word;
  }
  .cuadro-table thead tr.th-sub th.th-localidad-sub {
    text-align: left; background: #f8faf9; color: #374151;
    border-right: 1px solid #e2e8f0; font-size: 10px; font-weight: 700;
  }
  .cuadro-table thead tr.th-sub th.sub-min { background: #e3f0fd; color: #1565c0; border-right: 1px solid #bbdefb; }
  .cuadro-table thead tr.th-sub th.sub-min-dif { background: #dce9fb; color: #1565c0; border-right: 3px solid #bbdefb; }
  .cuadro-table thead tr.th-sub th.sub-max { background: #fde8e8; color: #b71c1c; border-right: 1px solid #ffcdd2; }
  .cuadro-table thead tr.th-sub th.sub-max-dif { background: #fbd9d9; color: #b71c1c; }

  /* Fila de región */
  .cuadro-table tbody tr.tr-region td {
    padding: 6px 14px; font-size: 10px; font-weight: 700;
    color: #2d6a4f; text-transform: uppercase; letter-spacing: .5px;
    background: #f0f7f3; border-top: 2px solid #c1dece;
    border-bottom: 1px solid #d4eadc;
  }

  /* Fila de dato */
  .cuadro-table tbody tr.tr-data td {
    padding: 6px 10px; border-bottom: 1px solid #f1f5f3;
    text-align: right; color: #374151; vertical-align: middle;
    font-size:13px;
    font-weight: 500;
  }
  .cuadro-table tbody tr.tr-data td.td-loc {
    text-align: left; font-weight: 600; color: #1a2e22;
    padding-left: 22px; border-right: 1px solid #e8f0ec;
  }
  .cuadro-table tbody tr.tr-data td.td-sep { border-right: 3px solid #e2e8f0; }
  .cuadro-table tbody tr.tr-data:nth-child(even) { background: #fafcfb; }
  .cuadro-table tbody tr.tr-data:hover { background: #f0f7f3; }

  /* Badge diferencia */
  .dif-badge {
    display: inline-block; border-radius: 20px;
    font-size: 10px; font-weight: 700; padding: 2px 8px;
    min-width: 46px; text-align: center;
  }
  .dif-badge.neg { background: #fde8e8; color: #b71c1c; }
  .dif-badge.pos { background: #e3f0fd; color: #1565c0; }
  .dif-badge.zer { background: #f1f5f3; color: #6b7e72; }

  /* Pie de tabla */
  .cuadro-table tfoot td {
    background: #f8faf9; font-size: 9px; color: #9ab4a0;
    padding: 7px 14px; border-top: 1px solid #e8f0ec;
  }

  /* ── Panel análisis ── */
  .panel-wrap { background: #fff; border-radius: 14px; box-shadow: 0 2px 12px rgba(0,0,0,.08); overflow: hidden; height: 100%; display: flex; flex-direction: column; }
  .panel-hd { padding: 12px 16px; border-bottom: 2px solid #eef4f1; display: flex; align-items: center; gap: 8px; }
  .panel-hd h6 { margin: 0; font-size: 12px; font-weight: 700; color: #1a2e22; }

  .panel-section { padding: 14px 16px; border-bottom: 1px solid #f0f4f2; }
  .panel-section:last-child { border-bottom: none; flex: 1; }
  .panel-section-title { font-size: 9px; font-weight: 700; text-transform: uppercase; letter-spacing: .6px; color: #9ab4a0; margin-bottom: 10px; display: flex; align-items: center; gap: 5px; }

  /* KPI promedios */
  .kpi-row { display: flex; gap: 10px; }
  .kpi-box { flex: 1; border-radius: 10px; padding: 10px 12px; text-align: center; }
  .kpi-box.blue { background: #e3f0fd; }
  .kpi-box.red  { background: #fde8e8; }
  .kpi-val  { font-size: 22px; font-weight: 800; line-height: 1; margin-bottom: 2px; }
  .kpi-box.blue .kpi-val { color: #1565c0; }
  .kpi-box.red  .kpi-val { color: #b71c1c; }
  .kpi-lbl  { font-size: 9px; font-weight: 600; color: #6b7e72; text-transform: uppercase; letter-spacing: .4px; }
  .kpi-dif  { font-size: 10px; font-weight: 700; margin-top: 4px; display: inline-block; border-radius: 20px; padding: 1px 7px; }
  .kpi-dif.neg { background: #fde8e8; color: #b71c1c; }
  .kpi-dif.pos { background: #e3f0fd; color: #1565c0; }
  .kpi-dif.zer { background: #f1f5f3; color: #6b7e72; }
  .kpi-hist { font-size: 9px; color: #9ab4a0; margin-top: 2px; }

  /* Barra distribución */
  .dist-bar { height: 12px; border-radius: 6px; overflow: hidden; display: flex; margin-bottom: 6px; }
  .dist-bar-seg { transition: width .4s; }
  .dist-legend { display: flex; flex-wrap: wrap; gap: 6px; }
  .dist-leg-item { font-size: 9px; font-weight: 600; display: flex; align-items: center; gap: 4px; color: #374151; }
  .dist-dot { width: 8px; height: 8px; border-radius: 50%; flex-shrink: 0; }

  /* Ranking */
  .rank-list { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 6px; }
  .rank-item { display: flex; align-items: center; gap: 8px; padding: 6px 10px; border-radius: 8px; background: #f8faf9; }
  .rank-num  { width: 18px; height: 18px; border-radius: 50%; font-size: 9px; font-weight: 800; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
  .rank-loc  { flex: 1; font-size: 11px; font-weight: 600; color: #1a2e22; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .rank-temp { font-size: 12px; font-weight: 800; white-space: nowrap; }
  .rank-item.top-max .rank-num  { background: #fde8e8; color: #b71c1c; }
  .rank-item.top-max .rank-temp { color: #b71c1c; }
  .rank-item.top-min .rank-num  { background: #e3f0fd; color: #1565c0; }
  .rank-item.top-min .rank-temp { color: #1565c0; }

  /* Amplitud */
  .amp-row { display: flex; gap: 8px; }
  .amp-box  { flex: 1; background: #f8faf9; border-radius: 8px; padding: 8px 10px; text-align: center; }
  .amp-val  { font-size: 16px; font-weight: 800; color: #2d6a4f; }
  .amp-lbl  { font-size: 9px; color: #9ab4a0; text-transform: uppercase; letter-spacing: .4px; margin-top: 2px; }

  /* ── Gráfico ── */
  .grafico-wrap { background: #fff; border-radius: 12px; box-shadow: 0 2px 8px rgba(0,0,0,.07); overflow: hidden; }
  .grafico-header { display: flex; align-items: center; gap: 8px; padding: 12px 16px; border-bottom: 1px solid #e8f0ec; }
  .grafico-header h6 { margin: 0; font-size: 13px; font-weight: 700; color: #1a2e22; }
  .grafico-body { padding: 12px; }

  /* ── Modal localidad ── */
  .loc-modal-overlay {
    display: none; position: fixed; inset: 0;
    background: rgba(0,0,0,.45); z-index: 9999;
    align-items: center; justify-content: center;
  }
  .loc-modal-overlay.active { display: flex; }
  .loc-modal {
    background: #fff; border-radius: 16px;
    box-shadow: 0 12px 48px rgba(0,0,0,.22);
    width: 760px; max-width: 96vw;
    max-height: 92vh; overflow: hidden;
    display: flex; flex-direction: column;
    animation: modalIn .18s ease;
  }
  @keyframes modalIn {
    from { opacity: 0; transform: translateY(-18px) scale(.97); }
    to   { opacity: 1; transform: none; }
  }
  .loc-modal-hd {
    display: flex; align-items: center; gap: 10px;
    padding: 14px 18px; border-bottom: 1px solid #eef4f1;
    background: linear-gradient(90deg,#1b4332,#2d6a4f);
    flex-shrink: 0;
  }
  .loc-modal-hd h6 { margin: 0; font-size: 13px; font-weight: 700; color: #fff; flex: 1; }
  .loc-modal-sub   { font-size: 10px; color: rgba(255,255,255,.75); margin-top: 2px; }
  .loc-modal-close {
    background: rgba(255,255,255,.15); border: none; border-radius: 8px;
    width: 30px; height: 30px; color: #fff; font-size: 14px;
    cursor: pointer; display: flex; align-items: center; justify-content: center;
  }
  .loc-modal-close:hover { background: rgba(255,255,255,.28); }
  .loc-modal-body { padding: 18px; overflow-y: auto; }
  .loc-modal-loading { text-align: center; padding: 40px 0; color: #9ab4a0; font-size: 13px; }

  /* Cursor en filas de localidad */
  .cuadro-table tbody tr.tr-data { cursor: pointer; }
  .cuadro-table tbody tr.tr-data:hover td.td-loc { color: #2d6a4f; text-decoration: underline; }

  @media (max-width: 576px) {
    .rep-hero { padding: 14px 16px; flex-wrap: wrap; }
    .rep-hero-season { margin-left: 0; }
    .rep-body { padding: 12px; }
    .filtros-bar { padding: 10px 14px; }
  }


/* ─── 41. SOLICITUDES ─────────────────────────── */

  /* ── solicitudes/calidad/index.blade.php ── */
.clscaja {
    display: none;
  }
  table tbody tr:not(.nothover) {
    cursor: pointer;
  }
  
  .dataTables_filter {
   float: right !important;
  }
  #empresas {
    width: 100%;
 }

th { font-size: 12px; }
td { font-size: 11px; }
/* Ensure that the demo table scrolls */


  /* ── solicitudes/calidaddet/index.blade.php ── */
.clscaja {
    display: none;
  }
  table tbody tr:not(.nothover) {
    cursor: pointer;
  }

  .dataTables_filter {
   float: right !important;
  }
  #empresas {
    width: 100%;
 }

th { font-size: 12px; }
td { font-size: 11px; }
/* Ensure that the demo table scrolls */

  /* Botones de acción */
  .btn-accion {
    display: inline-flex; align-items: center; gap: 4px;
    border: none; border-radius: 6px; font-size: 10px;
    font-weight: 600; padding: 4px 9px; line-height: 1.3;
    cursor: pointer; white-space: nowrap; transition: filter .15s;
  }
  .btn-accion:hover { filter: brightness(88%); }
  .btn-accion i { font-size: 11px; }
  .btn-ac-ver       { background: #3a86c4; color: #fff; }
  .btn-ac-editar    { background: #e8962a; color: #fff; }
  .btn-ac-eliminar  { background: #e05252; color: #fff; }
  .btn-ac-email     { background: #2f7bc4; color: #fff; }
  .btn-ac-predios   { background: #20a8a0; color: #fff; }
  .btn-ac-usuarios  { background: #2f86c4; color: #fff; }
  .btn-ac-asociar   { background: #6c757d; color: #fff; }
  .btn-ac-activar   { background: var(--kiwi-dark); color: #fff; }
  .btn-ac-desactivar{ background: #e05252; color: #fff; }


  /* ── solicitudes/solicitud/cargarPlanilla.blade.php ── */
.clscaja { display: none; }
.arch-card {
  width: 160px;
  border: 1px solid #e0e0e0;
  border-radius: 10px;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 1px 4px rgba(0,0,0,.07);
  transition: box-shadow .2s, transform .2s;
  display: flex;
  flex-direction: column;
}
.arch-card:hover {
  box-shadow: 0 4px 14px rgba(0,0,0,.13);
  transform: translateY(-2px);
}
.arch-preview {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 110px;
  background: #f4f6f4;
  text-decoration: none;
  overflow: hidden;
}
.arch-preview img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.arch-pdf-icon {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  color: #c0392b;
}
.arch-pdf-icon i { font-size: 38px; }
.arch-pdf-icon span { font-size: 11px; font-weight: 700; letter-spacing: 1px; }
.arch-info {
  padding: 8px 10px;
  display: flex;
  flex-direction: column;
  gap: 6px;
  border-top: 1px solid #f0f0f0;
}
.arch-name {
  font-size: 11px;
  color: var(--kiwi-dark);
  text-decoration: none;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  font-weight: 600;
}
.arch-name:hover { text-decoration: underline; }
.arch-delete {
  font-size: 11px;
  color: #dc3545;
  text-decoration: none;
  display: flex;
  align-items: center;
  gap: 4px;
  font-weight: 500;
}
.arch-delete:hover { color: #a71d2a; }


  /* ── solicitudes/solicitud/create.blade.php ── */
.clscaja { display: none; }
.btn-kiwi-action { background-color: var(--kiwi-dark) !important; color: #fff !important; border: none; border-radius: 6px; font-weight: 600; }
  .btn-kiwi-action:hover { background-color: #015f32 !important; color: #fff !important; }
  /* Ajuste de color activo Select2 al tema KIWI */
  .select2-container--bootstrap4 .select2-results__option--highlighted {
    background-color: var(--kiwi-dark) !important;
  }
  .select2-container--bootstrap4 .select2-selection--single {
    font-size: 0.875rem;
  }


  /* ── solicitudes/solicitud/createDetalle.blade.php ── */
.clscaja { display: none; }
  .field-readonly {
    background-color: #f8f9fa !important;
    color: #555;
    font-size: 13px;
  }
  .section-label {
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .6px;
    color: var(--kiwi-dark);
    border-bottom: 2px solid var(--kiwi-pale, #e8f5e9);
    padding-bottom: 4px;
    margin-bottom: 14px;
  }
  .upload-zone {
    border: 2px dashed #c8e6c9;
    border-radius: 10px;
    background: #f9fdf9;
    padding: 20px 24px;
    transition: border-color .2s, background .2s;
  }
  .upload-zone:has(input:focus) { border-color: var(--kiwi-dark); }


  /* ── solicitudes/solicitud/createMaster.blade.php ── */
.clscaja { display: none; }
  .field-readonly {
    background-color: #f8f9fa !important;
    color: #555;
    font-size: 13px;
  }
  .section-label {
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .6px;
    color: var(--kiwi-dark);
    border-bottom: 2px solid var(--kiwi-pale, #e8f5e9);
    padding-bottom: 4px;
    margin-bottom: 14px;
  }


  /* ── solicitudes/solicitud/edit.blade.php ── */
.btn-kiwi-action { background-color: var(--kiwi-dark) !important; color: #fff !important; border: none; border-radius: 6px; font-weight: 600; }
  .btn-kiwi-action:hover { background-color: #015f32 !important; color: #fff !important; }


  /* ── solicitudes/solicitud/index.blade.php ── */
.clscaja { display: none; }
  table tbody tr:not(.nothover) { cursor: pointer; }
  .dataTables_filter { float: right !important; }
  #planillas { width: 100%; }
  #planillas_processing {
    position: absolute; top: 50%; left: 50%;
    transform: translate(-50%, -50%);
    background: var(--kiwi-dark); color: #fff;
    padding: 10px 20px; border-radius: 8px;
    font-size: 13px; z-index: 100;
  }
  #planillas th,
  #planillas td { font-size: 8px !important; }
  #planillas_wrapper .dataTables_info,
  #planillas_wrapper .dataTables_filter label,
  #planillas_wrapper .dataTables_filter input { font-size: 11px; }
.btn-kiwi-new { background-color: var(--kiwi-dark) !important; color: #fff !important; border: none !important; border-radius: 8px !important; font-size: 12px !important; font-weight: 600 !important; padding: 7px 16px !important; }
  .btn-kiwi-new:hover { background-color: #015f32 !important; }

  /* Paginación KIWI */
  #planillas_wrapper .pagination { margin: 0; gap: 2px; }
  #planillas_wrapper .page-item .page-link {
    font-size: 11px !important;
    padding: 4px 9px;
    color: var(--kiwi-dark);
    background-color: #fff;
    border: 1px solid var(--kiwi-light);
    border-radius: 5px !important;
    line-height: 1.4;
  }
  #planillas_wrapper .page-item .page-link:hover {
    background-color: var(--kiwi-pale);
    color: var(--kiwi-dark);
    border-color: var(--kiwi-mid);
  }
  #planillas_wrapper .page-item.active .page-link {
    background-color: var(--kiwi-dark) !important;
    border-color: var(--kiwi-dark) !important;
    color: #fff !important;
    font-weight: 600;
  }
  #planillas_wrapper .page-item.disabled .page-link {
    color: #aaa;
    border-color: #ddd;
    background-color: #f8f8f8;
  }
  #planillas_wrapper .dataTables_info { font-size: 11px; color: #555; padding-top: 6px; }


  /* ── solicitudes/solicitud/verResultado.blade.php ── */
.btn-kiwi-action { background-color: var(--kiwi-dark) !important; color: #fff !important; border: none; border-radius: 6px; font-weight: 600; }
  .btn-kiwi-action:hover { background-color: #015f32 !important; color: #fff !important; }


  /* ── solicitudes/solicitud/viewDetalle.blade.php ── */
#resultado-tabs .nav-link { color: var(--kiwi-dark); font-size: 13px; font-weight: 600; border-radius: 6px 6px 0 0; }
  #resultado-tabs .nav-link.active { background: var(--kiwi-dark); color: #fff; border-color: var(--kiwi-dark) var(--kiwi-dark) #fff; }
  #resultado-tabs .nav-link:not(.active):hover { background: var(--kiwi-pale); color: var(--kiwi-dark); }

  p {
    font-size: 15px !important;
  }
  .chosen-single span {
    font-size: 16px; !important
  }
  span b {font-size:15px;}