/* V40 · modales, submenus y navegacion movil consistentes */

/* El cierre de cualquier modal debe permanecer dentro de la esquina superior derecha. */
.modal-card > .modal-close,
.user-modal-v14 > .modal-close,
.document-upload-modal-v14 > .modal-close {
  position:absolute!important;
  top:14px!important;
  right:14px!important;
  left:auto!important;
  bottom:auto!important;
  margin:0!important;
  transform:none!important;
  z-index:20!important;
  box-sizing:border-box!important;
}
.user-modal-v14 > h2,
.document-upload-modal-v14 > h2 {
  padding-right:74px!important;
}

/* Superficies oscuras comunes. Esta capa se carga la ultima para cubrir
   estilos locales antiguos sin modificar el modo claro. */
html[data-theme="dark"] .modal {
  background:rgba(3,10,18,.74)!important;
  backdrop-filter:blur(9px)!important;
}
html[data-theme="dark"] :is(
  .modal-card,
  .announcement-popup-card-v16,
  .barcode-scanner-card,
  .chat-v23-new-modal,
  .chat-v23-tools-popover,
  .chat-tools-popover-v13,
  .gtic-user-dropdown,
  .gtic-smart-panel,
  .guided-tour-popover-v19
) {
  background:#162434!important;
  background-image:none!important;
  border-color:#31475b!important;
  color:#edf4fb!important;
  box-shadow:0 28px 80px rgba(0,0,0,.44)!important;
}

html[data-theme="dark"] :is(.modal-card,.announcement-popup-card-v16,.barcode-scanner-card,.chat-v23-new-modal) :is(h1,h2,h3,h4,h5,h6,legend,summary),
html[data-theme="dark"] .modal-card .card-title,
html[data-theme="dark"] .modal-card .item-title {
  color:#f5f9fd!important;
}
html[data-theme="dark"] :is(.modal-card,.announcement-popup-card-v16,.barcode-scanner-card,.chat-v23-new-modal) :is(p,li,dd,dt),
html[data-theme="dark"] .modal-card :is(.card-subtitle,.muted,.small,.item-meta,.file-name-hint) {
  color:#a9bacb!important;
}
html[data-theme="dark"] .modal-card :is(label,.label),
html[data-theme="dark"] .modal-card .checkline {
  color:#dce8f2!important;
}

/* Fondos internos que antes seguian siendo blancos dentro de las ventanas. */
html[data-theme="dark"] .modal-card :is(
  .card,
  .item-card,
  .permissions-grid,
  .permissions-grid .checkline,
  .gtic-modal-warning,
  .ticket-summary-card,
  .ticket-summary-item,
  .ticket-meta-chip,
  .ticket-problem-card,
  .ticket-muted-panel,
  .compact-details,
  .inline-control,
  .file-name-hint,
  .secret-panel-note,
  .mini-list a,
  details,
  .table-wrap,
  .table-wrap-soft,
  .gtic-mobile-filter-advanced,
  .workshop-mobile-edit-v10,
  .report-step-v14,
  .report-type-card-v14,
  .report-builder-actions-v14,
  .quote-list-scroll-v14,
  .quote-row-v14
) {
  background:#101d2a!important;
  background-image:none!important;
  border-color:#30475b!important;
  color:#dfeaf3!important;
  box-shadow:none!important;
}
html[data-theme="dark"] .modal-card :is(.permissions-grid .checkline,.mini-list a,.report-type-card-v14):hover {
  background:#1b3042!important;
}
html[data-theme="dark"] .modal-card .gtic-modal-warning {
  background:#3c2d18!important;
  border-color:#76592a!important;
  color:#ffdfa2!important;
}
html[data-theme="dark"] .modal-card .alert.info {
  background:#153b5c!important;
  border-color:#2d6388!important;
  color:#b8ddfb!important;
}
html[data-theme="dark"] .modal-card .invite-note {
  background:#3a2d18!important;
  border-color:#765a2b!important;
  color:#ffe0a5!important;
}

/* Barras pegajosas y pies de formulario de todos los modales. */
html[data-theme="dark"] .modal-card .form-actions,
html[data-theme="dark"] .user-modal-v14 .form-actions,
html[data-theme="dark"] .auto-form-modal .form-actions,
html[data-theme="dark"] .modal-card .modal-extra-actions {
  background:#162434!important;
  background-image:none!important;
  border-color:#30475b!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
}
html[data-theme="dark"] .modal-card > form,
html[data-theme="dark"] .user-modal-v14 > form {
  background:transparent!important;
  color:#edf4fb!important;
}

/* Controles dentro y fuera de ventanas emergentes. */
html[data-theme="dark"] :is(
  .modal-card,
  .gtic-user-dropdown,
  .gtic-smart-panel,
  .chat-tools-popover-v13,
  .chat-v23-tools-popover,
  .gtic-mobile-filter-advanced,
  .settings-panel-v13
) :is(input:not([type="checkbox"]):not([type="radio"]),select,textarea,.gtic-smart-button) {
  background-color:#0e1b28!important;
  color:#edf4fb!important;
  border-color:#3a5065!important;
}
html[data-theme="dark"] :is(.modal-card,.gtic-smart-panel,.chat-tools-popover-v13,.chat-v23-tools-popover) option {
  background:#0e1b28!important;
  color:#edf4fb!important;
}
html[data-theme="dark"] .modal-card input::placeholder,
html[data-theme="dark"] .modal-card textarea::placeholder {
  color:#71869a!important;
}
html[data-theme="dark"] input[type="checkbox"]:not([data-notification-select]):not([data-notification-select-all]),
html[data-theme="dark"] input[type="radio"] {
  background:#0e1b28!important;
  border-color:#587086!important;
  box-shadow:inset 0 0 0 3px #0e1b28!important;
}
html[data-theme="dark"] input[type="checkbox"]:not([data-notification-select]):not([data-notification-select-all]):checked,
html[data-theme="dark"] input[type="radio"]:checked {
  background:var(--gtic-teal,#20c6c9)!important;
  border-color:var(--gtic-teal,#20c6c9)!important;
  box-shadow:inset 0 0 0 2px var(--gtic-teal,#20c6c9)!important;
}

/* Tablas y mensajes dentro de modales. */
html[data-theme="dark"] .modal-card .table th {
  background:#0d1925!important;
  color:#aebecd!important;
  border-color:#30475b!important;
}
html[data-theme="dark"] .modal-card .table td {
  background:#132231!important;
  color:#e3edf5!important;
  border-color:#30475b!important;
}
html[data-theme="dark"] .modal-card .table tr:hover td {
  background:#1a2d3e!important;
}

/* Boton de cierre y componentes desplegables. */
html[data-theme="dark"] .modal-close {
  background:#213548!important;
  color:#e7f1f8!important;
  border:1px solid #3b5368!important;
  box-shadow:none!important;
}
html[data-theme="dark"] .modal-close:hover,
html[data-theme="dark"] .modal-close:focus-visible {
  background:#2b6b91!important;
  color:#fff!important;
}
html[data-theme="dark"] :is(.gtic-user-dropdown,.gtic-smart-panel,.chat-tools-popover-v13,.chat-v23-tools-popover) :is(a,button,.gtic-smart-option) {
  color:#dce8f2!important;
}
html[data-theme="dark"] :is(.gtic-user-dropdown,.gtic-smart-panel,.chat-tools-popover-v13,.chat-v23-tools-popover) :is(a,button,.gtic-smart-option):hover,
html[data-theme="dark"] .gtic-smart-option.is-selected {
  background:#21394d!important;
  color:#fff!important;
}
html[data-theme="dark"] .chat-emoji-v13 {
  background:#101d2a!important;
  border-color:#30475b!important;
  color:#edf4fb!important;
}
html[data-theme="dark"] .settings-tabs-v13,
html[data-theme="dark"] .gtic-mobile-filter-advanced,
html[data-theme="dark"] .workshop-mobile-edit-v10,
html[data-theme="dark"] .workshop-mobile-edit-v10 summary {
  background:#132231!important;
  background-image:none!important;
  border-color:#30475b!important;
  color:#dfeaf3!important;
}
html[data-theme="dark"] .settings-tab-v13 {
  background:transparent!important;
  color:#cbd9e5!important;
}
html[data-theme="dark"] .settings-tab-v13:hover,
html[data-theme="dark"] .settings-tab-v13.is-active {
  background:#21445b!important;
  color:#fff!important;
  box-shadow:inset 0 0 0 1px #3a6b86!important;
}

/* Evita el destello cuadrado del navegador y mantiene la zona tactil con
   la misma forma visual que los botones. */
:is(.mobile-bottom-nav a,.gtic-section-action,.gtic-section-action button) {
  -webkit-tap-highlight-color:transparent!important;
  touch-action:manipulation;
}

@media(max-width:920px) {
  .gtic-section-actions-card {
    filter:none!important;
    box-shadow:none!important;
    overflow:visible!important;
  }
  .gtic-section-actions {
    padding-top:4px!important;
    padding-bottom:4px!important;
    filter:none!important;
  }
  .gtic-section-action {
    position:relative!important;
    overflow:hidden!important;
    border-radius:17px!important;
    box-shadow:none!important;
    filter:none!important;
    outline:0!important;
    appearance:none!important;
    -webkit-appearance:none!important;
    transform:translateZ(0)!important;
  }
  .gtic-section-action.active {
    box-shadow:inset 0 0 0 1px rgba(255,255,255,.18)!important;
  }
  .gtic-section-action:active {
    transform:scale(.97)!important;
  }
  .gtic-section-action:focus-visible {
    outline:0!important;
    box-shadow:0 0 0 3px rgba(32,198,201,.28)!important;
  }

  .mobile-bottom-nav {
    border-radius:24px!important;
  }
  .mobile-bottom-nav a {
    position:relative!important;
    min-height:58px!important;
    border-radius:18px!important;
    overflow:hidden!important;
    outline:0!important;
    appearance:none!important;
    -webkit-appearance:none!important;
    box-shadow:none!important;
    transform:translateZ(0)!important;
  }
  .mobile-bottom-nav a:active {
    transform:scale(.97)!important;
  }
  .mobile-bottom-nav a:focus-visible {
    outline:0!important;
    box-shadow:0 0 0 3px rgba(32,198,201,.28)!important;
  }
  .mobile-bottom-nav a.active {
    box-shadow:inset 0 0 0 1px rgba(18,58,87,.10)!important;
  }
  html[data-theme="dark"] .mobile-bottom-nav a.active {
    box-shadow:inset 0 0 0 1px rgba(255,255,255,.14)!important;
  }
}

@media(max-width:560px) {
  .modal-card > .modal-close,
  .user-modal-v14 > .modal-close,
  .document-upload-modal-v14 > .modal-close {
    top:10px!important;
    right:10px!important;
  }
  .user-modal-v14 > h2,
  .document-upload-modal-v14 > h2 {
    padding-right:66px!important;
  }
}
