.link-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-2);margin-top:10px}.link-code{font-family:var(--font-sans);font-size:var(--fs-2xs);background:var(--panel-2);border:1px solid var(--line);border-radius:var(--r-sm);padding:var(--sp-2) var(--sp-3);color:var(--accent-2);word-break:break-all;flex:1 1;min-width:220px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.btn-2.sm,.btn.sm{padding:var(--sp-2) 14px;font-size:var(--fs-xs);white-space:nowrap}.ed-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:clamp(14px,2vw,22px);gap:clamp(14px,2vw,22px);align-items:start}.ed-grid .span-2{grid-column:1/-1}@media (max-width:1000px){.ed-grid{grid-template-columns:1fr}.ed-grid .span-2{grid-column:auto}}.ed-list{list-style:none;padding:0;margin:0 0 var(--sp-3);display:flex;flex-direction:column;gap:var(--sp-2)}.ed-row{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-2) 12px;background:var(--panel-2);border:1px solid var(--line);border-radius:var(--r-sm)}.ed-row>span:first-child{flex:1 1}.mono-pct{font-family:var(--font-sans);color:var(--accent);font-size:var(--fs-sm);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.x{background:transparent;border:none;color:var(--muted);cursor:pointer;font-size:var(--fs-base);padding:var(--sp-2) var(--sp-3);border-radius:var(--r-chip);transition:color var(--dur-fast),background var(--dur-fast)}.x:hover{color:var(--danger);background:var(--danger-subtle)}.ed-add{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-2)}.ed-add input,.ed-add select{width:auto;flex:1 1;min-width:110px}.van-check{display:inline-flex;align-items:center;gap:var(--sp-1);font-size:var(--fs-xs);color:var(--muted);white-space:nowrap}.van-check input{width:auto;flex:none}.route-row{display:flex;flex-direction:column;gap:var(--sp-2);padding:var(--sp-3);background:var(--panel-2);border:1px solid var(--line);border-radius:var(--r-sm)}.route-name{display:flex;align-items:center;justify-content:space-between;font-weight:600}.route-prices{display:flex;flex-wrap:wrap;align-items:end;gap:var(--sp-2)}.route-prices label{font-size:var(--fs-xs);color:var(--muted);display:flex;flex-direction:column;gap:var(--sp-1)}.route-prices input{width:120px}.topbar{animation:fade-down var(--dur-slow) var(--ease-out) both}.hero .eyebrow{animation:fade-up .42s 40ms var(--ease-out) both}.hero h1{animation:fade-up .48s var(--dur-fast) var(--ease-out) both}.hero p{animation:fade-up .48s .16s var(--ease-out) both}.card{animation:rise .46s var(--dur-fast) var(--ease-out) both}.quote{animation:rise .5s .2s var(--ease-out) both}.auth-card{animation:rise .44s 80ms var(--ease-out) both}.bcard,.offer{animation:fade-up var(--dur-slow) var(--ease-out) both}.cards>li:first-child{animation-delay:0s}.cards>li:nth-child(2){animation-delay:55ms}.cards>li:nth-child(3){animation-delay:.11s}.cards>li:nth-child(4){animation-delay:165ms}.cards>li:nth-child(5){animation-delay:.22s}.cards>li:nth-child(n+6){animation-delay:.27s}.ed-list>li{animation:fade-up var(--dur-slow) var(--ease-out) both}.ed-list>li:nth-child(2){animation-delay:45ms}.ed-list>li:nth-child(3){animation-delay:90ms}.ed-list>li:nth-child(4){animation-delay:135ms}.ed-list>li:nth-child(n+5){animation-delay:.17s}.btn-2,.btn-ghost,.landing .demo-link,.theme-toggle,.x{transition:transform var(--dur-fast) var(--ease-out),border-color .15s ease,color .15s ease,background .15s ease,filter .15s ease}.btn-2:active,.btn-ghost:active,.landing .demo-link:active,.theme-toggle:active,.x:active{transform:scale(.97)}@media (hover:hover) and (pointer:fine){.landing .demo-link:hover{transform:translateY(-2px)}.theme-toggle:hover{transform:translateY(-1px)}}.modal-bg{position:fixed;inset:0;background:none;z-index:70;display:flex;align-items:center;justify-content:center;padding:var(--sp-4);animation:fade-up .16s ease both}.modal{width:100%;max-width:620px;max-height:92vh;overflow-y:auto;background:var(--panel);border:1px solid var(--line);border-radius:var(--r-lg);padding:clamp(18px,2.4vw,26px);box-shadow:var(--shadow-sm)}.modal-head{display:flex;justify-content:space-between;align-items:center;gap:var(--sp-3);margin-bottom:14px}.modal-title{font-size:var(--fs-base);font-weight:700;margin:0}.modal-x{background:none;border:none;color:var(--muted);font-size:var(--fs-lg);cursor:pointer;padding:var(--sp-1) var(--sp-2);border-radius:var(--r-control)}.modal-x:hover{color:var(--text);background:var(--panel-2)}.modal-actions{display:flex;gap:var(--sp-2);margin-top:18px}@media (max-width:640px){.modal-bg{align-items:flex-end;padding:0}.modal{max-width:none;border-radius:var(--r-card);max-height:88vh}}.sum-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));grid-gap:var(--sp-2) var(--sp-5);gap:var(--sp-2) var(--sp-5)}.sum-it{display:flex;flex-direction:column;gap:var(--sp-1);min-width:0}.sum-k{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.sum-v{font-size:var(--fs-sm);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sum-v.empty{color:var(--muted);font-style:italic}.vp-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:var(--sp-2);gap:var(--sp-2);margin-top:12px}.vp-slot{aspect-ratio:4/3;border:1px dashed var(--line);border-radius:var(--r-control);overflow:hidden;position:relative;display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:var(--fs-xs);font-family:inherit;padding:0;width:100%;cursor:pointer;background:var(--panel-2);text-align:center}.vp-slot:focus-visible{outline:2px solid var(--f-accent,var(--accent));outline-offset:2px}.vp-slot img{width:100%;height:100%;object-fit:cover}.vp-slot.busy{opacity:.5;pointer-events:none}.vp-del{position:absolute;top:4px;right:4px;background:none;color:var(--bg);border:none;border-radius:var(--r-chip);font-size:var(--fs-xs);padding:2px var(--sp-2);cursor:pointer}@media (max-width:640px){.vp-grid{grid-template-columns:repeat(2,1fr)}}.side-sect{display:block;margin:var(--sp-4) 12px var(--sp-1);font-family:var(--font-sans);font-size:var(--fs-xs);font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--s-muted,var(--muted))}.side-nav .side-sect:first-child{margin-top:2px}.cal-board{overflow-x:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;box-shadow:var(--shadow-card)}.cal-board,.cal-tip{border:1px solid var(--border);border-radius:var(--r-card);background:var(--f-surface)}.cal-tip{position:fixed;z-index:90;width:268px;max-width:300px;box-shadow:var(--shadow-menu);padding:var(--sp-2) var(--sp-3);pointer-events:none;color:var(--f-body)}.cal-tip .ct-head{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2)}.cal-tip .ct-time{font-family:var(--font-sans);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:var(--fs-xs);font-weight:600;color:var(--f-ink)}.cal-tip .ct-pill{display:inline-flex;align-items:center;height:20px;padding:0 var(--sp-2);border-radius:var(--r-chip);font-family:var(--font-sans);font-size:var(--fs-xs);letter-spacing:.08em;text-transform:uppercase;--b:var(--f-muted);color:var(--b);background:color-mix(in srgb,var(--b) 14%,transparent);border:1px solid var(--b)}.cal-tip .ct-pill.s-no_segura,.cal-tip .ct-pill.s-solicitada{--b:var(--f-amber)}.cal-tip .ct-pill.s-confirmada{--b:var(--f-accent)}.cal-tip .ct-pill.s-en_camino,.cal-tip .ct-pill.s-en_curso{--b:var(--f-blue)}.cal-tip .ct-pill.s-completada{--b:var(--f-green)}.cal-tip .ct-pill.s-no_show{--b:var(--f-red)}.cal-tip .ct-pill.s-cancelada,.cal-tip .ct-pill.s-rechazada{--b:var(--f-muted)}.cal-tip .ct-route{margin-top:6px;font-size:var(--fs-xs);line-height:1.35;color:var(--f-body)}.cal-tip .ct-route b{color:var(--f-ink);font-weight:600}.cal-tip .ct-kv{margin-top:6px;padding-top:6px;border-top:1px solid var(--f-hair);display:grid;grid-gap:var(--sp-1);gap:var(--sp-1)}.cal-tip .ct-row{display:flex;align-items:baseline;justify-content:space-between;gap:var(--sp-3)}.cal-tip .ct-k{font-family:var(--font-sans);font-size:var(--fs-xs);letter-spacing:.1em;text-transform:uppercase;color:var(--f-muted);flex:none}.cal-tip .ct-v{font-size:var(--fs-xs);color:var(--f-ink);text-align:right;overflow-wrap:anywhere}.cal-tip .ct-v b{color:var(--f-ink);font-weight:600}.asg-wrap{display:grid;grid-template-columns:minmax(240px,.72fr) minmax(0,2.4fr);grid-gap:var(--sp-4);gap:var(--sp-4);align-items:start;min-width:0;overflow-x:clip}.asg-pending{display:flex;flex-direction:column;gap:var(--sp-1);padding:1px;border-radius:var(--r-control);transition:background var(--dur-fast) ease,box-shadow var(--dur-fast) ease}.asg-pending.over{background:color-mix(in srgb,var(--f-accent) 7%,var(--f-surface));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--f-accent) 45%,transparent)}.asg-card{position:relative;border:1px dashed var(--border-strong);border-radius:var(--r-card);background:var(--bg);box-shadow:var(--shadow-card);padding:var(--sp-2) var(--sp-3);cursor:-webkit-grab;cursor:grab;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:border-color var(--dur-fast) ease;min-width:0;overflow:hidden}.asg-card:hover{border-color:var(--f-muted)}.asg-card:active{cursor:-webkit-grabbing;cursor:grabbing}.asg-card.dragging{opacity:.45}.asg-card .ac-top{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2)}.asg-card .ac-time{font-family:var(--font-sans);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:var(--fs-sm);font-weight:600;color:var(--f-ink)}.asg-card .ac-ico{display:flex;align-items:center;gap:var(--sp-2);color:var(--f-muted)}.asg-card .ac-ct{display:inline-flex;align-items:center;gap:var(--sp-1);font-family:var(--font-sans);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:var(--fs-xs)}.asg-card .ac-pmr{font-family:var(--font-sans);font-size:var(--fs-xs);letter-spacing:.06em;color:var(--f-ink);border:1px solid var(--border-strong);background:var(--bg);border-radius:var(--r-chip);padding:1px var(--sp-1)}.asg-card .ac-route{margin-top:7px;display:grid;grid-template-columns:10px 1fr;grid-gap:var(--sp-1) var(--sp-2);gap:var(--sp-1) var(--sp-2);align-items:start}.asg-card .ac-dot{width:6px;height:6px;margin-top:5px;border-radius:var(--r-chip)}.asg-card .ac-o{font-weight:500;color:var(--f-ink)}.asg-card .ac-d,.asg-card .ac-o{font-size:var(--fs-sm);line-height:1.3;overflow-wrap:anywhere}.asg-card .ac-d{color:var(--f-body)}.asg-card .a-meta{margin-top:7px;font-family:var(--font-sans);font-size:var(--fs-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--f-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.asg-card .a-need{margin-top:6px;display:flex;flex-wrap:wrap;gap:var(--sp-1);align-items:center}.asg-card .a-need .a-tiene{display:inline-flex;align-items:center;gap:4px;min-width:0;max-width:100%;height:20px;padding:0 var(--sp-2);border-radius:var(--r-chip);background:var(--bg);color:var(--f-ink);border:1px solid var(--border);font-family:var(--font-sans);font-size:var(--fs-2xs);font-weight:var(--fw-medium);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.asg-card .a-need .a-tiene svg{flex:none;color:var(--f-muted)}.asg-card .ac-cuando{display:inline-flex;align-items:baseline;gap:var(--sp-2);min-width:0}.asg-card .ac-est{gap:4px;font-size:var(--fs-2xs);white-space:nowrap}.asg-card .ac-est.s-bolsa{padding:0 var(--sp-2)}.asg-card .b-abrir{position:absolute;inset:0;z-index:1;border-radius:inherit}.asg-card .b-abrir:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.asg-card .ac-asignar{position:relative;z-index:2;font-family:var(--font-sans);font-size:var(--fs-xs);letter-spacing:.06em;padding:2px var(--sp-2);border-radius:var(--r-chip);background:var(--brand-subtle);color:var(--brand,var(--accent));border:1px solid transparent;cursor:pointer}.asg-card .ac-asignar:hover{border-color:var(--brand,var(--accent))}.asg-badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;margin-left:4px;border-radius:var(--r-chip);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:var(--fs-2xs);font-weight:700;background:var(--f-surface-2);color:var(--f-muted)}.asg-badge.asg-ok{background:var(--f-green);color:var(--text-inverse)}.asg-badge.asg-avisa{background:var(--f-amber);color:var(--text-inverse)}.asg-badge.asg-rojo{background:var(--f-red);color:var(--text-inverse)}.asg-dias{display:flex;align-items:stretch;gap:var(--sp-1);margin-bottom:var(--sp-3);min-width:0;overflow-x:clip}.asg-dias-flecha{flex:none;width:36px;min-height:56px;border:1px solid var(--border);background:var(--bg);border-radius:var(--r-control);color:var(--f-muted);font-size:var(--fs-lg);cursor:pointer;font-family:var(--font-sans)}.asg-dias-flecha:hover{background:var(--f-surface-2);color:var(--f-ink)}.asg-dias-grid{flex:1 1 auto;display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);grid-gap:var(--sp-1);gap:var(--sp-1);min-width:0}.asg-dia{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;min-height:56px;padding:6px 2px;min-width:0;border:1px solid var(--border);border-radius:var(--r-control);background:var(--bg);cursor:pointer;font-family:var(--font-sans)}.asg-dia .ad-d{font-size:10px;text-transform:uppercase;letter-spacing:.04em;color:var(--f-muted);font-weight:600;line-height:1}.asg-dia .ad-n{font-size:var(--fs-sm);font-weight:700;color:var(--f-ink);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;line-height:1.15}.asg-dia .ad-c{font-size:10px;font-weight:700;color:var(--f-muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;line-height:1}.asg-dia{position:relative;overflow:hidden}.asg-dia.ok{background:color-mix(in srgb,var(--cal-ok) 26%,var(--bg));border-color:var(--cal-ok)}.asg-dia.avisa{background:color-mix(in srgb,var(--cal-falta) 28%,var(--bg));border-color:var(--cal-falta)}.asg-dia.rojo{background:color-mix(in srgb,var(--danger) 22%,var(--bg));border-color:var(--danger)}.asg-dia.ok:hover{background:color-mix(in srgb,var(--cal-ok) 36%,var(--bg))}.asg-dia.avisa:hover{background:color-mix(in srgb,var(--cal-falta) 38%,var(--bg))}.asg-dia.rojo:hover{background:color-mix(in srgb,var(--danger) 32%,var(--bg))}.asg-dia.avisa .ad-c,.asg-dia.avisa .ad-d,.asg-dia.ok .ad-c,.asg-dia.ok .ad-d,.asg-dia.rojo .ad-c,.asg-dia.rojo .ad-d{color:var(--f-ink)}.asg-dia.on{outline:2px solid var(--f-ink);outline-offset:1px}.asg-dia.on:not(.ok):not(.avisa):not(.rojo){background:var(--surface)}@media (min-width:561px){.asg-dia{min-height:52px;padding:5px 1px}.asg-dia .ad-n{font-size:var(--fs-xs)}}.asg-top{display:flex;align-items:center;gap:12px;margin-bottom:14px;flex-wrap:wrap;min-width:0;overflow-x:clip}@media (max-width:560px){.asg-top{flex-direction:column;align-items:stretch;gap:var(--sp-2)}.asg-dias-flecha{width:30px;min-height:52px}.asg-dia{min-height:52px;padding:5px 1px}}.ch-asg{flex:none;width:9px;height:9px;border-radius:var(--r-round);align-self:center}.ch-asg-ok{background:var(--cal-ok)}.ch-asg-falta{background:var(--cal-falta)}.ch-asg-rojo{background:var(--f-red)}.asg-wrap{--asg-caja-min:264px;--asg-caja-alto:72px;--asg-fila-py:5px}.asg-wrap[data-asg-dens=compacto]{--asg-caja-min:176px;--asg-caja-alto:44px;--asg-fila-py:3px;grid-template-columns:minmax(220px,.5fr) minmax(0,2.6fr)}.asg-wrap[data-asg-dens=compacto][data-asg-flota="0"]{--asg-caja-min:208px}.asg-wrap[data-asg-dens=ampliado]{--asg-caja-min:344px;--asg-caja-alto:96px;--asg-fila-py:7px}.asg-cab{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);min-height:36px;margin-bottom:var(--sp-2);min-width:0}.asg-cab .card-title{margin:0;min-width:0}.asg-dens{flex:none;display:inline-flex;align-items:stretch;height:34px;border:1px solid var(--border-strong);border-radius:var(--r-control);overflow:hidden;background:var(--bg)}.asg-dens button{display:grid;place-items:center;width:34px;padding:0;border:0;background:transparent;color:var(--f-body);font-family:var(--font-sans);font-size:var(--fs-base);line-height:1;cursor:pointer;transition:background var(--dur-fast) ease,color var(--dur-fast) ease}.asg-dens button:hover{background:var(--f-surface-2);color:var(--f-ink)}.asg-dens button:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.asg-dens button:disabled{opacity:.4;cursor:default}.asg-dens button:disabled:hover{background:transparent;color:var(--f-body)}.asg-cab-pend .asg-dens{display:none}@media (max-width:900px){.asg-cab-pend .asg-dens{display:inline-flex}.asg-cab-cajas .asg-dens{display:none}}.asg-dens-nivel{display:grid;place-items:center;min-width:78px;padding:0 var(--sp-2);border-inline:1px solid var(--border-strong);font-family:var(--font-sans);font-size:var(--fs-2xs);font-weight:var(--fw-medium);color:var(--f-ink)}.asg-targets{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(var(--asg-caja-min),100%),1fr));grid-gap:var(--sp-2);gap:var(--sp-2);align-content:start;min-width:0}.asg-target{border:1px solid var(--border);border-radius:var(--r-card);background:var(--f-surface);box-shadow:var(--shadow-card);padding:var(--sp-2) var(--sp-3);min-height:var(--asg-caja-alto);min-width:0;max-width:640px;transition:border-color var(--dur-fast),background var(--dur-fast)}.asg-target.asg-huerfana{border-style:dashed;border-color:color-mix(in srgb,var(--warning) 55%,var(--border));background:var(--bg)}.asg-target.over{border-color:color-mix(in srgb,var(--f-accent) 55%,transparent);background:color-mix(in srgb,var(--f-accent) 9%,var(--f-surface))}.asg-target.asg-fuera{grid-column:1/-1;max-width:none;border-style:dashed;border-color:color-mix(in srgb,var(--cal-fuera) 50%,var(--border));background:var(--bg);box-shadow:none}.asg-target.asg-fuera h3 svg{color:var(--cal-fuera)}.asg-target.asg-fuera.over{border-style:solid;border-color:var(--cal-fuera);background:color-mix(in srgb,var(--cal-fuera) 6%,var(--bg))}.asg-fuera-sub{margin:var(--sp-2) 0 2px;font-size:var(--fs-2xs);letter-spacing:var(--ls-caps);text-transform:uppercase;color:var(--f-muted);font-weight:var(--fw-semibold)}.asg-fuera-vacia{margin:2px 0 0;font-size:var(--fs-xs);color:var(--f-muted)}@keyframes ok-flash{0%{background:var(--brand-subtle)}to{background:var(--brand-subtle)}}.asg-target.okflash{border-color:var(--f-green);animation:ok-flash 1.6s ease-out both}@keyframes warn-flash{0%{background:none}to{background:none}}@keyframes fail-flash{0%{background:var(--danger-subtle)}to{background:var(--danger-subtle)}}.asg-target.warnflash{border-color:var(--f-amber);animation:warn-flash 1.7s ease-out both}.asg-target.failflash{border-color:var(--f-red);animation:fail-flash 1.7s ease-out both}.asg-target h3{display:flex;align-items:center;flex-wrap:wrap;gap:2px var(--sp-2);margin:0 0 2px;font-family:var(--font-sans);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:var(--fs-sm);font-weight:600;color:var(--f-ink);min-width:0;min-height:24px}.asg-target h3 svg{color:var(--f-muted);flex:none}.asg-target h3 .tg-name{flex:0 1 auto;min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.asg-target h3 .tg-name svg{vertical-align:-2px;margin-right:var(--sp-2)}.asg-target h3 .tg-sub{flex:1 1 96px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--fs-2xs);font-weight:var(--fw-regular);color:var(--f-muted)}.asg-target h3 .tg-n{flex:none;display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;border-radius:var(--r-chip);background:var(--f-surface-2);color:var(--f-body);font-size:var(--fs-2xs);font-weight:700}.asg-wrap[data-asg-dens=compacto] .asg-target h3 .tg-sub{display:none}.asg-card .a-need .a-falta,.asg-target .tg-quien.tg-falta,.asg-target h3 .tg-faltan{display:inline-flex;align-items:center;flex:none;height:20px;padding:0 var(--sp-2);border-radius:var(--r-chip);border:1px solid color-mix(in srgb,var(--warning) 36%,transparent);background:var(--warning-subtle);color:var(--warning);font-family:var(--font-sans);font-size:var(--fs-2xs);font-weight:600;letter-spacing:0;white-space:nowrap}.asg-target h3 .tg-faltan{margin-left:auto}.asg-target .tg-item{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"hora ruta est" ". crew crew";grid-column-gap:var(--sp-2);column-gap:var(--sp-2);align-items:center;min-width:0;padding:var(--asg-fila-py) 4px;border-radius:0;font-family:var(--font-sans);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:var(--fs-2xs);line-height:1.4;color:var(--f-body)}.asg-target .tg-item+.tg-item,.asg-target .tg-item+.tg-ver{border-top:1px solid var(--border)}.asg-target .tg-item:hover{background:var(--f-surface-2)}.asg-target .tg-item.dragging{opacity:.45}.asg-target .tg-item .b-abrir{position:absolute;inset:0;z-index:1}.asg-target .tg-item .b-abrir:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.asg-target .tg-hora{grid-area:hora;font-weight:600;color:var(--f-ink);line-height:var(--tg-l1,inherit)}.asg-target .tg-ruta{grid-area:ruta;display:flex;gap:4px;min-width:0;white-space:nowrap;color:var(--f-ink)}.asg-target .tg-d,.asg-target .tg-o{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis}.asg-target .tg-d i{font-style:normal;color:var(--f-muted)}.asg-target .tg-est{grid-area:est;position:relative;gap:4px;min-height:var(--tg-l1,0);font-size:var(--fs-2xs);white-space:nowrap}.asg-target .tg-est.s-bolsa{padding:0 var(--sp-2)}.asg-target .tg-crew{grid-area:crew;display:flex;align-items:center;flex-wrap:wrap;gap:2px 6px;min-width:0;min-height:20px}.asg-target .tg-quien{position:relative;z-index:2;display:inline-flex;align-items:center;gap:4px;min-width:0;max-width:100%;margin:0;padding:0;border:0;background:none;font:inherit;font-weight:var(--fw-medium);color:var(--f-ink);white-space:nowrap;text-align:left}.asg-target button.tg-quien{cursor:pointer;border-radius:var(--r-control)}.asg-target button.tg-quien:not(.tg-falta):hover{color:var(--brand);text-decoration:underline;text-underline-offset:2px}.asg-target button.tg-quien.tg-falta:hover{border-color:var(--warning)}.asg-target button.tg-quien:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.asg-target .tg-quien svg{flex:none;color:var(--f-muted)}.asg-target .tg-corto,.asg-target .tg-largo,.asg-target .tg-nom{min-width:0;overflow:hidden;text-overflow:ellipsis}.asg-target .tg-corto{display:none}.asg-target .tg-mat{flex:none}.asg-target .tg-falta-ya,.asg-target .tg-mat{font-weight:var(--fw-regular);color:var(--f-muted)}.asg-target .tg-aviso,.asg-target .tg-ido{flex:none;display:inline-flex;align-items:center;height:18px;padding:0 6px;border-radius:var(--r-chip);border:1px solid color-mix(in srgb,var(--warning) 36%,transparent);background:var(--warning-subtle);color:var(--warning);font-size:var(--fs-2xs);font-weight:600;white-space:nowrap}.asg-target .tg-aviso-err{border-color:color-mix(in srgb,var(--danger) 36%,transparent);background:var(--danger-subtle);color:var(--danger)}.asg-target .tg-aviso-warn{background:transparent;font-weight:var(--fw-medium)}.asg-target .tg-mas{grid-area:mas;display:none;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--f-muted)}.asg-target .tg-mas>span+span:before{content:"\00B7";margin:0 5px;color:var(--border-strong)}.asg-target .tg-mas .tg-pax svg{vertical-align:-2px;margin-right:2px}.asg-wrap[data-asg-flota="1"] .tg-item{grid-template-areas:"hora crew est" "ruta ruta ruta";align-items:start;--tg-l1:20px}.asg-target .tg-hecha .tg-hora,.asg-target .tg-hecha .tg-quien,.asg-target .tg-hecha .tg-ruta,.asg-wrap[data-asg-flota="1"] .tg-ruta{color:var(--f-muted)}.asg-target .tg-ver{display:block;width:100%;margin:0;padding:var(--asg-fila-py) 4px;border:0;background:none;text-align:left;font-family:var(--font-sans);font-size:var(--fs-2xs);font-weight:var(--fw-medium);color:var(--brand);cursor:pointer}.asg-target .tg-ver:hover{text-decoration:underline;text-underline-offset:2px}.asg-target .tg-ver:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.asg-wrap[data-asg-dens=compacto][data-asg-flota="1"] .tg-item{grid-template-areas:"hora crew est"}.asg-wrap[data-asg-dens=compacto][data-asg-flota="1"] .tg-ruta{display:none}.asg-wrap[data-asg-dens=compacto][data-asg-flota="0"] .tg-item{grid-template-areas:"hora ruta est"}.asg-wrap[data-asg-dens=compacto][data-asg-flota="0"] .tg-crew{display:none}.asg-wrap[data-asg-dens=compacto] .tg-crew{flex-wrap:nowrap;overflow:hidden}.asg-wrap[data-asg-dens=compacto] .tg-aviso-warn,.asg-wrap[data-asg-dens=compacto] .tg-largo,.asg-wrap[data-asg-dens=compacto] .tg-mat{display:none}.asg-wrap[data-asg-dens=compacto] .tg-corto{display:inline}.asg-wrap[data-asg-dens=compacto] .tg-est-t{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.asg-wrap[data-asg-dens=compacto] .tg-est{padding:0;border:0;gap:0}.asg-wrap[data-asg-dens=compacto] .tg-est:before{width:8px;height:8px;box-sizing:border-box}.asg-wrap[data-asg-dens=compacto] .tg-est.s-bolsa:before,.asg-wrap[data-asg-dens=compacto] .tg-est.s-no_segura:before,.asg-wrap[data-asg-dens=compacto] .tg-est.s-solicitada:before{background:transparent;border:2px solid}.asg-wrap[data-asg-dens=compacto] .tg-est.s-completada:before{background:transparent;border:2px solid var(--border-strong)}.asg-wrap[data-asg-dens=ampliado] .tg-item{grid-template-areas:"hora ruta est" ". crew crew" ". mas mas";align-items:start}.asg-wrap[data-asg-dens=ampliado][data-asg-flota="1"] .tg-item{grid-template-areas:"hora crew est" "ruta ruta ruta" "mas mas mas"}.asg-wrap[data-asg-dens=ampliado] .tg-ruta{flex-direction:column;gap:0}.asg-wrap[data-asg-dens=ampliado] .tg-d,.asg-wrap[data-asg-dens=ampliado] .tg-o{flex:none;max-width:100%}.asg-wrap[data-asg-dens=ampliado] .tg-mas{display:block}.asg-wrap[data-asg-dens=ampliado][data-asg-flota="0"] .tg-crew{margin:1px 0}.asg-wrap[data-asg-dens=normal] .asg-card .ac-d,.asg-wrap[data-asg-dens=normal] .asg-card .ac-o{display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.asg-wrap[data-asg-dens=compacto] .asg-card{padding:var(--sp-1) var(--sp-2)}.asg-wrap[data-asg-dens=compacto] .asg-card .ac-route{margin-top:3px;grid-template-columns:10px minmax(0,1fr);gap:0 var(--sp-2)}.asg-wrap[data-asg-dens=compacto] .asg-card .ac-d,.asg-wrap[data-asg-dens=compacto] .asg-card .ac-o{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;overflow-wrap:normal}.asg-wrap[data-asg-dens=compacto] .asg-card .a-meta{display:none}.asg-wrap[data-asg-dens=compacto] .asg-card .a-need{margin-top:3px}@media (max-width:900px){.asg-wrap,.asg-wrap[data-asg-dens=compacto]{grid-template-columns:minmax(0,1fr)}}@media (max-width:560px){.asg-wrap,.asg-wrap[data-asg-dens=ampliado]{--asg-fila-py:8px;--asg-caja-alto:44px}.asg-wrap[data-asg-dens=compacto]{--asg-caja-min:150px;--asg-fila-py:6px}.asg-wrap[data-asg-dens=compacto] .asg-targets{align-items:start}.asg-wrap[data-asg-dens=compacto][data-asg-flota="0"]{--asg-caja-min:150px}.asg-wrap[data-asg-dens=compacto] .asg-target{padding:var(--sp-2)}.asg-cab .card-title small{display:none}.asg-dens{height:40px}.asg-dens button{width:40px}.asg-dens-nivel{min-width:72px}.asg-target .tg-crew{min-height:28px}.asg-target .tg-quien.tg-falta{height:26px}.asg-target .tg-ver{padding-block:10px}}.cal-board.cal-scroll{overflow:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}@media (min-width:900px) and (max-height:1000px) and (pointer:fine){main.main:has(.cal-board.cal-scroll){display:flex;flex-direction:column;height:100svh;min-height:0}main.main:has(.cal-board.cal-scroll)>:where([data-w],.topbar){display:flex;flex-direction:column;flex:1 1 auto;min-height:0}main.main:has(.cal-board.cal-scroll) .cal-stage{display:flex;flex-direction:column;flex:1 1 auto;min-height:0}main.main:has(.cal-board.cal-scroll) .cal-board.cal-scroll{flex:1 1 auto;min-height:0}main.main:has(.cal-board.cal-scroll) .cal-board.cal-scroll[data-cal-zoom="-1"],main.main:has(.cal-board.cal-scroll) .cal-board.cal-scroll[data-cal-zoom="-2"]{flex:0 1 auto}.cal-board.cal-board.cal-scroll{max-height:none}}@supports not selector(:has(*)){.cal-board.cal-board.cal-scroll{max-height:calc(100svh - (var(--sp-6) + var(--fs-3xl) * 1.2 + var(--sp-6) + 1px + var(--sp-6) + 42px + var(--sp-3) + var(--sp-6)))}}[data-radios=ds16]{--r-btn:8px;--r-chip:999px;--r-card:12px;--r-md:12px;--radius:12px;--r-lg:var(--r-card);--radius-sheet:var(--r-card);--radius-pill:var(--r-chip);--f-r:var(--r-card)}.mk[data-radios=ds16]{--r-btn:999px;--r-chip:999px;--r-card:14px;--r-md:14px;--radius:14px;--r-lg:14px;--radius-sheet:14px;--radius-pill:999px;--f-r:14px}[data-radios=ds16] .fxBtn,[data-radios=ds16] .fxBtnG,[data-radios=ds16] .fxIcon{border-radius:var(--r-btn)}[data-radios=ds16] .fxSeg,[data-radios=ds16] .fxSelect,[data-radios=ds16] .skeleton{border-radius:var(--r-control)}[data-radios=ds16] input,[data-radios=ds16] select,[data-radios=ds16] textarea{--f-r:var(--r-control)}[data-radios=ds16] .act-btn,[data-radios=ds16] .qa{border-radius:var(--r-btn)}[data-radios=ds16] .xt-wrap{border-radius:var(--r-card)}.cal-stage{position:relative}.cal-empty-cta{pointer-events:auto;display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 var(--sp-5);border-radius:var(--r-btn);background:var(--brand);color:var(--text-inverse);border:1px solid var(--brand);font-family:var(--font-sans);font-weight:600;font-size:var(--fs-sm);text-decoration:none;transition:background var(--dur-fast) ease}.cal-empty-cta:hover{background:var(--brand-hover);border-color:var(--brand-hover)}.cal-empty-cta:focus-visible{outline:2px solid var(--brand);outline-offset:2px}@media (max-width:560px){.cal-stage{min-height:320px}.cal-stage.cal-stage-sin-tablero{min-height:0}}@media (max-width:560px){main.main:has(.cal-board.cal-scroll){display:flex;flex-direction:column;height:100svh;min-height:0}main.main:has(.cal-board.cal-scroll)>:where([data-w],.topbar){display:flex;flex-direction:column;flex:1 1 auto;min-height:0}main.main:has(.cal-board.cal-scroll) .cal-stage{display:flex;flex-direction:column;flex:1 1 auto;min-height:0}main.main:has(.cal-board.cal-scroll) .cal-board.cal-scroll{flex:1 1 auto;min-height:0}main.main:has(.cal-board.cal-scroll) .cal-board.cal-scroll[data-cal-zoom="-1"],main.main:has(.cal-board.cal-scroll) .cal-board.cal-scroll[data-cal-zoom="-2"]{flex:0 1 auto}.cal-board.cal-board.cal-scroll{max-height:none}}@media (max-height:560px) and (pointer:coarse){.main{padding-top:var(--sp-3)}main.main:has(.cal-board.cal-scroll){display:flex;flex-direction:column;height:100svh;min-height:0}main.main:has(.cal-board.cal-scroll)>:where([data-w],.topbar){display:flex;flex-direction:column;flex:1 1 auto;min-height:0}main.main:has(.cal-board.cal-scroll) .cal-stage{display:flex;flex-direction:column;flex:1 1 auto;min-height:0}main.main:has(.cal-board.cal-scroll) .cal-board.cal-scroll{flex:1 1 auto;min-height:0}main.main:has(.cal-board.cal-scroll) .cal-board.cal-scroll[data-cal-zoom="-1"],main.main:has(.cal-board.cal-scroll) .cal-board.cal-scroll[data-cal-zoom="-2"]{flex:0 1 auto}.cal-board.cal-board.cal-scroll{max-height:none}}@media (max-height:560px) and (pointer:coarse) and (min-width:821px){.main{padding-bottom:var(--sp-3)}}@media (max-height:560px) and (pointer:coarse) and (max-width:820px){.main{padding-bottom:calc(var(--m-nav-space) + var(--sp-2))}}@media (min-width:561px){.cal-mast.cal-mast{margin-bottom:var(--sp-6)}}.cal-navgrp{display:inline-flex;align-items:center;height:42px;border:1px solid var(--border-strong);border-radius:var(--r-control);overflow:hidden}.cal-navgrp button{display:grid;place-items:center;height:42px;min-width:42px;padding:0 var(--sp-3);background:transparent;border:0;color:var(--f-body);cursor:pointer;font-size:var(--fs-base);line-height:1;transition:background var(--dur-fast) ease,color var(--dur-fast) ease}.cal-navgrp button+button{border-left:1px solid var(--border-strong)}.cal-navgrp button:hover{background:var(--f-surface-2);color:var(--f-ink)}.cal-navgrp .cal-hoy{font-size:var(--fs-2xs);letter-spacing:.1em;text-transform:uppercase;padding:0 var(--sp-4)}.cal-navgrp .cal-hoy,.cal-range{font-family:var(--font-sans);color:var(--f-ink)}.cal-range{position:relative;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;min-height:42px;padding:0 var(--sp-2);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:var(--fs-sm);text-transform:capitalize;letter-spacing:.01em}.cal-range input{position:absolute;inset:0;width:100%;height:100%;opacity:0;border:0;padding:0;margin:0;cursor:pointer}.cal-tabs{display:inline-flex;align-items:center;height:42px;border:1px solid var(--border-strong);border-radius:var(--r-control);overflow-x:auto;overflow-y:hidden;scrollbar-width:none;-webkit-overflow-scrolling:touch}.cal-tabs::-webkit-scrollbar{display:none}.cal-tab{display:inline-flex;align-items:center;gap:var(--sp-1);height:42px;padding:0 var(--sp-4);background:transparent;border:0;border-bottom:2px solid transparent;color:var(--f-muted);font-family:var(--font-body);font-size:var(--fs-sm);font-weight:500;white-space:nowrap;cursor:pointer;transition:color var(--dur-fast) ease,background var(--dur-fast) ease}.cal-tab+.cal-tab{border-left:1px solid var(--border-strong)}.cal-tab.on,.cal-tab:hover{color:var(--f-ink)}.cal-tab.on{background:var(--f-surface-2);font-weight:600;border-bottom-color:var(--f-accent)}.cal-tab:focus-visible{outline:2px solid var(--f-accent);outline-offset:-2px}.cal-range-desk{flex:none;width:16rem}.cal-range-desk span{width:100%;text-align:center}.cal-tab-badge{justify-content:center;min-width:20px;height:20px;padding:0 6px;border-radius:var(--r-chip);background:var(--warning);color:var(--text-inverse);font-size:var(--fs-2xs);font-weight:var(--fw-semibold);line-height:1;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.cal-filters,.cal-tab-badge{display:inline-flex;align-items:center}.cal-filters{gap:var(--sp-2);margin-left:auto}.cal-fsel{-moz-appearance:none;appearance:none;-webkit-appearance:none;box-sizing:border-box;height:42px;width:auto;min-width:0;max-width:none;padding:0 var(--sp-8) 0 14px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--field) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='13' height='13' viewBox='0 0 24 24' fill='none' stroke='%235f5f5f' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'><path d='M6 9.5l6 6 6-6'/></svg>") no-repeat right 12px center;color:var(--text);font-family:var(--font-body);font-size:var(--fs-base);font-weight:400;white-space:nowrap;text-overflow:ellipsis;cursor:pointer;transition:border-color .16s,background-color .16s}.cal-fsel:hover{border-color:var(--border-strong);background-color:var(--surface)}.cal-fsel:focus{border-color:var(--accent)}.cal-fsel:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-color:var(--accent)}.cal-fsel:disabled{color:var(--text-subtle);background-color:var(--surface);cursor:default}.cal-barfilt{min-width:0}@media (min-width:561px){.cal-barfilt{margin-left:auto}.cal-barfilt [role=group]{flex-direction:row;align-items:center;gap:var(--sp-2)}.cal-barfilt [data-filtro-top]{min-height:0}.cal-barfilt [data-filtro-campos]{align-items:center;gap:var(--sp-2);flex-wrap:nowrap}.cal-barfilt [data-filtro-campo]{flex:0 1 auto;max-width:200px}.cal-barfilt [data-filtro-campo]>span:first-child,.cal-barfilt [data-filtro-top]>span:first-child{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;-webkit-clip-path:inset(50%);clip-path:inset(50%);white-space:nowrap;border:0}.cal-barfilt.cal-barfilt .cal-bfsel.cal-bfsel{height:42px;border-radius:var(--r-control);border-color:var(--border-strong);background-color:transparent;color:var(--f-muted);font-family:var(--font-body);font-weight:500;font-size:var(--fs-sm)!important}.cal-barfilt.cal-barfilt .cal-bfsel.cal-bfsel:hover{color:var(--f-ink);border-color:var(--border-strong)}.cal-barfilt.cal-barfilt .cal-bfsel.cal-bfsel.on{border-color:var(--brand);background-color:var(--brand-subtle);color:var(--f-ink);font-weight:600}.cal-barfilt.cal-barfilt .cal-bfsel.cal-bfsel:focus-visible{outline:var(--border-w-strong) solid var(--brand);outline-offset:2px;border-color:var(--brand)}}@media (max-width:560px){.cal-barfilt [data-filtro-top]>span:first-child{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;-webkit-clip-path:inset(50%);clip-path:inset(50%);white-space:nowrap;border:0}.cal-barfilt [data-filtro-top]{display:contents}.cal-barfilt [data-filtro-top]>button{align-self:flex-start}}.cal-bpick{display:flex;flex-direction:column;gap:var(--sp-2)}.cal-bopt{display:flex;align-items:center;gap:var(--sp-3);width:100%;text-align:left;padding:var(--sp-3) var(--sp-4);border:1px solid var(--border-strong);border-radius:var(--r-card);background:var(--f-surface-2);color:var(--f-body);cursor:pointer;transition:border-color var(--dur-fast) ease,background var(--dur-fast) ease}.cal-bopt:hover{border-color:var(--f-accent);background:color-mix(in srgb,var(--f-accent) 8%,var(--f-surface-2))}.cal-bopt:disabled{opacity:.55;cursor:default}.cal-bopt-i{flex:none;width:38px;height:38px;border-radius:var(--r-round);display:grid;place-items:center;background:var(--f-surface);border:1px solid var(--f-line);color:var(--f-accent)}.cal-bopt-t{flex:1 1 auto;min-width:0;display:flex;flex-direction:column}.cal-bopt-t b{font-family:var(--font-display);font-weight:600;font-size:var(--fs-base);color:var(--f-ink)}.cal-bopt-t small{font-size:var(--fs-xs);color:var(--f-muted)}.cal-bopt-a{flex:none;color:var(--f-muted);font-size:var(--fs-lg)}.cal-hoy-date{position:relative;display:inline-flex;align-items:center;justify-content:center;text-transform:capitalize;letter-spacing:0}.cal-hoy-date input{position:absolute;inset:0;width:100%;height:100%;opacity:0;border:0;padding:0;margin:0;cursor:pointer}.cal-undo{position:fixed;left:50%;transform:translateX(-50%);z-index:90;bottom:calc(22px + env(safe-area-inset-bottom, 0px));display:flex;align-items:center;gap:var(--sp-3);width:max-content;max-width:calc(100vw - 24px);padding:var(--sp-2) var(--sp-3) var(--sp-2) var(--sp-4);border-radius:var(--r-chip);background:var(--f-btn);color:var(--f-btn-ink);border:1px solid var(--f-line);box-shadow:none;animation:cal-undo-in .2s var(--f-ease) both}@keyframes cal-undo-in{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}.cal-undo-t{font-size:var(--fs-sm);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cal-undo-b,.cal-undo-t b{font-weight:700}.cal-undo-b{flex:none;border:none;border-radius:var(--r-chip);min-height:44px;padding:0 var(--sp-4);background:var(--f-accent);color:var(--f-btn-ink);font-size:var(--fs-sm);cursor:pointer;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.cal-undo-b:hover{filter:brightness(1.06)}@media (max-width:820px){.cal-undo{bottom:calc(82px + env(safe-area-inset-bottom, 0px))}}@media (max-width:560px){.cal-navgrp{display:flex;width:100%;height:auto;min-height:calc(var(--h-touch) + 2px)}.cal-navgrp button{height:var(--h-touch);min-width:var(--h-touch)}.cal-navgrp .cal-hoy{flex:1 1;font-size:var(--fs-sm);padding:0 var(--sp-2);height:var(--h-touch)}.cal-range-desk{display:none}.cal-tabs{width:100%;height:auto;min-height:calc(var(--h-touch) + 2px)}.cal-tab{flex:1 0 auto;min-width:0;height:var(--h-touch);justify-content:center;padding:0 var(--sp-2);font-size:var(--fs-xs)}}@media (max-width:359px){.cal-tabs{display:grid;grid-template-columns:1fr 1fr;overflow:visible}.cal-tab{width:100%;min-width:0}.cal-tab:nth-child(3){border-left:0}.cal-tab:nth-child(n+3){border-top:1px solid var(--border-strong)}}@media (max-width:560px){.cal-board{border-radius:var(--r-card);max-width:100%}.cal-board.cal-scroll{max-height:calc(100svh - 250px)}.cal-bopt{padding:var(--sp-3)}}.home-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));grid-gap:var(--sp-3);gap:var(--sp-3);margin-bottom:18px}.stat-tile{display:block;text-decoration:none;background:var(--panel);border:1px solid var(--line);border-radius:var(--r-md);padding:var(--sp-3) var(--sp-4);transition:border-color var(--dur-fast)}.stat-tile:hover{border-color:var(--accent)}.stat-tile .st-n{font-family:var(--font-sans);font-size:var(--fs-xl);font-weight:700;color:var(--text);line-height:1.1;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.stat-tile .st-l{font-size:var(--fs-xs);color:var(--muted);margin-top:4px;display:block}.stat-tile.warn .st-n{color:var(--warn)}.stat-tile.calm .st-n{color:var(--text)}.qa-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));grid-gap:var(--sp-2);gap:var(--sp-2)}.qa-tile{display:flex;align-items:center;gap:var(--sp-2);text-decoration:none;background:var(--panel);border:1px solid var(--line);border-radius:var(--r-md);padding:var(--sp-3) 14px;color:var(--text);font-size:var(--fs-sm);font-weight:600;transition:border-color var(--dur-fast),transform var(--dur-fast)}.qa-tile:hover{border-color:var(--accent)}.qa-tile .side-ico{color:var(--accent);display:flex}.qa-tile small{display:block;font-weight:400;color:var(--muted);font-size:var(--fs-xs)}.home-date{text-transform:capitalize}.pill-row{display:flex;gap:var(--sp-2);overflow-x:auto;overflow-y:hidden;padding-bottom:4px;margin-bottom:20px;scrollbar-width:none}.pill-row::-webkit-scrollbar{display:none}.pill{flex:0 0 auto;text-decoration:none;color:var(--text);font-size:var(--fs-xs);font-weight:600;padding:var(--sp-2) var(--sp-4);border:1px solid var(--line);border-radius:var(--r-chip);background:var(--panel);transition:border-color var(--dur-fast),color var(--dur-fast);white-space:nowrap}.pill:hover{border-color:var(--accent);color:var(--accent)}.home-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);grid-gap:var(--sp-4);gap:var(--sp-4);margin-bottom:16px}@media (max-width:860px){.home-grid{grid-template-columns:1fr}}.hoy-card{display:block;text-decoration:none;background:var(--panel);border:1px solid var(--line);border-radius:var(--r-lg);padding:clamp(18px,2.4vw,26px);transition:border-color var(--dur-fast)}.hoy-card:hover{border-color:var(--accent)}.hoy-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--sp-3)}.hoy-eyebrow{font-size:var(--fs-xs);font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.hoy-n{font-family:var(--font-display,inherit);font-size:clamp(2.6rem,6vw,3.6rem);font-weight:800;letter-spacing:-.03em;color:var(--text);line-height:1}.hoy-n small{font-size:var(--fs-sm);font-weight:500;letter-spacing:0;color:var(--muted);margin-left:10px}.hoy-board{margin-top:16px;border-top:1px solid var(--line)}.hoy-board .hb-row{display:flex;gap:var(--sp-3);align-items:baseline;padding:var(--sp-2) 0;border-bottom:1px dashed var(--line);font-size:var(--fs-sm);min-width:0}.hoy-board .hb-h{font-family:var(--font-sans);font-weight:700;color:var(--accent-2);flex:0 0 auto}.hoy-board .hb-r{color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hoy-board .hb-p{color:var(--muted);font-size:var(--fs-xs);flex:0 0 auto}.hoy-go{display:inline-block;margin-top:14px;font-size:var(--fs-xs);font-weight:700;color:var(--accent)}.side-col{display:flex;flex-direction:column;gap:var(--sp-4);min-width:0}.manana-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--r-lg);padding:var(--sp-4) var(--sp-5)}.manana-card .mc-n{font-size:var(--fs-2xl);font-weight:800;letter-spacing:-.02em}.avisos-mini{background:var(--panel);border:1px solid var(--line);border-radius:var(--r-lg);padding:var(--sp-3) var(--sp-4)}.avisos-mini .av-row{display:flex;align-items:center;gap:var(--sp-2);padding:var(--sp-1) 0;font-size:var(--fs-xs);color:var(--muted);text-decoration:none}.avisos-mini .av-row:hover{color:var(--text)}.avisos-mini .av-dot{width:7px;height:7px;border-radius:var(--r-chip);background:var(--warn);flex:0 0 auto}.avisos-mini .av-dot.ok{background:var(--ok)}.avisos-mini .av-row strong{color:var(--text)}.home-table{width:100%;border-collapse:collapse;font-size:var(--fs-xs)}.home-table th{font-size:var(--fs-xs);font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--muted)}.home-table td,.home-table th{text-align:left;padding:var(--sp-2) 10px;border-bottom:1px solid var(--line);white-space:nowrap}.home-table td{vertical-align:middle;max-width:260px;overflow:hidden;text-overflow:ellipsis}.home-table tr:last-child td{border-bottom:none}.home-table tbody tr{transition:background var(--dur-fast)}.home-table tbody tr:hover{background:var(--panel-2)}.cal-zoom{flex:0 0 auto}.cal-zoom button{font-size:var(--fs-base);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.cal-zoom button:disabled{opacity:.4;cursor:default}.cal-zoom button:disabled:hover{background:transparent;color:var(--f-body)}@media (max-width:560px){.cal-zoom.cal-zoom{width:auto;flex:0 0 auto;order:1}.cal-navgrp:not(.cal-zoom){flex:1 1 auto;width:auto}.cal-tabs{order:2}}.src-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));grid-gap:var(--sp-3);gap:var(--sp-3)}.src-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--r-lg);padding:var(--sp-4) 18px;flex-direction:column}.src-card,.src-top{display:flex;gap:var(--sp-2)}.src-top{align-items:center;justify-content:space-between}.src-name{font-size:var(--fs-base);font-weight:700;color:var(--text)}.src-meta{display:flex;align-items:center;gap:var(--sp-3);font-size:var(--fs-xs);color:var(--muted)}.src-link{background:var(--panel-2);border:1px solid var(--line);border-radius:var(--r-md);padding:var(--sp-2) 10px;overflow:hidden}.src-link code{font-family:var(--font-sans);font-size:var(--fs-xs);color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.src-actions{display:flex;gap:var(--sp-2);margin-top:2px}.inv-hero{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:var(--sp-3);gap:var(--sp-3);margin-bottom:20px}.inv-stat{background:var(--panel);border:1px solid var(--line);border-radius:var(--r-lg);padding:var(--sp-4) 18px;position:relative;overflow:hidden}.inv-stat:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--accent);opacity:.6}.inv-stat.ok:before{background:var(--ok)}.inv-stat.warn:before{background:var(--warn)}.inv-stat.bad:before{background:var(--danger)}.inv-stat .is-k,.inv-stat .is-sub,.inv-stat .is-v{display:block}.inv-stat .is-k{font-size:var(--fs-xs);font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.inv-stat .is-v{font-family:var(--font-sans);font-size:var(--fs-2xl);font-weight:700;letter-spacing:-.02em;color:var(--text);margin-top:6px;line-height:1;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.inv-stat.ok .is-v{color:var(--ok)}.inv-stat.bad .is-v{color:var(--danger)}.inv-stat .is-sub{font-size:var(--fs-xs);color:var(--muted);margin-top:4px}.inv-tabs{display:flex;gap:var(--sp-1);border-bottom:1px solid var(--line);margin-bottom:6px;overflow-x:auto;overflow-y:hidden}.inv-tab{background:none;padding:var(--sp-2) var(--sp-4);font-size:var(--fs-sm);font-weight:600;color:var(--muted);cursor:pointer;border:none;border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap;display:flex;align-items:center;gap:var(--sp-2)}.inv-tab:hover{color:var(--text)}.inv-tab.on{color:var(--accent);border-bottom-color:var(--accent)}.inv-tab .count-pill{background:var(--panel-2)}.inv-intro{color:var(--muted);font-size:var(--fs-xs);margin:var(--sp-3) 0 var(--sp-4);line-height:1.5}.home-table thead th{position:-webkit-sticky;position:sticky;top:0;background:var(--panel);z-index:1}.home-table td.num,.home-table th.num{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}@media (max-width:560px){.home-table .col-desk{display:none}}.legal-box{margin-top:16px;flex-direction:column}.legal-box,.legal-check{display:flex;gap:var(--sp-2)}.legal-check{align-items:flex-start;font-size:var(--fs-xs);color:var(--text);cursor:pointer}.legal-check input{margin-top:3px;width:16px;height:16px;accent-color:var(--accent);flex:none}.legal-check a{color:var(--accent-2)}.legal-info{font-size:var(--fs-xs);color:var(--muted);line-height:1.5;margin:2px 0 0}.legal-info a{color:var(--accent-2)}.legal-wrap{max-width:760px;margin:0 auto;padding:var(--sp-6) 0 80px;overflow-wrap:anywhere}.legal-wrap h2{font-size:var(--fs-base);margin:var(--sp-6) 0 8px;color:var(--text)}.legal-wrap li,.legal-wrap p{color:var(--muted);line-height:1.65;font-size:var(--fs-sm)}.legal-wrap ul{padding-left:20px}.legal-wrap a{color:var(--accent-2)}.legal-wrap .page-title+.page-sub{display:block}.legal-nav{display:flex;flex-wrap:wrap;align-items:center;gap:0 var(--sp-6);margin-top:var(--sp-6)}.legal-nav a{display:inline-flex;align-items:center;min-height:var(--h-touch);color:var(--accent-2);font-size:var(--fs-sm)}@media (pointer:coarse){.legal-nav a{min-width:var(--h-touch);justify-content:center}}.legal-list li{margin:0}.legal-list a{display:inline-flex;align-items:center;min-height:var(--h-touch)}.auth-wrap.signup-wide{max-width:660px;padding-top:clamp(10px,3.5vh,44px)}.signup-wide .auth-card{padding:clamp(20px,3vw,32px)}.signup-wide .fgrid{grid-template-columns:1fr 1fr;gap:var(--sp-3)}.signup-wide .legal-box{display:flex;flex-direction:column;gap:var(--sp-2)}@media (max-width:760px){.signup-wide .fgrid{grid-template-columns:1fr}.auth-wrap.signup-wide{padding-top:var(--sp-3)}}.src-link-btn{display:flex;align-items:center;gap:var(--sp-2);width:100%;cursor:pointer;color:var(--muted);text-align:left;transition:border-color var(--dur-fast),color var(--dur-fast)}.src-link-btn:hover{border-color:var(--accent);color:var(--text)}.src-link-btn code{flex:1 1;min-width:0}.tag-tariff{background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--accent-2)}.src-stats{display:grid;grid-template-columns:1fr 1.35fr auto;grid-gap:var(--sp-2);gap:var(--sp-2)}.src-stat{background:var(--panel-2);border:1px solid var(--line);border-radius:var(--r-sm);padding:var(--sp-2) 10px;min-width:0}.ss-k{font-family:var(--font-sans);font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.ss-k,.ss-v{display:block}.ss-v{font-size:var(--fs-2xs);font-weight:600;color:var(--text);margin-top:2px;line-height:1.25}.src-link-lbl{font-family:var(--font-sans);font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:-6px}.dir-box{background:color-mix(in srgb,var(--accent-2) 7%,var(--panel));padding:var(--sp-4) 18px;margin-bottom:18px;box-shadow:none;animation:fade-up var(--dur-slow) var(--ease-out) both}.dir-box,.dir-fold{border:1.5px solid var(--accent-2);border-radius:var(--r-lg)}.dir-fold{padding:var(--sp-3) var(--sp-4);background:color-mix(in srgb,var(--accent-2) 6%,var(--panel))}.dir-fold summary{cursor:pointer;font-weight:700;color:var(--text)}@keyframes toast-in{0%{opacity:0;transform:translateX(26px) scale(.98)}to{opacity:1;transform:none}}@keyframes toast-bar{0%{width:100%}to{width:0}}.banner-err,.banner-ok{position:fixed;top:76px;right:18px;z-index:400;width:max-content;max-width:min(92vw,400px);margin:0;padding:var(--sp-3) 18px var(--sp-4) 44px;border-radius:var(--r-card);font-size:var(--fs-sm);font-weight:500;line-height:1.45;background:var(--panel);box-shadow:var(--shadow-pop);border:1px solid var(--line);animation:toast-in .24s var(--ease-out) both;overflow:hidden}.banner-ok{color:var(--text);border-color:color-mix(in srgb,var(--ok) 45%,var(--line))}.banner-err{color:var(--text);border-color:color-mix(in srgb,var(--danger) 50%,var(--line))}.banner-err:before,.banner-ok:before{position:absolute;left:14px;top:50%;transform:translateY(-58%);width:20px;height:20px;border-radius:var(--r-chip);display:flex;align-items:center;justify-content:center;font-size:var(--fs-2xs);font-weight:800}.banner-ok:before{content:"✓";background:var(--brand-subtle);color:var(--ok)}.banner-err:before{content:"!";background:var(--danger-subtle);color:var(--danger)}.banner-err:after,.banner-ok:after{content:"";position:absolute;left:0;bottom:0;height:3px;border-radius:0 3px 3px 0;animation:toast-bar 2.6s linear forwards}.banner-ok:after{background:linear-gradient(90deg,var(--ok),var(--surface))}.banner-err:after{background:linear-gradient(90deg,var(--danger),var(--surface))}@media (max-width:760px){.banner-err,.banner-ok{top:62px;right:var(--sp-3);left:var(--sp-3);width:auto;max-width:none}}.cond-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--sp-3);flex-wrap:wrap;margin-bottom:16px}.cond-kpis{display:flex;gap:var(--sp-2)}.cond-kpi{background:var(--panel);border:1px solid var(--line);border-radius:var(--r-card);padding:var(--sp-2) var(--sp-4);text-align:center;min-width:74px}.cond-kpi strong{display:block;font-family:var(--font-sans);font-size:var(--fs-xl);color:var(--text);line-height:1.1;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.cond-kpi span{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.cond-kpi.acc{border-color:color-mix(in srgb,var(--accent) 45%,var(--line))}.cond-kpi.acc strong{color:var(--accent-2)}.cond-news{display:flex;align-items:center;gap:var(--sp-2);flex-wrap:wrap;padding:var(--sp-3) 14px;margin-bottom:14px;background:color-mix(in srgb,var(--accent-2) 8%,var(--panel));border:1.5px solid var(--accent-2);border-radius:var(--r-control);font-size:var(--fs-sm);color:var(--text)}.cn-dot{width:9px;height:9px;border-radius:var(--r-chip);background:var(--accent-2);box-shadow:none;flex:none}.cn-sub{color:var(--muted);font-size:var(--fs-xs)}.week-strip{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:var(--sp-1);gap:var(--sp-1)}.wd{background:var(--panel);border:1px solid var(--line);border-radius:var(--r-control);padding:var(--sp-2) 2px var(--sp-2);text-align:center;cursor:pointer;color:var(--muted);font-family:var(--font-body);transition:border-color var(--dur-fast),background var(--dur-fast)}.wd.on,.wd:hover{border-color:var(--accent)}.wd.on{background:color-mix(in srgb,var(--accent) 16%,var(--panel));color:var(--text)}.wd.today .wd-d{color:var(--accent-2);font-weight:700}.wd-d{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.05em}.wd-d,.wd-n{display:block}.wd-n{font-weight:700;font-size:var(--fs-base);color:var(--text)}.wd-c,.wd-n{font-family:var(--font-sans)}.wd-c{display:inline-block;margin-top:3px;font-size:var(--fs-xs);min-width:18px;border-radius:var(--r-chip);padding:1px var(--sp-1);color:var(--muted)}.wd-c.has{background:var(--accent);color:var(--accent-ink);font-weight:700}.ruta{display:flex;flex-direction:column;gap:var(--sp-3);margin-top:6px}.ruta-item{display:grid;grid-template-columns:96px 1fr;grid-gap:0;gap:0;background:var(--panel-2);border:1px solid var(--line);border-radius:var(--r-card);overflow:hidden}.ruta-item.r-en_curso{border-color:var(--warn);background:color-mix(in srgb,var(--warn) 7%,var(--panel-2))}.ruta-item.r-en_curso .r-hora>strong{color:var(--warn)}.ruta-item.r-completada{border-color:color-mix(in srgb,var(--ok) 55%,var(--line));background:color-mix(in srgb,var(--ok) 7%,var(--panel-2))}.ruta-item.r-completada .r-hora>strong{color:var(--ok)}.r-hora{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--sp-1);padding:var(--sp-3) var(--sp-2);background:color-mix(in srgb,var(--panel) 70%,transparent);border-right:1px solid var(--line)}.r-hora>strong{font-family:var(--font-sans);font-size:var(--fs-lg);color:var(--text);letter-spacing:-.02em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.chip-mod,.chip-new{font-size:var(--fs-xs);font-weight:800;letter-spacing:.06em;padding:2px var(--sp-2);border-radius:var(--r-chip)}.chip-new{background:var(--accent-2);color:var(--accent-ink)}.chip-mod{background:none;color:var(--warn);border:1px}.r-cuerpo{padding:var(--sp-3) 16px 14px;min-width:0}.r-tramo{display:flex;gap:var(--sp-2);align-items:baseline;padding:2px 0}.r-pt,.r-tramo{position:relative}.r-pt{width:9px;height:9px;border-radius:var(--r-chip);flex:none;top:0}.r-pt.a{background:var(--accent)}.r-pt.b{background:var(--accent-2)}.r-tramo:first-child:after{content:"";position:absolute;left:4px;top:16px;bottom:-8px;width:1.5px;background:var(--line)}.r-dir{color:var(--text);font-weight:600;font-size:var(--fs-sm);line-height:1.35}.r-meta{display:flex;flex-wrap:wrap;gap:var(--sp-1) var(--sp-3);margin-top:9px;color:var(--muted);font-size:var(--fs-xs)}.r-tel{color:var(--accent-2);text-decoration:none;font-family:var(--font-sans)}.r-veh{font-family:var(--font-sans);border:1px solid var(--line);border-radius:var(--r-chip);padding:2px var(--sp-2)}.r-notas,.r-veh{font-size:var(--fs-xs);background:var(--panel)}.r-notas{margin:var(--sp-2) 0 0;padding:var(--sp-2) var(--sp-3);border:1px dashed var(--line);border-radius:var(--r-control);color:var(--muted)}.r-acciones{display:flex;gap:var(--sp-2);flex-wrap:wrap;margin-top:12px}@media (max-width:560px){.ruta-item{grid-template-columns:1fr}.r-hora{flex-direction:row;justify-content:flex-start;padding:var(--sp-2) var(--sp-3);border-right:none;border-bottom:var(--border-w) solid var(--line)}.cond-hero{align-items:flex-start;flex-direction:column}}body,html{overflow-x:clip;overscroll-behavior-x:none;max-width:100vw}.week-nav{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2);margin-bottom:8px}.wk-arrow{background:var(--panel);border:1px solid var(--line);color:var(--text);border-radius:var(--r-control);width:38px;height:34px;font-size:var(--fs-lg);cursor:pointer;line-height:1}.wk-arrow:active{transform:scale(.94)}.wk-label{font-weight:700;color:var(--text);font-size:var(--fs-sm);text-transform:capitalize;display:flex;align-items:center;gap:var(--sp-2)}.wk-hoy{background:transparent;border:1px solid var(--line);color:var(--accent-2);border-radius:var(--r-chip);padding:2px var(--sp-2);font-size:var(--fs-xs);cursor:pointer;font-family:var(--font-body)}.ruta-item{position:relative}.r-info{position:absolute;top:10px;right:10px;z-index:2;background:color-mix(in srgb,var(--accent) 14%,transparent);border:1px solid color-mix(in srgb,var(--accent) 45%,var(--line));color:var(--accent-2);border-radius:var(--r-chip);padding:var(--sp-1) var(--sp-3);font-size:var(--fs-xs);font-weight:700;cursor:pointer;font-family:var(--font-body)}.r-info:active{transform:scale(.95)}@media (max-width:760px){.cond-kpis{display:none}.r-hora{padding-right:84px}}@media (pointer:coarse){.cal-navgrp,.cal-navgrp button,.cal-tab,.cal-tabs{min-height:var(--h-touch)}.cal-navgrp button{min-width:var(--h-touch)}}[data-mover][data-elegido]{outline:2px solid var(--brand);outline-offset:2px;background:color-mix(in srgb,var(--brand) 8%,var(--bg))}body[data-asg-mover] [data-drop]{outline:2px dashed color-mix(in srgb,var(--brand) 55%,transparent);outline-offset:-2px;border-radius:var(--r-card)}.asg-mover-barra{position:fixed;left:12px;right:12px;z-index:64;bottom:calc(96px + env(safe-area-inset-bottom, 0px));display:flex;align-items:center;gap:var(--sp-3);flex-wrap:wrap;padding:var(--sp-3) var(--sp-4);border-radius:var(--r-card);background:var(--text);color:var(--text-inverse);box-shadow:var(--shadow-pop)}.asg-mover-txt{display:flex;flex-direction:column;gap:2px;flex:1 1 200px;min-width:0;font-size:var(--fs-sm)}.asg-mover-txt span{opacity:.85;font-size:var(--fs-xs)}.asg-mover-acc{display:flex;gap:var(--sp-2)}.asg-mover-acc button{min-height:40px;padding:0 var(--sp-3);border:1px solid color-mix(in srgb,var(--text-inverse) 40%,transparent);border-radius:var(--r-control);background:transparent;color:var(--text-inverse);font:inherit;font-size:var(--fs-sm);font-weight:var(--fw-semibold)}.asg-mover-acc .asg-mover-cancelar{background:var(--text-inverse);color:var(--text)}