.teducas-indutech-panel,
.teducas-indutech-login {
  font-family: var(--ti-font, system-ui, sans-serif);
  color: var(--ti-text, #1a202c);
  box-sizing: border-box;
}

.teducas-indutech-login {
  max-width: 520px;
  margin: 0 auto;
  padding: 1.5rem;
  border-radius: 12px;
}

/* Panel: ocupa el ancho del contenedor padre (columna Elementor, caja, etc.) */
.teducas-indutech-panel {
  --ti-shell-padding-x: clamp(1rem, 3vw, 2.5rem);
  --ti-shell-padding-y: clamp(1rem, 2.5vw, 2rem);
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: 0;
  background: var(--ti-panel-bg, #f7fafc);
  border: none;
  border-radius: 0;
  box-shadow: none;
  min-height: 0;
}

/* Dentro de Elementor: no forzar viewport completo */
.elementor-widget-shortcode .teducas-indutech-panel,
.elementor-element .teducas-indutech-panel,
.entry-content .teducas-indutech-panel,
.wp-block-shortcode .teducas-indutech-panel {
  width: 100%;
  max-width: 100%;
  margin-left: 0;
  margin-right: 0;
}

/* Opcional: [teducas_panel ancho="completo"] — borde a borde de la pantalla */
.teducas-indutech-panel.ti-panel-full-bleed {
  width: 100vw;
  max-width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  min-height: min(100vh, 100dvh);
}

.teducas-indutech-panel > .ti-header,
.teducas-indutech-panel > .ti-nav,
.teducas-indutech-panel > .ti-main,
.teducas-indutech-panel > .ti-alert {
  padding-left: var(--ti-shell-padding-x);
  padding-right: var(--ti-shell-padding-x);
}

.teducas-indutech-panel > .ti-header {
  padding-top: var(--ti-shell-padding-y);
}

.teducas-indutech-panel > .ti-main {
  padding-bottom: calc(var(--ti-shell-padding-y) * 1.5);
}

.teducas-indutech-panel > .ti-alert {
  margin-top: var(--ti-shell-padding-y);
}

.teducas-indutech-panel *,
.teducas-indutech-panel *::before,
.teducas-indutech-panel *::after {
  box-sizing: border-box;
}

/* Aislar del tema / Elementor */
.teducas-indutech-panel .ti-main {
  width: 100%;
  text-align: left;
}

.teducas-indutech-panel .ti-main label {
  float: none;
}

.teducas-indutech-panel .ti-main h2,
.teducas-indutech-panel .ti-main h3 {
  text-align: left;
  width: 100%;
  color: var(--ti-heading, var(--ti-primary, #1a365d));
}

.teducas-indutech-panel .ti-main h2 {
  margin: 0 0 1rem;
}

.ti-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 1rem;
  padding-bottom: 1.25rem;
  border-bottom: 1px solid var(--ti-border, #e2e8f0);
  margin-bottom: 1.5rem;
}

.ti-brand {
  display: flex;
  align-items: center;
  gap: 1rem;
}

.ti-logo {
  max-height: 48px;
  width: auto;
}

.ti-title {
  margin: 0;
  font-size: 1.35rem;
  font-weight: 700;
  color: var(--ti-heading, var(--ti-text, #1a365d));
}

.ti-subtitle {
  margin: 0.15rem 0 0;
  font-size: 0.875rem;
  color: var(--ti-muted, #718096);
}

.ti-user {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  font-size: 0.9rem;
}

.ti-avatar {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  object-fit: cover;
  border: 2px solid var(--ti-accent, #3182ce);
}

.ti-logout {
  color: var(--ti-muted, #718096);
  text-decoration: none;
  font-size: 0.85rem;
  margin-left: 0.5rem;
}

.ti-logout:hover {
  text-decoration: underline;
}

.ti-alert {
  background: #fff5f5;
  border: 1px solid #fc8181;
  color: #c53030;
  padding: 0.75rem 1rem;
  border-radius: 6px;
  margin-bottom: 1rem;
  font-size: 0.9rem;
}

.ti-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-bottom: 1.5rem;
}

.teducas-indutech-panel .ti-nav button {
  background: transparent;
  border: 1px solid var(--ti-border, #e2e8f0);
  color: var(--ti-text, #2d3748);
  padding: 0.5rem 1rem;
  border-radius: 6px;
  cursor: pointer;
  font-size: 0.9rem;
  font-family: inherit;
  transition: all 0.15s ease;
}

.teducas-indutech-panel .ti-nav button:not(.is-active):hover {
  background: var(--ti-nav-hover-bg, var(--ti-primary, #1a365d));
  border-color: var(--ti-nav-hover-border, var(--ti-primary, #1a365d));
  color: var(--ti-nav-hover-text, #fff);
}

.teducas-indutech-panel .ti-nav button.is-active,
.teducas-indutech-panel .ti-nav button.is-active:hover {
  background: var(--ti-nav-active-bg, var(--ti-primary, #1a365d));
  border-color: var(--ti-nav-active-bg, var(--ti-primary, #1a365d));
  color: var(--ti-nav-active-text, #fff);
}

.ti-main {
  min-height: 320px;
}

.ti-loading {
  text-align: center;
  padding: 3rem;
  color: var(--ti-muted, #718096);
}

.ti-cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 1rem;
  margin-bottom: 1.5rem;
}

.ti-card {
  background: var(--ti-card-bg, #fff);
  border: 1px solid var(--ti-border, #e2e8f0);
  border-radius: 12px;
  padding: 1.25rem;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
  transition: background-color 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease;
}

.ti-card:hover {
  background: var(--ti-card-hover-bg, var(--ti-card-bg, #fff));
  border-color: var(--ti-card-hover-border, var(--ti-accent, #3182ce));
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.06);
}

.ti-card-label {
  font-size: 0.8rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--ti-label, #4a5568);
  margin: 0 0 0.35rem;
}

.ti-card-value {
  font-size: 1.75rem;
  font-weight: 700;
  color: var(--ti-card-value, var(--ti-primary, #1a365d));
  margin: 0;
}

.ti-charts {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.5rem;
  margin-bottom: 1.5rem;
  align-items: stretch;
}

@media (max-width: 768px) {
  .ti-charts {
    grid-template-columns: 1fr;
  }
}

.ti-chart-box {
  display: flex;
  flex-direction: column;
  height: 100%;
  min-height: 0;
  background: var(--ti-card-bg, #fff);
  border: 1px solid var(--ti-border, #e2e8f0);
  border-radius: 8px;
  padding: 1rem;
}

.ti-chart-box h3 {
  flex: 0 0 auto;
  margin: 0 0 0.75rem;
  font-size: 1rem;
  color: var(--ti-heading, var(--ti-text, #1a365d));
}

/* Gráfico de barras: ocupa el ancho de la tarjeta */
.ti-chart-canvas-area:not(.ti-chart-canvas-area--donut) {
  flex: 1 1 auto;
  position: relative;
  width: 100%;
  height: 260px;
  min-height: 260px;
}

.ti-chart-canvas-area:not(.ti-chart-canvas-area--donut) canvas {
  display: block;
  width: 100% !important;
  height: 100% !important;
}

/* Donut: contenedor cuadrado centrado (evita deformación) */
.ti-chart-box--donut {
  align-items: center;
}

.ti-chart-canvas-area--donut {
  flex: 0 0 auto;
  position: relative;
  width: 240px;
  height: 240px;
  min-height: 240px;
  max-width: 100%;
  margin: 0 auto;
}

.ti-chart-canvas-area--donut canvas {
  display: block;
}

@media (max-width: 768px) {
  .ti-chart-canvas-area:not(.ti-chart-canvas-area--donut) {
    height: 220px;
    min-height: 220px;
  }

  .ti-chart-canvas-area--donut {
    width: min(240px, 100%);
    height: min(240px, 72vw);
    min-height: min(240px, 72vw);
  }
}

.teducas-indutech-panel small,
.teducas-indutech-panel .ti-text-muted {
  color: var(--ti-muted, #718096);
}

.ti-table-wrap {
  overflow-x: auto;
  background: var(--ti-card-bg, #fff);
  border: 1px solid var(--ti-border, #e2e8f0);
  border-radius: 8px;
}

.ti-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.9rem;
}

.ti-table th,
.ti-table td {
  padding: 0.75rem 1rem;
  text-align: left;
  border-bottom: 1px solid var(--ti-border, #edf2f7);
}

.ti-table tbody td {
  color: var(--ti-table-text, var(--ti-text, #1a202c));
  background: var(--ti-card-bg, #fff);
  transition: background 0.15s ease, color 0.15s ease;
}

.teducas-indutech-panel table.ti-table thead th {
  background-color: var(--ti-table-header-bg, var(--ti-primary, #1a365d));
  color: var(--ti-table-header-text, #ffffff);
  -webkit-text-fill-color: currentColor;
  font-weight: 600;
}

.ti-table tbody tr:hover td {
  background: var(--ti-table-hover-bg, var(--ti-card-muted-bg, #f7fafc));
  color: var(--ti-table-hover-text, var(--ti-table-text, #1a202c));
}

.ti-table tbody tr:hover td .ti-badge {
  background: var(--ti-badge-bg, #edf2f7);
  color: var(--ti-badge-text, #4a5568);
}

.ti-table tbody tr:hover td .ti-badge-warn {
  background: var(--ti-badge-warn-bg, #fefcbf);
  color: var(--ti-badge-warn-text, #975a16);
}

.ti-progress-bar {
  height: 8px;
  background: var(--ti-border, #edf2f7);
  border-radius: 4px;
  overflow: hidden;
  min-width: 80px;
}

.ti-progress-fill {
  height: 100%;
  background: var(--ti-accent, #3182ce);
  border-radius: 4px;
  transition: width 0.3s ease;
}

.ti-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.55rem 1.1rem;
  border-radius: 6px;
  font-size: 0.9rem;
  font-family: inherit;
  cursor: pointer;
  border: none;
  text-decoration: none;
  transition: opacity 0.15s;
}

.ti-btn-primary,
.ti-btn-secondary {
  transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease, opacity 0.15s ease;
}

.ti-btn-primary {
  background: var(--ti-primary, #1a365d);
  color: var(--ti-btn-primary-text, #fff);
}

.ti-btn-primary:hover,
.ti-btn-secondary:hover {
  background: var(--ti-btn-primary-hover-bg, var(--ti-secondary, #2c5282));
  color: var(--ti-btn-primary-text, #fff);
  opacity: 1;
}

.ti-btn-secondary {
  background: var(--ti-secondary, #2c5282);
  color: var(--ti-btn-primary-text, #fff);
}

.teducas-indutech-panel button.ti-btn.ti-btn-ghost,
.teducas-indutech-panel a.ti-btn.ti-btn-ghost {
  background-color: transparent;
  background-image: none;
  border: 1px solid var(--ti-ghost-border, #cbd5e0);
  color: var(--ti-ghost-text, var(--ti-text, #1a202c));
  transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

.teducas-indutech-panel button.ti-btn.ti-btn-ghost:hover,
.teducas-indutech-panel a.ti-btn.ti-btn-ghost:hover {
  background-color: var(--ti-ghost-hover-bg, #edf2f7);
  color: var(--ti-ghost-hover-text, var(--ti-ghost-text, #1a202c));
  border-color: var(--ti-ghost-border, #cbd5e0);
  opacity: 1;
}

.teducas-indutech-panel button.ti-btn.ti-btn-primary,
.teducas-indutech-panel a.ti-btn.ti-btn-primary {
  background-color: var(--ti-primary, #1a365d);
  color: var(--ti-btn-primary-text, #fff);
}

.teducas-indutech-panel button.ti-btn.ti-btn-primary:hover,
.teducas-indutech-panel a.ti-btn.ti-btn-primary:hover {
  background-color: var(--ti-btn-primary-hover-bg, var(--ti-secondary, #2c5282));
  color: var(--ti-btn-primary-text, #fff);
}

.teducas-indutech-panel button.ti-btn.ti-btn-secondary,
.teducas-indutech-panel a.ti-btn.ti-btn-secondary {
  background-color: var(--ti-secondary, #2c5282);
  color: var(--ti-btn-primary-text, #fff);
}

.ti-form {
  background: var(--ti-card-bg, #fff);
  border: 1px solid var(--ti-border, #e2e8f0);
  border-radius: 8px;
  padding: 1.5rem;
  max-width: 100%;
  width: 100%;
}

.ti-form h3 {
  margin: 0 0 1rem;
  color: var(--ti-heading, var(--ti-primary, #1a365d));
}

.ti-field {
  margin-bottom: 1rem;
  width: 100%;
  text-align: left;
}

/* Solo el título del campo (no ítems de checklist) */
.teducas-indutech-panel .ti-field > label:not(.ti-check-item) {
  display: block;
  font-size: 0.85rem;
  font-weight: 600;
  margin-bottom: 0.35rem;
  width: 100%;
  text-align: left;
  color: var(--ti-label, #4a5568);
}

/* Inputs de texto — excluir checkbox/radio/file del tema */
.teducas-indutech-panel .ti-field input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
.teducas-indutech-panel .ti-field select,
.teducas-indutech-panel .ti-field textarea,
.teducas-indutech-panel .ti-modal-box input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
.teducas-indutech-panel .ti-modal-box select,
.teducas-indutech-panel .ti-toolbar input:not([type="checkbox"]):not([type="radio"]),
.teducas-indutech-panel .ti-toolbar select {
  display: block;
  width: 100%;
  max-width: 100%;
  padding: 0.55rem 0.75rem;
  border: 1px solid var(--ti-input-border, #cbd5e0);
  border-radius: 6px;
  font-size: 0.9rem;
  font-family: inherit;
  line-height: 1.4;
  float: none;
  margin: 0;
  box-sizing: border-box;
  background: var(--ti-input-bg, #fff);
  color: var(--ti-input-text, var(--ti-text, #1a202c));
}

.teducas-indutech-panel .ti-field input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):focus,
.teducas-indutech-panel .ti-field select:focus,
.teducas-indutech-panel .ti-modal-box input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):focus,
.teducas-indutech-panel .ti-modal-box select:focus {
  outline: 2px solid var(--ti-accent, #3182ce);
  outline-offset: 0;
  border-color: var(--ti-accent, #3182ce);
}

.teducas-indutech-panel .ti-field input[type="file"] {
  width: 100%;
  max-width: 100%;
  padding: 0.35rem 0;
  border: none;
  background: transparent;
}

/* Listas de casillas (cursos, áreas) */
.teducas-indutech-panel .ti-checklist {
  display: block;
  width: 100%;
  max-height: 220px;
  overflow-x: hidden;
  overflow-y: auto;
  border: 1px solid var(--ti-border, #e2e8f0);
  border-radius: 6px;
  padding: 0.35rem;
  background: var(--ti-card-muted-bg, #fafafa);
  text-align: left;
}

.teducas-indutech-panel .ti-checklist .ti-check-item {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  justify-content: flex-start;
  gap: 0.6rem;
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: 0.5rem 0.6rem;
  font-size: 0.9rem;
  font-weight: 400;
  line-height: 1.4;
  text-align: left;
  cursor: pointer;
  border-radius: 4px;
  box-sizing: border-box;
  float: none;
  clear: both;
}

.teducas-indutech-panel .ti-checklist .ti-check-item:hover {
  background: var(--ti-border, #edf2f7);
}

.teducas-indutech-panel .ti-checklist .ti-check-item input[type="checkbox"] {
  flex: 0 0 1rem;
  width: 1rem;
  height: 1rem;
  min-width: 1rem;
  max-width: 1rem;
  margin: 0.15rem 0 0;
  padding: 0;
  border: 1px solid #a0aec0;
  border-radius: 3px;
  float: none;
  position: static;
  display: inline-block;
  vertical-align: top;
  box-sizing: border-box;
}

.teducas-indutech-panel .ti-checklist .ti-check-text {
  flex: 1 1 auto;
  min-width: 0;
  word-break: break-word;
  text-align: left;
}

.ti-areas-list {
  display: grid;
  gap: 1rem;
}

.ti-area-item {
  background: var(--ti-card-bg, #fff);
  border: 1px solid var(--ti-border, #e2e8f0);
  border-radius: 8px;
  padding: 1rem 1.25rem;
}

.ti-area-item h4 {
  margin: 0 0 0.5rem;
  color: var(--ti-heading, var(--ti-primary, #1a365d));
}

.ti-area-meta {
  font-size: 0.85rem;
  color: var(--ti-muted, #718096);
  margin-bottom: 0.75rem;
}

.ti-area-actions {
  display: flex;
  gap: 0.5rem;
  flex-wrap: wrap;
}

.ti-course-cards {
  display: grid;
  gap: 1rem;
}

.ti-course-cards--nested {
  gap: 0.75rem;
}

.ti-course-card {
  background: var(--ti-card-bg, #fff);
  border: 1px solid var(--ti-border, #e2e8f0);
  border-radius: 8px;
  padding: 1.25rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 1rem;
}

.ti-course-card--compact {
  padding: 1rem;
}

.ti-course-card-body {
  flex: 1;
  min-width: 0;
}

.ti-course-card-meta {
  color: var(--ti-muted, #718096);
}

.ti-btn-sm {
  padding: 0.4rem 0.85rem;
  font-size: 0.85rem;
}

.ti-employee-courses-layout {
  margin-top: 0.5rem;
}

.ti-employee-groups-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 1.25rem;
}

.ti-employee-sede-block {
  margin-bottom: 2rem;
}

.ti-employee-sede-block:last-child {
  margin-bottom: 0;
}

.ti-employee-sede-title {
  margin: 0 0 1rem;
  font-size: 1.1rem;
  color: var(--ti-heading, var(--ti-primary, #1a365d));
  padding-bottom: 0.5rem;
  border-bottom: 2px solid var(--ti-accent, #3182ce);
}

.ti-employee-group {
  background: var(--ti-card-bg, #fff);
  border: 1px solid var(--ti-border, #e2e8f0);
  border-radius: 10px;
  padding: 1rem 1.1rem 1.15rem;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
  min-height: 0;
}

.ti-employee-group-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 0.75rem;
  flex-wrap: wrap;
}

.ti-employee-group-title {
  margin: 0;
  font-size: 1rem;
  color: var(--ti-heading, var(--ti-primary, #1a365d));
}

.ti-employee-group-meta {
  margin: 0.25rem 0 0;
  font-size: 0.8rem;
  color: var(--ti-muted, #718096);
}

.ti-employee-group-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  justify-content: flex-end;
}

.ti-employee-group-badge {
  font-size: 0.72rem;
  padding: 0.2rem 0.5rem;
  border-radius: 4px;
  background: var(--ti-card-muted-bg, #f7fafc);
  color: var(--ti-muted, #718096);
  white-space: nowrap;
}

.ti-employee-group-badge--avg {
  background: var(--ti-accent-soft, rgba(49, 130, 206, 0.12));
  color: var(--ti-accent, #3182ce);
  font-weight: 600;
}

.ti-employee-group-empty {
  margin: 0;
  font-size: 0.875rem;
  color: var(--ti-muted, #718096);
}

.ti-course-card h4 {
  margin: 0 0 0.5rem;
  color: var(--ti-heading, var(--ti-primary, #1a365d));
}

.ti-detail-panel {
  margin-top: 1rem;
  padding: 1rem;
  background: var(--ti-card-muted-bg, #f7fafc);
  border-radius: 8px;
}

.ti-toast {
  position: fixed;
  bottom: 1.5rem;
  right: 1.5rem;
  background: var(--ti-primary, #1a365d);
  color: #fff;
  padding: 0.75rem 1.25rem;
  border-radius: 6px;
  font-size: 0.9rem;
  z-index: 9999;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

.ti-avatar-preview {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  object-fit: cover;
  margin-top: 0.5rem;
  display: none;
}

.ti-avatar-preview.is-visible {
  display: block;
}

.teducas-indutech-notice {
  text-align: center;
  padding: 2rem;
}

.ti-toolbar {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  align-items: flex-end;
  margin-bottom: 1rem;
  padding: 1rem;
  background: var(--ti-card-bg, #fff);
  border: 1px solid var(--ti-border, #e2e8f0);
  border-radius: 8px;
}

.ti-toolbar .ti-field {
  margin: 0;
  flex: 1 1 180px;
  min-width: 140px;
}

.ti-toolbar .ti-field-search {
  flex: 2 1 240px;
  min-width: 200px;
}

.teducas-indutech-panel .ti-toolbar > .ti-field > label {
  display: block;
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  color: var(--ti-label, #4a5568);
  margin-bottom: 0.35rem;
}

.ti-users-meta {
  font-size: 0.85rem;
  color: var(--ti-muted, #718096);
  margin: 0 0 0.75rem;
}

.ti-users-note {
  font-size: 0.85rem;
  color: var(--ti-note-text, var(--ti-secondary, #2c5282));
  background: var(--ti-note-bg, #ebf8ff);
  border: 1px solid var(--ti-note-border, #bee3f8);
  padding: 0.65rem 0.85rem;
  border-radius: 6px;
  margin-bottom: 1rem;
}

.teducas-indutech-panel .ti-badge {
  display: inline-block;
  font-size: 0.7rem;
  font-weight: 500;
  padding: 0.2rem 0.5rem;
  border-radius: 4px;
  background: var(--ti-badge-bg, #edf2f7);
  color: var(--ti-badge-text, #4a5568);
  border: 1px solid var(--ti-badge-border, #cbd5e0);
  margin-left: 0.35rem;
  vertical-align: middle;
  line-height: 1.3;
}

.teducas-indutech-panel .ti-badge-warn {
  background: var(--ti-badge-warn-bg, #fefcbf);
  color: var(--ti-badge-warn-text, #975a16);
  border-color: var(--ti-badge-warn-text, #975a16);
}

.ti-row-hidden {
  display: none;
}

.ti-actions-cell {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  align-items: center;
}

.teducas-indutech-panel .ti-btn.ti-btn-danger {
  background-color: transparent;
  border: 1px solid var(--ti-badge-warn-text, #c53030);
  color: var(--ti-badge-warn-text, #c53030);
}

.teducas-indutech-panel .ti-btn.ti-btn-danger:hover {
  background-color: var(--ti-badge-warn-bg, #fff5f5);
  border-color: var(--ti-badge-warn-text, #c53030);
  color: var(--ti-badge-warn-text, #c53030);
  opacity: 1;
}

.ti-form-wide {
  max-width: 100%;
}

.ti-form-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 1rem 1.25rem;
  align-items: start;
  width: 100%;
}

.teducas-indutech-panel .ti-form-grid .ti-field {
  min-width: 0;
}

.teducas-indutech-panel .ti-form-grid .ti-field[style*="grid-column"] {
  grid-column: 1 / -1;
}

.ti-form-area-highlight {
  grid-column: 1 / -1;
  padding: 1rem;
  background: #f0fff4;
  border: 1px solid #9ae6b4;
  border-radius: 8px;
}

.ti-form-area-highlight.is-hidden {
  display: none;
}

.ti-muted {
  color: var(--ti-muted, #718096);
  font-size: 0.9rem;
}

.ti-areas-tags .ti-badge {
  margin: 0.15rem 0.25rem 0.15rem 0;
}

.ti-areas-checklist {
  max-height: 160px;
}

.ti-modal {
  position: fixed;
  inset: 0;
  z-index: 100000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem;
}

.ti-modal[hidden] {
  display: none !important;
}

.ti-modal-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.45);
}

.ti-modal-box {
  position: relative;
  background: var(--ti-card-bg, #fff);
  border-radius: 10px;
  padding: 1.5rem;
  width: 100%;
  max-width: 520px;
  max-height: 90vh;
  overflow-y: auto;
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.2);
  text-align: left;
}

.teducas-indutech-panel .ti-modal-box .ti-field {
  width: 100%;
}

.ti-modal-box h3 {
  margin: 0 0 1rem;
  color: var(--ti-heading, var(--ti-primary, #1a365d));
}

.ti-modal-actions {
  display: flex;
  justify-content: flex-end;
  gap: 0.5rem;
  margin-top: 1.25rem;
}

.ti-picker-toolbar {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  align-items: flex-end;
  margin-bottom: 0.5rem;
  padding: 0.65rem;
  background: var(--ti-card-muted-bg, #f7fafc);
  border: 1px solid var(--ti-border, #e2e8f0);
  border-radius: 6px;
}

.ti-picker-toolbar .ti-field {
  margin: 0;
  flex: 1 1 200px;
  min-width: 160px;
}

.ti-picker-meta {
  font-size: 0.8rem;
  color: var(--ti-muted, #718096);
  margin: 0 0 0.5rem;
}

.teducas-indutech-panel .ti-checklist .ti-check-text,
.teducas-indutech-panel .ti-check-item {
  color: var(--ti-text, #1a202c);
}

.teducas-indutech-panel .ti-check-cat {
  display: block;
  font-size: 0.75rem;
  color: var(--ti-muted, #718096);
  margin-top: 0.15rem;
  font-weight: 400;
}

.teducas-indutech-panel .ti-check-title {
  display: block;
}

.ti-filter-hidden {
  display: none !important;
}

.ti-list-static {
  display: block;
}

/* —— Login —— */
.teducas-indutech-login-page {
  max-width: 420px;
  margin: 2rem auto;
  padding: 2rem 1.5rem;
  border: 1px solid var(--ti-border, #e2e8f0);
  border-radius: 10px;
  background: var(--ti-card-bg, #fff);
  box-shadow: 0 4px 24px rgba(26, 54, 93, 0.08);
  color: var(--ti-text, #1a202c);
}

.teducas-indutech-login-page .ti-field > label {
  color: var(--ti-label, #4a5568);
}

.teducas-indutech-login-page .ti-field input {
  background: var(--ti-input-bg, #fff);
  color: var(--ti-input-text, var(--ti-text, #1a202c));
  border: 1px solid var(--ti-input-border, #cbd5e0);
}

.teducas-indutech-login-page .ti-title {
  color: var(--ti-heading, var(--ti-primary, #1a365d));
}

.ti-login-header {
  text-align: center;
  margin-bottom: 1.5rem;
}

.ti-login-logo {
  max-height: 56px;
  margin: 0 auto 0.75rem;
  display: block;
}

.ti-login-form .ti-field {
  margin-bottom: 1rem;
}

.ti-login-remember {
  margin: 0.5rem 0 1rem;
}

.ti-login-error {
  color: #c53030;
  font-size: 0.9rem;
  margin: 0 0 0.75rem;
}

.ti-login-submit {
  width: 100%;
}

.ti-login-footer {
  text-align: center;
  margin-top: 1.25rem;
  font-size: 0.9rem;
}

.teducas-indutech-panel.is-demo .ti-logout {
  cursor: pointer;
}

/* ─── Enlace con variables de tema (aislar del tema WP / Elementor) ─── */

.teducas-indutech-panel button,
.teducas-indutech-panel input,
.teducas-indutech-panel select,
.teducas-indutech-panel textarea {
  font-family: inherit;
}

.teducas-indutech-panel .ti-user > span {
  color: var(--ti-text, #1a202c);
}

.teducas-indutech-panel .ti-toolbar label,
.teducas-indutech-panel .ti-field > label:not(.ti-check-item) {
  color: var(--ti-label, #4a5568);
}

.teducas-indutech-panel .ti-table th,
.teducas-indutech-panel .ti-table td {
  border-color: var(--ti-border, #e2e8f0);
}

.teducas-indutech-panel table.ti-table thead th {
  background-color: var(--ti-table-header-bg, var(--ti-primary, #1a365d));
  color: var(--ti-table-header-text, #ffffff);
  -webkit-text-fill-color: currentColor;
}

.teducas-indutech-panel table.ti-table thead th::selection {
  background-color: var(--ti-accent, #3182ce);
  color: var(--ti-table-header-text, #ffffff);
}

.teducas-indutech-panel .ti-table tbody td a {
  color: var(--ti-accent, #3182ce);
}

.teducas-indutech-panel .ti-card-label,
.teducas-indutech-panel .ti-card-meta {
  color: var(--ti-label, #4a5568);
}

.teducas-indutech-panel .ti-card-value {
  color: var(--ti-card-value, var(--ti-heading, #1a365d));
}

.teducas-indutech-panel .ti-users-note,
.teducas-indutech-panel .ti-alert-info {
  color: var(--ti-note-text, var(--ti-text, #2c5282));
  background: var(--ti-note-bg, #ebf8ff);
  border-color: var(--ti-note-border, #bee3f8);
}

.teducas-indutech-panel .ti-badge {
  background: var(--ti-badge-bg, #edf2f7);
  color: var(--ti-badge-text, #4a5568);
  border-color: var(--ti-badge-border, #cbd5e0);
}

.teducas-indutech-panel .ti-badge-warn {
  background: var(--ti-badge-warn-bg, #fefcbf);
  color: var(--ti-badge-warn-text, #975a16);
  border-color: var(--ti-badge-warn-text, #975a16);
}
