/* =====================================================================
   NÉCTAR OS · estilos de los módulos nuevos (Cocina, Compras, Equipo,
   Clientes, Ajustes). Usa solo las variables y componentes de la app;
   no cambia el aspecto de ninguna pantalla existente.
   ===================================================================== */

/* con más entradas en la barra lateral, que haga scroll sin mostrar barra (nada se corta) */
.side{overflow-y:auto;scrollbar-width:none;}
.side::-webkit-scrollbar{display:none;}
.side .logo,.side .nav{flex-shrink:0;}

/* pestañas internas */
.mx-wrap{max-width:1100px;margin:0 auto;}
.mx-tabs{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px;}
.mx-tab{padding:8px 14px;border-radius:11px;background:var(--panel);color:var(--mut);font-weight:700;font-size:12.5px;border:1px solid var(--line);white-space:nowrap;}
.mx-tab.active{background:var(--brand);color:#fff;border-color:var(--brand);}
.mx-tab .n{background:var(--danger);color:#fff;border-radius:9px;padding:0 6px;font-size:10px;margin-left:6px;}
.mx-tools{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:4px 0 12px;}
.mx-btn{padding:8px 13px;border-radius:10px;background:var(--chip);border:1px solid var(--line);color:var(--txt);font-weight:700;font-size:12px;}
.mx-btn:hover{border-color:var(--brand);}
.mx-btn.prim{background:var(--brand);border-color:var(--brand);color:#fff;}
.mx-btn.danger{color:var(--danger);}
.mx-btn:disabled{opacity:.4;}
.mx-in{padding:7px 9px;border-radius:9px;background:var(--bg2);border:1px solid var(--line);color:var(--txt);font-size:13px;font-family:inherit;width:84px;}
.mx-in.wide{width:100%;}
.mx-sel{padding:7px 9px;border-radius:9px;background:var(--bg2);border:1px solid var(--line);color:var(--txt);font-size:13px;font-family:inherit;}
.mx-muted{color:var(--mut);}
.mx-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center;}
.mx-grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:14px;}
.mx-empty{text-align:center;color:var(--mut);padding:26px 10px;font-size:13px;}
.mx-badge-ok{background:rgba(63,191,116,.18);color:var(--ok);}
.mx-badge-pend{background:rgba(232,153,46,.18);color:var(--accent);}
.mx-note{font-size:12px;color:var(--mut);line-height:1.55;margin:4px 0 10px;}
table.t td.mx-nw{white-space:nowrap;}
table.t .sub-ing td{border-top:0;}
table.t .nm-rep{color:transparent;}

/* receta con medidas en el formulario de producto: la columna de la unidad pasa a ser un desplegable */
.np-row{grid-template-columns:minmax(0,1fr) 74px 140px 30px;}
.np-row .mx-medida{width:100%;padding:9px 6px;border-radius:10px;background:var(--bg2);border:1px solid var(--line);color:var(--txt);font-size:12px;font-family:inherit;}
@media(max-width:560px){ .np-row{grid-template-columns:minmax(0,1fr) 70px 104px 28px;} }

/* insignia numérica en la barra lateral */
.nav{position:relative;}
.nav-n{position:absolute;top:3px;right:6px;background:var(--danger);color:#fff;border-radius:9px;font-size:9px;padding:0 5px;font-weight:800;line-height:15px;}
.mx-chip{display:inline-flex;margin:2px 3px 2px 0;}
table.t .nm-rep *{visibility:hidden;}

/* ===== Cocina (KDS) ===== */
.kds-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:start;}
@media(max-width:900px){.kds-grid{grid-template-columns:1fr;}}
.kds-col{background:var(--panel2);border:1px solid var(--line);border-radius:14px;padding:10px;min-height:180px;}
.kds-col-h{display:flex;justify-content:space-between;align-items:center;font-weight:800;text-transform:uppercase;font-size:11.5px;letter-spacing:.4px;color:var(--mut);margin:2px 2px 10px;}
.kds-n{background:var(--chip);border-radius:10px;padding:1px 9px;color:var(--txt);}
.kds-vacio{text-align:center;color:var(--mut);padding:24px 0;}
.kds-card{background:var(--panel);border:1px solid var(--line);border-left:5px solid var(--ok);border-radius:12px;padding:10px 12px;margin-bottom:10px;}
.kds-card.aviso{border-left-color:var(--accent);}
.kds-card.tarde{border-left-color:var(--danger);}
.kds-h{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;margin-bottom:6px;}
.kds-h b{font-size:17px;}
.kds-mesa{font-weight:700;font-size:13px;}
.kds-tag{font-size:10.5px;color:var(--mut);font-weight:700;}
.kds-t{margin-left:auto;font-weight:800;font-size:15px;color:var(--ok);}
.kds-t.aviso{color:var(--accent);} .kds-t.tarde{color:var(--danger);}
.kds-l{list-style:none;margin:0 0 8px;padding:0;font-size:14px;line-height:1.5;}
.kds-l li{padding:2px 0;border-bottom:1px dashed var(--line);}
.kds-l li:last-child{border-bottom:0;}
.kds-b{display:flex;gap:6px;}
.kds-go{flex:1;padding:11px;border-radius:11px;background:var(--chip);border:1px solid var(--line);font-weight:800;font-size:13.5px;color:var(--txt);}
.kds-go.ok{background:var(--brand);border-color:var(--brand);color:#fff;}
.kds-go:active{transform:scale(.97);}
.kds-back{width:42px;border-radius:11px;background:transparent;border:1px solid var(--line);color:var(--mut);font-size:16px;}

/* con más entradas, la barra se compacta un poco en pantallas bajas para que quepan casi todas */
@media(max-height:860px){ .side{gap:2px;padding:8px 0;} .side .nav{padding:5px 0;} }

/* ===== Equipo ===== */
.eq-card.dentro{border-color:var(--ok);}
.eq-turno{width:56px;height:46px;border-radius:11px;background:var(--chip);border:1px solid var(--line);font-weight:800;font-size:15px;color:var(--mut);display:inline-flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.1;}
.eq-turno small{font-size:9px;font-weight:700;opacity:.85;}
.eq-turno.tM{background:rgba(23,163,152,.2);border-color:var(--brand);color:var(--brand2);}
.eq-turno.tT{background:rgba(232,153,46,.2);border-color:var(--accent);color:var(--accent);}
.eq-turno.tP{background:rgba(120,140,220,.22);border-color:#7d8de0;color:#a9b5f5;}
.eq-turno.tL{background:transparent;border-style:dashed;}
.eq-turno:active{transform:scale(.95);}
.eq-t td,.eq-t th{padding:8px 6px;}
.eq-h{min-width:20px;}
.eq-h span{font-size:10px;} 

/* ===== Clientes ===== */
.cl-pts{display:flex;flex-wrap:wrap;gap:5px;}
.cl-pts i{width:18px;height:18px;border-radius:50%;border:2px solid var(--line);background:transparent;display:inline-block;}
.cl-pts i.on{background:var(--brand2);border-color:var(--brand2);}
.cl-consent{display:flex;gap:10px;align-items:flex-start;font-size:12px;line-height:1.5;color:var(--mut);background:var(--panel2);border:1px solid var(--line);border-radius:11px;padding:10px;margin-top:4px;}
.cl-consent input{margin-top:3px;flex-shrink:0;}
@media(max-height:800px){ .side{gap:1px;padding:6px 0;} .side .nav{padding:2px 0;gap:1px;} .side .logo{width:40px;height:40px;margin-bottom:2px;} }
.tf-tag{font-size:10px;font-weight:800;color:var(--brand2);background:var(--panel2);border:1px solid var(--line);border-radius:6px;padding:1px 5px;margin-left:3px;vertical-align:1px;}
.tf-ls{color:var(--brand2);font-weight:700;}
.tf-row{display:flex;gap:10px;align-items:center;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--line);}
.tf-row.off{opacity:.55;}
.tf-dias{display:flex;gap:6px;flex-wrap:wrap;}
.kds-card.anulada{border-color:#d33a3f;background:rgba(211,58,63,.10);}
.kds-anul{background:#d33a3f;color:#fff;font-weight:800;font-size:12px;border-radius:7px;padding:5px 8px;margin:6px 0;display:flex;gap:8px;align-items:center;justify-content:space-between;}
.kds-l.tachado li{text-decoration:line-through;opacity:.7;}
.dv-cols{display:grid;grid-template-columns:minmax(260px,1fr) 1.3fr;gap:12px;align-items:start;}
.dv-lista{max-height:65vh;overflow:auto;display:flex;flex-direction:column;gap:6px;}
.dv-fila{display:grid;grid-template-columns:1fr auto;gap:2px 10px;text-align:left;padding:9px 11px;border:1px solid var(--line);border-radius:10px;background:var(--panel2);color:inherit;cursor:pointer;font:inherit;}
.dv-fila.sel{border-color:var(--brand2);box-shadow:0 0 0 1px var(--brand2);}
.dv-linea{display:flex;gap:10px;align-items:center;padding:8px 0;border-bottom:1px solid var(--line);flex-wrap:wrap;}
.dv-cant{display:flex;gap:8px;align-items:center;} .dv-stock{display:flex;gap:4px;align-items:center;}
.dv-res{background:var(--panel2);border:1px solid var(--line);border-radius:10px;padding:10px;margin-top:8px;font-size:14px;}
@media(max-width:820px){.dv-cols{grid-template-columns:1fr;}}
.acc-lock{position:fixed;inset:0;z-index:300;background:var(--bg);display:flex;align-items:center;justify-content:center;padding:20px;}
.acc-box{width:100%;max-width:330px;text-align:center;}
.acc-box h2{margin:6px 0 14px;letter-spacing:2px;}
.acc-logo{width:56px;height:56px;margin:0 auto;border-radius:16px;background:var(--brand);color:#fff;font-weight:800;font-size:28px;display:flex;align-items:center;justify-content:center;}
.acc-dots{font-size:30px;letter-spacing:10px;height:44px;margin-bottom:6px;}
#acc-chip{white-space:nowrap;}
@media(max-width:1100px){.acc-rol{display:none;}}
/* ===== cliente en el ticket y tarjeta de sellos ===== */
.sd-fila{display:flex;gap:5px;flex-wrap:wrap;margin-top:8px;}
.sd{width:20px;height:20px;border-radius:50%;border:2px solid var(--line);display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-style:normal;color:transparent;flex-shrink:0;}
.sd.on{background:linear-gradient(145deg,#ffd66b,#f5a623);border-color:#f5a623;color:#7a4a00;box-shadow:0 1px 4px rgba(245,166,35,.45);}
.sd.nuevo{background:linear-gradient(145deg,#7ff0e0,#2ec4b6);border-color:#2ec4b6;color:#064;animation:sdpop .7s cubic-bezier(.2,1.6,.4,1) both,sdglow 1.6s ease-in-out .7s infinite;}
.sd-fila.grande{gap:6px;justify-content:center;margin:12px 0 8px;} .sd-fila.grande .sd{width:26px;height:26px;font-size:14px;}
@keyframes sdpop{0%{transform:scale(0) rotate(-60deg);opacity:0}70%{transform:scale(1.35) rotate(8deg);opacity:1}100%{transform:scale(1) rotate(0)}}
@keyframes sdglow{0%,100%{box-shadow:0 0 0 0 rgba(46,196,182,.55)}50%{box-shadow:0 0 0 7px rgba(46,196,182,0)}}
.cli-add{display:flex;align-items:center;gap:10px;margin:8px 12px;padding:11px 14px;border:1.5px dashed var(--brand2);border-radius:14px;background:transparent;color:var(--txt);font-size:13px;cursor:pointer;text-align:left;width:calc(100% - 24px);}
.cli-add:hover{background:rgba(46,196,182,.08);} .cli-add-ic{font-size:20px;}
.cli-box{margin:8px 12px;padding:11px 13px;border-radius:15px;background:linear-gradient(135deg,rgba(46,196,182,.16),rgba(245,166,35,.12));border:1px solid var(--line);}
.cli-box.premio{background:linear-gradient(135deg,rgba(245,166,35,.28),rgba(46,196,182,.14));border-color:#f5a623;}
.cli-top{display:flex;align-items:center;gap:10px;}
.cli-av{width:36px;height:36px;border-radius:50%;background:linear-gradient(145deg,var(--brand),var(--brand2));color:#fff;font-weight:800;display:flex;align-items:center;justify-content:center;flex-shrink:0;} .cli-av.sm{width:30px;height:30px;font-size:13px;}
.cli-nom{font-weight:800;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;} .cli-sub{font-size:12px;color:var(--mut);line-height:1.35;} .cli-sub b{color:var(--txt);}
.cli-x{background:none;border:0;color:var(--mut);font-size:15px;cursor:pointer;padding:4px 6px;}
.cli-box .sd-fila{margin-top:9px;}
.cli-res{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;margin-bottom:6px;border:1px solid var(--line);border-radius:12px;background:var(--panel2);color:inherit;font:inherit;cursor:pointer;}
.cli-res .sd-fila{margin:0;max-width:130px;justify-content:flex-end;} .cli-res .sd{width:9px;height:9px;border-width:1px;font-size:0;}
.cli-res:hover{border-color:var(--brand2);} .cli-lista{max-height:260px;overflow:auto;}
.cli-prem{background:linear-gradient(135deg,rgba(245,166,35,.22),rgba(46,196,182,.14));border-radius:11px;padding:9px 12px;margin-bottom:10px;font-size:13px;text-align:center;}
.cli-nuevo{margin-top:10px;padding-top:10px;border-top:1px solid var(--line);}
.sello-card{position:relative;overflow:hidden;text-align:center;padding:16px 14px 14px;margin-bottom:12px;border-radius:18px;background:linear-gradient(135deg,rgba(46,196,182,.2),rgba(245,166,35,.16));border:1px solid var(--line);animation:selloin .45s ease-out both;}
.sello-card.oro{background:linear-gradient(135deg,rgba(255,214,107,.42),rgba(245,166,35,.22));border-color:#f5a623;box-shadow:0 0 0 3px rgba(245,166,35,.18);}
.sello-t{font-size:20px;font-weight:800;letter-spacing:.2px;} .sello-s{font-size:13.5px;line-height:1.5;color:var(--mut);} .sello-s b{color:var(--txt);}
@keyframes selloin{from{transform:translateY(-10px) scale(.97);opacity:0}to{transform:none;opacity:1}}
.confeti{position:absolute;inset:0;pointer-events:none;overflow:hidden;}
.confeti span{position:absolute;top:-12px;width:8px;height:12px;border-radius:2px;opacity:0;animation:confcae 1.9s ease-in forwards;}
@keyframes confcae{0%{transform:translateY(0) rotate(0);opacity:1}100%{transform:translateY(240px) rotate(var(--giro));opacity:0}}
@media(prefers-reduced-motion:reduce){.sd.nuevo,.sello-card,.confeti span{animation:none!important;} .confeti{display:none;}}
.cli-premio{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;margin-top:9px;padding:8px 11px;border-radius:11px;border:1px solid var(--line);background:rgba(245,166,35,.12);color:var(--txt);font-size:12.5px;text-align:left;}
.cli-premio.ok{background:rgba(46,196,182,.16);border-color:var(--brand2);}
.btn-premio{cursor:pointer;border:1.5px solid #f5a623;font:inherit;font-size:12.5px;background:linear-gradient(135deg,rgba(255,214,107,.35),rgba(245,166,35,.18));}
.btn-premio:hover{filter:brightness(1.1);}
.cli-link{background:none;border:0;color:var(--brand2);font-weight:800;cursor:pointer;font-size:12.5px;}

.badge.bad{background:#d33a3f;color:#fff;}
.lt-caducado td{background:rgba(211,58,63,.08);}
.lt-hoy td{background:rgba(245,166,35,.07);}
.at-lista{max-height:52vh;overflow:auto;display:flex;flex-direction:column;gap:6px;}
.at-prod{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 10px;border:1px solid var(--line);border-radius:10px;background:var(--panel2);}
.at-step{display:flex;align-items:center;gap:8px;} .at-step b{min-width:20px;text-align:center;}

/* ===== comandero móvil: pantalla completa, botones grandes ===== */
body:has(.cmd-app) .side, body:has(.cmd-app) .topbar{display:none !important;}
body:has(.cmd-app) .view{padding:0 !important;}
.cmd-app{max-width:760px;margin:0 auto;padding:10px 12px 120px;min-height:100vh;}
.cmd-top{display:flex;align-items:center;gap:10px;margin-bottom:10px;position:sticky;top:0;z-index:6;background:var(--bg);padding:6px 0;}
.cmd-top h1{flex:1;font-size:22px;margin:0;display:flex;align-items:center;gap:8px;}
.cmd-h-ic{width:34px;height:34px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;font-size:20px;}
.cmd-atras{border:1px solid var(--line);background:var(--panel2);color:var(--txt);border-radius:14px;padding:12px 14px;font:inherit;font-size:15px;font-weight:700;cursor:pointer;max-width:42%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.cmd-menu{width:46px;height:46px;border-radius:14px;border:1px solid var(--line);background:var(--panel2);color:var(--txt);font-size:22px;cursor:pointer;}
.cmd-cli{border:1px solid var(--line);background:var(--panel2);color:var(--txt);border-radius:14px;padding:12px;font:inherit;font-size:13px;font-weight:700;cursor:pointer;white-space:nowrap;} .cmd-cli.on{border-color:#f5a623;background:rgba(245,166,35,.16);}
.cmd-sub{font-size:13px;font-weight:700;color:var(--mut);margin:6px 2px 8px;}
/* mesas */
.cmd-zonas{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:10px;}
.cmd-zona{border:2px solid var(--line);background:var(--panel2);color:var(--txt);border-radius:16px;padding:12px 6px;font:inherit;font-size:17px;font-weight:800;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:2px;position:relative;}
.cmd-zona small{font-size:11px;font-weight:600;color:var(--mut);} .cmd-zona.act{background:var(--brand2);border-color:var(--brand2);color:#fff;} .cmd-zona.act small{color:rgba(255,255,255,.85);}
.cmd-punto{position:absolute;top:8px;right:10px;width:11px;height:11px;border-radius:50%;background:#f5a623;box-shadow:0 0 0 3px rgba(245,166,35,.35);}
.cmd-mesas{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:10px;}
.cmd-mesa{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:96px;padding:10px 6px;border-radius:18px;border:2px solid var(--line);background:var(--panel2);color:var(--txt);font:inherit;cursor:pointer;}
.cmd-mesa b{font-size:28px;line-height:1;} .cmd-mesa.ancha{width:100%;flex-direction:row;gap:14px;min-height:60px;} .cmd-mesa.ancha b{font-size:18px;}
.cmd-mesa.ocupada{border-color:var(--brand2);background:linear-gradient(150deg,rgba(46,196,182,.30),rgba(46,196,182,.10));}
.cmd-mesa.lista{border-color:#f5a623;background:linear-gradient(150deg,rgba(255,214,107,.45),rgba(245,166,35,.2));animation:cmdlat 1.6s ease-in-out infinite;}
@keyframes cmdlat{0%,100%{box-shadow:0 0 0 0 rgba(245,166,35,.5)}50%{box-shadow:0 0 0 7px rgba(245,166,35,0)}}
.cmd-m1{font-size:14px;font-weight:800;} .cmd-m2{font-size:12px;color:var(--mut);}
.cmd-badge{font-size:11px;font-weight:800;border-radius:9px;padding:2px 7px;background:var(--chip);color:var(--txt);} .cmd-badge.ok{background:#f5a623;color:#3a2600;}
.cmd-leyenda{display:flex;gap:14px;justify-content:center;margin-top:16px;font-size:12px;color:var(--mut);} .cmd-leyenda .l{display:inline-block;width:12px;height:12px;border-radius:4px;margin-right:5px;vertical-align:-1px;border:2px solid var(--line);}
.cmd-leyenda .l.ocupada{border-color:var(--brand2);background:rgba(46,196,182,.3);} .cmd-leyenda .l.lista{border-color:#f5a623;background:rgba(245,166,35,.4);}
/* categorías */
.cmd-cats{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;}
.cmd-cat{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:118px;border-radius:20px;border:0;background:linear-gradient(150deg,var(--c),color-mix(in srgb,var(--c) 70%,#000));color:#fff;font:inherit;cursor:pointer;box-shadow:0 4px 12px rgba(0,0,0,.25);padding:10px 6px;}
.cmd-cat:active{transform:scale(.97);} .cmd-cat-ic{font-size:44px;line-height:1;filter:drop-shadow(0 2px 3px rgba(0,0,0,.3));} .cmd-cat-t{font-size:16px;font-weight:800;text-align:center;line-height:1.15;text-shadow:0 1px 2px rgba(0,0,0,.35);}
.cmd-cat-n{position:absolute;top:8px;right:8px;min-width:26px;height:26px;border-radius:13px;background:#fff;color:#111;font-weight:800;font-size:14px;display:flex;align-items:center;justify-content:center;padding:0 6px;}
/* productos */
.cmd-prods{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;}
.cmd-tile{position:relative;display:flex;flex-direction:column;border-radius:14px;border:2px solid var(--line);background:var(--panel2);overflow:hidden;cursor:pointer;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;touch-action:manipulation;}
.cmd-tile:active{transform:scale(.97);} .cmd-tile.on{border-color:var(--brand2);box-shadow:0 0 0 2px rgba(46,196,182,.4);} .cmd-tile.off{opacity:.45;}
.cmd-timg{aspect-ratio:1/1;background:var(--chip);display:flex;align-items:center;justify-content:center;} .cmd-timg img{width:100%;height:100%;object-fit:cover;pointer-events:none;} .cmd-timg .emoji{font-size:34px;}
.cmd-tn{font-size:12.5px;font-weight:700;line-height:1.2;padding:5px 6px 0;min-height:32px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;} .cmd-tp{font-size:12.5px;color:var(--mut);padding:1px 6px 6px;font-weight:700;}
.cmd-q{position:absolute;top:5px;right:5px;min-width:28px;height:28px;border-radius:14px;background:var(--brand2);color:#fff;font-weight:800;font-size:15px;display:flex;align-items:center;justify-content:center;padding:0 7px;box-shadow:0 2px 6px rgba(0,0,0,.35);z-index:2;}
.cmd-quitar{position:absolute;top:5px;left:5px;width:30px;height:30px;border-radius:15px;border:0;background:rgba(0,0,0,.6);color:#fff;font-size:20px;line-height:1;cursor:pointer;z-index:2;}
.cmd-agot{position:absolute;inset:auto 0 38px 0;text-align:center;background:var(--danger);color:#fff;font-size:11px;font-weight:800;padding:2px;}
.cmd-pista{text-align:center;font-size:11.5px;color:var(--mut);margin:12px 0;}
/* avisos y barra */
.cmd-listo{display:flex;align-items:center;gap:8px;justify-content:space-between;background:linear-gradient(135deg,rgba(255,214,107,.3),rgba(245,166,35,.16));border:1px solid #f5a623;border-radius:14px;padding:10px 12px;margin-bottom:8px;font-size:13px;}
.cmd-listo button{border:0;border-radius:10px;background:#f5a623;color:#3a2600;font-weight:800;padding:10px 12px;cursor:pointer;flex-shrink:0;font:inherit;font-weight:800;}
.cmd-barra{position:fixed;left:0;right:0;bottom:0;z-index:25;background:var(--bg2);border-top:1px solid var(--line);padding:10px 12px calc(12px + env(safe-area-inset-bottom));box-shadow:0 -8px 24px rgba(0,0,0,.3);display:grid;grid-template-columns:1.5fr 1fr;gap:10px;max-width:760px;margin:0 auto;}
.cmd-ver{display:flex;align-items:center;justify-content:space-between;gap:8px;border:0;border-radius:16px;background:var(--brand2);color:#fff;font:inherit;font-size:16px;font-weight:700;padding:15px 14px;cursor:pointer;}
.cmd-ver-n{min-width:30px;height:30px;border-radius:15px;background:#fff;color:#111;font-weight:800;display:inline-flex;align-items:center;justify-content:center;} .cmd-ver b{font-size:17px;}
.cmd-enviar{border:0;border-radius:16px;background:#e8962e;color:#fff;font:inherit;font-size:16px;font-weight:800;cursor:pointer;} .cmd-enviar.off{background:var(--chip);color:var(--mut);}
/* hojas */
.cmd-velo{position:fixed;inset:0;z-index:40;background:rgba(0,0,0,.55);display:flex;align-items:flex-end;justify-content:center;}
.cmd-hoja{width:100%;max-width:760px;background:var(--bg2);border-radius:22px 22px 0 0;padding:16px 14px calc(16px + env(safe-area-inset-bottom));animation:cmdsube .22s ease-out;} @keyframes cmdsube{from{transform:translateY(40px);opacity:.6}to{transform:none;opacity:1}}
.cmd-hoja h3{margin:0 0 10px;font-size:18px;} .cmd-hoja-h{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;}
.cmd-op{display:block;width:100%;text-align:left;border:1px solid var(--line);background:var(--panel2);color:var(--txt);border-radius:14px;padding:16px;margin-bottom:8px;font:inherit;font-size:16px;font-weight:700;cursor:pointer;} .cmd-op.sec{text-align:center;color:var(--mut);}
.cmd-lista{max-height:46vh;overflow:auto;} .cmd-lin{display:flex;align-items:center;gap:10px;padding:10px 2px;border-bottom:1px solid var(--line);font-size:15px;} .cmd-lq{font-weight:800;min-width:24px;font-size:17px;} .cmd-ln{flex:1;} .cmd-ln i{display:block;font-size:12px;color:var(--mut);font-style:normal;} .cmd-ln em{font-size:12px;color:var(--brand2);font-style:normal;font-weight:700;} .cmd-lp{font-weight:700;}
.cmd-x{border:0;background:none;color:var(--mut);font-size:18px;padding:8px;cursor:pointer;}
.cmd-tot{display:flex;justify-content:space-between;align-items:center;font-size:20px;margin:12px 2px;} .cmd-acc{display:grid;grid-template-columns:1fr 1.4fr;gap:10px;} .cmd-acc .btn{grid-column:auto;padding:16px 8px;font-size:16px;}
@media(min-width:760px){.cmd-mesas{grid-template-columns:repeat(4,1fr);} .cmd-cats{grid-template-columns:repeat(3,1fr);} .cmd-prods{grid-template-columns:repeat(4,1fr);}}
@media(prefers-reduced-motion:reduce){.cmd-mesa.lista,.cmd-hoja{animation:none;}}
.cmd-ver{white-space:nowrap;font-size:15px;padding:15px 12px;} .cmd-barra{grid-template-columns:1.7fr 1fr;}

/* ===== cocina: cada estado con su color (nueva, en preparación, lista para servir) ===== */
.kds-col.c-nueva{--e:#2f7fe8;} .kds-col.c-preparando{--e:#f08a24;} .kds-col.c-lista{--e:#1fa855;}
.kds-col.c-nueva,.kds-col.c-preparando,.kds-col.c-lista{border-color:var(--e);background:color-mix(in srgb,var(--e) 7%,var(--panel2));}
.kds-col.c-nueva .kds-col-h,.kds-col.c-preparando .kds-col-h,.kds-col.c-lista .kds-col-h{background:var(--e);color:#fff;border-radius:9px;padding:7px 10px;margin:0 0 10px;font-size:12.5px;}
.kds-col.c-nueva .kds-n,.kds-col.c-preparando .kds-n,.kds-col.c-lista .kds-n{background:#fff;color:var(--e);font-weight:800;}
.kds-card.e-nueva{border-left-color:#2f7fe8;background:color-mix(in srgb,#2f7fe8 8%,var(--panel));}
.kds-card.e-preparando{border-left-color:#f08a24;background:color-mix(in srgb,#f08a24 10%,var(--panel));}
.kds-card.e-lista{border-left-color:#1fa855;background:color-mix(in srgb,#1fa855 10%,var(--panel));}
.kds-card.e-nueva .kds-go{background:#f08a24;border-color:#f08a24;color:#fff;}
.kds-card.e-preparando .kds-go{background:#1fa855;border-color:#1fa855;color:#fff;}
.kds-card.e-lista .kds-go{background:#fff;border:2px solid #1fa855;color:#137a3c;}
.kds-card.anulada{border-left-color:#d33a3f;}

.cmd-timg{position:relative;}
.cmd-info{position:absolute;right:5px;bottom:5px;width:28px;height:28px;border-radius:14px;border:0;background:rgba(255,255,255,.92);color:#12242e;font:italic 800 16px Georgia,serif;box-shadow:0 1px 4px rgba(0,0,0,.35);cursor:pointer;z-index:2;}
.cmd-info-img{height:150px;border-radius:12px;overflow:hidden;margin-bottom:10px;background:var(--chip);display:flex;align-items:center;justify-content:center;} .cmd-info-img img{width:100%;height:100%;object-fit:cover;} .cmd-info-img .emoji{font-size:60px;}
.cmd-info-h{font-size:12px;font-weight:800;letter-spacing:.8px;text-transform:uppercase;color:var(--mut);margin-bottom:6px;}
.cmd-chips{display:flex;flex-wrap:wrap;gap:6px;} .cmd-chips span{background:var(--chip);border:1px solid var(--line);border-radius:16px;padding:7px 12px;font-size:14px;font-weight:600;}
.cmd-aviso{margin-top:12px;background:rgba(245,166,35,.16);border:1px solid #f5a623;border-radius:12px;padding:10px 12px;font-size:12.5px;line-height:1.45;}

/* ===== alérgenos ===== */
.cmd-al{font-size:12.5px;padding:2px 6px 6px;line-height:1.25;min-height:20px;} .cmd-al b{color:#e08a1e;}
.cmd-al.peligro{background:#d33a3f;color:#fff;font-weight:800;font-size:11.5px;padding:4px 6px;} .cmd-al.duda{color:#b9731a;font-weight:700;font-size:11.5px;} .cmd-al.libre{color:var(--mut);font-size:11px;}
.cmd-tile.peligro{border-color:#d33a3f;box-shadow:0 0 0 2px rgba(211,58,63,.35);} .cmd-tile.duda{border-color:#e8962e;border-style:dashed;}
.cmd-alerta{display:block;width:100%;margin:0 0 10px;padding:12px 14px;border-radius:14px;border:2px solid #d33a3f;background:#d33a3f;color:#fff;font:inherit;font-size:14px;font-weight:800;text-align:left;cursor:pointer;} .cmd-alerta span{float:right;font-weight:600;opacity:.9;text-decoration:underline;}
.cmd-alerta.suave{background:rgba(211,58,63,.08);border:1.5px dashed #d33a3f;color:#b02a2e;font-weight:700;}
.cmd-alg{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;} .cmd-algb{display:flex;flex-direction:column;align-items:center;gap:3px;padding:10px 4px;border-radius:12px;border:2px solid var(--line);background:var(--panel2);color:var(--txt);font:inherit;font-size:12.5px;font-weight:700;cursor:pointer;} .cmd-algb span{font-size:24px;} .cmd-algb.on{background:#d33a3f;border-color:#d33a3f;color:#fff;}
.cmd-chips.al span{background:#fff3e0;border-color:#f0b35a;} .cmd-chips.al span.rojo{background:#d33a3f;border-color:#d33a3f;color:#fff;}
.cmd-aviso.ok{background:rgba(31,168,85,.12);border-color:#1fa855;} .cmd-aviso.rojo{background:rgba(211,58,63,.12);border-color:#d33a3f;}
.kds-alergia{background:#d33a3f;color:#fff;font-weight:800;font-size:12.5px;border-radius:8px;padding:6px 9px;margin:6px 0;}
.al-fila{padding:10px 0;border-bottom:1px solid var(--line);} .al-n{margin-bottom:6px;font-size:14px;}
.al-chips{display:flex;flex-wrap:wrap;gap:5px;} .al-chip{display:inline-flex;align-items:center;gap:4px;padding:6px 9px;border-radius:16px;border:1px solid var(--line);background:var(--panel2);font-size:12px;cursor:pointer;color:var(--txt);} .al-chip span{font-weight:600;} .al-chip.on{background:#d33a3f;border-color:#d33a3f;color:#fff;}
.al-acc{display:flex;gap:6px;margin-top:8px;}

/* ===== carta QR: alérgenos ===== */
.qral{font-size:11.5px;margin-top:2px;color:var(--mut);line-height:1.3;} .qral b{color:#e08a1e;} .qral.peligro{color:#fff;background:#d33a3f;border-radius:6px;padding:2px 6px;font-weight:800;display:inline-block;} .qral.duda{color:#b9731a;font-weight:700;}
.qrinfo{width:26px;height:26px;border-radius:13px;border:1px solid var(--line);background:var(--panel2);color:var(--txt);font:italic 800 14px Georgia,serif;cursor:pointer;flex-shrink:0;}
.qralerta{display:block;width:100%;margin:0 0 8px;padding:9px 11px;border-radius:12px;border:2px solid #d33a3f;background:#d33a3f;color:#fff;font:inherit;font-size:12.5px;font-weight:800;text-align:left;cursor:pointer;} .qralerta span{float:right;font-weight:600;text-decoration:underline;}
.qralerta.suave{background:rgba(211,58,63,.07);border:1.5px dashed #d33a3f;color:#b02a2e;font-weight:700;}
.qralerta-r{font-size:12px;font-weight:700;color:#b02a2e;background:rgba(211,58,63,.08);border-radius:8px;padding:6px 8px;margin-top:6px;}
