/* frontend/src/index.css */

/* Base limpia para app de ancho completo */
*,
*::before,
*::after {
  box-sizing: border-box;
}

html,
body,
#root {
  width: 100%;
  min-width: 0;
  margin: 0;
  padding: 0;
}

html,
body {
  height: 100%;
}

body {
  /* IMPORTANTE: quitar centrado de Vite */
  display: block;
  place-items: initial;
  min-height: 100vh;

  font-family: system-ui, Avenir, Helvetica, Arial, sans-serif;
  line-height: 1.5;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;

  background: #f3f4f6;
  color: #0f172a;
}

/* Modo normal (si alguna pantalla lo usa) */
#root {
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: 0;
}

/* Modo ancho total forzado para tabs wide */
#root.layout-wide {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Links y botones base (suave, no invasivo) */
a {
  color: inherit;
  text-decoration: none;
}

button {
  font: inherit;
}

@keyframes noteBlinkVeryImportant {
  0% {
    opacity: 1;
    transform: scale(1);
    box-shadow: 0 0 0 rgba(220, 38, 38, 0);
  }
  50% {
    opacity: 0.45;
    transform: scale(1.01);
    box-shadow: 0 0 0 6px rgba(220, 38, 38, 0.12);
  }
  100% {
    opacity: 1;
    transform: scale(1);
    box-shadow: 0 0 0 rgba(220, 38, 38, 0);
  }
}

.note-blink-very-important {
  animation: noteBlinkVeryImportant 1s infinite;
}
/* jobs_visual_v1c1 */
/* Solo mejoras visuales. Sin ResizeObserver, sin scroll sync, sin lógica pesada. */

.jobs-lite-root {
  min-height: calc(100vh - 90px) !important;
  padding: 18px 22px 34px !important;
  background:
    radial-gradient(circle at top left, rgba(14, 165, 233, 0.12), transparent 34%),
    radial-gradient(circle at top right, rgba(16, 185, 129, 0.10), transparent 30%),
    linear-gradient(180deg, #f8fafc 0%, #eef4f8 100%) !important;
}

.jobs-lite-header {
  position: sticky !important;
  top: 0 !important;
  z-index: 20 !important;
  padding: 14px 16px !important;
  border: 1px solid rgba(255, 255, 255, 0.72) !important;
  border-radius: 22px !important;
  background:
    linear-gradient(135deg, rgba(255,255,255,0.88), rgba(240,249,255,0.78)) !important;
  box-shadow:
    0 18px 40px rgba(15, 23, 42, 0.10),
    inset 0 1px 0 rgba(255,255,255,0.86) !important;
  backdrop-filter: blur(14px) !important;
  -webkit-backdrop-filter: blur(14px) !important;
}

.jobs-lite-title {
  font-size: 25px !important;
  line-height: 1.05 !important;
  color: #0f172a !important;
  text-shadow: 0 1px 0 rgba(255,255,255,0.8) !important;
}

.jobs-lite-muted {
  margin-top: 4px !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  color: #475569 !important;
}

.jobs-lite-card {
  border-radius: 22px !important;
  border: 1px solid rgba(255,255,255,0.72) !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.94), rgba(248,250,252,0.88)) !important;
  box-shadow:
    0 14px 34px rgba(15, 23, 42, 0.075),
    inset 0 1px 0 rgba(255,255,255,0.9) !important;
}

.jobs-lite-card > div[style*="font-weight: 950"] {
  color: #0f172a !important;
  letter-spacing: -0.02em !important;
}

.jobs-lite-row {
  gap: 9px !important;
}

.jobs-lite-row b {
  color: #0f172a !important;
}

.jobs-lite-root input,
.jobs-lite-root select {
  min-height: 34px !important;
  border-color: rgba(148, 163, 184, 0.32) !important;
  background: rgba(255,255,255,0.96) !important;
  box-shadow:
    inset 0 1px 2px rgba(15,23,42,0.045),
    0 1px 0 rgba(255,255,255,0.86) !important;
  transition: border-color 120ms ease, box-shadow 120ms ease, transform 120ms ease !important;
}

.jobs-lite-root input:focus,
.jobs-lite-root select:focus {
  border-color: rgba(14, 165, 233, 0.68) !important;
  box-shadow:
    0 0 0 4px rgba(14, 165, 233, 0.12),
    inset 0 1px 2px rgba(15,23,42,0.04) !important;
}

.jobs-lite-root input[type="checkbox"] {
  accent-color: #0284c7 !important;
}

.jobs-lite-btn {
  min-width: 92px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(14,165,233,0.26) !important;
  background:
    linear-gradient(180deg, rgba(240,249,255,0.98), rgba(224,242,254,0.92)) !important;
  color: #075985 !important;
  box-shadow:
    0 8px 18px rgba(14,165,233,0.12),
    inset 0 1px 0 rgba(255,255,255,0.86) !important;
  transition: transform 120ms ease, box-shadow 120ms ease, filter 120ms ease !important;
}

.jobs-lite-btn:hover:not(:disabled) {
  transform: translateY(-1px) !important;
  filter: brightness(1.015) !important;
  box-shadow:
    0 12px 24px rgba(14,165,233,0.16),
    inset 0 1px 0 rgba(255,255,255,0.9) !important;
}

.jobs-lite-btn:active:not(:disabled) {
  transform: translateY(0) scale(0.99) !important;
}

.jobs-lite-btn.green {
  border-color: rgba(22,163,74,0.28) !important;
  background:
    linear-gradient(180deg, rgba(240,253,244,0.98), rgba(220,252,231,0.92)) !important;
  color: #15803d !important;
  box-shadow:
    0 8px 18px rgba(22,163,74,0.12),
    inset 0 1px 0 rgba(255,255,255,0.86) !important;
}

.jobs-lite-btn.red {
  border-color: rgba(220,38,38,0.24) !important;
  background:
    linear-gradient(180deg, rgba(254,242,242,0.98), rgba(255,228,230,0.92)) !important;
  color: #991b1b !important;
  box-shadow:
    0 8px 18px rgba(220,38,38,0.10),
    inset 0 1px 0 rgba(255,255,255,0.86) !important;
}

.jobs-lite-table-wrap {
  max-height: calc(100vh - 345px) !important;
  border-radius: 18px !important;
  border: 1px solid rgba(148,163,184,0.22) !important;
  background: rgba(255,255,255,0.94) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.88) !important;
}

.jobs-lite-table {
  border-collapse: separate !important;
  border-spacing: 0 !important;
}

.jobs-lite-table th {
  top: 0 !important;
  background:
    linear-gradient(180deg, rgba(248,250,252,1), rgba(241,245,249,1)) !important;
  color: #0f172a !important;
  font-size: 12px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.035em !important;
  border-bottom: 1px solid rgba(148,163,184,0.28) !important;
}

.jobs-lite-table td {
  background: rgba(255,255,255,0.72) !important;
  border-bottom: 1px solid rgba(226,232,240,0.86) !important;
  color: #1e293b !important;
}

.jobs-lite-table tbody tr:nth-child(even) td {
  background: rgba(248,250,252,0.82) !important;
}

.jobs-lite-table tbody tr:hover td {
  background: rgba(240,249,255,0.95) !important;
}

.jobs-lite-table td:first-child {
  color: #0369a1 !important;
  font-weight: 950 !important;
}

.jobs-lite-table td:nth-child(2) {
  font-weight: 950 !important;
  color: #0f172a !important;
}

.jobs-lite-table td:nth-child(4),
.jobs-lite-table td:nth-child(12) {
  font-weight: 950 !important;
}

.jobs-lite-error {
  border-radius: 16px !important;
  box-shadow: 0 10px 24px rgba(220,38,38,0.08) !important;
}

@media (max-width: 900px) {
  .jobs-lite-root {
    padding: 12px !important;
  }

  .jobs-lite-header {
    border-radius: 18px !important;
  }

  .jobs-lite-title {
    font-size: 22px !important;
  }

  .jobs-lite-card {
    border-radius: 18px !important;
  }

  .jobs-lite-table-wrap {
    max-height: calc(100vh - 380px) !important;
  }
}

/* jobs_visual_v1c2_chips */
.jobs-lite-chip {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 24px !important;
  padding: 3px 9px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(148, 163, 184, 0.24) !important;
  background: rgba(248, 250, 252, 0.96) !important;
  color: #334155 !important;
  font-size: 11.5px !important;
  font-weight: 950 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
  box-shadow:
    0 5px 12px rgba(15, 23, 42, 0.045),
    inset 0 1px 0 rgba(255,255,255,0.86) !important;
}

.jobs-lite-chip.yes {
  border-color: rgba(22, 163, 74, 0.22) !important;
  background: rgba(220, 252, 231, 0.92) !important;
  color: #166534 !important;
}

.jobs-lite-chip.no {
  border-color: rgba(148, 163, 184, 0.20) !important;
  background: rgba(241, 245, 249, 0.92) !important;
  color: #64748b !important;
}

.jobs-lite-chip.empty {
  border-color: rgba(203, 213, 225, 0.34) !important;
  background: rgba(248, 250, 252, 0.74) !important;
  color: #94a3b8 !important;
}

.jobs-lite-chip.work {
  border-color: rgba(14, 165, 233, 0.24) !important;
  background: rgba(224, 242, 254, 0.88) !important;
  color: #075985 !important;
}

.jobs-lite-chip.stage {
  border-color: rgba(99, 102, 241, 0.22) !important;
  background: rgba(238, 242, 255, 0.88) !important;
  color: #3730a3 !important;
}

.jobs-lite-chip.process {
  border-color: rgba(217, 119, 6, 0.22) !important;
  background: rgba(254, 243, 199, 0.92) !important;
  color: #92400e !important;
}

.jobs-lite-chip.pending {
  border-color: rgba(234, 88, 12, 0.22) !important;
  background: rgba(255, 237, 213, 0.92) !important;
  color: #9a3412 !important;
}

.jobs-lite-chip.done,
.jobs-lite-chip.delivered {
  border-color: rgba(22, 163, 74, 0.22) !important;
  background: rgba(220, 252, 231, 0.92) !important;
  color: #166534 !important;
}

.jobs-lite-chip.location {
  border-color: rgba(6, 182, 212, 0.22) !important;
  background: rgba(207, 250, 254, 0.88) !important;
  color: #155e75 !important;
}

.jobs-lite-chip.lab {
  border-color: rgba(168, 85, 247, 0.22) !important;
  background: rgba(243, 232, 255, 0.92) !important;
  color: #6b21a8 !important;
}

.jobs-lite-chip.clinic,
.jobs-lite-chip.box {
  border-color: rgba(14, 165, 233, 0.24) !important;
  background: rgba(224, 242, 254, 0.88) !important;
  color: #075985 !important;
}

.jobs-lite-chip.doctor {
  border-color: rgba(59, 130, 246, 0.22) !important;
  background: rgba(219, 234, 254, 0.90) !important;
  color: #1d4ed8 !important;
}

.jobs-lite-chip.date {
  border-color: rgba(100, 116, 139, 0.18) !important;
  background: rgba(248, 250, 252, 0.96) !important;
  color: #475569 !important;
  font-variant-numeric: tabular-nums !important;
}

.jobs-lite-chip.money {
  border-color: rgba(22, 163, 74, 0.22) !important;
  background: rgba(240, 253, 244, 0.94) !important;
  color: #15803d !important;
  font-variant-numeric: tabular-nums !important;
}

.jobs-lite-id-badge {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 42px !important;
  height: 24px !important;
  padding: 0 8px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(14, 165, 233, 0.22) !important;
  background: rgba(240, 249, 255, 0.96) !important;
  color: #0369a1 !important;
  font-size: 11.5px !important;
  font-weight: 950 !important;
  font-variant-numeric: tabular-nums !important;
}

.jobs-lite-qty {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 30px !important;
  height: 24px !important;
  border-radius: 999px !important;
  background: rgba(241, 245, 249, 0.96) !important;
  border: 1px solid rgba(148, 163, 184, 0.22) !important;
  color: #334155 !important;
  font-weight: 950 !important;
  font-variant-numeric: tabular-nums !important;
}

/* jobs_visual_v1c3_create_form */
.jobs-lite-section-head {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  margin-bottom: 12px !important;
  padding-bottom: 10px !important;
  border-bottom: 1px solid rgba(226, 232, 240, 0.82) !important;
}

.jobs-lite-section-title {
  font-size: 16px !important;
  font-weight: 950 !important;
  color: #0f172a !important;
  letter-spacing: -0.025em !important;
}

.jobs-lite-section-subtitle {
  margin-top: 2px !important;
  font-size: 12.5px !important;
  font-weight: 750 !important;
  color: #64748b !important;
}

.jobs-lite-create-card {
  padding: 14px 15px 15px !important;
}

.jobs-lite-create-grid {
  display: grid !important;
  grid-template-columns:
    minmax(190px, 1.6fr)
    145px
    106px
    minmax(155px, 1.2fr)
    76px
    minmax(155px, 1.2fr)
    145px
    145px
    minmax(150px, 1.1fr)
    minmax(150px, 1.1fr)
    105px
    112px !important;
  align-items: center !important;
  gap: 8px !important;
}

.jobs-lite-create-grid > input,
.jobs-lite-create-grid > select {
  width: 100% !important;
  min-width: 0 !important;
}

.jobs-lite-create-grid > label {
  height: 34px !important;
  padding: 0 10px !important;
  border: 1px solid rgba(148, 163, 184, 0.24) !important;
  border-radius: 999px !important;
  background: rgba(248, 250, 252, 0.86) !important;
  color: #334155 !important;
  font-size: 12.5px !important;
  font-weight: 850 !important;
  justify-content: center !important;
  flex-wrap: nowrap !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.86) !important;
}

.jobs-lite-create-grid > label input[type="checkbox"] {
  flex: 0 0 auto !important;
}

.jobs-lite-create-grid > button.jobs-lite-btn.green {
  width: 100% !important;
  min-width: 0 !important;
  justify-content: center !important;
}

/* Ayudas visuales por orden de campos del formulario nuevo */
.jobs-lite-create-grid > input:nth-child(1) {
  font-weight: 900 !important;
}

.jobs-lite-create-grid > input:nth-child(5) {
  text-align: center !important;
  font-variant-numeric: tabular-nums !important;
}

.jobs-lite-create-grid > input[type="date"] {
  font-variant-numeric: tabular-nums !important;
}

/* Responsive sin meter lógica ni observers */
@media (max-width: 1500px) {
  .jobs-lite-create-grid {
    grid-template-columns:
      minmax(220px, 2fr)
      145px
      106px
      minmax(170px, 1fr)
      80px
      minmax(170px, 1fr) !important;
  }

  .jobs-lite-create-grid > button.jobs-lite-btn.green {
    grid-column: span 2 !important;
  }
}

@media (max-width: 980px) {
  .jobs-lite-create-grid {
    grid-template-columns: 1fr 1fr !important;
  }

  .jobs-lite-create-grid > input:first-child {
    grid-column: 1 / -1 !important;
  }

  .jobs-lite-create-grid > button.jobs-lite-btn.green {
    grid-column: 1 / -1 !important;
  }
}

@media (max-width: 620px) {
  .jobs-lite-create-grid {
    grid-template-columns: 1fr !important;
  }

  .jobs-lite-create-grid > * {
    grid-column: 1 / -1 !important;
  }
}

/* jobs_visual_v1c3b_fix_width */
/* Corrige formulario Crear trabajo que se salía de pantalla */

.jobs-lite-root {
  width: 100% !important;
  max-width: 100vw !important;
  overflow-x: hidden !important;
  box-sizing: border-box !important;
}

.jobs-lite-card,
.jobs-lite-header {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

.jobs-lite-create-grid {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  display: grid !important;
  grid-template-columns: minmax(220px, 2fr) minmax(150px, 1fr) minmax(135px, 0.8fr) minmax(160px, 1fr) !important;
  gap: 9px !important;
  overflow: visible !important;
}

.jobs-lite-create-grid > * {
  min-width: 0 !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

.jobs-lite-create-grid > input,
.jobs-lite-create-grid > select,
.jobs-lite-create-grid > label,
.jobs-lite-create-grid > button {
  width: 100% !important;
}

/* Orden más cómodo */
.jobs-lite-create-grid > input:nth-child(1) {
  grid-column: span 2 !important;
}

.jobs-lite-create-grid > select:nth-child(4) {
  grid-column: span 2 !important;
}

.jobs-lite-create-grid > select:nth-child(6) {
  grid-column: span 2 !important;
}

.jobs-lite-create-grid > select:nth-child(9),
.jobs-lite-create-grid > select:nth-child(10) {
  grid-column: span 2 !important;
}

.jobs-lite-create-grid > button.jobs-lite-btn.green {
  grid-column: span 2 !important;
}

/* La tabla puede tener scroll interno, pero no debe empujar toda la página */
.jobs-lite-table-wrap {
  width: 100% !important;
  max-width: 100% !important;
  overflow-x: auto !important;
  overflow-y: auto !important;
  box-sizing: border-box !important;
}

.jobs-lite-table {
  min-width: 1180px !important;
}

/* Evita que los filtros también empujen horizontalmente */
.jobs-lite-card .jobs-lite-row {
  max-width: 100% !important;
}

.jobs-lite-card .jobs-lite-row > input,
.jobs-lite-card .jobs-lite-row > select {
  max-width: 100% !important;
}

@media (max-width: 1300px) {
  .jobs-lite-create-grid {
    grid-template-columns: 1fr 1fr !important;
  }

  .jobs-lite-create-grid > input:nth-child(1),
  .jobs-lite-create-grid > select:nth-child(4),
  .jobs-lite-create-grid > select:nth-child(6),
  .jobs-lite-create-grid > select:nth-child(9),
  .jobs-lite-create-grid > select:nth-child(10),
  .jobs-lite-create-grid > button.jobs-lite-btn.green {
    grid-column: span 1 !important;
  }
}

@media (max-width: 720px) {
  .jobs-lite-create-grid {
    grid-template-columns: 1fr !important;
  }

  .jobs-lite-create-grid > * {
    grid-column: 1 / -1 !important;
  }
}

/* jobs_visual_v1c3c_one_line_no_external_scroll */
/* Una sola línea real, sin scroll horizontal y sin scroll externo */

html,
body {
  overflow-x: hidden !important;
}

.jobs-lite-root {
  width: 100% !important;
  max-width: 100% !important;
  height: calc(100vh - 92px) !important;
  max-height: calc(100vh - 92px) !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
  padding: 14px 16px 16px !important;
}

.jobs-lite-header {
  position: relative !important;
  top: auto !important;
  width: 100% !important;
  max-width: 100% !important;
  min-height: 74px !important;
  padding: 12px 14px !important;
  box-sizing: border-box !important;
}

.jobs-lite-card {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

/* Crear trabajo en una sola línea compacta */
.jobs-lite-create-card {
  padding: 11px 12px !important;
  margin-top: 10px !important;
}

.jobs-lite-create-card .jobs-lite-section-head {
  margin-bottom: 8px !important;
  padding-bottom: 7px !important;
}

.jobs-lite-create-card .jobs-lite-section-title {
  font-size: 15px !important;
}

.jobs-lite-create-card .jobs-lite-section-subtitle {
  font-size: 11.5px !important;
}

.jobs-lite-create-grid {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  gap: 6px !important;
  width: 100% !important;
  max-width: 100% !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
}

/* Reset de spans anteriores */
.jobs-lite-create-grid > * {
  grid-column: auto !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
  flex: 0 1 auto !important;
}

.jobs-lite-create-grid > input,
.jobs-lite-create-grid > select,
.jobs-lite-create-grid > label,
.jobs-lite-create-grid > button {
  height: 32px !important;
  min-height: 32px !important;
  max-height: 32px !important;
  padding-left: 8px !important;
  padding-right: 8px !important;
  font-size: 12px !important;
  border-radius: 999px !important;
}

/* Orden/ancho exacto para que quepa en una línea */
.jobs-lite-create-grid > input:nth-child(1) {
  flex: 1.45 1 160px !important;
  max-width: 190px !important;
}

.jobs-lite-create-grid > input:nth-child(2) {
  flex: 0 1 116px !important;
  max-width: 116px !important;
}

.jobs-lite-create-grid > label:nth-child(3) {
  flex: 0 0 92px !important;
  max-width: 92px !important;
}

.jobs-lite-create-grid > select:nth-child(4) {
  flex: 1.1 1 135px !important;
  max-width: 165px !important;
}

.jobs-lite-create-grid > input:nth-child(5) {
  flex: 0 0 54px !important;
  max-width: 54px !important;
  text-align: center !important;
}

.jobs-lite-create-grid > select:nth-child(6) {
  flex: 1.1 1 135px !important;
  max-width: 165px !important;
}

.jobs-lite-create-grid > input:nth-child(7),
.jobs-lite-create-grid > input:nth-child(8) {
  flex: 0 1 116px !important;
  max-width: 116px !important;
}

.jobs-lite-create-grid > select:nth-child(9),
.jobs-lite-create-grid > select:nth-child(10) {
  flex: 1 1 120px !important;
  max-width: 145px !important;
}

.jobs-lite-create-grid > label:nth-child(11) {
  flex: 0 0 94px !important;
  max-width: 94px !important;
}

.jobs-lite-create-grid > button.jobs-lite-btn.green {
  flex: 0 0 92px !important;
  max-width: 92px !important;
  min-width: 92px !important;
}

/* Filtros también en una línea compacta sin empujar la página */
.jobs-lite-card .jobs-lite-row {
  max-width: 100% !important;
  overflow: hidden !important;
}

.jobs-lite-card .jobs-lite-row > input,
.jobs-lite-card .jobs-lite-row > select {
  height: 32px !important;
  font-size: 12px !important;
  max-width: 185px !important;
}

/* Tabla sin scroll horizontal: ocupa el ancho disponible y corta texto largo */
.jobs-lite-table-wrap {
  width: 100% !important;
  max-width: 100% !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  max-height: calc(100vh - 360px) !important;
  box-sizing: border-box !important;
}

.jobs-lite-table {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  table-layout: fixed !important;
}

.jobs-lite-table th,
.jobs-lite-table td {
  padding: 8px 6px !important;
  font-size: 11.4px !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

/* Anchos relativos de columnas para que no salga scroll horizontal */
.jobs-lite-table th:nth-child(1),
.jobs-lite-table td:nth-child(1) {
  width: 4.2% !important;
}

.jobs-lite-table th:nth-child(2),
.jobs-lite-table td:nth-child(2) {
  width: 12.5% !important;
}

.jobs-lite-table th:nth-child(3),
.jobs-lite-table td:nth-child(3) {
  width: 7.5% !important;
}

.jobs-lite-table th:nth-child(4),
.jobs-lite-table td:nth-child(4) {
  width: 5.2% !important;
}

.jobs-lite-table th:nth-child(5),
.jobs-lite-table td:nth-child(5) {
  width: 11.5% !important;
}

.jobs-lite-table th:nth-child(6),
.jobs-lite-table td:nth-child(6) {
  width: 4.2% !important;
}

.jobs-lite-table th:nth-child(7),
.jobs-lite-table td:nth-child(7) {
  width: 12% !important;
}

.jobs-lite-table th:nth-child(8),
.jobs-lite-table td:nth-child(8),
.jobs-lite-table th:nth-child(9),
.jobs-lite-table td:nth-child(9) {
  width: 7.2% !important;
}

.jobs-lite-table th:nth-child(10),
.jobs-lite-table td:nth-child(10) {
  width: 8% !important;
}

.jobs-lite-table th:nth-child(11),
.jobs-lite-table td:nth-child(11) {
  width: 8% !important;
}

.jobs-lite-table th:nth-child(12),
.jobs-lite-table td:nth-child(12) {
  width: 4.8% !important;
}

.jobs-lite-table th:nth-child(13),
.jobs-lite-table td:nth-child(13) {
  width: 5.2% !important;
}

.jobs-lite-table th:nth-child(14),
.jobs-lite-table td:nth-child(14) {
  width: 8.5% !important;
}

/* Chips más compactos para no forzar ancho */
.jobs-lite-chip {
  max-width: 100% !important;
  padding: 3px 7px !important;
  font-size: 10.8px !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

.jobs-lite-id-badge {
  min-width: 34px !important;
  height: 22px !important;
  font-size: 10.8px !important;
}

.jobs-lite-qty {
  min-width: 26px !important;
  height: 22px !important;
  font-size: 10.8px !important;
}

/* En pantallas chicas preferimos compactar, no generar scroll externo */
@media (max-width: 1350px) {
  .jobs-lite-create-grid > input,
  .jobs-lite-create-grid > select,
  .jobs-lite-create-grid > label,
  .jobs-lite-create-grid > button {
    font-size: 11px !important;
    padding-left: 6px !important;
    padding-right: 6px !important;
  }

  .jobs-lite-create-grid {
    gap: 4px !important;
  }

  .jobs-lite-create-grid > input:nth-child(1) {
    max-width: 160px !important;
  }

  .jobs-lite-create-grid > select:nth-child(4),
  .jobs-lite-create-grid > select:nth-child(6) {
    max-width: 135px !important;
  }

  .jobs-lite-create-grid > select:nth-child(9),
  .jobs-lite-create-grid > select:nth-child(10) {
    max-width: 120px !important;
  }
}

/* jobs_visual_v1c4_table_actions */
/* Tabla compacta, acciones limpias, sin scroll horizontal externo */

.jobs-lite-table-wrap {
  margin-top: 0 !important;
  border-radius: 20px !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  max-height: calc(100vh - 352px) !important;
  background: rgba(255,255,255,0.96) !important;
}

/* Ajuste fino: suma de columnas controlada para evitar empuje horizontal */
.jobs-lite-table {
  table-layout: fixed !important;
  width: 100% !important;
  min-width: 0 !important;
}

.jobs-lite-table th,
.jobs-lite-table td {
  box-sizing: border-box !important;
  padding: 7px 5px !important;
  font-size: 11.2px !important;
  line-height: 1.15 !important;
  vertical-align: middle !important;
}

.jobs-lite-table th {
  height: 38px !important;
  font-size: 10.6px !important;
  letter-spacing: 0.025em !important;
  color: #1e293b !important;
  background:
    linear-gradient(180deg, rgba(248,250,252,1), rgba(226,232,240,0.82)) !important;
  box-shadow: inset 0 -1px 0 rgba(148,163,184,0.22) !important;
}

.jobs-lite-table td {
  height: 44px !important;
}

/* Anchos V1C4: más realistas y dentro del 100% */
.jobs-lite-table th:nth-child(1),
.jobs-lite-table td:nth-child(1) {
  width: 3.8% !important;
}

.jobs-lite-table th:nth-child(2),
.jobs-lite-table td:nth-child(2) {
  width: 13.2% !important;
}

.jobs-lite-table th:nth-child(3),
.jobs-lite-table td:nth-child(3) {
  width: 7.4% !important;
}

.jobs-lite-table th:nth-child(4),
.jobs-lite-table td:nth-child(4) {
  width: 4.8% !important;
}

.jobs-lite-table th:nth-child(5),
.jobs-lite-table td:nth-child(5) {
  width: 10.8% !important;
}

.jobs-lite-table th:nth-child(6),
.jobs-lite-table td:nth-child(6) {
  width: 3.8% !important;
  text-align: center !important;
}

.jobs-lite-table th:nth-child(7),
.jobs-lite-table td:nth-child(7) {
  width: 11.2% !important;
}

.jobs-lite-table th:nth-child(8),
.jobs-lite-table td:nth-child(8) {
  width: 7% !important;
}

.jobs-lite-table th:nth-child(9),
.jobs-lite-table td:nth-child(9) {
  width: 7% !important;
}

.jobs-lite-table th:nth-child(10),
.jobs-lite-table td:nth-child(10) {
  width: 7.2% !important;
}

.jobs-lite-table th:nth-child(11),
.jobs-lite-table td:nth-child(11) {
  width: 7.2% !important;
}

.jobs-lite-table th:nth-child(12),
.jobs-lite-table td:nth-child(12) {
  width: 4.4% !important;
  text-align: center !important;
}

.jobs-lite-table th:nth-child(13),
.jobs-lite-table td:nth-child(13) {
  width: 4.8% !important;
  text-align: center !important;
}

.jobs-lite-table th:nth-child(14),
.jobs-lite-table td:nth-child(14) {
  width: 7.4% !important;
}

/* Paciente más pro */
.jobs-lite-table td:nth-child(2) {
  font-size: 11.6px !important;
  font-weight: 950 !important;
  color: #0f172a !important;
}

/* Chips más compactos dentro de tabla */
.jobs-lite-table .jobs-lite-chip {
  max-width: 100% !important;
  height: 22px !important;
  min-height: 22px !important;
  padding: 2px 6px !important;
  font-size: 10.4px !important;
  line-height: 1 !important;
}

.jobs-lite-table .jobs-lite-id-badge {
  min-width: 30px !important;
  height: 21px !important;
  padding: 0 5px !important;
  font-size: 10.4px !important;
}

.jobs-lite-table .jobs-lite-qty {
  min-width: 24px !important;
  height: 21px !important;
  font-size: 10.4px !important;
}

/* Acciones más pequeñas */
.jobs-lite-table td:nth-child(14) .jobs-lite-row {
  gap: 4px !important;
  flex-wrap: nowrap !important;
  justify-content: flex-start !important;
  overflow: hidden !important;
}

.jobs-lite-table td:nth-child(14) .jobs-lite-btn {
  min-width: 0 !important;
  height: 26px !important;
  padding: 0 7px !important;
  font-size: 10.5px !important;
  font-weight: 950 !important;
  box-shadow: none !important;
}

/* Inputs/selects al editar dentro de tabla */
.jobs-lite-table input,
.jobs-lite-table select {
  width: 100% !important;
  height: 28px !important;
  min-height: 28px !important;
  font-size: 10.8px !important;
  padding-left: 6px !important;
  padding-right: 6px !important;
}

/* Filas con separación visual suave */
.jobs-lite-table tbody tr {
  transition: background 120ms ease, transform 120ms ease !important;
}

.jobs-lite-table tbody tr:hover td {
  background: rgba(232, 244, 255, 0.96) !important;
}

/* Sombras de tabla más suaves */
.jobs-lite-card:has(.jobs-lite-table-wrap) {
  padding: 10px !important;
}

/* Evitar que botones del header se peguen al borde */
.jobs-lite-header .jobs-lite-row {
  overflow: visible !important;
}

/* Compactar la tarjeta de filtros para ganar alto */
.jobs-lite-card:has(label input[type="checkbox"]) {
  padding-top: 10px !important;
  padding-bottom: 10px !important;
}

/* Mantener app sin scroll externo vertical en Trabajos */
.jobs-lite-root {
  overflow: hidden !important;
}

@media (max-width: 1450px) {
  .jobs-lite-table th,
  .jobs-lite-table td {
    padding-left: 4px !important;
    padding-right: 4px !important;
    font-size: 10.8px !important;
  }

  .jobs-lite-table .jobs-lite-chip {
    font-size: 10px !important;
    padding-left: 5px !important;
    padding-right: 5px !important;
  }

  .jobs-lite-table td:nth-child(14) .jobs-lite-btn {
    padding-left: 5px !important;
    padding-right: 5px !important;
    font-size: 10px !important;
  }
}

/* jobs_visual_v1c5_icon_actions */
/* Acciones compactas con íconos: ✏️ editar / ✕ eliminar */

.jobs-lite-table th:nth-child(2),
.jobs-lite-table td:nth-child(2) {
  width: 14.2% !important;
}

.jobs-lite-table th:nth-child(5),
.jobs-lite-table td:nth-child(5) {
  width: 11.4% !important;
}

.jobs-lite-table th:nth-child(7),
.jobs-lite-table td:nth-child(7) {
  width: 12.2% !important;
}

.jobs-lite-table th:nth-child(14),
.jobs-lite-table td:nth-child(14) {
  width: 4.8% !important;
  text-align: center !important;
}

.jobs-lite-table td:nth-child(14) .jobs-lite-row {
  justify-content: center !important;
  gap: 5px !important;
}

.jobs-lite-icon-btn,
.jobs-icon-btn,
.jobs-lite-table td:nth-child(14) .jobs-icon-btn {
  width: 27px !important;
  min-width: 27px !important;
  max-width: 27px !important;
  height: 27px !important;
  min-height: 27px !important;
  padding: 0 !important;
  border-radius: 999px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 13px !important;
  line-height: 1 !important;
  font-weight: 950 !important;
}

.jobs-lite-table td:nth-child(14) .jobs-icon-btn.red {
  font-size: 15px !important;
  color: #991b1b !important;
}

.jobs-lite-table td:nth-child(14) .jobs-icon-btn:hover:not(:disabled) {
  transform: translateY(-1px) scale(1.04) !important;
}

/* En modo edición mantenemos Guardar/Cancelar legibles */
.jobs-lite-table td:nth-child(14) .jobs-lite-btn:not(.jobs-icon-btn) {
  min-width: 54px !important;
  max-width: 64px !important;
  height: 26px !important;
  padding: 0 6px !important;
  font-size: 10px !important;
}

/* jobs_visual_v1c6_save_cancel_icons */
/* Modo edición: 💾 guardar / ✕ cancelar */

.jobs-lite-table td:nth-child(14) .jobs-save-icon-btn,
.jobs-lite-table td:nth-child(14) .jobs-cancel-icon-btn {
  width: 27px !important;
  min-width: 27px !important;
  max-width: 27px !important;
  height: 27px !important;
  min-height: 27px !important;
  padding: 0 !important;
  border-radius: 999px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 1 !important;
  box-shadow:
    0 6px 14px rgba(15, 23, 42, 0.08),
    inset 0 1px 0 rgba(255,255,255,0.86) !important;
}

.jobs-lite-table td:nth-child(14) .jobs-save-icon-btn {
  font-size: 13px !important;
  border-color: rgba(22, 163, 74, 0.28) !important;
  background: rgba(220, 252, 231, 0.96) !important;
  color: #15803d !important;
}

.jobs-lite-table td:nth-child(14) .jobs-cancel-icon-btn {
  font-size: 15px !important;
  border-color: rgba(148, 163, 184, 0.28) !important;
  background: rgba(248, 250, 252, 0.96) !important;
  color: #475569 !important;
}

.jobs-lite-table td:nth-child(14) .jobs-save-icon-btn:hover:not(:disabled),
.jobs-lite-table td:nth-child(14) .jobs-cancel-icon-btn:hover:not(:disabled) {
  transform: translateY(-1px) scale(1.04) !important;
}

.jobs-lite-table td:nth-child(14) .jobs-save-icon-btn:disabled,
.jobs-lite-table td:nth-child(14) .jobs-cancel-icon-btn:disabled {
  opacity: 0.55 !important;
  cursor: not-allowed !important;
}

/* jobs_visual_v1c7_filters_premium */
/* Filtros premium compactos, una línea si cabe, sin scroll externo */

.jobs-lite-filter-card {
  margin-top: 10px !important;
  padding: 9px 10px !important;
  border-radius: 18px !important;
  background:
    linear-gradient(135deg, rgba(255,255,255,0.92), rgba(240,249,255,0.78)) !important;
  border: 1px solid rgba(255,255,255,0.72) !important;
  box-shadow:
    0 10px 24px rgba(15,23,42,0.065),
    inset 0 1px 0 rgba(255,255,255,0.86) !important;
}

.jobs-lite-filter-row {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  gap: 7px !important;
  width: 100% !important;
  max-width: 100% !important;
  overflow: hidden !important;
}

.jobs-lite-filter-title {
  flex: 0 0 auto !important;
  height: 30px !important;
  display: inline-flex !important;
  align-items: center !important;
  padding: 0 10px !important;
  border-radius: 999px !important;
  background: rgba(14, 165, 233, 0.11) !important;
  border: 1px solid rgba(14, 165, 233, 0.20) !important;
  color: #075985 !important;
  font-size: 12px !important;
  font-weight: 950 !important;
  letter-spacing: -0.01em !important;
}

.jobs-lite-filter-row > input,
.jobs-lite-filter-row > select {
  flex: 1 1 120px !important;
  min-width: 0 !important;
  max-width: 150px !important;
  height: 30px !important;
  min-height: 30px !important;
  font-size: 11.5px !important;
  padding-left: 8px !important;
  padding-right: 8px !important;
}

.jobs-lite-filter-row > input::placeholder {
  color: #94a3b8 !important;
  font-weight: 750 !important;
}

.jobs-lite-filter-row > label {
  flex: 0 0 auto !important;
  height: 30px !important;
  padding: 0 9px !important;
  border: 1px solid rgba(148, 163, 184, 0.22) !important;
  border-radius: 999px !important;
  background: rgba(248, 250, 252, 0.88) !important;
  color: #334155 !important;
  font-size: 11.5px !important;
  font-weight: 850 !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 5px !important;
  white-space: nowrap !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.86) !important;
}

.jobs-lite-filter-row > label input[type="checkbox"] {
  width: 14px !important;
  height: 14px !important;
  min-width: 14px !important;
  margin: 0 !important;
}

.jobs-lite-filter-row > button.jobs-lite-btn {
  flex: 0 0 auto !important;
  min-width: 72px !important;
  max-width: 72px !important;
  height: 30px !important;
  min-height: 30px !important;
  padding: 0 9px !important;
  font-size: 11.5px !important;
  box-shadow:
    0 6px 14px rgba(15,23,42,0.06),
    inset 0 1px 0 rgba(255,255,255,0.86) !important;
}

/* Distribución específica de filtros */
.jobs-lite-filter-row > input:nth-child(2) {
  flex: 1.35 1 140px !important;
  max-width: 190px !important;
}

.jobs-lite-filter-row > select:nth-child(3),
.jobs-lite-filter-row > select:nth-child(4) {
  flex: 1.2 1 130px !important;
  max-width: 170px !important;
}

.jobs-lite-filter-row > select:nth-child(5),
.jobs-lite-filter-row > select:nth-child(6) {
  flex: 1 1 120px !important;
  max-width: 150px !important;
}

/* Que no empuje la página aunque la pantalla sea más chica */
@media (max-width: 1350px) {
  .jobs-lite-filter-row {
    gap: 5px !important;
  }

  .jobs-lite-filter-title {
    padding: 0 8px !important;
    font-size: 11.4px !important;
  }

  .jobs-lite-filter-row > input,
  .jobs-lite-filter-row > select {
    max-width: 125px !important;
    font-size: 10.8px !important;
  }

  .jobs-lite-filter-row > input:nth-child(2) {
    max-width: 150px !important;
  }

  .jobs-lite-filter-row > label {
    padding: 0 7px !important;
    font-size: 10.8px !important;
  }

  .jobs-lite-filter-row > button.jobs-lite-btn {
    min-width: 62px !important;
    max-width: 62px !important;
    font-size: 10.8px !important;
    padding: 0 6px !important;
  }
}

/* En pantallas muy chicas permite 2 líneas internas, pero jamás scroll externo */
@media (max-width: 1050px) {
  .jobs-lite-filter-row {
    flex-wrap: wrap !important;
    overflow: visible !important;
  }

  .jobs-lite-filter-row > input,
  .jobs-lite-filter-row > select {
    max-width: none !important;
    flex: 1 1 160px !important;
  }

  .jobs-lite-filter-row > input:nth-child(2) {
    max-width: none !important;
    flex: 1 1 220px !important;
  }
}

/* jobs_visual_v1c8_header_premium */
/* Header premium compacto con contadores */

.jobs-lite-header-v1c8 {
  min-height: 70px !important;
  padding: 12px 14px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  overflow: hidden !important;
}

.jobs-lite-header-main-v1c8 {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  min-width: 0 !important;
  flex: 1 1 auto !important;
}

.jobs-lite-header-v1c8 .jobs-lite-title {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  font-size: 24px !important;
  line-height: 1.05 !important;
  white-space: nowrap !important;
}

.jobs-lite-header-stats-v1c8 {
  margin-top: 7px !important;
  display: flex !important;
  align-items: center !important;
  gap: 7px !important;
  flex-wrap: nowrap !important;
  overflow: hidden !important;
}

.jobs-lite-stat-pill-v1c8,
.jobs-lite-sync-pill-v1c8 {
  height: 27px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 5px !important;
  padding: 0 10px !important;
  border-radius: 999px !important;
  font-size: 11.5px !important;
  font-weight: 850 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
  border: 1px solid rgba(14, 165, 233, 0.22) !important;
  background: rgba(224, 242, 254, 0.76) !important;
  color: #075985 !important;
  box-shadow:
    0 6px 14px rgba(14,165,233,0.08),
    inset 0 1px 0 rgba(255,255,255,0.86) !important;
}

.jobs-lite-stat-pill-v1c8 b {
  font-weight: 950 !important;
  color: #0369a1 !important;
}

.jobs-lite-stat-pill-v1c8.muted {
  border-color: rgba(148, 163, 184, 0.22) !important;
  background: rgba(248, 250, 252, 0.84) !important;
  color: #475569 !important;
}

.jobs-lite-stat-pill-v1c8.muted b {
  color: #334155 !important;
}

.jobs-lite-sync-pill-v1c8.ok {
  border-color: rgba(22, 163, 74, 0.22) !important;
  background: rgba(220, 252, 231, 0.84) !important;
  color: #166534 !important;
}

.jobs-lite-sync-pill-v1c8.updating {
  border-color: rgba(217, 119, 6, 0.24) !important;
  background: rgba(254, 243, 199, 0.92) !important;
  color: #92400e !important;
}

.jobs-lite-header-actions-v1c8 {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 8px !important;
  flex: 0 0 auto !important;
  min-width: 0 !important;
}

.jobs-lite-header-btn-v1c8 {
  min-width: 104px !important;
  height: 32px !important;
  min-height: 32px !important;
  padding: 0 12px !important;
  font-size: 12px !important;
  box-shadow:
    0 8px 18px rgba(15,23,42,0.07),
    inset 0 1px 0 rgba(255,255,255,0.86) !important;
}

@media (max-width: 1150px) {
  .jobs-lite-header-v1c8 {
    align-items: flex-start !important;
    flex-direction: column !important;
    min-height: auto !important;
  }

  .jobs-lite-header-actions-v1c8 {
    width: 100% !important;
    justify-content: flex-start !important;
  }
}

@media (max-width: 760px) {
  .jobs-lite-header-stats-v1c8 {
    flex-wrap: wrap !important;
    overflow: visible !important;
  }

  .jobs-lite-header-btn-v1c8 {
    min-width: 92px !important;
    font-size: 11px !important;
    padding: 0 9px !important;
  }
}

/* jobs_visual_v1c9_placeholders_dates */

/* Quitar ayuda amarilla si aún existe algún wrapper */
.jobs-lite-newjob-help,
.jobs-lite-new-job-help,
.jobs-lite-helper-text {
  display: none !important;
}

/* placeholder gris como Paciente */
.jobs-lite-page input::placeholder,
.jobs-lite-page textarea::placeholder {
  color: #94a3b8 !important;
  opacity: 1 !important;
}

/* selects vacíos en gris */
.jobs-lite-page select {
  color: #0f172a;
}

.jobs-lite-page select:has(option[value=""]:checked) {
  color: #94a3b8 !important;
}

/* fechas: cursor de picker y sin edición manual visual rara */
.jobs-lite-page input[placeholder="Solicitado para"],
.jobs-lite-page input[placeholder="Fecha envío"],
.jobs-lite-page input[placeholder="Fecha entrega"] {
  cursor: pointer !important;
}

.jobs-lite-page input[placeholder="Solicitado para"]::-webkit-calendar-picker-indicator,
.jobs-lite-page input[placeholder="Fecha envío"]::-webkit-calendar-picker-indicator,
.jobs-lite-page input[placeholder="Fecha entrega"]::-webkit-calendar-picker-indicator {
  cursor: pointer !important;
  opacity: 0.85 !important;
}

/* jobs_visual_v1c9b_placeholders_reales */

/* Quitar los textos/chips superiores marcados amarillo */
.jobs-lite-header-stats-v1c8 {
  display: none !important;
}

/* Quitar cualquier subtítulo bajo Nuevo trabajo */
.jobs-lite-section-subtitle {
  display: none !important;
}

/* Campo fecha con placeholder visual real */
.jobs-date-field-v1c9b {
  position: relative !important;
  height: 32px !important;
  min-height: 32px !important;
  max-height: 32px !important;
  min-width: 0 !important;
  width: 100% !important;
  border: 1px solid rgba(148, 163, 184, 0.32) !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,0.96) !important;
  box-shadow:
    inset 0 1px 2px rgba(15,23,42,0.045),
    0 1px 0 rgba(255,255,255,0.86) !important;
  overflow: hidden !important;
  cursor: pointer !important;
}

.jobs-date-field-v1c9b input {
  width: 100% !important;
  height: 100% !important;
  min-height: 32px !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  padding: 0 8px !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  color: #0f172a !important;
  cursor: pointer !important;
  outline: none !important;
}

/* Oculta dd-mm-aaaa del navegador cuando está vacío */
.jobs-date-field-v1c9b:not(.has-value) input {
  color: transparent !important;
}

.jobs-date-field-v1c9b:not(.has-value) input::-webkit-datetime-edit,
.jobs-date-field-v1c9b:not(.has-value) input::-webkit-datetime-edit-fields-wrapper,
.jobs-date-field-v1c9b:not(.has-value) input::-webkit-datetime-edit-text,
.jobs-date-field-v1c9b:not(.has-value) input::-webkit-datetime-edit-month-field,
.jobs-date-field-v1c9b:not(.has-value) input::-webkit-datetime-edit-day-field,
.jobs-date-field-v1c9b:not(.has-value) input::-webkit-datetime-edit-year-field {
  color: transparent !important;
}

.jobs-date-field-v1c9b input::-webkit-calendar-picker-indicator {
  opacity: 0.85 !important;
  cursor: pointer !important;
}

/* Texto gris visible */
.jobs-date-placeholder-v1c9b {
  position: absolute !important;
  left: 9px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  color: #94a3b8 !important;
  font-size: 12px !important;
  font-weight: 850 !important;
  pointer-events: none !important;
  max-width: calc(100% - 34px) !important;
  overflow: hidden !important;
  white-space: nowrap !important;
  text-overflow: ellipsis !important;
}

/* Selects vacíos en gris */
.jobs-lite-create-grid select:has(option[value=""]:checked),
.jobs-lite-filter-row select:has(option[value=""]:checked) {
  color: #94a3b8 !important;
}

/* Mantener una sola línea usando los mismos anchos de los input fecha anteriores */
.jobs-lite-create-grid > .jobs-date-field-v1c9b:nth-child(2) {
  flex: 0 1 116px !important;
  max-width: 116px !important;
}

.jobs-lite-create-grid > .jobs-date-field-v1c9b:nth-child(7),
.jobs-lite-create-grid > .jobs-date-field-v1c9b:nth-child(8) {
  flex: 0 1 116px !important;
  max-width: 116px !important;
}

@media (max-width: 1350px) {
  .jobs-date-placeholder-v1c9b,
  .jobs-date-field-v1c9b input {
    font-size: 11px !important;
  }
}

/* jobs_visual_v1c10_tooltips_fulltext */
/* Textos largos con tooltip nativo y corte elegante */

.jobs-fulltext-v1c10 {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  overflow: hidden !important;
  white-space: nowrap !important;
  text-overflow: ellipsis !important;
  cursor: default !important;
}

.jobs-lite-table .jobs-lite-chip,
.jobs-lite-table .jobs-lite-id-badge,
.jobs-lite-table .jobs-fulltext-v1c10 {
  cursor: default !important;
}

.jobs-lite-table .jobs-lite-chip:hover,
.jobs-lite-table .jobs-lite-id-badge:hover,
.jobs-lite-table .jobs-fulltext-v1c10:hover {
  filter: brightness(0.98) !important;
}

.jobs-lite-table tbody tr:hover .jobs-fulltext-v1c10 {
  color: #0369a1 !important;
}

/* jobs_visual_v1c11c_row_colors_final */
/* Regla final:
   - Entregado = gris
   - No entregado + fecha_entrega/recibido = blanco
   - No entregado + sin recibido = color por solicitado_para
*/

.jobs-row-deadline-v1c11c td {
  transition: background 120ms ease, box-shadow 120ms ease, color 120ms ease !important;
}

/* Rojo: vencido, hoy o <= 2 días */
.jobs-row-red-v1c11c td {
  background: linear-gradient(90deg, rgba(254, 226, 226, 0.94), rgba(255,255,255,0.80)) !important;
  border-bottom-color: rgba(248, 113, 113, 0.24) !important;
}

.jobs-row-red-v1c11c td:first-child {
  box-shadow: inset 4px 0 0 rgba(220, 38, 38, 0.72) !important;
}

/* Amarillo: 3 a 4 días */
.jobs-row-yellow-v1c11c td {
  background: linear-gradient(90deg, rgba(254, 249, 195, 0.96), rgba(255,255,255,0.82)) !important;
  border-bottom-color: rgba(234, 179, 8, 0.24) !important;
}

.jobs-row-yellow-v1c11c td:first-child {
  box-shadow: inset 4px 0 0 rgba(217, 119, 6, 0.70) !important;
}

/* Verde: más de 4 días */
.jobs-row-green-v1c11c td {
  background: linear-gradient(90deg, rgba(220, 252, 231, 0.88), rgba(255,255,255,0.82)) !important;
  border-bottom-color: rgba(34, 197, 94, 0.20) !important;
}

.jobs-row-green-v1c11c td:first-child {
  box-shadow: inset 4px 0 0 rgba(22, 163, 74, 0.58) !important;
}

/* Gris: ubicación entregado / entregados */
.jobs-row-delivered-v1c11c td {
  background: linear-gradient(90deg, rgba(226, 232, 240, 0.94), rgba(248,250,252,0.84)) !important;
  border-bottom-color: rgba(148, 163, 184, 0.26) !important;
  color: #64748b !important;
}

.jobs-row-delivered-v1c11c td:first-child {
  box-shadow: inset 4px 0 0 rgba(100, 116, 139, 0.62) !important;
}

/* Blanco: tiene fecha recibido/fecha_entrega pero aún no está entregado */
.jobs-row-received-white-v1c11c td {
  background: rgba(255, 255, 255, 0.94) !important;
  border-bottom-color: rgba(226, 232, 240, 0.90) !important;
  color: #1e293b !important;
}

.jobs-row-received-white-v1c11c td:first-child {
  box-shadow: inset 4px 0 0 rgba(203, 213, 225, 0.66) !important;
}

.jobs-row-received-white-v1c11c:nth-child(even) td {
  background: rgba(248, 250, 252, 0.84) !important;
}

/* Neutro sin fecha */
.jobs-row-neutral-v1c11c td {
  background: rgba(255, 255, 255, 0.90) !important;
}

/* Hover */
.jobs-row-red-v1c11c:hover td {
  background: linear-gradient(90deg, rgba(254, 202, 202, 0.98), rgba(255,255,255,0.92)) !important;
}

.jobs-row-yellow-v1c11c:hover td {
  background: linear-gradient(90deg, rgba(254, 240, 138, 0.98), rgba(255,255,255,0.92)) !important;
}

.jobs-row-green-v1c11c:hover td {
  background: linear-gradient(90deg, rgba(187, 247, 208, 0.96), rgba(255,255,255,0.92)) !important;
}

.jobs-row-delivered-v1c11c:hover td {
  background: linear-gradient(90deg, rgba(203, 213, 225, 0.98), rgba(248,250,252,0.94)) !important;
}

.jobs-row-received-white-v1c11c:hover td,
.jobs-row-neutral-v1c11c:hover td {
  background: rgba(240, 249, 255, 0.94) !important;
}

/* Chip de fecha solicitado reforzado */
.jobs-row-red-v1c11c td:nth-child(3) .jobs-lite-chip {
  border-color: rgba(220, 38, 38, 0.30) !important;
  background: rgba(254, 226, 226, 0.96) !important;
  color: #991b1b !important;
}

.jobs-row-yellow-v1c11c td:nth-child(3) .jobs-lite-chip {
  border-color: rgba(217, 119, 6, 0.28) !important;
  background: rgba(254, 243, 199, 0.96) !important;
  color: #92400e !important;
}

.jobs-row-green-v1c11c td:nth-child(3) .jobs-lite-chip {
  border-color: rgba(22, 163, 74, 0.24) !important;
  background: rgba(220, 252, 231, 0.96) !important;
  color: #166534 !important;
}

/* Fecha recibido en blanco: chip suave */
.jobs-row-received-white-v1c11c td:nth-child(9) .jobs-lite-chip {
  border-color: rgba(148, 163, 184, 0.24) !important;
  background: rgba(248, 250, 252, 0.96) !important;
  color: #475569 !important;
}

/* jobs_visual_v1c12_flat_colors */
/* Colores planos, sin degradado. Orden visual: rojo, amarillo, verde, blanco, gris. */

/* V1C11C plano */
.jobs-row-red-v1c11c td {
  background: #fee2e2 !important;
  border-bottom-color: rgba(248, 113, 113, 0.28) !important;
}

.jobs-row-yellow-v1c11c td {
  background: #fef9c3 !important;
  border-bottom-color: rgba(234, 179, 8, 0.28) !important;
}

.jobs-row-green-v1c11c td {
  background: #dcfce7 !important;
  border-bottom-color: rgba(34, 197, 94, 0.24) !important;
}

.jobs-row-received-white-v1c11c td,
.jobs-row-neutral-v1c11c td {
  background: #ffffff !important;
  border-bottom-color: rgba(226, 232, 240, 0.95) !important;
  color: #1e293b !important;
}

.jobs-row-delivered-v1c11c td {
  background: #e2e8f0 !important;
  border-bottom-color: rgba(148, 163, 184, 0.30) !important;
  color: #64748b !important;
}

/* Hover plano, sin degradado */
.jobs-row-red-v1c11c:hover td {
  background: #fecaca !important;
}

.jobs-row-yellow-v1c11c:hover td {
  background: #fef08a !important;
}

.jobs-row-green-v1c11c:hover td {
  background: #bbf7d0 !important;
}

.jobs-row-received-white-v1c11c:hover td,
.jobs-row-neutral-v1c11c:hover td {
  background: #f0f9ff !important;
}

.jobs-row-delivered-v1c11c:hover td {
  background: #cbd5e1 !important;
}

/* Por si quedó alguna clase antigua V1C11, también se deja plana */
.jobs-row-deadline-red-v1c11 td {
  background: #fee2e2 !important;
}

.jobs-row-deadline-yellow-v1c11 td {
  background: #fef9c3 !important;
}

.jobs-row-deadline-green-v1c11 td {
  background: #dcfce7 !important;
}

.jobs-row-deadline-received-white-v1c11b td,
.jobs-row-deadline-neutral-v1c11 td {
  background: #ffffff !important;
}

.jobs-row-deadline-delivered-v1c11 td {
  background: #e2e8f0 !important;
  color: #64748b !important;
}

/* Mantener línea lateral de prioridad */
.jobs-row-red-v1c11c td:first-child {
  box-shadow: inset 4px 0 0 #dc2626 !important;
}

.jobs-row-yellow-v1c11c td:first-child {
  box-shadow: inset 4px 0 0 #d97706 !important;
}

.jobs-row-green-v1c11c td:first-child {
  box-shadow: inset 4px 0 0 #16a34a !important;
}

.jobs-row-received-white-v1c11c td:first-child,
.jobs-row-neutral-v1c11c td:first-child {
  box-shadow: inset 4px 0 0 #cbd5e1 !important;
}

.jobs-row-delivered-v1c11c td:first-child {
  box-shadow: inset 4px 0 0 #64748b !important;
}

/* jobs_visual_v1c12b_force_full_row_colors */
/* Fuerza color completo de fila por sobre zebra/nth-child anterior */

/* ROJO */
.jobs-lite-table tbody tr.jobs-row-red-v1c11c td,
.jobs-lite-table tbody tr.jobs-row-red-v1c11c:nth-child(even) td,
.jobs-lite-table tbody tr.jobs-row-red-v1c11c:nth-child(odd) td {
  background: #fee2e2 !important;
  background-image: none !important;
}

.jobs-lite-table tbody tr.jobs-row-red-v1c11c:hover td {
  background: #fecaca !important;
  background-image: none !important;
}

/* AMARILLO */
.jobs-lite-table tbody tr.jobs-row-yellow-v1c11c td,
.jobs-lite-table tbody tr.jobs-row-yellow-v1c11c:nth-child(even) td,
.jobs-lite-table tbody tr.jobs-row-yellow-v1c11c:nth-child(odd) td {
  background: #fef9c3 !important;
  background-image: none !important;
}

.jobs-lite-table tbody tr.jobs-row-yellow-v1c11c:hover td {
  background: #fef08a !important;
  background-image: none !important;
}

/* VERDE */
.jobs-lite-table tbody tr.jobs-row-green-v1c11c td,
.jobs-lite-table tbody tr.jobs-row-green-v1c11c:nth-child(even) td,
.jobs-lite-table tbody tr.jobs-row-green-v1c11c:nth-child(odd) td {
  background: #dcfce7 !important;
  background-image: none !important;
}

.jobs-lite-table tbody tr.jobs-row-green-v1c11c:hover td {
  background: #bbf7d0 !important;
  background-image: none !important;
}

/* BLANCO: tiene fecha recibido, pero aún no está entregado */
.jobs-lite-table tbody tr.jobs-row-received-white-v1c11c td,
.jobs-lite-table tbody tr.jobs-row-received-white-v1c11c:nth-child(even) td,
.jobs-lite-table tbody tr.jobs-row-received-white-v1c11c:nth-child(odd) td,
.jobs-lite-table tbody tr.jobs-row-neutral-v1c11c td,
.jobs-lite-table tbody tr.jobs-row-neutral-v1c11c:nth-child(even) td,
.jobs-lite-table tbody tr.jobs-row-neutral-v1c11c:nth-child(odd) td {
  background: #ffffff !important;
  background-image: none !important;
  color: #1e293b !important;
}

.jobs-lite-table tbody tr.jobs-row-received-white-v1c11c:hover td,
.jobs-lite-table tbody tr.jobs-row-neutral-v1c11c:hover td {
  background: #f0f9ff !important;
  background-image: none !important;
}

/* GRIS: entregado */
.jobs-lite-table tbody tr.jobs-row-delivered-v1c11c td,
.jobs-lite-table tbody tr.jobs-row-delivered-v1c11c:nth-child(even) td,
.jobs-lite-table tbody tr.jobs-row-delivered-v1c11c:nth-child(odd) td {
  background: #e2e8f0 !important;
  background-image: none !important;
  color: #64748b !important;
}

.jobs-lite-table tbody tr.jobs-row-delivered-v1c11c:hover td {
  background: #cbd5e1 !important;
  background-image: none !important;
}

/* Barras laterales reforzadas */
.jobs-lite-table tbody tr.jobs-row-red-v1c11c td:first-child {
  box-shadow: inset 4px 0 0 #dc2626 !important;
}

.jobs-lite-table tbody tr.jobs-row-yellow-v1c11c td:first-child {
  box-shadow: inset 4px 0 0 #d97706 !important;
}

.jobs-lite-table tbody tr.jobs-row-green-v1c11c td:first-child {
  box-shadow: inset 4px 0 0 #16a34a !important;
}

.jobs-lite-table tbody tr.jobs-row-received-white-v1c11c td:first-child,
.jobs-lite-table tbody tr.jobs-row-neutral-v1c11c td:first-child {
  box-shadow: inset 4px 0 0 #cbd5e1 !important;
}

.jobs-lite-table tbody tr.jobs-row-delivered-v1c11c td:first-child {
  box-shadow: inset 4px 0 0 #64748b !important;
}

/* jobs_visual_v1c13a_filter_placeholders */
/* Textos grises explicativos dentro de filtros */

.jobs-lite-filter-row input::placeholder {
  color: #94a3b8 !important;
  opacity: 1 !important;
  font-weight: 850 !important;
}

.jobs-lite-filter-row select {
  font-weight: 850 !important;
}

/* Select vacío en gris */
.jobs-lite-filter-row select:has(option[value=""]:checked) {
  color: #94a3b8 !important;
}

/* Select con valor elegido en texto oscuro */
.jobs-lite-filter-row select:not(:has(option[value=""]:checked)) {
  color: #0f172a !important;
}

/* Mejor legibilidad del texto gris */
.jobs-lite-filter-row > input,
.jobs-lite-filter-row > select {
  letter-spacing: -0.01em !important;
}

/* El chip "Filtros" queda más compacto para dar espacio a los placeholders */
.jobs-lite-filter-title {
  min-width: 58px !important;
  justify-content: center !important;
}

/* jobs_logic_v1c14_filter_stages_by_job_type */
/* Etapa queda filtrada por Trabajo seleccionado */

.jobs-lite-create-grid select:has(option[value=""]:checked),
.jobs-lite-filter-row select:has(option[value=""]:checked) {
  color: #94a3b8 !important;
}

.jobs-lite-create-grid select,
.jobs-lite-filter-row select {
  transition: border-color 120ms ease, box-shadow 120ms ease, background 120ms ease !important;
}

.jobs-lite-create-grid select:focus,
.jobs-lite-filter-row select:focus {
  border-color: rgba(14, 165, 233, 0.42) !important;
  box-shadow:
    0 0 0 3px rgba(14, 165, 233, 0.10),
    inset 0 1px 2px rgba(15,23,42,0.045) !important;
}

/* jobs_logic_v1c14c_stage_links_panel */
/* Panel restaurado: Etapas por tipo de trabajo dentro de Catálogos */

.jobs-stage-links-card-v1c14c {
  margin-top: 14px !important;
  padding: 14px !important;
  border-radius: 18px !important;
  border: 1px solid rgba(226, 232, 240, 0.9) !important;
  background: rgba(255, 255, 255, 0.92) !important;
  box-shadow:
    0 10px 24px rgba(15,23,42,0.055),
    inset 0 1px 0 rgba(255,255,255,0.9) !important;
}

.jobs-stage-links-head-v1c14c {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 12px !important;
  margin-bottom: 10px !important;
}

.jobs-stage-links-head-v1c14c h3 {
  margin: 0 !important;
  font-size: 15px !important;
  font-weight: 950 !important;
  color: #0f172a !important;
}

.jobs-stage-links-head-v1c14c p {
  margin: 4px 0 0 0 !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  color: #64748b !important;
}

/* Si el panel antiguo trae tablas/listas, que no agrande el modal infinito */
.jobs-stage-links-card-v1c14c table {
  width: 100% !important;
}

.jobs-stage-links-card-v1c14c input,
.jobs-stage-links-card-v1c14c select,
.jobs-stage-links-card-v1c14c button {
  font-size: 12px !important;
}

.jobs-stage-links-card-v1c14c button {
  border-radius: 10px !important;
}

/* jobs_visual_v1c14e_style_stage_links_panel */
/* Diseño premium para Etapas permitidas por trabajo */

.job-stage-links-panel {
  width: 100% !important;
  padding: 14px !important;
  border-radius: 18px !important;
  background:
    linear-gradient(135deg, rgba(255,255,255,0.96), rgba(240,249,255,0.76)) !important;
  border: 1px solid rgba(226, 232, 240, 0.9) !important;
  box-shadow:
    0 10px 24px rgba(15,23,42,0.055),
    inset 0 1px 0 rgba(255,255,255,0.9) !important;
}

.job-stage-links-toolbar {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 12px !important;
  margin-bottom: 12px !important;
  padding-bottom: 10px !important;
  border-bottom: 1px solid rgba(226, 232, 240, 0.9) !important;
}

.job-stage-links-toolbar h3 {
  margin: 0 !important;
  font-size: 16px !important;
  font-weight: 950 !important;
  color: #0f172a !important;
  letter-spacing: -0.02em !important;
}

.job-stage-links-toolbar p {
  margin: 5px 0 0 0 !important;
  font-size: 12px !important;
  font-weight: 750 !important;
  color: #64748b !important;
}

.job-stage-links-toolbar button,
.job-stage-links-actions button {
  height: 32px !important;
  min-height: 32px !important;
  padding: 0 13px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(14, 165, 233, 0.24) !important;
  background: rgba(224, 242, 254, 0.9) !important;
  color: #075985 !important;
  font-size: 12px !important;
  font-weight: 950 !important;
  cursor: pointer !important;
  box-shadow:
    0 6px 14px rgba(14,165,233,0.08),
    inset 0 1px 0 rgba(255,255,255,0.9) !important;
}

.job-stage-links-toolbar button:hover:not(:disabled),
.job-stage-links-actions button:hover:not(:disabled) {
  transform: translateY(-1px) !important;
  filter: brightness(0.985) !important;
}

.job-stage-links-toolbar button:disabled,
.job-stage-links-actions button:disabled {
  opacity: 0.55 !important;
  cursor: not-allowed !important;
}

.job-stage-links-grid {
  display: grid !important;
  grid-template-columns: minmax(230px, 280px) minmax(0, 1fr) !important;
  gap: 14px !important;
  align-items: start !important;
}

.job-stage-links-grid > label {
  display: flex !important;
  flex-direction: column !important;
  gap: 7px !important;
  min-width: 0 !important;
}

.job-stage-links-grid > label > span,
.job-stage-links-stage-box > span {
  font-size: 12px !important;
  font-weight: 950 !important;
  color: #334155 !important;
}

.job-stage-links-grid select {
  width: 100% !important;
  height: 36px !important;
  min-height: 36px !important;
  padding: 0 12px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(148, 163, 184, 0.32) !important;
  background: rgba(255,255,255,0.96) !important;
  color: #0f172a !important;
  font-size: 12.5px !important;
  font-weight: 900 !important;
  outline: none !important;
  box-shadow:
    inset 0 1px 2px rgba(15,23,42,0.045),
    0 1px 0 rgba(255,255,255,0.86) !important;
}

.job-stage-links-grid select:focus {
  border-color: rgba(14, 165, 233, 0.48) !important;
  box-shadow:
    0 0 0 3px rgba(14, 165, 233, 0.12),
    inset 0 1px 2px rgba(15,23,42,0.045) !important;
}

.job-stage-links-stage-box {
  min-width: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 7px !important;
}

.job-stage-links-empty {
  min-height: 42px !important;
  display: flex !important;
  align-items: center !important;
  padding: 0 14px !important;
  border-radius: 16px !important;
  border: 1px dashed rgba(148, 163, 184, 0.38) !important;
  background: rgba(248, 250, 252, 0.88) !important;
  color: #64748b !important;
  font-size: 12px !important;
  font-weight: 850 !important;
}

.job-stage-links-checks {
  max-height: 260px !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  padding: 8px !important;
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)) !important;
  gap: 7px !important;
  border-radius: 18px !important;
  border: 1px solid rgba(226, 232, 240, 0.88) !important;
  background: rgba(255, 255, 255, 0.74) !important;
}

.job-stage-links-checks label {
  min-width: 0 !important;
  min-height: 34px !important;
  padding: 7px 9px !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  border-radius: 13px !important;
  border: 1px solid rgba(203, 213, 225, 0.72) !important;
  background: rgba(248, 250, 252, 0.82) !important;
  color: #334155 !important;
  font-size: 12px !important;
  font-weight: 850 !important;
  cursor: pointer !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.86) !important;
}

.job-stage-links-checks label:hover {
  border-color: rgba(14, 165, 233, 0.35) !important;
  background: rgba(240, 249, 255, 0.9) !important;
}

.job-stage-links-checks label.checked {
  border-color: rgba(22, 163, 74, 0.34) !important;
  background: rgba(220, 252, 231, 0.9) !important;
  color: #166534 !important;
}

.job-stage-links-checks input[type="checkbox"] {
  width: 15px !important;
  height: 15px !important;
  min-width: 15px !important;
  margin: 0 !important;
  accent-color: #16a34a !important;
}

.job-stage-links-checks label span {
  display: block !important;
  min-width: 0 !important;
  overflow: hidden !important;
  white-space: nowrap !important;
  text-overflow: ellipsis !important;
}

.job-stage-links-actions {
  margin-top: 12px !important;
  padding-top: 10px !important;
  border-top: 1px solid rgba(226, 232, 240, 0.9) !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  flex-wrap: wrap !important;
}

.job-stage-links-selected {
  flex: 1 1 260px !important;
  min-height: 30px !important;
  display: flex !important;
  align-items: center !important;
  padding: 0 11px !important;
  border-radius: 999px !important;
  background: rgba(248, 250, 252, 0.9) !important;
  border: 1px solid rgba(226, 232, 240, 0.9) !important;
  color: #475569 !important;
  font-size: 12px !important;
  font-weight: 900 !important;
}

.job-stage-links-actions button.danger {
  background: rgba(254, 226, 226, 0.92) !important;
  border-color: rgba(220, 38, 38, 0.24) !important;
  color: #991b1b !important;
}

.job-stage-links-actions button.save {
  margin-left: auto !important;
  background: rgba(220, 252, 231, 0.94) !important;
  border-color: rgba(22, 163, 74, 0.28) !important;
  color: #166534 !important;
  min-width: 190px !important;
}

.job-stage-links-message {
  margin-top: 10px !important;
  padding: 9px 11px !important;
  border-radius: 14px !important;
  background: rgba(224, 242, 254, 0.86) !important;
  border: 1px solid rgba(14, 165, 233, 0.22) !important;
  color: #075985 !important;
  font-size: 12px !important;
  font-weight: 900 !important;
}

@media (max-width: 1100px) {
  .job-stage-links-grid {
    grid-template-columns: 1fr !important;
  }

  .job-stage-links-checks {
    grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)) !important;
  }

  .job-stage-links-actions button.save {
    margin-left: 0 !important;
  }
}

/* jobs_visual_v1c15_header_like_clinical_chat */
/* Header Trabajos: estilo más cercano a Chat Clínico */

.jobs-lite-header,
.jobs-lite-header-v1c8 {
  min-height: 58px !important;
  height: 58px !important;
  padding: 9px 14px !important;
  border-radius: 18px !important;
  background:
    linear-gradient(135deg, rgba(255,255,255,0.94), rgba(239,246,255,0.78)) !important;
  border: 1px solid rgba(186, 230, 253, 0.75) !important;
  box-shadow:
    0 8px 22px rgba(15, 23, 42, 0.06),
    inset 0 1px 0 rgba(255,255,255,0.88) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  overflow: hidden !important;
}

/* Bloque izquierdo */
.jobs-lite-header-main-v1c8 {
  min-height: 40px !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 10px !important;
  min-width: 0 !important;
}

/* Título: más parecido al head de Chat Clínico */
.jobs-lite-header .jobs-lite-title,
.jobs-lite-header-v1c8 .jobs-lite-title {
  margin: 0 !important;
  padding: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  font-size: 22px !important;
  line-height: 1 !important;
  font-weight: 950 !important;
  letter-spacing: -0.035em !important;
  color: #0f172a !important;
  white-space: nowrap !important;
}

/* Ícono del título más compacto */
.jobs-lite-header .jobs-lite-title::first-letter,
.jobs-lite-header-v1c8 .jobs-lite-title::first-letter {
  font-size: 20px !important;
}

/* Ocultar contador superior si reaparece */
.jobs-lite-header-stats-v1c8 {
  display: none !important;
}

/* Acciones derechas */
.jobs-lite-header-actions-v1c8,
.jobs-lite-header .jobs-lite-row {
  height: 40px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 8px !important;
  flex: 0 0 auto !important;
}

/* Botones header igualados */
.jobs-lite-header-btn-v1c8,
.jobs-lite-header .jobs-lite-btn {
  height: 32px !important;
  min-height: 32px !important;
  max-height: 32px !important;
  min-width: 104px !important;
  padding: 0 13px !important;
  border-radius: 999px !important;
  font-size: 12px !important;
  line-height: 1 !important;
  font-weight: 950 !important;
  letter-spacing: -0.02em !important;
  border: 1px solid rgba(14, 165, 233, 0.26) !important;
  background: rgba(224, 242, 254, 0.84) !important;
  color: #075985 !important;
  box-shadow:
    0 6px 14px rgba(14, 165, 233, 0.08),
    inset 0 1px 0 rgba(255,255,255,0.9) !important;
}

.jobs-lite-header-btn-v1c8:hover:not(:disabled),
.jobs-lite-header .jobs-lite-btn:hover:not(:disabled) {
  transform: translateY(-1px) !important;
  background: rgba(186, 230, 253, 0.9) !important;
  border-color: rgba(2, 132, 199, 0.32) !important;
}

/* Que el contenido siguiente suba un poco, para mantener altura compacta */
.jobs-lite-create-card {
  margin-top: 10px !important;
}

/* Ajuste responsive */
@media (max-width: 1150px) {
  .jobs-lite-header,
  .jobs-lite-header-v1c8 {
    height: auto !important;
    min-height: 58px !important;
    align-items: center !important;
    flex-direction: row !important;
  }

  .jobs-lite-header-actions-v1c8 {
    width: auto !important;
    justify-content: flex-end !important;
  }
}

@media (max-width: 760px) {
  .jobs-lite-header,
  .jobs-lite-header-v1c8 {
    flex-direction: column !important;
    align-items: flex-start !important;
    height: auto !important;
  }

  .jobs-lite-header-actions-v1c8,
  .jobs-lite-header .jobs-lite-row {
    width: 100% !important;
    justify-content: flex-start !important;
  }

  .jobs-lite-header-btn-v1c8,
  .jobs-lite-header .jobs-lite-btn {
    min-width: 92px !important;
    font-size: 11px !important;
  }
}

/* jobs_visual_v1c15b_fix_header_title_alignment */
/* Corrige V1C15: título izquierda, menos grueso, altura estable */

.jobs-lite-header,
.jobs-lite-header-v1c8 {
  height: 58px !important;
  min-height: 58px !important;
  padding: 9px 14px !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: space-between !important;
}

/* bloque izquierdo siempre pegado a la izquierda */
.jobs-lite-header-main-v1c8 {
  flex: 1 1 auto !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: flex-start !important;
  text-align: left !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* título más cercano a Chat Clínico: menos pesado y no centrado */
.jobs-lite-header .jobs-lite-title,
.jobs-lite-header-v1c8 .jobs-lite-title {
  width: auto !important;
  max-width: max-content !important;
  margin: 0 !important;
  padding: 0 !important;
  justify-content: flex-start !important;
  text-align: left !important;
  font-size: 20px !important;
  line-height: 1 !important;
  font-weight: 850 !important;
  letter-spacing: -0.025em !important;
  color: #0f172a !important;
  transform: none !important;
}

/* acciones siguen a la derecha */
.jobs-lite-header-actions-v1c8,
.jobs-lite-header .jobs-lite-row {
  margin-left: auto !important;
  flex: 0 0 auto !important;
  justify-content: flex-end !important;
}

/* botón header levemente menos pesado */
.jobs-lite-header-btn-v1c8,
.jobs-lite-header .jobs-lite-btn {
  font-size: 12px !important;
  font-weight: 850 !important;
  height: 32px !important;
}

/* anular cualquier centrado heredado */
.jobs-lite-header * {
  text-align: initial;
}

.jobs-lite-header .jobs-lite-title,
.jobs-lite-header-v1c8 .jobs-lite-title {
  text-align: left !important;
}

@media (max-width: 1150px) {
  .jobs-lite-header,
  .jobs-lite-header-v1c8 {
    flex-direction: row !important;
    align-items: center !important;
  }

  .jobs-lite-header-actions-v1c8 {
    width: auto !important;
    margin-left: auto !important;
  }
}


/* jobs_select_black_v1a */
/* Fuerza texto negro en listas desplegables de Trabajos */
.jobs-page select,
.jobs-page select option,
.jobs-page select optgroup,
.jobs-shell select,
.jobs-shell select option,
.jobs-shell select optgroup,
.jobs-premium select,
.jobs-premium select option,
.jobs-premium select optgroup,
  color: #0f172a !important;
  -webkit-text-fill-color: #0f172a !important;
}

.jobs-page select:disabled,
.jobs-shell select:disabled,
.jobs-premium select:disabled,
  color: #111827 !important;
  -webkit-text-fill-color: #111827 !important;
  opacity: 1 !important;
}

.jobs-page select option:checked,
.jobs-shell select option:checked,
.jobs-premium select option:checked,
  color: #0f172a !important;
  background: #e0f2fe !important;
}


/* jobs_select_black_v1b */
/* Override final: todos los selects/opciones de Trabajos en negro */
.jobs-lite-root select,
.jobs-lite-root select:focus,
.jobs-lite-root select:active,
.jobs-lite-root select:hover,
.jobs-lite-root select:has(option[value=""]:checked),
.jobs-lite-page select,
.jobs-lite-page select:focus,
.jobs-lite-page select:active,
.jobs-lite-page select:hover,
.jobs-lite-page select:has(option[value=""]:checked),
.jobs-lite-create-grid select,
.jobs-lite-create-grid select:focus,
.jobs-lite-create-grid select:active,
.jobs-lite-create-grid select:hover,
.jobs-lite-create-grid select:has(option[value=""]:checked),
.jobs-lite-filter-row select,
.jobs-lite-filter-row select:focus,
.jobs-lite-filter-row select:active,
.jobs-lite-filter-row select:hover,
.jobs-lite-filter-row select:has(option[value=""]:checked),
.jobs-lite-table select,
.jobs-lite-table select:focus,
.jobs-lite-table select:active,
.jobs-lite-select-black-v1b {
  color: #0f172a !important;
  -webkit-text-fill-color: #0f172a !important;
  opacity: 1 !important;
}

.jobs-lite-root select option,
.jobs-lite-page select option,
.jobs-lite-create-grid select option,
.jobs-lite-filter-row select option,
.jobs-lite-table select option,
.jobs-lite-select-black-v1b option {
  color: #0f172a !important;
  -webkit-text-fill-color: #0f172a !important;
  background-color: #ffffff !important;
}

.jobs-lite-root select option:checked,
.jobs-lite-page select option:checked,
.jobs-lite-create-grid select option:checked,
.jobs-lite-filter-row select option:checked,
.jobs-lite-table select option:checked,
.jobs-lite-select-black-v1b option:checked {
  color: #0f172a !important;
  -webkit-text-fill-color: #0f172a !important;
  background-color: #e0f2fe !important;
}

.jobs-lite-root select option:disabled,
.jobs-lite-page select option:disabled,
.jobs-lite-create-grid select option:disabled,
.jobs-lite-filter-row select option:disabled,
.jobs-lite-table select option:disabled,
.jobs-lite-select-black-v1b option:disabled {
  color: #0f172a !important;
  -webkit-text-fill-color: #0f172a !important;
  opacity: 1 !important;
}


/* crm_connections_agenda_like_v2 */
/* Objetivo: que CRM → Conexiones se vea como Agenda semanal:
   blanco, limpio, liviano, sin banner azul oscuro. */

.crm-connections-premium {
  background: #f3f6fb !important;
  border: 0 !important;
  border-radius: 0 !important;
  padding: 0 !important;
  box-shadow: none !important;
  min-height: calc(100vh - 120px);
}

.crm-connections-shell {
  gap: 10px !important;
}

/* HEADER PRINCIPAL — igual lenguaje visual que Agenda */
.crm-connections-shell > div:first-child {
  position: relative !important;
  overflow: visible !important;
  background: #ffffff !important;
  border: 1px solid #e5e7eb !important;
  border-radius: 10px !important;
  padding: 14px 18px !important;
  min-height: 76px !important;
  box-shadow: 0 1px 3px rgba(15, 23, 42, 0.08) !important;
}

/* eliminar círculo/brillo del banner anterior */
.crm-connections-shell > div:first-child::before {
  display: none !important;
  content: none !important;
}

.crm-connections-shell > div:first-child > div {
  position: relative !important;
  z-index: 1 !important;
}

/* Título header */
.crm-connections-shell > div:first-child div[style*="font-size: 22px"],
.crm-connections-shell > div:first-child div[style*="fontSize: 22"],
.crm-connections-shell > div:first-child div[style*="font-size:22px"],
.crm-connections-shell > div:first-child div[style*="fontSize:22"] {
  color: #111827 !important;
  font-size: 21px !important;
  font-weight: 700 !important;
  letter-spacing: -0.01em !important;
}

/* Subtítulo header */
.crm-connections-shell > div:first-child div[style*="color: #64748b"],
.crm-connections-shell > div:first-child div[style*="color:#64748b"] {
  display: none !important;
}

/* Botón actualizar del header, estilo suave como Agenda */
.crm-connections-shell > div:first-child button {
  background: #ffffff !important;
  color: #2563eb !important;
  border: 1px solid #bfdbfe !important;
  border-radius: 10px !important;
  padding: 9px 16px !important;
  font-weight: 800 !important;
  box-shadow: none !important;
}

.crm-connections-shell > div:first-child button:hover {
  background: #eff6ff !important;
  transform: none !important;
  box-shadow: none !important;
}

/* Cards principales: blancas, limpias, como módulos internos */
.crm-connections-shell > div:not(:first-child) > div,
.crm-connections-shell > div:not(:first-child) article,
.crm-connections-shell > div:not(:first-child) section {
  background: #ffffff !important;
  border: 1px solid #dbe3ef !important;
  border-radius: 14px !important;
  box-shadow: 0 1px 3px rgba(15, 23, 42, 0.06) !important;
}

/* Mantener separación limpia entre paneles */
.crm-connections-shell > div:not(:first-child) {
  gap: 10px !important;
}

/* Mini cards internas */
.crm-connections-premium div[style*="background: #f8fafc"],
.crm-connections-premium div[style*="background:#f8fafc"],
.crm-connections-premium div[style*="background: rgb(248, 250, 252)"] {
  background: #ffffff !important;
  border: 1px solid #dbe3ef !important;
  border-radius: 10px !important;
  box-shadow: none !important;
}

/* Estados verdes/amarillos/rojos más sobrios */
.crm-connections-premium div[style*="background: #ecfdf5"],
.crm-connections-premium div[style*="background:#ecfdf5"] {
  background: #ecfdf5 !important;
  border-color: #bbf7d0 !important;
  color: #166534 !important;
  border-radius: 999px !important;
}

.crm-connections-premium div[style*="background: #fffbeb"],
.crm-connections-premium div[style*="background:#fffbeb"] {
  background: #fffbeb !important;
  border-color: #fde68a !important;
  color: #92400e !important;
  border-radius: 999px !important;
}

.crm-connections-premium div[style*="background: #fef2f2"],
.crm-connections-premium div[style*="background:#fef2f2"] {
  background: #fef2f2 !important;
  border-color: #fecaca !important;
  color: #991b1b !important;
  border-radius: 10px !important;
}

/* Botones generales */
.crm-connections-premium button {
  border-radius: 10px !important;
  font-weight: 800 !important;
  transition: background 0.15s ease, border-color 0.15s ease !important;
}

.crm-connections-premium button:not(:disabled):hover {
  transform: none !important;
}

/* Inputs como Agenda: blancos y suaves */
.crm-connections-premium input,
.crm-connections-premium select,
.crm-connections-premium textarea {
  background: #ffffff !important;
  border: 1px solid #dbe3ef !important;
  border-radius: 10px !important;
  box-shadow: none !important;
}

.crm-connections-premium input:focus,
.crm-connections-premium select:focus,
.crm-connections-premium textarea:focus {
  outline: none !important;
  border-color: #93c5fd !important;
  box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.10) !important;
}

/* Tipografía general */
.crm-connections-premium b,
.crm-connections-premium strong {
  color: #0f172a !important;
}

/* Reducir sensación de “panel pesado” */
.crm-connections-premium h1,
.crm-connections-premium h2,
.crm-connections-premium h3 {
  color: #111827 !important;
}

/* Responsive */
@media (max-width: 760px) {
  .crm-connections-shell > div:first-child {
    padding: 14px !important;
    border-radius: 10px !important;
  }
}

/* crm_connections_compact_no_external_scroll_v1 */
/* Compacta Conexiones para parecerse más a Agenda y evitar scroll externo innecesario */

.crm-connections-premium {
  min-height: auto !important;
  font-size: 13px !important;
}

.crm-connections-shell {
  gap: 8px !important;
}

/* Head más bajo */
.crm-connections-shell > div:first-child {
  min-height: 56px !important;
  padding: 10px 16px !important;
  border-radius: 9px !important;
}

/* Título estilo Agenda */
.crm-connections-shell > div:first-child div[style*="font-size: 22px"],
.crm-connections-shell > div:first-child div[style*="fontSize: 22"],
.crm-connections-shell > div:first-child div[style*="font-size:22px"],
.crm-connections-shell > div:first-child div[style*="fontSize:22"] {
  font-size: 20px !important;
  font-weight: 650 !important;
  line-height: 1.15 !important;
}

/* Botón Actualizar más compacto */
.crm-connections-shell > div:first-child button {
  padding: 7px 14px !important;
  min-height: 34px !important;
  font-size: 13px !important;
}

/* Cards principales más compactas */
.crm-connections-shell > div:not(:first-child) > div,
.crm-connections-shell > div:not(:first-child) article,
.crm-connections-shell > div:not(:first-child) section {
  border-radius: 12px !important;
}

/* Compactar separaciones internas genéricas */
.crm-connections-premium div[style*="padding: 18px"],
.crm-connections-premium div[style*="padding:18px"] {
  padding: 13px !important;
}

.crm-connections-premium div[style*="padding: 16px"],
.crm-connections-premium div[style*="padding:16px"] {
  padding: 12px !important;
}

.crm-connections-premium div[style*="padding: 14px"],
.crm-connections-premium div[style*="padding:14px"] {
  padding: 10px !important;
}

.crm-connections-premium div[style*="gap: 14px"],
.crm-connections-premium div[style*="gap:14px"] {
  gap: 9px !important;
}

.crm-connections-premium div[style*="gap: 12px"],
.crm-connections-premium div[style*="gap:12px"] {
  gap: 8px !important;
}

/* Textos y números internos un poco más chicos */
.crm-connections-premium div[style*="font-size: 24px"],
.crm-connections-premium div[style*="fontSize: 24"],
.crm-connections-premium div[style*="font-size:24px"],
.crm-connections-premium div[style*="fontSize:24"] {
  font-size: 20px !important;
  line-height: 1.1 !important;
}

.crm-connections-premium div[style*="font-size: 20px"],
.crm-connections-premium div[style*="fontSize: 20"],
.crm-connections-premium div[style*="font-size:20px"],
.crm-connections-premium div[style*="fontSize:20"] {
  font-size: 17px !important;
  line-height: 1.15 !important;
}

.crm-connections-premium div[style*="font-size: 13px"],
.crm-connections-premium div[style*="fontSize: 13"],
.crm-connections-premium div[style*="font-size:13px"],
.crm-connections-premium div[style*="fontSize:13"] {
  font-size: 12px !important;
}

/* Inputs y botones internos más compactos */
.crm-connections-premium input,
.crm-connections-premium select,
.crm-connections-premium textarea {
  min-height: 34px !important;
  padding-top: 7px !important;
  padding-bottom: 7px !important;
  font-size: 13px !important;
}

.crm-connections-premium button {
  min-height: 34px !important;
  padding-top: 7px !important;
  padding-bottom: 7px !important;
  font-size: 13px !important;
}
