:root{--fs-red: #F52125;--fs-red-deep: #9C3032;--fs-navy: #0A2F43;--fs-ink: #202B56;--fs-surface: #D7D8DD;--fs-surface-low: #B8C4D4;--fs-surface-high: #E4E5E9;--fs-steel: #A3ABB6;--fs-steel-deep: #6E7A88;--fs-white: #FFFFFF;--fs-gradient-navy: linear-gradient(100deg, #A8B4C4 0%, #15384B 45%, #0A2F43 100%);--fs-gradient-navy-solid: linear-gradient(100deg, #1C4257 0%, #0A2F43 100%);--fs-gradient-surface: linear-gradient(160deg, #E4E5E9 0%, #D7D8DD 45%, #B8C4D4 100%);--fs-gradient-chip: linear-gradient(90deg, #C3CAD4 0%, #9FAFC2 100%);--fs-font: "Montserrat", "Segoe UI", system-ui, -apple-system, sans-serif;--fs-weight-regular: 400;--fs-weight-medium: 500;--fs-weight-semibold: 600;--fs-weight-bold: 700;--fs-text-display: 47px;--fs-text-pill: 40px;--fs-text-wordmark: 29px;--fs-text-counter: 28px;--fs-text-tab: 22px;--fs-text-body: 18px;--fs-leading-tight: 1.05;--fs-leading-body: 1.55;--fs-tracking-tab: .02em;--fs-radius-pill: 999px;--fs-radius-panel: 28px;--fs-radius-media: 16px;--fs-radius-tab: 12px 12px 0 0;--fs-hairline: 1.5px solid rgba(255, 255, 255, .85);--fs-shadow-logo: 6px 8px 12px rgba(10, 47, 67, .18);--fs-shadow-panel: 0 2px 20px rgba(10, 47, 67, .06)}@font-face{font-family:Montserrat;src:url(/assets/Montserrat-Variable-400-700-l_AIctKy.woff2) format("woff2-variations"),url(/assets/Montserrat-Variable-400-700-l_AIctKy.woff2) format("woff2");font-weight:400 700;font-style:normal;font-display:swap}@font-face{font-family:Montserrat;src:url(/assets/Montserrat-Variable-Italic-CnlIvBC9.woff2) format("woff2-variations"),url(/assets/Montserrat-Variable-Italic-CnlIvBC9.woff2) format("woff2");font-weight:400 700;font-style:italic;font-display:swap}:root{color-scheme:light;--app-bg: var(--fs-surface);--app-surface: #ECEDF0;--app-surface-2: #E0E1E6;--app-surface-3: #D1D3DA;--app-border: #BCC1CA;--app-border-strong: #7C8796;--app-ink: var(--fs-ink);--app-ink-on-accent: var(--fs-white);--app-muted: #4E5967;--app-accent: var(--fs-navy);--app-accent-hover: #15384B;--app-accent-soft: #D3DDE4;--app-brand-accent: var(--fs-red);--app-ok: #1B6040;--app-ok-soft: #DCEBE1;--app-warn: #7A4E04;--app-warn-soft: #F5E9CE;--app-danger: #A61B32;--app-danger-soft: #F7DEE2;--app-info: #1D5B8C;--app-info-soft: #DCE7F2;--app-font: var(--fs-font);--app-font-mono: "Montserrat", ui-monospace, "Cascadia Mono", "Consolas", monospace;--app-text-xs: 11px;--app-text-sm: 12px;--app-text-body: 14px;--app-text-md: 16px;--app-text-lg: 20px;--app-text-xl: 26px;--app-text-display: 32px;--app-leading-tight: 1.2;--app-leading-body: 1.45;--app-tracking-caps: .04em;--app-numeric: tabular-nums;--app-radius-sm: 6px;--app-radius: 8px;--app-radius-lg: 12px;--app-radius-pill: var(--fs-radius-pill);--app-space-1: 4px;--app-space-2: 8px;--app-space-3: 12px;--app-space-4: 16px;--app-space-5: 24px;--app-space-6: 32px;--app-shadow-sm: 0 1px 2px rgba(10, 47, 67, .08);--app-shadow: 0 1px 2px rgba(10, 47, 67, .06), 0 6px 20px -8px rgba(10, 47, 67, .18);--app-shadow-lg: 0 12px 32px -12px rgba(10, 47, 67, .28);--app-focus-ring: 0 0 0 2px var(--app-bg), 0 0 0 4px var(--app-accent);--app-transition: .12s ease}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--app-bg: #061C29;--app-surface: var(--fs-navy);--app-surface-2: #123A50;--app-surface-3: #1B4A63;--app-border: #21455B;--app-border-strong: #3D6379;--app-ink: #E6EDF2;--app-ink-on-accent: var(--fs-navy);--app-muted: #9DB0BE;--app-accent: #8FC5DE;--app-accent-hover: #A9D4E8;--app-accent-soft: #123B4F;--app-brand-accent: #FF6B5E;--app-ok: #5FC08A;--app-ok-soft: #103A29;--app-warn: #E0A63C;--app-warn-soft: #3A2C10;--app-danger: #F0808F;--app-danger-soft: #3E1A24;--app-info: #79B6E4;--app-info-soft: #0F3048;--app-shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--app-shadow: 0 1px 2px rgba(0, 0, 0, .3), 0 6px 24px -8px rgba(0, 0, 0, .5);--app-shadow-lg: 0 12px 32px -12px rgba(0, 0, 0, .6)}}:root[data-theme=dark]{color-scheme:dark;--app-bg: #061C29;--app-surface: var(--fs-navy);--app-surface-2: #123A50;--app-surface-3: #1B4A63;--app-border: #21455B;--app-border-strong: #3D6379;--app-ink: #E6EDF2;--app-ink-on-accent: var(--fs-navy);--app-muted: #9DB0BE;--app-accent: #8FC5DE;--app-accent-hover: #A9D4E8;--app-accent-soft: #123B4F;--app-brand-accent: #FF6B5E;--app-ok: #5FC08A;--app-ok-soft: #103A29;--app-warn: #E0A63C;--app-warn-soft: #3A2C10;--app-danger: #F0808F;--app-danger-soft: #3E1A24;--app-info: #79B6E4;--app-info-soft: #0F3048;--app-shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--app-shadow: 0 1px 2px rgba(0, 0, 0, .3), 0 6px 24px -8px rgba(0, 0, 0, .5);--app-shadow-lg: 0 12px 32px -12px rgba(0, 0, 0, .6)}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--app-bg);color:var(--app-ink);font-family:var(--app-font);font-size:var(--app-text-body);line-height:var(--app-leading-body);-webkit-font-smoothing:antialiased}h1,h2,h3,h4{margin:0;font-weight:var(--fs-weight-bold);line-height:var(--app-leading-tight);text-wrap:balance}h1{font-size:var(--app-text-xl)}h2{font-size:var(--app-text-lg)}h3{font-size:var(--app-text-md)}h4{font-size:var(--app-text-body)}table,.app-numeric{font-variant-numeric:var(--app-numeric)}button,input,select,textarea{font-family:inherit;font-size:inherit}:focus-visible{outline:none;box-shadow:var(--app-focus-ring);border-radius:var(--app-radius-sm)}::selection{background:var(--app-accent-soft);color:var(--app-ink)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--app-space-2);border:1px solid var(--app-border);border-radius:var(--app-radius);background:var(--app-surface);color:var(--app-ink);font-weight:var(--fs-weight-medium);cursor:pointer;white-space:nowrap;transition:background var(--app-transition),border-color var(--app-transition),color var(--app-transition)}.btn--md{padding:var(--app-space-2) var(--app-space-4);font-size:var(--app-text-body)}.btn--sm{padding:var(--app-space-1) var(--app-space-3);font-size:var(--app-text-sm)}.btn:hover:not(:disabled){background:var(--app-surface-2);border-color:var(--app-border-strong)}.btn--primary{background:var(--app-accent);border-color:var(--app-accent);color:var(--app-ink-on-accent)}.btn--primary:hover:not(:disabled){background:var(--app-accent-hover);border-color:var(--app-accent-hover);color:var(--app-ink-on-accent)}.btn--ghost{background:transparent;border-color:transparent;color:var(--app-muted)}.btn--ghost:hover:not(:disabled){background:var(--app-surface-2);border-color:transparent;color:var(--app-ink)}.btn:disabled{opacity:.5;cursor:not-allowed}.alert{display:flex;gap:var(--app-space-3);padding:var(--app-space-3) var(--app-space-4);border:1px solid transparent;border-radius:var(--app-radius);font-size:var(--app-text-body)}.alert__cuerpo{display:flex;flex-direction:column;gap:2px;min-width:0}.alert__titulo{font-weight:var(--fs-weight-semibold)}.alert--error{background:var(--app-danger-soft);color:var(--app-danger)}.alert--aviso{background:var(--app-warn-soft);color:var(--app-warn)}.alert--info{background:var(--app-info-soft);color:var(--app-info)}.alert--ok{background:var(--app-ok-soft);color:var(--app-ok)}.card{background:var(--app-surface);border:1px solid var(--app-border);border-radius:var(--app-radius-lg);box-shadow:var(--app-shadow);padding:var(--app-space-5)}.card__head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--app-space-4);flex-wrap:wrap;margin-bottom:var(--app-space-4)}.card__headings{min-width:0}.card__title{font-size:var(--app-text-md)}.card__sub{margin:var(--app-space-1) 0 0;color:var(--app-muted);font-size:var(--app-text-sm);max-width:78ch}.card__acciones{display:flex;gap:var(--app-space-2);flex-wrap:wrap}.tabla-envoltorio{overflow-x:auto;max-height:calc(100vh - 11rem);max-height:calc(100dvh - 11rem);border:1px solid var(--app-border);border-radius:var(--app-radius);background:var(--app-surface)}.tabla{width:100%;border-collapse:collapse;font-size:var(--app-text-body)}.tabla thead th{position:sticky;top:0;z-index:1;background:var(--app-surface-2);color:var(--app-muted);font-size:var(--app-text-xs);font-weight:var(--fs-weight-bold);letter-spacing:var(--app-tracking-caps);text-transform:uppercase;text-align:left;padding:var(--app-space-2) var(--app-space-3);box-shadow:inset 0 -1px 0 var(--app-border);white-space:nowrap}.tabla tbody td{padding:var(--app-space-2) var(--app-space-3);border-bottom:1px solid var(--app-border);vertical-align:middle}.tabla tbody tr:last-child td{border-bottom:none}.tabla__grupo td{background:var(--app-surface-3);font-weight:var(--fs-weight-bold);font-size:var(--app-text-sm);letter-spacing:var(--app-tracking-caps);text-transform:uppercase}.tabla__vacio{padding:var(--app-space-5);text-align:center;color:var(--app-muted)}.tabla__mono{font-family:var(--app-font-mono);font-variant-numeric:var(--app-numeric);white-space:nowrap}.tabla__tenue{color:var(--app-muted)}.tabla__fila--pendiente td{background:var(--app-warn-soft)}.envios{display:grid;grid-template-columns:minmax(0,1fr);min-width:0;gap:1rem}.envios__acciones{display:flex;flex-wrap:wrap;align-items:center;gap:.65rem}.envios__sub{display:block;opacity:.7}.envios__detalle{padding-left:1rem;max-width:35rem}.envios__detalle li{margin-block:.5rem}.envios details summary{cursor:pointer}.envios__filtros{display:flex;flex-wrap:wrap;align-items:end;gap:1rem;margin-bottom:1rem}.envios__filtros>*{min-width:0;max-width:100%}.envios__ayuda{flex-basis:100%;margin:0;color:var(--app-muted)}@media(max-width:600px){.envios__filtros>label{flex-basis:100%}.envios__filtros button{min-height:44px}}.input{border:1px solid var(--app-border-strong);border-radius:var(--app-radius-sm);background:var(--app-surface);color:var(--app-ink);padding:var(--app-space-2) var(--app-space-3);font-size:var(--app-text-body);width:100%;min-width:0}.input:disabled{opacity:.5;cursor:not-allowed}.input-campo{display:flex;flex-direction:column;gap:var(--app-space-1);min-width:0}.input-campo__etiqueta{font-size:var(--app-text-sm);font-weight:var(--fs-weight-medium);color:var(--app-ink)}.input-campo__ayuda{font-size:var(--app-text-xs);color:var(--app-muted)}.select{appearance:none;border:1px solid var(--app-border-strong);border-radius:var(--app-radius-sm);background-color:var(--app-surface);color:var(--app-ink);cursor:pointer;max-width:100%;background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,transparent 50%);background-position:calc(100% - 15px) calc(50% + 1px),calc(100% - 10px) calc(50% + 1px);background-size:5px 5px,5px 5px;background-repeat:no-repeat}.select--md{padding:var(--app-space-2) var(--app-space-6) var(--app-space-2) var(--app-space-3);font-size:var(--app-text-body)}.select--sm{padding:var(--app-space-1) var(--app-space-5) var(--app-space-1) var(--app-space-2);font-size:var(--app-text-sm)}.select:hover:not(:disabled){background-color:var(--app-surface-2)}.select:disabled{opacity:.5;cursor:not-allowed}.brand-lockup{display:block;height:26px;width:auto;max-width:100%;align-self:flex-start;color:var(--app-ink)}.acceso{min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:var(--app-space-5) var(--app-space-4);background:var(--app-bg)}.acceso__panel{width:100%;max-width:380px;display:flex;flex-direction:column;gap:var(--app-space-4);background:var(--app-surface);border:1px solid var(--app-border);border-radius:var(--app-radius-lg);box-shadow:var(--app-shadow);padding:var(--app-space-6) var(--app-space-5)}.acceso__marca{display:flex;justify-content:center;color:var(--app-ink)}.acceso__marca .brand-lockup{height:34px;width:auto}.acceso__titulo{font-size:var(--app-text-lg);margin:0}.acceso__bajada{margin:calc(var(--app-space-3) * -1) 0 0;color:var(--app-muted);font-size:var(--app-text-sm)}.acceso__campos{display:flex;flex-direction:column;gap:var(--app-space-3)}.acceso__error{margin-top:calc(var(--app-space-2) * -1)}.checkbox{display:inline-flex;align-items:center;gap:var(--app-space-2);cursor:pointer;font-size:var(--app-text-body);color:var(--app-ink);-webkit-user-select:none;user-select:none}.checkbox input{width:16px;height:16px;margin:0;accent-color:var(--app-accent);cursor:inherit}.checkbox--disabled{opacity:.5;cursor:not-allowed}.checkbox__texto--oculto{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.chip{display:inline-flex;align-items:center;gap:var(--app-space-1);padding:2px 9px;border-radius:var(--app-radius-pill);font-size:var(--app-text-sm);font-weight:var(--fs-weight-semibold);white-space:nowrap}.chip--incompleta{background:var(--app-warn-soft);color:var(--app-warn)}.chip--descanso{background:var(--app-info-soft);color:var(--app-info)}.chip--tardanza{background:var(--app-danger-soft);color:var(--app-danger)}.chip--ok{background:var(--app-ok-soft);color:var(--app-ok)}.chip--neutral{background:var(--app-surface-3);color:var(--app-muted)}.ausencias__exportacion{display:flex;flex-wrap:wrap;align-items:center;gap:var(--app-space-3);margin-bottom:var(--app-space-4)}.ausencias__exportacion>.btn{white-space:normal;max-width:100%}.ausencias__exportacion p{flex:1 1 18rem;margin:0;color:var(--app-muted);font-size:var(--app-text-sm)}.ausencias__barra{display:flex;flex-wrap:wrap;align-items:center;gap:var(--app-space-3);margin-bottom:var(--app-space-4)}.ausencias__resumen{display:flex;flex-wrap:wrap;gap:var(--app-space-2);margin-left:auto}.ausencias__resumen .chip{white-space:normal}.ausencias__aviso{margin-bottom:var(--app-space-4)}.ausencias__lote{display:flex;flex-wrap:wrap;align-items:center;gap:var(--app-space-3);margin-bottom:var(--app-space-4);padding:var(--app-space-2) var(--app-space-3);background:var(--app-surface-2);border:1px solid var(--app-border);border-radius:var(--app-radius-sm)}.ausencias__lote-cuenta{font-weight:600;font-size:var(--app-text-sm)}.ausencias__lote-nota{color:var(--app-muted);font-size:var(--app-text-sm)}.ausencias__nota{margin:var(--app-space-3) 0 0;color:var(--app-muted);font-size:var(--app-text-sm)}.ausencias__sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.adjuntos{display:flex;flex-direction:column;gap:var(--app-space-3);padding:var(--app-space-3) 0}.adjuntos__acciones{display:flex;flex-wrap:wrap;align-items:center;gap:var(--app-space-3)}.adjuntos__entrada{display:none}.adjuntos__ayuda{color:var(--app-muted);font-size:var(--app-text-xs)}.adjuntos__vacio{margin:0;color:var(--app-muted);font-size:var(--app-text-sm);max-width:78ch}.adjuntos__lista{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--app-space-2)}.adjuntos__item{display:flex;flex-wrap:wrap;align-items:center;gap:var(--app-space-2);background:var(--app-surface-2);border:1px solid var(--app-border);border-radius:var(--app-radius-sm);padding:var(--app-space-1) var(--app-space-2)}.adjuntos__nombre{font-size:var(--app-text-sm);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:32ch}.ausencias__clasificada{display:flex;align-items:center;gap:var(--app-space-2);margin-top:.35rem}.dropzone{display:flex;flex-direction:column;align-items:center;gap:var(--app-space-1);width:100%;padding:var(--app-space-6) var(--app-space-5);border:2px dashed var(--app-border-strong);border-radius:var(--app-radius-lg);background:var(--app-surface-2);color:var(--app-muted);font-size:var(--app-text-body);text-align:center;cursor:pointer;transition:border-color var(--app-transition),background var(--app-transition)}.dropzone:hover:not(:disabled),.dropzone--activa{border-color:var(--app-accent);background:var(--app-accent-soft)}.dropzone:disabled{cursor:progress;opacity:.6}.dropzone__titulo{color:var(--app-ink);font-size:var(--app-text-md);font-weight:var(--fs-weight-semibold)}.dropzone__ayuda{font-size:var(--app-text-sm)}.dropzone__input{display:none}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--app-space-3)}.stat{display:flex;flex-direction:column;gap:2px;padding:var(--app-space-3) var(--app-space-4);border-radius:var(--app-radius);background:var(--app-surface-2)}.stat__valor{font-size:var(--app-text-xl);font-weight:var(--fs-weight-bold);font-variant-numeric:var(--app-numeric);line-height:var(--app-leading-tight)}.stat__etiqueta{font-size:var(--app-text-xs);color:var(--app-muted);text-transform:uppercase;letter-spacing:var(--app-tracking-caps)}.stat__nota{font-size:var(--app-text-xs);color:var(--app-muted)}.carga__error{margin-top:var(--app-space-4)}.carga__cambios{margin-top:var(--app-space-3)}.carga__avisos{display:flex;flex-direction:column;gap:var(--app-space-3)}.carga__avisos:not(:empty){margin-top:var(--app-space-4)}.carga__estado{margin:0;color:var(--app-muted);max-width:78ch}.carga__acciones{display:flex;flex-wrap:wrap;gap:var(--app-space-3);margin-top:var(--app-space-4)}.icon{width:18px;height:18px;flex:none;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.calendario{display:grid;gap:var(--app-space-2);width:100%}.calendario__cabecera{display:flex;align-items:center;justify-content:space-between;gap:var(--app-space-2)}.calendario__titulo{font-size:var(--app-text-body);font-weight:var(--fs-weight-semibold)}.calendario__nav{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border:1px solid var(--app-border);border-radius:var(--app-radius);background:var(--app-surface);color:var(--app-ink);cursor:pointer;transition:background var(--app-transition)}.calendario__nav:hover{background:var(--app-surface-2)}.calendario__pista{margin:0;font-size:var(--app-text-sm);color:var(--app-muted)}.calendario__grilla{width:100%;border-collapse:collapse;table-layout:fixed}.calendario__columna{padding:var(--app-space-1) 0;font-size:var(--app-text-xs);font-weight:var(--fs-weight-semibold);color:var(--app-muted);text-align:center}.calendario__sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.calendario__celda{padding:1px 0;text-align:center}.calendario__celda--medio{background:var(--app-accent-soft)}.calendario__celda--inicio{background:linear-gradient(to right,transparent 50%,var(--app-accent-soft) 50%)}.calendario__celda--fin{background:linear-gradient(to left,transparent 50%,var(--app-accent-soft) 50%)}.calendario__dia{display:inline-flex;align-items:center;justify-content:center;width:36px;max-width:100%;aspect-ratio:1;border:none;border-radius:50%;background:transparent;color:var(--app-ink);font:inherit;font-size:var(--app-text-sm);font-variant-numeric:var(--app-numeric);cursor:pointer;transition:background var(--app-transition)}.calendario__dia:hover:not(.calendario__dia--extremo){background:var(--app-surface-3)}.calendario__dia--fuera{color:var(--app-muted)}.calendario__dia--hoy{font-weight:var(--fs-weight-semibold);box-shadow:inset 0 0 0 1.5px var(--app-border-strong)}.calendario__dia--extremo{background:var(--app-accent);color:var(--app-ink-on-accent);font-weight:var(--fs-weight-semibold)}.calendario__dia--extremo.calendario__dia--hoy{box-shadow:inset 0 0 0 2px var(--app-ink-on-accent)}.calendario__pie{display:flex;justify-content:flex-end}.calendario__hoy{border:none;background:transparent;color:var(--app-accent);font:inherit;font-size:var(--app-text-sm);font-weight:var(--fs-weight-semibold);padding:var(--app-space-1) var(--app-space-2);border-radius:var(--app-radius-sm);cursor:pointer}.calendario__hoy:hover{background:var(--app-surface-2)}.calendario__dia:focus-visible{border-radius:50%;box-shadow:var(--app-focus-ring)}.cierre__controles,.cierre__resumen{display:flex;flex-wrap:wrap;align-items:center;gap:var(--app-space-3)}.cierre__periodo{display:grid;gap:var(--app-space-3);border:0;margin:0;padding:0;min-inline-size:0}.cierre__corte{display:flex;align-items:end;flex-wrap:wrap;gap:var(--app-space-2)}.cierre__corte .input-campo{max-width:9rem}.cierre__editor{display:grid;gap:var(--app-space-2);min-width:12rem;white-space:normal}.cierre__editor .btn{justify-self:start}.cierre__fecha{justify-self:start;max-width:100%}.segmented{display:inline-flex;border:1px solid var(--app-border);border-radius:var(--app-radius);overflow:hidden;background:var(--app-surface)}.segmented__opcion{border:none;background:transparent;color:var(--app-muted);padding:var(--app-space-1) var(--app-space-3);font-size:var(--app-text-sm);font-weight:var(--fs-weight-semibold);cursor:pointer;transition:background var(--app-transition),color var(--app-transition)}.segmented__opcion:hover:not(.segmented__opcion--on){background:var(--app-surface-2);color:var(--app-ink)}.segmented__opcion--on{background:var(--app-accent);color:var(--app-ink-on-accent)}.config__aviso{margin-bottom:var(--app-space-4)}.config__vacio{margin:0;color:var(--app-muted);font-size:var(--app-text-sm)}.config__nota{margin:var(--app-space-3) 0 0;color:var(--app-muted);font-size:var(--app-text-sm);max-width:78ch}.config__sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.config__sectores{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(320px,100%),1fr));gap:var(--app-space-3)}.config__sector{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--app-space-3);background:var(--app-surface-2);border:1px solid var(--app-border);border-radius:var(--app-radius);padding:var(--app-space-2) var(--app-space-3)}.config__sector-nombre{font-weight:var(--fs-weight-medium);min-width:0;overflow-wrap:anywhere}.config__parametros{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));gap:var(--app-space-4);align-items:start}.config__ayuda{margin:var(--app-space-1) 0 0;color:var(--app-muted);font-size:var(--app-text-sm)}.config__error-campo{margin:var(--app-space-1) 0 0;color:var(--app-danger);font-size:var(--app-text-sm)}.config__acciones-parametros{display:flex;flex-wrap:wrap;align-items:center;gap:var(--app-space-3);margin-top:var(--app-space-4)}.config__acciones-parametros .btn{min-height:44px}.config__resultado-parametros{margin-top:var(--app-space-3)}.config__alta{margin-bottom:var(--app-space-4);max-width:420px}.config__alta--motivo{display:flex;flex-wrap:wrap;align-items:flex-end;gap:var(--app-space-3);margin:var(--app-space-4) 0 0;max-width:none}.config__etiquetas{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:var(--app-space-2)}.config__etiqueta{display:inline-flex;align-items:center;gap:var(--app-space-2);background:var(--app-surface-2);border:1px solid var(--app-border);border-radius:var(--app-radius-pill);padding:var(--app-space-1) var(--app-space-1) var(--app-space-1) var(--app-space-3);font-size:var(--app-text-sm)}.config__etiqueta-dni{font-family:var(--app-font-mono);font-variant-numeric:var(--app-numeric);color:var(--app-muted);font-size:var(--app-text-xs)}.filtros-personas{display:flex;flex-wrap:wrap;align-items:end;gap:1rem;margin-bottom:1rem}.filtros-personas>.input-campo{flex:1 1 15rem}.filtros-personas>[role=status]{align-self:center;font-size:.875rem}.horas__aviso{margin-bottom:var(--app-space-4)}.horas__sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.horas__positiva{color:var(--app-ok);font-weight:var(--fs-weight-semibold)}.horas__negativa{color:var(--app-danger);font-weight:var(--fs-weight-semibold)}.horas__dias{display:grid;gap:var(--app-space-2);padding:var(--app-space-2) 0}.horas__dia{border-left:3px solid var(--app-border);padding:var(--app-space-2) var(--app-space-3);background:var(--app-surface-2);border-radius:var(--app-radius-sm)}.horas__movimientos{color:var(--app-muted);font-family:var(--app-font-mono);font-size:var(--app-text-xs);margin-top:var(--app-space-1)}.horas__dia-cabecera{display:flex;flex-wrap:wrap;align-items:center;gap:var(--app-space-2)}.indicador__numero,.tabla thead th.indicador__numero{text-align:right}.indicador__numero--cero{color:var(--app-muted)}.indicador__aviso,.cuenta__aviso{margin-bottom:var(--app-space-4)}.cuenta__aviso--interno{margin-top:var(--app-space-4);margin-bottom:0}.cuenta__contrasena{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr)) auto;gap:var(--app-space-3);align-items:end}@media(max-width:900px){.cuenta__contrasena{grid-template-columns:1fr}}.cuenta__datos{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--app-space-4);margin:0}.cuenta__dato dt{color:var(--app-muted);font-size:var(--app-text-sm)}.cuenta__dato dd{margin:var(--app-space-1) 0 0;overflow-wrap:anywhere}.cuenta__mono{font-family:var(--app-font-mono);font-variant-numeric:var(--app-numeric)}.cuenta__sectores{display:flex;flex-wrap:wrap;gap:var(--app-space-2)}.cuenta__nota{margin:var(--app-space-4) 0 0;color:var(--app-muted);font-size:var(--app-text-sm);max-width:78ch}.notificaciones__chips{display:flex;flex-wrap:wrap;gap:var(--app-space-1)}.notificaciones__total{color:var(--app-muted);font-size:var(--app-text-sm);white-space:nowrap}.notificaciones__sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.notificaciones__dias{display:grid;gap:var(--app-space-2);margin:0;padding:var(--app-space-2) 0;list-style:none}.notificaciones__dia{display:flex;flex-wrap:wrap;align-items:center;gap:var(--app-space-3);border-left:3px solid var(--app-border);padding:var(--app-space-2) var(--app-space-3);background:var(--app-surface-2);border-radius:var(--app-radius-sm)}.notificaciones__fecha{font-family:var(--app-font-mono);min-width:10ch}.notificaciones__dia .notificaciones__chips{flex:1}.notificaciones__aviso{margin-bottom:var(--app-space-3)}.notificaciones__ayuda{margin:0 0 var(--app-space-3);color:var(--app-muted);font-size:var(--app-text-sm)}.notificaciones__seleccion{margin-top:var(--app-space-1);color:var(--app-muted);font-size:var(--app-text-sm)}@media(max-width:900px){.notificaciones__preparar{max-width:100%;white-space:normal;overflow-wrap:anywhere}}.usuarios__aviso{margin-bottom:var(--app-space-4)}.usuarios__alta{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr)) auto;gap:var(--app-space-3);align-items:end}.usuarios__rol{display:grid;gap:var(--app-space-1);color:var(--app-muted);font-size:var(--app-text-sm)}.usuarios__temporal,.usuarios__acciones{display:flex;flex-wrap:wrap;align-items:center;gap:var(--app-space-2);margin-bottom:var(--app-space-2)}.usuarios__temporal code{font-family:var(--app-font-mono);font-size:var(--app-text-body);-webkit-user-select:all;user-select:all}.usuarios__sectores-campo{margin:var(--app-space-4) 0 0;padding:var(--app-space-3);border:1px solid var(--app-border);border-radius:var(--app-radius)}.usuarios__sectores-campo legend{padding:0 var(--app-space-2);color:var(--app-muted);font-size:var(--app-text-sm)}.usuarios__sectores-lista{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:var(--app-space-2)}.usuarios__sectores{display:flex;flex-wrap:wrap;gap:var(--app-space-1)}.usuarios__sin-sectores{color:var(--app-muted)}.usuarios__problema{margin:var(--app-space-3) 0 0;color:var(--app-danger);font-size:var(--app-text-sm)}.usuarios__nota{margin:var(--app-space-3) 0 0;color:var(--app-muted);font-size:var(--app-text-sm);max-width:78ch}.usuarios__confirmacion{width:min(32rem,calc(100vw - 2rem));box-sizing:border-box;max-height:calc(100dvh - 2rem);overflow:auto;overflow-wrap:anywhere;border:1px solid var(--app-border);border-radius:var(--app-radius);padding:1.5rem;background:var(--app-surface);color:var(--app-ink)}.usuarios__confirmacion::backdrop{background:#00000073}.usuarios__confirmacion button{min-height:44px}@media(max-width:900px){.usuarios__alta{grid-template-columns:1fr}}.badge{margin-left:auto;padding:1px 8px;border-radius:var(--app-radius-pill);background:var(--app-surface-3);color:var(--app-muted);font-size:var(--app-text-xs);font-weight:var(--fs-weight-semibold);font-variant-numeric:var(--app-numeric);line-height:1.6}.badge--alerta{background:var(--app-danger-soft);color:var(--app-danger)}.badge__sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.sidebar{display:flex;flex-direction:column;gap:var(--app-space-1);padding:var(--app-space-5) var(--app-space-3);background:var(--app-surface);border-right:1px solid var(--app-border);min-width:0}.sidebar__brand{display:flex;flex-direction:column;gap:var(--app-space-1);padding:0 var(--app-space-2) var(--app-space-5)}.sidebar__producto{font-size:var(--app-text-xs);color:var(--app-muted);text-transform:uppercase;letter-spacing:var(--app-tracking-caps)}.sidebar__lista{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.sidebar__item{display:flex;align-items:center;gap:var(--app-space-3);padding:var(--app-space-2) var(--app-space-3);border-radius:var(--app-radius);color:var(--app-muted);text-decoration:none;font-size:var(--app-text-body);font-weight:var(--fs-weight-medium);transition:background var(--app-transition),color var(--app-transition)}.sidebar__item:hover{background:var(--app-surface-2);color:var(--app-ink)}.sidebar__item--activo{background:var(--app-accent-soft);color:var(--app-accent);font-weight:var(--fs-weight-semibold)}.sidebar__label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:900px){.sidebar{border-right:none;border-bottom:1px solid var(--app-border);padding:var(--app-space-3)}.sidebar__brand{display:none}.sidebar__item{min-height:44px;padding:var(--app-space-2) var(--app-space-3)}}.module-navigation{display:flex;flex-direction:column;gap:var(--app-space-2);min-width:0}.module-navigation__label{color:var(--app-muted);font-size:var(--app-text-sm);font-weight:var(--fs-weight-semibold)}.module-navigation__list{display:flex;flex-wrap:wrap;gap:var(--app-space-2);list-style:none;padding:0;margin:0}.module-navigation a{display:inline-flex;align-items:center;min-height:44px;padding:var(--app-space-2) var(--app-space-3);border:1px solid var(--app-border);border-radius:var(--app-radius);color:var(--app-muted);background:var(--app-surface);text-decoration:none;font-weight:var(--fs-weight-medium)}.module-navigation a:hover{background:var(--app-surface-2);color:var(--app-ink)}.module-navigation a[aria-current=page]{background:var(--app-accent-soft);color:var(--app-accent);border-color:var(--app-accent);font-weight:var(--fs-weight-semibold)}.topbar{display:flex;align-items:center;gap:var(--app-space-4);flex-wrap:wrap;padding:var(--app-space-4) var(--app-space-5);background:var(--app-surface);border-bottom:1px solid var(--app-border);position:sticky;top:0;z-index:10}.topbar__titulo{font-size:var(--app-text-lg);min-width:0}.topbar__periodo{display:flex;align-items:center;gap:var(--app-space-2);margin-left:auto;flex-wrap:wrap}.topbar__navegacion{display:flex;align-items:center;gap:var(--app-space-2)}.topbar__paso{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border:1px solid var(--app-border);border-radius:var(--app-radius);background:var(--app-surface);color:var(--app-ink);cursor:pointer;transition:background var(--app-transition)}.topbar__paso:hover{background:var(--app-surface-2)}.topbar__selector{display:flex}.topbar__ancla{display:inline-flex;align-items:center;justify-content:center;gap:var(--app-space-1);min-width:11ch;height:30px;padding:0 var(--app-space-2);border:1px solid transparent;border-radius:var(--app-radius);background:transparent;color:var(--app-ink);font:inherit;font-size:var(--app-text-sm);font-weight:var(--fs-weight-semibold);font-variant-numeric:var(--app-numeric);white-space:nowrap;cursor:pointer;transition:background var(--app-transition),border-color var(--app-transition)}.topbar__ancla .icon{width:16px;height:16px;color:var(--app-muted)}.topbar__ancla:hover,.topbar__ancla[aria-expanded=true]{background:var(--app-surface-2);border-color:var(--app-border)}.topbar__popover{position:fixed;z-index:20;padding:var(--app-space-3);background:var(--app-surface);border:1px solid var(--app-border);border-radius:var(--app-radius-lg);box-shadow:var(--app-shadow-lg)}.topbar__rango{font-size:var(--app-text-sm);color:var(--app-muted);font-variant-numeric:var(--app-numeric);white-space:nowrap}.topbar__cuenta{display:flex;align-items:center;gap:var(--app-space-2);margin-left:auto}.topbar__operador{font-size:var(--app-text-sm);color:var(--app-muted);max-width:24ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:900px){.topbar{padding:var(--app-space-3) var(--app-space-4);gap:var(--app-space-2) var(--app-space-3)}.topbar__titulo{flex:1 1 auto;overflow-wrap:anywhere}.topbar__cuenta{flex:0 1 auto;min-width:0}.topbar__operador{max-width:14ch}.topbar__cuenta .btn{min-height:44px}.topbar__periodo{order:1;width:100%;margin-left:0}.topbar__periodo .segmented__opcion{min-height:44px}.topbar__navegacion{max-width:100%;gap:var(--app-space-1)}.topbar__paso{width:44px;height:44px;flex-shrink:0}.topbar__selector{min-width:0}.topbar__ancla{height:auto;min-height:44px;min-width:0;white-space:normal}.topbar__ancla .icon{flex-shrink:0}.topbar__rango{white-space:normal}}.topbar__perfil{display:inline-flex;align-items:center;min-height:44px;flex-shrink:0;color:var(--app-accent);font-size:var(--app-text-sm);text-underline-offset:3px}.topbar__perfil[aria-current=page]{font-weight:var(--fs-weight-semibold)}@media(max-width:900px){.topbar__cuenta{flex-wrap:wrap;max-width:100%}.topbar__operador{flex:1 1 auto;min-width:0}}.shell{display:grid;grid-template-columns:248px minmax(0,1fr);min-height:100vh}.shell__main{display:flex;flex-direction:column;min-width:0}.shell__mobile-bar,.shell__navigation[hidden],.shell__mobile-bar[hidden]{display:none}.shell__navigation>.sidebar{min-height:100%}.shell__menu-toggle{display:inline-flex;align-items:center;justify-content:center;gap:var(--app-space-2);min-height:44px;padding:var(--app-space-2) var(--app-space-3);border:1px solid var(--app-border);border-radius:var(--app-radius);background:var(--app-surface);color:var(--app-ink);font:inherit;font-weight:var(--fs-weight-semibold);cursor:pointer}.shell__menu-toggle:hover{background:var(--app-surface-2)}.shell__menu-toggle svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}.shell__content{display:flex;flex-direction:column;gap:var(--app-space-5);padding:var(--app-space-5);width:100%;max-width:1400px;margin:0 auto}@media(max-width:900px){.shell{grid-template-columns:minmax(0,1fr);align-content:start}.shell__mobile-bar{display:flex;align-items:center;justify-content:space-between;gap:var(--app-space-3);padding:var(--app-space-2) var(--app-space-4);background:var(--app-surface);border-bottom:1px solid var(--app-border)}.shell__mobile-brand{width:132px;align-self:center}.shell__content{padding:var(--app-space-4)}}
