/* Generado por tools/build_styles.py desde style.txt. Editar style.txt. */

:root {
  --ui-font: 'Segoe UI', Arial, sans-serif;
  --ui-font-size: 0.875rem;
  --ui-line-height: 1.5;
  --ui-label-size: 0.875rem;
  --ui-label-weight: 600;
  --ui-help-size: 0.8125rem;
  --ui-control-height: 2.5rem;
  --ui-control-padding: 0.5rem 0.75rem;
  --ui-control-radius: 0.5rem;
  --ui-textarea-height: 7rem;
  --ui-check-size: 1rem;
  --ui-border-width: 1px;
  --ui-panel-radius: 0.75rem;
  --ui-button-padding: 0.5rem 0.875rem;
  --ui-button-weight: 600;
  --ui-table-padding: 0.625rem 0.75rem;
  --ui-disabled-opacity: 0.6;
  --ui-focus-width: 3px;
  --ui-background: #f5f7fb;
  --ui-surface: #ffffff;
  --ui-input: #ffffff;
  --ui-text: #111827;
  --ui-muted: #596579;
  --ui-border: #d8dee9;
  --ui-soft: #f1f5f9;
  --ui-hover: #e8eff8;
  --ui-primary: #002f6c;
  --ui-primary-hover: #001f49;
  --ui-on-primary: #ffffff;
  --ui-focus: #2563eb;
  --ui-focus-ring: rgba(37, 99, 235, 0.2);
  --ui-success: #166534;
  --ui-success-hover: #14532d;
  --ui-warning: #92400e;
  --ui-warning-hover: #78350f;
  --ui-danger: #b91c1c;
  --ui-danger-hover: #991b1b;
  --ui-on-semantic: #ffffff;
  --ui-brand: #002f6c;
  --ui-brand-dark: #001f49;
  --ui-on-brand: #ffffff;
  --ui-agent-muted: #aebbd0;
  --ui-editor-text: #000000;
  --ui-ticket-placeholder: #a0a6af;
}

html[data-theme="dark"] {
  --ui-background: #0b1220;
  --ui-surface: #172033;
  --ui-input: #101827;
  --ui-text: #edf2f7;
  --ui-muted: #aebbd0;
  --ui-border: #3a4a63;
  --ui-soft: #202c40;
  --ui-hover: #263650;
  --ui-primary: #93c5fd;
  --ui-primary-hover: #bfdbfe;
  --ui-on-primary: #0b1220;
  --ui-focus: #93c5fd;
  --ui-focus-ring: rgba(147, 197, 253, 0.25);
  --ui-success: #86efac;
  --ui-success-hover: #bbf7d0;
  --ui-warning: #fcd34d;
  --ui-warning-hover: #fde68a;
  --ui-danger: #fca5a5;
  --ui-danger-hover: #fecaca;
  --ui-on-semantic: #0b1220;
  --ui-editor-text: #ffffff;
  --ui-ticket-placeholder: #788291;
}


:root {
  color-scheme: light;
  --ocanda-blue: var(--ui-primary);
  --ocanda-blue-dark: var(--ui-primary-hover);
  --ocanda-bg: var(--ui-background);
  --ocanda-card: var(--ui-surface);
  --ocanda-card-alt: var(--ui-soft);
  --ocanda-input: var(--ui-input);
  --ocanda-text: var(--ui-text);
  --ocanda-muted: var(--ui-muted);
  --ocanda-border: var(--ui-border);
  --ocanda-soft: var(--ui-soft);
}
html[data-theme="dark"] { color-scheme: dark; }
html:root body {
  background-color: var(--ui-background);
  color: var(--ui-text);
  font-family: var(--ui-font);
  font-size: var(--ui-font-size);
  line-height: var(--ui-line-height);
}
html:root body :is(main, .modal, .visor-preview) :is(label, legend, .form-label,
  .helpdesk-config-label, .login-label, .ticket-label) {
  color: var(--ui-text) !important;
  font-family: var(--ui-font) !important;
  font-size: var(--ui-label-size) !important;
  font-weight: var(--ui-label-weight) !important;
}
html:root body :is(.form-text, .form-help, .auth-help, .ticket-help, .text-muted,
  .ticket-meta, .correo-help, .dashboard-widget-module) {
  color: var(--ui-muted) !important;
  font-size: var(--ui-help-size) !important;
}
html:root body :is(input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]):not([type="submit"]):not([type="reset"]):not([type="button"]), select, textarea) {
  box-sizing: border-box !important;
  min-height: var(--ui-control-height) !important;
  border: var(--ui-border-width) solid var(--ui-border) !important;
  border-radius: var(--ui-control-radius) !important;
  background-color: var(--ui-input) !important;
  color: var(--ui-text) !important;
  font-family: var(--ui-font) !important;
  font-size: var(--ui-font-size) !important;
  font-weight: 400 !important;
  line-height: var(--ui-line-height) !important;
  padding: var(--ui-control-padding) !important;
  box-shadow: none !important;
}
html:root body :is(select, textarea, input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]):not([type="submit"]):not([type="reset"]):not([type="button"])):focus {
  border-color: var(--ui-focus) !important;
  outline: 0;
  box-shadow: 0 0 0 var(--ui-focus-width) var(--ui-focus-ring) !important;
}
html:root body :is(input, textarea)::placeholder { color: var(--ui-muted) !important; opacity: 1; }
html:root body :is(select option, select optgroup) { background: var(--ui-input); color: var(--ui-text); }
html:root body select:not([multiple]):not([size]) { padding-right: 2.25rem !important; }
html:root body textarea { resize: vertical; }
html:root body :is(input, select, textarea):is([readonly], :disabled) { cursor: default; }
html:root body :is(input, select, textarea):disabled { opacity: var(--ui-disabled-opacity); }
html:root body input:is([type="checkbox"], [type="radio"]) {
  accent-color: var(--ui-primary);
  width: var(--ui-check-size); height: var(--ui-check-size);
  min-height: 0; vertical-align: middle;
}
html:root body .form-check-input:checked { background-color: var(--ui-primary); border-color: var(--ui-primary); }
html:root body input[type="range"] { accent-color: var(--ui-primary); }
html:root body input[type="color"] { height: var(--ui-control-height); border: 1px solid var(--ui-border); border-radius: var(--ui-control-radius); }


html:root body :is(button, input[type="submit"], input[type="reset"], input[type="button"], .btn, .btn, .btn-back, .btn-cancel, .btn-clear, .btn-danger-soft, .btn-download, .btn-main-action, .btn-ocanda-secondary, .btn-outline-primary, .btn-outline-secondary, .btn-primary, .btn-row, .btn-row-action, .btn-row-edit, .btn-secondary-action, .btn-sm, .btn-ticket-primary, .ticket-back):not(.navbar *) {
  --action-bg: var(--ui-surface); --action-color: var(--ui-primary);
  --action-border: var(--ui-border); --action-hover: var(--ui-soft);
  background-color: var(--action-bg) !important; color: var(--action-color) !important;
  border: var(--ui-border-width) solid var(--action-border) !important;
  border-radius: var(--ui-control-radius) !important;
  box-sizing: border-box !important;
  min-height: var(--ui-control-height) !important; padding: var(--ui-button-padding) !important;
  font-family: var(--ui-font) !important; font-size: var(--ui-font-size) !important;
  font-weight: var(--ui-button-weight) !important; line-height: var(--ui-line-height) !important;
  text-decoration: none; box-shadow: none; cursor: pointer;
}


html:root body :is(button, input[type="submit"], input[type="reset"], input[type="button"], .btn, .btn, .btn-back, .btn-cancel, .btn-clear, .btn-danger-soft, .btn-download, .btn-main-action, .btn-ocanda-secondary, .btn-outline-primary, .btn-outline-secondary, .btn-primary, .btn-row, .btn-row-action, .btn-row-edit, .btn-secondary-action, .btn-sm, .btn-ticket-primary, .ticket-back):not(.navbar *):is(.btn-primary, .btn-ocanda, .btn-ocanda-primary, .btn-main, .btn-main-action, .btn-save, .btn-ticket-primary, .btn-filter, .btn-apply, .login-btn, .login-submit, .login-button, .visor-preview-btn-primary) {
  --action-bg: var(--ui-primary);
  --action-color: var(--ui-on-primary);
  --action-border: var(--ui-primary);
  --action-hover: var(--ui-primary-hover);
}

html:root body :is(button, input[type="submit"], input[type="reset"], input[type="button"], .btn, .btn, .btn-back, .btn-cancel, .btn-clear, .btn-danger-soft, .btn-download, .btn-main-action, .btn-ocanda-secondary, .btn-outline-primary, .btn-outline-secondary, .btn-primary, .btn-row, .btn-row-action, .btn-row-edit, .btn-secondary-action, .btn-sm, .btn-ticket-primary, .ticket-back):not(.navbar *):is(.btn-danger, .btn-outline-danger, .btn-danger-soft, .btn-row-danger, .btn-row-delete, .btn-icon-danger, .is-danger) {
  --action-bg: var(--ui-surface);
  --action-color: var(--ui-primary);
  --action-border: var(--ui-border);
  --action-hover: var(--ui-soft);
}

html:root body :is(button, input[type="submit"], input[type="reset"], input[type="button"], .btn, .btn, .btn-back, .btn-cancel, .btn-clear, .btn-danger-soft, .btn-download, .btn-main-action, .btn-ocanda-secondary, .btn-outline-primary, .btn-outline-secondary, .btn-primary, .btn-row, .btn-row-action, .btn-row-edit, .btn-secondary-action, .btn-sm, .btn-ticket-primary, .ticket-back):not(.navbar *):is(.btn-success, .btn-outline-success) {
  --action-bg: var(--ui-success);
  --action-color: var(--ui-on-semantic);
  --action-border: var(--ui-success);
  --action-hover: var(--ui-success-hover);
}

html:root body :is(button, input[type="submit"], input[type="reset"], input[type="button"], .btn, .btn, .btn-back, .btn-cancel, .btn-clear, .btn-danger-soft, .btn-download, .btn-main-action, .btn-ocanda-secondary, .btn-outline-primary, .btn-outline-secondary, .btn-primary, .btn-row, .btn-row-action, .btn-row-edit, .btn-secondary-action, .btn-sm, .btn-ticket-primary, .ticket-back):not(.navbar *):is(.btn-warning, .btn-outline-warning) {
  --action-bg: var(--ui-warning);
  --action-color: var(--ui-on-semantic);
  --action-border: var(--ui-warning);
  --action-hover: var(--ui-warning-hover);
}

html:root body :is(button, input[type="submit"], input[type="reset"], input[type="button"], .btn, .btn, .btn-back, .btn-cancel, .btn-clear, .btn-danger-soft, .btn-download, .btn-main-action, .btn-ocanda-secondary, .btn-outline-primary, .btn-outline-secondary, .btn-primary, .btn-row, .btn-row-action, .btn-row-edit, .btn-secondary-action, .btn-sm, .btn-ticket-primary, .ticket-back):not(.navbar *):hover { background-color: var(--action-hover) !important; }

html:root body :is(button, input[type="submit"], input[type="reset"], input[type="button"], .btn, .btn, .btn-back, .btn-cancel, .btn-clear, .btn-danger-soft, .btn-download, .btn-main-action, .btn-ocanda-secondary, .btn-outline-primary, .btn-outline-secondary, .btn-primary, .btn-row, .btn-row-action, .btn-row-edit, .btn-secondary-action, .btn-sm, .btn-ticket-primary, .ticket-back):not(.navbar *):focus-visible { outline: var(--ui-focus-width) solid var(--ui-focus); outline-offset: 2px; }

html:root body :is(button, input[type="submit"], input[type="reset"], input[type="button"], .btn, .btn, .btn-back, .btn-cancel, .btn-clear, .btn-danger-soft, .btn-download, .btn-main-action, .btn-ocanda-secondary, .btn-outline-primary, .btn-outline-secondary, .btn-primary, .btn-row, .btn-row-action, .btn-row-edit, .btn-secondary-action, .btn-sm, .btn-ticket-primary, .ticket-back):not(.navbar *):is(:disabled, .disabled, [aria-disabled="true"]) { opacity: var(--ui-disabled-opacity); cursor: not-allowed; }

html:root body :is(input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]):not([type="submit"]):not([type="reset"]):not([type="button"]), select, textarea):is(textarea) { min-height: var(--ui-textarea-height) !important; }

html:root body :is(input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]):not([type="submit"]):not([type="reset"]):not([type="button"]), select, textarea):is([readonly], :disabled) { background-color: var(--ui-soft) !important; color: var(--ui-muted) !important; }

html:root body :is(input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]):not([type="submit"]):not([type="reset"]):not([type="button"]), select, textarea):is(.is-invalid, [aria-invalid="true"]) { border-color: var(--ui-danger) !important; }

html:root body :is(input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]):not([type="submit"]):not([type="reset"]):not([type="button"]), select, textarea).is-valid { border-color: var(--ui-success) !important; }


html:root body :is(.btn-row, .btn-row-action, .btn-row-danger, .btn-icon-danger,
  .dashboard-widget-action, .dashboard-icon-btn, .btn-close) {
  min-width: var(--ui-control-height); padding: .4rem !important;
}
html:root body :is(table.table, .ticket-table, .usuarios-table, .dash-table, .logs-table, .table-responsive > table) {
  --bs-table-bg: var(--ui-surface); --bs-table-color: var(--ui-text);
  --bs-table-striped-bg: var(--ui-soft); --bs-table-striped-color: var(--ui-text);
  --bs-table-hover-bg: var(--ui-hover); --bs-table-hover-color: var(--ui-text);
  --bs-table-border-color: var(--ui-border);
  width: 100%; border-collapse: collapse;
  background: var(--ui-surface) !important; color: var(--ui-text) !important;
  font-family: var(--ui-font) !important; font-size: var(--ui-font-size) !important;
}
html:root body :is(table.table, .ticket-table, .usuarios-table, .dash-table, .logs-table, .table-responsive > table) :is(th, td) {
  padding: var(--ui-table-padding) !important;
  border-bottom: var(--ui-border-width) solid var(--ui-border) !important;
  color: var(--ui-text) !important; line-height: var(--ui-line-height);
  vertical-align: middle;
}
html:root body :is(table.table, .ticket-table, .usuarios-table, .dash-table, .logs-table, .table-responsive > table) thead :is(th, td) {
  background: var(--ui-soft) !important; color: var(--ui-text) !important;
  font-size: var(--ui-label-size) !important; font-weight: var(--ui-label-weight) !important;
}
html:root body :is(table.table, .ticket-table, .usuarios-table, .dash-table, .logs-table, .table-responsive > table) tbody tr:hover > td { background-color: var(--ui-hover) !important; }
html:root body :is(.card, .modal-content, .panel-card, .ticket-card, .ticket-form-card,
  .form-main-card, .form-card, .form-section, .ticket-section, .helpdesk-config-card,
  .login-card, .auth-card, .perfil-card, .dashboard-widget, .dashboard-modal-panel,
  .module-card, .results-card, .config-general-item, .config-compact-item) {
  background-color: var(--ui-surface) !important; color: var(--ui-text) !important;
  border-color: var(--ui-border) !important; border-radius: var(--ui-panel-radius) !important;
}
html:root body :is(.card-body, .panel-card-body, .ticket-section-body,
  .ticket-form-card-body, .helpdesk-config-card-body, .form-section-body,
  .login-card-body, .auth-body, .ticket-form-actions, .form-actions) {
  background-color: var(--ui-surface) !important; color: var(--ui-text) !important;
  border-color: var(--ui-border) !important;
}
html:root body :is(.card-header, .panel-card-header, .ticket-card-header,
  .ticket-section-header, .form-section-header, .helpdesk-config-card-header,
  .auth-head, .login-card-header, .dashboard-widget-header) {
  background: var(--ui-soft) !important; color: var(--ui-text) !important;
  border-color: var(--ui-border) !important;
}
html:root body :is(main, .modal, .visor-preview) :is(h1, h2, h3, h4, h5, h6) { font-family: var(--ui-font); color: var(--ui-text) !important; }
html:root body :is(.bg-header, footer) { background: linear-gradient(135deg, var(--ui-brand), var(--ui-brand-dark)); color: var(--ui-on-brand); }
html:root body .dropdown-menu { background-color: var(--ui-surface) !important; color: var(--ui-text); border-color: var(--ui-border); }
html:root body .dropdown-item { color: var(--ui-text); }
html:root body .dropdown-item:hover { background-color: var(--ui-hover); color: var(--ui-primary); }
html:root body :is(.badge, .ticket-badge, .ticket-status, .ticket-priority, .status-badge, .badge-estado) {
  font-size: var(--ui-help-size); font-weight: var(--ui-label-weight);
  border-radius: var(--ui-control-radius); padding: .25rem .5rem;
}
@media (prefers-reduced-motion: reduce) {
  html:root body :is(button, input, select, textarea, .btn) { transition: none !important; }
}



html:root body .site-flash-region { position: static; width: auto; margin: 1rem max(1rem, calc((100% - 1380px) / 2)); display: grid; gap: .5rem; }
html:root body .site-flash { position: static; display: flex; align-items: flex-start; gap: .75rem; padding: .75rem 1rem; border: var(--ui-border-width) solid var(--ui-border); border-radius: var(--ui-control-radius); background-color: var(--ui-surface); color: var(--ui-text); min-width: 0; }
html:root body .site-flash-text { flex: 1; min-width: 0; overflow-wrap: anywhere; white-space: pre-wrap; }
html:root body .site-flash-success { border-color: var(--ui-success); color: var(--ui-success); }
html:root body .site-flash-danger { border-color: var(--ui-danger); color: var(--ui-danger); }
html:root body .site-flash-warning { border-color: var(--ui-warning); color: var(--ui-warning); }
html:root body .site-flash-info { border-color: var(--ui-primary); color: var(--ui-primary); }
html:root body .site-flash .site-flash-dismiss { position: static !important; flex: 0 0 40px; width: 40px !important; margin: 0; }


html:root body :is(.estado-abierto, .badge-empresa, .bg-primary, .bg-info) { background-color: var(--ui-primary) !important; color: var(--ui-on-primary) !important; }

html:root body :is(.estado-resuelto, .badge-activo, .badge-licencia, .badge-practica, .bg-success) { background-color: var(--ui-success) !important; color: var(--ui-on-semantic) !important; }

html:root body :is(.estado-en-progreso, .badge-suspendido, .badge-reemplazo, .bg-warning) { background-color: var(--ui-warning) !important; color: var(--ui-on-semantic) !important; }

html:root body :is(.badge-desvinculado, .badge-inubicable, .bg-danger) { background-color: var(--ui-danger) !important; color: var(--ui-on-semantic) !important; }

html:root body :is(.estado-cerrado, .badge-default, .badge-archivado, .bg-secondary) { background-color: var(--ui-soft) !important; color: var(--ui-text) !important; }


html:root body .ticket-user-search-input {
  box-sizing: border-box; height: var(--ui-control-height); min-height: var(--ui-control-height);
  border: var(--ui-border-width) solid var(--ui-border); border-radius: var(--ui-control-radius);
  padding: var(--ui-control-padding); font-family: var(--ui-font); font-size: var(--ui-font-size);
  line-height: var(--ui-line-height); white-space: nowrap; overflow: hidden;
}
html:root body .ticket-user-search-input:empty::before { color: var(--ui-muted); }
html:root body .ticket-user-search-input[contenteditable="true"]:focus {
  border-color: var(--ui-focus); outline: 0; box-shadow: 0 0 0 var(--ui-focus-width) var(--ui-focus-ring);
}
html:root body #ticketForm textarea.ticket-textarea {
  color: var(--ui-editor-text) !important;
  -webkit-text-fill-color: var(--ui-editor-text);
  opacity: 1;
}
html:root[data-theme="dark"] body #ticketForm > .ticket-form-card-header {
  background: var(--ui-primary) !important;
  color: var(--ui-on-primary) !important;
}
html:root[data-theme="dark"] body #ticketForm > .ticket-form-card-header > div:first-child,
html:root[data-theme="dark"] body #ticketForm > .ticket-form-card-header > div:first-child i {
  color: var(--ui-on-primary) !important;
}
html:root[data-theme="dark"] body #ticketForm .ticket-agent-header {
  background: var(--ui-primary) !important;
  color: var(--ui-on-primary) !important;
}
html:root[data-theme="dark"] body #ticketForm .ticket-agent-header :is(.ticket-agent-label, .ticket-agent-name, .ticket-agent-role) {
  color: var(--ui-on-primary) !important;
}
html:root body #ticketForm :is(input[name="asunto"], textarea.ticket-textarea)::placeholder {
  color: var(--ui-ticket-placeholder) !important;
  -webkit-text-fill-color: var(--ui-ticket-placeholder);
  opacity: 1;
}
html:root body #ticketForm .ticket-text-preview {
  /* Cabeceras y agente conservan texto blanco en ambos temas. */
  background: var(--ui-brand); color: var(--ui-on-brand) !important;
}
html:root[data-theme] body .usuarios-container .results-header-left,
html:root[data-theme] body .logs-container .results-card-header .results-header-left,
html:root[data-theme] body .logs-container .results-card-header .results-header-left :is(span, strong, i),
html:root[data-theme] body .usuarios-container .results-header-left :is(span, strong, i),
html:root[data-theme] body .ticket-results-header .results-header-left,
html:root[data-theme] body .ticket-results-header .results-header-left :is(strong, i),
html:root[data-theme] body #ticketForm > .ticket-form-card-header > div:first-child,
html:root[data-theme] body #ticketForm > .ticket-form-card-header > div:first-child i,
html:root[data-theme] body #ticketForm .ticket-agent-header :is(.ticket-agent-label, .ticket-agent-name, .ticket-agent-role) {
  color: var(--ui-on-brand) !important;
}
html:root body #ticketForm .ticket-text-preview :is(small, span, strong, em, u, div) {
  color: var(--ui-on-brand) !important;
}
html:root body #archivos-adjuntos { margin-top: .25rem; }
html:root body #archivos-adjuntos .agent-attachments-title { padding: .35rem .6rem; }
html:root body #archivos-adjuntos .agent-attachment-row { padding: .3rem .6rem; gap: .4rem; }
html:root body #archivos-adjuntos .agent-attachment-actions :is(button, a.btn) {
  min-height: 2rem !important; padding: .25rem .45rem !important;
}
html:root body #agentAttachmentUpload { margin-top: .25rem; padding: .4rem .6rem; }
html:root body #tablaTicketsPrincipal .col-ticket-bandera {
  width: 4rem !important; min-width: 4rem !important; max-width: none !important;
  padding-left: .5rem !important; padding-right: .5rem !important;
  box-sizing: border-box; text-align: center;
}
html:root body #tablaTicketsPrincipal .helpdesk-flag-button {
  width: 2.5rem !important; min-width: 2.5rem !important;
  padding: .4rem !important; display: inline-flex;
  align-items: center; justify-content: center;
}
html:root body .helpdesk-flag-menu { z-index: 1050; }
html:root[data-theme] body .usuarios-table :is(.user-code, .email-code, .btn-whatsapp-web),
html:root[data-theme] body .ticket-table :is(.ticket-number, .ticket-time-pill, .ticket-alarm-date, .ticket-badge[class*="prioridad-"]) {
  background: transparent !important; border: 0 !important;
  border-radius: 0 !important; box-shadow: none !important;
  padding: 0 !important; min-height: 0 !important;
  color: var(--ui-text) !important;
}
html:root body #ticketForm .trazabilidad-body .table-responsive {
  border: var(--ui-border-width) solid var(--ui-border);
  border-radius: var(--ui-panel-radius); overflow: auto;
}
html:root body #visorArchivosModal .visor-archivos-header {
  background: var(--ui-brand) !important; color: var(--ui-on-brand) !important;
}
html:root body #visorArchivosModal .modal-title,
html:root body #visorArchivosModal .modal-title i {
  color: var(--ui-on-brand) !important;
}
html:root body #visorArchivosModal .visor-close {
  background: transparent !important; color: var(--ui-on-brand) !important;
  filter: none !important; opacity: 1; display: flex;
  align-items: center; justify-content: center; font-size: 1.6rem !important;
  line-height: 1 !important; padding: .25rem !important;
}
html:root[data-theme] body #modalEmailDetalle .modal-header,
html:root[data-theme] body #modalEmailDetalle .modal-header :is(h5, span, i) {
  color: var(--ui-on-brand) !important;
}
html:root[data-theme] body #modalEmailDetalle .email-modal-close {
  background: transparent !important; color: var(--ui-on-brand) !important;
  filter: none !important; opacity: 1; display:flex;
  align-items:center; justify-content:center; font-size:1.6rem !important;
  line-height:1 !important; padding:.25rem !important;
}
html:root[data-theme] body #modalEmailDetalle .nav-tabs .nav-link {
  background-color: var(--ui-surface) !important; color: var(--ui-primary) !important;
  border-color: var(--ui-border) !important;
}
html:root[data-theme] body #modalEmailDetalle .nav-tabs .nav-link.active {
  background-color: var(--ui-soft) !important; color: var(--ui-text) !important;
}
html:root[data-theme] body #modalEmailDetalle :is(.tab-content, .modal-footer) {
  background-color: var(--ui-surface) !important; border-color: var(--ui-border) !important;
}


/* Encabezados de módulos y contactos: conserva el azul de marca en tema oscuro. */
html:root[data-theme="dark"] body :is(.ticket-results-header, .results-card-header, .form-main-card-header, .perfil-card-header, .helpdesk-config-sidebar-title),
html:root[data-theme="dark"] body #ticketForm > .ticket-form-card-header {
  background:#002f6c !important; color:#fff !important;
}
html:root[data-theme="dark"] body :is(.ticket-results-header, .results-card-header, .form-main-card-header, .perfil-card-header, .helpdesk-config-sidebar-title) :is(strong,span,i),
html:root[data-theme="dark"] body #ticketForm > .ticket-form-card-header > div:first-child,
html:root[data-theme="dark"] body #ticketForm > .ticket-form-card-header > div:first-child i { color:#fff !important; }
html:root body .auth-users-container .results-card-header :is(span,i) { color:#fff !important; }
html:root body .auth-users-container .user-code {
  background:transparent !important; border:0 !important; padding:0 !important;
  box-shadow:none !important; border-radius:0 !important; color:var(--ui-text) !important;
}
html:root body .auth-users-container .auth-license-badge {
  display:inline-block; padding:.3rem .6rem; border:1px solid var(--ui-border);
  border-radius:var(--ui-control-radius); background:var(--ui-soft); color:var(--ui-text); white-space:nowrap;
}
html:root body .auth-header-company { margin-left:auto; text-align:right; }
html:root body .license-summary-card { border-radius:var(--ui-panel-radius) !important; overflow:hidden; }
html:root body .license-summary-card > .card-header { border-radius:0 !important; }
html:root[data-theme="dark"] body .helpdesk-config-container :is(.helpdesk-config-sidebar, .helpdesk-state-option, .smtp-test-row, .inbox-step, .helpdesk-config-actions, .text-bg-light, .bg-light) {
  background:var(--ui-surface) !important; color:var(--ui-text) !important; border-color:var(--ui-border) !important;
}
html:root[data-theme="dark"] body .helpdesk-config-container .helpdesk-config-nav button {
  background:var(--ui-surface) !important; color:var(--ui-text) !important;
}
html:root[data-theme="dark"] body .helpdesk-config-container .helpdesk-config-nav button:is(.is-active,:hover) {
  background:var(--ui-hover) !important; color:var(--ui-primary) !important;
}
html:root[data-theme="dark"] body .helpdesk-config-container :is(.helpdesk-config-help,.inbox-step small,.helpdesk-config-header p) { color:var(--ui-muted) !important; }

html:root[data-theme="dark"] body .helpdesk-config-container .alert { background:var(--ui-soft) !important; color:var(--ui-text) !important; border-color:var(--ui-border) !important; }

html:root body .auth-users-container .auth-sort-button { background:transparent !important; border:0 !important; color:inherit !important; padding:0 !important; min-height:0 !important; font:inherit; display:inline-flex; gap:.35rem; align-items:center; }
html:root body .auth-users-container tr[hidden] { display:none !important; }
html:root body .auth-users-pagination { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:1rem; padding:1rem; border-top:1px solid var(--ui-border); background:var(--ui-soft); color:var(--ui-text); }
html:root body .auth-users-pagination label { display:flex; align-items:center; gap:.5rem; }
html:root body .auth-users-pagination select { width:5rem !important; padding-right:2rem !important; }
html:root body .auth-users-container .badge-activo-no { background:#e5e7eb !important; color:#4b5563 !important; }
html:root[data-theme="dark"] body .auth-users-container .badge-activo-no { background:#303b4b !important; color:#cbd5e1 !important; }
html:root[data-theme="dark"] body .auth-users-container .badge-rol { background:#101827 !important; color:#fff !important; border-color:var(--ui-border) !important; }

