:root{--color-primario: #2563eb;--color-secundario: #0f172a;--color-acento: #16a34a;--color-fondo: #ffffff;--color-texto: #0f172a;--color-tenue: #64748b;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5;-webkit-font-smoothing:antialiased}@media(prefers-color-scheme:dark){:root{--color-fondo: #0f172a;--color-texto: #f1f5f9;--color-tenue: #94a3b8}}*{box-sizing:border-box;margin:0}body{background:var(--color-fondo);color:var(--color-texto);min-height:100dvh;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}button{min-height:48px;font:inherit;touch-action:manipulation;cursor:pointer}.pantalla{max-width:32rem;margin:0 auto;padding:2rem 1.25rem;display:flex;flex-direction:column;gap:.75rem}h1{font-size:1.5rem;color:var(--color-primario)}.marca{display:block;object-fit:contain;object-position:left center;max-width:100%}.marca-titulo{height:3.5rem;margin:0 auto .5rem;object-position:center}.marca-compacto{height:2rem}.marca-previsualizacion{height:4rem;padding:.75rem;border:1px solid #e2e8f0;border-radius:.5rem;background:#fff}.tenue{color:var(--color-tenue);font-size:.9rem}.formulario{display:flex;flex-direction:column;gap:1rem;margin:.5rem 0}.formulario label{display:flex;flex-direction:column;gap:.375rem;font-size:.9rem;color:var(--color-tenue)}.formulario input{font:inherit;font-size:1rem;padding:.75rem .875rem;border:1px solid #cbd5e1;border-radius:.5rem;background:var(--color-fondo);color:var(--color-texto)}.formulario input:focus{outline:2px solid var(--color-primario);outline-offset:1px}.formulario button{margin-top:.25rem;background:var(--color-primario);color:#fff;border:none;border-radius:.5rem;font-weight:600}.formulario button:disabled{opacity:.6;cursor:default}.error{color:#dc2626;font-size:.9rem}.exito{color:var(--color-acento);font-size:.9rem}a.tenue{text-decoration:none}.enlace{background:none;border:none;color:var(--color-primario);font-size:.9rem;padding:0;align-self:flex-start;min-height:auto}.cabecera{display:flex;align-items:baseline;justify-content:space-between;gap:1rem}.aviso{background:#fef3c7;color:#92400e;border-radius:.5rem;padding:.625rem .875rem;font-size:.85rem}.estado{text-align:center;padding:1.5rem 0;display:flex;flex-direction:column;align-items:center;gap:.25rem}.estado-etiqueta{text-transform:uppercase;letter-spacing:.05em;font-size:.8rem;font-weight:600;color:var(--color-primario)}.contador-principal{font-size:2.75rem;font-weight:700;font-variant-numeric:tabular-nums}.detalle-estado{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;width:100%;margin-top:1rem}.detalle-estado>div{display:flex;flex-direction:column;gap:.125rem}.detalle-estado dt{font-size:.75rem;color:var(--color-tenue)}.detalle-estado dd{margin:0;font-size:1.1rem;font-weight:600;font-variant-numeric:tabular-nums}.acciones-fichaje{display:flex;flex-direction:column;gap:.75rem}.acciones-fichaje button{background:var(--color-primario);color:#fff;border:none;border-radius:.5rem;font-weight:600;font-size:1rem}.acciones-fichaje button.secundario{background:transparent;color:var(--color-texto);border:1px solid #cbd5e1}.acciones-fichaje button:disabled{opacity:.6;cursor:default}.avisos{display:flex;flex-direction:column;gap:.5rem}.mi-informe{margin-top:2rem;padding-top:1.25rem;border-top:1px solid #e2e8f0;display:flex;flex-direction:column;gap:.75rem}.mi-informe h2{font-size:1rem}.mi-informe label{display:flex;flex-direction:column;gap:.375rem;font-size:.85rem;color:var(--color-tenue);flex:1}.mi-informe input,.mi-informe select{font:inherit;font-size:1rem;padding:.625rem .75rem;border:1px solid #cbd5e1;border-radius:.5rem;background:var(--color-fondo);color:var(--color-texto)}.mi-informe button{background:transparent;color:var(--color-texto);border:1px solid #cbd5e1;border-radius:.5rem;font-weight:600}button.secundario{background:transparent;color:var(--color-texto);border:1px solid #cbd5e1}.admin-shell{max-width:72rem;margin:0 auto;padding:1.5rem 1.25rem 3rem;display:flex;flex-direction:column;gap:1.25rem}.admin-cabecera{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.admin-nav{display:flex;gap:1.25rem;border-bottom:1px solid #cbd5e1;overflow-x:auto}.admin-nav a{padding:.5rem .125rem;color:var(--color-tenue);text-decoration:none;font-size:.95rem;white-space:nowrap;border-bottom:2px solid transparent}.admin-nav a.activo{color:var(--color-primario);border-bottom-color:var(--color-primario);font-weight:600}.admin-contenido{display:flex;flex-direction:column;gap:1.5rem}.admin-seccion{display:flex;flex-direction:column;gap:.75rem;padding-bottom:1.5rem;border-bottom:1px solid #e2e8f0}.admin-seccion:last-child{border-bottom:none}.admin-seccion h2{font-size:1.1rem}.subseccion{font-size:.95rem;margin-top:.5rem;color:var(--color-tenue)}.formulario input[type=color]{padding:.25rem;height:2.75rem;cursor:pointer}.formulario input[type=file]{font:inherit;font-size:.9rem;padding:.5rem 0;border:none}.admin-contadores{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem}.admin-contadores>div{display:flex;flex-direction:column;align-items:center;gap:.125rem;padding:.75rem .5rem;border:1px solid #e2e8f0;border-radius:.5rem}.admin-contadores strong{font-size:1.5rem;font-variant-numeric:tabular-nums}.admin-contadores span{font-size:.75rem;color:var(--color-tenue)}.admin-barra{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.admin-filtros{display:flex;gap:.5rem}.admin-filtros button{min-height:36px;padding:0 .875rem;border:1px solid #cbd5e1;border-radius:999px;background:transparent;color:var(--color-texto);font-size:.85rem}.admin-filtros button.activo{background:var(--color-primario);border-color:var(--color-primario);color:#fff}.admin-filtros-form{display:flex;gap:.75rem;flex-wrap:wrap}.admin-barra>button{background:var(--color-primario);color:#fff;border:none;border-radius:.5rem;font-weight:600;padding:0 1rem}select{font:inherit;font-size:.9rem;padding:.5rem .75rem;border:1px solid #cbd5e1;border-radius:.5rem;background:var(--color-fondo);color:var(--color-texto);min-height:40px}.admin-formulario{border:1px solid #e2e8f0;border-radius:.75rem;padding:1rem;max-width:40rem}.fila-campos{display:flex;gap:1rem}.fila-campos>label{flex:1}.fila-botones{display:flex;gap:.75rem}.fila-botones button{background:var(--color-primario);color:#fff;border:none;border-radius:.5rem;font-weight:600;padding:0 1rem}.fila-botones button.secundario{background:transparent;color:var(--color-texto);border:1px solid #cbd5e1}.aviso-exito{background:#dcfce7;color:#166534}.aviso-exito code{font-size:1rem;font-weight:600;background:#0000000f;padding:.125rem .375rem;border-radius:.25rem}.campo-motivo{display:flex;flex-direction:column;gap:.375rem;font-size:.9rem;color:var(--color-tenue)}.campo-motivo textarea{font:inherit;font-size:1rem;padding:.75rem .875rem;border:1px solid #cbd5e1;border-radius:.5rem;background:var(--color-fondo);color:var(--color-texto);resize:vertical}.tabla-scroll{overflow-x:auto}.tabla{width:100%;border-collapse:collapse;font-size:.9rem}.tabla th{text-align:left;font-size:.75rem;text-transform:uppercase;letter-spacing:.03em;color:var(--color-tenue);padding:.5rem .75rem;border-bottom:1px solid #cbd5e1;white-space:nowrap}.tabla td{padding:.625rem .75rem;border-bottom:1px solid #e2e8f0;white-space:nowrap}.tabla tr.fila-aviso{background:#fffbeb}.etiqueta-estado{font-size:.75rem;font-weight:600;padding:.125rem .5rem;border-radius:999px;background:#e2e8f0;color:var(--color-texto)}.etiqueta-estado.estado-working{background:#dcfce7;color:#166534}.etiqueta-estado.estado-on_break{background:#fef3c7;color:#92400e}.etiqueta-estado.estado-not_clocked_in{background:#fee2e2;color:#991b1b}.aviso-inline{margin-left:.5rem;font-size:.7rem;color:#92400e}.detalle-estado-admin{grid-template-columns:repeat(6,1fr);text-align:left;margin-top:0}.lista-horario{list-style:none;display:flex;flex-direction:column;gap:.375rem;font-size:.9rem}.editor-horario{display:flex;flex-direction:column;gap:.75rem}.fila-dia{border:1px solid #e2e8f0;border-radius:.5rem;padding:.625rem .75rem;display:flex;flex-direction:column;gap:.5rem}.dia-checkbox{display:flex;align-items:center;gap:.5rem;font-weight:600}.dia-checkbox input{width:auto;min-height:auto}.dia-detalle{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem}.dia-detalle label{display:flex;flex-direction:column;gap:.25rem;font-size:.75rem;color:var(--color-tenue)}.dia-detalle input{font:inherit;font-size:.9rem;padding:.375rem .5rem;border:1px solid #cbd5e1;border-radius:.375rem}.admin-historico{font-size:.9rem}.admin-historico summary{cursor:pointer;color:var(--color-primario)}.admin-paginacion{display:flex;align-items:center;gap:1rem}.admin-paginacion button{padding:0 1rem;border:1px solid #cbd5e1;border-radius:.5rem;background:transparent}.admin-paginacion button:disabled{opacity:.5;cursor:default}@media(max-width:640px){.admin-contadores{grid-template-columns:repeat(2,1fr)}.fila-campos,.dia-detalle{flex-direction:column;grid-template-columns:1fr}.detalle-estado-admin{grid-template-columns:repeat(2,1fr)}}
