:root{--color-fondo:#f4f6f8;--color-superficie:#fff;--color-texto:#162939;--color-texto-secundario:#506372;--color-texto-suave:#8896a3;--color-borde:#dee4e9;--color-primario:#215279;--color-primario-fondo:#ebf0f4;--color-primario-suave:#e8edf1;--color-encabezado-tabla:#f3f6f8;--color-acento:#4176cf;--radio-control:8px;--radio-tarjeta:12px;--fuente:Inter, system-ui, sans-serif}*{box-sizing:border-box}body{font-family:var(--fuente);color:var(--color-texto);background:var(--color-fondo);margin:0;font-size:14px}h2{margin:0 0 12px;font-size:16px;font-weight:600}h3{margin:0 0 8px;font-size:14px;font-weight:600}.icono{flex-shrink:0;width:18px;height:18px}.estructura{min-height:100vh;display:flex}.barra-lateral{z-index:3;background:var(--color-superficie);border-right:1px solid var(--color-borde);flex-direction:column;width:240px;display:flex;position:fixed;top:0;bottom:0;left:0}.marca{align-items:center;gap:10px;padding:20px;display:flex}.logo{width:auto;height:22px;display:block}.marca-producto{border-left:1px solid var(--color-borde);white-space:nowrap;letter-spacing:.08em;text-transform:uppercase;color:var(--color-texto-suave);padding-left:10px;font-size:11px;font-weight:600}.boton-icono.boton-menu{display:none}.menu{flex:1;padding:0 12px 12px;overflow-y:auto}.menu-seccion{letter-spacing:.08em;text-transform:uppercase;color:var(--color-texto-suave);margin:16px 8px 6px;font-size:11px;font-weight:600}.menu-item{text-align:left;width:100%;height:36px;color:var(--color-texto-secundario);background:0 0;border:none;align-items:center;gap:10px;padding:0 10px;font-weight:500;display:flex}.menu-item:hover:not(:disabled){background:var(--color-fondo);color:var(--color-texto)}.menu-item.activo,.menu-item.activo:hover:not(:disabled){background:var(--color-primario-fondo);color:var(--color-texto)}.pie-usuario{border-top:1px solid var(--color-borde);align-items:center;gap:10px;padding:16px 20px;display:flex}.avatar{background:var(--color-primario-fondo);width:32px;height:32px;color:var(--color-primario);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-weight:600;display:flex}.pie-usuario-datos{flex-direction:column;flex:1;min-width:0;font-weight:600;display:flex}.pie-usuario-datos span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.pie-usuario-datos small{color:var(--color-texto-suave);font-weight:400}.boton-icono{width:32px;height:32px;color:var(--color-texto-secundario);background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:flex}.boton-icono:hover:not(:disabled){background:var(--color-fondo);color:var(--color-texto)}.contenido{flex:1;min-width:0;margin-left:240px}.contenedor{max-width:1100px;margin:0 auto;padding:32px 24px 120px}.encabezado-pagina{margin-bottom:24px}.encabezado-pagina h1{margin:0 0 4px;font-size:24px;font-weight:600}.linea-estado{color:var(--color-texto-secundario);align-items:center;gap:8px;margin:0;display:flex}.linea-estado:before{content:"";background:var(--color-primario);border-radius:50%;width:6px;height:6px}.tarjeta{background:var(--color-superficie);border:1px solid var(--color-borde);border-radius:var(--radio-tarjeta);margin-bottom:16px;padding:20px}.rejilla{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;display:grid}.rejilla .tarjeta{margin-bottom:0}.cabecera-seccion{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.cabecera-seccion h2{margin:0}.pantalla-ingreso{justify-content:center;align-items:center;min-height:100vh;padding:16px;display:flex}.tarjeta-ingreso{width:100%;max-width:360px;padding:24px}.tarjeta-ingreso h1{margin:0;font-size:24px;font-weight:600}.logo-ingreso{width:150px;height:auto;display:block}label{color:var(--color-texto-secundario);flex-direction:column;gap:6px;font-size:13px;font-weight:500;display:flex}label.casilla{color:var(--color-texto);flex-direction:row;align-items:center;gap:8px;font-size:14px;font-weight:400}input,select,textarea{min-width:0;max-width:100%;font:inherit;border:1px solid var(--color-borde);border-radius:var(--radio-control);background:var(--color-superficie);height:40px;color:var(--color-texto);padding:0 12px}textarea{height:auto;padding:10px 12px}input:focus,select:focus,textarea:focus{border-color:var(--color-primario);outline:none}input[type=checkbox]{width:18px;height:18px;accent-color:var(--color-primario);flex-shrink:0;padding:0}input[type=checkbox].interruptor{appearance:none;background:var(--color-primario-fondo);cursor:pointer;border:none;border-radius:10px;width:36px;height:20px;position:relative}input[type=checkbox].interruptor:after{content:"";background:var(--color-texto-secundario);border-radius:50%;width:14px;height:14px;transition:transform .15s;position:absolute;top:3px;left:3px}input[type=checkbox].interruptor:checked{background:var(--color-primario)}input[type=checkbox].interruptor:checked:after{background:var(--color-superficie);transform:translate(16px)}.formulario{flex-direction:column;gap:14px;display:flex}.formulario>button[type=submit]{width:100%}.formulario-rol{flex-direction:column;gap:10px;display:flex}.fila-controles{flex-wrap:wrap;align-items:flex-end;gap:12px;margin-bottom:12px;display:flex}.campo-ancho{flex:240px;min-width:0}.campo-ancho select,.campo-ancho input{width:100%}.campo-busqueda{width:100%;max-width:420px;margin-bottom:12px}fieldset.accesos{border:1px solid var(--color-borde);border-radius:var(--radio-control);flex-direction:column;gap:6px;display:flex}button{font:inherit;border-radius:var(--radio-control);cursor:pointer;background:var(--color-primario);height:40px;color:var(--color-superficie);border:1px solid var(--color-primario);padding:0 16px;font-weight:600}button:disabled{opacity:.45;cursor:not-allowed}.boton-secundario{height:auto;color:var(--color-primario);background:0 0;border:none;padding:4px 6px}.boton-secundario:hover:not(:disabled){text-decoration:underline}.segmentos{background:var(--color-fondo);border-radius:var(--radio-control);flex-wrap:wrap;gap:2px;padding:3px;display:inline-flex}.segmentos button{height:32px;color:var(--color-texto-secundario);background:0 0;border:none;border-radius:6px;padding:0 14px;font-weight:500}.segmentos button:hover:not(:disabled){color:var(--color-texto)}.segmentos .segmento-activo,.segmentos .segmento-activo:hover:not(:disabled){background:var(--color-superficie);color:var(--color-texto);outline:1px solid var(--color-borde);font-weight:600}.selector-horas{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.horas-otra{width:80px;height:36px}.controles-turno{flex-wrap:wrap;align-items:flex-end;gap:16px;display:flex}.controles-turno label:last-child{flex:220px}.controles-turno select{width:100%}.cabecera-equipo{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.filtros-equipo{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:8px;display:flex}.filtros-equipo .campo-busqueda{flex:240px;margin-bottom:0}.lista-turno{margin:0;padding:0;list-style:none}.fila-turno{border-bottom:1px solid var(--color-borde);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;padding:10px 12px;display:flex}.fila-en-equipo{background:var(--color-primario-fondo)}.fila-turno-persona{color:var(--color-texto);cursor:pointer;flex-direction:row;flex:260px;align-items:center;gap:12px;font-size:14px}.fila-turno-nombre{flex-direction:column;display:flex}.fila-turno-nombre small{color:var(--color-texto-secundario);font-size:12px}.fila-turno-horas{flex-direction:column;align-items:flex-end;gap:6px;display:flex}.registro-horas{align-items:center;gap:6px;display:flex}.registro-horas-edicion{flex-direction:column;align-items:flex-end;gap:8px;display:flex}.barra-guardar{z-index:2;background:var(--color-superficie);border-top:1px solid var(--color-borde);border-radius:0 0 var(--radio-tarjeta) var(--radio-tarjeta);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin:16px -20px -20px;padding:16px 20px;display:flex;position:sticky;bottom:0}.barra-resumen{color:var(--color-texto-secundario)}.barra-resumen strong{color:var(--color-texto)}.columna-horas{text-align:right;font-variant-numeric:tabular-nums;font-weight:600}.comentario{color:var(--color-texto-secundario);margin:4px 0 0;font-style:italic}.buscador-persona{flex-direction:column;gap:6px;display:flex;position:relative}.etiqueta-campo{color:var(--color-texto-secundario);font-size:13px;font-weight:500}.persona-elegida{border:1px solid var(--color-primario);border-radius:var(--radio-control);background:var(--color-primario-fondo);justify-content:space-between;align-items:center;gap:8px;min-height:40px;padding:0 6px 0 12px;display:flex}.sugerencias{z-index:5;border:1px solid var(--color-borde);border-radius:var(--radio-control);background:var(--color-superficie);max-height:280px;margin:4px 0 0;padding:0;list-style:none;position:absolute;top:100%;left:0;right:0;overflow-y:auto}.sugerencias button{text-align:left;width:100%;height:auto;color:var(--color-texto);border:none;border-bottom:1px solid var(--color-borde);background:0 0;border-radius:0;padding:10px 12px;font-weight:400}.sugerencias li:last-child button{border-bottom:none}.sugerencias button:hover:not(:disabled){background:var(--color-primario-fondo)}.tabla-desplazable{overflow-x:auto}table{border-collapse:collapse;width:100%}th,td{text-align:left;border-bottom:1px solid var(--color-borde);vertical-align:middle;padding:10px 12px}th{background:var(--color-encabezado-tabla);color:var(--color-texto-suave);text-transform:uppercase;letter-spacing:.06em;font-size:11px;font-weight:600}td input:not([type=checkbox]){width:100%;min-width:120px}.acciones>*{margin:2px 6px 2px 0}.tabla-resumen th,.tabla-resumen td{text-align:center;border:1px solid var(--color-borde);font-variant-numeric:tabular-nums;padding:6px 8px}.tabla-resumen th{line-height:1.3}.tabla-resumen .columna-fija{z-index:1;text-align:left;white-space:nowrap;background:var(--color-superficie);min-width:220px;position:sticky;left:0}.tabla-resumen thead .columna-fija{background:var(--color-encabezado-tabla)}.tabla-resumen .domingo{background:var(--color-fondo)}.tabla-resumen .total{color:var(--color-primario);background:var(--color-primario-suave);font-weight:700}.tabla-resumen tfoot td,.tabla-resumen tfoot .columna-fija{background:var(--color-primario-suave);font-weight:700}.codigo{font-variant-numeric:tabular-nums;color:var(--color-texto-suave);min-width:3.2em;font-size:13px}.detalle{color:var(--color-texto-secundario);font-size:13px}.etiqueta{border:1px solid #0000;border-radius:999px;margin-left:6px;padding:1px 8px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;display:inline-block}.etiqueta-positiva{background:var(--color-primario-suave);color:var(--color-primario)}.etiqueta-negativa{background:var(--color-superficie);border-color:var(--color-borde);color:var(--color-texto-suave)}.etiqueta-neutra{background:var(--color-fondo);color:var(--color-texto-secundario)}.mensaje-error{color:var(--color-texto);background:var(--color-superficie);border:1px solid var(--color-borde);border-left:3px solid var(--color-texto);border-radius:var(--radio-control);margin:8px 0;padding:8px 12px}.mensaje-exito{color:var(--color-primario);background:var(--color-primario-suave);border-radius:var(--radio-control);margin:0 0 12px;padding:10px 14px;font-weight:600}.aviso{background:var(--color-primario-fondo);border-radius:var(--radio-control);margin:0 0 12px;padding:10px 14px}.vacio{color:var(--color-texto-secundario);padding:8px 0}.total-destacado{color:var(--color-texto-secundario);margin:0 0 12px}.total-destacado strong{color:var(--color-texto);font-size:32px;font-weight:700;display:block}.fila-bloqueada{opacity:.55}.lista-reclamos{margin:0;padding:0;list-style:none}.lista-reclamos li{border-bottom:1px solid var(--color-borde);padding:14px 0}.lista-reclamos li:last-child{border-bottom:none}.lista-reclamos p{margin:6px 0}.lista-reclamos .fila-controles{margin:10px 0 0}.respuesta{background:var(--color-primario-fondo);border-radius:var(--radio-control);padding:8px 12px}.autorizados{flex-direction:column;align-items:flex-start;gap:6px;margin-top:8px;display:flex}.aceptacion{border:1px solid var(--color-borde);border-radius:var(--radio-tarjeta);background:var(--color-primario-fondo);flex-direction:column;align-items:flex-start;gap:10px;margin-top:16px;padding:16px;display:flex}.aceptacion p{margin:0}.aceptacion-lista{background:var(--color-primario-suave)}@media (width<=860px){.barra-lateral{border-right:none;border-bottom:1px solid var(--color-borde);width:auto;position:sticky;bottom:auto}.estructura{flex-direction:column}.marca{padding:12px 16px}.boton-icono.boton-menu{margin-left:auto;display:flex}.menu,.pie-usuario{display:none}.menu-abierto .menu,.menu-abierto .pie-usuario{display:flex}.menu-abierto .menu{flex-direction:column;max-height:70vh}.contenido{margin-left:0}.contenedor{padding:20px 16px 120px}.tarjeta{padding:16px}.barra-guardar{margin:16px -16px -16px;padding:12px 16px}.barra-guardar>button{width:100%}.fila-turno-horas{align-items:flex-start;width:100%;padding-left:30px}.registro-horas-edicion{align-items:flex-start}.fila-controles>label{flex:100%}}
