:root{--primario:#5e66a4;--primario-fuerte:color-mix(in oklab, var(--primario) 82%, black);--primario-suave:color-mix(in oklab, var(--primario) 12%, white);--primario-borde:color-mix(in oklab, var(--primario) 30%, white);--fondo:#f5f5f8;--superficie:#fff;--superficie-2:#f0f0f5;--texto:#1c1d29;--texto-suave:#5d6075;--borde:#e1e2ea;--peligro:#b3392f;--peligro-suave:#fbeceb;--aviso:#8a5a00;--aviso-suave:#fff4dc;--exito:#22744d;--exito-suave:#e6f4ec;--sombra:0 1px 2px #1414280f, 0 4px 16px #1414280f;--radio:10px;--lateral:248px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--primario-fuerte:color-mix(in oklab, var(--primario) 70%, white);--primario-suave:color-mix(in oklab, var(--primario) 22%, #15161f);--primario-borde:color-mix(in oklab, var(--primario) 45%, #15161f);--fondo:#12131b;--superficie:#1b1c27;--superficie-2:#232534;--texto:#ecedf3;--texto-suave:#a3a6bb;--borde:#30324a;--peligro:#ee8379;--peligro-suave:#3a1f1f;--aviso:#f0c063;--aviso-suave:#352a14;--exito:#6fd0a0;--exito-suave:#183027;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--primario-fuerte:color-mix(in oklab, var(--primario) 70%, white);--primario-suave:color-mix(in oklab, var(--primario) 22%, #15161f);--primario-borde:color-mix(in oklab, var(--primario) 45%, #15161f);--fondo:#12131b;--superficie:#1b1c27;--superficie-2:#232534;--texto:#ecedf3;--texto-suave:#a3a6bb;--borde:#30324a;--peligro:#ee8379;--peligro-suave:#3a1f1f;--aviso:#f0c063;--aviso-suave:#352a14;--exito:#6fd0a0;--exito-suave:#183027;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--fondo);color:var(--texto);-webkit-font-smoothing:antialiased;margin:0;font:15px/1.5 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}h1,h2,h3{letter-spacing:-.01em;margin:0;line-height:1.25}h1{font-size:22px}h2{font-size:18px}h3{font-size:15px}a{color:var(--primario-fuerte)}:focus-visible{outline:2px solid var(--primario);outline-offset:2px}.shell{grid-template-columns:var(--lateral) 1fr;min-height:100%;display:grid}.lateral{background:var(--superficie);border-right:1px solid var(--borde);flex-direction:column;height:100vh;display:flex;position:sticky;top:0}.lateral-logo{border-bottom:1px solid var(--borde);padding:22px 20px 18px}.lateral-logo img{width:150px;display:block}.lateral-logo .sub{color:var(--texto-suave);margin-top:8px;font-size:12px}.lateral nav{flex-direction:column;flex:1;gap:2px;padding:12px 10px;display:flex}.nav-item{color:var(--texto-suave);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:12px;padding:10px 12px;font-weight:550;display:flex}.nav-item:hover{background:var(--superficie-2);color:var(--texto)}.nav-item.activo{background:var(--primario-suave);color:var(--primario-fuerte)}.nav-item .pronto{color:var(--texto-suave);margin-left:auto;font-size:11px;font-weight:500}.lateral-pie{border-top:1px solid var(--borde);flex-direction:column;gap:2px;padding:12px 10px;display:flex}.principal{flex-direction:column;min-width:0;display:flex}.barra{background:var(--superficie);border-bottom:1px solid var(--borde);z-index:5;align-items:center;gap:12px;padding:14px 28px;display:flex;position:sticky;top:0}.barra h1{flex:1;font-size:19px}.barra .usuario{color:var(--texto-suave);align-items:center;gap:8px;font-size:14px;display:flex}.contenido{width:100%;max-width:1200px;padding:24px 28px 48px}.solo-movil{display:none!important}@media (width<=860px){.shell{grid-template-columns:1fr}.lateral{z-index:20;width:min(280px,85vw);box-shadow:var(--sombra);transition:transform .2s;position:fixed;inset:0 auto 0 0;transform:translate(-100%)}.lateral.abierto{transform:none}.velo{z-index:15;background:#00000059;position:fixed;inset:0}.barra{padding:10px 16px}.barra .usuario span{display:none}.contenido{padding:16px 16px 40px}.solo-movil{display:inline-flex!important}.oculto-movil{display:none!important}}.btn{border:1px solid var(--borde);background:var(--superficie);min-height:38px;color:var(--texto);font:inherit;cursor:pointer;white-space:nowrap;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:0 16px;font-size:14px;font-weight:600;display:inline-flex}.btn:hover{background:var(--superficie-2)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.primario{background:var(--primario);border-color:var(--primario);color:#fff}.btn.primario:hover{background:var(--primario-fuerte)}.btn.peligro{color:var(--peligro);border-color:color-mix(in oklab, var(--peligro) 40%, transparent)}.btn.peligro:hover{background:var(--peligro-suave)}.btn.fantasma{background:0 0;border-color:#0000}.btn.fantasma:hover{background:var(--superficie-2)}.btn.chico{min-height:30px;padding:0 10px;font-size:13px}.btn.icono{width:38px;padding:0}.campo{color:var(--texto-suave);flex-direction:column;gap:6px;font-size:13px;font-weight:600;display:flex}.campo input,.campo select,.campo textarea,input.entrada,select.entrada{border:1px solid var(--borde);background:var(--superficie);min-height:40px;color:var(--texto);font:inherit;border-radius:8px;padding:8px 12px;font-size:15px;font-weight:400}.campo input:focus,.campo select:focus,.entrada:focus{outline:2px solid var(--primario-borde);border-color:var(--primario)}.campo .error{color:var(--peligro);font-size:12.5px;font-weight:500}.campo.con-error input,.campo.con-error select{border-color:var(--peligro)}.campo .ayuda{font-size:12.5px;font-weight:400}.grilla-campos{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px 16px;display:grid}.tarjeta{background:var(--superficie);border:1px solid var(--borde);border-radius:var(--radio);padding:20px}.tarjeta+.tarjeta{margin-top:16px}.fila{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.fila.entre{justify-content:space-between}.apilado{flex-direction:column;gap:16px;display:flex}.suave{color:var(--texto-suave)}.chico-texto{font-size:13px}.pestanas{border-bottom:1px solid var(--borde);gap:4px;margin-bottom:20px;display:flex;overflow:auto hidden}.pestana{font:inherit;color:var(--texto-suave);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-bottom:2px solid #0000;margin-bottom:-1px;padding:10px 14px;font-weight:600}.pestana:hover{color:var(--texto)}.pestana.activa{color:var(--primario-fuerte);border-bottom-color:var(--primario)}.aviso{border-radius:8px;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:16px;padding:12px 16px;font-size:14px;display:flex}.aviso>span{flex:1;min-width:200px}.aviso.info{background:var(--primario-suave);color:var(--primario-fuerte)}.aviso.atencion{background:var(--aviso-suave);color:var(--aviso)}.aviso.error{background:var(--peligro-suave);color:var(--peligro)}.aviso.exito{background:var(--exito-suave);color:var(--exito)}.etiqueta{background:var(--superficie-2);color:var(--texto-suave);border-radius:99px;padding:1px 8px;font-size:12px;font-weight:600;display:inline-block}.etiqueta.primario{background:var(--primario-suave);color:var(--primario-fuerte)}.velo-modal{z-index:50;background:#0a0a1973;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.modal{background:var(--superficie);width:min(560px,100%);max-height:calc(100vh - 32px);box-shadow:var(--sombra);border-radius:14px;overflow:auto}.modal.ancho{width:min(860px,100%)}.modal-cab{padding:18px 20px 0}.modal-cuerpo{padding:16px 20px}.modal-pie{flex-wrap:wrap;justify-content:flex-end;gap:8px;padding:0 20px 18px;display:flex}.tostadas{z-index:60;flex-direction:column;gap:8px;display:flex;position:fixed;bottom:20px;left:50%;transform:translate(-50%)}.tostada{background:var(--texto);color:var(--superficie);box-shadow:var(--sombra);border-radius:8px;padding:10px 16px;font-size:14px}.tabla-envoltura{border:1px solid var(--borde);border-radius:var(--radio);background:var(--superficie);overflow-x:auto}table.tabla{border-collapse:collapse;width:100%;font-size:14px}.tabla th{text-align:left;text-transform:uppercase;letter-spacing:.04em;color:var(--texto-suave);background:var(--superficie-2);white-space:nowrap;padding:10px 12px;font-size:12px;font-weight:600}.tabla td{border-top:1px solid var(--borde);vertical-align:middle;padding:10px 12px}.tabla tr:hover td{background:color-mix(in oklab, var(--superficie-2) 50%, transparent)}.tabla .num{text-align:right;font-variant-numeric:tabular-nums}.numeros{grid-template-columns:repeat(auto-fit,minmax(125px,1fr));gap:12px;margin-bottom:20px;display:grid}.numero{background:var(--superficie);border:1px solid var(--borde);border-radius:var(--radio);padding:16px 18px}.numero .valor{letter-spacing:-.02em;font-variant-numeric:tabular-nums;color:var(--texto);font-size:30px;font-weight:700}.numero .rotulo{color:var(--texto-suave);font-size:13px;font-weight:550}.vacio{text-align:center;color:var(--texto-suave);padding:40px 16px}.acceso{background:radial-gradient(1200px 500px at 50% -10%, var(--primario-suave), transparent 70%), var(--fondo);place-items:center;min-height:100%;padding:24px 16px;display:grid}.acceso-caja{background:var(--superficie);border:1px solid var(--borde);width:min(420px,100%);box-shadow:var(--sombra);border-radius:16px;padding:28px}.acceso-caja img.logo{width:170px;margin:0 auto 18px;display:block}.acceso-caja h1{text-align:center;margin-bottom:4px;font-size:20px}.acceso-caja .bajada{text-align:center;color:var(--texto-suave);margin-bottom:20px;font-size:14px}.clave-recuperacion{letter-spacing:.06em;text-align:center;background:var(--superficie-2);word-break:break-all;border-radius:8px;padding:16px;font:600 20px/1.4 ui-monospace,Cascadia Mono,Consolas,monospace}img.logo-oscuro{display:none!important}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) img.logo-claro-fondo{display:none!important}:root:not([data-theme=light]) img.logo-oscuro{display:block!important}}:root[data-theme=dark] img.logo-claro-fondo{display:none!important}:root[data-theme=dark] img.logo-oscuro{display:block!important}@media print{.lateral,.barra,.no-imprimir,.tostadas{display:none!important}.shell{display:block}.contenido{max-width:none;padding:0}body{color:#000;background:#fff}}.estado-fila{white-space:nowrap;border-radius:99px;align-items:center;gap:4px;padding:2px 9px;font-size:12.5px;font-weight:600;display:inline-flex}.estado-fila.ok{background:var(--exito-suave);color:var(--exito)}.estado-fila.problema{background:var(--peligro-suave);color:var(--peligro)}.estado-fila.duplicada{background:var(--aviso-suave);color:var(--aviso)}.graficos{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.graficos .tarjeta+.tarjeta{margin-top:0}.graficos h3{margin-bottom:12px}.graficos .ancho-2{grid-column:span 2}@media (width<=760px){.graficos{grid-template-columns:1fr}.graficos .ancho-2{grid-column:auto}}.hoja{background:var(--superficie);border:1px solid var(--borde);border-radius:var(--radio);padding:28px}.informe-cab{border-bottom:2px solid var(--primario);align-items:center;gap:20px;padding-bottom:16px;display:flex}.informe-cab img{width:120px}.informe-cab h1{margin:2px 0;font-size:24px}.informe-tabla{border:1px solid var(--borde)}.informe-tabla .total td{border-top:2px solid var(--borde);font-weight:700}@media print{.pestanas,.aviso{display:none!important}.hoja{border:0;padding:0}.informe-graficos{grid-template-columns:1fr 1fr}.informe-graficos .ancho-2{grid-column:span 2}.informe-tabla tr{break-inside:avoid}@page{margin:14mm}:root{--superficie:#fff!important;--fondo:#fff!important;--superficie-2:#f0f0f5!important;--texto:#1c1d29!important;--texto-suave:#5d6075!important;--borde:#e1e2ea!important;--lightningcss-light:initial!important;--lightningcss-dark: !important;color-scheme:light!important}img.logo-oscuro{display:none!important}img.logo-claro-fondo{display:block!important}}.barra-ocupacion{background:var(--superficie-2);border-radius:99px;height:6px;margin-top:8px;overflow:hidden}.barra-ocupacion span{background:var(--primario);border-radius:99px;height:100%;display:block}.chip-dia{border:1px solid var(--borde);background:var(--superficie);color:var(--texto-suave);font:inherit;cursor:pointer;border-radius:99px;align-items:center;gap:4px;padding:6px 12px;font-size:14px;font-weight:600;display:inline-flex}.chip-dia input{opacity:0;pointer-events:none;position:absolute}.chip-dia.on{background:var(--primario);border-color:var(--primario);color:#fff}.chip-dia small{opacity:.85;font-weight:500}.clases{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;display:grid}.clase{background:var(--superficie);border:1px solid var(--borde);border-left:4px solid var(--c);border-radius:var(--radio);align-items:flex-start;gap:14px;padding:12px 14px;display:flex}.clase-hora{flex-direction:column;min-width:64px;display:flex}.clase-hora b{font-variant-numeric:tabular-nums;font-size:20px}.clase-hora span{color:var(--texto-suave);font-size:12.5px}.clase-nombre{margin-bottom:4px;font-weight:650}.taller{border-top:4px solid var(--c);flex-direction:column;gap:8px;display:flex}.icono-taller{min-width:38px;font-size:18px}.icono-taller.elegido{background:var(--primario-suave);border-color:var(--primario)}.grilla-talleres td{vertical-align:top;min-width:110px}.celda-taller+.celda-taller{border-top:1px dashed var(--borde);margin-top:8px;padding-top:8px}@media print{.grilla-talleres{font-size:11px}.grilla-talleres td,.grilla-talleres th{padding:6px}@page{size:landscape}}.calendario{grid-template-columns:minmax(0,1.6fr) minmax(280px,1fr);align-items:start;gap:16px;display:grid}.calendario>.aviso{grid-column:1/-1}.calendario .tarjeta+.tarjeta{margin-top:0}@media (width<=1100px){.calendario{grid-template-columns:1fr}}.cal-grilla{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;display:grid}.cal-cab{text-align:center;color:var(--texto-suave);text-transform:uppercase;padding:4px 0;font-size:12px;font-weight:600}.cal-dia{text-align:left;border:1px solid var(--borde);background:var(--superficie);min-height:86px;color:var(--texto);font:inherit;cursor:pointer;border-radius:8px;flex-direction:column;align-items:stretch;gap:2px;padding:4px;display:flex;overflow:hidden}.cal-dia:hover{border-color:var(--primario-borde)}.cal-dia.vacio{cursor:default;background:0 0;border:0}.cal-dia.hoy .cal-num{background:var(--primario);color:#fff}.cal-dia.sel{outline:2px solid var(--primario);outline-offset:-1px}.cal-num{border-radius:99px;align-self:flex-start;padding:1px 6px;font-size:13px;font-weight:650}.cal-ev{white-space:nowrap;text-overflow:ellipsis;background:color-mix(in oklab, var(--c) 18%, var(--superficie));border-left:3px solid var(--c);border-radius:4px;padding:1px 5px;font-size:11px;line-height:1.3;overflow:hidden}.cal-ev.feriado{color:var(--c);font-weight:600}.cal-mas{color:var(--texto-suave);padding-left:4px;font-size:11px}.cal-referencias{color:var(--texto-suave);flex-wrap:wrap;gap:6px 14px;font-size:12.5px;display:flex}.cal-referencias i{border-radius:3px;width:10px;height:10px;margin-right:6px;display:inline-block}.evento{border-left:4px solid var(--c);background:color-mix(in oklab, var(--c) 8%, var(--superficie));border-radius:8px;flex-wrap:wrap;align-items:center;gap:12px;padding:10px 12px;display:flex}.evento-hora{font-variant-numeric:tabular-nums;min-width:96px;font-weight:650}@media (width<=600px){.cal-dia{min-height:54px}.cal-ev{background:var(--c);border-left-width:0;height:5px;padding:0;font-size:0}.cal-mas{display:none}}.plano{grid-template-columns:minmax(0,1fr) 300px;align-items:start;gap:16px;display:grid}@media (width<=900px){.plano{grid-template-columns:1fr}}.plano-svg{border:1px solid var(--borde);border-radius:var(--radio);touch-action:none;-webkit-user-select:none;user-select:none;cursor:grab;background:#fff;width:100%;max-height:78vh}.plano-svg:active{cursor:grabbing}.plano-fondo{pointer-events:none}:root[data-theme=dark] .plano-fondo{filter:invert(.88)hue-rotate(180deg)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .plano-fondo{filter:invert(.88)hue-rotate(180deg)}}:root[data-theme=dark] .plano-svg{background:#1b1c27}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .plano-svg{background:#1b1c27}}.plano-espacio{cursor:pointer}.plano-espacio .relleno{fill:var(--c);fill-opacity:.28}.plano-espacio .borde{fill:none;stroke:var(--c);stroke-width:2.5px;vector-effect:non-scaling-stroke}.plano-espacio:hover .relleno{fill-opacity:.42}.plano-espacio.sel .relleno{fill-opacity:.5}.plano-espacio.sel .borde{stroke-width:4px}.plano-svg.editando .plano-espacio.sel{cursor:move}.plano-nombre{fill:#1c1d29;paint-order:stroke;stroke:#ffffffd9;stroke-width:3px;pointer-events:none;font-weight:700}:root[data-theme=dark] .plano-nombre{fill:#f2f3f8;stroke:#14141ed9}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .plano-nombre{fill:#f2f3f8;stroke:#14141ed9}}.plano-svg.editando .plano-nombre{pointer-events:all;cursor:move}.plano-vertice{fill:#fff;stroke:var(--primario);stroke-width:2px;vector-effect:non-scaling-stroke;cursor:grab}.plano-borde-punto{fill:var(--primario);fill-opacity:.55;cursor:copy}.plano-panel{position:sticky;top:80px}.plano-panel textarea{border:1px solid var(--borde);background:var(--superficie);min-height:70px;color:var(--texto);font:inherit;resize:vertical;border-radius:8px;padding:8px 12px}.plano-referencias{flex-direction:column;gap:6px;font-size:13px;display:flex}.plano-referencias i{vertical-align:-2px;background:color-mix(in oklab, var(--c) 35%, var(--superficie));border:2px solid var(--c);border-radius:4px;width:14px;height:14px;margin-right:8px;display:inline-block}
