/* Thot Creative · © 2026 Webs Creative LLC · Todos los derechos reservados */
/* Tareas y tiempos: tablero y tarjetas, panel de detalle, plantillas, partes de horas, carga del equipo y cronómetro. */

/* ================================================================ filtros y tablero */
.gc-tareas-filtros { margin-top: 16px; padding: 12px 14px; display: flex; flex-direction: column; gap: 10px; }
.gc-tareas-filtros__fila { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.gc-tareas-buscar { flex: 1 1 260px; }
.gc-tareas-filtro { flex: 0 1 230px; min-width: 180px; }
.gc-tareas-filtro .gc-campo { margin: 0; }
.gc-tareas-filtro .gc-campo__etiqueta { display: none; }
.gc-tareas-filtros .gc-selector > .gc-entrada, .gc-tareas-prioridad { min-height: 40px; height: 40px; font-size: var(--gc-t-s); }
.gc-tareas-buscar .gc-entrada { min-height: 40px; height: 40px; }
.gc-tareas-prioridad { flex: 0 1 190px; width: auto; }
.gc-tareas-tablero { margin-top: 16px; }
.gc-tareas-recorte { display: flex; align-items: center; gap: 6px; margin: 12px 0 0; font-size: var(--gc-t-s); }
.gc-tareas-tablero .gc-kanban { grid-auto-columns: minmax(255px, 1fr); align-items: start; }
.gc-tareas-tablero .gc-kanban__columna { max-height: calc(100vh - 210px); overflow-y: auto; scrollbar-width: thin; }
.gc-tareas-tablero .gc-kanban__tarjeta { flex: none; padding: 0; overflow: hidden; }
.gc-tareas-tablero .gc-kanban__tarjeta:focus-visible { outline: 2px solid var(--gc-enlace); outline-offset: 2px; }
.gc-tareas-atajos { margin: 12px 0 0; font-size: var(--gc-t-xs); }
.gc-tareas-atajos kbd, .gc-tareas kbd { font-family: var(--gc-fuente-mono); font-size: 11px; padding: 1px 6px; border-radius: 6px; border: 1px solid var(--gc-borde-fuerte); background: var(--gc-superficie-2); margin: 0 2px; }
.gc-tareas-celda { display: flex; align-items: center; gap: 10px; min-width: 0; }
.gc-tareas-celda__p { flex: none; width: 4px; align-self: stretch; min-height: 28px; border-radius: 4px; background: var(--gc-borde-fuerte); }
.gc-tareas-celda__p.p1 { background: var(--gc-peligro); box-shadow: 0 0 10px color-mix(in srgb, var(--gc-peligro) 50%, transparent); }
.gc-tareas-celda__p.p3 { background: color-mix(in srgb, var(--gc-cian) 45%, transparent); }
.gc-tareas .gc-tabla-barra > .gc-entrada-grupo { display: none; }
.gc-tareas .gc-tabla td { vertical-align: middle; }
.gc-tareas .gc-tabla .gc-tareas-col-titulo { min-width: 260px; max-width: 460px; }
.gc-tareas .gc-tabla .gc-tareas-col-cliente { min-width: 160px; max-width: 240px; }
.gc-tareas .gc-tabla .gc-tareas-col-nowrap { white-space: nowrap; }
.gc-tareas-celda__titulo { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; white-space: normal; line-height: 1.35; }
.gc-tareas-masivas { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.gc-tareas-masivas .gc-entrada { width: auto; min-height: 32px; padding-top: 4px; padding-bottom: 4px; font-size: var(--gc-t-xs); }

/* ================================================================ tarjeta de tarea */
.gc-tarea {
  --p: transparent; position: relative; display: flex; flex-direction: column; gap: 8px; padding: 12px 12px 10px 14px; font-size: var(--gc-t-s); text-align: left; color: var(--gc-texto);
  background: linear-gradient(180deg, color-mix(in srgb, var(--gc-superficie-2) 40%, transparent), transparent 70%);
}
.gc-tarea::before { content: ""; position: absolute; left: 0; top: 10px; bottom: 10px; width: 3px; border-radius: 0 3px 3px 0; background: var(--p); }
.gc-tarea--p1 { --p: var(--gc-peligro); }
.gc-tarea--p3 { --p: color-mix(in srgb, var(--gc-cian) 50%, transparent); }
.gc-tarea--vencida { background: linear-gradient(180deg, color-mix(in srgb, var(--gc-peligro) 9%, transparent), transparent 75%); }
.gc-tarea--hecha .gc-tarea__titulo { color: var(--gc-texto-suave); text-decoration: line-through; text-decoration-color: color-mix(in srgb, var(--gc-texto-tenue) 60%, transparent); }
.gc-tarea--hecha { filter: saturate(.45); }
.gc-tarea__arriba { display: flex; align-items: center; gap: 6px; min-width: 0; font-size: var(--gc-t-xs); color: var(--gc-texto-suave); }
.gc-tarea__cliente { display: inline-flex; align-items: center; gap: 6px; min-width: 0; font-weight: 600; }
.gc-tarea__cliente--interna { color: var(--gc-texto-tenue); font-weight: 500; }
.gc-tarea__cliente--interna .gc-i { width: 13px; height: 13px; }
.gc-tarea__punto { flex: none; width: 8px; height: 8px; border-radius: 50%; background: var(--c); box-shadow: 0 0 8px color-mix(in srgb, var(--c) 70%, transparent); }
.gc-tarea__prioridad { color: var(--gc-peligro); display: inline-flex; }
.gc-tarea__bloqueo { color: var(--gc-aviso); display: inline-flex; }
.gc-tarea__prioridad .gc-i, .gc-tarea__bloqueo .gc-i { width: 15px; height: 15px; }
.gc-tarea__titulo { font-weight: 600; line-height: 1.35; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.gc-tarea__motivo { display: flex; gap: 6px; align-items: flex-start; font-size: var(--gc-t-xs); color: var(--gc-aviso); line-height: 1.35; }
.gc-tarea__motivo .gc-i { width: 13px; height: 13px; margin-top: 1px; flex: none; }
.gc-tarea__pasos { display: flex; align-items: center; gap: 8px; font-size: 11px; color: var(--gc-texto-tenue); font-variant-numeric: tabular-nums; }
.gc-tarea__barra { flex: 1; height: 4px; border-radius: 4px; background: var(--gc-borde); overflow: hidden; }
.gc-tarea__barra span { display: block; height: 100%; border-radius: 4px; background: linear-gradient(90deg, var(--gc-cian), var(--gc-exito)); transition: width var(--gc-normal); }
.gc-tarea__abajo { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; min-height: 26px; }
.gc-tarea__vence { display: inline-flex; align-items: center; gap: 4px; padding: 2px 8px 2px 6px; border-radius: 99px; font-size: 11px; font-weight: 700; white-space: nowrap; color: var(--gc-texto-suave); background: var(--gc-superficie-3); }
.gc-tarea__vence .gc-i { width: 12px; height: 12px; }
.gc-tarea__vence--peligro { color: var(--gc-peligro); background: color-mix(in srgb, var(--gc-peligro) 14%, transparent); box-shadow: 0 0 0 1px color-mix(in srgb, var(--gc-peligro) 30%, transparent); }
.gc-tarea__vence--aviso { color: var(--gc-aviso); background: color-mix(in srgb, var(--gc-aviso) 14%, transparent); }
.gc-tarea__vence--cian { color: var(--gc-cian); background: color-mix(in srgb, var(--gc-cian) 12%, transparent); }
.gc-tarea__meta { display: inline-flex; align-items: center; gap: 3px; font-size: 11px; color: var(--gc-texto-tenue); font-variant-numeric: tabular-nums; }
.gc-tarea__meta .gc-i { width: 13px; height: 13px; }
.gc-tarea__avatar { width: 24px; height: 24px; font-size: 9px; }
.gc-tarea__sin { width: 24px; height: 24px; border-radius: 50%; border: 1px dashed var(--gc-borde-fuerte); display: grid; place-items: center; color: var(--gc-texto-tenue); }
.gc-tarea__sin .gc-i { width: 13px; height: 13px; }
.gc-tarea--compacta { gap: 5px; padding-top: 9px; padding-bottom: 8px; }
.gc-tarea--compacta .gc-tarea__titulo { -webkit-line-clamp: 1; }

/* ================================================================ panel de detalle */
.gc-tarea-detalle { display: flex; flex-direction: column; gap: 16px; transition: opacity var(--gc-rapido); }
.gc-tarea-detalle.guardando { opacity: .92; }
.gc-tarea-detalle__titulo {
  width: 100%; resize: none; border: 1px solid transparent; border-radius: var(--gc-radio); background: transparent; padding: 6px 8px; margin: -6px -8px 0;
  font-family: var(--gc-fuente-titulos); font-size: var(--gc-t-xl); font-weight: 600; line-height: 1.25; color: var(--gc-texto); field-sizing: content; min-height: 44px;
}
.gc-tarea-detalle__titulo:hover:not([readonly]) { border-color: var(--gc-borde); }
.gc-tarea-detalle__titulo:focus { outline: none; border-color: color-mix(in srgb, var(--gc-naranja) 50%, transparent); background: var(--gc-campo); }
.gc-tarea-estados { display: grid; grid-template-columns: repeat(auto-fit, minmax(110px, 1fr)); gap: 6px; padding: 4px; border-radius: var(--gc-radio-l); background: var(--gc-campo); border: 1px solid var(--gc-borde); }
.gc-tarea-estados button { --c: var(--gc-texto-suave); display: inline-flex; align-items: center; justify-content: center; gap: 6px; min-height: 36px; border: 1px solid transparent; border-radius: var(--gc-radio); background: none; color: var(--gc-texto-suave); font-weight: 600; font-size: var(--gc-t-s); transition: all var(--gc-rapido); }
.gc-tarea-estados button .gc-i { width: 15px; height: 15px; color: var(--gc-texto-c); }
.gc-tarea-estados button:hover:not([disabled]) { background: var(--gc-hover); color: var(--gc-texto); }
.gc-tarea-estados button[aria-pressed="true"] { color: var(--gc-texto); background: color-mix(in srgb, var(--c) 16%, var(--gc-superficie)); border-color: color-mix(in srgb, var(--c) 45%, transparent); box-shadow: 0 6px 18px -10px var(--c), inset 0 1px 0 rgba(255, 255, 255, .06); }
.gc-tarea-estados button[disabled] { cursor: default; }
.gc-tarea-motivo { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.gc-tarea-motivo .gc-entrada { flex: 1 1 240px; }
.gc-tarea-aviso { display: flex; gap: 10px; align-items: flex-start; padding: 10px 12px; border-radius: var(--gc-radio); font-size: var(--gc-t-s); line-height: 1.45; --c: var(--gc-info);
  background: color-mix(in srgb, var(--c) 10%, transparent); border: 1px solid color-mix(in srgb, var(--c) 28%, transparent); }
.gc-tarea-aviso > .gc-i { color: var(--gc-texto-c); flex: none; margin-top: 2px; }
.gc-tarea-aviso--aviso { --c: var(--gc-aviso); } .gc-tarea-aviso--peligro { --c: var(--gc-peligro); } .gc-tarea-aviso--exito { --c: var(--gc-exito); }
.gc-tarea-campos { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px 14px; }
.gc-tarea-campos .gc-campo { margin-bottom: 8px; }
.gc-tarea-campos__ancho { grid-column: 1 / -1; }
.gc-tarea-prioridad { display: flex; width: 100%; }
.gc-tarea-prioridad button { flex: 1; justify-content: center; }
.gc-tarea-prioridad button .gc-i { width: 14px; height: 14px; }
.gc-tarea-prioridad button.p1[aria-pressed="true"] { color: var(--gc-peligro); }
.gc-tarea-prioridad button.p3[aria-pressed="true"] { color: var(--gc-cian); }
.gc-tarea-seccion { border-top: 1px solid var(--gc-borde); padding-top: 14px; }
.gc-tarea-seccion h3 { display: flex; align-items: center; gap: 8px; margin: 0 0 10px; font-size: var(--gc-t-s); text-transform: uppercase; letter-spacing: .06em; color: var(--gc-texto-suave); }
.gc-tarea-seccion h3 > .gc-i { width: 16px; height: 16px; color: var(--gc-enlace); }
.gc-tarea-seccion h3 small { text-transform: none; letter-spacing: 0; font-weight: 500; }
.gc-tarea-seccion textarea.gc-entrada { resize: vertical; }
.gc-tarea-pasos { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 2px; }
.gc-tarea-pasos li { display: flex; align-items: center; gap: 10px; padding: 6px 8px; border-radius: var(--gc-radio-s); font-size: var(--gc-t-s); }
.gc-tarea-pasos li:hover { background: var(--gc-hover); }
.gc-tarea-pasos li input[type="checkbox"] { width: 18px; height: 18px; accent-color: var(--gc-exito); flex: none; }
.gc-tarea-pasos li.hecho > span.crece { color: var(--gc-texto-tenue); text-decoration: line-through; }
.gc-tarea-pasos__acciones { display: inline-flex; gap: 2px; opacity: 0; transition: opacity var(--gc-rapido); }
.gc-tarea-pasos li:hover .gc-tarea-pasos__acciones, .gc-tarea-pasos li:focus-within .gc-tarea-pasos__acciones { opacity: 1; }
.gc-tarea-pasos .gc-entrada { min-height: 30px; padding-top: 3px; padding-bottom: 3px; }
.gc-tarea-paso-nuevo { display: flex; align-items: center; gap: 8px; margin-top: 6px; padding-left: 8px; color: var(--gc-texto-tenue); }
.gc-tarea-paso-nuevo .gc-entrada { min-height: 34px; background: transparent; border-style: dashed; }
.gc-tarea-deps { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.gc-tarea-deps > div { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.gc-tarea-dep { display: flex; align-items: center; gap: 8px; padding: 6px 8px; border-radius: var(--gc-radio-s); border: 1px solid var(--gc-borde); background: var(--gc-superficie-2); color: var(--gc-texto); font-size: var(--gc-t-s); text-decoration: none !important; min-width: 0; }
.gc-tarea-dep:hover { border-color: var(--gc-borde-fuerte); }
.gc-tarea-dep a { color: var(--gc-texto); text-decoration: none; }
.gc-tarea-dep a:hover { color: var(--gc-enlace); }
.gc-tarea-redactor__adjuntar { max-width: 260px; }
.gc-tarea-dep .gc-i { width: 15px; height: 15px; flex: none; }
.gc-tarea-deps .gc-campo { margin: 0; }
.gc-tarea-nada { margin: 0; font-size: var(--gc-t-s); }
.gc-tarea-partes { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 4px; }
.gc-tarea-partes li { display: flex; align-items: center; gap: 10px; font-size: var(--gc-t-s); padding: 4px 0; }
.gc-tarea-partes .gc-avatar { width: 24px; height: 24px; font-size: 9px; }
.gc-progreso--excedido span { background: linear-gradient(90deg, var(--gc-aviso), var(--gc-peligro)); }
.gc-tarea-hilo__lista { display: flex; flex-direction: column; gap: 10px; max-height: 420px; overflow-y: auto; padding-right: 4px; margin-bottom: 10px; }
.gc-tarea-comentario { display: flex; gap: 10px; font-size: var(--gc-t-s); }
.gc-tarea-comentario p { margin: 4px 0 0; white-space: pre-wrap; line-height: 1.5; }
.gc-tarea-comentario--comentario > .crece { padding: 10px 12px; border-radius: 4px 14px 14px 14px; background: var(--gc-superficie-2); border: 1px solid var(--gc-borde); min-width: 0; }
.gc-tarea-comentario.propio > .crece { background: color-mix(in srgb, var(--gc-naranja) 8%, var(--gc-superficie-2)); border-color: color-mix(in srgb, var(--gc-naranja) 22%, transparent); }
.gc-tarea-comentario--comentario .gc-avatar { width: 30px; height: 30px; font-size: 11px; }
.gc-tarea-comentario--sistema { align-items: center; color: var(--gc-texto-tenue); font-size: var(--gc-t-xs); padding: 0 6px; }
.gc-tarea-comentario--sistema .gc-i { width: 14px; height: 14px; flex: none; }
.gc-tarea-comentario__borrar { opacity: 0; }
.gc-tarea-comentario:hover .gc-tarea-comentario__borrar, .gc-tarea-comentario__borrar:focus-visible { opacity: 1; }
.gc-tarea-adjunto { display: inline-flex; align-items: center; gap: 6px; margin-top: 8px; padding: 6px 10px; border-radius: var(--gc-radio-s); background: var(--gc-superficie-3); border: 1px solid var(--gc-borde); font-size: var(--gc-t-xs); color: var(--gc-texto); text-decoration: none !important; }
.gc-tarea-adjunto:hover { border-color: var(--gc-naranja); }
.gc-tarea-adjunto .gc-i { width: 14px; height: 14px; color: var(--gc-enlace); }
.gc-tarea-redactor { display: flex; flex-direction: column; gap: 8px; }
.gc-tarea-redactor textarea { resize: vertical; }
.gc-tarea-rapidas { display: flex; flex-wrap: wrap; gap: 4px; margin-top: 6px; }
.gc-tarea-rapidas button { border: 1px solid var(--gc-borde); background: var(--gc-superficie-2); color: var(--gc-texto-suave); border-radius: 99px; padding: 3px 10px; font-size: 11px; font-weight: 600; }
.gc-tarea-rapidas button:hover { border-color: var(--gc-borde-fuerte); color: var(--gc-texto); }
.gc-tarea-rapidas button.activa { border-color: var(--gc-naranja); color: var(--gc-enlace); background: var(--gc-seleccion); }

/* ================================================================ plantillas */
.gc-plantillas-grupo + .gc-plantillas-grupo { margin-top: 28px; }
.gc-plantillas-grupo__titulo { font-size: var(--gc-t-l); margin: 0 0 12px; display: flex; align-items: baseline; gap: 10px; flex-wrap: wrap; }
.gc-plantillas-grupo__titulo small { font-size: var(--gc-t-s); font-weight: 400; }
.gc-plantillas { display: grid; grid-template-columns: repeat(auto-fill, minmax(340px, 1fr)); gap: 16px; }
.gc-plantilla {
  --c: var(--gc-naranja); position: relative; display: flex; flex-direction: column; gap: 12px; padding: 18px; border-radius: var(--gc-radio-xl); overflow: hidden;
  background: radial-gradient(120% 90% at 0% 0%, color-mix(in srgb, var(--c) 12%, transparent), transparent 55%), var(--gc-superficie);
  border: 1px solid color-mix(in srgb, var(--c) 22%, var(--gc-borde)); box-shadow: var(--gc-sombra-s); transition: box-shadow var(--gc-normal), border-color var(--gc-normal);
}
.gc-plantilla:hover { box-shadow: var(--gc-sombra); border-color: color-mix(in srgb, var(--c) 40%, var(--gc-borde)); }
.gc-plantilla--periodo { --c: var(--gc-cian); }
.gc-plantilla--manual { --c: var(--gc-violeta); }
.gc-plantilla--pausa { filter: saturate(.35);  }
.gc-plantilla__cabecera { display: flex; align-items: center; gap: 12px; }
.gc-plantilla__cabecera .gc-interruptor { white-space: nowrap; font-size: var(--gc-t-xs); }
.gc-plantilla__icono {
  flex: none; width: 44px; height: 44px; border-radius: 14px; display: grid; place-items: center; color: var(--gc-tinta-c, #0B0D10);
  background: radial-gradient(110% 80% at 30% 0%, rgba(255, 255, 255, .45), transparent 52%), linear-gradient(155deg, color-mix(in srgb, var(--c) 80%, #fff), var(--c) 48%, color-mix(in srgb, var(--c) 75%, #000));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .4), 0 12px 24px -12px color-mix(in srgb, var(--c) 85%, transparent); transform: perspective(380px) rotateX(8deg) rotateY(-10deg);
}
.gc-plantilla__icono .gc-i { width: 22px; height: 22px; filter: drop-shadow(0 2px 3px rgba(0, 0, 0, .3)); }
.gc-plantilla__nombre { display: block; font-family: var(--gc-fuente-titulos); font-size: var(--gc-t-m); line-height: 1.25; }
.gc-plantilla__descripcion { margin: 0; color: var(--gc-texto-suave); font-size: var(--gc-t-s); line-height: 1.5; }
.gc-plantilla__chips { display: flex; flex-wrap: wrap; gap: 6px; }
.gc-plantilla__chip { display: inline-flex; align-items: center; gap: 5px; padding: 3px 9px; border-radius: 99px; background: var(--gc-superficie-2); border: 1px solid var(--gc-borde); font-size: 11px; font-weight: 600; color: var(--gc-texto-suave); }
.gc-plantilla__chip .gc-i { width: 13px; height: 13px; }
.gc-plantilla__pie { display: flex; align-items: center; gap: 8px; margin-top: auto; padding-top: 12px; border-top: 1px solid var(--gc-borde); flex-wrap: wrap; }
.gc-plantilla__cifras { font-size: var(--gc-t-xs); color: var(--gc-texto-tenue); }
.gc-plantilla__cifras b { color: var(--gc-texto); }
.gc-plantilla-disparos { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.gc-plantilla-disparos .gc-opcion.activa { border-color: var(--gc-naranja); background: var(--gc-seleccion); }
.gc-plantilla-disparos b { display: flex !important; align-items: center; gap: 6px; }
.gc-plantilla-codigos { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.gc-plantilla-codigos button { display: inline-flex; align-items: center; gap: 6px; min-height: 30px; padding: 0 10px; border-radius: var(--gc-radio-s); border: 1px solid var(--gc-borde-fuerte); background: var(--gc-campo); color: var(--gc-texto-suave); font-size: var(--gc-t-xs); font-weight: 700; font-family: var(--gc-fuente-titulos); }
.gc-plantilla-codigos button .gc-avatar { width: 20px; height: 20px; font-size: 8px; }
.gc-plantilla-codigos button[aria-pressed="true"] { border-color: var(--gc-naranja); color: var(--gc-texto); background: var(--gc-seleccion); box-shadow: 0 0 0 3px color-mix(in srgb, var(--gc-naranja) 12%, transparent); }
.gc-plantilla-variables { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; margin: -8px 0 6px; }
.gc-plantilla-variables button { border: 1px dashed var(--gc-borde-fuerte); background: none; border-radius: 6px; padding: 2px 8px; font-family: var(--gc-fuente-mono); font-size: 11px; color: var(--gc-cian); }
.gc-plantilla-variables button:hover { border-style: solid; border-color: var(--gc-cian); }
.gc-plantilla-pasos { list-style: none; counter-reset: paso; margin: 0 0 6px; padding: 0; display: flex; flex-direction: column; gap: 2px; }
.gc-plantilla-pasos li { counter-increment: paso; display: flex; align-items: center; gap: 8px; padding: 3px 6px; border-radius: var(--gc-radio-s); font-size: var(--gc-t-s); }
.gc-plantilla-pasos li:hover { background: var(--gc-hover); }
.gc-plantilla-pasos li::before { content: counter(paso); flex: none; width: 20px; height: 20px; border-radius: 50%; display: grid; place-items: center; font-size: 11px; font-weight: 700; color: var(--gc-texto-suave); background: var(--gc-superficie-3); }

/* ================================================================ tiempos: mi semana */
.gc-tiempos .gc-pestanas { margin-bottom: 18px; }
.gc-tiempos-marcha {
  display: flex; align-items: center; gap: 16px; padding: 14px 18px; margin-bottom: 16px; border-radius: var(--gc-radio-l);
  background: linear-gradient(110deg, color-mix(in srgb, var(--gc-exito) 14%, var(--gc-superficie)), var(--gc-superficie) 60%); border: 1px solid color-mix(in srgb, var(--gc-exito) 35%, transparent);
  box-shadow: 0 18px 40px -26px var(--gc-exito);
}
.gc-tiempos-marcha__punto { flex: none; width: 12px; height: 12px; border-radius: 50%; background: var(--gc-exito); animation: gc-tareas-pulso 1.6s infinite; }
.gc-tiempos-marcha__reloj { font-family: var(--gc-fuente-titulos); font-size: clamp(1.4rem, 2.4vw, 2rem); font-weight: 600; letter-spacing: .02em; }
@keyframes gc-tareas-pulso { 0% { box-shadow: 0 0 0 0 color-mix(in srgb, var(--gc-exito) 60%, transparent); } 70% { box-shadow: 0 0 0 10px transparent; } 100% { box-shadow: 0 0 0 0 transparent; } }
.gc-tiempos-semana__nav { display: flex; align-items: center; gap: 10px; margin: 0 0 16px; flex-wrap: wrap; }
.gc-tiempos-semana__nav h2 { margin: 0; font-size: var(--gc-t-l); min-width: 0; }
.gc-tiempos-apuntar { margin-top: 16px; padding: 14px 16px; }
.gc-tiempos-apuntar__titulo { display: flex; align-items: center; gap: 8px; margin-bottom: 10px; flex-wrap: wrap; }
.gc-tiempos-apuntar__titulo > .gc-i { color: var(--gc-enlace); }
.gc-tiempos-apuntar__campos { display: grid; grid-template-columns: 150px 100px minmax(0, 1.2fr) minmax(0, 1.2fr) minmax(0, 1.6fr) auto; gap: 10px; align-items: end; }
.gc-tiempos-apuntar__campos .gc-campo { margin: 0; }
.gc-tiempos-apuntar__fin { display: flex; align-items: center; gap: 12px; min-height: 42px; }
.gc-tiempos-dias { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)) repeat(2, minmax(0, .7fr)); gap: 10px; margin-top: 16px; }
.gc-tiempos-dia { display: flex; flex-direction: column; gap: 6px; padding: 12px 10px; border-radius: var(--gc-radio-l); background: var(--gc-superficie); border: 1px solid var(--gc-borde); min-height: 180px; min-width: 0; }
.gc-tiempos-dia.hoy { border-color: color-mix(in srgb, var(--gc-naranja) 55%, transparent); box-shadow: 0 0 0 3px color-mix(in srgb, var(--gc-naranja) 10%, transparent), var(--gc-sombra-s); }
.gc-tiempos-dia.fin { background: var(--gc-superficie-2); }
.gc-tiempos-dia.fin.vacio { filter: saturate(.5); min-height: 0; }
.gc-tiempos-dia header { display: flex; align-items: baseline; justify-content: space-between; gap: 6px; }
.gc-tiempos-dia header b { display: block; font-size: var(--gc-t-s); }
.gc-tiempos-dia header small { font-size: 11px; }
.gc-tiempos-dia header .cifra { font-family: var(--gc-fuente-titulos); font-weight: 600; }
.gc-tiempos-dia__barra { height: 5px; border-radius: 5px; background: var(--gc-borde); overflow: hidden; margin-bottom: 4px; }
.gc-tiempos-dia__barra span { display: block; height: 100%; border-radius: 5px; background: linear-gradient(90deg, var(--gc-cian), var(--gc-exito)); }
.gc-tiempos-dia__barra span.excedido { background: linear-gradient(90deg, var(--gc-aviso), var(--gc-peligro)); }
.gc-tiempos-dia__vacio { margin: auto 0; text-align: center; font-size: var(--gc-t-xs); color: var(--gc-texto-tenue); }
.gc-tiempos-parte {
  display: grid; grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "dur marcas" "texto texto"; align-items: center; gap: 2px 8px; width: 100%; padding: 7px 9px; border-radius: var(--gc-radio-s); text-align: left;
  border: 1px solid var(--gc-borde); background: var(--gc-superficie-2); color: var(--gc-texto); font-size: var(--gc-t-xs); transition: border-color var(--gc-rapido), transform var(--gc-rapido);
}
.gc-tiempos-parte:hover { border-color: var(--gc-borde-fuerte); transform: translateY(-1px); }
.gc-tiempos-parte--interno { border-style: dashed; }
.gc-tiempos-parte--marcha { border-color: color-mix(in srgb, var(--gc-exito) 55%, transparent); background: color-mix(in srgb, var(--gc-exito) 10%, var(--gc-superficie-2)); }
.gc-tiempos-parte__dur { grid-area: dur; font-family: var(--gc-fuente-titulos); font-weight: 600; font-size: var(--gc-t-xs); white-space: nowrap; }
.gc-tiempos-parte__texto { grid-area: texto; display: flex; flex-direction: column; min-width: 0; }
.gc-tiempos-parte__texto b, .gc-tiempos-parte__texto small { display: block; }
.gc-tiempos-parte__texto small { color: var(--gc-texto-tenue); }
.gc-tiempos-parte__marcas { grid-area: marcas; display: inline-flex; align-items: center; gap: 4px; color: var(--gc-texto-tenue); }
.gc-tiempos-parte__marcas .gc-i { width: 12px; height: 12px; }
.gc-tiempos-parte__fact { width: 7px; height: 7px; border-radius: 50%; background: var(--gc-exito); }

/* ================================================================ tiempos: equipo e informe */
.gc-tiempos-equipo { margin-top: 16px; padding: 6px 4px; }
.gc-tiempos-equipo .gc-tabla td, .gc-tiempos-equipo .gc-tabla th { white-space: nowrap; }
.gc-tiempos-equipo__dia.hoy { color: var(--gc-enlace); }
.gc-tiempos-equipo__calor { font-variant-numeric: tabular-nums; font-size: var(--gc-t-xs); min-width: 40px; box-shadow: inset 0 0 0 2px var(--gc-superficie); }
.gc-tiempos-vencidas { display: inline-flex; align-items: center; gap: 3px; margin-left: 6px; padding: 1px 7px; border-radius: 99px; font-size: 11px; font-weight: 700; color: var(--gc-peligro); background: color-mix(in srgb, var(--gc-peligro) 14%, transparent); }
.gc-tiempos-vencidas .gc-i { width: 12px; height: 12px; }
.gc-tiempos-equipo .gc-boton .gc-i { width: 12px; height: 12px; opacity: .5; }
.gc-tiempos-carga { position: relative; display: flex; height: 10px; border-radius: 6px; background: var(--gc-borde); overflow: hidden; margin-bottom: 4px; --c: var(--gc-exito); }
.gc-tiempos-carga--aviso { --c: var(--gc-aviso); } .gc-tiempos-carga--peligro { --c: var(--gc-peligro); }
.gc-tiempos-carga__apuntado { background: var(--c); }
.gc-tiempos-carga__previsto { background: repeating-linear-gradient(135deg, color-mix(in srgb, var(--c) 55%, transparent) 0 4px, color-mix(in srgb, var(--c) 25%, transparent) 4px 8px); }
.gc-tiempos-carga__limite { position: absolute; top: -2px; bottom: -2px; width: 2px; background: var(--gc-texto); opacity: .55; }
.gc-tiempos-nota { display: flex; gap: 8px; align-items: flex-start; margin: 10px 12px 8px; font-size: var(--gc-t-xs); line-height: 1.5; }
.gc-tiempos-nota .gc-i { width: 14px; height: 14px; flex: none; margin-top: 2px; }
.gc-tiempos-filtros { padding: 12px 14px; display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.gc-tiempos-filtros .gc-campo { margin: 0; }
.gc-tiempos-filtros .gc-tiempos-fecha { width: 150px; }

/* ================================================================ pestaña del expediente */
.gc-tareas-pestana__cuerpo { margin-top: 16px; grid-template-columns: minmax(0, 1fr) 340px; }
.gc-tareas-pestana__titulo { margin: 0 0 10px; font-size: var(--gc-t-s); text-transform: uppercase; letter-spacing: .06em; color: var(--gc-texto-suave); }
.gc-tareas-pestana__lista { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 10px; }
.gc-tareas-pestana__item { display: block; width: 100%; padding: 0; border-radius: var(--gc-radio); overflow: hidden; border: 1px solid var(--gc-borde); background: var(--gc-superficie); box-shadow: var(--gc-sombra-s); transition: transform var(--gc-rapido), box-shadow var(--gc-normal); }
.gc-tareas-pestana__item:hover { transform: translateY(-2px); box-shadow: var(--gc-sombra); }
.gc-tareas-pestana__persona { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 4px 10px; padding: 6px 0; font-size: var(--gc-t-s); }
.gc-tareas-pestana__persona .gc-avatar { width: 26px; height: 26px; font-size: 10px; }
.gc-tareas-pestana__barra { grid-column: 2 / 4; height: 4px; border-radius: 4px; background: var(--gc-borde); overflow: hidden; }
.gc-tareas-pestana__barra span { display: block; height: 100%; border-radius: 4px; }

/* ================================================================ cronómetro de la barra superior */
.gc-crono { position: relative; }
.gc-crono__pildora { display: inline-flex; align-items: center; height: 38px; border-radius: var(--gc-radio-pildora); border: 1px solid transparent; transition: all var(--gc-normal); }
.gc-crono__boton { display: inline-flex; align-items: center; gap: 8px; height: 100%; padding: 0 11px; border: 0; background: none; border-radius: var(--gc-radio-pildora); color: var(--gc-texto-suave); }
.gc-crono__boton:hover { background: var(--gc-hover); color: var(--gc-texto); }
.gc-crono--marcha .gc-crono__pildora { border-color: color-mix(in srgb, var(--gc-exito) 45%, transparent); background: color-mix(in srgb, var(--gc-exito) 10%, var(--gc-superficie)); box-shadow: 0 0 0 3px color-mix(in srgb, var(--gc-exito) 10%, transparent), 0 8px 22px -14px var(--gc-exito); }
.gc-crono--marcha .gc-crono__boton { color: var(--gc-texto); padding-right: 6px; }
.gc-crono__punto { flex: none; width: 9px; height: 9px; border-radius: 50%; background: var(--gc-exito); animation: gc-tareas-pulso 1.6s infinite; }
.gc-crono__tiempo { font-family: var(--gc-fuente-titulos); font-weight: 600; font-size: var(--gc-t-s); letter-spacing: .02em; }
.gc-crono__etiqueta { max-width: 160px; font-size: var(--gc-t-xs); color: var(--gc-texto-suave); }
.gc-crono__parar { display: grid; place-items: center; width: 30px; height: 30px; margin-right: 3px; border-radius: 50%; border: 0; background: color-mix(in srgb, var(--gc-peligro) 16%, transparent); color: var(--gc-peligro); transition: all var(--gc-rapido); }
.gc-crono__parar:hover { background: var(--gc-peligro); color: var(--gc-sobre-color); }
.gc-crono__parar .gc-i { width: 13px; height: 13px; fill: currentColor; }
.gc-crono__panel { width: 340px; padding: 12px; background: linear-gradient(var(--gc-superficie), var(--gc-superficie)), var(--gc-fondo); }
.gc-crono__actual { display: flex; flex-direction: column; align-items: center; gap: 2px; padding: 8px 4px 14px; text-align: center; }
.gc-crono__grande { font-family: var(--gc-fuente-titulos); font-size: 2rem; font-weight: 600; letter-spacing: .02em; color: var(--gc-exito); }
.gc-crono__recientes { display: flex; flex-direction: column; gap: 2px; max-height: 240px; overflow-y: auto; margin-bottom: 10px; }
.gc-crono__recientes button { display: flex; align-items: center; gap: 10px; width: 100%; padding: 8px; border: 0; border-radius: 10px; background: none; color: var(--gc-texto); font-size: var(--gc-t-s); text-align: left; }
.gc-crono__recientes button:hover { background: var(--gc-hover); }
.gc-crono__recientes .gc-i { width: 14px; height: 14px; flex: none; }
.gc-crono__libre { display: flex; flex-direction: column; gap: 8px; padding-top: 10px; border-top: 1px solid var(--gc-borde); }
.gc-crono__libre .gc-campo { margin: 0; }
.gc-crono__enlace { display: flex; align-items: center; gap: 8px; margin-top: 10px; padding: 8px; border-radius: 10px; font-size: var(--gc-t-s); color: var(--gc-texto-suave); text-decoration: none !important; }
.gc-crono__enlace:hover { background: var(--gc-hover); color: var(--gc-texto); }
.gc-crono__enlace .gc-i:last-child { margin-left: auto; width: 14px; height: 14px; }

/* ================================================================ tema claro */
[data-tema="claro"] .gc-tarea__vence--aviso { color: color-mix(in srgb, var(--gc-aviso) 70%, #111); }
[data-tema="claro"] .gc-tarea__motivo { color: color-mix(in srgb, var(--gc-aviso) 70%, #111); }
[data-tema="claro"] .gc-tarea__vence--cian, [data-tema="claro"] .gc-plantilla-variables button { color: color-mix(in srgb, var(--gc-cian) 60%, #111); }
[data-tema="claro"] .gc-crono__grande { color: color-mix(in srgb, var(--gc-exito) 70%, #111); }

/* ================================================================ pantallas medianas y móvil */
@media (max-width: 1280px) {
  .gc-tiempos-apuntar__campos { grid-template-columns: 150px 100px minmax(0, 1fr) minmax(0, 1fr); }
  .gc-tiempos-apuntar__desc { grid-column: 1 / 4; }
}
@media (max-width: 1100px) {
  .gc-tiempos-dias { grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); }
  .gc-tareas-pestana__cuerpo { grid-template-columns: minmax(0, 1fr); }
  .gc-crono__etiqueta { display: none; }
}
@media (max-width: 720px) {
  .gc-tarea-campos, .gc-tarea-deps { grid-template-columns: minmax(0, 1fr); }
  .gc-plantilla-disparos { grid-template-columns: minmax(0, 1fr); }
  .gc-plantillas { grid-template-columns: minmax(0, 1fr); }
  .gc-tiempos-apuntar__campos { grid-template-columns: minmax(0, 1fr) 110px; }
  .gc-tiempos-apuntar__campos > :nth-child(n + 3) { grid-column: 1 / -1; }
  .gc-tareas-filtro, .gc-tareas-buscar, .gc-tareas-prioridad { flex: 1 1 100%; width: 100%; max-width: none; }
  .gc-tareas-tablero .gc-kanban { grid-auto-columns: minmax(260px, 86vw); scroll-snap-type: x mandatory; }
  .gc-tareas-tablero .gc-kanban__columna { scroll-snap-align: start; max-height: none; }
  .gc-tiempos-marcha { flex-wrap: wrap; }
  .gc-tarea-pasos__acciones { opacity: 1; }
  .gc-tarea-comentario__borrar { opacity: 1; }
}
@media (max-width: 640px) {
  .gc-tarea-pie__texto { display: none; }
  .gc-tiempos-marcha > .crece { flex: 1 1 calc(100% - 40px); }
  .gc-tiempos-semana__nav { flex-wrap: nowrap; }
  .gc-tiempos-semana__nav h2 { flex: 1 1 0; font-size: var(--gc-t-m); text-align: center; }
  .gc-crono__boton { padding: 0 9px; }
  .gc-crono__tiempo { font-size: var(--gc-t-xs); }
  .gc-crono__panel { position: fixed; left: 12px; right: 12px; top: calc(var(--gc-alto-barra) + 6px); width: auto; }
}
@media (prefers-reduced-motion: reduce) {
  .gc-crono__punto, .gc-tiempos-marcha__punto { animation: none; }
}
.gc-tiempos-jornada { display: flex; align-items: flex-start; gap: 6px; margin: 6px 0 0; font-size: var(--gc-t-s); line-height: 1.5; }
.gc-tiempos-jornada .gc-i { width: 14px; height: 14px; flex: none; margin-top: 3px; }

/* ---------- Calendario de tareas ---------- */
.gc-cal__barra { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.gc-cal__titulo { margin: 0 6px; font-size: var(--gc-t-l); min-width: 0; }
.gc-cal__titulo::first-letter, .gc-cal__lateral h3::first-letter { text-transform: uppercase; }
.gc-cal__leyenda { line-height: 1.7; margin: 8px 0 12px; font-size: var(--gc-t-s); }
.gc-cal__marca { display: inline-block; margin: 0 5px 0 8px; width: 9px; height: 9px; border-radius: 50%; background: var(--gc-texto-suave); flex: none; }
.gc-cal__marca--vence { background: var(--gc-naranja); }
.gc-cal__marca--inicio { background: var(--gc-cian); }
.gc-cal__cuadricula { border: 1px solid var(--gc-borde); border-radius: var(--gc-radio-l); background: var(--gc-superficie); overflow: hidden; }
.gc-cal__cabeza { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); background: var(--gc-superficie-2); border-bottom: 1px solid var(--gc-borde); font-size: var(--gc-t-xs); font-weight: 600; color: var(--gc-texto-suave); }
.gc-cal__cabeza span { padding: 8px 6px; text-align: center; }
.gc-cal__dias { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); }
.gc-cal__dia { position: relative; min-height: 118px; padding: 6px; border-right: 1px solid var(--gc-borde); border-bottom: 1px solid var(--gc-borde); display: flex; flex-direction: column; gap: 4px; cursor: pointer; min-width: 0; transition: background var(--gc-rapido); }
.gc-cal__dia:nth-child(7n) { border-right: 0; }
.gc-cal__dia--fuera { background: color-mix(in srgb, var(--gc-superficie-2) 60%, transparent); color: var(--gc-texto-tenue); }
.gc-cal__dia--fin:not(.gc-cal__dia--hoy) { background: color-mix(in srgb, var(--gc-superficie-2) 40%, transparent); }
.gc-cal__dia--elegido { box-shadow: inset 0 0 0 2px color-mix(in srgb, var(--gc-naranja) 70%, transparent); }
.gc-cal__dia--sobre { background: var(--gc-seleccion); }
.gc-cal__dia:focus-visible { outline: 2px solid var(--gc-naranja); outline-offset: -2px; }
.gc-cal__num { font-weight: 600; font-size: var(--gc-t-s); display: flex; align-items: baseline; gap: 6px; }
.gc-cal__nombre { display: none; font-weight: 400; color: var(--gc-texto-suave); }
.gc-cal__dia--hoy .gc-cal__num { color: var(--gc-enlace); }
.gc-cal__dia--hoy .gc-cal__num::after { content: 'hoy'; font-size: var(--gc-t-xs); font-weight: 600; padding: 1px 6px; border-radius: 999px; background: color-mix(in srgb, var(--gc-naranja) 18%, transparent); }
.gc-cal__eventos { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.gc-cal__evento { display: flex; align-items: center; gap: 4px; width: 100%; padding: 3px 6px; border: 0; border-left: 3px solid var(--gc-naranja); border-radius: 6px; background: color-mix(in srgb, var(--gc-naranja) 12%, var(--gc-superficie)); color: var(--gc-texto); font: inherit; font-size: var(--gc-t-xs); text-align: left; cursor: grab; min-width: 0; }
.gc-cal__evento--inicio { border-left-color: var(--gc-cian); background: color-mix(in srgb, var(--gc-cian) 12%, var(--gc-superficie)); }
.gc-cal__evento--vencida { border-left-color: var(--gc-peligro); background: color-mix(in srgb, var(--gc-peligro) 12%, var(--gc-superficie)); }
.gc-cal__evento--hecha { filter: saturate(.5); text-decoration: line-through; }
.gc-cal__evento:hover { filter: brightness(1.06); }
.gc-cal__evento:focus-visible { outline: 2px solid var(--gc-naranja); outline-offset: 1px; }
.gc-cal__evento svg { width: 12px; height: 12px; flex: none; }
.gc-cal__mas { border: 0; background: none; color: var(--gc-texto-suave); font: inherit; font-size: var(--gc-t-xs); text-align: left; padding: 0 6px; cursor: pointer; }
.gc-cal__puntos { display: none; gap: 3px; }
.gc-cal__puntos i { width: 6px; height: 6px; border-radius: 50%; background: var(--gc-naranja); }
.gc-cal__puntos i.gc-cal__punto--inicio { background: var(--gc-cian); }
.gc-cal__lateral { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); gap: 14px; margin-top: 14px; align-items: start; }
.gc-cal__lateral h3 { margin: 0 0 8px; font-size: var(--gc-t-m); }
.gc-cal__lista { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 4px; }
.gc-cal__fila { display: flex; align-items: center; gap: 10px; width: 100%; padding: 8px 10px; border: 1px solid var(--gc-borde); border-radius: var(--gc-radio); background: var(--gc-superficie); color: inherit; font: inherit; text-align: left; cursor: pointer; min-height: 44px; }
.gc-cal__fila:hover { background: var(--gc-superficie-2); }
.gc-cal__fila:focus-visible { outline: 2px solid var(--gc-naranja); outline-offset: 1px; }
.gc-cal__ayuda { margin: 0 0 8px; font-size: var(--gc-t-s); }
.gc-cal__cuadricula--semana .gc-cal__dia { min-height: 260px; }
@media (max-width: 760px) {
  .gc-cal__dia { min-height: 54px; padding: 4px; align-items: center; }
  .gc-cal__cuadricula--mes .gc-cal__eventos { display: none; }
  .gc-cal__puntos { display: flex; }
  .gc-cal__cuadricula--semana .gc-cal__dias { grid-template-columns: 1fr; }
  .gc-cal__cuadricula--semana .gc-cal__cabeza { display: none; }
  .gc-cal__cuadricula--semana .gc-cal__dia { min-height: 0; align-items: stretch; border-right: 0; }
  .gc-cal__cuadricula--semana .gc-cal__nombre { display: inline; }
  .gc-cal__cuadricula--semana .gc-cal__puntos { display: none; }
  .gc-cal__lateral { grid-template-columns: minmax(0, 1fr); }
  .gc-cal__titulo { font-size: var(--gc-t-m); }
}

.gc-tarea-origen { display: flex; align-items: center; gap: 8px; margin: 10px 0; padding: 10px 12px; border: 1px solid var(--gc-borde); border-radius: var(--gc-radio); background: var(--gc-superficie-2); color: var(--gc-texto); text-decoration: none; font-size: var(--gc-t-s); min-height: 44px; }
.gc-tarea-origen span { flex: 1; min-width: 0; color: var(--gc-texto-suave); }
.gc-tarea-origen b { color: var(--gc-enlace); }
.gc-tarea-origen:hover { background: var(--gc-seleccion); }
.gc-tarea-origen:focus-visible { outline: 2px solid var(--gc-naranja); outline-offset: 2px; }

/* ---------- Aprobación de partes por semana ---------- */
.gc-tiempos-estado { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin: 0 0 14px; padding: 10px 14px; border-radius: var(--gc-radio); border: 1px solid var(--gc-borde); background: var(--gc-superficie-2); font-size: var(--gc-t-s); }
.gc-tiempos-estado--exito { border-color: color-mix(in srgb, var(--gc-exito) 45%, transparent); background: color-mix(in srgb, var(--gc-exito) 10%, var(--gc-superficie)); }
.gc-tiempos-estado--peligro { border-color: color-mix(in srgb, var(--gc-peligro) 45%, transparent); background: color-mix(in srgb, var(--gc-peligro) 10%, var(--gc-superficie)); }
.gc-tiempos-aprobar-ajuste { display: flex; flex-direction: column; gap: 6px; margin-top: 14px; }
.gc-tiempos-aprobar__acciones { display: flex; gap: 6px; flex-wrap: wrap; justify-content: flex-end; }
