:root{--fondo:#f5f4ef;--superficie:#fff;--borde:#dcd9cf;--borde-suave:#ebe9e1;--texto:#1c2230;--tenue:#5b6473;--acento:#1c6965;--acento-texto:#fff;--alerta:#b3261e;--alerta-fondo:#fbe9e7;--aviso:#8a5a00;--aviso-fondo:#fdf1d7;--ok:#1d7443;--no-laborable:#efede5;--nuevo:#e0a100;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--fondo:#13161b;--superficie:#1b1f26;--borde:#313743;--borde-suave:#262b34;--texto:#e7e9ee;--tenue:#9aa3b1;--acento:#56b8b1;--acento-texto:#0c1a19;--alerta:#f28b82;--alerta-fondo:#3a1d1b;--aviso:#e3b45c;--aviso-fondo:#33290f;--ok:#72cf99;--no-laborable:#20252d;--nuevo:#f2c14e}}*{box-sizing:border-box}body{background:var(--fondo);color:var(--texto);margin:0;font:14px/1.45 system-ui,Segoe UI,Roboto,sans-serif}main{max-width:1500px;margin:0 auto;padding:20px 16px 48px}h1{letter-spacing:.06em;margin:0;font-size:20px}h2{margin:0 0 10px;font-size:14px}p{margin:0 0 8px}.tenue{color:var(--tenue)}.nota{margin-top:8px;font-size:12.5px}.cabecera{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px 24px;margin-bottom:16px;display:flex}.cabecera p{margin:4px 0 0}.acciones{flex-wrap:wrap;align-items:center;gap:8px;display:flex}button{font:inherit;border:1px solid var(--acento);background:var(--acento);color:var(--acento-texto);cursor:pointer;border-radius:6px;padding:7px 14px;font-weight:600}button.secundario{color:var(--acento);background:0 0}button:disabled{opacity:.5;cursor:default}button:focus-visible,select:focus-visible,input:focus-visible,summary:focus-visible{outline:2px solid var(--acento);outline-offset:2px}.progreso{color:var(--tenue);font-size:13px}.progreso:before{content:"";border:2px solid var(--acento);vertical-align:-1px;border-right-color:#0000;border-radius:50%;width:10px;height:10px;margin-right:6px;animation:.8s linear infinite girar;display:inline-block}@keyframes girar{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.progreso:before{animation:none}}.error,.aviso-texto{background:var(--alerta-fondo);color:var(--alerta);border-radius:6px;padding:8px 12px}.aviso-texto{background:var(--aviso-fondo);color:var(--aviso)}.indicadores{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.dato{background:var(--superficie);border:1px solid var(--borde);border-radius:8px;flex:130px;padding:8px 12px}.dato strong{font-variant-numeric:tabular-nums;font-size:20px;display:block}.dato span{color:var(--tenue);font-size:12px}.dato.alerta strong{color:var(--alerta)}.dato.aviso strong{color:var(--aviso)}.dato.ok strong{color:var(--ok)}.rejilla-marco{background:var(--superficie);border:1px solid var(--borde);border-radius:8px;overflow-x:auto}.rejilla{border-collapse:separate;border-spacing:0;width:100%;font-size:12px}.rejilla th,.rejilla td{border-bottom:1px solid var(--borde-suave);text-align:center;vertical-align:middle;padding:3px 2px}.rejilla tbody td,.rejilla tfoot td{min-width:44px;height:32px}.rejilla thead th{background:var(--superficie);border-bottom:1px solid var(--borde);font-weight:600;line-height:1.15;position:sticky;top:0}.rejilla thead .letra{color:var(--tenue);font-size:10.5px;display:block}.rejilla thead .numero{font-variant-numeric:tabular-nums}.rejilla .persona{z-index:1;background:var(--superficie);border-right:1px solid var(--borde);text-align:left;white-space:nowrap;min-width:132px;padding:3px 10px;font-weight:500;position:sticky;left:0}.rejilla thead .persona{z-index:2}.rejilla .horas{border-left:1px solid var(--borde);white-space:nowrap;font-variant-numeric:tabular-nums;text-align:right;padding:3px 10px}.rejilla .horas span{color:var(--tenue)}.rejilla .no-laborable{background:var(--no-laborable)}.rejilla .lunes{border-left:1px solid var(--borde)}.rejilla .hoy{box-shadow:inset 2px 0 0 var(--acento)}.rejilla thead .hoy .numero{color:var(--acento);text-decoration:underline}.rejilla tbody .pasado{opacity:.6}.rejilla tfoot th,.rejilla tfoot td{border-top:1px solid var(--borde);color:var(--tenue);border-bottom:0}.turno,.evento{white-space:nowrap;border-radius:4px;align-items:center;gap:2px;margin:1px;padding:1px 5px;font:600 11px/1.5 system-ui,Segoe UI,sans-serif;display:inline-flex}.turno{background:var(--tenue);color:#fff;border:0}button.turno:hover:enabled{filter:brightness(1.15)}button.turno:disabled{opacity:1}.banda{background:var(--aviso-fondo);color:var(--aviso);border-radius:6px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 12px;margin-bottom:12px;padding:8px 12px;display:flex}.banda button{padding:3px 10px;font-size:12px}.insignia{background:var(--aviso-fondo);color:var(--aviso);border-radius:10px;padding:2px 9px;font-size:12px;font-weight:600}.historial li{padding:0;display:block}.historial button{width:100%;color:var(--texto);text-align:left;background:0 0;border:0;border-radius:4px;align-items:baseline;gap:10px;padding:7px 6px;font-size:13px;font-weight:400;display:flex}.historial button:hover:enabled{background:var(--borde-suave)}.historial button[aria-current=true]{background:var(--borde-suave);box-shadow:inset 3px 0 0 var(--acento)}.historial .numero{font-variant-numeric:tabular-nums;flex:none;min-width:30px;font-weight:700}.historial .motivo{flex:1;min-width:0}.ajustes label{align-items:center;gap:8px;margin-bottom:10px;display:flex}.ajustes .fila{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.ajustes button{padding:5px 10px;font-size:12px}input[type=checkbox]{width:16px;height:16px;accent-color:var(--acento)}.turno.muestra{background:var(--tenue)}.turno.nuevo{outline:2px solid var(--nuevo);outline-offset:1px}.turno.bloqueada{box-shadow:inset 0 0 0 1.5px #ffffffd9}.turno.quitado{color:var(--tenue);border:1px dashed var(--tenue);background:0 0;font-weight:500;text-decoration:line-through}.candado{width:9px;height:9px}.evento{border:1.5px solid var(--tenue);color:var(--texto);background:0 0;font-weight:500}.evento.parcial{border-style:dashed}.hueco{background:var(--aviso-fondo);min-width:18px;color:var(--aviso);border-radius:9px;padding:0 4px;font-size:11px;font-weight:700;display:inline-block}.hueco.grave{background:var(--alerta);color:#fff}.leyenda{color:var(--tenue);flex-wrap:wrap;gap:4px 14px;margin-top:10px;font-size:12px;display:flex}.leyenda .item{align-items:center;gap:4px;display:inline-flex}.paneles{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));align-items:start;gap:12px;margin-top:16px;display:grid}.panel{background:var(--superficie);border:1px solid var(--borde);border-radius:8px;padding:14px 16px}.panel.vacio{text-align:center;color:var(--tenue);padding:32px 16px}.lista{max-height:320px;margin:0;padding:0;list-style:none;overflow-y:auto}.lista li{border-bottom:1px solid var(--borde-suave);justify-content:space-between;align-items:center;gap:8px;padding:6px 0;display:flex}.lista li:last-child{border-bottom:0}.lista .signo{text-align:center;width:14px;font-weight:700}.lista .alta .signo{color:var(--ok)}.lista .baja .signo{color:var(--alerta)}.lista .alta span:nth-child(2),.lista .baja span:nth-child(2){flex:1}.lista.reglas li{justify-content:flex-start;align-items:flex-start}.lista button{padding:3px 10px;font-size:12px}.etiqueta{white-space:nowrap;border-radius:9px;flex:none;padding:1px 7px;font-size:11px;font-weight:600}.etiqueta.hard{background:var(--alerta-fondo);color:var(--alerta)}.etiqueta.neutra{background:var(--borde-suave);color:var(--texto)}.etiqueta.soft{background:var(--aviso-fondo);color:var(--aviso)}details{margin-top:6px}summary{cursor:pointer;padding:4px 0;font-weight:600}.formulario{grid-template-columns:1fr 1fr;gap:10px;display:grid}.formulario h2,.formulario button{grid-column:1/-1;margin:0}.formulario label{color:var(--tenue);flex-direction:column;gap:3px;font-size:12px;display:flex}.formulario label:first-of-type{grid-column:1/-1}select,input{font:inherit;border:1px solid var(--borde);background:var(--fondo);color:var(--texto);border-radius:6px;min-width:0;padding:6px 8px}code{font:600 11px/1 ui-monospace,Consolas,monospace}.navegacion{background:var(--superficie);border-bottom:1px solid var(--borde);align-items:center;gap:4px;padding:0 16px;display:flex}.navegacion .marca{letter-spacing:.08em;margin-right:16px;font-weight:700}.navegacion a{color:var(--tenue);border-bottom:2px solid #0000;padding:12px 12px 10px;font-weight:600;text-decoration:none}.navegacion a:hover{color:var(--texto)}.navegacion a[aria-current=page]{border-bottom-color:var(--acento);color:var(--texto)}a{color:var(--acento)}a:focus-visible{outline:2px solid var(--acento);outline-offset:2px}.enlace{font-weight:600}.insignia.alerta{background:var(--alerta-fondo);color:var(--alerta)}.config{grid-template-columns:190px minmax(0,1fr);align-items:start;gap:16px;display:grid}.secciones{flex-direction:column;gap:2px;display:flex;position:sticky;top:12px}.secciones a{color:var(--texto);border-radius:6px;justify-content:space-between;gap:8px;padding:7px 10px;text-decoration:none;display:flex}.secciones a:hover{background:var(--borde-suave)}.secciones a[aria-current=page]{background:var(--superficie);box-shadow:inset 3px 0 0 var(--acento);font-weight:600}.secciones .cuenta{color:var(--tenue);font-variant-numeric:tabular-nums}@media (max-width:760px){.config{grid-template-columns:minmax(0,1fr)}.secciones{flex-flow:wrap;position:static}.secciones a{border:1px solid var(--borde)}}.editor-cabecera{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:8px 16px;margin-bottom:12px;display:flex}.editor-cabecera h2{margin-bottom:4px;font-size:16px}.editor-cabecera p{max-width:70ch;margin:0}.vacio-lista{text-align:center;padding:24px 0}.tabla-marco{overflow-x:auto}.tabla{border-collapse:collapse;width:100%;font-size:13px}.tabla th,.tabla td{border-bottom:1px solid var(--borde-suave);text-align:left;vertical-align:middle;padding:8px 10px}.tabla th{border-bottom-color:var(--borde);color:var(--tenue);white-space:nowrap;font-size:12px;font-weight:600}.tabla tbody tr:hover{background:var(--fondo)}.tabla .acciones-celda{text-align:right;white-space:nowrap}.tabla .acciones-celda>*{margin-left:6px}.tabla button{padding:3px 10px;font-size:12px}button.peligro{border-color:var(--alerta);color:var(--alerta)}.dialogo{border:1px solid var(--borde);background:var(--superficie);width:min(680px,100vw - 24px);max-height:calc(100vh - 32px);color:var(--texto);border-radius:10px;padding:20px}.dialogo::backdrop{background:#00000073}.dialogo h2{margin-bottom:14px;font-size:16px}.formulario-config{grid-template-columns:1fr 1fr;gap:12px 14px;margin-bottom:14px;display:grid}.campo{border:0;flex-direction:column;gap:4px;min-width:0;margin:0;padding:0;display:flex}.campo.completo{grid-column:1/-1}.campo>label,.campo>legend{color:var(--tenue);padding:0;font-size:12px;font-weight:600}.campo>legend{margin-bottom:4px}.campo.casilla label,.casillas label,.periodo .en-linea{color:var(--texto);align-items:center;gap:6px;font-size:13px;font-weight:400;display:inline-flex}.campo.titulo{border-top:1px solid var(--borde-suave);margin-top:6px;padding-top:12px}.campo.titulo h3{margin:0;font-size:13px}.campo input[type=color]{width:56px;height:32px;padding:2px}.casillas{flex-wrap:wrap;gap:6px 16px;display:flex}.periodo{flex-wrap:wrap;align-items:flex-end;gap:8px 12px;display:flex}.periodo label:not(.en-linea){color:var(--tenue);flex-direction:column;gap:3px;font-size:12px;display:flex}.periodo .en-linea{flex-basis:100%}.fila{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.sugerencias{flex-wrap:wrap;align-items:center;gap:6px;margin-top:4px;display:flex}.sugerencias button,.fila button{padding:3px 9px;font-size:12px}.ficha{border:1px solid var(--borde);font-variant-numeric:tabular-nums;border-radius:12px;align-items:center;gap:4px;padding:2px 4px 2px 9px;font-size:12px;display:inline-flex}.ficha button{color:var(--tenue);background:0 0;border:0;padding:0 5px;font-size:14px;line-height:1.2}.dialogo footer,.editor form>footer{justify-content:flex-end;align-items:center;gap:8px;display:flex}.sin-partir{white-space:nowrap}.formulario .periodo,.formulario .completo{grid-column:1/-1;margin:0}.periodo .en-linea{flex-direction:row}.selector-vista{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;margin-bottom:8px;display:flex}.segmentos{border:1px solid var(--borde);background:var(--superficie);border-radius:8px;margin:0;padding:2px;display:inline-flex}.segmentos button{color:var(--tenue);background:0 0;border:0;border-radius:6px;padding:5px 12px;font-size:13px}.segmentos button:hover{color:var(--texto)}.segmentos button[aria-pressed=true]{background:var(--acento);color:var(--acento-texto)}.paginador{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.paginador button{padding:4px 11px;font-size:13px}.paginador .tramo{margin-left:6px;font-size:14px}.paginador .tramo:first-letter{text-transform:uppercase}.oculto{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.rejilla.amplia tbody td,.rejilla.amplia tfoot td{min-width:118px;height:40px}.rejilla.amplia .turno,.rejilla.amplia .evento{padding:2px 7px;font-size:12px}.rejilla.amplia thead .letra{font-size:11.5px}.selector-vista .segmentos{flex-wrap:wrap}.segmentos button.otra-vista{opacity:.6}.paginador{margin-bottom:8px}.bloques{flex-direction:column;gap:12px;display:flex}.rejilla.tablero th,.rejilla.tablero td{text-align:left;vertical-align:top;padding:5px 6px}.rejilla.tablero thead th:not(.persona){text-align:center}.rejilla.tablero tbody td,.rejilla.tablero tfoot td{border-left:1px solid var(--borde-suave);min-width:112px;height:auto}.rejilla.tablero .persona{white-space:normal;min-width:150px;line-height:1.5}.rejilla.tablero .persona .tenue{font-size:11.5px;font-weight:400}.rejilla.tablero .turno,.rejilla.tablero .evento{padding:2px 7px;font-size:12px}.rejilla.tablero .sin-turno{background:repeating-linear-gradient(135deg, transparent 0 6px, var(--borde-suave) 6px 7px)}.rejilla.tablero .hueco{margin:1px;padding:1px 7px}.tiempo{flex-direction:column;gap:5px;display:flex;overflow-x:auto}.tiempo-fila{grid-template-columns:150px minmax(520px,1fr);align-items:center;gap:10px;display:grid}.tiempo-nombre{text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.tiempo-marcas{height:16px;color:var(--tenue);font-variant-numeric:tabular-nums;font-size:11.5px;position:relative}.tiempo-marcas span{white-space:nowrap;position:absolute;top:0;transform:translate(-50%)}.tiempo-marcas span:first-child{transform:none}.tiempo-marcas span:last-child{transform:translate(-100%)}.tiempo-pista{background-color:var(--fondo);background-image:linear-gradient(to right, var(--borde) 1px, transparent 1px);background-size:16.6667% 100%;border-radius:5px;height:28px;position:relative}.tiempo-vacio{font-size:12px;position:absolute;top:5px;left:8px}.barra{text-align:left;text-overflow:ellipsis;white-space:nowrap;border-radius:4px;margin:0;padding:0 7px;font:600 12px/22px system-ui,Segoe UI,sans-serif;display:block;position:absolute;top:3px;bottom:3px;overflow:hidden}.barra.libranza,.barra.ausencia{border:1.5px dashed var(--tenue);background:var(--superficie);color:var(--tenue);font-weight:500;line-height:19px}.barra.ausencia{color:var(--texto);border-style:solid}.tiempo-huecos{border-top:1px solid var(--borde-suave);flex-wrap:wrap;align-items:center;gap:6px 14px;margin:8px 0 0;padding-top:10px;display:flex}.calendario-filtro{flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:10px;display:flex}.calendario-filtro .turno{padding:2px 9px;font-size:12px}.calendario-rejilla{grid-template-columns:repeat(7,minmax(110px,1fr));gap:5px;display:grid;overflow-x:auto}.calendario-cabecera{color:var(--tenue);text-align:center;font-size:12px;font-weight:600}.calendario-dia{border:1px solid var(--borde);border-radius:6px;flex-direction:column;align-items:flex-start;gap:3px;min-height:92px;padding:6px;display:flex}.calendario-dia.fuera{border-style:dashed;border-color:var(--borde-suave)}.calendario-dia.no-laborable{background:var(--no-laborable)}.calendario-dia.hoy{border-color:var(--acento);box-shadow:inset 0 0 0 1px var(--acento)}.calendario-dia.grave{border-color:var(--alerta)}.calendario-dia.pasado{opacity:.65}.calendario-numero{font-variant-numeric:tabular-nums;font-size:13px}.calendario-dia .turno{padding:2px 7px;font-size:12px}.calendario-resumen{flex-wrap:wrap;gap:0 8px;margin-top:auto;font-size:11.5px;display:flex}.calendario-dia .hueco{padding:1px 7px}.fichas-filtro{margin-bottom:8px}.fichas-filtro label{align-items:center;gap:8px;display:inline-flex}.fichas{grid-template-columns:repeat(auto-fill,minmax(290px,1fr));align-items:start;gap:12px;display:grid}.fichas.una{grid-template-columns:minmax(0,560px)}.ficha-persona header{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.ficha-persona h2{margin:0;font-size:15px}.ficha-persona .de-mas{color:var(--aviso)}.ficha-persona .de-menos{color:var(--tenue)}.medidor{background:var(--borde-suave);border-radius:2px;height:4px;margin:8px 0 10px}.medidor div{background:var(--acento);border-radius:2px;height:100%}.ficha-persona ul{margin:0;padding:0;list-style:none}.ficha-persona li{border-bottom:1px solid var(--borde-suave);grid-template-columns:76px minmax(0,1fr);align-items:baseline;gap:8px;padding:4px 0;display:grid}.ficha-persona li:last-child{border-bottom:0}.ficha-persona li.pasado{opacity:.6}.ficha-persona li.hoy .ficha-dia{color:var(--acento);font-weight:600}.ficha-dia{color:var(--tenue);font-variant-numeric:tabular-nums;font-size:12.5px}.ficha-turno{align-items:baseline;gap:5px;margin-right:10px;font-size:12px;display:inline-flex}.ficha-persona .turno,.ficha-persona .evento{padding:2px 7px;font-size:12px}.navegacion .sesion{align-items:center;gap:10px;margin-left:auto;font-size:13px;display:flex}.navegacion .sesion button{padding:3px 10px;font-size:12px}.entrar{justify-content:center;padding-top:8vh;display:flex}.entrar .panel{width:min(420px,100%);padding:24px}.entrar h1{letter-spacing:0;margin-bottom:12px}.entrar form{flex-direction:column;gap:10px;display:flex}.entrar label{color:var(--tenue);font-size:12px;font-weight:600}.entrar input{padding:9px 10px;font-size:15px}.entrar input.codigo{letter-spacing:.3em;text-align:center;font:600 22px/1.2 ui-monospace,Consolas,monospace}.entrar button{padding:9px 14px}
