:root{--paper: #F3ECDC;--paper-deep: #EAE0C6;--ink: #26221B;--ink-soft: #6E6552;--route: #1E3A52;--route-deep: #152A3D;--crust: #B9812A;--crust-soft: #E7C892;--ok: #3B7A57;--ok-soft: #E4F0E7;--danger: #B3432B;--danger-soft: #F7E7E1;--line: #DCCFA9;--line-soft: #E9E0C4;--white: #FFFDF8;--f-display: "Fraunces", "Iowan Old Style", Georgia, serif;--f-body: "Public Sans", -apple-system, system-ui, sans-serif;--f-ticket: "IBM Plex Mono", ui-monospace, Menlo, Consolas, monospace;--radius: 9px;--radius-sm: 6px;--shadow-card: 0 1px 2px #2622190c, 0 10px 24px -14px #26221926}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--paper);background-image:radial-gradient(circle at 1px 1px,#26221909 1px,transparent 0);background-size:22px 22px;color:var(--ink);font-family:var(--f-body);font-size:16px;line-height:1.45;-webkit-font-smoothing:antialiased}h1,h2,h3{font-family:var(--f-display);font-weight:600;color:var(--route);margin:0}h2{font-size:1.5rem;letter-spacing:-.01em;margin-bottom:5px}h3{font-size:1.08rem;margin-bottom:12px}p{margin:0 0 12px}strong{font-weight:700}a{color:var(--route)}button{font-family:inherit}::selection{background:var(--crust-soft)}:focus-visible{outline:2.5px solid var(--route);outline-offset:2px;border-radius:4px}.cifra,.num,.pin{font-family:var(--f-ticket);font-variant-numeric:tabular-nums;letter-spacing:-.01em}.cifra{font-size:1.3rem;font-weight:600;color:var(--route)}.muted{color:var(--ink-soft);font-size:.92rem;margin:0 0 16px}.muted-inline{color:var(--ink-soft);font-size:.85rem}@media (prefers-reduced-motion: reduce){*{transition-duration:.001ms!important;animation-duration:.001ms!important}}.app-shell{max-width:720px;margin:0 auto;min-height:100vh;display:flex;flex-direction:column}.app-shell.wide{max-width:1040px}.app-header{padding:22px 20px 4px}.brand{display:flex;align-items:center;gap:10px;font-family:var(--f-display);font-weight:600;font-size:1.2rem;color:var(--route);margin-bottom:18px}.brand-mark{flex:none;width:30px;height:30px;color:var(--crust)}.brand-mark svg{display:block;width:100%;height:100%}.tabs{display:flex;gap:4px;border-bottom:1.5px solid var(--line)}.tab{flex:1;padding:12px 14px;background:none;border:none;font-family:inherit;font-size:.95rem;font-weight:600;color:var(--ink-soft);cursor:pointer;border-bottom:2.5px solid transparent;margin-bottom:-1.5px;transition:color .15s ease,border-color .15s ease}.tab:hover{color:var(--route)}.tab.active{color:var(--route);border-bottom-color:var(--crust)}.inner-tabs{margin:6px 0 22px;border-bottom:1.5px solid var(--line)}.app-main{padding:18px 20px 40px;flex:1}.card{position:relative;background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:30px 26px 26px 32px;box-shadow:var(--shadow-card)}.card:before{content:"";position:absolute;left:-1px;top:0;bottom:0;width:16px;background-image:radial-gradient(circle,var(--paper) 3.2px,transparent 3.6px);background-size:16px 20px;background-repeat:repeat-y;background-position:0 8px}.corte{border-top:1.5px dashed var(--line);margin:18px 0}.form-row{display:flex;gap:10px;margin-top:12px}.form-col{display:flex;flex-direction:column;gap:10px;margin-top:14px}input[type=text],input[type=search],input[type=password],input[type=number],input[type=time],input[type=date],select{font-family:inherit;font-size:1rem;padding:12px 14px;border:1.5px solid var(--line);border-radius:var(--radius-sm);background:var(--white);color:var(--ink)}.form-row input,.form-col input{flex:1;width:100%}input:focus,select:focus{outline:none;border-color:var(--route)}input::placeholder{color:#a89c7d}input[type=search]::-webkit-search-cancel-button{display:none}.btn-primary{background:var(--route);color:#fff;border:none;padding:12px 20px;border-radius:var(--radius-sm);font-weight:600;font-size:.95rem;cursor:pointer;transition:background .15s ease}.btn-primary:hover{background:var(--route-deep)}.btn-primary:disabled{opacity:.5;cursor:default}.btn-secundario{display:inline-block;background:var(--white);color:var(--route);border:1.5px solid var(--route);padding:10px 16px;border-radius:var(--radius-sm);font-weight:600;font-size:.9rem;cursor:pointer;text-decoration:none;text-align:center;transition:background .15s ease}.btn-secundario:hover{background:var(--paper-deep)}.btn-secundario:disabled{opacity:.5;cursor:default}.btn-peligro{background:var(--white);color:var(--danger);border:1.5px solid var(--danger);padding:10px 16px;border-radius:var(--radius-sm);font-weight:600;font-size:.9rem;cursor:pointer}.btn-peligro:hover{background:var(--danger-soft)}.btn-chico{padding:6px 11px;font-size:.82rem;border-radius:6px}.btn-block{width:100%;margin-top:20px;padding:14px;font-size:1rem}.btn-repetir{width:100%;margin-bottom:10px}.link-btn{background:none;border:none;color:var(--route);text-decoration:underline;text-underline-offset:2px;cursor:pointer;font-size:.85rem;padding:0}.acciones{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.acciones-card{margin-top:10px}.alerta{padding:10px 14px;border-radius:var(--radius-sm);font-size:.92rem;margin:10px 0;border:1px solid}.alerta-cerrado{background:#fbf0de;border-color:#e9c784;color:#7a5416}.alerta-info{background:#e9eff4;border-color:#c4d3de;color:var(--route)}.alerta-ok{background:var(--ok-soft);border-color:#bfdcc9;color:var(--ok)}.badge{display:inline-block;font-size:.72rem;font-weight:700;padding:3px 9px;border-radius:999px;background:var(--paper-deep);color:var(--ink-soft);margin-left:6px}.badge-ok{background:var(--ok-soft);color:var(--ok)}.badge-edit{background:#e9eff4;color:var(--route)}.texto-peligro{color:var(--danger)}.error-text{color:var(--danger);font-size:.9rem;margin-top:10px}.empleado-banner{background:var(--paper-deep);border-radius:var(--radius-sm);padding:10px 14px;margin-bottom:20px;font-size:.92rem;display:flex;justify-content:space-between;align-items:center}.buscador{position:sticky;top:0;z-index:5;background:var(--white);padding:8px 0 6px;margin-bottom:6px}.buscador-box{position:relative}.buscador-input{width:100%;padding:12px 40px 12px 14px;-webkit-appearance:none;-moz-appearance:none;appearance:none}.buscador-clear{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:32px;height:32px;border:none;background:none;color:var(--ink-soft);font-size:1rem;cursor:pointer;border-radius:50%}.buscador-clear:hover{background:var(--paper-deep)}.buscador-info{margin:6px 2px 0;font-size:.82rem;color:var(--ink-soft)}.chips{display:flex;gap:6px;overflow-x:auto;padding:8px 0 2px;scrollbar-width:none}.chips::-webkit-scrollbar{display:none}.chip{flex:none;padding:6px 13px;border-radius:999px;border:1.5px solid var(--line);background:var(--white);color:var(--ink-soft);font-size:.84rem;font-weight:600;cursor:pointer;white-space:nowrap;transition:background .15s ease,border-color .15s ease,color .15s ease}.chip.on{background:var(--route);border-color:var(--route);color:#fff}.chip-mios{border-color:var(--crust);color:var(--crust)}.chip-mios.on{background:var(--crust);border-color:var(--crust);color:#fff}.producto-list{display:flex;flex-direction:column;gap:2px}.producto-row{display:flex;align-items:center;gap:12px;padding:11px 8px;margin:0 -8px;border-bottom:1px dashed var(--line-soft);border-radius:7px}.producto-row.activo{background:#fbf6e9}.producto-info{flex:1;display:flex;flex-direction:column;min-width:0}.producto-nombre{font-weight:600}.producto-meta{font-size:.82rem;color:var(--ink-soft)}.producto-meta .producto-tag{margin-left:8px;color:var(--crust);font-weight:600}.producto-sub{font-size:.82rem;color:var(--ok);font-weight:600;margin-top:2px;font-family:var(--f-ticket);font-variant-numeric:tabular-nums}.qty{display:flex;align-items:center;gap:4px;flex:none}.qty button{width:34px;height:34px;border-radius:var(--radius-sm);border:1.5px solid var(--line);background:var(--white);font-size:1.2rem;line-height:1;cursor:pointer;color:var(--route);transition:background .12s ease}.qty button:active{background:var(--paper-deep)}.qty button:disabled{opacity:.35;cursor:default}.qty input{width:52px;height:34px;padding:0;text-align:center;font-family:var(--f-ticket);font-variant-numeric:tabular-nums}.pedido-footer{position:sticky;bottom:0;z-index:6;background:var(--white);margin:16px -26px -26px -32px;padding:14px 26px 18px 32px;border-top:1.5px dashed var(--line);box-shadow:0 -8px 16px -10px #26221926}.total-linea{display:flex;justify-content:space-between;align-items:baseline;font-size:1.05rem}.barra{height:7px;background:var(--paper-deep);border-radius:999px;overflow:hidden;margin:9px 0 4px}.barra-fill{height:100%;background:var(--ok);border-radius:999px;transition:width .2s ease}.barra-fill.alerta{background:var(--crust)}.barra-fill.peligro{background:var(--danger)}.pedido-footer .btn-block{margin-top:10px}.pedido-footer .error-text{margin:4px 0 0}.resumen-lista{list-style:none;margin:14px 0 0;padding:0}.resumen-lista li{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px dashed var(--line-soft);font-size:.95rem}.resumen-total{display:flex;justify-content:space-between;align-items:baseline;padding:14px 0 0;font-size:1.1rem}.panel-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:8px}.panel-acciones{display:flex;align-items:center;gap:12px}.panel-header input[type=date]{padding:9px 10px}.herramientas{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0 12px;align-items:center}.herramientas .buscador-input{flex:1 1 220px;width:auto;padding-right:14px}.herramientas select{font-size:.95rem}.resumen-linea{margin:0 0 12px;font-size:.95rem;color:var(--ink-soft)}.resumen-linea strong{font-family:var(--f-ticket);font-variant-numeric:tabular-nums;color:var(--route)}.tabla-wrap{overflow-x:auto}.tabla{width:100%;border-collapse:collapse;font-size:.92rem}.tabla th{text-align:left;padding:9px 6px;border-bottom:1.5px solid var(--line);color:var(--route);font-weight:600;font-size:.82rem}.tabla td{padding:10px 6px;border-bottom:1px solid var(--line-soft)}.tabla .strong{font-weight:700}.tabla .num{text-align:right;white-space:nowrap}.tabla tfoot td{border-top:1.5px solid var(--route);border-bottom:none;font-size:1rem;padding-top:12px;font-weight:600}.empleado-list{display:flex;flex-direction:column;gap:14px}.empleado-card{border:1px solid var(--line);border-radius:var(--radius-sm);padding:14px 16px;background:var(--white)}.empleado-card.surtido{background:#f7faf7;border-color:#cfe4d6}.empleado-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:8px}.header-der{display:flex;align-items:center;gap:8px;white-space:nowrap}.header-der strong{font-family:var(--f-ticket);font-variant-numeric:tabular-nums}.empleado-card ul{margin:0;padding-left:18px}.empleado-card li{font-size:.92rem;padding:2px 0}.print-only{display:none}.adm-tabla{display:flex;flex-direction:column}.adm-fila{display:grid;grid-template-columns:minmax(200px,1fr) 110px 90px 100px 70px auto;gap:8px;align-items:center;padding:9px 6px;border-bottom:1px solid var(--line-soft)}.adm-head{font-size:.78rem;color:var(--route);font-weight:600;border-bottom:1.5px solid var(--line);position:sticky;top:0;background:var(--white);z-index:3}.adm-fila.inactivo{opacity:.55;background:var(--paper)}.adm-fila.sucio{background:#fff9ec;box-shadow:inset 3px 0 0 var(--crust);opacity:1}.campo{display:block;margin:0;min-width:0}.campo input{width:100%;padding:8px 10px;font-size:.92rem}.lbl{display:none;font-size:.7rem;color:var(--ink-soft)}.lbl-vis{display:block;font-size:.78rem;color:var(--ink-soft);font-weight:600;margin-bottom:4px}.adm-acciones{display:flex;gap:6px;justify-content:flex-end;flex-wrap:wrap}.adm-error{grid-column:1 / -1;margin:0}.barra-guardar{position:sticky;top:0;z-index:4;display:flex;justify-content:space-between;align-items:center;gap:10px;background:#fbf0de;border:1px solid #E9C784;color:#7a5416;padding:9px 12px;border-radius:var(--radius-sm);margin:8px 0;font-size:.9rem}.nuevo-form{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-sm);padding:16px;margin:8px 0 14px}.nuevo-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:10px;margin-bottom:12px}.nuevo-grid.grid-emp{grid-template-columns:1fr 2fr}.pie-nota{margin-top:16px;font-size:.84rem}.ajustes-form{display:flex;flex-direction:column;gap:20px;max-width:560px}.ajuste{display:flex;flex-direction:column;gap:6px}.ajuste-titulo{font-weight:600;color:var(--route)}.ajuste input[type=number],.ajuste input[type=time]{max-width:200px}.fila-hora{display:flex;align-items:center;gap:12px}.dias{display:flex;flex-wrap:wrap;gap:6px}.dia{position:relative;display:inline-flex;align-items:center;justify-content:center;min-width:54px;padding:9px 10px;border:1.5px solid var(--line);border-radius:var(--radius-sm);font-weight:600;font-size:.9rem;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .15s ease,border-color .15s ease,color .15s ease}.dia input{position:absolute;opacity:0;pointer-events:none}.dia.on{background:var(--route);border-color:var(--route);color:#fff}.check-linea{display:flex;align-items:center;gap:10px;cursor:pointer}.check-linea input{width:20px;height:20px;accent-color:var(--route)}.empleado-list.compacta{gap:0}.emp-fila{display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:center;padding:9px 4px;border-bottom:1px solid var(--line-soft)}.emp-fila.inactivo{opacity:.55}.emp-datos{display:flex;flex-direction:column;min-width:0}.emp-estado{display:flex;gap:4px}.pins-panel{border:1.5px solid var(--crust);background:#fffaf0;border-radius:var(--radius);padding:16px;margin-bottom:16px}.pins-cab{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap;margin-bottom:10px}.pins-cab p{margin:4px 0 0}.pin{font-size:1.15rem;letter-spacing:.12em;font-weight:600;color:var(--route)}@media (max-width: 480px){.app-main{padding:14px}.card{padding:22px 18px 20px 24px}.pedido-footer{margin:16px -18px -20px -24px;padding:12px 18px 16px 24px}}@media (max-width: 720px){.adm-head{display:none}.adm-fila{grid-template-columns:1fr 1fr;padding:12px 6px}.adm-fila .campo-nombre{grid-column:1 / -1}.lbl{display:block}.adm-fila .adm-acciones{grid-column:1 / -1;justify-content:flex-start}.nuevo-grid,.nuevo-grid.grid-emp{grid-template-columns:1fr 1fr}.nuevo-grid .campo-nombre{grid-column:1 / -1}.emp-fila{grid-template-columns:1fr auto}.emp-fila .adm-acciones{grid-column:1 / -1;justify-content:flex-start}.empleado-card-header{flex-direction:column;gap:4px}}@media print{body{background:#fff}.no-print,.app-header,.tabs,.herramientas{display:none!important}.print-only{display:block;margin-bottom:8px}.app-shell,.app-shell.wide{max-width:none}.app-main{padding:0}.card{border:none;box-shadow:none;padding:0}.card:before{display:none}.empleado-card{break-inside:avoid}.tabla{font-size:11pt}body.solo-pins .oculto-pins,body.solo-pins .app-header{display:none!important}body.solo-pins .pins-panel{border:none;background:#fff}}

.cerrado-bloque{text-align:center}.oso-cerrado{display:block;margin:0 auto 14px;height:170px;width:auto;border-radius:16px}.cerrado-bloque .alerta{text-align:left}

.vd-btn.on{background:var(--route);color:#fff}
.vd-panel{background:var(--white);border:1.5px solid var(--line);border-radius:var(--radius);padding:16px;margin:0 0 14px;max-width:360px}
.vd-cab{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}
.vd-ayuda{margin:0 0 10px;font-size:.85rem}
.vd-atajos{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}
.vd-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}
.vd-mes{text-transform:capitalize;font-family:var(--f-display);color:var(--route)}
.vd-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:10px}
.vd-dow{text-align:center;font-size:.75rem;font-weight:600;color:var(--ink-soft);padding:2px 0}
.vd-dia{aspect-ratio:1/1;min-height:38px;border:1.5px solid var(--line-soft);background:var(--white);color:var(--ink);border-radius:var(--radius-sm);font-family:var(--f-ticket);font-size:.9rem;cursor:pointer;padding:0}
.vd-dia:hover{border-color:var(--crust)}
.vd-dia.hoy{border-color:var(--crust);font-weight:700}
.vd-dia.on{background:var(--route);border-color:var(--route);color:#fff;font-weight:700}
.vd-conteo{margin:0 0 10px;font-size:.88rem;color:var(--ink-soft)}

.vd-acciones{display:flex;flex-wrap:wrap;gap:8px}
.panel-acciones{flex-wrap:wrap}

.imp-panel{background:var(--white);border:1.5px solid var(--line);border-radius:var(--radius);padding:16px;margin:0 0 14px}
.imp-archivo{display:inline-block;cursor:pointer}
.imp-resumen{margin:8px 0 6px;font-size:.95rem}
.imp-lista{max-height:240px;overflow:auto;border:1px solid var(--line-soft);border-radius:var(--radius-sm);padding:8px 10px;margin:8px 0;font-size:.88rem}
.imp-fila{display:flex;gap:8px;align-items:baseline;padding:3px 0;border-bottom:1px dashed var(--line-soft)}
.imp-fila:last-child{border-bottom:none}
.imp-tag{flex:none;font-size:.72rem;font-weight:700;padding:1px 6px;border-radius:4px;background:var(--ok-soft);color:var(--ok)}
.imp-tag.cambio{background:var(--crust-soft);color:var(--ink)}
.imp-tag.err{background:var(--danger-soft);color:var(--danger)}
.imp-errores{border-color:var(--danger)}
.imp-check{display:flex;gap:8px;align-items:flex-start;margin:10px 0;font-size:.9rem;cursor:pointer}
.imp-check input{margin-top:3px}

.chips-barra{display:flex;align-items:center;gap:6px;padding:8px 0 2px}
.chips-barra>.chip{flex:none}
.chips-scroll{flex:1 1 auto;min-width:0;padding:0;scroll-behavior:smooth}
.chips-flecha{flex:none;width:30px;height:30px;padding:0;border-radius:50%;border:1.5px solid var(--line);background:var(--white);color:var(--route);font-size:1.25rem;line-height:1;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background .15s ease,opacity .15s ease}
.chips-flecha:hover:not(:disabled){background:var(--paper-deep)}
.chips-flecha:disabled{opacity:.3;cursor:default}

/* Productos (admin): columnas fijas para que los títulos queden sobre su casilla */
@media (min-width: 861px){
.adm-fila{grid-template-columns:minmax(110px,1fr) 110px 90px 100px 70px 216px}
}
@media (max-width: 860px){
.adm-head{display:none}
.adm-fila{grid-template-columns:1fr 1fr;padding:12px 6px}
.adm-fila .campo-nombre{grid-column:1 / -1}
.adm-fila .lbl{display:block}
.adm-fila .adm-acciones{grid-column:1 / -1;justify-content:flex-start}
}

/* Ticket de entrega (vendedor) */
.tk-ticket{background:#fff;color:#000;font-family:"Courier New",ui-monospace,Menlo,Consolas,monospace;font-size:13px;font-weight:700;line-height:1.35;padding:14px 14px 16px;width:100%;box-sizing:border-box;-webkit-text-stroke:.4px #000;-webkit-print-color-adjust:exact;print-color-adjust:exact}
.tk-ticket *{box-sizing:border-box;font-weight:700}
.tk-c{text-align:center}
.tk-marca{font-weight:900;font-size:19px;letter-spacing:.05em;-webkit-text-stroke:.6px #000}
.tk-sep{border:0;border-top:2px dashed #000;margin:8px 0}
.tk-fila{display:flex;justify-content:space-between;gap:8px}
.tk-fila span:last-child{text-align:right;white-space:nowrap}
.tk-b{font-weight:900;font-size:14px;word-break:break-word;-webkit-text-stroke:.5px #000}
.tk-item{margin:7px 0}
.tk-tipo{margin:10px 0 4px;padding:2px 0;text-align:center;font-weight:900;font-size:14px;letter-spacing:.08em;border-top:2px solid #000;border-bottom:2px solid #000;-webkit-text-stroke:.5px #000}
.tk-total{font-size:19px;font-weight:900;-webkit-text-stroke:.6px #000}
.tk-firma{margin-top:30px;border-top:2px solid #000;padding-top:3px;text-align:center;font-size:12px}
.tk-pie{text-align:center;font-size:13px;margin-top:10px}
.tk-overlay{position:fixed;inset:0;z-index:1000;background:rgba(21,42,61,.6);display:flex;justify-content:center;align-items:flex-start;overflow:auto;padding:18px 12px}
.tk-modal{width:100%;max-width:340px}
.tk-modal .tk-ticket{border-radius:4px;box-shadow:0 14px 40px -12px rgba(0,0,0,.55)}
.tk-acciones{display:flex;gap:8px;margin-top:12px}
.tk-acciones button{flex:1}
.tk-auto{display:flex;gap:8px;align-items:center;margin-top:10px;color:#fff;font-size:.85rem;cursor:pointer}
@media print{.tk-overlay{display:none}}

/* Multisucursal */
.sel-suc{padding:10px 12px;border:1.5px solid var(--line);border-radius:var(--radius-sm);background:var(--white);font:inherit;color:var(--ink);max-width:100%}
.sel-mover{padding:6px 8px;border:1.5px solid var(--line);border-radius:var(--radius-sm);background:var(--white);font:inherit;font-size:.85rem;color:var(--ink);max-width:150px}
.suc-lista{display:grid;gap:10px;margin:12px 0}
.suc-card{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;border:1.5px solid var(--line);border-radius:var(--radius);padding:14px;background:var(--white)}
.suc-card.off{border-color:var(--danger);background:#f8efe6}
.suc-datos{min-width:200px}
.suc-datos p{margin:4px 0 0}
.suc-acciones{display:flex;gap:8px;flex-wrap:wrap}
.suc-nueva{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}
.suc-nueva input{flex:1;min-width:180px}
.imp-destino{display:flex;align-items:center;gap:8px;font-size:.9rem}
