/* Actividades Operativas — Plan A (2026-09-29).
   Solo estilos PROPIOS del módulo (prefijo .tz-act-). No redefine ninguna
   variable ni clase global: reutiliza los tokens de traza-core.css
   (--color-*, --tz-*), .tz-panel, .tz-metrics, .tz-tag, .tz-chip, .btn y las
   clases de formulario de circulares (.tz-cir-campo). Mismo lenguaje: color
   como trazo, sin degradados, sombra solo donde ya existe. */

.tz-act { display: flex; flex-direction: column; gap: 16px; }
.tz-act-cuerpo { display: flex; flex-direction: column; gap: 16px; }
.tz-act-acciones { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; }
/* Dónde está trabajando el auditor: arriba y visible junto a «Reiniciar todo». */
.tz-act-donde { display: inline-flex; align-items: center; gap: 8px; padding: 8px 14px; border-radius: 999px; border: 1px solid var(--color-accent); background: color-mix(in srgb, var(--color-accent) 14%, transparent); font-size: .95rem; line-height: 1.2; }
.tz-act-donde strong { font-weight: 700; letter-spacing: .01em; }
.tz-act-donde svg { color: var(--color-accent); flex: none; }
.tz-act-donde-camino { border-color: var(--tz-dorado, #b8860b); background: color-mix(in srgb, var(--tz-dorado, #b8860b) 16%, transparent); }
.tz-act-donde-camino svg { color: var(--tz-dorado, #b8860b); }

.tz-act-dos { display: grid; gap: 16px; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); align-items: start; }

.tz-act-aviso {
  border: 1px solid var(--tz-naranja); border-radius: var(--radius-panel);
  padding: 10px 14px; font-size: .88rem; display: flex; flex-wrap: wrap; gap: 10px 16px; align-items: center;
}
.tz-act-aviso-alerta { border-color: var(--tz-danger); }

.tz-act-estado { margin: 0 0 10px; font-size: .9rem; }
.tz-act-mensaje { margin: 10px 0 0; font-size: .88rem; color: var(--tz-naranja); }
.tz-act-cifra { margin: 0 0 4px; font-size: 1rem; }
.tz-act-cifra strong { font-size: 1.6rem; font-variant-numeric: tabular-nums; }

.tz-act-lista { list-style: none; margin: 8px 0 0; padding: 0; display: flex; flex-direction: column; }
.tz-act-lista > li {
  display: flex; justify-content: space-between; align-items: center; gap: 10px; flex-wrap: wrap;
  padding: 7px 0; border-top: 1px solid var(--color-divider); font-size: .86rem;
}
.tz-act-lista > li:first-child { border-top: none; }
.tz-act-chips { display: flex; flex-wrap: wrap; gap: 6px; }

/* Cronómetro en curso */
.tz-act-crono {
  display: flex; align-items: center; justify-content: space-between; gap: 14px; flex-wrap: wrap;
  margin-top: 12px; padding: 12px 14px; border: 1px solid var(--color-accent); border-radius: var(--radius-panel);
}
.tz-act-crono-tipo { font-size: .72rem; letter-spacing: .08em; text-transform: uppercase; color: var(--tz-accent-ink); }
.tz-act-crono-titulo { font-size: .98rem; font-weight: 600; margin-top: 2px; }
.tz-act-crono-nota { font-size: .78rem; opacity: .65; margin-top: 2px; }
.tz-act-crono-reloj { font-size: 1.7rem; font-variant-numeric: tabular-nums; letter-spacing: -.01em; }

/* Agenda y cronología */
.tz-act-agenda { display: flex; flex-direction: column; }
.tz-act-fila {
  display: grid; grid-template-columns: 112px 1fr auto auto; gap: 12px; align-items: center;
  padding: 10px 0; border-top: 1px solid var(--color-divider);
}
.tz-act-fila:first-child { border-top: none; }
.tz-act-fila-alerta .tz-act-hora { color: var(--tz-danger); }
.tz-act-fila-desp .tz-act-fila-titulo { font-weight: 500; font-style: italic; }
.tz-act-hora { font-variant-numeric: tabular-nums; font-size: .85rem; opacity: .8; }
.tz-act-fila-titulo { font-size: .9rem; font-weight: 600; }
.tz-act-fila-sub { font-size: .78rem; opacity: .65; margin-top: 2px; }
.tz-act-fila-lado { display: flex; gap: 6px; flex-wrap: wrap; justify-content: flex-end; }
.tz-act-fila-botones { display: flex; gap: 6px; }
.tz-act-fila-botones .btn { padding: 5px 12px; font-size: .8rem; }

@media (max-width: 760px) {
  .tz-act-fila { grid-template-columns: 1fr; gap: 4px; }
  .tz-act-fila-lado { justify-content: flex-start; }
}

/* Formularios */
.tz-act-form { display: flex; flex-direction: column; gap: 14px; margin-top: 12px; }
.tz-act-form .tz-cir-campo textarea {
  background: var(--tz-panel); border: 1px solid var(--color-divider); border-radius: 8px;
  padding: 9px 12px; color: var(--color-text); font-family: var(--font-app); font-size: .88rem; resize: vertical;
}
.tz-act-form-botones { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; margin-top: 4px; }
.tz-act-check { display: inline-flex; align-items: center; gap: 6px; font-size: .86rem; cursor: pointer; }
.tz-act-min { display: inline-flex; align-items: center; gap: 6px; font-size: .84rem; }
.tz-act-min input, .tz-act-par input, .tz-act-dia input[type=time], .tz-act-params input, .tz-act-params select,
.tz-act-filtros input, .tz-act-filtros select {
  background: var(--tz-panel); border: 1px solid var(--color-divider); border-radius: 6px;
  padding: 6px 8px; color: var(--color-text); font-family: var(--font-app); font-size: .84rem;
}
.tz-act-min input[type=number], .tz-act-par input[type=number], .tz-act-params input[type=number] { width: 78px; }
.tz-act-grupos { display: grid; gap: 12px; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); margin: 12px 0; }
.tz-act-grupo { border: 1px solid var(--color-divider); border-radius: var(--radius-panel); padding: 8px 12px; display: flex; flex-direction: column; gap: 6px; }
.tz-act-grupo legend { font-size: .72rem; letter-spacing: .08em; text-transform: uppercase; padding: 0 6px; opacity: .7; }
.tz-act-dias { display: flex; gap: 14px; flex-wrap: wrap; margin-top: 12px; }
.tz-act-par { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; margin: 8px 0; }
.tz-act-tiempos { display: grid; gap: 8px 20px; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); }
.tz-act-tiempos .tz-act-min { justify-content: space-between; }
.tz-act-sug { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; padding: 8px 0; font-size: .88rem; }

/* Tablas */
.tz-act-tabla-wrap { overflow-x: auto; border: 1px solid var(--color-divider); border-radius: var(--radius-panel); background: var(--tz-panel); }
.tz-act-tabla { width: 100%; border-collapse: collapse; font-size: .84rem; }
.tz-act-tabla th {
  text-align: left; font-size: .7rem; letter-spacing: .07em; text-transform: uppercase; font-weight: 500;
  opacity: .65; padding: 9px 12px; border-bottom: 1px solid var(--color-divider); white-space: nowrap;
}
.tz-act-tabla td { padding: 9px 12px; border-bottom: 1px solid var(--color-divider); vertical-align: middle; }
.tz-act-tabla tr:last-child td { border-bottom: none; }
.tz-act-clic { cursor: pointer; }
.tz-act-clic:hover, .tz-act-clic:focus-visible { background: var(--tz-hover); outline: none; }
.tz-act-params td { vertical-align: top; }
.tz-act-filtros { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; }

/* Pestañas */
.tz-act-tabs { display: flex; gap: 6px; flex-wrap: wrap; }

/* Historial */
.tz-act-historial { display: flex; flex-direction: column; gap: 8px; }
.tz-act-det { border: 1px solid var(--color-divider); border-radius: var(--radius-panel); background: var(--tz-panel); }
.tz-act-det > summary {
  cursor: pointer; padding: 10px 14px; display: flex; justify-content: space-between; gap: 10px; flex-wrap: wrap;
  align-items: center; font-size: .86rem; list-style: none;
}
.tz-act-det > summary::-webkit-details-marker { display: none; }
.tz-act-det[open] > summary { border-bottom: 1px solid var(--color-divider); }
.tz-act-det-cuerpo { padding: 12px 14px; display: flex; flex-direction: column; gap: 12px; }
.tz-act-dl { display: grid; grid-template-columns: 130px 1fr; gap: 6px 12px; margin: 0; font-size: .84rem; }
.tz-act-dl dt { opacity: .6; }
.tz-act-dl dd { margin: 0; }
.tz-act-eventos { font-size: .78rem; opacity: .8; }

/* Horarios */
.tz-act-item-btn {
  width: 100%; display: flex; justify-content: space-between; align-items: center; gap: 8px; text-align: left;
  background: transparent; border: none; color: inherit; font: inherit; font-size: .86rem; cursor: pointer; padding: 2px 0;
}
.tz-act-item-btn:hover { color: var(--tz-accent-ink); }
.tz-act-joyerias { max-height: 460px; overflow-y: auto; }
.tz-act-dia { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; padding: 6px 0; border-top: 1px solid var(--color-divider); font-size: .86rem; }
.tz-act-dia > label { min-width: 64px; }

/* Zona del supernumerario: cuatro pasos encadenados (coordinador, sociedades, ciudades, joyerías).
   Ritmo de 8 px, objetivos táctiles de 40-44 px, foco visible y estados que no dependen solo del color. */
.tz-act-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.tz-act-zona { display: flex; flex-direction: column; gap: 16px; }
.tz-act-zona-cab { display: flex; justify-content: space-between; align-items: flex-start; gap: 24px; flex-wrap: wrap; }
.tz-act-zona-cab h2 { margin: 0 0 4px; font-size: 1.35rem; font-weight: 600; }
.tz-act-zona-cab p { margin: 0; max-width: 70ch; font-size: .9rem; line-height: 1.5; opacity: .75; }
.tz-act-fecha { display: flex; align-items: center; gap: 12px; border: 1px solid var(--color-divider); border-radius: var(--radius-panel); background: var(--tz-panel); padding: 8px 12px; cursor: pointer; }
.tz-act-fecha-ico { color: var(--tz-accent-ink); display: inline-flex; }
.tz-act-fecha-txt { display: flex; flex-direction: column; gap: 2px; font-size: .74rem; opacity: .9; }
.tz-act-fecha-txt input { background: transparent; border: none; color: var(--color-text); font-family: var(--font-app); font-size: .95rem; padding: 2px 0; }
.tz-act-paso { border: 1px solid var(--color-divider); border-radius: var(--radius-panel); background: var(--tz-panel); padding: 16px; display: flex; flex-direction: column; gap: 16px; }
.tz-act-paso-cab { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }
.tz-act-num { width: 36px; height: 36px; border-radius: 50%; background: var(--color-accent); color: #1a1205; display: inline-flex; align-items: center; justify-content: center; font-weight: 700; flex-shrink: 0; }
.tz-act-paso-tit { flex: 1 1 220px; min-width: 0; }
.tz-act-paso-tit h3 { margin: 0; font-size: 1.02rem; font-weight: 600; }
.tz-act-paso-tit p { margin: 2px 0 0; font-size: .82rem; opacity: .7; line-height: 1.4; }
.tz-act-herr { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin-left: auto; }
.tz-act-busca, .tz-act-select { position: relative; display: inline-flex; align-items: center; gap: 8px; border: 1px solid var(--color-divider); border-radius: 10px; padding: 0 12px; min-height: 40px; background: transparent; color: inherit; }
.tz-act-busca { min-width: 220px; }
.tz-act-busca:focus-within, .tz-act-select:focus-within { border-color: var(--color-accent); box-shadow: 0 0 0 2px var(--tz-hover); }
.tz-act-busca input, .tz-act-select select { background: transparent; border: none; outline: none; color: var(--color-text); font-family: var(--font-app); font-size: .86rem; min-width: 0; flex: 1; min-height: 38px; }
.tz-act-select { min-width: 280px; }
.tz-act-select select option { background: #1b1f27; color: #e8e8ea; }
.tz-act-cuenta { font-size: .82rem; color: var(--tz-accent-ink); white-space: nowrap; font-variant-numeric: tabular-nums; min-width: 90px; text-align: right; }
.tz-act-btn { display: inline-flex; align-items: center; gap: 6px; min-height: 40px; padding: 0 14px; border: 1px solid var(--color-divider); border-radius: 10px; background: transparent; color: inherit; font: inherit; font-size: .84rem; cursor: pointer; }
.tz-act-btn:hover { border-color: var(--color-accent); }
.tz-act-btn-peligro svg { color: var(--tz-danger); }
.tz-act-btn:focus-visible, .tz-act-ficha:focus-visible, .tz-act-op:focus-within, .tz-act-op-lista:focus-within, .tz-act-op-mini:focus-within { outline: 2px solid var(--color-accent); outline-offset: 2px; }
.tz-act-fichas { display: flex; flex-wrap: wrap; gap: 12px; }
.tz-act-ficha { display: inline-flex; align-items: center; justify-content: space-between; gap: 16px; min-width: 240px; min-height: 48px; padding: 8px 14px; border: 1px solid var(--color-divider); border-radius: 10px; background: transparent; color: inherit; font: inherit; text-align: left; cursor: pointer; }
.tz-act-ficha > span:first-child { display: flex; flex-direction: column; gap: 2px; }
.tz-act-ficha strong { font-size: .82rem; font-weight: 600; letter-spacing: .01em; }
.tz-act-ficha small { font-size: .72rem; opacity: .65; }
.tz-act-ficha:hover { border-color: var(--color-accent); }
.tz-act-ficha.activo { border-color: var(--color-accent); background: var(--tz-hover); color: var(--tz-accent-ink); }
.tz-act-ficha-x { display: inline-flex; padding: 6px; border-radius: 6px; }
.tz-act-ficha-x:hover { background: var(--tz-hover); }
.tz-act-grid { display: grid; gap: 12px; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); }
.tz-act-grid-ciudades { grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); }
.tz-act-op { display: flex; align-items: center; gap: 12px; min-height: 48px; padding: 8px 14px; border: 1px solid var(--color-divider); border-radius: 10px; cursor: pointer; font-size: .86rem; }
.tz-act-op:hover:not(.off) { border-color: var(--color-accent); }
.tz-act-op.activo { border-color: var(--color-accent); background: var(--tz-hover); }
.tz-act-op.off { opacity: .45; cursor: not-allowed; }
.tz-act-op input, .tz-act-op-lista input, .tz-act-op-mini input { width: 18px; height: 18px; accent-color: var(--color-accent); flex-shrink: 0; cursor: pointer; }
.tz-act-op-txt { flex: 1; min-width: 0; overflow-wrap: anywhere; }
.tz-act-op-n { opacity: .65; font-variant-numeric: tabular-nums; font-weight: 400; }
.tz-act-cols { display: grid; gap: 16px; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); align-items: start; }
.tz-act-col { border: 1px solid var(--color-divider); border-radius: 10px; padding: 12px 14px; margin: 0; min-width: 0; }
.tz-act-col-cab { display: flex; justify-content: space-between; align-items: center; gap: 8px; padding-bottom: 8px; margin-bottom: 4px; border-bottom: 1px solid var(--color-divider); font-size: .86rem; flex-wrap: wrap; }
.tz-act-op-mini { display: inline-flex; align-items: center; gap: 8px; font-size: .78rem; opacity: .85; cursor: pointer; min-height: 32px; }
.tz-act-col ul { list-style: none; margin: 0; padding: 0; max-height: 300px; overflow-y: auto; }
.tz-act-op-lista { display: flex; align-items: center; gap: 12px; padding: 6px 4px; min-height: 36px; font-size: .84rem; cursor: pointer; border-radius: 6px; }
.tz-act-op-lista:hover { background: var(--tz-hover); }
.tz-act-op-lista small { opacity: .6; }
.tz-act-vacio { margin: 0; padding: 8px 4px; font-size: .86rem; opacity: .65; }
.tz-act-resumen { display: flex; align-items: center; gap: 16px 24px; flex-wrap: wrap; border: 1px solid var(--color-divider); border-radius: var(--radius-panel); background: var(--tz-panel); padding: 12px 16px; position: sticky; bottom: 8px; }
.tz-act-resumen-tit { display: flex; align-items: center; gap: 12px; flex: 1 1 220px; }
.tz-act-resumen-tit > div { display: flex; flex-direction: column; gap: 2px; font-size: .9rem; }
.tz-act-resumen-tit small { font-size: .76rem; opacity: .65; }
.tz-act-resumen-ico, .tz-act-stat-ico { display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; border-radius: 10px; background: var(--tz-hover); color: var(--tz-accent-ink); flex-shrink: 0; }
.tz-act-stats { display: flex; gap: 8px; flex-wrap: wrap; }
.tz-act-stat { display: flex; align-items: center; gap: 10px; border: 1px solid var(--color-divider); border-radius: 10px; padding: 6px 12px; }
.tz-act-stat > span:last-child { display: flex; flex-direction: column; gap: 1px; }
.tz-act-stat strong { font-size: .84rem; font-weight: 600; font-variant-numeric: tabular-nums; }
.tz-act-stat small { font-size: .7rem; opacity: .65; }
.tz-act-guardar { min-height: 44px; padding: 0 24px; }
@media (max-width: 760px) {
  .tz-act-herr { margin-left: 0; width: 100%; }
  .tz-act-busca, .tz-act-select { min-width: 0; flex: 1 1 100%; }
  .tz-act-resumen { position: static; }
}
@media (pointer: coarse) { .tz-act-btn, .tz-act-op-lista { min-height: 44px; } }

.tz-act-enlace { background: none; border: none; padding: 0 4px; color: var(--tz-accent-ink); font: inherit; font-size: .82rem; cursor: pointer; border-radius: 6px; }
.tz-act-enlace:hover { text-decoration: underline; }
.tz-act-enlace:focus-visible { outline: 2px solid var(--color-accent); outline-offset: 2px; }

/* Horarios de las joyerías: lista de la zona a la izquierda y editor semanal a la derecha. */
.tz-act-hor { display: flex; flex-direction: column; gap: 16px; }
.tz-act-hor .tz-act-aviso { align-items: center; gap: 12px; flex-wrap: nowrap; }
.tz-act-hor .tz-act-aviso svg { color: var(--tz-naranja); flex-shrink: 0; }
.tz-act-hor-cols { display: grid; gap: 16px; grid-template-columns: minmax(300px, 400px) 1fr; align-items: start; }
.tz-act-hor-lista, .tz-act-hor-editor { border: 1px solid var(--color-divider); border-radius: var(--radius-panel); background: var(--tz-panel); padding: 16px; display: flex; flex-direction: column; gap: 12px; min-width: 0; }
.tz-act-hor-lista > header { display: flex; justify-content: space-between; align-items: baseline; gap: 8px; }
.tz-act-hor-lista h3 { margin: 0; font-size: 1.02rem; font-weight: 600; }
.tz-act-progreso { height: 6px; border-radius: 99px; background: var(--color-divider); overflow: hidden; }
.tz-act-progreso span { display: block; height: 100%; width: 100%; background: var(--tz-ok, #3fb27f); border-radius: 99px; transform: scaleX(0); transform-origin: left center; transition: transform .25s ease-out; }
.tz-act-hor-filtros { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.tz-act-hor-filtros .tz-act-select { min-width: 0; }
.tz-act-hor-items { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.tz-act-hor-item { width: 100%; display: flex; align-items: center; gap: 12px; padding: 8px 12px; min-height: 56px; border: 1px solid var(--color-divider); border-radius: 10px; background: transparent; color: inherit; font: inherit; text-align: left; cursor: pointer; }
.tz-act-hor-item:hover { border-color: var(--color-accent); }
.tz-act-hor-item:focus-visible { outline: 2px solid var(--color-accent); outline-offset: 2px; }
.tz-act-hor-item.activo { border-color: var(--color-accent); background: var(--tz-hover); }
.tz-act-hor-check { width: 24px; height: 24px; border-radius: 50%; border: 1.5px solid var(--color-divider); display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; }
.tz-act-hor-check.ok { background: var(--color-accent); border-color: var(--color-accent); color: #1a1205; }
.tz-act-hor-nom { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.tz-act-hor-nom strong { font-size: .86rem; font-weight: 600; overflow-wrap: anywhere; }
.tz-act-hor-nom small { display: inline-flex; align-items: center; gap: 4px; font-size: .74rem; opacity: .65; }
.tz-act-etiqueta { display: inline-block; border-radius: 99px; padding: 3px 12px; font-size: .74rem; border: 1px solid var(--color-divider); white-space: nowrap; }
.tz-act-etiqueta.prog { border-color: var(--color-accent); color: var(--tz-accent-ink); }
.tz-act-etiqueta.sin { opacity: .75; }
.tz-act-etiqueta.opera { background: rgba(63, 178, 127, .16); border-color: rgba(63, 178, 127, .5); color: #6fd6a8; }
.tz-act-etiqueta.noopera { background: rgba(224, 82, 82, .14); border-color: rgba(224, 82, 82, .5); color: #f08a8a; }
.tz-act-pag { display: flex; justify-content: center; gap: 8px; }
.tz-act-pag-b { min-width: 36px; height: 36px; border-radius: 8px; border: 1px solid var(--color-divider); background: transparent; color: inherit; font: inherit; cursor: pointer; }
.tz-act-pag-b.activo { border-color: var(--color-accent); color: var(--tz-accent-ink); background: var(--tz-hover); }
.tz-act-pag-b:disabled { opacity: .35; cursor: not-allowed; }
.tz-act-hor-cab { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }
.tz-act-hor-ico { width: 56px; height: 56px; border-radius: 12px; border: 1px solid var(--color-divider); display: inline-flex; align-items: center; justify-content: center; color: var(--tz-accent-ink); flex-shrink: 0; }
.tz-act-hor-quien { flex: 1 1 200px; min-width: 0; }
.tz-act-hor-quien h3 { margin: 0 0 4px; font-size: 1.15rem; font-weight: 600; overflow-wrap: anywhere; }
.tz-act-hor-quien p { margin: 0; display: flex; align-items: center; gap: 8px; flex-wrap: wrap; font-size: .84rem; opacity: .9; }
.tz-act-hor-acc { display: flex; gap: 8px; flex-wrap: wrap; margin-left: auto; }
.tz-act-btn-primario { background: #2f9e6b; border-color: #2f9e6b; color: #fff; }
.tz-act-btn-primario:hover { background: #36b07a; border-color: #36b07a; }
.tz-act-copia { border: 1px solid var(--color-divider); border-radius: 10px; padding: 12px 14px; display: flex; flex-direction: column; gap: 12px; }
.tz-act-copia-lista { display: grid; gap: 8px; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); max-height: 220px; overflow-y: auto; }
.tz-act-hor-sem { border: 1px solid var(--color-divider); border-radius: 10px; overflow: hidden; }
.tz-act-hor-sem-cab { display: flex; justify-content: space-between; align-items: center; gap: 8px; padding: 12px 14px; border-bottom: 1px solid var(--color-divider); }
.tz-act-hor-sem-cab h4 { margin: 0; font-size: 1.02rem; font-weight: 600; }
.tz-act-hor-sem-cab .tz-act-enlace { display: inline-flex; align-items: center; gap: 6px; min-height: 36px; }
.tz-act-hor-tabla { overflow-x: auto; }
.tz-act-hor-tabla .tz-act-tabla td { padding: 8px 12px; }
.tz-act-hor-tabla tr.fijo { opacity: .6; }
.tz-act-op-dia { display: inline-flex; align-items: center; gap: 10px; cursor: pointer; min-height: 36px; font-size: .88rem; }
.tz-act-op-dia input { width: 18px; height: 18px; accent-color: var(--color-accent); }
.tz-act-rango { display: inline-flex; align-items: center; gap: 8px; }
.tz-act-rango input[type=time] { background: transparent; border: 1px solid var(--color-divider); border-radius: 8px; padding: 6px 10px; min-height: 38px; color: var(--color-text); font-family: var(--font-app); font-size: .86rem; }
.tz-act-rango input[type=time]:disabled { opacity: .4; }
.tz-act-rango input[type=time]:focus-visible { outline: 2px solid var(--color-accent); outline-offset: 1px; }
.tz-act-plantillas { display: grid; gap: 12px; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); }
.tz-act-plantilla { display: flex; align-items: center; gap: 12px; padding: 12px 14px; min-height: 56px; border: 1px solid var(--color-divider); border-radius: 10px; background: transparent; color: inherit; font: inherit; text-align: left; cursor: pointer; }
.tz-act-plantilla span { display: flex; flex-direction: column; gap: 2px; }
.tz-act-plantilla strong { font-size: .84rem; font-weight: 600; }
.tz-act-plantilla small { font-size: .78rem; opacity: .7; }
.tz-act-plantilla:hover { border-color: var(--color-accent); }
.tz-act-plantilla:focus-visible { outline: 2px solid var(--color-accent); outline-offset: 2px; }
.tz-act-plantilla.activo { border-color: var(--color-accent); background: var(--tz-hover); color: var(--tz-accent-ink); }
@media (max-width: 900px) { .tz-act-hor-cols { grid-template-columns: 1fr; } .tz-act-hor-acc { margin-left: 0; } }

/* Distribución de la jornada y clasificación del tiempo sin actividad. */
.tz-act-dist { display: grid; gap: 8px; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); margin-top: 12px; }
.tz-act-dist-c { border: 1px solid var(--color-divider); border-radius: 10px; padding: 8px 12px; display: flex; flex-direction: column; gap: 2px; }
.tz-act-dist-c span { font-size: .74rem; opacity: .7; }
.tz-act-dist-c strong { font-size: 1rem; font-variant-numeric: tabular-nums; font-weight: 600; }
.tz-act-dist-c.pide { border-color: var(--tz-naranja); }
.tz-act-clasif { margin-top: 12px; border: 1px solid var(--color-divider); border-radius: 10px; padding: 12px 14px; display: flex; flex-direction: column; gap: 8px; }
.tz-act-clasif h4 { margin: 0; font-size: .95rem; font-weight: 600; }
.tz-act-clasif select, .tz-act-clasif input { background: transparent; border: 1px solid var(--color-divider); border-radius: 8px; padding: 6px 10px; min-height: 38px; color: var(--color-text); font-family: var(--font-app); font-size: .86rem; }
.tz-act-clasif select option { background: #1b1f27; color: #e8e8ea; }
.tz-act-clasif-min { width: 100px; }
.tz-act-clasif-nota { flex: 1 1 220px; min-width: 0; }
.tz-act-chip-t { display: inline-flex; align-items: center; gap: 8px; border: 1px solid var(--color-divider); border-radius: 99px; padding: 4px 12px; font-size: .8rem; list-style: none; }

@media (prefers-reduced-motion: reduce) {
  .tz-act * { transition: none !important; animation: none !important; }
}
