﻿/*Necesario para aplicar EstiloBoton a botón Dx*/
.estilo-boton {
    padding: 0.25rem;
}

/*Otros*/
.accionar-sin-validar {
    display: block;
    width: 100%;
    text-align: right;
    padding: 10px;
}

button.accordion-button[disabled] {
    opacity: 0.5;
    cursor: not-allowed;
}

.editor-code-user {
    height: 180px;
    border: 1px solid var(--phoenix-gray-200);
    border-radius: 3px;
    padding: 5px;
}

.editor-subirfichero-user {
    min-height: 40px;
    border: 1px solid var(--phoenix-gray-200);
    border-radius: 3px;
    padding: 5px;
}

.note-editor.note-airframe, .note-editor.note-frame {
    border: 1px solid var(--phoenix-gray-200);
}

.dx-htmleditor-toolbar-wrapper .row {
    --phoenix-gutter-x: 0; /* O el valor que desees para este contexto */
    margin: 0;
}

/*tagbox*/
html:not([data-bs-theme="dark"]) .dx-tag-content {
    background-color: var(--phoenix-info-bg-subtle);
}
.dx-list:not(.dx-list-select-decorator-enabled) .dx-list-item.dx-list-item-selected {
    background-color: var(--phoenix-info-bg-subtle);
}
/*Json editor*/
/*Tree*/
div.jsoneditor-tree {
    background: var(--phoenix-body-bg);
}

div.jsoneditor-field {
    color: var(--phoenix-body-color);
}

div.jsoneditor-value {
    color: var(--phoenix-body-color);
}

/*    div.jsoneditor-value.jsoneditor-string {
        color: var(--phoenix-success-600);
    }*/

/*Json editor*/
/*Code*/
.jsoneditor-menu {
    background-color: var(--phoenix-primary);
}

.ace-jsoneditor .ace_marker-layer .ace_active-line {
    background: var(--phoenix-body-bg);
}

.jsoneditor-statusbar {
    background: var(--phoenix-soft);
    color: var(--phoenix-body-color);
    border-top: var(--phoenix-body-color);
}

.ace-jsoneditor .ace_gutter {
    background: var(--phoenix-soft);
    color: var(--phoenix-body-color);
}

.ace-jsoneditor.ace_editor {
    line-height: 1.3;
    background-color: var(--phoenix-body-bg);
}

/*.ace-jsoneditor .ace_print-margin {
    width: 1px;
    background:
}*/
.ace-jsoneditor .ace_scroller {
    background-color: var(--phoenix-body-bg);
}

/*.ace-jsoneditor .ace_text-layer {
    color: gray
}*/
.ace-jsoneditor .ace_variable {
    color: var(--phoenix-body-color);
}

.ace-jsoneditor .ace_cursor {
    border-left: 2px solid var(--phoenix-black);
}

/*.ace-jsoneditor .ace_overwrite-cursors .ace_cursor {
    border-left: 0px;
    border-bottom: 1px solid #000000
}*/
.ace-jsoneditor .ace_marker-layer .ace_selection {
    background: var(--phoenix-gray-200);
}

/*.ace-jsoneditor.ace_multiselect .ace_selection.ace_start {
    box-shadow: 0 0 3px 0px #FFFFFF;
    border-radius: 2px
}

.ace-jsoneditor .ace_marker-layer .ace_step {
    background: rgb(255, 255, 0)
}

.ace-jsoneditor .ace_marker-layer .ace_bracket {
    margin: -1px 0 0 -1px;
    border: 1px solid #BFBFBF
}

.ace-jsoneditor .ace_marker-layer .ace_active-line {
    background: #FFFBD1
}*/
.ace_highlight-marker {
    background-color: var(--phoenix-link-color);
}

/*.ace-jsoneditor .ace_gutter-active-line {
    background-color: var(--phoenix-navbar-vertical-link-hover-bg);
}*/
/*.ace-jsoneditor .ace_marker-layer .ace_selected-word {
    border: 1px solid lightgray
}

.ace-jsoneditor .ace_invisible {
    color: #BFBFBF
}

.ace-jsoneditor .ace_keyword,
.ace-jsoneditor .ace_meta,
.ace-jsoneditor .ace_support.ace_constant.ace_property-value {
    color: #AF956F
}

.ace-jsoneditor .ace_keyword.ace_operator {
    color: #484848
}

.ace-jsoneditor .ace_keyword.ace_other.ace_unit {
    color: #96DC5F
}

.ace-jsoneditor .ace_constant.ace_language {
    color: darkorange
}

.ace-jsoneditor .ace_constant.ace_numeric {
    color: red
}

.ace-jsoneditor .ace_constant.ace_character.ace_entity {
    color: #BF78CC
}

.ace-jsoneditor .ace_invalid {
    color: #FFFFFF;
    background-color: #FF002A;
}

.ace-jsoneditor .ace_fold {
    background-color: #AF956F;
    border-color: #000000
}

.ace-jsoneditor .ace_storage,
.ace-jsoneditor .ace_support.ace_class,
.ace-jsoneditor .ace_support.ace_function,
.ace-jsoneditor .ace_support.ace_other,
.ace-jsoneditor .ace_support.ace_type {
    color: #C52727
}

.ace-jsoneditor .ace_string {
    color: green
}

.ace-jsoneditor .ace_comment {
    color: #BCC8BA
}

.ace-jsoneditor .ace_entity.ace_name.ace_tag,
.ace-jsoneditor .ace_entity.ace_other.ace_attribute-name {
    color: #606060
}

.ace-jsoneditor .ace_markup.ace_underline {
    text-decoration: underline
}

.ace-jsoneditor .ace_indent-guide {
    background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAE0lEQVQImWP4////f4bLly//BwAmVgd1/w11/gAAAABJRU5ErkJggg==") right repeat-y
}*/
/*# sourceMappingURL=user.css.map */


/*--------dx.rosetta.css---------*/
.dx-toast-stack {
    z-index: 999999 !important;
}

.dx-button-has-text .dx-button-content, .dx-button-has-text .dx-button-content .dx-button-text {
    white-space: normal;
}
/*master-detail*/
.dx-datagrid-rowsview .dx-master-detail-row > .dx-master-detail-cell {
    padding: 10px;
}

td.nivel-1[role="columnheader"]:not([aria-label="Columna undefined"]) {
    background-color: var(--phoenix-primary-100);
}

td.nivel-2[role="columnheader"]:not([aria-label="Columna undefined"]) {
    background-color: var(--phoenix-primary-200);
    color: white;
}

.vh-75 {
    height: 75vh !important;
}

/* =====================================================================
   Configuración del evento (pestaña 893 del panel de gestión)
   Listas de ajustes, plegables de carrera y tarifa, y periodos de precio.
   La usan las plantillas 10839, 10840, 10847 y 10848 de RosettaDPTK.
   Solo lo que Phoenix no trae; el resto son sus utilidades.
   Mismo contenido que _dpk-configuracion.scss, en CSS plano.
   ===================================================================== */

/* Rótulo pequeño encima de un título («Evento», «Carrera», «Tarifa») */
.dpk-rotulo {
  font-size: .75rem;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--phoenix-quaternary-color);
}

/* Envoltorio que no pinta caja (para mostrar u ocultar un grupo con data-setInnerHTMLOnValue) */
.dpk-contents {
  display: contents;
}

/* Cifras y fechas alineadas en columna */
.dpk-num {
  font-variant-numeric: tabular-nums;
}

/* Lista de ajustes: una fila por ajuste (icono, etiqueta, valor y ›) que abre su formulario.
   En escritorio se reparte en columnas; en móvil queda una sola. */
.dpk-ajustes {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(17rem, 1fr));
  overflow: hidden;
}

.dpk-ajuste {
  display: flex;
  align-items: center;
  gap: 1rem;
  min-height: 3.25rem;
  padding: .5rem 1rem;
  margin: 0 -1px -1px 0;
  border-right: 1px solid var(--phoenix-border-color);
  border-bottom: 1px solid var(--phoenix-border-color);
  color: inherit;
  text-decoration: none;
}

.dpk-ajuste:hover {
  background-color: var(--phoenix-body-highlight-bg);
  color: inherit;
  text-decoration: none;
}

.dpk-ajuste-icono {
  flex: 0 0 1.25rem;
  text-align: center;
  color: var(--phoenix-tertiary-color);
}

.dpk-ajuste-texto {
  flex: 1 1 auto;
  min-width: 0;
  line-height: 1.2;
}

/* Plegables (<details>) de carrera y tarifa */
.dpk-plegable > summary {
  list-style: none;
  cursor: pointer;
}

.dpk-plegable > summary::-webkit-details-marker {
  display: none;
}

.dpk-plegable .dpk-chevron {
  transition: transform .15s ease;
}

.dpk-plegable[open] > summary .dpk-chevron {
  transform: rotate(90deg);
}

/* Periodos de precio. La fila lleva la clase dpk-vigente-True o dpk-vigente-False (EsVigente del SP). */
.dpk-periodos {
  max-width: 46rem;
}

.dpk-periodos tr.dpk-vigente-True > td {
  background-color: rgba(var(--phoenix-primary-rgb), .06);
}

.dpk-punto {
  display: none;
  width: .5rem;
  height: .5rem;
  border-radius: 50%;
  background-color: var(--phoenix-primary);
  box-shadow: 0 0 0 .2rem rgba(var(--phoenix-primary-rgb), .2);
  vertical-align: middle;
}

.dpk-vigente-True .dpk-punto {
  display: inline-block;
}

/* =====================================================================
   Formularios en popup del panel de gestión: estilo común
   Se aplica a todo formulario (form#frmNNNN) que se abre dentro de un popup de DevExtreme.
   Solo presentación: no cambia campos, orden ni comportamiento.
   ===================================================================== */

/* Pestañas: subrayado en vez de cápsulas; en móvil, una sola línea que se desliza */
.dx-popup-wrapper form[id^="frm"] .nav-pills {
  flex-wrap: nowrap;
  overflow-x: auto;
  gap: .25rem;
  margin-bottom: .75rem;
  border-bottom: 1px solid var(--phoenix-border-color);
  scrollbar-width: none;
}

.dx-popup-wrapper form[id^="frm"] .nav-pills .nav-link {
  white-space: nowrap;
  border: 0;
  border-bottom: 2px solid transparent;
  border-radius: 0;
  background: none;
  padding: .5rem .75rem;
  font-size: .85rem;
  font-weight: 600;
  color: var(--phoenix-tertiary-color);
}

.dx-popup-wrapper form[id^="frm"] .nav-pills .nav-link:hover {
  color: var(--phoenix-primary);
  text-decoration: none;
}

.dx-popup-wrapper form[id^="frm"] .nav-pills .nav-link.active {
  color: var(--phoenix-primary);
  border-bottom-color: var(--phoenix-primary);
  background: none;
}

/* Etiquetas de los campos */
.dx-popup-wrapper form[id^="frm"] .dx-field-item-label {
  font-size: .75rem;
  font-weight: 600;
  color: var(--phoenix-tertiary-color);
}

/* Ayudas: un recuadro gris claro, definido pero sin pesar más que los campos */
.dx-popup-wrapper form[id^="frm"] .alert-subtle-info {
  background: var(--phoenix-body-highlight-bg);
  border: 0;
  border-radius: .5rem;
  padding: .5rem .75rem !important;
  font-size: .8rem;
  line-height: 1.35;
  color: var(--phoenix-tertiary-color);
}

.dx-popup-wrapper form[id^="frm"] .alert-subtle-info strong {
  color: var(--phoenix-emphasis-color, inherit);
  font-weight: 600;
}

/* Banda del nivel («Está modificando nivel EVENTO»): un rótulo discreto */
.dx-popup-wrapper form[id^="frm"] .alert-subtle-warning.dpk-nivel {
  background: none;
  border: 0;
  padding: .5rem 0 0 !important;
  font-size: .75rem;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--phoenix-quaternary-color);
}

.dx-popup-wrapper form[id^="frm"] .alert-subtle-warning.dpk-nivel strong {
  font-weight: 700;
}

/* Botón de guardar: con texto, no solo el disquete */
.dx-popup-wrapper form[id^="frm"] .dx-button[aria-label="fa fa-save"] .dx-button-content::after {
  content: "Guardar";
  margin-left: .5rem;
  font-weight: 600;
}

/* Pestaña Inscritos: fila compacta de cada inscrito */
.dpk-inscrito .badge {
  text-transform: none;
  letter-spacing: 0;
}

/* Código del inscrito (ReferenciaTPV, código de promoción): destacado y en letra monoespaciada */
.dpk-codigo {
  font-family: var(--bs-font-monospace, monospace);
  font-size: .8rem;
  font-weight: 700;
  padding: .3em .55em;
}

/* =====================================================================
   Pestañas del evento (y cualquier formulario del panel): estilo común
   Solo presentación: no cambia campos, orden ni comportamiento.
   ===================================================================== */

/* Título de la pestaña («Promociones: …», «Comunicaciones: …») */
form[id^="frm"] h3.text-primary {
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--phoenix-emphasis-color) !important;
}

/* Títulos de bloque («Mis borradores», «Liquidaciones», «Listado general de inscritos»): rótulo, como los de las fichas */
form[id^="frm"] h4.mb-2 {
  font-size: .8rem;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--phoenix-tertiary-color);
  margin-top: .25rem;
  margin-bottom: .5rem !important;
}

/* Etiquetas de los campos */
form[id^="frm"] .dx-field-item-label {
  font-size: .75rem;
  font-weight: 600;
  color: var(--phoenix-tertiary-color);
}

/* Ayudas: un recuadro gris claro, definido pero sin pesar más que los campos */
form[id^="frm"] .alert-subtle-info {
  background: var(--phoenix-body-highlight-bg);
  border: 0;
  border-radius: .5rem;
  padding: .5rem .75rem !important;
  font-size: .8rem;
  line-height: 1.35;
  color: var(--phoenix-tertiary-color);
}

form[id^="frm"] .alert-subtle-info strong {
  color: var(--phoenix-emphasis-color, inherit);
  font-weight: 600;
}

/* Tarjetas con raya de color a la izquierda: borde fino uniforme, sin raya ni sombra (los fondos de color se quedan) */
form[id^="frm"] .border-start.border-3 {
  border: 1px solid var(--phoenix-border-color) !important;
  box-shadow: none !important;
  border-radius: .5rem;
}


/* Botones de DevExtreme rellenos (tipo default = azul, danger = rojo) con el aspecto de btn-phoenix-primary / btn-phoenix-danger.
   Colores con las variables de Phoenix, así que en modo oscuro se adaptan solos. No cambia el ancho de los botones. */
.dx-button.dx-button-mode-contained.dx-button-default,
.dx-button.dx-button-mode-contained.dx-button-danger {
  background-color: var(--phoenix-gray-50);
  border: 1px solid var(--phoenix-gray-200);
  border-radius: .375rem;
  box-shadow: none;
}

.dx-button.dx-button-mode-contained.dx-button-default,
.dx-button.dx-button-mode-contained.dx-button-default .dx-icon {
  color: var(--phoenix-primary);
}

.dx-button.dx-button-mode-contained.dx-button-danger,
.dx-button.dx-button-mode-contained.dx-button-danger .dx-icon {
  color: var(--phoenix-danger);
}

.dx-button.dx-button-mode-contained.dx-button-default .dx-button-text,
.dx-button.dx-button-mode-contained.dx-button-danger .dx-button-text {
  font-weight: 700;
  font-size: .8rem;
}

.dx-button.dx-button-mode-contained.dx-button-default.dx-state-hover,
.dx-button.dx-button-mode-contained.dx-button-default.dx-state-focused,
.dx-button.dx-button-mode-contained.dx-button-default.dx-state-active,
.dx-button.dx-button-mode-contained.dx-button-danger.dx-state-hover,
.dx-button.dx-button-mode-contained.dx-button-danger.dx-state-focused,
.dx-button.dx-button-mode-contained.dx-button-danger.dx-state-active {
  background-color: var(--phoenix-gray-200);
  border-color: var(--phoenix-gray-200);
}

.dx-button.dx-button-mode-contained.dx-button-default.dx-state-hover,
.dx-button.dx-button-mode-contained.dx-button-default.dx-state-hover .dx-icon {
  color: var(--phoenix-primary-dark);
}

.dx-button.dx-button-mode-contained.dx-button-danger.dx-state-hover,
.dx-button.dx-button-mode-contained.dx-button-danger.dx-state-hover .dx-icon {
  color: var(--phoenix-danger-dark);
}


/* Letra pequeña: dentro de los formularios del panel nada baja de 12 px */
form[id^="frm"] .fs-10 {
  font-size: .75rem !important;
}

form[id^="frm"] .fs-9 {
  font-size: .875rem !important;
}

/* Botones de DevExtreme verdes (success) y con contorno: el mismo estilo suave que los azules */
.dx-button.dx-button-mode-contained.dx-button-success,
.dx-button.dx-button-mode-outlined.dx-button-default {
  background-color: var(--phoenix-gray-50);
  border: 1px solid var(--phoenix-gray-200);
  border-radius: .375rem;
  box-shadow: none;
}

.dx-button.dx-button-mode-contained.dx-button-success,
.dx-button.dx-button-mode-contained.dx-button-success .dx-icon {
  color: var(--phoenix-success);
}

.dx-button.dx-button-mode-outlined.dx-button-default,
.dx-button.dx-button-mode-outlined.dx-button-default .dx-icon {
  color: var(--phoenix-primary);
}

.dx-button.dx-button-mode-contained.dx-button-success .dx-button-text,
.dx-button.dx-button-mode-outlined.dx-button-default .dx-button-text {
  font-weight: 700;
  font-size: .8rem;
}

.dx-button.dx-button-mode-contained.dx-button-success.dx-state-hover,
.dx-button.dx-button-mode-contained.dx-button-success.dx-state-focused,
.dx-button.dx-button-mode-contained.dx-button-success.dx-state-active,
.dx-button.dx-button-mode-outlined.dx-button-default.dx-state-hover,
.dx-button.dx-button-mode-outlined.dx-button-default.dx-state-focused,
.dx-button.dx-button-mode-outlined.dx-button-default.dx-state-active {
  background-color: var(--phoenix-gray-200);
  border-color: var(--phoenix-gray-200);
}


/* Home del evento: «Plazas libres» (FMax 891). Barra con <progress>, sin estilos en línea */
.dpk-progreso {
  -webkit-appearance: none;
  appearance: none;
  display: block;
  width: 100%;
  height: .5rem;
  border: 0;
  border-radius: 1rem;
  background: var(--phoenix-gray-200);
  overflow: hidden;
}

.dpk-progreso::-webkit-progress-bar {
  background: var(--phoenix-gray-200);
  border-radius: 1rem;
}

.dpk-progreso::-webkit-progress-value {
  background: var(--phoenix-primary);
  border-radius: 1rem;
}

.dpk-progreso::-moz-progress-bar {
  background: var(--phoenix-primary);
  border-radius: 1rem;
}

.dpk-plazas-pocas .dpk-progreso::-webkit-progress-value {
  background: var(--phoenix-warning);
}

.dpk-plazas-pocas .dpk-progreso::-moz-progress-bar {
  background: var(--phoenix-warning);
}

.dpk-plazas-completo .dpk-progreso::-webkit-progress-value {
  background: var(--phoenix-danger);
}

.dpk-plazas-completo .dpk-progreso::-moz-progress-bar {
  background: var(--phoenix-danger);
}

.dpk-plazas-Evento .dpk-plazas-libres {
  font-size: 1.25rem;
}

.dpk-plazas-Evento .dpk-plazas-nombre,
.dpk-plazas-Carrera .dpk-plazas-nombre {
  font-weight: 600;
}

.dpk-plazas-Tarifa {
  padding-left: 1rem !important;
}

.dpk-plazas-Tarifa .dpk-progreso {
  height: .3rem;
}

/* Cerrado: solo la fila del evento. Sin fila de evento (evento sin límite), todo a la vista */
.dpk-plazas-caja:not(.dpk-abierta) .dpk-plazas:not(.dpk-plazas-Evento) {
  display: none;
}

.dpk-plazas-caja:not(:has(.dpk-plazas-Evento)) .dpk-plazas {
  display: block !important;
}


/* Menú de pestañas del evento: la activa subrayada, como en los popups, en vez del círculo */
form[id^="frm"] ul.nav-pills[data-agrupado] {
  gap: .25rem;
  margin-bottom: .75rem;
  border-bottom: 1px solid var(--phoenix-border-color);
}

form[id^="frm"] ul.nav-pills[data-agrupado] .nav-link {
  border: 0;
  border-bottom: 2px solid transparent;
  border-radius: 0;
  background: none;
  font-weight: 600;
  color: var(--phoenix-tertiary-color);
}

form[id^="frm"] ul.nav-pills[data-agrupado] .nav-link:hover {
  color: var(--phoenix-primary);
  text-decoration: none;
}

form[id^="frm"] ul.nav-pills[data-agrupado] .nav-link.active,
form[id^="frm"] ul.nav-pills[data-agrupado] .nav-link.active:hover {
  color: var(--phoenix-primary);
  border-bottom-color: var(--phoenix-primary);
  background: none;
}


/* Huecos de espera de los cargadores (antes style="height:Npx" en cada plantilla) */
.dpk-espera-100 {
  height: 100px;
}

.dpk-espera-150 {
  height: 150px;
}

.dpk-espera-300 {
  height: 300px;
}

/* Avisos en los popups: recuadro naranja suave. Solo las bandas «Está modificando nivel…» (dpk-nivel) van como rótulo */
.dx-popup-wrapper form[id^="frm"] .alert-subtle-warning:not(.dpk-nivel) {
  background: var(--phoenix-warning-bg-subtle);
  border: 0;
  border-radius: .5rem;
  padding: .5rem .75rem !important;
  font-size: .8rem;
  line-height: 1.35;
  color: var(--phoenix-warning-text-emphasis);
}

/* Ayudas de los campos (TagTextoExplicativo): en gris, no en azul de enlace */
form[id^="frm"] p.fs-9.mb-0.text-info {
  font-size: .75rem !important;
  color: var(--phoenix-tertiary-color) !important;
}

/* =====================================================================================
   Helpdesk v2 (2026-11) · bandeja (FMax 1161/1163), ficha (1162) y métricas. Prefijo dpk-hd-
   ===================================================================================== */

/* --- Bandeja: espera (antigüedad del último mensaje del cliente) --- */
.dpk-hd-edad {
  display: inline-block;
  min-width: 3.4rem;
  padding: .15rem .45rem;
  border-radius: 1rem;
  font-size: .75rem;
  font-weight: 600;
  text-align: center;
  white-space: nowrap;
}
.dpk-hd-edad-verde { background: var(--phoenix-success-bg-subtle, #d9fbd0); color: var(--phoenix-success-text-emphasis, #1c6c09); }
.dpk-hd-edad-ambar { background: var(--phoenix-warning-bg-subtle); color: var(--phoenix-warning-text-emphasis); }
.dpk-hd-edad-rojo  { background: var(--phoenix-danger-bg-subtle, #ffe0db); color: var(--phoenix-danger-text-emphasis, #b81800); }
.dpk-hd-edad-gris  { background: var(--phoenix-secondary-bg, #eff2f6); color: var(--phoenix-tertiary-color); font-weight: 400; }

/* --- Bandeja: remitente --- */
.dpk-hd-de { display: flex; flex-direction: column; gap: .15rem; min-width: 0; }
.dpk-hd-email { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.dpk-hd-rem { align-self: flex-start; font-size: .68rem; font-weight: 600; padding: .1rem .4rem; border-radius: .25rem; }
.dpk-hd-rem:empty { display: none; }
.dpk-hd-rem-organizador { background: var(--phoenix-info-bg-subtle); color: var(--phoenix-info-text-emphasis, #005585); }
.dpk-hd-rem-interno { background: var(--phoenix-secondary-bg, #eff2f6); color: var(--phoenix-tertiary-color); }

/* --- Bandeja: asunto + resumen IA --- */
.dpk-hd-ticket { min-width: 0; }
.dpk-hd-asunto { font-weight: 600; color: var(--phoenix-emphasis-color); text-decoration: none; }
.dpk-hd-asunto:hover { color: var(--phoenix-primary); text-decoration: underline; }
.dpk-hd-pestana { margin-left: .35rem; font-size: .7rem; color: var(--phoenix-quaternary-color); }
.dpk-hd-pestana:hover { color: var(--phoenix-primary); }
.dpk-hd-resumen { margin-top: .15rem; font-size: .78rem; color: var(--phoenix-tertiary-color); line-height: 1.3; }
.dpk-hd-resumen:empty { display: none; }
.dpk-hd-meta { margin-top: .2rem; font-size: .72rem; color: var(--phoenix-quaternary-color); }
.dpk-hd-meta i { margin-right: .2rem; }

/* --- Categoría (bandeja y ficha) --- */
.dpk-hd-cat {
  display: inline-block;
  padding: .12rem .45rem;
  border-radius: .25rem;
  font-size: .72rem;
  font-weight: 600;
  background: var(--phoenix-secondary-bg, #eff2f6);
  color: var(--phoenix-body-color);
  white-space: nowrap;
}
.dpk-hd-cat:empty { display: none; }
.dpk-hd-cat-devolucion, .dpk-hd-cat-pago { background: var(--phoenix-danger-bg-subtle, #ffe0db); color: var(--phoenix-danger-text-emphasis, #b81800); }
.dpk-hd-cat-cambio_titular, .dpk-hd-cat-modificar_datos { background: var(--phoenix-primary-bg-subtle, #e5edff); color: var(--phoenix-primary-text-emphasis, #003cc7); }
.dpk-hd-cat-peticion_servicios, .dpk-hd-cat-gestion_organizador { background: var(--phoenix-info-bg-subtle); color: var(--phoenix-info-text-emphasis, #005585); }
.dpk-hd-cat-spam, .dpk-hd-cat-automatico { background: var(--phoenix-secondary-bg, #eff2f6); color: var(--phoenix-quaternary-color); }
.dpk-hd-cat-agradecimiento { background: var(--phoenix-success-bg-subtle, #d9fbd0); color: var(--phoenix-success-text-emphasis, #1c6c09); }

/* --- Botonera de la bandeja --- */
.dpk-hd-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.9rem;
  height: 1.9rem;
  margin-right: .15rem;
  border-radius: .375rem;
  color: var(--phoenix-tertiary-color);
}
.dpk-hd-btn:hover { background: var(--phoenix-secondary-bg, #eff2f6); color: var(--phoenix-primary); text-decoration: none; }
.dpk-hd-btn-abrir { color: var(--phoenix-primary); }
.dpk-hd-btn-coger { color: var(--phoenix-success); }
.dpk-hd-btn-spam:hover, .dpk-hd-btn-ignorar:hover { color: var(--phoenix-danger); }

/* --- Bandeja: barra superior (métricas, refresco) --- */
.dpk-hd-barra { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; font-size: .75rem; color: var(--phoenix-tertiary-color); }
.dpk-hd-barra a { font-weight: 600; }

/* --- Ficha: cabecera del ticket --- */
.dpk-hd-cab {
  display: flex;
  flex-direction: column;
  gap: .4rem;
  padding: .6rem .75rem;
  margin-bottom: .5rem;
  border-radius: .5rem;
  background: var(--phoenix-body-highlight-bg, #f5f7fa);
}
.dpk-hd-cab-fila { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem; }
.dpk-hd-estado { font-size: .72rem; font-weight: 600; padding: .12rem .45rem; border-radius: .25rem; background: var(--phoenix-primary-bg-subtle, #e5edff); color: var(--phoenix-primary-text-emphasis, #003cc7); }
.dpk-hd-idioma { font-size: .7rem; font-weight: 700; padding: .1rem .35rem; border-radius: .25rem; border: 1px solid var(--phoenix-border-color); color: var(--phoenix-tertiary-color); }
.dpk-hd-idioma:empty { display: none; }
.dpk-hd-asignado { margin-left: auto; font-size: .78rem; color: var(--phoenix-tertiary-color); }
.dpk-hd-asignado-otro { color: var(--phoenix-warning-text-emphasis); font-weight: 600; }
.dpk-hd-resumen-cab { font-size: .82rem; color: var(--phoenix-body-color); }
.dpk-hd-resumen-cab:empty { display: none; }
.dpk-hd-resumen-cab::before { content: "\2728  "; }
.dpk-hd-candidatos { font-size: .78rem; color: var(--phoenix-warning-text-emphasis); }
.dpk-hd-candidatos:empty { display: none; }
.dpk-hd-aviso-ia { font-size: .75rem; color: var(--phoenix-tertiary-color); }

/* --- Métricas --- */
.dpk-hd-kpis { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: .75rem; margin-bottom: 1rem; }
.dpk-hd-kpi { padding: .75rem 1rem; border-radius: .5rem; background: var(--phoenix-body-highlight-bg, #f5f7fa); }
.dpk-hd-kpi-valor { font-size: 1.6rem; font-weight: 700; color: var(--phoenix-emphasis-color); line-height: 1.1; }
.dpk-hd-kpi-texto { font-size: .75rem; color: var(--phoenix-tertiary-color); }
.dpk-hd-kpi-alerta .dpk-hd-kpi-valor { color: var(--phoenix-danger); }
.dpk-hd-paneles { display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap: 1rem; }
.dpk-hd-panel { padding: .75rem 1rem; border: 1px solid var(--phoenix-border-color); border-radius: .5rem; }
.dpk-hd-panel h5 { font-size: .8rem; text-transform: uppercase; letter-spacing: .03em; color: var(--phoenix-tertiary-color); margin-bottom: .5rem; }
.dpk-hd-tabla { width: 100%; font-size: .8rem; }
.dpk-hd-tabla td, .dpk-hd-tabla th { padding: .25rem .35rem; border-bottom: 1px solid var(--phoenix-border-color); }
.dpk-hd-tabla td.dpk-hd-num, .dpk-hd-tabla th.dpk-hd-num { text-align: right; white-space: nowrap; }
.dpk-hd-grafico { height: 260px; }

/* =====================================================================================
   Helpdesk v2 · retoques (2026-11-13): grid moderno (bandeja #dgGrid1163 e hilo de la ficha #dgGrid1227),
   filas sin asignar en azul suave (antes naranja), botonera del panel en una línea, fecha bajo la espera.
   Todo acotado a esos dos grids: no cambia otros listados del panel.
   ===================================================================================== */
:is(#dgGrid1163, #dgGrid1227) .dx-datagrid { border: 0 !important; background: transparent; font-size: .82rem; }
:is(#dgGrid1163, #dgGrid1227) .dx-datagrid-headers { border-bottom: 1px solid var(--phoenix-border-color) !important; background: transparent; }
:is(#dgGrid1163, #dgGrid1227) .dx-row > td { border-left: 0 !important; border-right: 0 !important; }
:is(#dgGrid1163, #dgGrid1227) .dx-header-row > td {
  text-transform: uppercase; font-size: .68rem; letter-spacing: .05em; font-weight: 700;
  color: var(--phoenix-tertiary-color); padding-top: .65rem; padding-bottom: .65rem;
}
:is(#dgGrid1163, #dgGrid1227) .dx-datagrid-filter-row td { background: transparent !important; }
:is(#dgGrid1163, #dgGrid1227) .dx-datagrid-filter-row .dx-texteditor { border-radius: .375rem; }
:is(#dgGrid1163, #dgGrid1227) .dx-data-row > td {
  padding-top: .7rem !important; padding-bottom: .7rem !important; vertical-align: middle !important;
  border-top: 0 !important; border-bottom: 1px solid var(--phoenix-border-color) !important;
}
:is(#dgGrid1163, #dgGrid1227) .dx-data-row:hover > td { background: var(--phoenix-body-highlight-bg, #f5f7fa) !important; }
:is(#dgGrid1163, #dgGrid1227) .dx-group-row > td {
  background: transparent !important; color: var(--phoenix-emphasis-color);
  font-size: .74rem; font-weight: 800; text-transform: uppercase; letter-spacing: .04em;
  padding-top: 1.1rem !important; padding-bottom: .45rem !important;
  border-bottom: 2px solid var(--phoenix-primary) !important;
}
/* Sin asignar y sin tocar: tinte azul suave + franja a la izquierda (antes bg-warning-subtle) */
#dgGrid1163 .dx-data-row.dpk-hd-fila-nueva > td { background: rgba(var(--phoenix-primary-rgb), .045); }
#dgGrid1163 .dx-data-row.dpk-hd-fila-nueva > td:first-child { box-shadow: inset 3px 0 0 var(--phoenix-primary); }

/* Botonera con el estilo del panel, en una línea */
.dx-datagrid td:has(> a.dpk-hd-accion) { white-space: nowrap; }
.dpk-hd-accion + .dpk-hd-accion { margin-left: .25rem; }

/* Fecha completa bajo la espera */
.dpk-hd-fecha { margin-top: .2rem; font-size: .72rem; color: var(--phoenix-tertiary-color); white-space: nowrap; }
