/* Almova · Flujo compacto (10/11/2026) · seguimiento-hoy.css
   · «Hoy» (seguimiento-rd-hoy.js): cuatro cifras arriba y los grupos con sus filas (maqueta Main.dc.html).
   · Los tres carriles de la ficha (seguimiento-cajon.js, bloque .fc-carriles; maqueta Ficha.dc.html): «Presupuesto
     aceptado» a la izquierda, Obra, Dinero y Papeles en filas con sus 3 pasos unidos por flechas y «Cierre» a la derecha.
     El cajón mide 440-480 px: ahí los pasos van uno debajo de otro; con sitio (página entera, ≥ 720 px de ancho útil),
     en fila como en la maqueta.
   · El diálogo «¿Se instaló?».
   Solo colores de ui/tokens.css. Sin la bandera FLUJO_COMPACTO nada de esto se usa. */

/* ------------------------------------------------------------------ «Hoy» */
.m-rd .fc-hoy { display: flex; flex-direction: column; gap: var(--m-sp-5, 20px); }
.m-rd .fc-hoy__cab { display: flex; flex-wrap: wrap; align-items: center; gap: var(--m-sp-2, 8px) var(--m-sp-4, 16px); }
.m-rd .fc-hoy__fecha { margin: 0; flex: 1 1 220px; font-size: var(--m-fs-15, .9375rem); color: var(--m-muted); }
.m-rd .fc-hoy__cab .rd-of-hora { font-size: var(--m-fs-14, .875rem); color: var(--m-muted); }

.m-rd .fc-cifras { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--m-sp-3, 12px); }
.m-rd .fc-cifra { display: flex; flex-direction: column; gap: 2px; background: var(--m-surface); border: 1px solid var(--m-line-strong); border-radius: 10px; padding: 14px 16px; }
.m-rd .fc-cifra__t, .m-rd .fc-cifra__s { font-size: var(--m-fs-14, .875rem); color: var(--m-muted); }
.m-rd .fc-cifra__n { font-size: var(--m-fs-24, 1.5rem); font-weight: var(--m-fw-bold, 700); color: var(--m-text); }
.m-rd .fc-cifra--mal { border-color: var(--m-block-line); background: var(--m-block-bg); }
.m-rd .fc-cifra--mal .fc-cifra__t, .m-rd .fc-cifra--mal .fc-cifra__n, .m-rd .fc-cifra--mal .fc-cifra__s { color: var(--m-block-ink); }
.m-rd .fc-cifra--aviso { border-color: var(--m-warn-line); background: var(--m-warn-bg); }
.m-rd .fc-cifra--aviso .fc-cifra__t, .m-rd .fc-cifra--aviso .fc-cifra__n, .m-rd .fc-cifra--aviso .fc-cifra__s { color: var(--m-warn-ink); }

.m-rd .fc-grupo { display: flex; flex-direction: column; gap: var(--m-sp-2, 8px); }
.m-rd .fc-grupo__t { margin: var(--m-sp-2, 8px) 0 0; font-size: var(--m-fs-20, 1.25rem); font-weight: var(--m-fw-bold, 700); color: var(--m-text); }
.m-rd .fc-grupo__n { font-weight: var(--m-fw-regular, 400); color: var(--m-muted); }
.m-rd .fc-lista { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: var(--m-sp-2, 8px); }
.m-rd .fc-vacio { margin: 0; padding: 14px 16px; background: var(--m-surface); border: 1px dashed var(--m-line-strong); border-radius: 10px; color: var(--m-muted); font-size: var(--m-fs-15, .9375rem); }

.m-rd .fc-fila { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 20px; background: var(--m-surface); border: 1px solid var(--m-line-strong); border-radius: 10px; padding: 12px 16px; }
.m-rd .fc-fila--atrasado { border-color: var(--m-block-line); }
.m-rd .fc-fila--atrasado .fc-fila__texto { color: var(--m-block-ink); }
.m-rd .fc-fila--decides { border-color: var(--m-warn-line); }
.m-rd .fc-fila--esperando { border-color: var(--m-line); }
.m-rd .fc-fila--esperando .fc-fila__texto { font-weight: var(--m-fw-regular, 400); }
.m-rd .fc-fila--hecho_hoy { background: var(--m-done-bg); border-color: var(--m-done-bg); }
.m-rd .fc-fila--hecho_hoy .fc-fila__texto, .m-rd .fc-fila--hecho_hoy .fc-fila__nombre { color: var(--m-done-ink); }
.m-rd .fc-fila__quien { flex: 1 1 180px; min-width: 0; display: flex; flex-direction: column; align-items: flex-start; }
.m-rd .fc-fila__nombre { font: inherit; font-size: var(--m-fs-16, 1rem); font-weight: var(--m-fw-semibold, 600); color: var(--m-link); background: none; border: 0; padding: 0; margin: 0;
  text-align: left; text-decoration: underline; text-decoration-color: var(--m-link-line); text-underline-offset: 4px; cursor: pointer; min-height: 32px; overflow-wrap: anywhere; }
.m-rd .fc-fila__nombre--sin { text-decoration: none; cursor: default; }
.m-rd .fc-fila__nombre:focus-visible { outline: var(--m-focus-width, 3px) solid var(--m-focus); outline-offset: var(--m-focus-offset, 2px); border-radius: 4px; }
.m-rd .fc-fila__sub { font-size: var(--m-fs-14, .875rem); color: var(--m-muted); }
.m-rd .fc-fila__carril { flex: 0 0 auto; display: flex; flex-direction: column; align-items: flex-start; gap: 4px; min-width: 76px; }
.m-rd .fc-fila__tarde { font-size: var(--m-fs-12, .75rem); font-weight: var(--m-fw-semibold, 600); color: var(--m-late); }
.m-rd .fc-fila__que { flex: 2 1 260px; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.m-rd .fc-fila__texto { font-size: var(--m-fs-16, 1rem); font-weight: var(--m-fw-semibold, 600); color: var(--m-text); }
.m-rd .fc-fila__detalle { font-size: var(--m-fs-14, .875rem); color: var(--m-muted); }
.m-rd .fc-fila__acc { flex: 0 1 auto; display: flex; flex-wrap: wrap; gap: 8px; justify-content: flex-end; }
.m-rd .fc-fila__err { flex: 1 1 100%; }
.m-rd .fc-fila__err:empty { display: none; }

.m-rd .fc-pastilla { display: inline-block; font-size: var(--m-fs-12, .75rem); font-weight: var(--m-fw-semibold, 600); padding: 4px 8px; border-radius: var(--m-r-sm, 6px); border: 1px solid var(--m-line-strong); background: var(--m-subtle); color: var(--m-text); }
.m-rd .fc-pastilla--obra { background: var(--m-p3-bg); border-color: var(--m-p3-line); color: var(--m-p3-ink); }
.m-rd .fc-pastilla--dinero { background: var(--m-p4-bg); border-color: var(--m-p4-line); color: var(--m-p4-ink); }
.m-rd .fc-pastilla--papeles { background: var(--m-p5-bg); border-color: var(--m-p5-line); color: var(--m-p5-ink); }

/* Botones de las acciones: 44 px de alto, que no se corten */
.m-rd .fc-btn { min-height: var(--m-target, 44px); white-space: normal; text-align: center; }

/* Con sitio, las columnas alineadas de una fila a otra (cliente · carril · qué hay que hacer · botones) */
@media (min-width: 760px) { .m-rd .fc-cifras { grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); } }
@media (min-width: 900px) {
  .m-rd .fc-fila { display: grid; grid-template-columns: minmax(170px, 1.1fr) 84px minmax(0, 2.6fr) auto; }
  .m-rd .fc-fila__err { grid-column: 1 / -1; }
}
@media (max-width: 720px) {
  .m-rd .fc-fila__acc { justify-content: flex-start; flex: 1 1 100%; }
  .m-rd .fc-fila__acc .fc-btn { flex: 1 1 auto; }
}

/* ------------------------------------------------------------------ los tres carriles en la ficha */
.m-rd .fc-carriles { container-type: inline-size; container-name: fc; display: flex; flex-direction: column; gap: var(--m-sp-3, 12px); margin: var(--m-sp-3, 12px) 0 var(--m-sp-4, 16px); }
.m-rd .fc-banda { margin: 0; padding: 12px 16px; border-radius: 10px; font-size: var(--m-fs-15, .9375rem); border: 1px solid; }
.m-rd .fc-banda--verde { background: var(--m-done-bg); border-color: var(--m-done-line); color: var(--m-done-ink); }
.m-rd .fc-banda--rojo { background: var(--m-block-bg); border-color: var(--m-block-line); color: var(--m-block-ink); }

.m-rd .fc-ahora { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 16px; padding: 14px 16px; border: 1px solid var(--m-text); border-radius: 10px; background: var(--m-surface); }
.m-rd .fc-ahora__q { flex: 1 1 220px; min-width: 0; }
.m-rd .fc-ahora__l { display: block; font-size: var(--m-fs-14, .875rem); color: var(--m-muted); }
.m-rd .fc-ahora__t { margin: 2px 0 0; font-size: var(--m-fs-18, 1.125rem); font-weight: var(--m-fw-bold, 700); line-height: var(--m-lh-snug, 1.35); color: var(--m-text); }
.m-rd .fc-ahora__acc { display: flex; flex-wrap: wrap; gap: 8px; }
.m-rd .fc-ahora__err { flex: 1 1 100%; }
.m-rd .fc-ahora__err:empty, .m-rd .fc-paso__err:empty, .m-rd .fc-fin__err:empty { display: none; }

/* Estrecho (el cajón): todo en una columna, los pasos uno debajo de otro con una flecha hacia abajo */
.m-rd .fc-mapa { display: flex; flex-direction: column; gap: 10px; }
.m-rd .fc-inicio, .m-rd .fc-fin { display: flex; flex-direction: column; gap: 2px; border-radius: 10px; padding: 10px 12px; font-size: var(--m-fs-14, .875rem); }
.m-rd .fc-inicio { border: 1px solid var(--m-done-line); background: var(--m-done-bg); color: var(--m-done-ink); }
.m-rd .fc-inicio b, .m-rd .fc-fin__t { color: var(--m-text); font-size: var(--m-fs-14, .875rem); }
.m-rd .fc-fin { border: 1px solid var(--m-line-strong); background: var(--m-bg); color: var(--m-muted); gap: 6px; }
.m-rd .fc-fin--listo { border-color: var(--m-text); background: var(--m-surface); }
.m-rd .fc-fin--hecho { border-color: var(--m-done-line); background: var(--m-done-bg); color: var(--m-done-ink); }
.m-rd .fc-carriles__filas { display: flex; flex-direction: column; gap: 10px; }

.m-rd .fc-carril { border: 1px solid var(--m-line-strong); border-radius: 10px; background: var(--m-surface); padding: 12px 14px; display: flex; flex-direction: column; gap: 10px; }
.m-rd .fc-carril--aviso { border-color: var(--m-warn-line); }
.m-rd .fc-carril--falta { border-color: var(--m-block-line); }
.m-rd .fc-carril__cab { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 4px 12px; }
.m-rd .fc-carril__t { margin: 0; font-size: var(--m-fs-18, 1.125rem); font-weight: var(--m-fw-bold, 700); color: var(--m-text); }
.m-rd .fc-carril__nota { font-size: var(--m-fs-14, .875rem); color: var(--m-muted); }

.m-rd .fc-pasos { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: minmax(0, 1fr); gap: 22px; }
.m-rd .fc-paso { position: relative; border: 1px solid var(--m-line-strong); border-radius: 8px; background: var(--m-surface); padding: 10px; display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.m-rd .fc-paso + .fc-paso::before {
  content: ""; position: absolute; left: 50%; top: -19px; width: 12px; height: 16px; margin-left: -6px;
  background: no-repeat center / contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='16' viewBox='0 0 12 16'%3E%3Cpath d='M6 0v13M2 9l4 4 4-4' stroke='%236f7a73' stroke-width='1.5' fill='none'/%3E%3C/svg%3E");
}
.m-rd .fc-paso__etq { align-self: flex-start; font-size: var(--m-fs-12, .75rem); padding: 3px 8px; border-radius: var(--m-r-sm, 6px); border: 1px solid var(--m-line-strong); background: var(--m-subtle); color: var(--m-text); }
.m-rd .fc-paso__t { font-size: var(--m-fs-16, 1rem); font-weight: var(--m-fw-bold, 700); color: var(--m-text); }
.m-rd .fc-paso__x { font-size: var(--m-fs-14, .875rem); line-height: 1.4; color: var(--m-muted); overflow-wrap: anywhere; }
.m-rd .fc-paso__acc { display: flex; flex-wrap: wrap; gap: 6px; margin-top: auto; }
.m-rd .fc-paso__acc .fc-btn { font-size: var(--m-fs-14, .875rem); padding-left: 10px; padding-right: 10px; }

.m-rd .fc-paso--hecho { border-color: var(--m-done-line); }
.m-rd .fc-paso--hecho .fc-paso__etq { background: var(--m-done-bg); border-color: var(--m-done-bg); color: var(--m-done-ink); }
.m-rd .fc-paso--ahora { border-color: var(--m-todo-line); box-shadow: inset 0 0 0 1px var(--m-todo-line); }
.m-rd .fc-paso--ahora .fc-paso__etq { background: var(--m-todo-bg); border-color: var(--m-todo-line); color: var(--m-todo-ink); }
.m-rd .fc-paso--listo .fc-paso__etq { background: var(--m-subtle); border-color: var(--m-subtle); }
.m-rd .fc-paso--luego { background: var(--m-bg); border-color: var(--m-line); }
.m-rd .fc-paso--luego .fc-paso__etq { background: var(--m-surface); color: var(--m-muted); }
.m-rd .fc-paso--aviso { border-color: var(--m-warn-line); }
.m-rd .fc-paso--aviso .fc-paso__etq { background: var(--m-warn-bg); border-color: var(--m-warn-bg); color: var(--m-warn-ink); }
.m-rd .fc-paso--falta { border-color: var(--m-block-line); }
.m-rd .fc-paso--falta .fc-paso__etq { background: var(--m-block-bg); border-color: var(--m-block-bg); color: var(--m-block-ink); }

/* Con sitio (página entera): como la maqueta, «Presupuesto aceptado» → tres carriles → «Cierre», y los pasos en fila */
@container fc (min-width: 720px) {
  .m-rd .fc-mapa { display: grid; grid-template-columns: 104px minmax(0, 1fr) 104px; gap: 0 26px; align-items: center; }
  .m-rd .fc-inicio, .m-rd .fc-fin { text-align: center; align-items: center; position: relative; }
  .m-rd .fc-inicio::after, .m-rd .fc-fin::before {
    content: ""; position: absolute; top: 50%; width: 18px; height: 12px; margin-top: -6px;
    background: no-repeat center / contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='12' viewBox='0 0 18 12'%3E%3Cpath d='M0 6h15M11 2l4 4-4 4' stroke='%236f7a73' stroke-width='1.5' fill='none'/%3E%3C/svg%3E");
  }
  .m-rd .fc-inicio::after { right: -23px; }
  .m-rd .fc-fin::before { left: -23px; }
  .m-rd .fc-carriles__filas { border-left: 1.5px solid var(--m-line-strong); border-right: 1.5px solid var(--m-line-strong); padding: 0 12px; }
  .m-rd .fc-pasos { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px 24px; align-items: stretch; }
  .m-rd .fc-paso + .fc-paso::before {
    left: -21px; top: 50%; width: 18px; height: 12px; margin: -6px 0 0;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='12' viewBox='0 0 18 12'%3E%3Cpath d='M0 6h15M11 2l4 4-4 4' stroke='%236f7a73' stroke-width='1.5' fill='none'/%3E%3C/svg%3E");
  }
}

/* ------------------------------------------------------------------ diálogo «¿Se instaló?» */
.m-rd .fc-opciones { border: 0; margin: 0 0 var(--m-sp-3, 12px); padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.m-rd .fc-opciones legend { width: 100%; margin-bottom: 6px; }
.m-rd .fc-opcion { display: inline-flex; align-items: center; gap: 8px; min-height: var(--m-target, 44px); padding: 0 14px; border: 1px solid var(--m-control); border-radius: var(--m-r-md, 8px); background: var(--m-surface); cursor: pointer; font-size: var(--m-fs-16, 1rem); }
.m-rd .fc-opcion:has(input:checked) { border-color: var(--m-text); box-shadow: inset 0 0 0 1px var(--m-text); font-weight: var(--m-fw-semibold, 600); }
.m-rd .fc-opcion:has(input:disabled) { opacity: .6; cursor: not-allowed; }
.m-rd .fc-opcion input { width: 18px; height: 18px; margin: 0; }
.m-rd .fc-opcion:has(input:focus-visible) { outline: var(--m-focus-width, 3px) solid var(--m-focus); outline-offset: var(--m-focus-offset, 2px); }
.m-rd .fc-aviso-cita { padding: 10px 12px; border-radius: 8px; background: var(--m-warn-bg); color: var(--m-warn-ink); }
