/* Bloque fichaje: pantalla de fichar (móvil primero), registros, correcciones e impresión. */
.fichar-tarjeta { background: var(--superficie); border: 1px solid var(--linea); border-radius: 18px; padding: 1.1rem 1.1rem 1.2rem; margin-bottom: 1rem; box-shadow: 0 2px 8px rgba(22, 48, 43, .06); }
.fichar-estado { display: flex; align-items: center; gap: .5rem; flex-wrap: wrap; font-size: 1.05rem; }
.fichar-estado span:last-child { color: var(--tinta-2); }
.fichar-estado .luz { width: 12px; height: 12px; border-radius: 50%; background: var(--linea); flex: none; }
.estado-trabajando .luz { background: var(--cruz); box-shadow: 0 0 0 4px var(--cruz-claro); }
.estado-en_pausa .luz { background: #D98A1D; box-shadow: 0 0 0 4px var(--ambar-fondo); }
.fichar-reloj { margin: .8rem 0 .4rem; }
.fichar-reloj b { display: block; font-size: 2.6rem; line-height: 1; font-weight: 800; letter-spacing: -.02em; font-variant-numeric: tabular-nums; }
.fichar-reloj span { color: var(--tinta-2); font-size: .9rem; }
.fichar-plan { margin: .4rem 0 0; color: var(--tinta-2); }
.fichar-botones { display: grid; gap: .6rem; margin-top: 1rem; }
.fichar-btn { min-height: 64px; font-size: 1.2rem; font-weight: 750; border-radius: 14px; justify-content: center; }
.fichar-btn.principal { background: var(--cruz); border-color: var(--cruz); color: #fff; min-height: 76px; font-size: 1.35rem; }
.fichar-btn.principal:hover { background: var(--cruz-osc); }
.fichar-btn.principal.t-salida { background: var(--tinta); border-color: var(--tinta); }
.fichar-btn.principal.t-pausa_fin { background: #B86E0E; border-color: #B86E0E; }
.fichar-aviso { margin: .8rem 0 0; padding: .6rem .7rem; border-radius: var(--radio); background: var(--ambar-fondo); color: #5C3A00; font-size: .92rem; }
.fichar-tarjeta.compacta .fichar-reloj b { font-size: 2rem; }
.fichar-tarjeta.compacta .fichar-btn { min-height: 56px; font-size: 1.08rem; }
.fichar-tarjeta.compacta .fichar-btn.principal { min-height: 64px; font-size: 1.2rem; }
.fichar-confirma { font-size: 1.3rem; margin-bottom: .3rem; }
.fichar-pie { text-align: center; font-size: .9rem; color: var(--tinta-2); }
.marcas-hoy b { font-variant-numeric: tabular-nums; }

.cifras.cifras-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.cifra.aviso b { color: var(--ambar); }
.dias-fichaje { display: grid; gap: .6rem; }
.dia-f { background: var(--superficie); border: 1px solid var(--linea); border-radius: var(--radio-g); padding: .7rem .85rem; }
.dia-f.hoy { border-color: var(--cruz); }
.dia-f.con-incidencia { border-left: 4px solid var(--alerta); }
.dia-f header { display: flex; justify-content: space-between; align-items: baseline; gap: .5rem; }
.dia-f header span { font-variant-numeric: tabular-nums; }
.dia-f .plan { margin: .25rem 0 0; font-size: .86rem; color: var(--tinta-2); }
.dia-f ul.marcas { list-style: none; margin: .4rem 0 0; padding: 0; display: grid; gap: .15rem; }
.dia-f ul.marcas li { display: flex; align-items: center; gap: .5rem; font-size: .92rem; flex-wrap: wrap; }
.dia-f ul.marcas li span { min-width: 7.5rem; color: var(--tinta-2); }
.dia-f ul.marcas li b { font-variant-numeric: tabular-nums; }
.dia-f ul.marcas li .origen { background: var(--ambar-fondo); color: #6E4100; border-radius: 999px; padding: 0 .45rem; }
.dia-f ul.marcas li button { margin-left: auto; }
.dia-f > p.neg { margin: .35rem 0 0; font-size: .88rem; }
.dia-f > button { margin-top: .4rem; }
.estado-cierre { padding: .5rem .7rem; border-radius: var(--radio); background: var(--cruz-claro); color: var(--cruz-osc); font-weight: 650; }
.estado-cierre.desactualizado { background: var(--alerta-fondo); color: var(--alerta); }

.correcciones { display: grid; gap: .6rem; }
.corr { background: var(--superficie); border: 1px solid var(--linea); border-radius: var(--radio-g); padding: .7rem .85rem; }
.corr header { display: flex; justify-content: space-between; gap: .5rem; align-items: baseline; }
.corr p { margin: .3rem 0; }
.corr.estado-pendiente { border-left: 4px solid #D98A1D; }
.panel.destacado { border-color: #F0D4A0; background: #FFFBF2; }
.texto-legal p { margin: 0 0 .6rem; }
.texto-legal p:first-child { font-weight: 750; font-size: 1.05rem; }
.aviso-texto { background: var(--ambar-fondo); padding: .6rem .8rem; border-radius: var(--radio); }
tr.anulada td { text-decoration: line-through; color: var(--tinta-3); }
.ok-grande { color: var(--cruz-osc); font-size: 1.15rem; }
.segmentado { display: inline-flex; border: 1px solid var(--linea); border-radius: 999px; overflow: hidden; }
.segmentado button { border: 0; border-radius: 0; min-height: 36px; }
.segmentado button.activo { background: var(--tinta); color: #fff; }

.registro-impr .firmas { display: grid; grid-template-columns: 1fr 1fr; gap: 2rem; margin-top: 2.5rem; }
.registro-impr .firmas div { border-top: 1px solid var(--tinta-3); padding-top: .3rem; font-size: 11px; color: var(--tinta-2); min-height: 3rem; }

@media (max-width: 760px) {
  .cifras.cifras-4 { grid-template-columns: repeat(2, 1fr); }
}
