/* AIM OFFICE · AIM Etiquetas. Solo variables del estilo elegido (estilo.css y aim-app.css). El
   papel de la etiqueta toma el color de fondo del propio diseño (es contenido, como una página);
   lo demás, del estilo, también en el oscuro. Prefijo et-. */
.ap[data-app="etiquetas"] .ap-cuerpo.et-cuerpo { display: flex; flex-direction: column; overflow: hidden; }
.et-cuerpo > .ap-pagina { overflow-y: auto; width: 100%; max-width: 1180px; height: 100%; }
.et-sr { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.et-suave { color: var(--tinta-3); }
.et-h2 { font: 750 24px/1.15 var(--titulo); }
/* Los dibujos propios (lienzo y miniaturas) no heredan el tamaño ni el trazo de los iconos de la base. */
.ap svg.et-lienzo, .ap svg.et-hoja-mini, .ap-dialogo svg.et-hoja-mini { fill: initial; stroke: none; stroke-width: initial; stroke-linecap: butt; stroke-linejoin: miter; }
.ap svg.et-hoja-mini, .ap-dialogo svg.et-hoja-mini { width: 100%; height: 100%; }
.et-sep { width: 1px; align-self: stretch; min-height: 24px; background: var(--linea); margin: 0 4px; flex: 0 0 auto; }

/* Inicio */
.et-bienvenida { display: grid; gap: 18px; grid-template-columns: 1fr; padding: 22px; border-radius: var(--radio, 14px); background: linear-gradient(135deg, var(--ap-suave), var(--blanco) 70%); border: 1px solid var(--linea); }
@media (min-width: 900px) { .et-bienvenida { grid-template-columns: minmax(0, 1fr) minmax(0, 1.25fr); align-items: center; } }
.et-bienvenida h2 { font: 800 clamp(24px, 3.2vw, 32px)/1.1 var(--titulo); margin-bottom: 8px; }
.et-bienvenida p { color: var(--tinta-2); max-width: 54ch; margin-bottom: 14px; }
.et-rapidos { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); }
.et-rapido { width: 100%; display: flex; align-items: center; gap: 10px; padding: 10px 12px; border-radius: 12px; border: 1px solid var(--linea); background: var(--blanco); color: var(--tinta); cursor: pointer; text-align: left; min-height: 58px; }
.et-rapido:hover { border-color: var(--ap-acento); box-shadow: 0 6px 18px color-mix(in srgb, var(--tinta) 8%, transparent); }
.et-rapido-icono { width: 36px; height: 36px; border-radius: 10px; display: grid; place-items: center; background: var(--ap-acento); color: var(--ap-sobre); flex: 0 0 auto; }
.et-rapido-icono svg { stroke: currentColor; }
.et-rapido-texto { display: flex; flex-direction: column; min-width: 0; }
.et-rapido-texto b { font-weight: 650; font-size: 15px; }
.et-rapido-texto small { color: var(--tinta-3); font-size: 13px; }
.et-panel-inicio { display: flex; flex-direction: column; gap: 14px; padding-top: 4px; }
.et-buscar { max-width: 420px; }
.et-rejilla { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); }
.et-tarjeta { position: relative; background: var(--blanco); border: 1px solid var(--linea); border-radius: 14px; transition: border-color .12s, box-shadow .12s; display: flex; }
.et-tarjeta:hover { border-color: color-mix(in srgb, var(--ap-acento) 55%, var(--linea)); box-shadow: 0 6px 20px color-mix(in srgb, var(--tinta) 8%, transparent); }
.et-tarjeta-abrir, .et-tarjeta-boton { flex: 1; display: flex; flex-direction: column; align-items: stretch; gap: 10px; padding: 12px; border: 0; background: none; color: var(--tinta); cursor: pointer; text-align: left; border-radius: 14px; min-width: 0; }
.et-tarjeta-boton { border: 1px solid var(--linea); background: var(--blanco); }
.et-tarjeta-boton:hover { border-color: var(--ap-acento); }
.et-tarjeta-menu { position: absolute; top: 6px; right: 6px; background: color-mix(in srgb, var(--blanco) 85%, transparent) !important; }
.et-tarjeta-texto { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.et-tarjeta-texto b { font: 650 15.5px/1.3 var(--cuerpo); overflow-wrap: anywhere; }
.et-tarjeta-texto small { font-size: 13px; color: var(--tinta-2); line-height: 1.35; }
.et-tarjeta-texto small.et-suave { color: var(--tinta-3); }
.et-mini { display: flex; align-items: center; justify-content: center; height: 132px; box-sizing: border-box; border-radius: 10px; background: color-mix(in srgb, var(--tinta) 5%, var(--papel)); padding: 10px; overflow: hidden; }
.et-mini-img, .et-mini > svg { max-width: 100%; max-height: 100%; object-fit: contain; min-width: 0; min-height: 0; filter: drop-shadow(0 1px 2px rgba(10, 14, 24, .3)); }
.et-mini-peq { width: 64px; height: 64px; padding: 6px; flex: 0 0 auto; }
.et-lista-papelera { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.et-fila-papelera { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; padding: 10px 12px; background: var(--blanco); border: 1px solid var(--linea); border-radius: 12px; }

/* Hoja en miniatura */
.et-hoja-mini { width: 100%; height: 100%; }
.et-hm-papel { fill: var(--blanco); stroke: var(--linea-2); stroke-width: .8; }
.et-hm-etq { fill: color-mix(in srgb, var(--ap-acento, var(--ap-color-d)) 14%, var(--blanco)); stroke: color-mix(in srgb, var(--ap-acento, var(--ap-color-d)) 70%, var(--tinta)); stroke-width: .7; }
.et-hm-usada { fill: color-mix(in srgb, var(--tinta) 14%, var(--blanco)); stroke: var(--linea-2); stroke-width: .7; stroke-dasharray: 2 1.5; }
.et-hm-marca { fill: color-mix(in srgb, var(--ap-acento, var(--ap-color-d)) 45%, var(--blanco)); stroke: var(--ap-acento, var(--ap-color-d)); stroke-width: 1.6; }
.et-mini-hoja { background: color-mix(in srgb, var(--tinta) 4%, var(--papel)); }

/* Catálogo */
.et-catalogo { gap: 14px; }
.et-cat-busqueda { display: grid; gap: 16px; grid-template-columns: 1fr; align-items: end; }
@media (min-width: 980px) { .et-cat-busqueda { grid-template-columns: minmax(0, 1.3fr) auto auto; } }
.et-cat-tam { display: flex; flex-direction: column; gap: 5px; }
.et-cat-tam .et-num { width: 96px; }
.et-cat-personal { display: flex; flex-direction: column; gap: 5px; }
.et-chips { display: flex; flex-wrap: wrap; gap: 6px; }
.et-chip { padding: 7px 13px; border-radius: 999px; border: 1px solid var(--linea-2); background: var(--blanco); color: var(--tinta-2); cursor: pointer; font-weight: 600; font-size: 14px; }
.et-chip[aria-pressed="true"] { background: var(--ap-acento); color: var(--ap-sobre); border-color: transparent; }
.et-sin-res { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; padding: 18px; border: 1px dashed var(--linea-2); border-radius: 14px; }
.et-rejilla-plantillas .et-mini { height: 150px; }

/* Empezar */
.et-empezar-lista { display: grid; gap: 10px; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); }
.et-empezar { display: flex; flex-direction: column; gap: 8px; padding: 10px; border: 1px solid var(--linea-2); border-radius: 12px; background: var(--blanco); color: var(--tinta); cursor: pointer; text-align: left; }
.et-empezar:hover, .et-empezar:focus-visible { border-color: var(--ap-acento); background: var(--ap-suave); }
.et-empezar .et-mini { height: 110px; }

/* Plantilla personalizada */
.et-personal { display: grid; gap: 16px; grid-template-columns: 1fr; }
@media (min-width: 760px) { .et-personal { grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); } }
.et-personal-lado { display: flex; flex-direction: column; gap: 10px; }
.et-personal-vista { height: 300px; display: grid; place-items: center; background: color-mix(in srgb, var(--tinta) 4%, var(--papel)); border-radius: 12px; padding: 10px; }
.et-personal-estado { font-size: 14px; color: var(--ok-tinta); background: var(--ok-fondo); border: 1px solid var(--ok-borde); border-radius: 10px; padding: 8px 10px; }
.et-personal-estado.et-mal { color: var(--error-tinta); background: var(--error-fondo); border-color: var(--error-borde); }

/* Editor */
.et-editor { flex: 1; min-height: 0; display: flex; flex-direction: column; }
.et-barra { position: relative; display: flex; align-items: center; gap: 4px; padding: 6px 10px; background: var(--blanco); border-bottom: 1px solid var(--linea); overflow-x: auto; scrollbar-width: thin; }
.et-barra > * { flex: 0 0 auto; }
.et-nombre { font: 700 16px/1.2 var(--titulo); border: 1px solid transparent; background: none; color: var(--tinta); padding: 7px 8px; border-radius: 8px; width: 15ch; min-width: 8ch; }
.et-nombre:hover { border-color: var(--linea-2); }
.et-nombre:focus { outline: none; border-color: var(--ap-acento); box-shadow: 0 0 0 3px color-mix(in srgb, var(--ap-acento) 22%, transparent); }
.et-anadir { display: flex; gap: 2px; }
.et-herr { padding: 6px 9px; min-height: 40px; font-size: 14px !important; gap: 6px; }
.et-herr-fuerte { gap: 6px; }
.et-guardado { font-size: 13px; color: var(--tinta-3); padding: 0 6px; white-space: nowrap; }
@media (max-width: 1620px) { .et-herr span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; } .et-herr { width: 40px; padding: 0; } }
.et-zona { flex: 1; min-height: 0; display: flex; }
.et-centro { flex: 1; min-width: 0; min-height: 0; display: flex; flex-direction: column; background: color-mix(in srgb, var(--tinta) 5%, var(--papel)); }
.et-lienzo-caja { flex: 1; min-height: 0; overflow: auto; display: grid; place-items: center; padding: 12px; }
.et-lienzo { display: block; touch-action: none; user-select: none; -webkit-user-select: none; }
.et-lienzo:focus { outline: none; }
.et-lienzo:focus-visible { outline: 3px solid var(--ap-acento); outline-offset: -3px; border-radius: 6px; }
.et-papel { filter: drop-shadow(0 1px 1.5px rgba(10, 14, 24, .35)) drop-shadow(0 6px 12px rgba(10, 14, 24, .16)); }
.et-borde { stroke: color-mix(in srgb, var(--tinta) 30%, transparent); }
.et-fuera { opacity: .22; }
.et-rejilla-l { stroke: color-mix(in srgb, var(--ap-acento) 30%, transparent); }
.et-seguro { stroke: color-mix(in srgb, var(--ap-acento) 70%, transparent); }
.et-zona-obj { cursor: move; }
.et-sel-caja { fill: none; stroke: var(--ap-acento); }
.et-sel-caja.et-bloq { stroke: var(--tinta-3); }
.et-asa { fill: var(--blanco); stroke: var(--ap-acento); }
.et-asa-nw, .et-asa-se { cursor: nwse-resize; }
.et-asa-ne, .et-asa-sw { cursor: nesw-resize; }
.et-asa-n, .et-asa-s { cursor: ns-resize; }
.et-asa-e, .et-asa-w { cursor: ew-resize; }
circle.et-asa { cursor: crosshair; }
.et-guias line { stroke: var(--pdf); stroke-width: calc(var(--px) * 1); stroke-dasharray: calc(var(--px) * 4) calc(var(--px) * 3); }
.et-marquesina { fill: color-mix(in srgb, var(--ap-acento) 12%, transparent); stroke: var(--ap-acento); }
.et-aviso-obj { stroke: var(--pdf); }
.et-pie-lienzo { display: flex; align-items: center; gap: 4px; flex-wrap: wrap; padding: 4px 10px; background: var(--blanco); border-top: 1px solid var(--linea); font-size: 14px; }
.et-zoom-texto { min-width: 54px; text-align: center; font-variant-numeric: tabular-nums; color: var(--tinta-2); }
.et-zoom-real { font-size: 13.5px !important; padding: 6px 10px; }
.et-casilla { align-items: center; font-size: 14px; gap: 6px; }
.et-casilla input { margin-top: 0; }
.et-paso { width: auto; min-height: 34px; padding: 4px 28px 4px 8px; font-size: 14px !important; }
.et-registros { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; padding: 6px 12px; background: var(--blanco); border-bottom: 1px solid var(--linea); }
.et-reg-nav { display: flex; align-items: center; gap: 2px; }
.et-reg-texto { display: inline-flex; align-items: center; gap: 6px; font-size: 14px; color: var(--tinta-2); white-space: nowrap; }
.et-reg-num { width: 72px; min-height: 34px; padding: 4px 8px; }
.et-reg-fuente { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 28ch; }
.et-reg-aviso { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; font-size: 14px; color: var(--aviso-tinta); background: var(--aviso-fondo); border: 1px solid var(--aviso-borde); border-radius: 10px; padding: 6px 10px; margin: 0; }
.et-registros .et-reg-aviso { flex: 1; }

/* Panel */
.et-panel { width: 330px; flex: 0 0 auto; min-height: 0; display: flex; flex-direction: column; background: var(--blanco); border-left: 1px solid var(--linea); }
.et-panel-tabs { padding: 0 8px; flex: 0 0 auto; }
.et-panel-cuerpo { flex: 1; min-height: 0; overflow-y: auto; padding: 12px 14px 24px; display: flex; flex-direction: column; gap: 14px; }
.et-panel-titulo { display: flex; align-items: center; gap: 8px; font: 700 16px/1.2 var(--titulo); }
.et-praxis { margin: 0; font-size: 14px; }
.et-praxis a { color: var(--enlace); font-weight: 600; }
.et-pista { background: var(--ap-suave); border-radius: 10px; padding: 10px; color: var(--tinta-2); }
.et-grupo { display: flex; flex-direction: column; gap: 8px; padding-bottom: 12px; border-bottom: 1px solid var(--linea); }
.et-grupo:last-child { border-bottom: 0; }
.et-grupo h3 { display: flex; align-items: center; gap: 6px; font: 650 12.5px/1.3 var(--cuerpo); letter-spacing: .04em; text-transform: uppercase; color: var(--tinta-3); }
.et-campos-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.et-campo-num { display: flex; align-items: center; gap: 6px; min-width: 0; }
.et-campo-num .ap-campo { min-height: 36px; padding: 5px 8px; }
.et-campo-etq { font-size: 13px; color: var(--tinta-2); white-space: nowrap; min-width: 1.2em; }
.et-campo-suf { font-size: 12.5px; color: var(--tinta-3); }
.et-campo-txt .ap-campo { width: 100%; }
.et-campos-2 .et-campo-num { flex-direction: column; align-items: stretch; gap: 3px; }
.et-campos-2 .et-campo-suf { display: none; }
.et-apilado { flex-direction: column; align-items: stretch; gap: 3px; }
.et-num { width: 100%; min-width: 0; font-variant-numeric: tabular-nums; }
.et-fila-giro { display: flex; gap: 8px; align-items: center; }
.et-fila-giro .et-campo-num { flex: 1; }
.et-fila-letra { display: flex; gap: 8px; }
.et-fuente { flex: 1; min-height: 36px; padding: 5px 28px 5px 8px; }
.et-fila-letra .et-campo-num { width: 96px; flex: 0 0 auto; }
.et-botonera { display: flex; flex-wrap: wrap; gap: 4px; align-items: center; }
.et-alt { width: 36px; min-height: 36px; padding: 0; border-radius: 8px; }
.et-alt[aria-pressed="true"] { background: var(--ap-suave); border-color: var(--ap-acento); color: var(--tinta); }
.et-peq { min-height: 34px; padding: 5px 10px; font-size: 14px !important; gap: 6px; }
.et-peq svg { width: 16px; height: 16px; }
.et-color-fila { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.et-color { width: 44px; height: 32px; padding: 2px; border: 1px solid var(--linea-2); border-radius: 8px; background: var(--blanco); cursor: pointer; }
.et-texto-area { min-height: 92px; font-size: 15px !important; }
.et-estado-codigo { font-size: 13.5px; color: var(--tinta-2); margin: 0; }
.et-estado-codigo.et-bien { color: var(--ok-tinta); }
.et-estado-codigo.et-mal { color: var(--error-tinta); }
.et-hoja-info { display: flex; align-items: center; gap: 10px; }
.et-capas { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 2px; }
.et-capa { display: flex; align-items: center; gap: 2px; border-radius: 8px; }
.et-capa.activa { background: var(--ap-suave); }
.et-capa-nombre { flex: 1; min-width: 0; display: flex; align-items: center; gap: 8px; min-height: 38px; padding: 6px 8px; border: 0; background: none; color: var(--tinta); cursor: pointer; text-align: left; border-radius: 8px; }
.et-capa-nombre span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.et-capa-nombre svg { width: 18px; height: 18px; color: var(--tinta-3); }
.et-mini-boton { width: 34px; min-height: 34px; }
.et-atajos td:first-child { white-space: nowrap; }
kbd { font: 600 13px/1 var(--cuerpo); padding: 3px 7px; border-radius: 6px; border: 1px solid var(--linea-2); background: color-mix(in srgb, var(--tinta) 4%, var(--blanco)); }

/* Combinar */
.et-combinar { display: flex; flex-direction: column; gap: 14px; }
.et-crear-opciones { display: grid; gap: 10px; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); }
.et-op { display: flex; flex-direction: column; align-items: flex-start; gap: 6px; padding: 16px; border: 1px solid var(--linea-2); border-radius: 14px; background: var(--blanco); color: var(--tinta); cursor: pointer; text-align: left; }
.et-op:hover { border-color: var(--ap-acento); background: var(--ap-suave); }
.et-op small { color: var(--tinta-3); }
.et-comb-cab { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.et-comb-campos h3, .et-comb-filtros h3 { display: flex; align-items: center; gap: 6px; font: 650 14px/1.3 var(--cuerpo); margin-bottom: 6px; }
.et-comb-mapa { display: grid; gap: 6px; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); }
.et-mapa-fila { display: flex; align-items: center; gap: 8px; }
.et-mapa-fila code { font-size: 13.5px; background: var(--ap-suave); padding: 2px 6px; border-radius: 6px; white-space: nowrap; }
.et-mapa-fila .ap-campo { min-height: 36px; padding: 4px 28px 4px 8px; }
.et-mapa-fila.et-mal code { background: var(--error-fondo); color: var(--error-tinta); }
.et-comb-filtros { display: flex; flex-direction: column; gap: 6px; align-items: flex-start; }
.et-filtro { display: flex; gap: 6px; flex-wrap: wrap; align-items: center; width: 100%; }
.et-filtro .ap-campo { width: auto; flex: 1 1 140px; min-height: 36px; padding: 4px 8px; }
.et-comb-tabla { max-height: 320px; overflow: auto; }
.et-comb-tabla td { white-space: nowrap; max-width: 260px; overflow: hidden; text-overflow: ellipsis; }
.et-col { border: 0; background: none; padding: 0; color: var(--enlace); cursor: pointer; font: inherit; text-transform: none; letter-spacing: 0; text-decoration: underline dotted; }
.et-fila-fuera td { opacity: .45; }
.et-comb-resumen { font-weight: 600; }

/* Imprimir */
.et-imprimir { display: grid; gap: 18px; grid-template-columns: 1fr; }
@media (min-width: 760px) { .et-imprimir { grid-template-columns: minmax(180px, .8fr) minmax(0, 1.4fr); } }
.et-imp-vista { display: flex; flex-direction: column; gap: 8px; align-items: center; }
.et-imp-hoja { width: 100%; max-height: 420px; cursor: pointer; background: color-mix(in srgb, var(--tinta) 4%, var(--papel)); border-radius: 10px; padding: 6px; }
.et-imp-opciones { display: flex; flex-direction: column; gap: 14px; }
.et-imp-grupo { border: 1px solid var(--linea); border-radius: 12px; padding: 10px 12px; display: flex; flex-direction: column; gap: 8px; margin: 0; }
.et-imp-grupo legend { font: 650 14px/1.3 var(--cuerpo); padding: 0 4px; }
.et-modo { display: flex; align-items: flex-start; gap: 10px; cursor: pointer; }
.et-modo input { width: 18px; height: 18px; margin-top: 3px; accent-color: var(--ap-acento); }
.et-modo-texto { display: flex; flex-direction: column; gap: 6px; flex: 1; }
.et-modo-texto b { font-weight: 600; font-size: 15px; }
.et-modo-texto .et-campo-num { max-width: 260px; }
.et-modo-texto .et-num { width: 96px; flex: 0 0 auto; }
.et-aviso-escala { display: flex; gap: 8px; align-items: flex-start; font-size: 14px; padding: 10px 12px; border-radius: 10px; background: var(--aviso-fondo); color: var(--aviso-tinta); border: 1px solid var(--aviso-borde); margin: 0; }
.et-aviso-escala svg { flex: 0 0 auto; margin-top: 1px; }
.et-imp-resumen { font-weight: 650; }
.et-imp-avisos { display: flex; flex-direction: column; gap: 6px; }
.et-imp-avisos:empty { display: none; }
.et-pasos { margin: 0; padding-left: 20px; display: flex; flex-direction: column; gap: 6px; color: var(--tinta-2); }

/* Móvil */
@media (max-width: 899px) {
  .et-zona { flex-direction: column; overflow-y: auto; }
  .et-centro { flex: 0 0 auto; min-height: 58vh; }
  .et-lienzo-caja { min-height: 46vh; }
  .et-panel { width: auto; border-left: 0; border-top: 1px solid var(--linea); flex: 0 0 auto; }
  .et-panel-cuerpo { overflow: visible; }
  .et-nombre { width: 11ch; }
  .et-guardado { display: none; }
  .et-herr-fuerte span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
  .et-herr-fuerte { width: 40px; padding: 0; }
  .ap-principal.ap-boton span { white-space: nowrap; }
  .et-pie-lienzo .et-casilla span { font-size: 13px; }
  .et-mini { height: 112px; }
}
@media (max-width: 520px) {
  .et-barra .ap-principal span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
  .et-barra .ap-principal { width: 40px; padding: 0; }
  .et-rejilla { grid-template-columns: 1fr 1fr; gap: 10px; }
  .et-rapidos { grid-template-columns: 1fr 1fr; }
  .et-bienvenida { padding: 16px; }
}
@media (prefers-reduced-motion: reduce) { .et-tarjeta, .et-rapido { transition: none; } }

/* ── Enlaces cortos (sitio/enlaces-cortos.js) ── */
.ec-destino { max-width: 260px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--tinta-3); }
.ec-num { white-space: nowrap; font-variant-numeric: tabular-nums; }
.ec-acciones { display: flex; flex-wrap: wrap; gap: 6px; }
.ec-paginas { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.ec-pagina { display: flex; flex-wrap: wrap; gap: 10px; justify-content: space-between; align-items: center; padding: 12px; border: 1px solid var(--linea); border-radius: 12px; background: var(--blanco); }
.ec-items { display: grid; gap: 10px; margin-bottom: 10px; }
.ec-item { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 6px; padding: 8px; border: 1px solid var(--linea); border-radius: 10px; }
.ec-qr-caja { display: grid; place-items: center; padding: 8px; }
.ec-qr { background: #fff; border-radius: 8px; max-width: 100%; height: auto; }
.ec-grafico { width: 100%; height: auto; color: var(--ap-color, #4d7c0f); }
.ec-kpi b { font-size: 28px; }
.ec-lista { list-style: none; margin: 0 0 12px; padding: 0; }
.ec-lista li { display: flex; justify-content: space-between; gap: 12px; padding: 4px 0; border-bottom: 1px solid var(--linea); overflow-wrap: anywhere; }
