:root{--blue:#174fcf;--deep:#07158c;--cyan:#4ca8ac;--green:#20cb32;--line:#153ec7;--paper:#f4f5f6;--red:#ef1b16;--shadow:0 5px 18px #001c5a33}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;font-family:Segoe UI,Arial,sans-serif;background:#247ab0;color:#0c209f}button{font:inherit;cursor:pointer;touch-action:manipulation}.topbar{height:88px;padding:8px 12px;display:flex;align-items:center;background:#287aae}.mode-tabs{display:flex;align-items:stretch;gap:34px;flex:1}.mode-tabs button{height:72px;min-width:160px;padding:7px 18px;border:3px outset #89b8ff;border-radius:8px;background:linear-gradient(#6798ff,#255dde);color:#fff;font-size:21px;text-shadow:1px 1px #173082}.mode-tabs button span{font-size:31px;margin-right:8px}.mode-tabs button.active{background:linear-gradient(#fff,#e8e8e8);color:#153ad0}.brand{width:220px;display:flex;align-items:center;justify-content:center;gap:10px;color:white}.brand-mark{display:grid;place-items:center;width:72px;height:72px;border-radius:50%;background:#fff;color:#e52222;border:7px solid #153ec7;font-size:30px;font-weight:900}.brand strong,.brand small{display:block;font-size:22px}.brand small{font-size:17px}#app{height:calc(100% - 88px);padding:0 10px 10px}.loading{height:100%;display:grid;place-items:center;color:white}.tables-view{display:grid;grid-template-columns:minmax(0,1fr) 235px;height:100%;gap:10px}.floor{display:grid;grid-template-columns:minmax(0,1fr) 126px;background:var(--paper);border:4px solid var(--line);border-radius:9px;overflow:hidden}.floor-plan{position:relative;min-width:0;background:linear-gradient(#f8f8f8,#e6e6e6)}.table-card{position:absolute;left:calc(var(--x)*.185%);top:calc(var(--y)*.17%);width:9.5%;height:10.5%;min-width:67px;min-height:60px;border:3px solid var(--line);border-radius:8px;background:var(--green);color:#1737c5;font-weight:900;box-shadow:var(--shadow)}.table-card .number{font-size:20px}.table-card small,.side-table small{display:block;font-size:11px}.table-card.open,.side-table.open{background:#ff973b}.table-card.sent,.side-table.sent{background:#ffdf24}.room-line{position:absolute;background:#080f82}.room-line.horizontal{left:0;right:0;top:51%;height:16px}.room-line.bar-line{height:14px;left:8%;right:4%;top:78%;background:#e21111;border-radius:3px}.side-tables{border-left:14px solid #080f82;padding:10px 9px;display:flex;flex-direction:column;gap:9px}.side-table{min-height:58px;border:3px solid var(--line);background:var(--green);color:#1737c5;border-radius:24px;font-weight:900;font-size:18px}.side-table:nth-child(-n+2){border-radius:6px}.home-rail{display:flex;flex-direction:column;gap:10px}.clock-panel,.cash-panel{border:3px solid #e8bd21;border-radius:9px;background:#ffff19;padding:12px;text-align:center}.clock-panel strong{display:block;font-size:53px;color:#83e69a}.clock-panel span{font-size:15px;text-transform:capitalize}.liberty-logo{flex:1;border:4px solid var(--line);border-radius:8px;background:white;display:flex;flex-direction:column;align-items:center;justify-content:center;transform:none}.liberty-logo b{font-size:40px;color:#df2029;transform:rotate(-8deg)}.liberty-logo span{font-size:43px;font-weight:900;color:#e31d28;letter-spacing:4px}.liberty-logo small{margin-top:15px;font-size:22px;color:#123ac0}.cash-panel{background:#15969a;color:white;text-align:left;display:grid;grid-template-columns:1fr auto;gap:8px}.cash-panel strong{background:white;color:#102a9c;padding:5px}.order-view{height:100%;display:grid;grid-template-columns:39% 61%;background:var(--cyan);border:3px solid var(--line)}.ticket{display:flex;flex-direction:column;min-height:0;padding:7px;border-right:3px solid var(--line)}.customer-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}.customer-row span{height:34px;background:#fff;border-radius:4px;text-align:center;padding:7px;color:#bbb}.ticket-items{flex:1;background:#f7f7f7;margin-top:7px;overflow:auto;padding:8px}.empty-ticket{height:100%;display:grid;place-items:center;color:#aaa;font-size:20px}.ticket-line{display:grid;grid-template-columns:42px 1fr auto 35px;gap:7px;align-items:center;padding:9px 0;border-bottom:1px solid #bbb;color:#15224a}.qty,.remove{height:34px;border:0;border-radius:5px;font-weight:bold}.qty{background:#dce8ff;color:#153ec7}.remove{background:#ffd8d8;color:#d00}.line-name{font-weight:700}.line-name small{display:block;color:#777}.discount-total{height:60px;display:flex;justify-content:flex-end;align-items:center;gap:9px}.discount-total button,.discount-total strong{height:46px;border:2px solid white;background:#fff;padding:10px 18px;font-size:20px}.keypad{height:282px;display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.keypad button{border:3px outset #9bd4eb;border-radius:9px;background:linear-gradient(#63b6e7,#2889c2);color:white;font-size:24px}.keypad .misc{grid-column:4;grid-row:1/2;background:linear-gradient(#544eff,#0700b6)}.keypad .kitchen{grid-column:4;grid-row:3/5;background:#eee;color:#777;font-size:17px}.catalog{display:flex;flex-direction:column;min-width:0;padding:7px}.order-toolbar{height:76px;display:grid;grid-template-columns:1fr 1fr 1.4fr 1.2fr;gap:7px}.order-toolbar button,.order-toolbar strong{border:3px outset #84abff;border-radius:7px;background:linear-gradient(#655cff,#0800b5);color:white;display:grid;place-items:center;font-size:18px}.order-toolbar strong small{display:block}.order-toolbar .finish{background:linear-gradient(#35c74b,#078415);font-weight:900}.category-grid{display:grid;grid-template-columns:repeat(5,1fr);grid-auto-rows:72px;gap:5px;margin:8px 0;max-height:300px;overflow:auto}.category{border:3px solid #273eff;background:white;color:#2339d0;border-radius:7px;padding:5px;font-size:14px;font-weight:700}.category.active{background:#a9a9a9}.product-grid{flex:1;display:grid;grid-template-columns:repeat(5,1fr);grid-auto-rows:minmax(76px,1fr);gap:5px;overflow:auto;min-height:0}.product{border:3px solid #263dff;border-radius:7px;background:white;color:#2439ce;padding:6px;display:flex;flex-direction:column;justify-content:space-between}.product span{font-weight:900;font-size:17px}.catalog-bottom{height:68px;margin-top:7px;display:grid;grid-template-columns:1fr 1fr 1.2fr 1fr;gap:8px}.catalog-bottom button,.catalog-bottom input{border:2px solid white;border-radius:5px;background:white;color:#0d248d;font-weight:800;padding:7px;min-width:0}.catalog-bottom .active{background:#b55814;color:white}.orders-list,.placeholder{height:100%;overflow:auto;background:white;border:3px solid var(--line);padding:20px}.orders-list h1,.placeholder h1{margin-top:0}.order-row{display:grid;grid-template-columns:120px 1fr 120px 120px;gap:12px;padding:14px;border-bottom:1px solid #ddd}.badge{padding:5px;background:#eee}.badge.sent{background:#ffdf24}.badge.paid{background:#b5edc0}#toast{position:fixed;left:50%;bottom:20px;transform:translate(-50%,20px);background:#111;color:white;padding:12px 20px;border-radius:8px;opacity:0;transition:.2s}#toast.show{opacity:1;transform:translate(-50%,0)}
@font-face{font-family:'SF Pro Text';src:url('/SF-Pro-Text-Regular.woff2?v=1') format('woff2');font-style:normal;font-weight:400 600;font-display:swap}
@font-face{font-family:'SF Pro Text';src:url('/SF-Pro-Text-Bold.woff2?v=1') format('woff2');font-style:normal;font-weight:700 900;font-display:swap}
@media(max-width:900px){.topbar{height:72px}.mode-tabs{gap:8px}.mode-tabs button{height:58px;min-width:110px;font-size:16px}.brand{width:150px}.brand-mark{width:52px;height:52px}.brand strong{font-size:16px}#app{height:calc(100% - 72px)}.tables-view{grid-template-columns:1fr 190px}.table-card{min-width:52px}.order-view{grid-template-columns:42% 58%}.category-grid,.product-grid{grid-template-columns:repeat(4,1fr)}}
@media(max-width:650px){html,body{overflow:auto}.brand{display:none}.mode-tabs button{min-width:0;flex:1;padding:5px}.tables-view{grid-template-columns:1fr}.home-rail{display:none}.floor{min-height:690px}.order-view{display:block;height:auto}.ticket,.catalog{min-height:680px}.category-grid,.product-grid{grid-template-columns:repeat(3,1fr)}}
.ticket-items,.catalog{min-height:0}
.topbar{background:#172235;height:82px;padding:8px 18px;border-bottom:1px solid #30415a}.mode-tabs{gap:10px}.mode-tabs button{height:64px;min-width:145px;border:1px solid #425674;border-radius:10px;background:#263850;box-shadow:none;text-shadow:none;color:#b8c7dc}.mode-tabs button.active{background:#3d6ee8;color:#fff;border-color:#6f96ff}.brand-mark{border:0;background:#3d6ee8;color:#fff;box-shadow:0 5px 16px #0003}.floor{background:#f6f8fb;border:1px solid #d6deea;border-radius:14px}.floor-plan{background:#eef2f7}.table-card{border:1px solid #fff;border-radius:12px;background:#38b878;color:#0b5134;box-shadow:0 4px 13px #15223820;transition:transform .15s,box-shadow .15s}.table-card:hover:where(:root:not(.tpv-mobile) *){transform:translateY(-2px);box-shadow:0 8px 20px #15223832}.table-card.open{background:#f5a524;color:#674300}.table-card.sent{background:#5b8def;color:#fff}.table-card .number{font-size:21px}.bar-table{left:8%!important;top:78%!important;width:75%!important;height:10%!important;background:#e5a437!important;color:#644300!important;border-radius:10px!important}.room-line{background:#71809633}.room-line.horizontal{height:10px;top:51%}.room-line.bar-line{display:none}.floor-label{color:#6b778c;font-size:12px;letter-spacing:1.5px}.terrace-label{left:4%;bottom:7%}.awning-label{left:46%;bottom:7%}.clock-panel{background:#fff;border-color:#d6deea;color:#25334a}.clock-panel strong{color:#315fd0;font-size:46px}.liberty-logo{border-color:#d6deea;box-shadow:var(--shadow)}.liberty-logo b,.liberty-logo span{color:#315fd0}.liberty-logo small{color:#718096}.last-sale-panel{background:#fff;border-color:#d6deea;color:#718096}.last-sale-panel strong{color:#25334a;background:#eef2f7}.tables-view{gap:14px}.home-rail{gap:14px}
.floor-plan{display:flex;flex-direction:column;gap:0;padding:0}.upper-zones{display:grid;grid-template-columns:2fr 1fr;flex:0 0 52%;min-height:0;border-bottom:2px solid #cbd5e1}.zone{display:flex;flex-direction:column;justify-content:space-around;padding:18px 24px}.terrace-zone{border-right:2px solid #cbd5e1}.zone-row{display:grid;gap:16px;align-items:center;justify-items:stretch}.terrace-zone .zone-row{grid-template-columns:repeat(5,1fr)}.terrace-zone .terrace-top{grid-template-columns:repeat(2,1fr);padding:0 28%}.awning-zone .zone-row{grid-template-columns:repeat(2,1fr);padding:0 8%}.table-card{position:static!important;left:auto!important;top:auto!important;width:auto!important;height:auto!important;min-width:0;min-height:62px;display:grid;place-items:center;padding:8px}.double-table{min-height:78px}.dining-zone{flex:0 0 26%;display:flex;flex-direction:column;justify-content:space-around;padding:14px 16%;border-bottom:2px solid #cbd5e1}.dining-zone .zone-row{grid-template-columns:repeat(3,1fr)}.bar-zone{flex:1;padding:12px 9%;display:flex;align-items:center}.bar-zone .bar-table{width:100%!important;height:58px!important;min-height:58px}.bar-table{background:#e5a437!important;color:#644300!important}.floor-plan .table-card small{font-size:11px}.floor-plan .room-line{display:none}
.floor{display:block}.floor-plan{width:100%;height:100%}.upper-zones{height:58%;flex:0 0 58%}.dining-zone{height:42%;flex:0 0 42%;padding:20px 14%;border-bottom:0}.table-card{width:58px!important;height:104px!important;min-height:104px!important;justify-self:center;border-radius:12px}.double-table{width:100%!important;height:72px!important;min-height:72px!important}.awning-table{width:100%!important;height:66px!important;min-height:66px!important}.awning-zone .zone-row{padding:0 15%}.dining-zone .zone-row{grid-template-columns:repeat(3,1fr);padding:0 10%}.dining-zone .zone-row:first-child{grid-template-columns:repeat(2,1fr);padding:0 25%}
.terrace-zone .terrace-top{grid-template-columns:repeat(5,1fr);padding:0}.terrace-zone .terrace-top .double-table{grid-column:span 2}.lower-zones{height:42%;display:grid;grid-template-columns:70% 30%;border-top:2px solid #cbd5e1}.dining-zone{height:100%;padding:12px 3%;border:0}.dining-grid{height:100%;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);align-items:center;justify-items:center;column-gap:18px}.dining-grid .table-card{grid-column:auto;grid-row:auto}.dining-grid .table-card:nth-child(1){grid-column:1;grid-row:1}.dining-grid .table-card:nth-child(2){grid-column:3;grid-row:1}.dining-grid .table-card:nth-child(3){grid-column:2;grid-row:2}.dining-grid .table-card:nth-child(4){grid-column:1;grid-row:3}.dining-grid .table-card:nth-child(5){grid-column:3;grid-row:3}.plan-actions{border-left:2px solid #cbd5e1;padding:18px;display:flex;flex-direction:column;justify-content:center;gap:12px}.plan-actions button{min-height:64px;border:1px solid #d5deeb;border-radius:10px;background:#fff;color:#294a9f;box-shadow:0 4px 12px #15223814;font-weight:800;font-size:18px}.plan-actions button span{margin-left:8px}.dining-grid .table-card{width:58px!important;height:104px!important}
.terrace-zone .zone-row{gap:12px}.awning-zone .zone-row{gap:12px}.ex-stack{display:flex;flex-direction:column;gap:12px;align-items:center;justify-content:center}.ex-table{width:58px!important;height:62px!important;min-height:62px!important}.awning-table{width:82px!important;height:66px!important;min-height:66px!important}.dining-grid{column-gap:12px;row-gap:8px}.dining-grid .table-card:nth-child(3){grid-column:1;grid-row:2}
#app{height:100%;padding:10px}.dining-grid .table-card:nth-child(1){grid-column:2;grid-row:1}.dining-grid .table-card:nth-child(2){grid-column:3;grid-row:1}.dining-grid .table-card:nth-child(3){grid-column:1;grid-row:2}.dining-grid .table-card:nth-child(4){grid-column:2;grid-row:3}.dining-grid .table-card:nth-child(5){grid-column:3;grid-row:3}
.dining-grid{grid-template-columns:repeat(3,70px);grid-template-rows:repeat(3,104px);column-gap:12px;row-gap:12px;justify-content:start;align-content:center;padding-left:4%}
.dining-grid{position:relative;display:block;padding:0}.dining-grid .table-card{position:absolute!important}.dining-grid .table-card:nth-child(1){left:150px!important;top:18px}.dining-grid .table-card:nth-child(2){left:270px!important;top:18px}.dining-grid .table-card:nth-child(3){left:25px!important;top:50%;transform:translateY(-50%)}.dining-grid .table-card:nth-child(4){left:150px!important;bottom:18px}.dining-grid .table-card:nth-child(5){left:270px!important;bottom:18px}.dining-grid .table-card:nth-child(3):hover:where(:root:not(.tpv-mobile) *){transform:translateY(calc(-50% - 2px))}
.dining-grid .table-card:nth-child(1){left:150px!important;top:50%;transform:translateY(-50%)}.dining-grid .table-card:nth-child(2){left:270px!important;top:18px;transform:none}.dining-grid .table-card:nth-child(3){left:25px!important;top:50%;transform:translateY(-50%)}.dining-grid .table-card:nth-child(4){left:150px!important;bottom:18px;transform:none}.dining-grid .table-card:nth-child(5){left:270px!important;top:50%;bottom:auto;transform:translateY(-50%)}.dining-grid .table-card:nth-child(1):hover:where(:root:not(.tpv-mobile) *),.dining-grid .table-card:nth-child(3):hover:where(:root:not(.tpv-mobile) *),.dining-grid .table-card:nth-child(5):hover:where(:root:not(.tpv-mobile) *){transform:translateY(calc(-50% - 2px))}
.dining-grid .table-card:nth-child(3){left:25px!important;top:calc(50% - 110px);bottom:auto;transform:none}.dining-grid .table-card:nth-child(1){left:150px!important;top:calc(50% - 110px);bottom:auto;transform:none}.dining-grid .table-card:nth-child(5){left:270px!important;top:calc(50% - 110px);bottom:auto;transform:none}.dining-grid .table-card:nth-child(4){left:150px!important;top:calc(50% + 6px);bottom:auto;transform:none}.dining-grid .table-card:nth-child(2){left:270px!important;top:calc(50% + 6px);bottom:auto;transform:none}.dining-grid .table-card:nth-child(1):hover:where(:root:not(.tpv-mobile) *),.dining-grid .table-card:nth-child(2):hover:where(:root:not(.tpv-mobile) *),.dining-grid .table-card:nth-child(3):hover:where(:root:not(.tpv-mobile) *),.dining-grid .table-card:nth-child(4):hover:where(:root:not(.tpv-mobile) *),.dining-grid .table-card:nth-child(5):hover:where(:root:not(.tpv-mobile) *){transform:translateY(-2px)}
.dining-grid .table-card:nth-child(1){left:150px!important;top:calc(50% - 110px);bottom:auto;transform:none}.dining-grid .table-card:nth-child(2){left:270px!important;top:calc(50% - 110px);bottom:auto;transform:none}.dining-grid .table-card:nth-child(3){left:25px!important;top:calc(50% + 6px);bottom:auto;transform:none}.dining-grid .table-card:nth-child(4){left:150px!important;top:calc(50% + 6px);bottom:auto;transform:none}.dining-grid .table-card:nth-child(5){left:270px!important;top:calc(50% + 6px);bottom:auto;transform:none}

/* Comedor: fila superior vacía, D, B; fila inferior E, C, A. */
.dining-grid{
  position:static;
  display:grid;
  grid-template-columns:repeat(3,58px);
  grid-template-rows:repeat(2,104px);
  gap:12px 62px;
  align-content:center;
  justify-content:start;
  padding-left:25px;
}
.dining-grid .table-card{
  position:static!important;
  left:auto!important;
  top:auto!important;
  bottom:auto!important;
  transform:none!important;
}
.dining-grid .table-card:nth-child(1){grid-column:2;grid-row:1}
.dining-grid .table-card:nth-child(2){grid-column:3;grid-row:1}
.dining-grid .table-card:nth-child(3){grid-column:1;grid-row:2}
.dining-grid .table-card:nth-child(4){grid-column:2;grid-row:2}
.dining-grid .table-card:nth-child(5){grid-column:3;grid-row:2}

/* Plano fluido: tamaños y separaciones dependen del espacio disponible. */
.upper-zones{
  height:58%;
  flex-basis:58%;
  grid-template-columns:minmax(0,2fr) minmax(0,1fr);
}
.zone{
  display:grid;
  grid-template-rows:repeat(3,minmax(0,1fr));
  gap:clamp(6px,1.2vh,14px);
  padding:clamp(8px,1.7vh,18px) clamp(10px,1.8vw,24px);
}
.zone-row,
.terrace-zone .zone-row,
.terrace-zone .terrace-top{
  width:100%;
  min-height:0;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:clamp(6px,1.1vw,14px);
  padding:0;
}
.terrace-zone .table-card{
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  aspect-ratio:auto;
}
.terrace-zone .terrace-top .double-table{
  width:100%!important;
  height:72%!important;
  min-height:0!important;
  align-self:center;
}
.terrace-zone .terrace-top .double-table:nth-child(1){grid-column:1 / span 2}
.terrace-zone .terrace-top .double-table:nth-child(2){grid-column:3 / span 2}
.awning-zone .zone-row{
  width:100%;
  min-height:0;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:clamp(8px,1.2vw,16px);
  padding:0 clamp(5px,1vw,14px);
}
.awning-zone .awning-table{
  width:100%!important;
  height:64%!important;
  min-height:0!important;
  align-self:center;
}
.lower-zones{
  height:42%;
  /* Misma proporción que terraza/toldo: el separador es una línea continua. */
  grid-template-columns:minmax(0,3fr) minmax(0,2fr);
}
.dining-zone{padding:clamp(6px,1vh,12px) clamp(10px,1.4vw,18px)}
.dining-grid{
  width:100%;
  height:100%;
  grid-template-columns:repeat(3,minmax(0,1fr));
  grid-template-rows:repeat(2,minmax(0,1fr));
  gap:clamp(6px,1.2vh,12px) clamp(10px,1.6vw,22px);
  align-content:stretch;
  align-items:center;
  justify-content:stretch;
  justify-items:center;
  padding:0;
}
.dining-grid .table-card{
  width:auto!important;
  height:82%!important;
  min-height:0!important;
  aspect-ratio:58 / 104;
}
.plan-actions{padding:clamp(10px,1.8vh,18px);gap:clamp(8px,1.5vh,12px)}
.plan-actions button{min-height:0;flex:1}

/* Una sola escala para todas las mesas; conserva la proporción al cambiar resolución. */
.floor-plan{
  --table-w:min(6.4vw,13.5vh);
  --table-h:min(11.48vw,24.2vh);
  --zone-gap:clamp(6px,1.1vw,14px);
  --half-zone-gap:clamp(3px,.55vw,7px);
}
.terrace-zone .zone-row,
.terrace-zone .terrace-top{
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:var(--zone-gap);
  justify-items:center;
  align-items:center;
}
.terrace-zone .table-card{
  width:var(--table-w)!important;
  height:var(--table-h)!important;
  min-height:0!important;
  aspect-ratio:58 / 104;
}
.terrace-zone .terrace-top .double-table{
  width:calc(50% + var(--table-w) + var(--half-zone-gap))!important;
  height:var(--table-w)!important;
  min-height:0!important;
  justify-self:center;
  align-self:center;
  aspect-ratio:auto;
}
.awning-zone .zone-row{
  grid-template-columns:repeat(2,minmax(0,1fr));
  justify-items:center;
  align-items:center;
}
.awning-zone .awning-table{
  width:var(--table-h)!important;
  height:var(--table-w)!important;
  min-height:0!important;
  aspect-ratio:104 / 58;
}
.dining-grid .table-card{
  width:var(--table-w)!important;
  height:var(--table-h)!important;
  min-height:0!important;
  aspect-ratio:58 / 104;
}

/* Más espacio para toldo y mayor respiración entre las mesas de terraza. */
.upper-zones{grid-template-columns:minmax(0,3fr) minmax(0,2fr)}
.terrace-zone{
  --terrace-w:min(5.75vw,12.1vh);
  --terrace-h:min(10.31vw,21.7vh);
  padding-inline:clamp(8px,1vw,14px);
}
.terrace-zone .table-card{
  width:var(--terrace-w)!important;
  height:var(--terrace-h)!important;
}
.terrace-zone .terrace-top .double-table{
  width:calc(50% + var(--terrace-w) + var(--half-zone-gap))!important;
  height:var(--terrace-w)!important;
}
.awning-zone{padding-inline:clamp(14px,1.8vw,26px)}
.awning-zone .zone-row{
  column-gap:clamp(14px,2vw,28px);
}

/* La terraza ocupa de límite a límite; el espacio se reparte entre mesas. */
.terrace-zone{padding-inline:clamp(3px,.45vw,7px)}
.terrace-zone .zone-row,
.terrace-zone .terrace-top{
  grid-template-columns:repeat(5,var(--terrace-w));
  column-gap:0;
  justify-content:space-between;
}
.terrace-zone .terrace-top .double-table{
  width:100%!important;
}

/* Margen exterior reducido, pero separación uniforme entre mesas. */
.terrace-zone .zone-row,
.terrace-zone .terrace-top{
  column-gap:clamp(18px,2.2vw,28px);
  justify-content:center;
}

/* Separadores uniformes en todo el plano. */
.floor-plan{--separator:2px}
.upper-zones{border-bottom:var(--separator) solid #cbd5e1}
.lower-zones{border-top:0}
.terrace-zone{border-right:var(--separator) solid #cbd5e1}
.plan-actions{border-left:var(--separator) solid #cbd5e1}

/* Un único trazado evita que los bordes de cada rejilla se descuadren. */
.upper-zones,.lower-zones{grid-template-columns:60% 40%!important}
.terrace-zone,.plan-actions{border-left:0!important;border-right:0!important}
.floor-plan::after{content:"";position:absolute;z-index:5;left:60%;top:0;bottom:0;width:var(--separator);background:#cbd5e1;pointer-events:none}

/* Estados operativos de las mesas. */
.floor-plan .table-card.free{background:#38b878;color:#0b5134}
.floor-plan .table-card.occupied{background:#dc3545;color:#fff}
.floor-plan .table-card.printed{background:#fff;color:#25334a;border-color:#cbd5e1}
.floor-plan .table-card.has-active-session{
  border:4px solid #f4c430;
  box-shadow:0 0 0 2px #fff7c2,0 5px 16px #1522382b;
}

/* Accesos de pedidos sin emojis. */
.plan-actions button{
  display:grid;
  grid-template-columns:38px minmax(0,1fr);
  align-items:center;
  gap:10px;
  padding:10px 14px;
  text-align:left;
}
.plan-actions button svg{
  width:32px;
  height:32px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.plan-actions button span{
  margin:0;
  font-size:clamp(12px,1.35vw,17px);
  line-height:1.15;
  letter-spacing:.025em;
}

.plan-actions button{
  display:grid;
  grid-template-columns:1fr;
  place-items:center;
  text-align:center;
}
.plan-actions button span{font-size:clamp(15px,1.7vw,21px)}
.order-toolbar{grid-template-columns:.8fr 1.15fr .8fr 1.35fr 1.1fr}

.liberty-logo{overflow:hidden;padding:clamp(12px,2vw,24px)}
.liberty-logo img{display:block;width:100%;height:100%;object-fit:contain}
.plan-actions button:disabled{
  cursor:not-allowed;
  background:#e5e9f0;
  border-color:#c8d0dc;
  color:#8a95a6;
  box-shadow:none;
  opacity:.78;
}
.floor-plan .table-card small.table-elapsed{
  display:block;
  margin-top:3px;
  font-size:clamp(9px,1vw,12px);
  font-weight:800;
  white-space:nowrap;
}
.floor-plan .table-card small.table-presence{
  display:block;
  max-width:100%;
  margin-top:2px;
  overflow:hidden;
  color:inherit;
  font-size:clamp(9px,.95vw,11px);
  font-weight:900;
  line-height:1;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.floor-plan .table-card.has-active-session small.table-presence{color:#6d5100}

/* TPV táctil: sin animaciones ni cambios al pasar el cursor. */
*,*::before,*::after{animation:none!important;transition:none!important}
button:hover:where(:root:not(.tpv-mobile) *),button:focus-visible{filter:none!important;transform:none!important}
.floor-plan .table-card:hover:where(:root:not(.tpv-mobile) *){transform:none!important;box-shadow:0 4px 13px #15223820!important}

/* El número siempre queda centrado; usuario y tiempo ocupan una banda inferior. */
.floor-plan .table-card{position:relative!important;display:block!important;padding:0!important}
.floor-plan .dining-grid .table-card{position:absolute!important}
.floor-plan .table-card .number{
  position:absolute;
  inset:0;
  z-index:1;
  display:grid;
  place-items:center;
  line-height:1;
  pointer-events:none;
}
.floor-plan .table-card small.table-presence,
.floor-plan .table-card small.table-elapsed{
  position:absolute;
  z-index:2;
  left:4px;
  right:4px;
  margin:0;
  text-align:center;
  pointer-events:none;
}
.floor-plan .table-card small.table-presence{
  bottom:21px;
  color:#fff!important;
  text-shadow:0 1px 2px #0009;
}
.floor-plan .table-card small.table-elapsed{bottom:6px}

/* Avisos y confirmaciones propios del TPV, sin diálogos del navegador. */
#toast{
  z-index:6000!important;
  display:none;
  min-width:260px;
  border:1px solid #8ba7db;
  border-radius:9px;
  background:#172b55;
  box-shadow:0 9px 28px #0005;
  color:#fff;
  font-weight:800;
  text-align:center;
}
#toast.show{display:block;opacity:1;transform:translate(-50%,0)}
.tpv-dialog-backdrop{
  position:fixed;
  inset:0;
  z-index:90;
  display:grid;
  place-items:center;
  padding:18px;
  background:#071633b8;
}
.tpv-dialog{
  width:min(430px,100%);
  border:3px solid #315fd0;
  border-radius:13px;
  background:#f8fafc;
  color:#172b55;
  box-shadow:0 18px 55px #0008;
  overflow:hidden;
}
.tpv-dialog h2{margin:0;padding:15px 18px;background:#172b55;color:#fff;font-size:21px}
.tpv-dialog p{margin:0;padding:22px 18px;font-size:18px;line-height:1.35}
.tpv-dialog>div{display:flex;justify-content:flex-end;gap:10px;padding:0 18px 18px}
.tpv-dialog button{min-height:48px;border:0;border-radius:8px;padding:0 18px;font-weight:900;font-size:16px}
.tpv-dialog .dialog-cancel{background:#dce5f3;color:#25334a}
.tpv-dialog .dialog-accept{background:#d83b48;color:#fff}

/* Editor de artículos y opciones de cocina. */
.line-name{border:0;background:transparent;padding:0;text-align:left;color:inherit;cursor:pointer}.line-name small{display:block;color:#64748b;font-size:10px}
.item-editor-backdrop{position:absolute;inset:0;z-index:80;display:grid;place-items:center;padding:16px;background:#071633c7}.item-editor{width:min(1040px,94%);height:min(650px,94%);display:flex;flex-direction:column;overflow:hidden;border:3px solid #315fd0;border-radius:14px;background:#eef3f9;color:#172b55;box-shadow:0 18px 55px #0008}.item-editor header{min-height:66px;padding:10px 17px;display:flex;align-items:center;justify-content:space-between;background:#172b55;color:#fff}.item-editor header small{font-weight:900;letter-spacing:.08em;font-size:10px}.item-editor h2{margin:3px 0 0;font-size:22px}.item-editor header button{width:42px;height:42px;border:0;border-radius:8px;background:#fff;color:#172b55;font-size:28px}.item-editor-body{flex:1;min-height:0;display:grid;grid-template-columns:34% 66%;gap:12px;padding:12px}.item-editor-controls{display:flex;flex-direction:column;gap:12px;padding:13px;border:1px solid #c8d5e6;border-radius:10px;background:#fff}.editor-quantity>span,.item-editor-controls label{display:block;color:#61718a;font-size:12px;font-weight:900}.editor-quantity>div{display:grid;grid-template-columns:58px 1fr 58px;gap:7px;margin-top:7px}.editor-quantity button{border:0;border-radius:8px;background:#315fd0;color:#fff;font-size:27px;font-weight:900}.editor-quantity strong{display:grid;place-items:center;border-radius:8px;background:#eef3f9;font-size:25px}.item-editor-controls input{display:block;width:100%;margin-top:6px;padding:11px;border:1px solid #b8c6d9;border-radius:7px;font:900 22px inherit;color:#1737c5}.invitation-toggle{min-height:48px;border:1px solid #b9c7d9;border-radius:8px;background:#eef3f9;color:#315fd0;font-weight:900}.invitation-toggle.active{background:#f0b429;color:#5f4600}.editor-total{margin-top:auto;padding:12px;border-radius:8px;background:#172b55;color:#fff;font-weight:900;display:flex;justify-content:space-between}.kitchen-options{min-width:0;padding:13px;border:1px solid #c8d5e6;border-radius:10px;background:#fff}.kitchen-options h3{margin:0 0 11px;font-size:13px;color:#315fd0}.kitchen-options>div{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.kitchen-options button{min-height:62px;border:1px solid #b9d7c5;border-radius:8px;background:#e6f7eb;color:#17613b;font-weight:800}.kitchen-options button.selected{background:#315fd0;border-color:#315fd0;color:#fff}.item-editor footer{display:flex;justify-content:flex-end;gap:10px;padding:12px;border-top:1px solid #cad5e4;background:#fff}.item-editor footer button{min-height:43px;border:0;border-radius:8px;padding:0 18px;background:#dde6f2;color:#31415d;font-weight:900}.item-editor footer .save-editor{background:#169957;color:#fff}

/* Panel de reservas y datos de ocupación de las mesas. */
.home-rail{gap:10px}
.clock-panel,.reservations-panel{flex:0 0 118px;min-height:118px}
.reservations-panel{border:1px solid #d6deea;border-radius:14px;background:#fff;color:#315fd0;box-shadow:var(--shadow);padding:12px;display:flex;align-items:center;justify-content:center;text-align:center}
.reservations-panel strong{font-size:clamp(18px,2vw,24px);letter-spacing:.04em}
.liberty-logo{flex:1 1 0;min-height:90px;padding:12px}
.last-sale-panel{flex:0 0 176px}
.floor-plan .table-card .table-meta{position:absolute;z-index:2;left:4px;right:4px;bottom:6px;display:flex;align-items:center;justify-content:center;gap:6px;color:inherit;pointer-events:none;font-size:10px;font-weight:900;line-height:1.05}
.floor-plan .table-card .table-meta small{position:static!important;left:auto!important;right:auto!important;bottom:auto!important;margin:0!important;color:inherit!important;text-shadow:none!important;font-size:10px!important;white-space:nowrap}
.floor-plan .table-card.has-active-session .table-meta{color:#fff!important;text-shadow:0 1px 2px #0008}
.floor-plan .vertical-table .table-meta{flex-direction:column;gap:2px;bottom:5px}
.floor-plan .horizontal-table .table-meta{flex-direction:row;gap:8px;bottom:5px}
.floor-plan .horizontal-table .table-meta .table-presence{order:1}
.floor-plan .horizontal-table .table-meta .table-elapsed{order:2}

/* El comedor mantiene una cuadrícula estable en cualquier resolución. */
.dining-grid{position:relative!important;display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;grid-template-rows:repeat(2,minmax(0,1fr))!important;gap:clamp(6px,1.2vh,12px) clamp(10px,1.6vw,22px)!important;align-content:stretch!important;justify-items:center!important;padding:0!important}
.floor-plan .dining-grid .table-card{position:relative!important;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;transform:none!important}
.dining-grid .table-card:nth-child(1){grid-column:2!important;grid-row:1!important}.dining-grid .table-card:nth-child(2){grid-column:3!important;grid-row:1!important}.dining-grid .table-card:nth-child(3){grid-column:1!important;grid-row:2!important}.dining-grid .table-card:nth-child(4){grid-column:2!important;grid-row:2!important}.dining-grid .table-card:nth-child(5){grid-column:3!important;grid-row:2!important}

/* Pantalla de artículos: teclado TPV y navegador de familias a pantalla completa. */
.discount-total{justify-content:flex-end;height:54px}
.discount-total strong{min-width:190px;text-align:center}
.keypad{
  height:292px;
  grid-template-columns:repeat(4,minmax(0,1fr));
  grid-template-rows:repeat(4,minmax(0,1fr));
  gap:6px;
}
.keypad button{min-width:0;min-height:0}
.keypad .misc{grid-column:4;grid-row:1;background:linear-gradient(#544eff,#0700b6);font-size:21px}
.number-clipboard{
  grid-column:4;
  grid-row:2;
  display:grid;
  place-items:center;
  overflow:hidden;
  border:3px solid #fff;
  border-radius:9px;
  background:#fff;
  color:#1737c5;
  font-size:30px;
  font-weight:900;
}
.keypad-empty{grid-column:4;grid-row:3}
.keypad .zero{grid-column:1 / span 2}
.keypad .clear-key{color:#d71920}
.catalog{overflow:hidden}
.catalog-browser{flex:1;min-height:0;display:flex;flex-direction:column;margin-top:8px}
.catalog-heading{
  min-height:58px;
  display:grid;
  grid-template-columns:auto 1fr;
  align-items:center;
  gap:10px;
  padding:6px;
  border:2px solid #263dff;
  border-bottom:0;
  border-radius:8px 8px 0 0;
  background:#eef3ff;
}
.catalog-heading>strong{text-align:center;font-size:21px;color:#1737c5}
.catalog-heading button{height:42px;padding:0 16px;border:0;border-radius:7px;background:#315fd0;color:#fff;font-weight:900}
.family-grid,.product-grid.full-grid{
  flex:1;
  min-height:0;
  overflow:auto;
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  grid-auto-rows:minmax(82px,1fr);
  gap:6px;
  padding:6px;
  border:2px solid #263dff;
  background:#4ca8ac;
}

/* Ticket por sesiones de envío. */
.taken-by{height:38px;flex:0 0 38px;display:flex;align-items:center;justify-content:space-between;padding:0 11px;border-radius:6px;background:#fff;color:#53617a;font-size:13px;font-weight:800}
.taken-by strong{color:#1737c5;font-size:17px}
.ticket-items{margin-top:6px}
.ticket-line{grid-template-columns:42px minmax(0,1fr) auto;gap:5px;padding:7px 0}
.line-adjust{width:32px;height:32px;padding:0;border:0;border-radius:6px;background:#dce8ff;color:#153ec7;font-size:22px;font-weight:900;line-height:1}
.line-adjust:active{background:#b9ceff}
.line-quantity{text-align:center;color:#15224a;font-weight:900}
.ticket-line{grid-template-columns:32px 32px 42px minmax(0,1fr) auto;gap:5px}.line-adjust{width:32px;height:32px;padding:0;border:0;border-radius:6px;font-size:22px;font-weight:900;line-height:1}.line-adjust.remove-only{background:#ffe0e0;color:#b51515}.line-adjust.add-only{background:#dcf5e5;color:#16803f}.line-adjust.undo-only{display:grid;place-items:center;background:#dce8ff;color:#174fcf}.line-adjust.undo-only svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}.line-adjust:disabled,.editor-quantity button:disabled{background:#e1e5eb;color:#969da8;cursor:default}.line-adjust-spacer{display:block;width:32px;height:32px}.line-quantity{min-width:42px;text-align:center}
.discount-total{justify-content:space-between;gap:7px}
.discount-total button{min-width:0;padding:7px 10px;border:2px solid #fff;border-radius:5px;background:#fff;color:#1737c5;font-size:13px;font-weight:900}
.discount-total strong{min-width:174px;padding:10px 8px;font-size:18px}
.full-order-overlay{position:absolute;inset:0;z-index:50;display:grid;place-items:center;padding:18px;background:#071633b8;color:#15224a}
.full-order-card{width:min(720px,94%);height:min(690px,94%);display:flex;flex-direction:column;overflow:hidden;border:4px solid #315fd0;border-radius:14px;background:#eef3f9;box-shadow:0 18px 55px #0007}
.full-order-head{display:flex;align-items:center;justify-content:space-between;padding:13px 16px;background:#172b55;color:#fff}
.full-order-head h2,.full-order-head p{margin:0}.full-order-head p{margin-top:4px;color:#cbd6ee;font-size:13px}.full-order-head button{width:42px;height:42px;border:0;border-radius:8px;background:#fff;color:#172b55;font-size:28px}
.history-list{flex:1;min-height:0;overflow:auto;padding:12px}
.history-block{margin-bottom:12px;overflow:hidden;border:1px solid #c5d1e3;border-radius:9px;background:#fff}
.history-block header{display:flex;justify-content:space-between;padding:9px 12px;background:#dce8ff;color:#1737c5}.history-block header span{text-transform:uppercase;font-weight:900}
.history-block>div{display:grid;grid-template-columns:50px 1fr auto;gap:10px;padding:8px 12px;border-top:1px solid #edf0f5}.history-block>div>span{font-weight:900}.history-block>div>strong{white-space:nowrap}
.history-block footer{display:flex;flex-direction:column;align-items:flex-end;gap:5px;padding:8px 12px;border-top:1px solid #dbe2ec;background:#f8fafc}.history-block footer span{display:grid;grid-template-columns:auto minmax(82px,max-content);align-items:center;justify-content:end;gap:10px;width:auto}.history-block footer span strong{text-align:right}.history-block footer span:last-child{margin-left:0;padding-top:5px;border-top:1px solid rgba(15,43,93,.14)}
.full-order-total{display:flex;justify-content:flex-end;gap:20px;padding:14px 20px;background:#172b55;color:#fff;font-size:20px;font-weight:900}

.menu-order-backdrop{z-index:85}.menu-order-dialog{width:min(930px,94vw);max-height:min(660px,92vh);display:flex;flex-direction:column;overflow:hidden;border:3px solid #315fd0;border-radius:15px;background:#f5f8fc;box-shadow:0 18px 54px #0008}.menu-order-dialog>header{display:flex;justify-content:space-between;gap:20px;padding:18px 22px;background:#193463;color:#fff}.menu-order-dialog h2,.menu-order-dialog p{margin:0}.menu-order-dialog p{margin-top:5px;color:#d4def2}.menu-order-dialog>header button{width:42px;height:42px;border:0;border-radius:8px;background:#fff;color:#193463;font-size:28px}.menu-order-slots{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:16px;overflow:auto}.menu-order-slot{display:flex;flex-direction:column;min-height:250px;border:1px solid #cbd8ea;border-radius:11px;background:#fff;overflow:hidden}.menu-order-slot header{display:flex;justify-content:space-between;align-items:center;padding:12px;border-bottom:1px solid #dce5f1;color:#294b85}.menu-order-slot header strong{font-size:18px}.menu-order-slot header small{padding:4px 7px;border-radius:6px;background:#e1ebff;color:#315fca;font-weight:900;font-size:11px}.menu-order-slot>div{padding:9px;overflow:auto}.menu-order-slot>div>button{display:block;width:100%;margin-bottom:7px;padding:11px;border:0;border-radius:7px;background:#e1e6ee;color:#64748b;text-align:left;font-weight:800}.menu-order-slot>div>button.selected{background:#14984c;color:#fff}.menu-order-slot>div>button small{float:right;font-weight:900}.menu-order-slot footer{margin-top:auto;padding:9px 12px;border-top:1px solid #e1e8f2;color:#718096;font-size:12px;font-weight:800}.menu-order-dialog>footer{display:flex;justify-content:flex-end;gap:12px;padding:14px 20px;background:#fff}.menu-order-dialog>footer button{min-height:46px;border:0;border-radius:8px;padding:0 19px;background:#df4a56;color:#fff;font-weight:900}.menu-order-dialog>footer .primary{background:#315fd0}@media(max-width:800px){.menu-order-slots{grid-template-columns:1fr 1fr}.menu-order-slot{min-height:190px}}
.menu-order-dialog{width:min(970px,94vw);height:min(650px,86vh)}.menu-order-workspace{display:grid;grid-template-columns:32% minmax(0,1fr);gap:14px;min-height:0;flex:1;padding:14px;background:#eef3f8}.menu-order-summary,.menu-order-picker{min-height:0;border:1px solid #cbd8ea;border-radius:11px;background:#f9fbfe;overflow:hidden}.menu-order-summary{display:flex;flex-direction:column}.menu-order-summary h3{margin:0;padding:14px 15px;border-bottom:1px solid #dce5f1;color:#294b85;font-size:16px}.menu-order-summary>div{overflow:auto;padding:9px}.menu-summary-choice{position:relative;display:flex;width:100%;min-height:64px;margin-bottom:8px;padding:10px 12px;border:1px solid #d6e0ec;border-radius:9px;background:#fff;color:#294b85;text-align:left;flex-direction:column;gap:3px}.menu-summary-choice small{font-size:12px;font-weight:900;color:#7285a3;text-transform:uppercase}.menu-summary-choice strong{font-size:16px}.menu-summary-choice:not(.complete) strong{color:#8a9ab1}.menu-summary-choice.complete{background:#ecf7ef;border-color:#bfe2ca}.menu-summary-choice.active{border:3px solid #315fd0;padding:8px 10px;background:#e9f0ff}.menu-summary-choice em{position:absolute;right:10px;bottom:10px;color:#315fca;font-size:12px;font-style:normal;font-weight:900}.menu-order-picker{display:flex;flex-direction:column}.menu-order-picker>header{display:flex;align-items:center;justify-content:space-between;padding:13px 15px;border-bottom:1px solid #dce5f1;background:#fff;color:#294b85}.menu-order-picker>header h3{margin:2px 0 0;font-size:22px}.menu-order-picker>header small{font-weight:900;color:#7285a3}.menu-skip{border:0;border-radius:8px;padding:9px 12px;background:#e4eaf2;color:#52657f;font-size:13px;font-weight:900}.menu-product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:minmax(86px,1fr);gap:8px;overflow:auto;padding:12px;background:#edf3f8}.menu-product-grid .product{min-width:0;border:1px solid #d8e1ec;border-radius:11px;background:#fff;color:#244b9b;box-shadow:0 3px 9px rgba(26,48,82,.06);font-weight:800}.menu-product-grid .product.selected{background:#14984c;color:#fff;border-color:#14984c}.menu-product-grid .product strong{font-size:15px;line-height:1.15}.menu-product-grid .product span{align-self:flex-end;color:inherit;font-size:13px;font-weight:900}.menu-order-dialog>footer{flex:none}@media(max-width:800px){.menu-order-workspace{grid-template-columns:36% minmax(0,1fr)}.menu-product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
.menu-summary-row{position:relative;margin-bottom:8px}.menu-summary-row .menu-summary-choice{margin-bottom:0;padding-right:42px}.menu-summary-edit{position:absolute;right:7px;top:50%;width:30px;height:30px;transform:translateY(-50%);border:0;border-radius:7px;background:#315fca;color:#fff;font-weight:900;font-size:16px}.menu-product-grid .product{display:flex!important;align-items:center!important;justify-content:center!important;text-align:center!important;font-family:inherit!important;font-weight:800!important}.menu-product-grid .product strong{display:block!important;width:100%;font:inherit!important;font-size:16px!important;line-height:1.15!important;text-align:center!important}.menu-product-grid .product span{position:absolute;right:9px;bottom:8px;font-size:12px!important}.menu-product-grid .product{position:relative!important}
.menu-product-grid{grid-template-columns:repeat(5,minmax(0,1fr))!important;grid-auto-rows:clamp(84px,12vh,104px)!important;gap:8px!important;padding:7px!important;align-content:start!important}.menu-product-grid .product{min-height:84px!important;padding:8px!important;border:1px solid #d8e1ec!important;border-radius:11px!important;box-shadow:0 3px 9px rgba(26,48,82,.06)!important}.menu-product-grid .product strong{font-size:clamp(11px,1.15vw,15px)!important;line-height:1.12!important;overflow-wrap:anywhere!important}.menu-product-grid .product.selected{background:#14984c!important;border-color:#14984c!important}
.menu-order-dialog button:hover:where(:root:not(.tpv-mobile) *),.menu-order-dialog button:active{transform:none!important;filter:none!important}.menu-summary-choice.complete.active{background:#e8f6eb!important;border:3px solid #315fd0!important;padding:8px 10px!important}.menu-summary-choice.complete.active strong{color:#294b85!important}
.menu-summary-edit,.menu-summary-edit:hover:where(:root:not(.tpv-mobile) *),.menu-summary-edit:active{transform:translateY(-50%)!important;transition:none!important}.menu-skip,.menu-order-picker>header small{display:none!important}
.menu-summary-row .menu-summary-edit,.menu-summary-row .menu-summary-edit:hover:where(:root:not(.tpv-mobile) *),.menu-summary-row .menu-summary-edit:focus,.menu-summary-row .menu-summary-edit:active{top:50%!important;bottom:auto!important;margin:0!important;transform:translateY(-50%)!important;transition:none!important;animation:none!important}
html.menu-component-editing .editor-quantity button{pointer-events:none!important;opacity:.42!important}html.menu-component-editing .editor-price output{font-size:0!important}html.menu-component-editing .editor-price output::after{content:'INCLUIDO';font-size:30px;font-weight:900;color:#1f46c9}html.menu-component-editing .invitation-toggle{font-size:0!important;pointer-events:none!important;opacity:.62!important}html.menu-component-editing .invitation-toggle::after{content:'INCLUIDO';font-size:16px;font-weight:900}
html.menu-component-editing .editor-price output.menu-price-has-surcharge{font-size:30px!important;font-weight:900;color:#1f46c9}html.menu-component-editing .editor-price output.menu-price-has-surcharge::after{content:none!important}.menu-order-picker,.menu-product-grid{background:#edf3f8!important}.menu-product-grid{flex:1!important;align-content:start!important}
.menu-summary-choice:not(.complete) strong{font-size:0!important}.menu-summary-choice:not(.complete) strong::after{content:'Seleccionar';font-size:16px!important}
.menu-order-backdrop:has(.item-editor-backdrop) .item-editor-backdrop{z-index:140!important;background:transparent!important}.item-editor-backdrop{z-index:140!important}.menu-summary-choice em{right:48px!important}.menu-order-dialog .menu-skip{display:none!important;visibility:hidden!important;pointer-events:none!important}
.family-grid .category{min-height:82px;font-size:clamp(13px,1.5vw,18px)}
.product-grid.full-grid{
  margin:0;
  max-height:none;
  grid-auto-rows:clamp(84px,12vh,104px);
  align-content:start;
}
.product-grid.full-grid .product{
  min-width:0;
  min-height:84px;
  padding:8px;
  align-items:center;
  justify-content:center;
  text-align:center;
}
.product-grid.full-grid .product strong{
  overflow-wrap:anywhere;
  font-size:clamp(12px,1.3vw,17px);
  line-height:1.15;
}
.product-grid.full-grid .product span{display:none}
.order-toolbar .undo-session{background:linear-gradient(#ff9f43,#d86c00);font-size:15px;font-weight:900;text-transform:uppercase}
.order-toolbar.ticket-toolbar{grid-template-columns:1fr 1.35fr 1.1fr}
.order-toolbar .ticket-action{background:linear-gradient(#4d83ee,#174fcf);font-size:18px;font-weight:900}
.order-toolbar .ticket-action.pay-action{background:linear-gradient(#28b96b,#128148)}
.order-toolbar .ticket-action:disabled{background:#aeb6c2!important;border-color:#c9ced6!important;color:#eef1f4!important;box-shadow:none!important;cursor:default}
.payment-view{height:100%;padding:14px;background:#2984b7;color:#172b55}
.payment-view>header{height:104px;display:flex;align-items:center;justify-content:space-between;padding:14px 22px;border:3px solid #315fd0;border-radius:13px;background:#fff}
.payment-view>header div{display:flex;align-items:baseline;gap:28px}.payment-view>header small{font-size:20px;font-weight:900}.payment-view>header strong{color:#174fcf;font-size:44px}
.payment-view>header button{min-width:130px;height:62px;border:0;border-radius:10px;background:#e5eaf2;color:#25334a;font-weight:900}
.payment-view>main{height:calc(100% - 116px);display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.75fr);gap:12px;margin-top:12px}
.payment-methods,.payment-pad{min-height:0;border:3px solid #315fd0;border-radius:13px;background:#eef3f8;padding:16px}
.payment-methods{display:flex;flex-direction:column;gap:13px}
.payment-amount-row{display:grid;grid-template-columns:130px minmax(0,1fr) 58px;gap:10px;align-items:center}.payment-amount-row>span{font-size:18px;font-weight:900}.payment-value{height:54px;border:2px solid #b5c2d5;border-radius:8px;background:#fff;color:#143c9f;text-align:right;padding:0 18px;font-size:24px;font-weight:900}.payment-clear{height:54px;border:0;border-radius:8px;background:#ffe0e0;color:#b51515;font-size:21px;font-weight:900}
.banknotes{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.banknotes button{height:74px;border:2px solid #8fa9ce;border-radius:9px;background:linear-gradient(135deg,#e9f1ff,#fff);color:#174fcf;box-shadow:0 3px 9px #1939691f}.banknotes span{display:block;font-size:28px;font-weight:950}.banknotes small{font-size:10px;font-weight:900}
.card-row{margin-top:2px}.card-pay{height:68px;border:2px solid #94a7c5;border-radius:10px;background:#fff;color:#174fcf;font-size:20px;font-weight:900}.card-pay span{display:inline-block;margin-right:12px;font-size:28px;transform:rotate(-12deg)}
.payment-balance{margin-top:auto;display:flex;align-items:center;justify-content:space-between;min-height:70px;padding:12px 18px;border-radius:10px;color:#fff}.payment-balance.missing{background:#b8202b}.payment-balance.complete{background:#15969a}.payment-balance span{font-size:21px;font-weight:900}.payment-balance strong{font-size:29px}
.payment-pad{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:58px repeat(4,1fr) 68px;gap:8px}.payment-pad output{grid-column:1/3;display:flex;align-items:center;justify-content:flex-end;padding:0 14px;border:2px solid #b5c2d5;border-radius:8px;background:#fff;color:#172b55;font-size:25px;font-weight:900}.payment-pad>button:not(.payment-accept):not(.buffer-clear){border:2px solid #8eb9dc;border-radius:9px;background:linear-gradient(#62b5e3,#2688c0);color:#fff;font-size:25px;font-weight:800}.payment-pad .buffer-clear{grid-column:3;height:auto}.payment-accept{grid-column:1/4;border:0;border-radius:10px;background:#168c4d;color:#fff;font-size:18px;font-weight:900}
@media(max-width:760px){.payment-view{padding:7px}.payment-view>header{height:82px;padding:8px 12px}.payment-view>header strong{font-size:32px}.payment-view>header small{font-size:14px}.payment-view>main{height:calc(100% - 89px);margin-top:7px;gap:7px;grid-template-columns:1.25fr .75fr}.payment-methods,.payment-pad{padding:8px}.payment-amount-row{grid-template-columns:85px 1fr 42px;gap:6px}.payment-amount-row>span{font-size:14px}.payment-value,.payment-clear{height:43px}.banknotes{gap:5px}.banknotes button{height:59px}.card-pay{height:52px}.payment-balance{min-height:54px}.payment-pad{grid-template-rows:46px repeat(4,1fr) 56px;gap:5px}}
.payment-view>header{height:110px;padding:14px 18px;background:linear-gradient(135deg,#fff 0%,#f3f7fd 100%);box-shadow:0 7px 20px #0c39752b}
.payment-view>header div{display:block}
.payment-heading{display:flex!important;align-items:center;gap:13px}.payment-heading-icon{width:54px;height:54px;display:grid;place-items:center;border-radius:16px;background:#174fcf;color:#fff;font-size:31px;font-weight:950;box-shadow:0 7px 16px #174fcf3d}.payment-heading small,.payment-total small{display:block;margin-bottom:4px;color:#6d7b91;font-size:11px!important;font-weight:900;letter-spacing:.1em}.payment-heading b{font-size:22px}.payment-total{text-align:right}.payment-total strong{display:block;font-size:40px!important;line-height:1}
.payment-back{min-width:116px!important;height:58px!important;display:flex;align-items:center;justify-content:center;gap:8px!important;border:1px solid #c7d2e2!important;background:#fff!important;color:#174fcf!important;box-shadow:0 4px 12px #122b5220}.payment-back svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.payment-view>main{height:calc(100% - 122px)}
.payment-methods{gap:9px;padding:13px 16px}.payment-methods h2{margin:0 0 7px;color:#253a62;font-size:15px;letter-spacing:.08em}.cash-method,.card-method{padding:0}.payment-method-divider{display:flex;align-items:center;gap:10px;color:#8190a6;font-size:9px;font-weight:900;letter-spacing:.12em}.payment-method-divider:before,.payment-method-divider:after{content:"";height:1px;flex:1;background:#cbd5e1}
.payment-amount-row{grid-template-columns:92px minmax(0,1fr) 50px}.payment-amount-row>span{font-size:14px;color:#516078}.payment-value,.payment-clear{height:46px}.payment-value{font-size:21px}
.banknotes{margin-top:9px;grid-template-columns:repeat(3,1fr);gap:8px}.banknotes button{position:relative;height:72px;overflow:hidden;padding:0;border:2px solid #c6d1e0;background:#fff}.banknotes button img{width:100%;height:100%;display:block;object-fit:cover}.banknotes button strong{position:absolute;right:4px;bottom:4px;padding:3px 6px;border-radius:5px;background:#102752d9;color:#fff;font-size:12px;box-shadow:0 2px 5px #0004}
.card-pay{width:100%;height:52px;margin-bottom:8px;display:flex;align-items:center;justify-content:center;gap:12px;background:linear-gradient(135deg,#174fcf,#2c73e8);color:#fff;border:0;box-shadow:0 5px 13px #174fcf38}.card-pay svg{width:38px;height:28px;fill:none;stroke:currentColor;stroke-width:2.2}.card-pay span{font-size:14px;transform:none}
.payment-balance{min-height:58px;margin-top:auto}.payment-balance span{font-size:17px}.payment-balance strong{font-size:25px}
.payment-pad{grid-template-rows:64px 50px repeat(4,1fr);gap:7px}.payment-accept{grid-row:auto;grid-column:1/4;font-size:17px;box-shadow:0 6px 15px #086a3638}.payment-pad output{grid-column:1/3}.payment-pad .buffer-clear{grid-column:3}.payment-pad>button:not(.payment-accept):not(.buffer-clear){min-height:0}
@media(max-width:760px){.payment-view>header{height:86px}.payment-heading-icon{width:42px;height:42px}.payment-heading b{font-size:17px}.payment-total strong{font-size:30px!important}.payment-back{min-width:94px!important;height:48px!important}.payment-view>main{height:calc(100% - 93px)}.payment-methods{padding:7px 9px}.banknotes button{height:57px}.card-pay{height:44px;margin-bottom:5px}.payment-balance{min-height:48px}.payment-pad{grid-template-rows:52px 42px repeat(4,1fr);gap:5px}}
.negative-line{background:#fff0f0;color:#a41111}
.negative-line .line-quantity,.negative-line>strong{color:#c21b1b}
.removed-label{display:inline-block!important;margin-right:5px;padding:2px 5px;border-radius:4px;background:#c21b1b;color:#fff!important;font-size:10px!important}
.history-block .removed-history{background:#fff0f0;color:#a41111}
.history-block.negative-block header{background:#ffdada;color:#a41111}
.history-block.negative-block footer strong{color:#c21b1b}
.history-block.modified-block{border-color:#e7c76d;background:#fffdf4}
.history-block.modified-block header{background:#ffe7a3;color:#805400}
.history-block.modified-block footer{background:#fff7d8}.history-block.modified-block footer strong{color:#9a6500}
.history-block>div b small{display:block;margin-top:3px;color:#8b7650;font-size:11px;font-weight:600;white-space:pre-line}
.session-separator{display:flex;align-items:center;gap:8px;margin:10px -2px 5px;color:#62718a;font-size:10px;font-weight:900;letter-spacing:.08em}
.session-separator:before,.session-separator:after{content:"";height:2px;flex:1;background:#aab5c5}
.negative-line{border-left:4px solid #d71920;padding-left:5px}
.negative-line .line-name{color:#b51515}
.payment-heading>div{display:flex!important;height:54px;flex-direction:column;justify-content:center}
.cash-method{display:flex;flex-direction:column;gap:9px}
.cash-method h2{display:none}
.cash-method .banknotes{order:1;margin-top:0}
.cash-method .payment-amount-row{order:2}
.payment-method-divider{display:block;min-height:1px;height:1px;margin:3px 0;background:#cbd5e1}
.payment-method-divider:before,.payment-method-divider:after,.payment-method-divider span{display:none}
.payment-methods{display:grid;grid-template-rows:auto 1px minmax(0,1fr) auto;gap:9px}
.card-method{display:flex;flex-direction:column;justify-content:center;gap:4px}
.card-pay{margin-bottom:2px}
.payment-balance{margin-top:0}
.banknotes button{height:68px}
.banknotes button img{object-fit:contain;background:#fff}
.banknotes button strong{display:none}
.payment-pad{grid-template-rows:82px 43px repeat(4,1fr);gap:6px}
.payment-accept{font-size:20px}
.payment-accept:disabled{cursor:default;opacity:.55;box-shadow:none}
@media(max-width:760px){.payment-methods{gap:6px}.banknotes button{height:53px}.payment-pad{grid-template-rows:62px 38px repeat(4,1fr);gap:4px}.payment-accept{font-size:15px}}
.payment-heading>div{height:auto;flex-direction:row;align-items:center;gap:12px;white-space:nowrap}
.payment-heading small{margin:0!important}
.payment-heading b{font-size:21px}
.payment-methods{grid-template-rows:minmax(0,1fr) 1px minmax(0,1fr) auto;gap:12px;padding:14px 18px}
.cash-method,.card-method{height:100%;justify-content:center;align-content:center}
.cash-method{gap:14px}
.banknotes{width:min(100%,760px);margin-inline:auto;gap:10px}
.banknotes button{height:auto;aspect-ratio:1.9;padding:0;border:2px solid #264d8f;border-radius:8px;background:transparent;box-shadow:0 3px 9px #1939691f}
.banknotes button img{width:100%;height:100%;object-fit:fill;border-radius:6px;background:transparent}
.cash-method .payment-amount-row,.card-method .payment-amount-row{width:min(100%,630px);margin-inline:auto}
.card-method{gap:12px}
.card-method .card-pay{width:min(100%,630px);height:60px;margin-inline:auto}
.payment-balance{min-height:58px}
@media(max-width:760px){.payment-heading>div{gap:7px}.payment-heading b{font-size:15px}.payment-methods{gap:7px;padding:9px}.cash-method{gap:8px}.banknotes{gap:5px}.card-method{gap:7px}.card-method .card-pay{height:46px}}
.payment-view>header{gap:20px;padding-inline:22px}
.payment-heading{gap:15px}
.payment-heading-icon{width:50px;height:50px;border-radius:13px;font-size:28px}
.payment-heading>div{gap:14px;align-items:center}
.payment-heading small,.payment-heading b,.payment-total small,.payment-total strong{margin:0!important;color:#203c75!important;font-size:19px!important;line-height:1!important;letter-spacing:0!important;font-weight:900!important}
.payment-total{display:flex!important;align-items:center;gap:13px;text-align:left}
.payment-methods{grid-template-rows:minmax(250px,7fr) 1px minmax(130px,3fr) 58px;gap:10px;padding:18px 20px}
.cash-method{justify-content:center;gap:13px;padding-top:4px;overflow:hidden}
.banknotes{width:min(100%,760px);gap:11px}
.banknotes button{aspect-ratio:1.91;min-height:0}
.cash-method .payment-amount-row,.card-method .payment-amount-row{width:min(100%,650px)}
.payment-amount-row>span{text-transform:uppercase;font-size:15px;font-weight:900}
.card-method{justify-content:center;gap:10px}
.card-method .card-pay{height:54px;border:2px solid #90a9cd;background:#fff;color:#174fcf;box-shadow:0 3px 9px #1939691f}
.card-pay svg{width:33px;height:25px}
@media(max-width:760px){.payment-view>header{gap:8px;padding-inline:11px}.payment-heading{gap:7px}.payment-heading-icon{width:40px;height:40px}.payment-heading>div{gap:7px}.payment-heading small,.payment-heading b,.payment-total small,.payment-total strong{font-size:13px!important}.payment-total{gap:6px}.payment-methods{grid-template-rows:minmax(180px,7fr) 1px minmax(105px,3fr) 48px;padding:10px}.banknotes{gap:6px}.card-method .card-pay{height:43px}}
.cash-method .banknotes{transform:translateY(-5px)}
.cash-method .payment-amount-row{transform:translateY(7px)}
.card-method .card-pay{border-color:#d69b00;background:linear-gradient(135deg,#ffd54a,#f7b600);color:#142b62;box-shadow:0 4px 10px #b9800038}
.card-method .card-pay svg{stroke:#142b62}
@media(max-width:760px){.cash-method .banknotes{transform:translateY(-3px)}.cash-method .payment-amount-row{transform:translateY(4px)}}
.payment-heading small{font-size:0!important}
.payment-heading small:after{content:"COBRO DE";font-size:19px;line-height:1}
@media(max-width:760px){.payment-heading small:after{font-size:13px}}
.payment-heading>div{gap:5px}
.payment-pad{grid-template-rows:82px 56px repeat(4,1fr)}
.payment-pad output{font-size:29px}
@media(max-width:760px){.payment-heading>div{gap:3px}.payment-pad{grid-template-rows:62px 48px repeat(4,1fr)}.payment-pad output{font-size:24px}}
.payment-heading b{margin-left:-22px!important}
.order-toolbar.ticket-toolbar{grid-template-columns:.8fr 1.15fr 1.05fr 1.05fr}
.order-toolbar .undo-session{background:linear-gradient(#ef6262,#bd2028);color:#fff;font-size:13px;font-weight:900}
.order-toolbar .undo-session:disabled{border-color:#c5cbd4;background:#d9dde3;color:#8c95a2;cursor:default;text-shadow:none}
@media(max-width:760px){.payment-heading b{margin-left:-13px!important}.order-toolbar .undo-session{font-size:11px}}
.ingredient-line .line-name small s{color:#a44f4f;text-decoration-color:#c51f2a;text-decoration-thickness:2px}
.reset-options{min-height:48px;border:1px solid #e0a8a8;border-radius:8px;background:#fff0f0;color:#b4212c;font-weight:900}
.order-toolbar.ticket-toolbar{grid-template-columns:.9fr .45fr 1.1fr 1.05fr}
.table-options-trigger{display:flex;flex-direction:column;align-items:center;justify-content:center;border:3px outset #8278ff;border-radius:8px;background:linear-gradient(#685fff,#1510ba);color:#fff;font-weight:900}.table-options-trigger strong{font-size:18px}.table-options-trigger small{margin-top:3px;font-size:13px}
.table-tools-backdrop{position:fixed;inset:0;z-index:90;display:grid;place-items:center;padding:18px;background:#071633c9}.table-tools-card,.table-selector-card,.price-adjust-card,.split-editor-card,.split-choice-card{width:min(780px,95vw);max-height:94vh;overflow:hidden;border:4px solid #315fd0;border-radius:16px;background:#eef3f9;color:#172b55;box-shadow:0 20px 60px #0008}.table-tools-card>header,.table-selector-card>header,.price-adjust-card>header,.split-editor-card>header,.split-choice-card>header{display:flex;align-items:center;justify-content:space-between;padding:15px 18px;background:#172b55;color:#fff}.table-tools-card header small,.table-selector-card header small,.price-adjust-card header small,.split-editor-card header small,.split-choice-card header small{font-weight:900;letter-spacing:.12em}.table-tools-card h2,.table-selector-card h2,.price-adjust-card h2,.split-editor-card h2,.split-choice-card h2{margin:3px 0 0}.table-tools-card header button,.table-selector-card header button,.price-adjust-card header button,.split-editor-card header button,.split-choice-card header button{width:43px;height:43px;border:0;border-radius:8px;background:#fff;color:#172b55;font-size:28px}.table-tools-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px;padding:18px}.table-tools-grid button{min-height:125px;border:2px solid #c4d0e1;border-radius:12px;background:#fff;color:#174fcf;text-align:left;padding:18px;box-shadow:0 5px 14px #163a6d1a}.table-tools-grid strong,.table-tools-grid small{display:block}.table-tools-grid strong{font-size:20px}.table-tools-grid small{margin-top:8px;color:#65738b;font-size:13px}
.selector-grid{max-height:65vh;overflow:auto;display:grid;grid-template-columns:repeat(6,1fr);gap:10px;padding:16px}.selector-table{min-height:82px;border:3px solid #1a9d5b;border-radius:10px;background:#39bb7b;color:#073f2a}.selector-table.occupied{border-color:#c51f2a;background:#e63343;color:#fff}.selector-table.selected{outline:3px solid #884ee8;outline-offset:0}.selector-table:disabled{opacity:.35}.selector-table strong,.selector-table small{display:block}.selector-table strong{font-size:22px}.selector-table small{margin-top:5px}.table-selector-card>footer,.split-editor-card>footer{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:12px 16px;border-top:1px solid #ccd6e4}.table-selector-card footer button,.price-actions button,.split-editor-card footer button{min-height:48px;padding:0 18px;border:0;border-radius:8px;background:#dfe5ee;color:#23354f;font-weight:900}.primary{background:#174fcf!important;color:#fff!important}
.selector-table.existing-group{outline:3px solid #884ee8;outline-offset:0}
.price-adjust-card{width:min(440px,94vw)}.price-adjust-card>output{display:block;margin:18px;padding:15px;border:3px solid #b9c8dd;border-radius:10px;background:#fff;color:#174fcf;text-align:right;font-size:36px;font-weight:900}.price-keypad{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:0 18px}.price-keypad button{height:62px;border:2px solid #8eb9dc;border-radius:9px;background:linear-gradient(#62b5e3,#2688c0);color:#fff;font-size:24px;font-weight:900}.price-actions{display:grid;grid-template-columns:1fr 54px 1fr;gap:8px;padding:18px}
.split-editor-card{width:min(900px,96vw)}.split-columns{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:14px}.split-columns>section{height:55vh;overflow:auto;border:2px solid #c4d0e1;border-radius:10px;background:#fff}.split-columns h3{position:sticky;top:0;margin:0;padding:12px;background:#dce8ff;color:#174fcf}.split-columns button{width:100%;display:grid;grid-template-columns:45px 1fr auto;gap:8px;padding:11px;border:0;border-top:1px solid #e2e7ee;background:#fff;text-align:left}.split-empty{padding:20px;text-align:center;color:#7a8799}.split-editor-card footer{justify-content:space-between}.split-choice-card{width:min(590px,94vw)}.split-choice-card>div{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:18px}.split-choice-card>div button{min-height:130px;border:3px solid #c4d0e1;border-radius:12px;background:#fff;color:#65738b}.split-choice-card>div button.active{border-color:#c51f2a;background:#e63343;color:#fff}.split-choice-card>div button:disabled{opacity:1;cursor:default}.split-choice-card strong,.split-choice-card span,.split-choice-card small{display:block}.split-choice-card strong{font-size:25px}.split-choice-card span{margin:7px;font-size:20px}.joined-table{outline:5px solid #8a46d9!important;outline-offset:2px}.split-table{position:relative;padding:0!important;overflow:hidden}.split-visual{position:absolute;inset:4px;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:3px;z-index:1}.split-visual i{display:flex;align-items:center;justify-content:center;border:2px solid #1a9d5b;border-radius:4px;background:#39bb7b;font-style:normal}.split-visual i.occupied{border-color:#c51f2a;background:#e63343;color:#fff}.split-visual b{font-size:13px;line-height:1;font-style:normal}.split-table .table-meta{z-index:3}.table-card.split-table{background:#fff}.consolidated-block .embedded-modified{background:#fff8dc;border-left:5px solid #e2ad16}.consolidated-block b em{display:inline-block;margin-left:8px;padding:2px 5px;border-radius:4px;background:#ffe7a3;color:#805400;font-size:9px;font-style:normal}.consolidated-block .removed-history b em{background:#ffdada;color:#a41111}
.consolidated-block header{gap:8px;align-items:center}.consolidated-block header>span{margin-left:auto}.consolidated-block header button{min-height:30px;padding:0 9px;border:0;border-radius:6px;background:#fff;color:#174fcf;font-size:10px;font-weight:900}.consolidated-block.transferred-block{filter:saturate(.5)}.consolidated-block.transferred-block header{background:#e1e5eb;color:#566172}.transfer-origin{font-size:9px;font-style:normal;font-weight:900}
.order-toolbar .undo-session{font-size:32px;line-height:1}
.order-toolbar .undo-session:disabled{font-size:32px}
@media(max-width:760px){.order-toolbar .undo-session,.order-toolbar .undo-session:disabled{font-size:27px}}
.order-toolbar .undo-session svg{width:30px;height:30px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.history-block>div b .history-price-change{margin-top:4px;color:#a56b00;font-weight:900}
.history-block>div b .history-options s{color:#a44f4f;text-decoration-color:#c51f2a;text-decoration-thickness:2px}
.negative-line .line-quantity small{display:block;color:#d71920;font-size:11px}
.line-quantity .quantity-delta{display:block;font-size:13px;font-weight:900}
.ticket-line .locked-line{display:block;padding:0 2px;color:inherit;font-weight:700;cursor:default}.ticket-line .locked-line small{display:block;color:#8491a5;line-height:1.25;white-space:pre-line}
.line-adjust-spacer{width:32px;height:32px}
.previous-line .remove-only{background:#ffe0e0;color:#b51515}
.floor-label{position:absolute;z-index:2;color:#1737c5;font-weight:900;letter-spacing:2px}.terrace-label{left:4%;bottom:7%;font-size:22px}.awning-label{left:46%;bottom:7%;font-size:22px}.last-sale-panel{border:3px solid #e8bd21;border-radius:9px;background:#15969a;color:#fff;padding:12px;display:grid;grid-template-columns:1fr auto;gap:7px;align-items:center}.last-sale-panel span{font-size:13px}.last-sale-panel strong{background:#fff;color:#102a9c;padding:6px;min-width:72px;text-align:right}.channel-view,.delivery-view{height:100%;background:#eaf0f5;border:3px solid var(--line);border-radius:9px;padding:18px;color:#14266e}.channel-head{display:flex;align-items:center;justify-content:space-between;border-bottom:2px solid #c6d0df;padding-bottom:14px}.channel-head h1{margin:0 0 5px;font-size:28px}.channel-head p{margin:0;color:#65738b}.new-channel{border:3px outset #8db6ff;border-radius:8px;background:linear-gradient(#6798ff,#255dde);color:#fff;padding:14px 22px;font-weight:800;font-size:18px}.channel-layout{display:grid;grid-template-columns:1.4fr 1fr;gap:16px;margin-top:16px}.channel-plan,.pending-card,.delivery-map,.delivery-form{background:#fff;border:2px solid #b7c4d5;border-radius:12px;box-shadow:var(--shadow);padding:18px}.channel-plan{min-height:430px;position:relative}.channel-plan>.floor-label{position:static;font-size:22px}.channel-slots{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:28px}.channel-slots button{min-height:105px;border:3px solid var(--line);border-radius:10px;background:#20cb32;color:#1737c5;font-weight:900}.channel-slots small{display:block;color:#3c5470;margin-top:8px}.pending-card h2{margin-top:0}.delivery-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:16px;margin-top:16px}.delivery-map{min-height:460px;background:linear-gradient(135deg,#dcecff,#fff);display:grid;place-items:center;text-align:center;color:#2647c5;font-size:34px;font-weight:900}.delivery-map p{font-size:17px;color:#65738b;font-weight:500}.delivery-form{display:flex;flex-direction:column;gap:14px}.delivery-form label{font-weight:800}.delivery-form input,.delivery-form textarea{display:block;width:100%;margin-top:6px;padding:12px;border:1px solid #bec9d7;border-radius:7px;font:inherit}.delivery-form textarea{height:100px;resize:none}
.joined-table{position:relative;outline:3px solid #8a46d9!important;outline-offset:0;z-index:3}
.joined-table.group-connect-right:after{content:"";position:absolute;z-index:-1;left:calc(100% + 2px);top:-5px;width:28px;height:calc(100% + 10px);border-top:3px solid #8a46d9;border-bottom:3px solid #8a46d9}
.joined-table.group-connect-down:before{content:"";position:absolute;z-index:-1;left:-5px;top:calc(100% + 2px);width:calc(100% + 10px);height:28px;border-left:3px solid #8a46d9;border-right:3px solid #8a46d9}
.plan-selector{width:min(810px,96vw)}
.mini-floor{height:min(62vh,520px);display:grid;grid-template-rows:58% 42%;margin:14px;border:2px solid #cbd5e1;border-radius:12px;overflow:hidden;background:#eef2f7}
.mini-upper{display:grid;grid-template-columns:68% 32%;border-bottom:2px solid #cbd5e1}
.mini-upper>section,.mini-lower>section{display:flex;flex-direction:column;justify-content:space-around;padding:12px}
.mini-upper>section:first-child{border-right:2px solid #cbd5e1}
.mini-lower{display:grid;grid-template-columns:68% 32%}
.mini-lower>section{border-right:2px solid #cbd5e1}
.mini-row{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;align-items:center;justify-items:center;gap:11px}
.mini-row .selector-table{width:100%;min-width:0;min-height:62px}
.mini-upper>section:first-child .mini-row:first-child{grid-template-columns:2fr 2fr 1fr}
.mini-lower>section .mini-row:first-child{padding:0 17%}
.mini-lower>section .mini-row:last-child{padding:0 5%}
.split-target-tabs{display:flex;gap:7px;margin-left:auto}
.split-target-tabs button{min-width:52px}.split-target-tabs button.active{background:#174fcf;color:#fff}
.price-actions .remove-price-adjust{background:#c92b38;color:#fff}.price-actions .remove-price-adjust:disabled{background:#cbd2dc;color:#7d8795;cursor:default}
.joined-table{outline:none!important}
.group-component-hidden{visibility:hidden!important}
.group-outline{position:absolute;z-index:2;pointer-events:none;border:3px solid #8a46d9;border-radius:14px}
.group-merged-card{position:absolute;z-index:4;border:3px solid #8a46d9;border-radius:15px;background:#e63343;color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;font-weight:900;box-shadow:0 3px 8px #172b5530}
.group-merged-card.printed{background:#fff;color:#23354f}.group-merged-card strong{font-size:22px}.group-merged-card small{margin-top:5px;font-size:12px}
.mini-upper>section:first-child .mini-row{grid-template-columns:repeat(5,1fr)!important;padding:0!important}
.mini-upper>section:first-child .mini-row:first-child .selector-table{grid-column:span 2;width:100%}
.mini-upper>section:first-child .mini-row:first-child{padding-inline:5%!important}
.mini-upper>section:last-child .mini-row{grid-template-columns:repeat(2,1fr);padding-inline:8%}
.mini-row .mini-vertical{width:54%!important;height:76px;min-height:76px}.mini-row .mini-horizontal{width:100%!important;height:50px;min-height:50px}.mini-row .mini-double{height:50px;min-height:50px}
.mini-dining{height:100%;display:grid;grid-template-columns:repeat(3,58px);grid-template-rows:repeat(2,76px);gap:10px 48px;align-content:center;justify-content:center}
.mini-dining .selector-table{width:58px!important;height:76px;min-height:76px}.mini-dining .selector-table:nth-child(1){grid-column:2;grid-row:1}.mini-dining .selector-table:nth-child(2){grid-column:3;grid-row:1}.mini-dining .selector-table:nth-child(3){grid-column:1;grid-row:2}.mini-dining .selector-table:nth-child(4){grid-column:2;grid-row:2}.mini-dining .selector-table:nth-child(5){grid-column:3;grid-row:2}
.table-options-trigger{border:0!important;background:transparent!important;box-shadow:none!important;text-shadow:none!important}.table-options-trigger strong,.table-options-trigger small{border:0!important;background:none!important;box-shadow:none!important;text-shadow:none!important;color:#fff!important;width:auto!important;height:auto!important}.table-options-trigger strong{font-size:21px!important}.table-options-trigger small{font-size:15px!important}
.table-options-trigger{border:3px outset #8278ff!important;border-radius:8px!important;background:linear-gradient(#685fff,#1510ba)!important;box-shadow:0 2px 5px rgba(0,0,0,.22)!important}
.moved-history-block{filter:grayscale(1);opacity:.68;background:#e3e7ed!important}
.moved-history-block header{background:#707986!important}
.transfer-notice header strong{font-size:14px}.transfer-notice.reverted{opacity:.72}
.split-target-tabs button{min-width:92px;padding-inline:9px!important}
.consolidated-block>header{display:flex;align-items:center;gap:10px}.consolidated-block>header>strong{flex:1}.consolidated-block>header>button{margin-left:auto}
.table-tools-grid button:disabled{background:#d8dee7!important;color:#8a94a3!important;border-color:#c8ced7!important;box-shadow:none!important;cursor:default}.table-tools-grid button:disabled small{color:#9aa3af!important}
.table-tools-grid .table-tool-void{grid-column:1 / -1;min-height:96px;background:#cf2938;border-color:#a91d2a;color:#fff;text-align:center}.table-tools-grid .table-tool-void small{color:#fff}.table-tools-grid .table-tool-void:disabled{background:#d8dee7!important;color:#8a94a3!important;border-color:#c8ced7!important}.table-tools-grid .table-tool-void:disabled small{color:#9aa3af!important}
.mini-floor{position:relative!important}
.mini-group-hidden{visibility:hidden!important}.mini-group-member{outline:none!important}.mini-group-outline{position:absolute;z-index:5;pointer-events:none;border:3px solid #884ee8;border-radius:12px}.mini-group-merged{position:absolute;z-index:7;border:3px solid #884ee8;border-radius:12px;background:#e63343;color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 3px 8px #172b5530;font-weight:900}.mini-group-merged strong{font-size:20px}
@keyframes join-selection-blink{0%,44%,100%{opacity:1}50%,94%{opacity:.12}}
.table-card{border:0!important;box-shadow:0 3px 8px #172b5530!important;transition:none!important}.table-card:hover:where(:root:not(.tpv-mobile) *){transform:none!important;box-shadow:0 3px 8px #172b5530!important}.group-merged-card,.mini-group-merged{box-shadow:0 3px 8px #172b5530!important}.table-card.group-single-outline{outline:none!important;box-shadow:0 3px 8px #172b5530!important}
.transfer-destination{margin-left:auto;padding:0;background:none;border:0;border-radius:0;color:inherit;font-size:inherit;line-height:inherit;font-style:normal;font-weight:900;white-space:nowrap}
.consolidated-block b em{margin-left:10px!important;padding:3px 7px!important;border-radius:5px!important;font-size:.82em!important;line-height:1.15!important;font-weight:800!important;vertical-align:middle}
.floor-plan button.table-card{-webkit-appearance:none!important;appearance:none!important;border:3px solid #245fda!important;background-image:none!important;background-clip:border-box!important;text-shadow:none!important}.floor-plan .table-card.group-single-outline{overflow:hidden!important;border:3px solid #884ee8!important;outline:none!important;box-shadow:0 3px 8px #172b5530!important}.floor-plan .table-card.group-single-outline.occupied{background:#e63343!important}
.mini-floor .selector-table{-webkit-appearance:none!important;appearance:none!important;border-width:3px!important;border-style:solid!important;border-color:#245fda;box-shadow:0 3px 8px #172b5530!important;background-image:none!important;background-clip:border-box!important;outline:none!important;transform:none!important}
.mini-floor .selector-table:focus,.mini-floor .selector-table:focus-visible,.mini-floor .selector-table:active{outline:none!important;box-shadow:0 3px 8px #172b5530!important;transform:none!important}
.mini-floor .selector-table.mini-group-member:not(.mini-group-pending){border-color:#884ee8}
.banknotes button{border:2px solid #111!important;box-shadow:0 3px 9px #0005!important}

/* Estados de las comandas divididas: libre, ocupada y con ticket impreso. */
.split-choice-card>div button.free{border-color:#179b59;background:#39bb7b;color:#063e2a}
.split-choice-card>div button.occupied{border-color:#c51f2a;background:#e63343;color:#fff}
.split-choice-card>div button.printed{border-color:#aebbd0;background:#fff;color:#253451}
.split-visual i.free{border-color:#179b59;background:#39bb7b}
.split-visual i.occupied{border-color:#c51f2a;background:#e63343}
.split-visual i.printed{border-color:#aebbd0;background:#fff}
.split-visual>b{position:absolute;left:50%;top:50%;z-index:2;min-width:42%;max-width:82%;padding:4px 7px;transform:translate(-50%,-50%);border:2px solid #66758c;border-radius:2px;background:#fff;color:#17243d;font-size:13px;line-height:1.05;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.group-merged-card.split-group-card{background:#fff;color:#17243d}
.group-merged-card.split-group-card>.table-elapsed{position:absolute;left:50%;bottom:5px;z-index:3;transform:translateX(-50%);color:#fff;text-shadow:0 1px 2px #0009}
.floor-plan .group-merged-card.has-active-session{
  border-color:#f4c430!important;
  box-shadow:0 0 0 2px #fff7c2,0 3px 8px #172b5530!important;
}
.floor-plan .group-merged-card .table-presence{
  display:block;
  margin-top:4px;
  color:#fff;
  font-size:11px;
  font-weight:900;
  line-height:1;
  text-shadow:0 1px 2px #0008;
}
.floor-plan .group-merged-card.printed .table-presence{color:#25334a;text-shadow:none}

/* Consulta rápida de tickets pendientes y cuentas cobradas. */
.last-sale-panel{padding:9px 11px!important;gap:5px 7px!important;align-content:center}
.quick-history-trigger{grid-column:1/-1;width:100%;height:32px;border:0;border-radius:6px;background:#fff;color:#143b91;font-size:13px;font-weight:900;letter-spacing:.4px;margin-bottom:10px}
.quick-history-backdrop{position:fixed;inset:0;z-index:1200;display:grid;place-items:center;padding:22px;background:#10224dcc}
.quick-history-card{width:min(920px,94vw);height:min(650px,91vh);display:flex;flex-direction:column;overflow:hidden;border:4px solid #2861d6;border-radius:15px;background:#edf3fa;color:#16284b;box-shadow:0 15px 40px #07163166}
.quick-history-card>header{height:82px;flex:none;display:flex;align-items:center;justify-content:space-between;padding:13px 18px;background:#1d376b;color:#fff}
.quick-history-card>header small{display:block;font-size:12px;font-weight:900;letter-spacing:1.5px}.quick-history-card>header h2{margin:3px 0 0;font-size:24px}.quick-history-card>header>button{width:52px;height:52px;border:0;border-radius:9px;background:#fff;color:#172e5a;font-size:30px;font-weight:800}
.quick-history-columns{min-height:0;flex:1;display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:14px}.quick-history-columns>section{min-height:0;display:flex;flex-direction:column;overflow:hidden;border:1px solid #c4d2e6;border-radius:11px;background:#fff}.quick-history-columns h3{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0;padding:12px 14px;background:#dce8fa;color:#173d91;font-size:15px}.quick-history-columns h3 b{min-width:29px;padding:5px;border-radius:15px;background:#255fda;color:#fff;text-align:center}.quick-history-help{margin:0;padding:8px 14px;color:#69778d;font-size:12px}.quick-history-list{min-height:0;overflow:auto;padding:0 10px 10px}.quick-history-row{width:100%;display:grid;grid-template-columns:minmax(0,1fr) 55px 80px;align-items:center;gap:8px;margin-top:7px;padding:11px 10px;border:2px solid #cbd7e7;border-radius:8px;background:#f8fafc;color:#193260;text-align:left;font-size:14px}.quick-history-row.pending{border-color:#e0aa17;background:#fff8dd}.quick-history-row strong,.quick-history-row time,.quick-history-row b{font-size:14px}.quick-history-row strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.quick-history-row time{color:#193260}.quick-history-row b{text-align:right}.quick-history-empty{margin:auto;padding:25px;color:#758399;text-align:center}
.quick-history-detail-actions{display:flex;justify-content:space-between;gap:10px;padding:10px 14px}.quick-history-back,.quick-history-reprint{min-height:43px;padding:9px 16px;border:0;border-radius:8px;font-weight:900}.quick-history-back{background:#dce6f4;color:#173b84}.quick-history-reprint{background:#179550;color:#fff}.quick-history-detail-body{min-height:0;flex:1;display:grid;grid-template-columns:1.15fr .85fr;gap:13px;padding:0 14px 14px}.quick-history-detail-body>section{min-height:0;overflow:auto;border:1px solid #c8d4e5;border-radius:10px;background:#fff}.quick-history-detail-body h3{position:sticky;top:0;margin:0;padding:12px 14px;background:#dce8fa;color:#173d91;font-size:16px}.quick-history-item{display:grid;grid-template-columns:42px 1fr auto;gap:8px;padding:10px 13px;border-bottom:1px solid #e0e6ef;align-items:start}.quick-history-item span{font-weight:800}.quick-history-item small{display:block;margin-top:3px;color:#738096;font-weight:500}.quick-history-command footer,.quick-history-payment footer{display:flex;justify-content:space-between;padding:13px 14px;background:#1c376d;color:#fff;font-size:19px;font-weight:900}.quick-history-payment{display:flex;flex-direction:column}.quick-history-payment footer{margin-top:auto;flex:none}.quick-history-payment dl{margin:0;padding:8px 14px}.quick-history-payment dl>div{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid #e1e7ef}.quick-history-payment dt{color:#6b788c}.quick-history-payment dd{margin:0;font-weight:900;text-align:right}
@media(max-width:760px){.quick-history-columns,.quick-history-detail-body{grid-template-columns:1fr}.quick-history-card{height:94vh}.quick-history-row{grid-template-columns:minmax(0,1fr) 55px 80px}}

/* El estado pertenece a las cuatro mini-mesas, nunca al marco exterior. */
.floor-plan button.table-card.split-table,
.floor-plan button.table-card.split-table.free,
.floor-plan button.table-card.split-table.occupied,
.floor-plan button.table-card.split-table.printed,
.floor-plan button.table-card.split-table.group-single-outline,
.group-merged-card.split-group-card{background:#fff!important;background-image:none!important}

/* La presencia sustituye el contorno normal: azul/morado -> amarillo. */
.floor-plan button.table-card.has-active-session,
.floor-plan button.table-card.group-single-outline.has-active-session,
.floor-plan .group-merged-card.has-active-session{
  border-color:#f4c430!important;
  box-shadow:0 3px 8px #172b5530!important;
}


/* Pantallas de domicilio, llevar y recoger */
.channel-screen{height:100%;min-height:0;background:#eaf1f9;display:flex;flex-direction:column;color:#172747;overflow:hidden}.channel-top{min-height:96px;background:#1b376c;color:#fff;display:grid;grid-template-columns:190px 1fr 270px;align-items:center;gap:18px;padding:14px 18px}.channel-top>button{height:62px;border:0;border-radius:12px;font-weight:900;font-size:18px}.channel-top>button:first-child{background:#fff;color:#1c438d}.channel-top .channel-create{background:#2f6cdf;color:#fff}.channel-top small{display:block;letter-spacing:.14em;font-weight:800;opacity:.78}.channel-top h1{margin:4px 0 0;font-size:28px}.channel-columns{flex:1;min-height:0;display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:14px}.channel-columns>section{min-height:0;background:#fff;border:2px solid #c6d4e6;border-radius:14px;display:flex;flex-direction:column;overflow:hidden}.channel-columns h2{margin:0;padding:16px 18px;background:#dbe8fb;color:#173d85;font-size:20px}.channel-card-list,.delivery-history-list{padding:12px;overflow:auto;display:grid;gap:10px;align-content:start}.delivery-history-list{flex:1;grid-template-columns:repeat(2,minmax(0,1fr));padding:18px}.channel-order-card{display:grid;grid-template-columns:1fr auto;border:2px solid #c8d5e7;border-radius:12px;overflow:hidden;background:#fff}.channel-card-main{border:0;background:#fff;padding:14px;display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:center;text-align:left;color:#162746}.channel-card-main strong,.channel-card-main span,.channel-card-main b{font-size:16px}.channel-card-main small{grid-column:1/-1;color:#687895}.channel-order-card.pending{border-left:7px solid #e63143}.channel-order-card.completed{border-left:7px solid #2870dc}.channel-card-edit{border:0;border-left:1px solid #cad6e7;background:#ffcf42;color:#17386e;font-weight:900;padding:0 14px}.channel-empty{color:#75849b;text-align:center;margin:40px 10px}.delivery-home .channel-top{grid-template-columns:190px 1fr 190px}.delivery-choice{flex:1;display:grid;grid-template-columns:1fr 1fr;gap:28px;padding:60px}.delivery-choice button{border:3px solid #2f6cdf;border-radius:22px;background:#fff;color:#153b84;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;box-shadow:0 12px 24px #17396a18}.delivery-choice strong{font-size:27px}.delivery-choice span{font-size:16px;color:#62728c}.takeaway-plan{flex:1;min-height:0;padding:22px;display:grid;grid-template-columns:1.2fr .8fr;gap:18px}.takeaway-dining,.takeaway-numbered{border:2px solid #c6d4e6;border-radius:16px;background:#fff;padding:24px;display:flex;flex-direction:column;justify-content:center;gap:24px}.takeaway-dining>div{display:flex;gap:28px;justify-content:center}.takeaway-dining>div:last-child{justify-content:flex-start}.takeaway-numbered{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.takeaway-slot{min-height:110px;border:3px solid #1d56a7;border-radius:14px;background:#38b979;color:#063f32;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px}.takeaway-slot strong{font-size:25px}.takeaway-slot small{font-weight:800}.takeaway-slot.occupied{background:#ea3446;color:#fff;border-color:#b71d2e}.channel-order-toolbar .channel-toolbar-location,.channel-toolbar-spacer{height:100%;border-radius:8px;background:#2448a2;color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;min-width:0}.channel-toolbar-spacer{grid-column:1/4}.channel-toolbar-location strong,.channel-toolbar-spacer strong{font-size:18px}.channel-toolbar-location small,.channel-toolbar-spacer small{font-size:12px;font-weight:800;margin-top:4px}.channel-only-finish{grid-column:4}.channel-payment-dialog{max-width:560px}.channel-payment-options{display:grid!important;grid-template-columns:1fr 1fr;gap:14px;margin:22px 0}.channel-payment-options button{height:90px;border:0;border-radius:12px;background:#239354;color:#fff;font-size:23px;font-weight:900}.channel-payment-options button+button{background:#ffca35;color:#183870}.channel-prompt-back{width:100%;height:52px;border:0;border-radius:9px;background:#e2e8f1;color:#274168;font-weight:900}.channel-info-dialog{max-width:560px}.channel-info-dialog label{display:grid;gap:5px;text-align:left;font-weight:900;color:#293c5d;margin:11px 0}.channel-info-dialog input{height:52px;border:2px solid #b9c8dd;border-radius:9px;padding:0 12px;font-size:19px}.quick-history-card{z-index:2}

.payment-cancel{color:#bd2734!important;border-color:#e7b0b7!important}
.channel-toolbar-spacer,.channel-order-toolbar .channel-toolbar-location{background:transparent!important;border:0!important;box-shadow:none!important}
.channel-toolbar-spacer strong{font-size:28px!important;letter-spacing:.03em}.channel-toolbar-spacer small{display:none}
.takeaway-numbered{grid-template-columns:repeat(2,1fr)}

.channel-toolbar-location{cursor:pointer;color:inherit;font:inherit;text-align:center;padding:0 12px}.channel-toolbar-location small{display:block;color:#fff;font-size:13px;margin-top:4px}.channel-card-actions{display:flex;gap:8px;margin-top:8px}.channel-card-cancel{border:0;border-radius:8px;padding:7px 10px;background:#d64550;color:#fff;font-weight:800}.channel-order-card.cancelled{border-left-color:#d64550;background:#fff0f1}.channel-order-card.cancelled *{color:#b52834!important}.channel-card-pickup{font-size:12px!important;color:#526889!important;margin-left:auto;padding-right:8px}.takeaway-numbered{grid-template-columns:repeat(4,1fr)!important}

.channel-toolbar-location{cursor:pointer;color:inherit;font:inherit;text-align:center;padding:0 12px}.channel-toolbar-location small{display:block;color:#fff;font-size:13px;margin-top:4px}.channel-card-actions{display:flex;gap:8px;margin-top:8px}.channel-card-cancel{border:0;border-radius:8px;padding:7px 10px;background:#d64550;color:#fff;font-weight:800}.channel-order-card.cancelled{border-left-color:#d64550;background:#fff0f1}.channel-order-card.cancelled *{color:#b52834!important}.channel-card-pickup{font-size:12px!important;color:#526889!important;margin-left:auto;padding-right:8px}.takeaway-numbered{grid-template-columns:repeat(4,1fr)!important}

.channel-toolbar-location{cursor:pointer;color:inherit;font:inherit;text-align:center;padding:0 12px}.channel-toolbar-location small{display:block;color:#fff;font-size:13px;margin-top:4px}.channel-card-actions{display:flex;gap:8px;margin-top:8px}.channel-card-cancel{border:0;border-radius:8px;padding:7px 10px;background:#d64550;color:#fff;font-weight:800}.channel-order-card.cancelled{border-left-color:#d64550;background:#fff0f1}.channel-order-card.cancelled *{color:#b52834!important}.channel-card-pickup{font-size:12px!important;color:#526889!important;margin-left:auto;padding-right:8px}.takeaway-numbered{grid-template-columns:repeat(4,1fr)!important}

.channel-toolbar-location{cursor:pointer;color:inherit;font:inherit;text-align:center;padding:0 12px}.channel-toolbar-location small{display:block;color:#fff;font-size:13px;margin-top:4px}.channel-card-actions{display:flex;gap:8px;margin-top:8px}.channel-card-cancel{border:0;border-radius:8px;padding:7px 10px;background:#d64550;color:#fff;font-weight:800}.channel-order-card.cancelled{border-left-color:#d64550;background:#fff0f1}.channel-order-card.cancelled *{color:#b52834!important}.channel-card-pickup{font-size:12px!important;color:#526889!important;margin-left:auto;padding-right:8px}.takeaway-numbered{grid-template-columns:repeat(4,1fr)!important}

.channel-toolbar-location{cursor:pointer;color:inherit;font:inherit;text-align:center;padding:0 12px}.channel-toolbar-location small{display:block;color:#fff;font-size:13px;margin-top:4px}.channel-card-actions{display:flex;gap:8px;margin-top:8px}.channel-card-cancel{border:0;border-radius:8px;padding:7px 10px;background:#d64550;color:#fff;font-weight:800}.channel-order-card.cancelled{border-left-color:#d64550;background:#fff0f1}.channel-order-card.cancelled *{color:#b52834!important}.channel-card-pickup{font-size:12px!important;color:#526889!important;margin-left:auto;padding-right:8px}.takeaway-numbered{grid-template-columns:repeat(4,1fr)!important}


/* Correcciones de canales: acciones claras, planas y táctiles. */
.payment-cancel,
.cancel-action,
.channel-prompt-back.payment-cancel {
  background:#cf2f3d!important;
  color:#fff!important;
  border-color:#ad1e2b!important;
  box-shadow:none!important;
}
.payment-cancel svg { stroke:#fff!important; }
.channel-toolbar-spacer strong {
  display:block!important;
  background:transparent!important;
  background-image:none!important;
  border:0!important;
  outline:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  text-shadow:none!important;
  padding:0!important;
  color:#fff!important;
  line-height:1!important;
}


/* Correcciones de canales: acciones claras, planas y táctiles. */
.payment-cancel,
.cancel-action,
.channel-prompt-back.payment-cancel {
  background:#cf2f3d!important;
  color:#fff!important;
  border-color:#ad1e2b!important;
  box-shadow:none!important;
}
.payment-cancel svg { stroke:#fff!important; }
.channel-toolbar-spacer strong {
  display:block!important;
  background:transparent!important;
  background-image:none!important;
  border:0!important;
  outline:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  text-shadow:none!important;
  padding:0!important;
  color:#fff!important;
  line-height:1!important;
}

/* CHANNELS_AUTHORITATIVE_V3 */
.channel-toolbar-spacer,
.channel-order-toolbar .channel-toolbar-location{
  display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;
  min-width:0!important;height:100%!important;padding:0 12px!important;border:0!important;border-radius:8px!important;
  background:#2448a2!important;background-image:none!important;color:#fff!important;box-shadow:none!important;
}
.channel-toolbar-spacer{grid-column:1/4!important}
.channel-toolbar-spacer strong,.channel-toolbar-location strong{
  margin:0!important;padding:0!important;border:0!important;background:none!important;box-shadow:none!important;
  color:#fff!important;font-size:25px!important;line-height:1.05!important;letter-spacing:.02em!important;text-shadow:none!important;
}
.channel-toolbar-spacer small{display:none!important}
.channel-toolbar-location small{display:block!important;margin-top:6px!important;color:#fff!important;font-size:13px!important;line-height:1!important}
.cancel-action,.payment-cancel,.channel-prompt-back.payment-cancel{
  -webkit-appearance:none!important;appearance:none!important;border:0!important;border-radius:8px!important;
  background:#cf2f3d!important;background-image:none!important;color:#fff!important;box-shadow:none!important;outline:0!important;
}
.channel-payment-dialog .payment-cancel{width:100%!important;margin-top:10px!important}
.delivery-history-list{min-height:0!important;flex:1!important;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-auto-rows:minmax(205px,calc((100% - 12px)/2))!important;gap:12px!important;align-content:start!important;overflow-y:auto!important;padding:14px!important}
.channel-card-list{min-height:0!important;overflow-y:auto!important}
.channel-order-card{display:block!important;min-width:0!important;border:2px solid #c8d5e7!important;border-left:7px solid #2870dc!important;border-radius:12px!important;background:#fff!important;overflow:hidden!important}
.channel-order-card.pending{border-left-color:#e63143!important}
.channel-order-card.cancelled{border-color:#d64550!important;background:#fff0f1!important}
.channel-order-card.cancelled *{color:#b52834!important}
.channel-card-main{width:100%!important;height:100%!important;display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:9px!important;padding:12px 14px!important;border:0!important;background:transparent!important;color:#172747!important;text-align:left!important}
.channel-card-main header{display:grid!important;grid-template-columns:minmax(0,1fr) auto auto!important;align-items:center!important;gap:10px!important}
.channel-card-main header strong,.channel-card-main header time,.channel-card-main header b{font-size:14px!important;line-height:1.15!important}
.channel-card-main header strong{overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
.channel-card-main header b{text-align:right!important}
.channel-card-pickup{grid-column:1/-1!important;margin:0!important;padding:0!important;color:#435b80!important;font-size:12px!important}
.channel-card-command{min-height:0!important;overflow:hidden!important;border-top:1px solid #dce4ef!important;padding-top:6px!important}
.channel-card-command p{display:grid!important;grid-template-columns:35px minmax(0,1fr)!important;gap:6px!important;margin:0!important;padding:4px 0!important;color:#243755!important;font-size:13px!important;line-height:1.15!important}
.channel-card-command p span{font-weight:900!important}.channel-card-command p strong{overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
.channel-card-command p strong small{display:block!important;overflow:visible!important;text-overflow:clip!important;white-space:normal!important;font-weight:600!important;line-height:1.25!important;margin-top:2px!important;color:#64748b!important}
.channel-card-command em{display:block!important;margin-top:5px!important;color:#255fd6!important;font-size:12px!important;font-style:normal!important;font-weight:900!important}
.takeaway-plan{flex:1!important;min-height:0!important;display:grid!important;grid-template-columns:1.2fr .8fr!important;gap:18px!important;padding:22px!important}
.takeaway-dining,.takeaway-numbered{min-height:0!important;border:2px solid #c6d4e6!important;border-radius:16px!important;background:#fff!important;padding:24px!important}
.takeaway-dining{display:grid!important;grid-template-rows:1fr 1fr!important;gap:22px!important}
.takeaway-letter-row{display:grid!important;align-items:center!important;justify-content:center!important;gap:28px!important}
.takeaway-letter-row.upper{grid-template-columns:repeat(2,minmax(105px,145px))!important}
.takeaway-letter-row.lower{grid-template-columns:repeat(3,minmax(90px,125px))!important}
.takeaway-numbered{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-template-rows:repeat(4,minmax(0,1fr))!important;gap:12px!important}
.takeaway-slot{width:100%!important;min-width:0!important;min-height:0!important;border:3px solid #1d56a7!important;border-radius:14px!important;background:#38b979!important;color:#063f32!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:5px!important}
.takeaway-slot.occupied{background:#ea3446!important;color:#fff!important;border-color:#b71d2e!important}
.takeaway-slot strong{font-size:22px!important}.takeaway-slot small{font-size:11px!important;font-weight:800!important}
.channel-detail-content{min-height:0!important;flex:1!important;display:grid!important;grid-template-columns:1.2fr .8fr!important;gap:13px!important;padding:14px!important;overflow:hidden!important}
.channel-detail-content>section{min-height:0!important;display:flex!important;flex-direction:column!important;overflow:auto!important;border:1px solid #c8d4e5!important;border-radius:10px!important;background:#fff!important}
.channel-detail-content h3{position:sticky!important;top:0!important;margin:0!important;padding:12px 14px!important;background:#dce8fa!important;color:#173d91!important;font-size:16px!important}
.channel-detail-command>div{display:grid!important;grid-template-columns:42px minmax(0,1fr)!important;gap:8px!important;padding:10px 13px!important;border-bottom:1px solid #e0e6ef!important}
.channel-detail-command>div span{font-weight:900!important}.channel-detail-command>div small{display:block!important;margin-top:3px!important;color:#738096!important}
.channel-detail-command footer{margin-top:auto!important;display:flex!important;justify-content:space-between!important;padding:13px 14px!important;background:#1c376d!important;color:#fff!important;font-size:19px!important;font-weight:900!important}
.channel-detail-data dl{margin:0!important;padding:8px 14px!important}.channel-detail-data dl>div{display:flex!important;justify-content:space-between!important;gap:12px!important;padding:9px 0!important;border-bottom:1px solid #e1e7ef!important}.channel-detail-data dt{color:#6b788c!important}.channel-detail-data dd{margin:0!important;font-weight:900!important;text-align:right!important}
.channel-detail-actions{display:flex!important;justify-content:flex-end!important;gap:10px!important;padding:0 14px 14px!important}.channel-detail-actions button{min-height:45px!important;padding:10px 18px!important;border:0!important;border-radius:8px!important;color:#fff!important;font-weight:900!important}.channel-detail-edit{background:#255fd6!important}.channel-detail-void{background:#cf2f3d!important}.channel-detail-revive{background:#179550!important}
.channel-current-void{width:100%!important;min-height:48px!important;margin-top:14px!important;border:0!important;border-radius:8px!important;background:#cf2f3d!important;color:#fff!important;font-weight:900!important}
@media(max-width:760px){.delivery-history-list,.channel-detail-content{grid-template-columns:1fr!important}}
/* CHANNELS_AUTHORITATIVE_V4 */
.channel-order-toolbar .channel-toolbar-spacer,
.channel-order-toolbar button.channel-toolbar-location {
  align-self:stretch!important;
  height:auto!important;
  margin:0!important;
  border:3px solid #4d79e8!important;
  border-radius:9px!important;
  background:#2448a2!important;
  background-image:none!important;
  box-shadow:none!important;
}
.channel-order-toolbar .channel-toolbar-spacer strong,
.channel-order-toolbar button.channel-toolbar-location strong {
  display:block!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:#fff!important;
  font-size:25px!important;
  line-height:1!important;
}
.channel-order-toolbar button.channel-toolbar-location small {
  display:block!important;
  margin-top:7px!important;
  color:#fff!important;
  font-size:13px!important;
  line-height:1!important;
}
.channel-order-toolbar .cancel-action,
.channel-payment-dialog .payment-cancel {
  border:0!important;
  border-top:0!important;
  outline:0!important;
  border-radius:8px!important;
  background:#cf2f3d!important;
  background-image:none!important;
  box-shadow:none!important;
  color:#fff!important;
  transform:none!important;
}
.channel-order-toolbar .cancel-action::before,
.channel-order-toolbar .cancel-action::after,
.channel-payment-dialog .payment-cancel::before,
.channel-payment-dialog .payment-cancel::after { display:none!important;content:none!important; }
.channel-order-toolbar .cancel-action:hover:where(:root:not(.tpv-mobile) *),
.channel-order-toolbar .cancel-action:active,
.channel-order-toolbar .cancel-action:focus,
.channel-payment-dialog .payment-cancel:hover:where(:root:not(.tpv-mobile) *),
.channel-payment-dialog .payment-cancel:active,
.channel-payment-dialog .payment-cancel:focus {
  border:0!important;background:#cf2f3d!important;box-shadow:none!important;transform:none!important;
}
.takeaway-plan { grid-template-columns:1.42fr .58fr!important; }
.takeaway-dining { padding:28px 38px!important;gap:22px!important; }
.takeaway-letter-row.upper { grid-template-columns:repeat(2,minmax(105px,145px))!important; }
.takeaway-letter-row.lower { grid-template-columns:repeat(3,minmax(90px,125px))!important; }
.takeaway-numbered { grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-template-rows:repeat(4,minmax(0,1fr))!important; }
.channel-card-list .channel-order-card { flex:none!important; }
.delivery-history-list .channel-order-card { min-height:205px!important; }

/* CHANNELS_AUTHORITATIVE_V5 */
/* Cabecera única de las comandas de canal. */
.channel-order-toolbar .channel-toolbar-spacer,
.channel-order-toolbar .channel-toolbar-location {
  align-self:stretch!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:0!important;
  height:auto!important;
  margin:0!important;
  padding:0 12px!important;
  border:3px solid #4d79e8!important;
  border-radius:9px!important;
  background:#2448a2!important;
  background-image:none!important;
  box-shadow:none!important;
  color:#fff!important;
  text-align:center!important;
  text-decoration:none!important;
}
.channel-order-toolbar .channel-toolbar-spacer { grid-column:1/4!important; }
.channel-order-toolbar .channel-toolbar-spacer strong,
.channel-order-toolbar .channel-toolbar-location strong {
  display:block!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  background-image:none!important;
  box-shadow:none!important;
  color:#fff!important;
  font-size:25px!important;
  line-height:1!important;
  letter-spacing:.02em!important;
  text-shadow:none!important;
}
.channel-order-toolbar .channel-toolbar-spacer small { display:none!important; }
.channel-order-toolbar .channel-toolbar-location small {
  display:block!important;
  margin:7px 0 0!important;
  color:#fff!important;
  font-size:13px!important;
  font-weight:800!important;
  line-height:1!important;
}

/* CANCELAR plano, sin biseles ni bordes heredados. */
.channel-order-toolbar .cancel-action,
.channel-payment-dialog .payment-cancel,
.channel-prompt-back.payment-cancel {
  -webkit-appearance:none!important;
  appearance:none!important;
  border:0!important;
  border-top:0!important;
  outline:0!important;
  border-radius:8px!important;
  background:#cf2f3d!important;
  background-image:none!important;
  box-shadow:none!important;
  color:#fff!important;
  text-shadow:none!important;
  transform:none!important;
}
.channel-order-toolbar .cancel-action::before,
.channel-order-toolbar .cancel-action::after,
.channel-payment-dialog .payment-cancel::before,
.channel-payment-dialog .payment-cancel::after { display:none!important;content:none!important; }

/* Cuatro comandas visibles en domicilio; el resto queda accesible por scroll. */
.delivery-history-list {
  min-height:0!important;
  flex:1!important;
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  grid-auto-rows:minmax(205px,calc((100% - 12px)/2))!important;
  gap:12px!important;
  align-content:start!important;
  overflow-y:auto!important;
  padding:14px!important;
}
.channel-card-list { min-height:0!important;overflow-y:auto!important; }
.channel-order-card { display:block!important;min-width:0!important; }
.channel-order-card.cancelled { border-color:#d64550!important;background:#fff0f1!important; }
.channel-order-card.cancelled * { color:#b52834!important; }
.channel-card-main {
  width:100%!important;height:100%!important;display:flex!important;flex-direction:column!important;
  align-items:stretch!important;gap:9px!important;padding:12px 14px!important;border:0!important;
  background:transparent!important;color:#172747!important;text-align:left!important;
}
.channel-card-main header {
  display:grid!important;grid-template-columns:minmax(0,1fr) auto auto!important;
  align-items:center!important;gap:10px!important;
}
.channel-card-main header strong,.channel-card-main header time,.channel-card-main header b {
  font-size:14px!important;line-height:1.15!important;
}
.channel-card-command { min-height:0!important;overflow:hidden!important;border-top:1px solid #dce4ef!important;padding-top:6px!important; }
.channel-card-command p {
  display:grid!important;grid-template-columns:35px minmax(0,1fr)!important;gap:6px!important;
  margin:0!important;padding:4px 0!important;color:#243755!important;font-size:13px!important;line-height:1.15!important;
}
.channel-card-command em { display:block!important;margin-top:5px!important;color:#255fd6!important;font-size:12px!important;font-style:normal!important;font-weight:900!important; }

/* Plano LV con la misma geometría del comedor: D/B sobre E/C/A y LV1–LV8. */
.takeaway-plan { grid-template-columns:1.42fr .58fr!important;gap:18px!important;padding:22px!important; }
.takeaway-dining {
  display:grid!important;grid-template-rows:1fr 1fr!important;gap:16px!important;
  padding:22px 28px!important;align-items:stretch!important;
}
.takeaway-letter-row { display:grid!important;gap:16px!important;align-items:stretch!important; }
.takeaway-letter-row.upper {
  width:66.666%!important;margin-left:33.333%!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
}
.takeaway-letter-row.lower {
  width:100%!important;margin-left:0!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
}
.takeaway-numbered {
  display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;
  grid-template-rows:repeat(4,minmax(0,1fr))!important;gap:12px!important;padding:22px!important;
}
.takeaway-slot { min-height:0!important;width:100%!important; }

/* CHANNELS_AUTHORITATIVE_V6 */

/* El plano LV conserva la geometría del comedor sin estirar las mesas. */
.takeaway-dining {
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  gap:28px!important;
  padding:34px 26px!important;
}
.takeaway-letter-row {
  display:flex!important;
  justify-content:space-around!important;
  align-items:center!important;
  gap:18px!important;
}
.takeaway-letter-row.upper {
  width:66.666%!important;
  margin-left:33.333%!important;
}
.takeaway-letter-row.lower {
  width:100%!important;
  margin-left:0!important;
}
.takeaway-letter-row .takeaway-slot {
  flex:0 0 clamp(62px,7vw,78px)!important;
  width:clamp(62px,7vw,78px)!important;
  height:clamp(126px,18vh,152px)!important;
  min-height:0!important;
}
.takeaway-numbered {
  align-content:center!important;
  grid-auto-rows:clamp(70px,12vh,96px)!important;
  grid-template-rows:repeat(4,clamp(70px,12vh,96px))!important;
  gap:14px!important;
  padding:30px 20px!important;
}
.takeaway-numbered .takeaway-slot { height:100%!important;min-height:0!important; }

/* Los botones de cabecera son bloques planos y únicos. */
.channel-order-toolbar .channel-toolbar-spacer,
.channel-order-toolbar .channel-toolbar-location {
  background:#2448a2!important;
  border:3px solid #4d79e8!important;
  border-radius:9px!important;
  box-shadow:none!important;
}
.channel-order-toolbar .channel-toolbar-location strong,
.channel-order-toolbar .channel-toolbar-spacer strong {
  background:transparent!important;border:0!important;box-shadow:none!important;
  font-size:24px!important;line-height:1!important;text-shadow:none!important;
}

/* Cancelación plana, roja y sin rebordes heredados. */
.finish.cancel-empty,
.payment-cancel,
.channel-prompt-back.payment-cancel {
  border:0!important;
  border-radius:9px!important;
  background:#d92d3a!important;
  color:#fff!important;
  box-shadow:none!important;
  outline:0!important;
  transform:none!important;
}
.finish.cancel-empty::before,.finish.cancel-empty::after,
.payment-cancel::before,.payment-cancel::after {display:none!important;content:none!important;}

/* CHANNELS_AUTHORITATIVE_V7 */
.channel-screen{
  width:calc(100% + 20px)!important;
  height:calc(100% + 20px)!important;
  margin:-10px!important;
  border:4px solid #173d85!important;
  border-radius:9px!important;
  background:#fff!important;
}
.delivery-history-list{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  grid-auto-rows:calc((100% - 12px)/2)!important;
}
.delivery-history-list .channel-order-card{min-height:0!important}
.channel-card-main{padding:0!important;gap:0!important}
.channel-card-main header{padding:11px 12px!important}
.channel-card-command{padding:6px 12px!important;flex:1!important}
.channel-card-command p{grid-template-columns:32px minmax(0,1fr) auto!important}
.channel-card-command p b{font-size:12px!important;text-align:right!important}
.channel-card-wait{grid-column:1/-1!important;color:#536681!important;font-size:11px!important;font-weight:900!important}
.channel-card-total{display:flex!important;justify-content:space-between!important;align-items:center!important;margin-top:auto!important;padding:9px 12px!important;background:#2448a2!important;color:#fff!important;font-weight:900!important}
.channel-card-total.compact{margin:0!important;justify-content:flex-end!important;font-size:18px!important}
.channel-order-card.cancelled .channel-card-command p{text-decoration:line-through!important;text-decoration-color:#c92635!important}
.channel-card-command p strong small{display:block!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important;line-height:1.25!important;margin-top:2px!important}
.channel-order-card.cancelled .channel-card-total{background:#b52834!important;color:#fff!important}
.channel-detail-command>div{grid-template-columns:42px minmax(0,1fr) auto!important}
.channel-detail-command>div>strong{text-align:right!important}
.tpv-dialog-backdrop{z-index:2100!important}
.channel-detail-backdrop{z-index:1500!important}
.channel-prompt-backdrop{z-index:1800!important}
.channel-order-toolbar .undo-session + .channel-toolbar-spacer{grid-column:2/4!important}
.delivery-choice button,.channel-top>button,.channel-order-card button,.takeaway-slot{box-shadow:none!important;transform:none!important}
.delivery-choice button:hover:where(:root:not(.tpv-mobile) *),.channel-top>button:hover:where(:root:not(.tpv-mobile) *),.channel-order-card button:hover:where(:root:not(.tpv-mobile) *),.takeaway-slot:hover:where(:root:not(.tpv-mobile) *){box-shadow:none!important;transform:none!important}
@media(max-width:850px){.delivery-history-list{grid-template-columns:repeat(3,minmax(0,1fr))!important}}

/* CHANNELS_AUTHORITATIVE_V8 */
/* Accesos principales siempre azules. */
.plan-actions button{
  border:0!important;
  background:#2f6cdf!important;
  color:#fff!important;
  box-shadow:none!important;
  text-shadow:none!important;
}
.plan-actions button:hover:where(:root:not(.tpv-mobile) *),.plan-actions button:active,.plan-actions button:focus{
  background:#2f6cdf!important;color:#fff!important;box-shadow:none!important;transform:none!important;
}
/* Las tarjetas no llevan indicador lateral: el estado se expresa por el fondo. */
.channel-order-card,.channel-order-card.pending,.channel-order-card.completed,.channel-order-card.history{
  border-left-width:2px!important;
  border-left-color:#c8d5e7!important;
}
.channel-order-card.cancelled{border-color:#d64550!important}
/* Guardar datos es una acción primaria azul. */
.channel-info-dialog .dialog-accept{
  border:0!important;border-radius:8px!important;background:#2f6cdf!important;color:#fff!important;box-shadow:none!important;
}
.channel-info-dialog .dialog-accept:hover:where(:root:not(.tpv-mobile) *),.channel-info-dialog .dialog-accept:active,.channel-info-dialog .dialog-accept:focus{
  background:#2f6cdf!important;box-shadow:none!important;transform:none!important;
}
.channel-current-void{
  border:0!important;border-radius:0 0 8px 8px!important;background:#cf2f3d!important;background-image:none!important;box-shadow:none!important;
}

/* CHANNELS_AUTHORITATIVE_V9 */
.channel-card-main header{grid-template-columns:minmax(0,1fr) auto auto auto auto!important;gap:7px!important}
.channel-card-main header strong{min-width:0!important}
.channel-card-main header time,.channel-card-main header small{white-space:nowrap!important}
.channel-card-wait,.channel-card-note,.channel-card-pickup{grid-column:auto!important;margin:0!important;padding:0!important;font-size:10px!important;color:#536681!important}
.channel-card-note{font-weight:900!important}
.takeaway-numbered{align-content:stretch!important;grid-template-rows:repeat(4,minmax(0,1fr))!important;padding:18px!important;gap:12px!important}
.takeaway-numbered .takeaway-slot{height:100%!important;min-height:0!important}
.takeaway-letter-row .takeaway-slot{flex-basis:clamp(76px,9vw,96px)!important;width:clamp(76px,9vw,96px)!important;height:clamp(140px,20vh,170px)!important}
.quick-history-card>header{display:grid!important;grid-template-columns:auto minmax(0,1fr) auto!important;gap:14px!important}
.quick-history-card>header h2{margin:0!important}
.quick-history-header-back{width:auto!important;height:48px!important;padding:0 16px!important;border-radius:8px!important;background:#fff!important;color:#173b84!important;font-size:14px!important}
.quick-history-detail-body{padding-top:14px!important}
.quick-history-command{display:flex!important;flex-direction:column!important}
.quick-history-command>div{min-height:0!important;overflow:auto!important}
.quick-history-command footer{margin-top:auto!important;flex:none!important}
.quick-history-payment{overflow:visible!important}
.quick-history-payment dl{flex:none!important}
.quick-history-payment .quick-history-reprint{margin:12px 14px!important;align-self:stretch!important;min-height:50px!important}
.pickup-info-dialog{width:min(680px,88vw)!important;max-width:680px!important;padding:0 0 22px!important}
.pickup-info-dialog h2{margin:0 0 18px!important;padding:18px 24px!important}
.pickup-info-dialog label{margin:14px 24px!important;gap:8px!important;font-size:18px!important}
.pickup-info-dialog input{height:60px!important;font-size:21px!important}
.pickup-info-dialog>div{margin:20px 24px 0!important}
.channel-current-void{margin-top:14px!important;border-radius:0 0 8px 8px!important}

/* CHANNELS_AUTHORITATIVE_V10 */
.quick-history-card>header{
  display:flex!important;align-items:center!important;justify-content:space-between!important;gap:14px!important;
}
.quick-history-detail>header{
  display:grid!important;grid-template-columns:auto minmax(0,1fr) auto!important;
}
.channel-detail-card>header{
  display:flex!important;align-items:center!important;justify-content:space-between!important;
}
.channel-detail-card>header h2{margin:0!important;font-size:25px!important}
.channel-detail-card>header>button{margin-left:auto!important;flex:none!important}
.channel-detail-content{align-items:stretch!important}
.channel-detail-content>section{height:100%!important}
.channel-detail-actions{
  display:grid!important;grid-template-columns:1fr 1fr!important;gap:12px!important;width:100%!important;padding:0 14px 14px!important;
}
.channel-detail-actions button{width:100%!important;min-height:52px!important;font-size:16px!important}
.channel-order-card.history .channel-card-total{background:#188b4b!important;color:#fff!important}
.channel-order-card.cancelled .channel-card-total{background:#b52834!important}
.takeaway-letter-row .takeaway-slot{
  flex:0 0 clamp(104px,11vw,112px)!important;width:clamp(104px,11vw,112px)!important;height:clamp(104px,17.2vh,132px)!important;
}
.takeaway-dining{justify-content:center!important;gap:22px!important;padding:30px 24px!important}
.takeaway-letter-row{min-height:clamp(104px,17.2vh,132px)!important}
.takeaway-name-dialog{
  width:min(620px,86vw)!important;max-width:620px!important;padding:0 0 24px!important;border-radius:16px!important;overflow:hidden!important;
}
.takeaway-name-dialog h2{margin:0 0 24px!important;padding:20px 26px!important;background:#1d376b!important;color:#fff!important;font-size:24px!important}
.takeaway-name-dialog label{margin:0 26px 22px!important;gap:9px!important;font-size:17px!important}
.takeaway-name-dialog input{height:62px!important;font-size:22px!important;background:#fff!important}
.takeaway-name-dialog>div{display:grid!important;grid-template-columns:1fr 1fr!important;gap:14px!important;margin:0 26px!important}
.takeaway-name-dialog>div button{height:54px!important;font-size:16px!important;font-weight:900!important}
.takeaway-name-dialog .channel-current-void{margin:20px 0 -24px!important;border-radius:0!important}

/* CHANNELS_AUTHORITATIVE_V11 */
.channel-card-main header strong,
.channel-card-main header time,
.channel-card-main header small,
.channel-card-total span,
.channel-card-total b{
  font-family:inherit!important;font-size:14px!important;line-height:1.15!important;font-weight:900!important;
}
.channel-card-total.compact{justify-content:space-between!important;padding:9px 12px!important}
.channel-card-pickup{font-weight:900!important;color:#284a7e!important}
.channel-detail-card>header h2,
.channel-detail-command footer{
  font-family:inherit!important;font-size:19px!important;font-weight:900!important;line-height:1.15!important;
}
.channel-detail-content{padding-bottom:14px!important}
.channel-detail-data{overflow:hidden!important}
.channel-detail-data dl{min-height:0!important;overflow:auto!important}
.channel-detail-data .channel-detail-actions{
  margin-top:auto!important;flex:none!important;width:100%!important;padding:12px 14px 14px!important;
  display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important;
}
.channel-detail-data .channel-detail-actions button{width:100%!important;min-width:0!important;padding:8px!important;font-size:14px!important}

/* CHANNELS_AUTHORITATIVE_V12 */
.channel-card-main header{
  min-height:42px!important;align-items:center!important;column-gap:12px!important;
}
.channel-card-main header strong,
.channel-card-main header time,
.channel-card-main header small,
.channel-card-total span,
.channel-card-total b{
  font-size:15px!important;line-height:18px!important;font-weight:900!important;font-variant-numeric:tabular-nums!important;
}
.channel-card-main header time,.channel-card-total b{text-align:right!important}
.channel-card-command p{align-items:center!important;min-height:30px!important}
.channel-card-command p span,
.channel-card-command p strong,
.channel-card-command p b{
  font-family:inherit!important;font-size:15px!important;line-height:18px!important;font-weight:800!important;font-variant-numeric:tabular-nums!important;
}
.channel-card-command p b{justify-self:end!important;text-align:right!important}
.channel-card-pickup{font-size:15px!important}
.channel-card-note{font-size:15px!important}
.channel-card-total{min-height:42px!important}

/* CHANNELS_AUTHORITATIVE_V13 */
.channel-card-main header{
  width:100%!important;display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(120px,auto) minmax(70px,auto) minmax(62px,auto)!important;
  align-items:center!important;gap:12px!important;
}
.channel-card-main header>strong{grid-column:1!important;text-align:left!important}
.channel-card-main header>.channel-card-pickup{grid-column:2!important;text-align:center!important;justify-self:center!important}
.channel-card-main header>.channel-card-note{grid-column:3!important;text-align:right!important;justify-self:end!important}
.channel-card-main header>time{grid-column:4!important;text-align:right!important;justify-self:end!important}
.channel-card-main header .channel-card-note{
  color:#172747!important;font-family:inherit!important;font-size:15px!important;line-height:18px!important;font-weight:900!important;
}
.channel-card-main header .channel-card-pickup{
  color:#172747!important;font-family:inherit!important;font-size:15px!important;line-height:18px!important;font-weight:900!important;
}
.channel-card-main header time,
.channel-card-command p b,
.channel-card-total b{min-width:76px!important;text-align:right!important;font-variant-numeric:tabular-nums!important}
.channel-card-total.compact{
  width:100%!important;min-height:44px!important;display:flex!important;visibility:visible!important;
  justify-content:space-between!important;align-items:center!important;margin-top:auto!important;
  background:#188b4b!important;color:#fff!important;
}
.channel-card-total.compact span,.channel-card-total.compact b{display:block!important;color:#fff!important;font-size:15px!important}

/* CHANNELS_AUTHORITATIVE_V14 */
.channel-card-main header{
  grid-template-columns:minmax(0,1fr) auto!important;
}
.channel-card-main header>strong{
  grid-column:1!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;
  color:#172747!important;font-size:15px!important;line-height:18px!important;font-weight:900!important;
}
.channel-card-main header>.channel-card-pickup{
  grid-column:2!important;justify-self:end!important;text-align:right!important;white-space:nowrap!important;
  color:#172747!important;font-size:15px!important;line-height:18px!important;font-weight:900!important;
}

/* PAYMENT_AUTHORITATIVE_V15 */
.payment-view>main{
  grid-template-columns:minmax(0,1.45fr) minmax(270px,.75fr)!important;
}
.payment-methods{padding:16px 18px!important;gap:8px!important}
.banknotes{gap:9px!important}
.payment-amount-row{transform:scale(.96)!important;transform-origin:center!important}
.card-method .card-pay{transform:scale(.96)!important;transform-origin:center!important}
.payment-pad{
  grid-template-rows:102px 70px repeat(4,minmax(0,1fr))!important;
  column-gap:6px!important;row-gap:11px!important;
}
.payment-accept{
  min-height:102px!important;font-size:22px!important;line-height:1.15!important;
}
.payment-pad output{min-height:70px!important;font-size:32px!important;line-height:70px!important}
.payment-pad>button:not(.payment-accept):not(.payment-clear){font-size:21px!important}
.cash-method{gap:27px!important}
.cash-method .banknotes{transform:translateY(-13px)!important}
.cash-method .payment-amount-row{transform:translateY(15px)!important}
.card-method{gap:27px!important}
.card-method .card-pay{margin-bottom:10px!important;transform:translateY(-5px)!important}
.card-method .payment-amount-row{transform:translateY(8px)!important}
.payment-back{gap:0!important}

/* PAYMENT_LAYOUT_RESTORE_V16 */
.cash-method{gap:13px!important}
.cash-method .banknotes{transform:translateY(-5px)!important}
.cash-method .payment-amount-row{transform:translateY(7px)!important}
.card-method{gap:10px!important}
.card-method .card-pay{margin-bottom:2px!important;transform:none!important}
.card-method .payment-amount-row{transform:none!important}

/* MODERN_SYSTEM_V17 — visual refresh, layout preserved */
:root{--blue:#315fca;--deep:#17325f;--cyan:#eef3f8;--green:#2da66a;--line:#d5dee9;--paper:#f7f9fc;--red:#d94b57;--ink:#17243d;--muted:#6d7a90;--surface:#fff;--soft:#edf2f7;--shadow:0 8px 24px rgba(23,42,74,.10)}
html,body{font-family:'Inter',Arial,sans-serif;background:#eef3f8;color:var(--ink)}
button{transition:background-color .14s ease,border-color .14s ease,box-shadow .14s ease;color:inherit}
button:focus-visible{outline:3px solid rgba(49,95,202,.25)!important;outline-offset:2px}
#app{padding:0;background:#eef3f8}
.tables-view{gap:12px;padding:12px;background:#eef3f8}
.floor{border:1px solid #d8e0ea!important;border-radius:18px!important;background:#f8fafc!important;box-shadow:var(--shadow)}
.floor-plan{background:#f8fafc!important}.upper-zones,.dining-zone{border-color:#e1e7ef!important}.floor-plan::after{background:#e1e7ef!important}
.floor-plan button.table-card{border:2px solid transparent!important;border-radius:14px!important;box-shadow:0 5px 14px rgba(20,38,68,.12)!important;color:#163f31!important;font-weight:850!important}
.floor-plan button.table-card.free{background:#67bd8b!important;border-color:#4cab75!important}.floor-plan button.table-card.occupied{background:#e05260!important;border-color:#cc3d4b!important;color:#fff!important}.floor-plan button.table-card.printed{background:#fff!important;border-color:#bdc9d8!important;color:#26344b!important}
.home-rail{gap:12px}.clock-panel,.reservations-panel,.liberty-logo,.last-sale-panel{border:1px solid #d8e0ea!important;border-radius:16px!important;box-shadow:var(--shadow)!important}
.clock-panel{background:#fff!important;color:var(--ink)!important}.clock-panel strong{color:#315fca!important}.reservations-panel{background:#fff!important;color:#315fca!important}
.last-sale-panel{background:#315fca!important;border-color:#315fca!important;padding:12px!important}.last-sale-panel strong{border-radius:7px;background:#fff!important;color:#234caa!important}.quick-history-trigger{border-radius:8px!important;background:#fff!important;color:#234caa!important}
.plan-actions button{border:0!important;border-radius:13px!important;background:#315fca!important;box-shadow:0 6px 14px rgba(49,95,202,.18)!important;color:#fff!important}
.order-view{border:0!important;background:#e9eef5!important;gap:10px;padding:10px}.ticket,.catalog{border:0!important;border-radius:15px;background:#fff!important;box-shadow:var(--shadow);padding:10px!important}.ticket{border-right:0!important}
.taken-by{border:0!important;border-radius:9px!important;background:#eef3f8!important;color:#4f5e74!important}.taken-by strong{color:#1d3f83!important}
.ticket-items{margin-top:8px!important;border:1px solid #e0e6ee;border-radius:10px;background:#fff!important;padding:8px 10px!important}.ticket-line{border-bottom:1px solid #e7ebf1!important;color:#243147!important}.ticket-line:last-child{border-bottom:0!important}
.line-adjust{border-radius:8px!important;box-shadow:none!important}.line-adjust.remove-only{background:#fce8ea!important;color:#c33745!important}.line-adjust.add-only{background:#e4f5eb!important;color:#208350!important}
.discount-total{gap:8px!important}.discount-total button,.discount-total strong{border:1px solid #dbe3ed!important;border-radius:9px!important;background:#f8fafc!important;color:#243b6d!important;box-shadow:none!important}.discount-total strong{color:#173a7c!important}
.keypad{gap:7px!important}.keypad button{border:1px solid #cbd7e4!important;border-radius:10px!important;background:#edf3f8!important;color:#24405f!important;box-shadow:none!important;text-shadow:none!important;font-weight:800!important}.keypad .misc{background:#315fca!important;border-color:#315fca!important;color:#fff!important}.keypad .clear-key{background:#fce8ea!important;border-color:#f3c9ce!important;color:#c33745!important}
.order-toolbar{gap:8px!important}.order-toolbar button,.order-toolbar strong,.table-options-trigger,.channel-order-toolbar .channel-toolbar-location,.channel-toolbar-spacer{border:0!important;border-radius:11px!important;background:#315fca!important;color:#fff!important;box-shadow:0 5px 12px rgba(49,95,202,.16)!important;text-shadow:none!important}
.order-toolbar .ticket-action,.order-toolbar .table-options-trigger{background:#315fca!important}.order-toolbar .ticket-action.pay-action,.order-toolbar .finish{background:#2d9d64!important}.order-toolbar .undo-session{background:#f3f5f8!important;color:#6c788b!important;box-shadow:none!important}.order-toolbar .undo-session:not(:disabled){background:#fce8ea!important;color:#c33745!important}
.catalog-browser{margin-top:10px!important;border:1px solid #e0e6ee;border-radius:12px;background:#f7f9fc;padding:8px}.family-grid,.product-grid.full-grid{gap:8px!important}.family-grid .category,.product-grid.full-grid .product{border:1px solid #d8e1ec!important;border-radius:11px!important;background:#fff!important;color:#244b9b!important;box-shadow:0 3px 9px rgba(26,48,82,.06)!important;font-weight:800!important}.family-grid .category.active,.product-grid.full-grid .product:active{background:#e8effc!important;border-color:#99b2e6!important}.catalog-heading{border-radius:9px!important;background:#eef3f8!important}.catalog-heading>strong{color:#244b9b!important}.catalog-heading button{border-radius:8px!important;background:#315fca!important}
.channel-screen{inset:0!important;width:100%!important;height:100%!important;border:0!important;border-radius:0!important;background:#f4f7fb!important}.channel-top{min-height:96px;background:#213e73!important;padding:14px 20px!important}.channel-top>button{border:0!important;border-radius:11px!important;box-shadow:none!important}.channel-top .channel-create{background:#3970d7!important}
.channel-columns{gap:12px!important;padding:12px!important}.channel-columns>section,.takeaway-dining,.takeaway-numbered{border:1px solid #d9e2ed!important;border-radius:14px!important;background:#fff!important;box-shadow:0 5px 16px rgba(25,45,75,.06)!important}.channel-columns h2{background:#edf2f8!important;color:#274777!important}
.delivery-choice{gap:22px!important;padding:42px!important}.delivery-choice button{border:1px solid #d8e1ec!important;border-radius:17px!important;box-shadow:var(--shadow)!important;color:#244b9b!important}.takeaway-plan{padding:12px!important;gap:12px!important}.takeaway-slot{border:2px solid #4aaa74!important;border-radius:13px!important;background:#69be8d!important;box-shadow:none!important}.takeaway-slot.occupied{border-color:#cc3e4c!important;background:#df5360!important}
.channel-order-card{border:1px solid #dbe3ed!important;border-radius:11px!important;box-shadow:0 3px 10px rgba(23,42,74,.05)!important}.channel-card-main{background:#fff!important}.channel-card-total{background:#315fca!important}.channel-order-card.history .channel-card-total{background:#2d9560!important}
.tpv-dialog,.quick-history-card,.channel-detail-card{border:0!important;border-radius:16px!important;box-shadow:0 22px 65px rgba(8,22,48,.28)!important}.tpv-dialog h2,.quick-history-card>header,.channel-detail-card>header{background:#213e73!important}.tpv-dialog button,.quick-history-card button,.channel-detail-card button{border-radius:9px!important}.quick-history-backdrop,.tpv-dialog-backdrop{background:rgba(14,29,55,.62)!important;backdrop-filter:blur(3px)}
.quick-history-columns>section,.quick-history-detail-body>section{border:1px solid #dbe3ed!important;border-radius:12px!important}.quick-history-columns h3,.quick-history-detail-body h3{background:#edf2f8!important;color:#274777!important}.quick-history-row{border:1px solid #dbe3ed!important;border-radius:9px!important;background:#fff!important}
.payment-view{background:#eef3f8!important;padding:12px!important}.payment-view>header,.payment-methods,.payment-pad{border:1px solid #d5dee9!important;border-radius:15px!important;box-shadow:var(--shadow)!important}.payment-view>header{background:#fff!important}.payment-methods,.payment-pad{background:#f8fafc!important}.banknotes button,.payment-value{border-color:#d5dee9!important;box-shadow:0 3px 9px rgba(23,42,74,.08)!important}.payment-pad>button:not(.payment-accept):not(.buffer-clear){border:1px solid #cbd7e4!important;background:#e7eef5!important;color:#24405f!important;box-shadow:none!important}.payment-accept{background:#2d9d64!important;box-shadow:none!important}.payment-back{border:0!important;background:#fce8ea!important;color:#c33745!important;box-shadow:none!important}
.family-grid,.product-grid.full-grid{border:0!important;background:#f7f9fc!important;padding:6px!important}

/* POLISH_V18 — ajustes visuales y uso táctil */
html,body,#app{background:#213e73!important}
.tables-view{background:#213e73!important;padding:12px!important}
.floor-plan{background:#f5f8fc!important}
.terrace-zone{background:#f8fafc!important}.awning-zone{background:#f1f6fb!important}.dining-zone{background:#f6f8fc!important}.plan-actions{background:#edf3f9!important}
.home-rail{background:#213e73!important}
.plan-actions button{background:#5b84d7!important;box-shadow:0 5px 12px rgba(32,62,115,.16)!important}
.plan-actions button:active{background:#4c74c7!important}

.catalog{background:#f5f8fc!important}.ticket{background:#fff!important}.ticket-items{background:#fbfcfe!important}.discount-total{margin:4px 0 10px!important}.keypad{height:276px!important;transform:translateY(3px)}
.catalog-browser{background:#eef3f8!important;border-color:#d7e0ea!important}
.family-grid,.product-grid.full-grid{background:#f6f9fc!important}
.catalog-heading{display:grid!important;grid-template-columns:minmax(130px,auto) minmax(0,1fr) minmax(130px,auto)!important;align-items:center!important;gap:12px!important;padding:7px!important;min-height:58px!important}
.catalog-heading button{grid-column:1!important;position:static!important;z-index:1!important}.catalog-heading>strong{grid-column:2!important;min-width:0!important;text-align:center!important;line-height:1.15!important}.catalog-heading::after{content:"";grid-column:3}

.order-toolbar .finish{background:#315fca!important}.order-toolbar .finish.cancel-action,.order-toolbar .finish.cancel-empty{background:#d94b57!important;color:#fff!important;box-shadow:0 5px 12px rgba(183,45,59,.16)!important}
.channel-screen{position:fixed!important;inset:0!important;width:100vw!important;height:100vh!important;margin:0!important;border:0!important;border-radius:0!important}

.tpv-dialog .dialog-accept,.tpv-dialog .primary,.dialog-accept,.primary{background:#315fca!important;color:#fff!important;border-color:#315fca!important}
.dialog-message{display:flex!important;flex-direction:column!important;gap:10px!important;padding:20px 22px 16px!important;color:#263955!important}
.dialog-message strong{font-size:19px!important;line-height:1.3!important}.dialog-message span{padding:11px 13px;border-left:4px solid #8ba9e8;border-radius:0 8px 8px 0;background:#edf3fb;color:#52637b;font-size:15px;line-height:1.45}

.touch-keyboard{position:fixed;z-index:12000;left:50%;bottom:10px;transform:translateX(-50%);width:min(920px,96vw);padding:10px;border:1px solid #b9c8dc;border-radius:16px;background:#e7edf5;box-shadow:0 18px 55px rgba(6,20,44,.38);user-select:none}
.touch-keyboard>div{display:flex;justify-content:center;gap:7px;margin-top:7px}.touch-keyboard>div:first-child{margin-top:0}
.touch-keyboard button{flex:1;max-width:82px;height:48px;border:1px solid #c2cedd;border-radius:9px;background:#fff;color:#203858;font-size:18px;font-weight:850;box-shadow:0 2px 5px rgba(23,42,74,.08)}
.touch-keyboard button[data-touch-key="BORRAR"]{max-width:112px;background:#fff;color:#bd3543;font-size:22px}.touch-keyboard button[data-touch-key="ESPACIO"]{max-width:430px}.touch-keyboard button[data-touch-key="CERRAR"]{max-width:150px;background:#315fca;color:#fff}
.touch-keyboard button[data-touch-key="MAYÚS"]{max-width:112px;background:#fff;color:#203858;font-size:22px}.touch-keyboard button[data-touch-key="MAYÚS"].active,.touch-keyboard button[data-touch-key="SIMBOLOS"].active{border-color:#315fca;background:#315fca;color:#fff}
.touch-keyboard button[data-touch-key="SIMBOLOS"],.touch-keyboard button[data-touch-key="LETRAS"]{max-width:112px;background:#fff;color:#203858;font-size:14px}.touch-keyboard button[data-touch-key="LETRAS"]{border-color:#315fca;background:#315fca;color:#fff}
.touch-keyboard.numeric{width:min(390px,92vw)}.touch-keyboard.numeric button{max-width:none;height:54px}
.touch-keyboard.report-numeric-keyboard{z-index:12000;width:min(360px,90vw)}.touch-keyboard.report-numeric-keyboard>div{gap:6px;margin-top:6px}.touch-keyboard.report-numeric-keyboard button{height:42px;font-size:18px}.touch-keyboard.report-numeric-keyboard button[data-touch-key="ENTER"]{max-width:none;background:#315fca;color:#fff}

/* HARMONY_V19 — zonas claras, estados coherentes y teclado táctil estable */
.floor-plan button.table-card.occupied,
.floor-plan .group-merged-card.occupied,
.floor-plan .group-merged-card:not(.printed):not(.split-group-card),
.mini-group-merged{
  border-color:#cc293c!important;
  background:#e63343!important;
  background-image:none!important;
  color:#fff!important;
}
.floor-plan button.table-card.free{
  border-color:#31a968!important;
  background:#49c77c!important;
  color:#123f2b!important;
}

.plan-actions{background:#e7eef7!important}
.plan-actions button{
  border:1px solid #315f91!important;
  background:#35699f!important;
  box-shadow:0 5px 13px rgba(22,52,88,.15)!important;
}
.plan-actions button:hover:where(:root:not(.tpv-mobile) *),.plan-actions button:active,.plan-actions button:focus{
  background:#35699f!important;
  box-shadow:0 5px 13px rgba(22,52,88,.15)!important;
  transform:none!important;
}
.last-sale-panel{
  border-color:#d3deeb!important;
  background:#f8fafc!important;
  color:#314760!important;
}
.last-sale-panel span{color:#526781!important}
.last-sale-panel strong{background:#eaf0f7!important;color:#1f477d!important}
.last-sale-panel .quick-history-trigger{background:#315f91!important;color:#fff!important}
.last-sale-panel[data-open-drawer]{cursor:pointer}
.last-sale-panel[data-open-drawer]:focus-visible{outline:4px solid #ffd84d;outline-offset:3px}

.order-view{background:#213e73!important;gap:10px!important;padding:10px!important}
.order-view .ticket,.order-view .catalog{
  border-radius:15px!important;
  background:transparent!important;
  box-shadow:none!important;
  padding:0!important;
}
.ticket{gap:8px!important}
.taken-by{
  height:44px!important;
  flex:0 0 44px!important;
  padding:0 12px!important;
  background:#eaf0f7!important;
  box-shadow:0 3px 10px rgba(15,37,68,.10)!important;
}
.taken-by,.taken-by strong{font-size:13px!important;line-height:1!important;font-weight:850!important}
.ticket-items{
  margin:0!important;
  border:0!important;
  border-radius:12px!important;
  background:#fff!important;
  box-shadow:0 4px 14px rgba(15,37,68,.11)!important;
}
.discount-total{
  height:54px!important;
  flex:0 0 54px!important;
  margin:0!important;
  padding:0!important;
  border-radius:11px!important;
  background:#e7eef7!important;
}
.discount-total button,.discount-total strong{margin:6px!important;background:#fff!important}
.keypad{
  box-sizing:border-box!important;
  height:282px!important;
  margin:0!important;
  padding:9px!important;
  border:1px solid #cbd9e8!important;
  border-radius:13px!important;
  background:#dce7f2!important;
  transform:none!important;
  box-shadow:0 4px 14px rgba(15,37,68,.10)!important;
}
.catalog{display:flex!important;flex-direction:column!important;gap:10px!important}
.order-toolbar{
  flex:none!important;
  margin:0!important;
  padding:8px!important;
  border:1px solid #d0dbe8!important;
  border-radius:13px!important;
  background:#e4ebf4!important;
  box-shadow:0 4px 14px rgba(15,37,68,.10)!important;
}
.order-toolbar .finish{background:#2da66a!important;color:#fff!important}
.order-toolbar .finish:hover:where(:root:not(.tpv-mobile) *),.order-toolbar .finish:active,.order-toolbar .finish:focus{background:#2da66a!important}
.order-toolbar .finish.cancel-action,.order-toolbar .finish.cancel-empty{background:#d94b57!important}
.catalog-browser{
  flex:1!important;
  min-height:0!important;
  margin:0!important;
  padding:9px!important;
  border:1px solid #d5e0eb!important;
  border-radius:13px!important;
  background:#f4f7fb!important;
  box-shadow:0 4px 14px rgba(15,37,68,.10)!important;
}
.catalog-heading{
  position:relative!important;
  z-index:2!important;
  box-sizing:border-box!important;
  min-height:64px!important;
  height:64px!important;
  flex:0 0 64px!important;
  margin:0 0 9px!important;
  overflow:hidden!important;
  background:#e5edf6!important;
}
.product-grid.full-grid{position:relative!important;z-index:1!important;margin:0!important;padding:7px!important}
.family-grid,.product-grid.full-grid{background:#edf3f8!important}
.catalog-browser{padding-right:16px!important}
.family-grid,.product-grid.full-grid{padding-right:7px!important}

/* La portada conserva el contenedor redondeado; la rejilla comparte su fondo. */
.family-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}
.family-grid,.product-grid.full-grid{background:#f4f7fb!important}

.takeaway-slot.occupied,
.takeaway-slot.occupied:hover:where(:root:not(.tpv-mobile) *),
.takeaway-slot.occupied:active,
.takeaway-slot.occupied:focus{
  border-color:#cc293c!important;
  background:#e63343!important;
  color:#fff!important;
  opacity:1!important;
  cursor:not-allowed!important;
  transform:none!important;
  box-shadow:none!important;
}
.takeaway-slot.free,
.takeaway-slot.free:hover:where(:root:not(.tpv-mobile) *),
.takeaway-slot.free:active,
.takeaway-slot.free:focus{
  border-color:#31a968!important;
  background:#49c77c!important;
  color:#123f2b!important;
  transform:none!important;
  box-shadow:none!important;
}
.channel-columns button:hover:where(:root:not(.tpv-mobile) *),.channel-columns button:active,.channel-columns button:focus{
  transform:none!important;
  box-shadow:none!important;
}

.channel-info-dialog{transition:transform .18s ease!important}
.touch-keyboard-open .channel-prompt-backdrop{padding-top:8px!important;align-items:flex-start!important}
.touch-keyboard-open .channel-info-dialog{
  max-height:calc(100dvh - 390px)!important;
  overflow:auto!important;
  transform:translateY(-60px)!important;
}
.channel-info-actions{display:grid!important;grid-template-columns:1fr!important}
.channel-info-actions .dialog-accept{width:100%!important}
.takeaway-name-dialog,.pickup-info-dialog{padding-bottom:0!important}
.takeaway-name-dialog .channel-current-void,.pickup-info-dialog .channel-current-void{
  min-height:72px!important;
  margin:20px 0 0!important;
  border-radius:0 0 16px 16px!important;
}
.touch-keyboard button[data-touch-key="ESPACIO"]{max-width:520px!important}

/* COHESION_V20 — color destructivo, cuadros, mesas y fondos coherentes */
:root{--danger:#d94b57}
.payment-view{background:#213e73!important}

/* Comanda e historial/total forman una tarjeta continua. */
.ticket{gap:0!important}
.taken-by{margin-bottom:8px!important}
.ticket-items{
  border-radius:12px 12px 0 0!important;
  box-shadow:0 4px 14px rgba(15,37,68,.11)!important;
}
.discount-total{
  border-top:1px solid #d9e2ec!important;
  border-radius:0 0 12px 12px!important;
  background:#fff!important;
  box-shadow:0 7px 14px rgba(15,37,68,.11)!important;
}
.discount-total button,.discount-total strong{border:0!important;background:#fff!important}
.keypad{margin-top:10px!important}

/* El título de familia conserva el borde completo y no invade los artículos. */
.catalog-heading{
  border:1px solid #cad8e8!important;
  border-bottom:1px solid #cad8e8!important;
  border-radius:10px!important;
  box-shadow:none!important;
}
.catalog-heading::after{display:block!important}

/* Acciones destructivas globales. */
.keypad .clear-key,.payment-clear,.buffer-clear,.price-actions [data-price-clear],
.admin-keypad [data-admin-key="C"],.dialog-cancel,.payment-cancel,
.channel-current-void,.channel-detail-void,.channel-card-cancel,
.cash-close,.void:not(.reactivate),.remove-price-adjust:not(:disabled),
[data-admin-close-cash],[data-admin-void]:not(:disabled){
  border-color:var(--danger)!important;
  background:var(--danger)!important;
  background-image:none!important;
  color:#fff!important;
  box-shadow:none!important;
}
.tpv-dialog .dialog-accept[data-channel-info-save]{background:#315fca!important}
.tpv-dialog .dialog-accept[data-confirm-choice="yes"]{background:#315fca!important}
.tpv-dialog .dialog-accept[data-confirm-choice="yes"]:where([data-confirm-choice="yes"]){color:#fff!important}
.tpv-dialog .dialog-accept{background:#315fca!important}
.tpv-dialog .dialog-accept:is([data-confirm-choice="yes"]){background:#315fca!important}
.tpv-dialog:has(.dialog-accept[data-confirm-choice="yes"]) .dialog-accept[data-confirm-choice="yes"]{background:#315fca!important}
.tpv-dialog:has(.dialog-message strong) .dialog-accept[data-confirm-choice="yes"]{background:#315fca!important}

/* En confirmaciones de anulación, la acción principal también es roja. */
.tpv-dialog.destructive-confirm .dialog-accept[data-confirm-choice="yes"]{background:var(--danger)!important}

/* Domicilio sin doble reborde en la barra de la comanda. */
.channel-toolbar-spacer,.channel-order-toolbar .channel-toolbar-location{
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
}

/* Forma de pago de domicilio más ligera y equilibrada. */
.channel-payment-dialog{width:min(610px,90vw)!important;max-width:610px!important}
.channel-payment-dialog h2{padding:18px 22px!important}
.channel-payment-help{padding:18px 22px 0!important;color:#68778d!important;font-size:15px!important}
.channel-payment-options{gap:12px!important;margin:14px 22px 22px!important;padding:0!important}
.channel-payment-options button{
  height:112px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  border:1px solid #cfdbe8!important;
  border-radius:12px!important;
  background:#edf7f1!important;
  color:#21764b!important;
  box-shadow:none!important;
}
.channel-payment-options button+button{background:#eef3fb!important;color:#284f92!important}
.channel-payment-options button span{font-size:27px!important;font-weight:900!important}
.channel-payment-options button strong{font-size:20px!important}
.channel-payment-dialog .payment-cancel{height:60px!important;margin:0!important;border-radius:0 0 16px 16px!important}

/* Primer toque exterior cierra el teclado; el siguiente cierra el cuadro. */
.channel-info-dialog{transition:transform .16s ease-out!important}
.touch-keyboard-open .channel-prompt-backdrop{align-items:center!important;padding-top:18px!important}
.touch-keyboard-open .channel-info-dialog{
  max-height:none!important;
  overflow:hidden!important;
  transform:translateY(-150px)!important;
}

/* El selector de departamento con campos se desplaza igual que los datos del pedido. */
.department-change-dialog{transition:transform .16s ease-out!important}
.touch-keyboard-open .department-change-dialog{
  transform:translateY(-150px)!important;
  max-height:calc(100vh - 245px)!important;
  overflow:auto!important;
}

/* Las tarjetas conservan su altura y las columnas desplazan su contenido. */
.channel-columns>section{min-height:0!important}
.channel-card-list{
  flex:1!important;
  min-height:0!important;
  overflow-y:auto!important;
  align-content:start!important;
  grid-auto-rows:max-content!important;
}
.channel-card-list .channel-order-card{
  flex:none!important;
  min-height:122px!important;
  height:auto!important;
}

/* Esta opción pertenece al mismo grupo funcional que dividir, juntar y mover. */
.table-tools-grid [data-table-tool="department"]{
  background:#fff!important;
  color:#173d85!important;
  border-color:#c8d5e7!important;
}
.channel-info-dialog input::placeholder,.department-change-dialog input::placeholder{
  color:#a8b2c1!important;
  opacity:1!important;
  font-weight:500!important;
}

/* Debe prevalecer sobre la regla violeta de acciones de canal situada antes. */
.table-tools-card .table-tools-grid button[data-table-tool="department"]{
  border-color:#c8d5e7!important;
  background:#fff!important;
  color:#173d85!important;
}

/* Tarjetas con un único borde uniforme, sin franja lateral de estado. */
.channel-order-card,.channel-order-card.pending,.channel-order-card.completed,.channel-order-card.history{
  border:1px solid #dbe3ed!important;
  border-left:1px solid #dbe3ed!important;
  box-shadow:none!important;
}
.channel-columns h2{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
}
.channel-columns h2 b{
  min-width:30px!important;
  padding:5px 8px!important;
  border-radius:999px!important;
  background:#2f6cdf!important;
  color:#fff!important;
  font-size:14px!important;
  line-height:20px!important;
  text-align:center!important;
}

/* Cambiar de departamento usa la misma tinta que el resto de opciones. */
.channel-options-dialog .channel-option-department,
.channel-options-dialog .channel-option-price,
.channel-info-dialog .channel-info-department,
.channel-order-card .channel-card-change,
.department-confirm,
.table-tools-grid [data-table-tool="department"]{
  border:1px solid #cbd8e7!important;
  background:#fff!important;
  color:#174fcf!important;
}
.table-tools-card .table-tools-grid button[data-table-tool="department"]{color:#174fcf!important}

/* Historial anulado completamente rojo, incluida la franja total. */
.channel-order-card.cancelled,.channel-order-card.cancelled .channel-card-main,
.channel-order-card.cancelled .channel-card-main header,
.channel-order-card.cancelled .channel-card-command,
.channel-order-card.cancelled .channel-card-total{
  border-color:#bc2d3b!important;
  background:var(--danger)!important;
  color:#fff!important;
}
.channel-order-card.cancelled *{color:#fff!important;text-decoration-color:#fff!important}

/* Contadores de pendientes en accesos principales. */
.plan-actions button{position:relative!important}
.pending-bubble{
  position:absolute;right:12px;top:50%;transform:translateY(-50%);
  min-width:32px;height:32px;padding:0 9px;display:grid;place-items:center;
  border-radius:999px;background:#fff;color:#315f91;font-size:15px;font-weight:900;
}
.plan-actions button:focus,.plan-actions button:focus-visible{outline:0!important;box-shadow:0 5px 13px rgba(22,52,88,.15)!important}

/* Mesas LV y selectores: mismas proporciones visuales, borde y tipografía. */
.takeaway-dining{display:grid!important;grid-template-rows:1fr 1fr!important;gap:12px!important;padding:26px 50px!important}
.takeaway-letter-row{display:grid!important;grid-template-columns:repeat(3,112px)!important;gap:clamp(40px,9vw,150px)!important;justify-content:space-between!important;align-items:center!important;min-height:0!important}
.takeaway-letter-row.upper .takeaway-slot:first-child{grid-column:2!important}
.takeaway-letter-row.upper .takeaway-slot:last-child{grid-column:3!important}
.takeaway-letter-row.lower .takeaway-slot:nth-child(1){grid-column:1!important}
.takeaway-letter-row.lower .takeaway-slot:nth-child(2){grid-column:2!important}
.takeaway-letter-row.lower .takeaway-slot:nth-child(3){grid-column:3!important}
.takeaway-letter-row .takeaway-slot,.takeaway-numbered .takeaway-slot{
  box-sizing:border-box!important;
  border-width:2px!important;
  border-radius:14px!important;
  font-family:inherit!important;
  font-size:inherit!important;
  font-weight:850!important;
}
.takeaway-letter-row .takeaway-slot{width:112px!important;height:132px!important;min-height:132px!important}
.takeaway-slot strong{font-size:22px!important;line-height:1!important}

.mini-floor .selector-table{
  border-width:2px!important;border-radius:14px!important;
  font-family:inherit!important;font-weight:850!important;
  box-shadow:0 5px 14px rgba(20,38,68,.12)!important;
}
.mini-floor .selector-table.free{border-color:#31a968!important;background:#49c77c!important;color:#123f2b!important}
.mini-floor .selector-table.occupied{border-color:#cc293c!important;background:#e63343!important;color:#fff!important}

/* Teclado de ajuste de precio con el lenguaje visual actual. */
.price-adjust-card{border:0!important;border-radius:16px!important;box-shadow:0 22px 65px rgba(8,22,48,.30)!important}
.price-adjust-card>output{border:1px solid #cbd8e7!important;border-radius:11px!important;color:#244b9b!important}
.price-keypad{gap:8px!important}
.price-keypad button{border:1px solid #cbd7e4!important;border-radius:10px!important;background:#edf3f8!important;color:#24405f!important;box-shadow:none!important}
.price-actions button{border-radius:10px!important}

.reservations-panel strong{font-family:inherit!important;font-size:18px!important;font-weight:850!important;letter-spacing:0!important}

/* Datos descriptivos en caja normal, no en versales. */
.channel-detail-data dt{text-transform:none!important;font-size:16px!important;font-weight:500!important}

/* El formulario de datos se confirma con una única acción; no necesita volver. */
.channel-info-actions:has(> :only-child){grid-template-columns:1fr!important}
.danger-action,
button[data-key="C"],button[data-price-clear],button[data-clear-payment]{background:#d94b57!important;border-color:#d94b57!important;color:#fff!important}

/* REFINEMENTS_V21 */
.pickup-info-dialog .channel-info-actions{display:block!important;padding:0!important;margin:14px 22px 18px!important}
.pickup-info-dialog .channel-info-actions button{display:block!important;width:100%!important;min-height:48px!important;margin:0!important}
.channel-info-dialog #channel-time{font-variant-numeric:tabular-nums}

/* Historial sigue siendo un botón; el total es una superficie informativa distinta. */
.discount-total{display:grid!important;grid-template-columns:1fr 1fr!important;gap:0!important;background:#edf3f9!important}
.discount-total button{margin:0!important;border:0!important;border-right:1px solid #d3deea!important;border-radius:0!important;background:#fff!important;text-align:left!important;padding-left:16px!important}
.discount-total strong{display:flex!important;align-items:center!important;justify-content:flex-end!important;margin:0!important;border:0!important;border-radius:0!important;background:#e8f0fb!important;padding:0 16px!important}

/* Accesos del plano sin doble borde y con tipografía equilibrada. */
.plan-actions button,.plan-actions button:hover:where(:root:not(.tpv-mobile) *),.plan-actions button:active,.plan-actions button:focus,.plan-actions button:focus-visible{border:0!important;outline:0!important;box-shadow:none!important}
.plan-actions button span{font-size:clamp(17px,2.1vw,21px)!important;line-height:1!important}

/* Pago de domicilio: iconos tipográficos coherentes y tarjeta amarilla. */
.channel-payment-dialog .channel-payment-help{display:none!important}
.channel-payment-options{margin-top:22px!important}
.channel-payment-options button{border:1px solid #cbd9e7!important;background:#eaf6ef!important;color:#248052!important}
.channel-payment-options button+button{background:#ffcf42!important;color:#173b75!important;border-color:#efbc24!important}
.channel-payment-options button span{display:grid!important;place-items:center!important;width:44px!important;height:34px!important;margin:auto!important;border:2px solid currentColor!important;border-radius:8px!important;font-size:22px!important;line-height:1!important}
.channel-payment-options button:first-child span{border:0!important;font-size:31px!important}

/* Confirmaciones destructivas únicas y limpias. */
.tpv-dialog.destructive-confirm{width:min(560px,90vw)!important}
.tpv-dialog.destructive-confirm .dialog-message{padding:28px 30px 18px!important;text-align:center!important}
.tpv-dialog.destructive-confirm .dialog-message strong{font-size:22px!important;line-height:1.3!important;text-transform:none!important}
.tpv-dialog.destructive-confirm .dialog-message span{display:none!important}
.tpv-dialog.destructive-confirm>div{grid-template-columns:1fr 1.35fr!important;padding:12px 22px 24px!important}
.tpv-dialog.destructive-confirm .dialog-accept{background:#d94b57!important;color:#fff!important}

/* La mesa origen conserva el estado ocupado; el contorno lo gestiona la selección común. */
.selector-table.current-join-table,.selector-table.current-join-table:disabled{opacity:1!important;background:#e63343!important;color:#fff!important}

/* Plano LV replica las dos filas del comedor y usa mesas algo más largas. */
.takeaway-dining{padding:28px 42px!important}
.takeaway-letter-row{width:100%!important;grid-template-columns:repeat(3,142px)!important;gap:0!important;justify-content:space-between!important}
.takeaway-letter-row.upper .takeaway-slot:first-child{grid-column:2!important}
.takeaway-letter-row.upper .takeaway-slot:last-child{grid-column:3!important}
.takeaway-letter-row .takeaway-slot{width:142px!important;height:128px!important;min-height:128px!important}
.takeaway-slot small{max-width:120px!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}

/* DEPARTMENT_CHANGE_V22 */
.discount-total{overflow:hidden!important;border:1px solid #d3deea!important;border-radius:0 0 14px 14px!important;background:#fff!important;box-shadow:0 7px 14px rgba(15,37,68,.11)!important}
.discount-total button{margin:0!important;border:0!important;border-right:1px solid #d3deea!important;border-radius:0 0 0 13px!important;background:#fff!important;padding:0 16px!important}
.discount-total strong{margin:0!important;border:0!important;border-radius:0 0 13px 0!important;background:#dfeafa!important;padding:0 16px!important;color:#173a7c!important}
.plan-actions button span{font-size:19px!important;font-weight:900!important;line-height:1!important}
.channel-toolbar-location,.channel-toolbar-spacer{border:0!important;font-family:inherit!important;cursor:pointer!important}

.channel-order-card .channel-card-change{display:block!important;width:100%!important;min-height:38px!important;border:0!important;border-top:1px solid #d8e2ed!important;background:#edf3fb!important;color:#285499!important;font-size:12px!important;font-weight:900!important}
.channel-order-card.cancelled .channel-card-change{background:#b92f3b!important;color:#fff!important;border-top-color:#fff5!important}
.channel-detail-actions{grid-template-columns:1fr 1fr!important}
.channel-detail-actions .channel-detail-change{grid-column:1/-1!important;background:#315fca!important}
.channel-detail-actions:has(.channel-detail-revive){grid-template-columns:1fr!important}
.channel-detail-actions:has(.channel-detail-revive) .channel-detail-revive{grid-column:1/-1!important;width:100%!important}
.channel-payment-options button{color:#173d85!important;justify-content:center!important;padding-top:0!important}
.channel-payment-options button:first-child{color:#218653!important}
.channel-payment-options button span,.channel-payment-options button strong{color:inherit!important;transform:none!important}
.channel-payment-options button{align-items:center!important;gap:10px!important}
.channel-payment-options button span,.channel-payment-options button svg{transform:none!important}
.channel-payment-options button{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:6px!important;text-align:center!important}
.channel-payment-options button span,.channel-payment-options button strong,.channel-payment-options button svg{margin:0!important}
.channel-order-toolbar .channel-toolbar-location small,.channel-order-toolbar .channel-toolbar-spacer small{font-size:16px!important;line-height:1.1!important;font-weight:900!important}
.channel-payment-options button{position:relative!important}
.channel-payment-options button strong{position:absolute!important;left:0!important;right:0!important;bottom:18px!important;text-align:center!important}
.channel-payment-options button svg,.channel-payment-options button span{transform:translateY(-8px)!important}
.payment-methods .cash-method,.payment-methods .payment-method-divider,.payment-methods .card-method{transform:translateY(-8px)!important}
.channel-payment-options .payment-card-symbol{width:48px!important;height:34px!important;fill:none!important;stroke:currentColor!important;stroke-width:2.5!important}

.department-change-backdrop{z-index:2050!important}
.department-change-dialog{width:min(720px,92vw)!important;max-width:720px!important;overflow:hidden!important}
.department-change-dialog>header{min-height:82px!important;padding:14px 18px!important;background:#213e73!important;color:#fff!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:18px!important}
.department-change-dialog>header small{display:block!important;opacity:.78!important;font-size:12px!important;font-weight:800!important;letter-spacing:.1em!important}
.department-change-dialog>header h2{margin:4px 0 0!important;padding:0!important;background:none!important;font-size:24px!important}
.department-change-dialog>header button{width:48px!important;height:48px!important;border:0!important;border-radius:9px!important;background:#fff!important;color:#213e73!important;font-size:27px!important;font-weight:900!important}
.department-kind-grid{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:12px!important;padding:22px!important;justify-content:stretch!important}
.department-kind-grid button{min-height:90px!important;border:1px solid #cbd8e7!important;border-radius:12px!important;background:#f7f9fc!important;color:#24467f!important;font-size:18px!important;font-weight:900!important}
.department-kind-grid button:nth-child(n+4){background:#e9f0fb!important;color:#214f9f!important}
.department-hint{margin:0!important;padding:18px 22px 0!important;color:#5e6f86!important;font-weight:800!important}
.department-table-grid,.department-lv-grid{max-height:48vh!important;overflow:auto!important;display:grid!important;grid-template-columns:repeat(6,1fr)!important;gap:10px!important;padding:18px 22px!important;justify-content:stretch!important}
.department-table-grid button,.department-lv-grid button{min-height:72px!important;border:2px solid #31a968!important;border-radius:10px!important;background:#49c77c!important;color:#123f2b!important;font-size:20px!important;font-weight:900!important}
.department-lv-grid button:disabled{border-color:#b92f3b!important;background:#d94b57!important;color:#fff!important;opacity:.55!important}
.department-meta-fields{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:12px!important;padding:22px!important;justify-content:stretch!important;width:auto!important}
.department-meta-fields label{display:grid!important;gap:6px!important;color:#293c5d!important;font-weight:900!important}
.department-meta-fields input{height:52px!important;border:2px solid #b9c8dd!important;border-radius:9px!important;padding:0 12px!important;font-size:19px!important}
.department-confirm{height:54px!important;margin-top:4px!important;border:0!important;border-radius:9px!important;background:#315fca!important;color:#fff!important;font-weight:900!important}
.department-back{width:calc(100% - 44px)!important;height:48px!important;margin:0 22px 20px!important;border:0!important;border-radius:9px!important;background:#dfe7f2!important;color:#2d4262!important;font-weight:900!important}

/* Los formularios de destino usan exactamente la misma escala compacta que llevar y recoger. */
.department-change-dialog:has(.department-meta-fields){
  width:min(430px,80vw)!important;
  max-width:430px!important;
}
.department-change-dialog:has(.department-meta-fields)>header{min-height:64px!important;padding:12px 18px!important}
.department-change-dialog:has(.department-meta-fields)>header h2{font-size:18px!important}
.department-change-dialog>header button,
.department-change-dialog:has(.department-meta-fields)>header button{
  display:flex!important;align-items:center!important;justify-content:center!important;
  box-sizing:border-box!important;padding:0!important;line-height:1!important;
}
.department-change-dialog:has(.department-meta-fields)>header button{width:40px!important;height:40px!important;font-size:23px!important}

/* Tamaño universal para todas las X de cierre del TPV. */
.tpv-dialog-backdrop section>header>button,
.table-tools-backdrop section>header>button,
.item-editor header>button,
.full-order-head>button,
button[aria-label="Cerrar"]{
  width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important;
  display:flex!important;align-items:center!important;justify-content:center!important;
  box-sizing:border-box!important;padding:0!important;line-height:1!important;
  font-size:26px!important;font-weight:800!important;
}
.department-change-dialog:has(.department-meta-fields) .department-meta-fields{gap:10px!important;padding:16px 18px!important}
.department-change-dialog:has(.department-meta-fields) .department-meta-fields label{gap:4px!important;font-size:14px!important}
.department-change-dialog:has(.department-meta-fields) .department-meta-fields input{height:44px!important;font-size:17px!important}
.department-change-dialog:has(.department-meta-fields) .department-confirm{height:48px!important;margin-top:2px!important}
.department-change-dialog:has(.department-meta-fields) .department-back{width:calc(100% - 36px)!important;height:44px!important;margin:0 18px 14px!important}

/* Plano LV sin medidas absolutas que puedan provocar solapes. */
.takeaway-dining{padding:28px 34px!important;overflow:hidden!important;grid-template-columns:minmax(0,1fr)!important;justify-content:stretch!important}
.takeaway-letter-row{width:auto!important;min-width:0!important;display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:18px!important;justify-content:stretch!important;justify-self:stretch!important}
.takeaway-letter-row.upper{width:auto!important;margin-left:0!important;grid-template-columns:repeat(3,minmax(0,1fr))!important}
.takeaway-letter-row .takeaway-slot{width:100%!important;max-width:150px!important;height:126px!important;min-height:126px!important;justify-self:center!important}

/* REFINEMENTS_V23 */
/* El selector de departamento reutiliza los dos planos reales del TPV. */
.department-change-dialog:has(.department-main-floor){width:min(820px,96vw)!important;max-width:820px!important;height:min(748px,97vh)!important;display:flex!important;flex-direction:column!important}
.department-change-dialog:has(.department-takeaway-plan){width:min(980px,96vw)!important;max-width:980px!important;height:min(720px,94vh)!important;display:flex!important;flex-direction:column!important}
.department-change-dialog:has(.department-main-floor)>header{min-height:68px!important}
.department-change-dialog:has(.department-main-floor) .department-hint{padding:8px 18px 0!important;font-size:14px!important}
.department-change-dialog:has(.department-main-floor) .department-back{height:40px!important;margin:6px 18px 10px!important;width:calc(100% - 36px)!important}
.department-main-floor{flex:1!important;min-height:0!important;margin:8px 18px 4px!important;border:1px solid #d3deea!important;border-radius:14px!important;overflow:hidden!important;background:#f8fafc!important}
.department-main-floor .terrace-zone .table-card:not(.double-table){height:78px!important;min-height:78px!important}
.department-main-floor .terrace-zone .double-table{height:52px!important;min-height:52px!important}
.department-main-floor .awning-zone .table-card{height:58px!important;min-height:58px!important}
.department-main-floor .dining-grid .table-card{height:88px!important;min-height:88px!important}
.department-takeaway-plan{flex:1!important;min-height:0!important;padding:12px 18px 18px!important}
.department-takeaway-plan .takeaway-letter-row .takeaway-slot{height:154px!important;min-height:154px!important}
.department-kind-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}

/* El rectángulo de todos los tipos de comanda es idéntico al de una mesa. */
.order-toolbar .channel-options-trigger,
.order-toolbar .table-options-trigger{
  border:0!important;border-radius:11px!important;background:#315fca!important;
  color:#fff!important;box-shadow:0 5px 12px rgba(49,95,202,.16)!important;
  text-shadow:none!important;padding:0 12px!important;font-family:inherit!important;
}
.order-toolbar .channel-options-trigger strong,.order-toolbar .table-options-trigger strong{font-size:21px!important;line-height:1!important;font-weight:900!important}
.order-toolbar .channel-options-trigger small,.order-toolbar .table-options-trigger small{display:block!important;margin-top:6px!important;color:#fff!important;font-size:15px!important;line-height:1!important;font-weight:800!important}

/* Menú habitual del pedido: editar datos, cambiar departamento y anular. */
.channel-options-dialog{width:min(560px,90vw)!important;overflow:hidden!important}
.channel-options-dialog h2{margin:0!important}
.channel-options-dialog>button{display:block!important;width:calc(100% - 36px)!important;min-height:58px!important;margin:14px 18px 0!important;border:1px solid #cbd8e7!important;border-radius:10px!important;background:#fff!important;color:#244b8f!important;font-weight:900!important}

/* Cabecera de mesas: el identificador queda casi al mismo tamaño que el departamento. */
.order-toolbar .table-options-trigger strong{font-size:25px!important;line-height:1!important;font-weight:900!important}
.order-toolbar .table-options-trigger small{font-size:21px!important;line-height:1!important;margin-top:6px!important;font-weight:900!important;color:#fff!important}
.channel-options-dialog .channel-option-department{background:#315fca!important;color:#fff!important;border-color:#315fca!important}
.channel-options-dialog .channel-current-void{margin-bottom:18px!important;background:#d94b57!important;color:#fff!important;border-color:#d94b57!important;border-radius:10px!important}

/* Anular mesa ocupa una celda normal, igual que las demás herramientas. */
.table-tools-grid .table-tool-void{grid-column:auto!important;min-height:125px!important;text-align:left!important;border-radius:12px!important}

/* Historial es inequívocamente un botón y Total una superficie distinta. */
.discount-total{padding:6px!important;gap:7px!important;border:1px solid #c8d5e4!important;border-radius:0 0 14px 14px!important;background:#edf3f9!important}
.discount-total button{height:42px!important;border:2px solid #315fca!important;border-radius:9px!important;background:#fff!important;color:#244b91!important;box-shadow:0 2px 6px rgba(30,63,115,.12)!important;text-align:center!important;padding:0 12px!important}
.discount-total strong{height:42px!important;border:1px solid #b7cae5!important;border-radius:9px!important;background:#cbdcf5!important;color:#123a7d!important;padding:0 14px!important}

/* Las mesas LV con letra son más largas verticalmente también en el plano normal. */
.takeaway-letter-row .takeaway-slot{height:154px!important;min-height:154px!important}
.channel-info-dialog .channel-info-department,.channel-info-dialog .channel-current-void{
  display:block!important;width:calc(100% - 52px)!important;min-height:54px!important;
  margin:14px 26px 0!important;border-radius:10px!important;font-weight:900!important;
}
.channel-info-dialog .channel-info-department{border:0!important;background:#315fca!important;color:#fff!important}
.channel-info-dialog .channel-current-void{margin-bottom:20px!important;border:0!important;background:#d94b57!important;color:#fff!important}
.order-toolbar.channel-order-toolbar button.channel-toolbar-location.channel-options-trigger,
.order-toolbar.channel-order-toolbar button.channel-toolbar-spacer.channel-options-trigger{
  border:0!important;border-radius:11px!important;background:#315fca!important;background-image:none!important;
  color:#fff!important;box-shadow:0 5px 12px rgba(49,95,202,.16)!important;text-shadow:none!important;
}

/* FINAL_REFINEMENTS_V24 */
/* Los contadores viven centrados en el hueco libre a la derecha del rótulo. */
.plan-actions button .pending-bubble{
  left:82%!important;right:auto!important;top:50%!important;
  transform:translate(-50%,-50%)!important;
}

/* Una mesa dividida conserva sus estados por cuadrante, sin contorno verde. */
.floor-plan button.table-card.split-table,
.floor-plan button.table-card.split-table.free,
.floor-plan button.table-card.split-table.group-single-outline{
  border-color:#c8d5e4!important;
}
.floor-plan .split-table .split-visual i.free,
.floor-plan .split-group-card .split-visual i.free{
  border-color:transparent!important;
}

/* LLEVAR/RECOGER usan exactamente la jerarquía tipográfica del botón de mesa. */
.order-toolbar .channel-options-trigger strong,
.order-toolbar .table-options-trigger strong{
  font-size:18px!important;line-height:1!important;font-weight:900!important;
}
.order-toolbar.channel-order-toolbar button.channel-toolbar-location.channel-options-trigger strong,
.order-toolbar.channel-order-toolbar button.channel-toolbar-spacer.channel-options-trigger strong{
  font-size:18px!important;line-height:1!important;font-weight:900!important;
}
.order-toolbar .channel-options-trigger small,
.order-toolbar .table-options-trigger small{
  margin-top:4px!important;font-size:12px!important;line-height:1!important;font-weight:800!important;
}
.order-toolbar.channel-order-toolbar button.channel-toolbar-location.channel-options-trigger small,
.order-toolbar.channel-order-toolbar button.channel-toolbar-spacer.channel-options-trigger small{
  margin-top:4px!important;font-size:24px!important;line-height:1!important;font-weight:900!important;
}

/* Un cambio de departamento es una acción secundaria, no una confirmación azul. */
.channel-options-dialog .channel-option-department,
.channel-options-dialog .channel-option-price,
.channel-info-dialog .channel-info-department,
.channel-order-card .channel-card-change,
.department-confirm,
.table-tools-grid [data-table-tool="department"]{
  border-color:#7250a8!important;background:#7250a8!important;color:#fff!important;
}

/* El cobro de Recoger/Llevar no existe visual ni funcionalmente sin artículos. */
.channel-order-toolbar .ticket-action[data-channel-charge]:disabled{
  border:0!important;background:#d8dee8!important;color:#7b8798!important;
  box-shadow:none!important;cursor:not-allowed!important;opacity:1!important;
}

/* LVA–LVE: máximamente altas dentro del plano y algo más estrechas. */
.takeaway-letter-row .takeaway-slot,
.department-takeaway-plan .takeaway-letter-row .takeaway-slot,
.revive-takeaway-modal .takeaway-letter-row .takeaway-slot{
  width:100%!important;max-width:112px!important;
  height:clamp(190px,28vh,220px)!important;min-height:190px!important;
  justify-self:center!important;
}
.takeaway-letter-row{align-items:center!important}

/* La ventana de pago de domicilio ya se cierra tocando el fondo. */
.channel-payment-dialog:has(.channel-payment-options){padding-bottom:0!important}

/* OVERRIDE_FINAL_V25: en mesas es una herramienta normal, no violeta. */
.table-tools-card .table-tools-grid button[data-table-tool="department"]{
  border-color:#c8d5e7!important;
  background:#fff!important;
  color:#173d85!important;
}

/* OVERRIDE FINAL: en mesas es una herramienta normal, no la acción violeta de canales. */
.table-tools-card .table-tools-grid button[data-table-tool="department"]{
  border-color:#c8d5e7!important;
  background:#fff!important;
  color:#173d85!important;
}

/* Mismo azul exacto que las demás tarjetas de herramientas de mesa. */
.table-tools-card .table-tools-grid button[data-table-tool="department"] strong{
  color:#174fcf!important;
}

/* Con teclado táctil, los cuadros con campos quedan enteros por encima de él. */
.touch-keyboard-open .channel-prompt-backdrop,
.touch-keyboard-open .department-change-backdrop{
  align-items:flex-start!important;
  padding:12px 18px 292px!important;
  overflow-y:auto!important;
}
.touch-keyboard-open .channel-info-dialog,
.touch-keyboard-open .department-change-dialog{
  width:min(560px,92vw)!important;
  max-height:calc(100dvh - 292px)!important;
  margin:0 auto!important;
  overflow-y:auto!important;
  transform:none!important;
}
.touch-keyboard-open .department-change-dialog{width:min(720px,92vw)!important}
.touch-keyboard{bottom:8px!important}
.touch-keyboard button{height:44px!important}
.touch-keyboard.numeric button{height:50px!important}

/* Una mesa sin artículos no puede parecer apta para cambiar de departamento. */
.table-tools-card .table-tools-grid button[data-table-tool="department"]:disabled,
.table-tools-card .table-tools-grid button[data-table-tool="department"]:disabled strong,
.table-tools-card .table-tools-grid button[data-table-tool="department"]:disabled small{
  background:#d8dee7!important;
  color:#8a94a3!important;
  border-color:#c8ced7!important;
  box-shadow:none!important;
  cursor:default!important;
}
  
/* La presencia de otro usuario siempre se señala con contorno amarillo. */
.floor-plan button.table-card.has-active-session,
.floor-plan button.table-card.group-single-outline.has-active-session,
.floor-plan .group-merged-card.group-merged-card.has-active-session{
  border:4px solid #f4c430!important;
  box-shadow:0 0 0 2px #fff7c2,0 5px 16px #1522382b!important;
}
.takeaway-slot.has-active-session{
  border:4px solid #f4c430!important;
  box-shadow:0 0 0 2px #fff7c2,0 5px 16px #1522382b!important;
}

/* Al imprimir, el miembro no contiguo conserva la identificación visual del grupo. */
.floor-plan button.table-card.group-single-outline.printed:not(.has-active-session){
  border:3px solid #884ee8!important;
}

/* Presencia arriba, identificador centrado y tiempo abajo. */
.floor-plan .table-card .table-meta{
  inset:0!important;display:block!important;pointer-events:none!important;
}
.floor-plan .table-card .table-meta .table-presence{
  position:absolute!important;top:6px!important;bottom:auto!important;left:4px!important;right:4px!important;
}
.floor-plan .table-card .table-meta .table-elapsed{
  position:absolute!important;top:auto!important;bottom:6px!important;left:4px!important;right:4px!important;
}
/* Reserva bandas reales para la presencia y el tiempo: nunca deben tapar el número. */
.floor-plan .table-card:has(.table-meta .table-elapsed) .number{
  bottom:15px!important;
}
.floor-plan .table-card:has(.table-meta .table-presence) .number{
  top:14px!important;
}
.floor-plan .group-merged-card{position:absolute!important}
.floor-plan .group-merged-card>.table-presence{
  position:absolute!important;top:7px!important;left:5px!important;right:5px!important;margin:0!important;text-align:center!important;
}
.floor-plan .group-merged-card>.table-elapsed{
  position:absolute!important;bottom:6px!important;left:5px!important;right:5px!important;margin:0!important;text-align:center!important;
}

/* Cuadros de datos compactos: el teclado no obliga a usar una ventana enorme. */
.takeaway-name-dialog{
  width:min(460px,82vw)!important;
  max-width:460px!important;
  padding:0 0 18px!important;
}
.pickup-info-dialog{
  width:min(480px,82vw)!important;
  max-width:480px!important;
  padding:0 0 18px!important;
}
.takeaway-name-dialog h2,.pickup-info-dialog h2{
  margin:0 0 14px!important;
  padding:15px 20px!important;
  font-size:20px!important;
}
.takeaway-name-dialog label,.pickup-info-dialog label{
  margin:0 20px 13px!important;
  gap:6px!important;
  font-size:15px!important;
}
.takeaway-name-dialog input,.pickup-info-dialog input{
  height:50px!important;
  font-size:18px!important;
}
.takeaway-name-dialog>div,.pickup-info-dialog>div,.pickup-info-dialog .channel-info-actions{
  margin:0 20px!important;
}
.takeaway-name-dialog>div button,.pickup-info-dialog .channel-info-actions button{
  height:48px!important;
  min-height:48px!important;
}
.touch-keyboard-open .channel-prompt-backdrop,
.touch-keyboard-open .department-change-backdrop{
  align-items:center!important;
  padding:12px 18px 292px!important;
}
.touch-keyboard-open .takeaway-name-dialog{width:min(460px,82vw)!important}
.touch-keyboard-open .pickup-info-dialog{width:min(480px,82vw)!important}
.touch-keyboard-open .department-change-dialog:has(.department-meta-fields){width:min(430px,80vw)!important}

/* En el selector de destino no hay acciones abajo: Comedor ocupa y centra toda esa franja. */
.department-main-floor .lower-zones{
  grid-template-columns:1fr!important;
  border-top:0!important;
}
.department-main-floor .upper-zones{border-bottom:0!important}
.department-main-floor::after{display:none!important}
.department-main-floor .terrace-zone{border-right:var(--separator) solid #e1e7ef!important}

/* Datos de llevar/recoger: mismo formato compacto, preparado para teclado. */
.takeaway-name-dialog,.pickup-info-dialog{
  width:min(430px,80vw)!important;
  max-width:430px!important;
  padding:0 0 14px!important;
}
.takeaway-name-dialog h2,.pickup-info-dialog h2{
  margin:0 0 10px!important;
  padding:13px 18px!important;
  font-size:18px!important;
}
.takeaway-name-dialog label,.pickup-info-dialog label{
  margin:0 18px 10px!important;
  gap:4px!important;
  font-size:14px!important;
}
.takeaway-name-dialog input,.pickup-info-dialog input{
  height:44px!important;
  font-size:17px!important;
}
.takeaway-name-dialog>div,.pickup-info-dialog>div,.pickup-info-dialog .channel-info-actions{
  margin:0 18px!important;
}
.takeaway-name-dialog>div button,.pickup-info-dialog .channel-info-actions button{
  height:44px!important;
  min-height:44px!important;
  font-size:15px!important;
}
.takeaway-name-dialog .channel-info-actions{
  display:contents!important;
}
.takeaway-name-dialog .channel-info-actions .dialog-accept{
  display:block!important;
  width:calc(100% - 36px)!important;
  margin:0 18px!important;
}

/* Avisos y confirmaciones: misma jerarquía visual y tipografía en todo el TPV. */
.tpv-dialog.warning-dialog{
  width:min(480px,88vw)!important;
  padding:24px 24px 22px!important;
  background:#fff!important;
  text-align:center!important;
}
.tpv-dialog.warning-dialog>h2{
  position:absolute!important;
  width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;
  overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important;
}
.warning-symbol{
  width:74px!important;height:74px!important;margin:0 auto 18px!important;
  display:grid!important;place-items:center!important;border-radius:25px!important;
  background:#fdf0ef!important;color:#cf3541!important;
  font-family:inherit!important;font-size:46px!important;line-height:1!important;font-weight:900!important;
}
.tpv-dialog.warning-dialog .dialog-message,.tpv-dialog.warning-dialog .warning-copy{
  margin:0!important;padding:0 0 20px!important;display:block!important;
  color:#263955!important;font-family:inherit!important;text-align:center!important;
}
.tpv-dialog.warning-dialog .dialog-message strong,.tpv-dialog.warning-dialog .warning-copy{
  display:block!important;font-size:20px!important;line-height:1.32!important;font-weight:800!important;
}
.tpv-dialog.warning-dialog .dialog-message span{display:block!important;margin:9px 0 0!important;padding:0!important;border:0!important;background:none!important;color:#687891!important;font-size:15px!important;line-height:1.4!important}
.tpv-dialog.warning-dialog>div:last-child{display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important;padding:0!important}
.tpv-dialog.warning-dialog button{height:50px!important;min-height:50px!important;font-family:inherit!important;font-size:15px!important;font-weight:900!important}
.tpv-dialog.warning-dialog.concurrent-confirm>div:last-child{grid-template-columns:1fr!important}
.tpv-dialog.warning-dialog.concurrent-confirm .dialog-accept{width:100%!important}
.tpv-dialog.warning-dialog.concurrent-confirm>h2{position:static!important;width:auto!important;height:auto!important;margin:0 0 12px!important;overflow:visible!important;clip:auto!important;white-space:normal!important;background:transparent!important;border:0!important;padding:0!important;font-size:20px!important;line-height:1.25!important;color:#263955!important}
.tpv-dialog.warning-dialog.concurrent-confirm>.warning-symbol{display:grid!important;place-items:center!important;margin:0 auto 30px!important;background:transparent!important}
.tpv-dialog.warning-dialog.concurrent-confirm .concurrent-message{margin:0 0 24px!important}
.tpv-dialog.warning-dialog.concurrent-confirm .concurrent-message span{margin:0!important;font-size:15px!important}

/* El icono se centra por su propia caja, sin depender de la línea tipográfica. */
.tpv-dialog.warning-dialog .warning-symbol{
  display:block!important;
  box-sizing:border-box!important;
  line-height:74px!important;
  text-align:center!important;
  padding:0!important;
  font-weight:700!important;
  background:transparent!important;
}
.tpv-dialog.warning-dialog .warning-symbol svg{display:block!important;width:74px!important;height:74px!important;color:initial!important}
.tpv-dialog.warning-dialog.concurrent-confirm>.warning-symbol svg{width:74px!important;height:74px!important;color:initial!important}
.takeaway-name-dialog .channel-info-department,.pickup-info-dialog .channel-info-department,
.takeaway-name-dialog .channel-current-void,.pickup-info-dialog .channel-current-void{
  min-height:44px!important;
  margin:10px 18px 0!important;
  width:calc(100% - 36px)!important;
  border-radius:8px!important;
}
.takeaway-name-dialog .channel-current-void,.pickup-info-dialog .channel-current-void{margin-bottom:0!important}
.touch-keyboard-open .takeaway-name-dialog,.touch-keyboard-open .pickup-info-dialog{
  width:min(430px,80vw)!important;
  max-height:calc(100dvh - 292px)!important;
}
.department-main-floor .department-plan-empty{
  display:none!important;
}
.department-main-floor .dining-zone{
  width:100%!important;
  padding:10px 18%!important;
  border:0!important;
}
.department-main-floor .dining-grid{
  width:min(440px,100%)!important;
  margin:0 auto!important;
}

/* La ventana de opciones no necesita reborde exterior; se conservan los bordes de sus tarjetas. */
.table-tools-card{border:0!important}
.table-tools-backdrop{backdrop-filter:blur(7px)!important;-webkit-backdrop-filter:blur(7px)!important}
.selector-table.current-join-table,
.selector-table.current-join-table:disabled{opacity:1!important;background:#e63343!important;color:#fff!important}

/* Tamaño único para las dos líneas de identificación de la cabecera. */
.order-toolbar.channel-order-toolbar .channel-toolbar-location strong,
.order-toolbar.channel-order-toolbar .channel-toolbar-spacer strong,
.order-toolbar .table-options-trigger strong{
  font-size:20px!important;
  line-height:1!important;
  font-weight:900!important;
}
.order-toolbar.channel-order-toolbar .channel-toolbar-location small,
.order-toolbar.channel-order-toolbar .channel-toolbar-spacer small,
.order-toolbar .table-options-trigger small{
  font-size:17px!important;
  line-height:1!important;
  margin-top:1px!important;
  font-weight:900!important;
}

/* Un salto de línea compacto en los avisos */
.tpv-dialog.warning-dialog .dialog-message strong{white-space:pre-line!important}
/* El plano mini no debe desbordar por bordes y padding */
.mini-floor,.mini-floor *{box-sizing:border-box!important}
.mini-upper,.mini-lower,.mini-upper>section,.mini-lower>section{min-width:0!important}
.mini-floor{overflow:hidden!important}

/* La separación entre columnas debe descontarse del ancho disponible. */
.order-view{
  grid-template-columns:minmax(0,39fr) minmax(0,61fr)!important;
}

/* Una sola implementación para cualquier selección pendiente, individual o agrupada. */
.mini-floor .selector-table.mini-group-pending,
.mini-floor .mini-group-merged.pending{
  position:absolute;
  border-color:transparent!important;
  outline:0!important;
  animation:none!important;
}
.mini-floor .selector-table.mini-group-pending{position:relative!important;overflow:visible!important}
.mini-floor .selector-table.mini-group-pending::after,
.mini-floor .mini-group-merged.pending::after{
  content:""!important;
  position:absolute!important;
  inset:-3px!important;
  box-sizing:border-box!important;
  border:3px solid #884ee8!important;
  border-radius:12px!important;
  pointer-events:none!important;
  animation:join-selection-blink .9s steps(1,end) infinite!important;
}

/* Un solo salto, con aire tipográfico sin introducir una línea vacía. */
.tpv-dialog.warning-dialog .dialog-message strong{
  white-space:pre-line!important;
  line-height:1.45!important;
}

/* La acción de precio conserva el mismo formato anterior que las demás acciones. */
.takeaway-name-dialog .channel-option-price,
.pickup-info-dialog .channel-option-price{
  display:inline-flex!important;
  vertical-align:top!important;
  align-items:center!important;
  justify-content:center!important;
  width:calc(50% - 23px)!important;
  min-height:44px!important;
  margin:10px 5px 0 18px!important;
  border:0!important;
  border-radius:8px!important;
  background:#d7dee8!important;
  color:#30415d!important;
  font-size:15px!important;
  font-weight:900!important;
}

/* La confirmación siempre domina el resto de modales y oculta el teclado. */
.confirmation-backdrop{
  z-index:9000!important;
  backdrop-filter:blur(7px)!important;
  -webkit-backdrop-filter:blur(7px)!important;
}
.confirmation-backdrop .warning-dialog{z-index:9001!important}
.channel-options-dialog .channel-option-price{
  background:#d7dee8!important;
  border-color:#cbd8e7!important;
  color:#30415d!important;
}
.takeaway-name-dialog .channel-info-department,
.pickup-info-dialog .channel-info-department{
  display:inline-flex!important;
  vertical-align:top!important;
  align-items:center!important;
  justify-content:center!important;
  width:calc(50% - 23px)!important;
  min-height:44px!important;
  margin:10px 18px 0 5px!important;
}
.touch-keyboard-open .takeaway-name-dialog,
.touch-keyboard-open .pickup-info-dialog{
  max-height:none!important;
  overflow:hidden!important;
}

/* Identical macOS-style typography on Windows and touch terminals. */
html,body,button,input,select,textarea,#admin-root,.admin-confirm,.day-closed{font-family:'SF Pro Text',Arial,sans-serif!important}
h1,h2,h3,.page-title,.dialog-title,.clock-time,.table-card .number{font-family:'SF Pro Text',Arial,sans-serif!important}

/* Los subtítulos de ubicación comparten la medida de una mesa en todos los canales. */
.order-toolbar .table-options-trigger small,
.order-toolbar.channel-order-toolbar button.channel-toolbar-location.channel-options-trigger small,
.order-toolbar.channel-order-toolbar button.channel-toolbar-spacer.channel-options-trigger small{
  font-size:17px!important;
  line-height:1!important;
  margin-top:1px!important;
  font-weight:900!important;
}

/* Los campos de datos nunca desbordan los márgenes de sus diálogos. */
.takeaway-name-dialog input,
.pickup-info-dialog input,
.takeaway-name-dialog select,
.pickup-info-dialog select,
.department-change-dialog .department-meta-fields input,
.department-change-dialog .department-meta-fields select{
  box-sizing:border-box!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
}
.takeaway-name-dialog select,
.pickup-info-dialog select,
.department-change-dialog .department-meta-fields select{
  height:44px!important;
  border:2px solid #b9c8dd!important;
  border-radius:9px!important;
  padding:0 12px!important;
  background:#fff!important;
  color:#293c5d!important;
  font-size:17px!important;
  font-weight:700!important;
}
.takeaway-name-dialog input[type="time"],
.pickup-info-dialog input[type="time"],
.department-change-dialog .department-meta-fields input[type="time"]{
  padding-inline:12px!important;
  font-variant-numeric:tabular-nums!important;
}

/* Separa visualmente las mesas superiores del área de Comedor. */
.department-main-floor .upper-zones{
  border-bottom:2px solid #e1e7ef!important;
}

/* Hora de recogida: dos selectores con la altura de los campos de datos. */
.pickup-time-selects{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:8px!important;
  width:100%!important;
}
.pickup-time-selects select{
  box-sizing:border-box!important;
  width:100%!important;
  min-width:0!important;
  height:44px!important;
  min-height:44px!important;
  border:2px solid #b9c8dd!important;
  border-radius:9px!important;
  padding:0 12px!important;
  background:#fff!important;
  color:#293c5d!important;
  font-size:17px!important;
  font-weight:700!important;
}

/* El plano de selección replica el plano principal: división completa y Comedor centrado. */
.department-main-floor .upper-zones{
  position:relative!important;
}
.department-main-floor .upper-zones::after{
  content:""!important;
  position:absolute!important;
  left:0!important;
  right:0!important;
  bottom:-2px!important;
  height:2px!important;
  background:#e1e7ef!important;
}
.mini-upper{
  grid-template-columns:60% 40%!important;
  border-bottom:2px solid #e1e7ef!important;
}
.mini-upper>section:first-child{
  border-right:2px solid #e1e7ef!important;
}
.mini-lower{
  grid-template-columns:1fr!important;
}
.mini-lower>section{
  width:100%!important;
  border-right:0!important;
}
.mini-lower .mini-dining{
  width:min(440px,100%)!important;
  margin:0 auto!important;
}

/* El área de destino se lee como un único plano, también en Toldo. */
.department-main-floor .terrace-zone,
.department-main-floor .awning-zone{
  background:#f8fafc!important;
}

/* El plano interior conserva su contorno completo y los márgenes simétricos. */
.department-main-floor{
  align-self:center!important;
  width:calc(100% - 36px)!important;
  box-sizing:border-box!important;
}
.department-main-floor .upper-zones{
  box-sizing:border-box!important;
  border-bottom:2px solid #e1e7ef!important;
}
.department-main-floor .upper-zones::after{display:none!important;}

/* Ajuste tipográfico exclusivo de las cajas del catálogo. */
.family-grid .category{
  font-size:clamp(12px,1.3vw,16px)!important;
  line-height:1.12!important;
}
.product-grid.full-grid .product strong{
  font-size:clamp(11px,1.15vw,15px)!important;
  line-height:1.12!important;
}

/* Un único fondo para todas las zonas del plano principal. */
.floor-plan .terrace-zone,
.floor-plan .awning-zone,
.floor-plan .dining-zone,
.floor-plan .plan-actions{
  background:#f5f8fc!important;
}

/* SECURITY_GATE_V1 */
.security-gate{min-height:100vh;box-sizing:border-box;display:grid;place-items:center;padding:28px;background:#172856}.security-card{box-sizing:border-box;width:min(560px,100%);padding:34px;border-radius:18px;background:#fff;box-shadow:0 22px 70px rgba(4,14,38,.38)}.security-brand{display:flex;align-items:center;justify-content:space-between;padding-bottom:18px;border-bottom:2px solid #e2e8f0;color:#173b85}.security-brand strong{font-size:20px;letter-spacing:.06em}.security-brand span{color:#71809a;font-size:11px;font-weight:900}.security-card h1{margin:28px 0 8px;color:#173b85;font-size:30px}.security-card>p{margin:0 0 24px;color:#697895;line-height:1.45}.security-actions,.employee-options{display:grid;gap:12px}.security-card button,.security-card form button{min-height:58px;border:0;border-radius:10px;background:#315fca;color:#fff;font-size:15px;font-weight:900}.security-card button.secondary{background:#e5ecf6;color:#274777}.security-card .security-back{min-height:38px;margin-top:18px;padding:0 12px;background:#e5ecf6;color:#274777;font-size:11px}.security-card form{display:grid;gap:16px}.security-card label{display:grid;gap:7px;color:#536783;font-size:11px;font-weight:900}.security-card input{box-sizing:border-box;width:100%;height:56px;padding:0 14px;border:2px solid #cbd7e5;border-radius:9px;color:#173b85;font-size:19px;font-weight:800}.security-error{margin:0 0 16px;padding:11px;border-radius:8px;background:#fff0f1;color:#a52a36;font-weight:800}.employee-options{grid-template-columns:repeat(3,1fr)}.employee-options button{min-height:86px;font-size:19px}.security-listening{display:flex;align-items:center;justify-content:center;gap:12px;margin:22px 0;padding:24px;border-radius:12px;background:#e7f5ed;color:#217348}.security-listening i{width:14px;height:14px;border-radius:50%;background:#2d9d64;box-shadow:0 0 0 0 rgba(45,157,100,.5);animation:securityPulse 1.5s infinite}@keyframes securityPulse{70%{box-shadow:0 0 0 12px rgba(45,157,100,0)}100%{box-shadow:0 0 0 0 rgba(45,157,100,0)}}

/* SCROLL_CONTAINMENT_V1: la página nunca se desplaza; sólo los paneles que lo declaran. */
html,body{width:100%;height:100%;overflow:hidden!important;overscroll-behavior:none}
.close-tpv-panel{min-height:52px;border:0;border-radius:10px;background:#d94b57;color:#fff;font-size:14px;font-weight:900;letter-spacing:.03em}
.tpv-closed-screen{position:fixed;inset:0;display:grid;place-content:center;justify-items:center;gap:18px;padding:32px;background:#101828;color:#fff;text-align:center}.tpv-closed-screen img{width:min(320px,65vw);max-height:220px;object-fit:contain}.tpv-closed-screen h1{margin:10px 0 0;font-size:clamp(32px,6vw,64px)}.tpv-closed-screen p{margin:0;color:#cbd5e1;font-size:clamp(16px,2.4vw,24px)}.tpv-closed-screen strong{color:#f7c948;font-size:clamp(16px,2.2vw,22px)}

/* MENU_EDITOR_LAYER_V2: al editar dentro de un menú, el editor es la única capa modal visible. */
html.menu-component-editing .menu-order-backdrop{background:transparent!important}
html.menu-component-editing .item-editor-backdrop{position:fixed!important;inset:0!important;z-index:2201!important;background:#071633c7!important}
html.menu-component-editing .manual-option-dialog,.manual-option-dialog{position:fixed!important;inset:0!important;z-index:2305!important;display:flex!important;align-items:center!important;justify-content:center!important;background:#071633b8!important;box-sizing:border-box!important}
.manual-option-dialog .tpv-dialog{width:min(480px,calc(100vw - 36px))!important;max-width:480px!important;margin:0!important}
.touch-keyboard-open .manual-option-dialog{align-items:center!important;padding:12px 18px calc(var(--touch-keyboard-inset,278px) + 12px)!important;overflow:hidden!important}
.touch-keyboard-open .manual-option-dialog .tpv-dialog{max-height:calc(100vh - var(--touch-keyboard-inset,278px) - 24px)!important;overflow:auto!important}
button[data-menu-order-skip]{display:none!important}
.menu-summary-choice em{right:56px!important}
/* A 1024×768 el editor queda íntegro sobre el teclado: se desplaza su contenido, no la ventana. */
@media(min-width:761px){.touch-keyboard-open .item-editor-backdrop{align-items:flex-start!important;padding:10px 18px calc(var(--touch-keyboard-inset,278px) + 12px)!important;overflow:hidden!important}.touch-keyboard-open .item-editor{max-height:calc(100vh - var(--touch-keyboard-inset,278px) - 22px)!important;overflow:auto!important}.item-editor .kitchen-options{max-height:calc(100vh - 260px);overflow:auto}.kitchen-option-group{padding:10px;border:1px solid #d9e2ed;border-radius:10px;background:#f8fafc}.kitchen-option-group h3{margin:0 0 8px;color:#274777}.kitchen-option-group>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.kitchen-option-group button{min-height:42px}.kitchen-option-group p{margin:0;color:#71809a;font-size:12px}}

/* CANCEL_ALWAYS_RED_V1: cancelación consistente desde el primer render. */
.dialog-cancel,.payment-cancel,.item-editor footer button[data-close-editor],.table-selector-card footer button[data-close-table-selector]{background:#d94b57!important;color:#fff!important}.dialog-cancel:hover:where(:root:not(.tpv-mobile) *),.payment-cancel:hover:where(:root:not(.tpv-mobile) *),.item-editor footer button[data-close-editor]:hover:where(:root:not(.tpv-mobile) *),.table-selector-card footer button[data-close-table-selector]:hover:where(:root:not(.tpv-mobile) *){background:#c53f4b!important;color:#fff!important}

button.liberty-logo{cursor:pointer;border:1px solid #d8e0ea;background:#fff}

/* El recargo de un componente de menú se lee junto al artículo seleccionado. */
.menu-summary-choice strong{padding-right:112px!important}.menu-summary-choice em{top:auto!important;bottom:12px!important;right:56px!important;transform:none!important;font-size:17px!important;line-height:1.15!important}
html.menu-component-editing .invitation-toggle{font-size:0}
html.menu-component-editing .invitation-toggle::after{content:'MARCAR COMO INCLUIDO';font-size:15px}
html.menu-component-editing .invitation-toggle.active::after{content:'INCLUIDO'}
.menu-duplicate-dialog{max-width:560px}.menu-duplicate-dialog footer{display:flex;gap:10px;justify-content:center}.menu-duplicate-dialog footer button{min-width:130px}.menu-duplicate-warning{padding:34px 32px 28px!important;text-align:center}.menu-duplicate-warning-icon{display:grid;place-items:center;width:72px;height:72px;margin:0 auto 20px;border-radius:28px;background:#fff0f1;color:#db3545;font-size:54px;font-weight:950;line-height:1}.menu-duplicate-warning h2{margin:0 auto 26px!important;padding:0!important;max-width:470px;background:transparent!important;color:#243a62!important;font-size:24px!important;line-height:1.22!important}.menu-duplicate-warning footer button.secondary{background:#c8c8c8!important;color:#17345f!important}

/* El selector de un menú comparte exactamente la escala del catálogo normal. */
.menu-product-grid .product strong{font-size:clamp(10.5px,1.02vw,13px)!important;line-height:1.1!important}
.menu-summary-choice.complete strong{font-size:15px!important;line-height:1.15!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}

/* MENU_SUMMARY_LAYOUT_V3: estructura táctil estable, sin solapes ni recortes. */
.menu-summary-row{position:relative!important;display:grid!important;grid-template-columns:minmax(0,1fr) 38px!important;gap:7px!important;align-items:stretch!important;margin-bottom:8px!important}
.menu-summary-row .menu-summary-choice{grid-column:1!important;box-sizing:border-box!important;min-width:0!important;min-height:66px!important;margin:0!important;padding:9px 11px!important;gap:3px!important}
.menu-summary-row .menu-summary-choice.active{padding:7px 9px!important}
.menu-summary-main{display:flex!important;align-items:baseline!important;gap:8px!important;min-width:0!important;width:100%!important}
.menu-summary-choice strong,.menu-summary-choice.complete strong{min-width:0!important;padding:0!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important;overflow-wrap:anywhere!important;font-size:15px!important;line-height:1.15!important}
.menu-summary-choice em{position:static!important;display:block!important;flex:none!important;margin-left:auto!important;transform:none!important;color:#315fca!important;font-size:17px!important;line-height:1.15!important;font-style:normal!important;font-weight:900!important;white-space:nowrap!important}
.menu-summary-notes{display:block!important;margin-top:2px!important;color:#71809a!important;font-size:12px!important;font-weight:750!important;line-height:1.22!important}
.menu-summary-edit,.menu-summary-edit:hover:where(:root:not(.tpv-mobile) *),.menu-summary-edit:focus,.menu-summary-edit:active{position:relative!important;z-index:3!important;grid-column:2!important;right:auto!important;top:auto!important;bottom:auto!important;width:38px!important;height:auto!important;min-height:66px!important;margin:0!important;transform:none!important;transition:none!important;animation:none!important;touch-action:manipulation!important}

/* MENU_SUMMARY_LAYOUT_V4: el lápiz forma parte visual de la tarjeta. */
.menu-summary-row{position:relative!important;display:block!important;margin-bottom:8px!important}
.menu-summary-row .menu-summary-choice{display:flex!important;width:100%!important;min-height:66px!important;margin:0!important;padding:9px 58px 9px 11px!important;box-sizing:border-box!important}
.menu-summary-row .menu-summary-choice.active{padding:7px 56px 7px 9px!important}
.menu-summary-main{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;column-gap:10px!important;width:100%!important;min-width:0!important}
.menu-summary-choice strong,.menu-summary-choice.complete strong{min-width:0!important;padding:0!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important;overflow-wrap:normal!important;word-break:normal!important}
.menu-summary-choice em{position:static!important;align-self:center!important;margin:0!important;white-space:nowrap!important}
.menu-summary-edit,.menu-summary-edit:hover:where(:root:not(.tpv-mobile) *),.menu-summary-edit:focus,.menu-summary-edit:active{position:absolute!important;z-index:5!important;right:9px!important;top:50%!important;bottom:auto!important;width:38px!important;height:38px!important;min-height:38px!important;margin:0!important;transform:translateY(-50%)!important;transition:none!important;animation:none!important;touch-action:manipulation!important}

/* HALF_PIZZA_DIALOG_V1: el pie siempre queda accesible y sólo desplaza la lista. */
.half-pizza-backdrop{z-index:90!important;padding:18px!important;box-sizing:border-box!important}
.half-pizza-dialog{display:flex!important;flex-direction:column!important;width:min(930px,94vw)!important;height:min(650px,calc(100vh - 36px))!important;max-height:calc(100vh - 36px)!important;overflow:hidden!important;border:3px solid #315fd0!important;border-radius:15px!important;background:#f5f8fc!important;box-shadow:0 18px 54px #0008!important}
.half-pizza-dialog>header{display:flex!important;flex:none!important;align-items:center!important;justify-content:space-between!important;gap:18px!important;padding:14px 18px!important;background:#193463!important;color:#fff!important}
.half-pizza-dialog>header h2,.half-pizza-dialog>header small{display:block!important;margin:0!important}.half-pizza-dialog>header small{margin-bottom:3px!important;font-size:11px!important;font-weight:900!important;letter-spacing:.04em!important}.half-pizza-dialog>header button{flex:none!important;width:42px!important;height:42px!important;border:0!important;border-radius:8px!important;background:#fff!important;color:#193463!important;font-size:28px!important}
.half-pizza-workspace{display:grid!important;grid-template-columns:32% minmax(0,1fr)!important;gap:14px!important;min-height:0!important;flex:1 1 auto!important;padding:14px!important;background:#eef3f8!important;overflow:hidden!important}
.half-pizza-workspace>aside,.half-pizza-workspace>section{min-width:0!important;min-height:0!important;border:1px solid #cbd8ea!important;border-radius:11px!important;background:#f9fbfe!important;overflow:hidden!important}
.half-pizza-workspace>aside{padding:12px!important}.half-pizza-workspace h3{margin:0!important;color:#294b85!important;font-size:16px!important}.half-pizza-workspace>section{display:flex!important;flex-direction:column!important}.half-pizza-workspace>section>header{flex:none!important;padding:13px 15px!important;border-bottom:1px solid #dce5f1!important;background:#fff!important}
.half-summary-row{position:relative!important;margin-top:10px!important}.half-summary-choice{display:flex!important;min-height:68px!important;flex-direction:column!important;gap:3px!important;padding:9px 50px 9px 11px!important;border:1px solid #d6e0ec!important;border-radius:9px!important;background:#fff!important;color:#294b85!important}.half-summary-choice.complete{background:#ecf7ef!important;border-color:#bfe2ca!important}.half-summary-choice small{font-size:11px!important;font-weight:900!important;color:#7285a3!important}.half-summary-choice strong{font-size:14px!important;line-height:1.15!important}.half-summary-choice span{font-size:11px!important;color:#71809a!important;line-height:1.2!important}.half-summary-choice em{color:#315fca!important;font-size:13px!important;font-style:normal!important;font-weight:900!important}.half-summary-edit{position:absolute!important;z-index:2!important;right:7px!important;top:50%!important;width:34px!important;height:40px!important;transform:translateY(-50%)!important;border:0!important;border-radius:7px!important;background:#315fca!important;color:#fff!important;font-size:17px!important;font-weight:900!important}
.half-product-grid{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;grid-auto-rows:clamp(72px,11vh,92px)!important;align-content:start!important;gap:8px!important;min-height:0!important;flex:1 1 auto!important;padding:9px!important;overflow:auto!important;background:#edf3f8!important}.half-product-grid .product{display:flex!important;min-width:0!important;min-height:72px!important;align-items:center!important;justify-content:center!important;padding:7px!important;border:1px solid #d8e1ec!important;border-radius:10px!important;background:#fff!important;color:#244b9b!important;text-align:center!important;box-shadow:0 3px 9px rgba(26,48,82,.06)!important}.half-product-grid .product.selected{background:#14984c!important;border-color:#14984c!important;color:#fff!important}.half-product-grid .product strong{font-size:clamp(10.5px,1.02vw,13px)!important;line-height:1.1!important;overflow-wrap:anywhere!important}
.half-pizza-dialog>footer{display:flex!important;flex:none!important;justify-content:flex-end!important;gap:12px!important;padding:12px 18px!important;background:#fff!important}.half-pizza-dialog>footer button{min-height:46px!important;padding:0 19px!important;border:0!important;border-radius:8px!important;background:#d94b57!important;color:#fff!important;font-weight:900!important}.half-pizza-dialog>footer .primary{background:#315fd0!important}.half-pizza-dialog>footer .primary:disabled{background:#aab6ca!important;color:#eef2f7!important}
@media(max-width:800px){.half-pizza-workspace{grid-template-columns:36% minmax(0,1fr)!important}.half-product-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}}

/* RESERVAS_MODAL_EXTERNAL_CSP_V1: estilos externos compatibles con style-src self. */
#reservas-modal-overlay { position:fixed; inset:0; z-index:10020; display:flex; align-items:center; justify-content:center; padding:18px; background:rgba(13,24,38,.66); backdrop-filter:blur(5px); animation:reservasFade .2s ease; }
#reservas-modal-overlay.is-closing { opacity:0; transition:opacity .18s ease; }
#reservas-modal-overlay.is-direct-detail { padding:0; background:rgba(13,24,38,.46); backdrop-filter:blur(4px); }
.rm-modal { width:min(1380px,96vw); max-width:96vw; height:min(900px,94vh); display:flex; flex-direction:column; overflow:hidden; border:3px solid #315fca; border-radius:16px; background:#f4f7fb; box-shadow:0 28px 80px rgba(0,0,0,.34); color:#182235; font-family:Inter,"Segoe UI",Arial,sans-serif; }
/* El TPV solicita una vista reducida sin alterar el modal nativo del Manager. */
html.tpv-reservations-view .rm-modal { width:min(1624px,112.95vw); max-width:112.95vw; height:min(1059px,110.6vh); zoom:.85; }
#reservas-modal-overlay.is-direct-detail .rm-modal { width:100%; max-width:none; height:100%; overflow:visible; border-radius:0; background:transparent; box-shadow:none; }
#reservas-modal-overlay.is-direct-detail .rm-header { display:none; }
#reservas-modal-overlay.is-direct-detail .rm-content { position:fixed; inset:0; overflow:visible; }
#reservas-modal-overlay.is-direct-detail .rm-dashboard,
#reservas-modal-overlay.is-direct-detail .rm-section-view { display:none !important; }
#reservas-modal-overlay.is-direct-detail .rm-form-screen,
#reservas-modal-overlay.is-direct-detail .rm-form-layer { background:transparent; backdrop-filter:none; }
.rm-header { min-height:76px; padding:0 22px; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:14px; color:white; background:#213e73; }
.rm-heading { text-align:center; }
.rm-heading h2 { margin:0; font-family:inherit; font-size:1.15rem; font-weight:900; line-height:1.2; letter-spacing:0; }
.rm-heading p { margin:4px 0 0; font-size:12px; font-weight:700; opacity:.82; letter-spacing:.02em; }
.rm-header-side { display:flex; align-items:center; gap:8px; }
.rm-header-side:last-child { justify-content:flex-end; }
.rm-icon-btn { width:46px; height:46px; display:grid; place-items:center; border:0; border-radius:9px; background:#fff; color:#213e73; cursor:pointer; font-size:24px; font-weight:900; transition:.15s ease; }
.rm-icon-btn:hover:where(:root:not(.tpv-mobile) *) { background:#fff; transform:none; }
.rm-print-icon-btn, .rm-reuse-icon-btn { width:auto !important; min-width:0 !important; height:40px !important; min-height:40px; padding:0 15px !important; display:inline-flex !important; align-items:center; justify-content:center; gap:7px; white-space:nowrap; border-radius:11px !important; background:#1fa968 !important; color:#fff !important; font-family:inherit; font-size:13px !important; line-height:1; font-weight:900; box-shadow:0 5px 14px rgba(31,169,104,.24); }
.rm-print-icon-btn svg, .rm-reuse-icon-btn svg { width:17px; height:17px; flex:0 0 auto; }
.rm-print-icon-btn:hover:where(:root:not(.tpv-mobile) *) { background:#188a56 !important; }
.rm-reuse-icon-btn { background:#0b72c4 !important; box-shadow:0 5px 14px rgba(11,114,196,.24) !important; }
.rm-reuse-icon-btn:hover:where(:root:not(.tpv-mobile) *) { background:#075fa6 !important; }
.rm-detail-head-actions { display:flex; align-items:center; gap:8px; }
.rm-event-pane-head-actions { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.rm-back { display:none; width:auto; padding:0 14px; gap:8px; font-size:14px; font-weight:800; }
.rm-back.is-visible { display:flex; }
.rm-content { min-width:0; min-height:0; flex:1; position:relative; overflow:hidden; }
.rm-dashboard, .rm-section-view { position:absolute; inset:0; min-width:0; max-width:100%; padding:18px; overflow-x:hidden; }
.rm-dashboard { overflow-y:auto; overflow-x:hidden; min-height:0; }
.rm-dashboard { display:grid; grid-template-columns:minmax(0,1.08fr) minmax(390px,.92fr); gap:18px; transition:transform .28s ease,opacity .22s ease; }
.rm-dashboard.is-hidden { pointer-events:none; opacity:0; transform:translateX(-3%); }
.rm-right-column { min-height:0; overflow:hidden; display:grid; grid-template-rows:1fr 1fr; gap:18px; }
.rm-card { min-height:0; display:flex; flex-direction:column; overflow:hidden; border:1px solid #dce4ee; border-radius:18px; background:#fff; box-shadow:0 7px 24px rgba(25,48,78,.08); transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease; }
.rm-card.rm-clickable { cursor:pointer; }
.rm-card.rm-clickable:hover:where(:root:not(.tpv-mobile) *) { border-color:#b8d3ea; box-shadow:0 10px 28px rgba(25,48,78,.12); }
.rm-card-head { min-height:72px; display:flex; align-items:center; gap:13px; padding:15px 17px; border-bottom:1px solid #edf1f6; }
.rm-card-icon { flex:0 0 auto; width:44px; height:44px; display:grid; place-items:center; border-radius:13px; color:#fff; font-size:22px; }
.rm-blue { background:linear-gradient(135deg,#1388dd,#0865b4); }
.rm-green { background:linear-gradient(135deg,#28aa70,#148250); }
.rm-purple { background:linear-gradient(135deg,#9365df,#7043b9); }
.rm-card-title { min-width:0; flex:1; }
.rm-card-title h3 { margin:0; font-size:18px; }
.rm-card-title p { margin:4px 0 0; color:#718096; font-size:12px; font-weight:700; }
.rm-counter { padding:7px 10px; border-radius:999px; background:#eef5fb; color:#1769a7; font-size:12px; font-weight:900; white-space:nowrap; }
.rm-open-hint { color:#8ea0b4; font-size:22px; }
.rm-card-body { min-height:0; flex:1; overflow-y:auto; overflow-x:hidden; overscroll-behavior:contain; scrollbar-gutter:stable; padding:10px 13px; }
.rm-reservations-bottom-spacer, .rm-events-bottom-spacer { display:block; width:1px; min-height:0; pointer-events:none; }
.rm-events-bottom-spacer-row > td { padding:0 !important; border:0 !important; height:auto !important; }
.rm-card-footer { padding:12px 15px; display:flex; justify-content:space-between; align-items:center; gap:10px; border-top:1px solid #edf1f6; background:#fbfcfe; }
.rm-footer-note { color:#718096; font-size:12px; font-weight:700; }
.rm-list { display:flex; flex-direction:column; gap:8px; }
.rm-reservation { display:grid; grid-template-columns:64px minmax(0,1fr) auto; align-items:center; gap:11px; padding:11px; border-radius:13px; background:#f7f9fc; border:1px solid transparent; cursor:pointer; }
.rm-reservation:hover:where(:root:not(.tpv-mobile) *) { border-color:#d3e2ef; background:#f1f7fc; }
.rm-reservation-row.is-cancelled td { background:#fff0f0; color:#b42318 !important; }
.rm-reservation-row.is-cancelled .rm-time,
.rm-reservation-row.is-cancelled .rm-row-main,
.rm-reservation-row.is-cancelled .rm-table-badge { color:#b42318 !important; }
.rm-reservation-row.is-cancelled .rm-table-badge { background:#fde2e2 !important; border-color:#f3b3b3 !important; }
.rm-time { font-size:17px; font-weight:900; color:#075fa8; }
.rm-person strong { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:14px; }
.rm-person small { display:block; margin-top:3px; color:#78879a; font-size:12px; }
.rm-status { padding:6px 9px; border-radius:999px; font-size:10px; font-weight:900; text-transform:uppercase; }
.rm-status.confirmada { background:#dcf5e8; color:#167448; }
.rm-status.pendiente { background:#fff0cf; color:#996500; }
.rm-status.confirmado { background:#dcf5e8; color:#167448; }
.rm-table-badge { padding:6px 9px; border-radius:999px; font-size:11px; font-weight:900; white-space:nowrap; }
.rm-table-badge.assigned { background:#e2f2ff; color:#075fa8; }
.rm-table-badge.unassigned { background:#fff0cf; color:#996500; }
.rm-reservation .rm-table-badge, .rm-reservation-row .rm-table-badge { min-height:34px; padding:8px 14px; font-size:14px; display:inline-flex; align-items:center; justify-content:center; }
.rm-mini-item { display:grid; grid-template-columns:58px minmax(0,1fr) auto; align-items:center; gap:10px; padding:10px; border-radius:12px; background:#f7f9fc; }
.rm-mini-date { text-align:center; color:#7a899b; font-size:11px; font-weight:800; line-height:1.15; }
.rm-mini-date b { display:block; margin-bottom:4px; color:#17243a; font-size:15px; font-weight:950; }
.rm-mini-main strong { display:block; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; font-size:13px; }
.rm-mini-main small { display:block; margin-top:3px; color:#7a899b; font-size:11px; }
.rm-mini-count { color:#41536a; font-size:11px; font-weight:900; white-space:nowrap; }
.rm-free-tables-pill { display:inline-flex; align-items:center; justify-content:center; min-height:34px; padding:8px 14px; border-radius:999px; font-size:14px; font-weight:950; white-space:nowrap; }
.rm-free-tables-pill.good { color:#147a45; background:#dcf8e8; border:1px solid #a9e8c5; }
.rm-free-tables-pill.warning { color:#8a6500; background:#fff2bf; border:1px solid #f1d66e; }
.rm-free-tables-pill.full { color:#b42318; background:#ffe1df; border:1px solid #f4aaa5; }
.rm-mini-badges { display:flex; align-items:center; justify-content:flex-end; flex-direction:row; flex-wrap:wrap; gap:5px; }
.rm-deposit-badge { padding:6px 9px; border-radius:999px; background:#e6f7ee; color:#13794a; font-size:10px; font-weight:900; white-space:nowrap; }
.rm-menu-badge { padding:6px 9px; border-radius:999px; font-size:10px; font-weight:900; white-space:nowrap; }
.rm-menu-badge.yes { background:#e6f7ee; color:#13794a; }
.rm-menu-badge.no { background:#fde8e8; color:#b42318; }
.rm-segmented { display:flex; gap:6px; padding:4px; border:1px solid #d9e1ea; border-radius:12px; background:#f4f7fa; min-height:44px; align-items:center; }
.rm-segmented button { flex:1; min-width:0; border:0; border-radius:9px; padding:9px 10px; background:transparent; color:#64748b; font:inherit; font-size:13px; font-weight:800; cursor:pointer; transition:background .15s ease,color .15s ease,box-shadow .15s ease; }
.rm-segmented button.is-active { background:#fff; color:#223247; box-shadow:0 1px 4px rgba(29,48,74,.16); }
.rm-segmented button[data-menu-value="yes"].is-active { background:#e6f7ee; color:#13794a; }
.rm-segmented button[data-menu-value="no"].is-active { background:#fde8e8; color:#b42318; }
.rm-btn { min-height:40px; padding:0 15px; border:0; border-radius:11px; background:#0b72c4; color:#fff; font-weight:900; cursor:pointer; transition:.15s ease; }
.rm-btn:hover:where(:root:not(.tpv-mobile) *) { transform:translateY(-1px); background:#075fa6; }
.rm-btn.secondary { background:#e9f1f8; color:#1e6192; }
.rm-btn.secondary:hover:where(:root:not(.tpv-mobile) *) { background:#dceaf5; }
.rm-btn.ghost { background:#f1f3f6; color:#526174; }
.rm-section-view { overflow:hidden; pointer-events:none; opacity:0; transform:translateX(4%); transition:transform .28s ease,opacity .22s ease; }
.rm-section-view.is-visible { pointer-events:auto; opacity:1; transform:none; }
.rm-section-shell { width:100%; max-width:100%; height:100%; min-width:0; min-height:0; display:flex; flex-direction:column; gap:14px; overflow:hidden; }
.rm-section-toolbar { flex:0 0 auto; display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; padding:14px; border:1px solid #dce4ee; border-radius:16px; background:#fff; box-shadow:0 5px 18px rgba(25,48,78,.06); }
.rm-section-toolbar h3 { margin:0; font-size:20px; }
.rm-section-toolbar p { margin:4px 0 0; color:#748398; font-size:12px; font-weight:700; }
.rm-toolbar-actions { display:flex; gap:9px; flex-wrap:wrap; }
.rm-filter-row { display:flex; align-items:center; gap:9px; flex-wrap:nowrap; width:100%; }
.rm-filter-query { flex:0 1 340px; width:340px; max-width:42vw; min-width:220px; }
.rm-filter-clear { margin-left:auto; }
.rm-input, .rm-select { height:40px; padding:0 12px; border:1px solid #ccd8e5; border-radius:10px; background:#fff; color:#28364a; font:inherit; font-size:13px; outline:none; }
.rm-input:focus, .rm-select:focus { border-color:#1782cd; box-shadow:0 0 0 3px rgba(23,130,205,.12); }
.rm-expanded-card { flex:1; min-width:0; min-height:0; overflow:hidden; border:1px solid #dce4ee; border-radius:16px; background:#fff; box-shadow:0 5px 18px rgba(25,48,78,.06); }
.rm-table-wrap { width:100%; max-width:100%; height:100%; overflow-y:auto; overflow-x:hidden; }
.rm-table { width:100%; max-width:100%; table-layout:fixed; border-collapse:collapse; }
.rm-table th { position:sticky; top:0; z-index:1; padding:12px; text-align:left; background:#edf4fa; color:#52657a; font-size:11px; text-transform:uppercase; letter-spacing:.04em; }
.rm-table td { min-width:0; overflow-wrap:anywhere; padding:13px 12px; border-top:1px solid #edf1f5; font-size:13px; vertical-align:middle; }
.rm-birthday-table th { padding:11px 7px; font-size:10.5px; line-height:1.1; letter-spacing:0; white-space:normal; overflow-wrap:normal; word-break:normal; }
.rm-birthday-table td { padding:12px 7px; font-size:12.5px; line-height:1.18; }
.rm-birthday-table .rm-status { display:inline-flex; align-items:center; justify-content:center; max-width:100%; min-height:34px; padding:7px 13px; font-size:14px; line-height:1; white-space:nowrap; }
.rm-birthday-table td:nth-child(1), .rm-birthday-table td:nth-child(2), .rm-birthday-table td:nth-child(5), .rm-birthday-table td:nth-child(6), .rm-birthday-table td:nth-child(8), .rm-birthday-table td:nth-child(9), .rm-birthday-table td:nth-child(10) { white-space:nowrap; }
.rm-birthday-table th:nth-child(6), .rm-birthday-table td:nth-child(6) { padding-right:13px; }
.rm-birthday-table th:nth-child(7), .rm-birthday-table td:nth-child(7) { padding-left:13px; }
.rm-birthday-tables-cell { white-space:normal !important; }
.rm-birthday-tables-cell span { display:block; line-height:1.22; }
.rm-birthday-tables-cell span + span { margin-top:7px; }
.rm-table tr:hover:where(:root:not(.tpv-mobile) *) td { background:#f8fbfd; }
.rm-table .rm-row-main { font-weight:900; }
.rm-date-cell { font-weight:950; color:#24364d; white-space:nowrap; }
.rm-date-cell.is-today { color:#075fa8; }
.rm-upcoming-divider td { padding:0; border-top:0; background:#f4f7fb !important; }
.rm-upcoming-divider-inner { display:flex; align-items:center; gap:12px; padding:16px 12px 12px; color:#66778c; font-size:11px; font-weight:950; letter-spacing:.08em; text-transform:uppercase; }
.rm-upcoming-divider-inner::before, .rm-upcoming-divider-inner::after { content:''; height:1px; flex:1; background:#cdd8e4; }
.rm-upcoming-row td { background:#fbfcfe; }
.rm-upcoming-row:hover:where(:root:not(.tpv-mobile) *) td { background:#f5f9fc !important; }
.rm-action-link { border:0; background:none; color:#0874bf; font-weight:900; cursor:pointer; }
.rm-reservation-row { cursor:pointer; transition:background .15s ease; }
.rm-reservation-row:hover:where(:root:not(.tpv-mobile) *) { background:#eef7ff !important; }
.rm-event-preview-item { cursor:pointer; border:1px solid transparent; }
.rm-event-preview-item:hover:where(:root:not(.tpv-mobile) *) { border-color:#cfe0ed; background:#eef7ff; }
.rm-event-row, .rm-birthday-row { cursor:pointer; }
.rm-event-row:hover:where(:root:not(.tpv-mobile) *), .rm-birthday-row:hover:where(:root:not(.tpv-mobile) *) { background:#eef7ff !important; }
.rm-event-detail-card { width:100%; height:100%; display:flex; flex-direction:column; overflow:hidden; border-radius:16px; background:#fff; box-shadow:none; animation:reservasPop .2s ease; }
.rm-event-detail-body { min-height:0; flex:1; display:grid; grid-template-columns:minmax(0,1fr) 310px; gap:14px; padding:10px 20px 14px; overflow:hidden; align-items:stretch; }
.rm-event-column { min-width:0; min-height:0; display:flex; flex-direction:column; gap:10px; overflow:hidden; height:100%; }
.rm-event-column > .rm-event-pane { flex:1 1 auto; height:100%; min-height:0; }
.rm-event-title { flex:0 0 auto; margin:0; padding:2px 2px 0; font-size:21px; line-height:1.2; }
.rm-event-pane { min-width:0; min-height:0; display:flex; flex-direction:column; border:1px solid #dce4ee; border-radius:16px; overflow:hidden; background:#f8fafc; }
.rm-event-column + .rm-event-pane { align-self:stretch; height:100%; }
.rm-event-pane-head { flex:0 0 auto; display:flex; align-items:center; justify-content:space-between; gap:10px; padding:13px 15px; border-bottom:1px solid #dce4ee; background:#fff; }
.rm-event-pane-head h4 { margin:0; font-size:16px; }
.rm-event-pane-summary { display:block; margin-top:3px; color:#718096; font-size:12px; font-weight:700; }
.rm-event-reservations { min-height:0; flex:1; overflow:auto; padding:10px; }
.rm-event-reservation { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:10px; align-items:center; margin-bottom:8px; padding:11px; border:1px solid #e1e8f0; border-radius:12px; background:#fff; cursor:pointer; }
.rm-event-reservation:hover:where(:root:not(.tpv-mobile) *) { border-color:#b9d7eb; background:#f1f8fd; }
.rm-event-reservation.is-cancelled { border-color:#efb1b1; background:#fff0f0; color:#a71919; }
.rm-event-reservation.is-cancelled:hover:where(:root:not(.tpv-mobile) *) { border-color:#df7777; background:#ffe7e7; }
.rm-event-reservation.is-cancelled small { color:#b43a3a !important; }
.rm-event-row.is-cancelled { background:#fff0f0 !important; color:#a71919; }
.rm-event-divider td { padding:10px 0 6px !important; border:0 !important; background:#fff !important; }
.rm-event-divider-inner { display:flex; align-items:center; gap:12px; color:#66778b; font-weight:800; font-size:13px; text-transform:uppercase; letter-spacing:.04em; }
.rm-event-divider-inner::before,.rm-event-divider-inner::after { content:''; height:1px; flex:1; background:#d9e1e9; }
.rm-event-floor-scroll { min-height:0; flex:1 1 auto; overflow:hidden; padding:8px; display:flex; align-items:center; justify-content:center; container-type:size; }
.rm-event-floor {
  --rm-seat:clamp(35px,min(24.5cqw,10cqh),82px);
  --rm-gap:clamp(5px,min(3cqw,1.35cqh),11px);
  --rm-double-width:calc(var(--rm-seat) * 1.12);
  width:max-content;
  max-width:100%;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:0;
  margin-inline:auto;
}
.rm-event-floor .rm-table-zone { box-sizing:border-box; min-height:0; padding:4px 0; width:max-content; max-width:100%; overflow:visible; border:0; border-radius:0; background:transparent; margin-inline:auto; }
.rm-event-floor .rm-table-zone:first-child { padding-bottom:clamp(14px,min(6cqw,2.7cqh),26px); }
.rm-event-floor .rm-table-zone + .rm-table-zone { border-top:1px solid #cfd9e4; padding-top:clamp(14px,min(6cqw,2.7cqh),26px); }
.rm-event-floor .rm-table-zone h4 { display:none; }
.rm-event-floor .rm-table-seat { width:100%; height:var(--rm-seat); min-height:0; aspect-ratio:1/1; border-radius:10px; font-size:clamp(20px,6.8cqw,28px); font-weight:950; cursor:default; box-shadow:none; }
.rm-event-floor .rm-table-seat.is-occupied { cursor:pointer; }
.rm-event-floor .rm-terrace-grid { width:max-content; height:auto; min-height:0; display:grid; grid-template-columns:var(--rm-double-width) var(--rm-seat) var(--rm-seat); gap:var(--rm-gap); align-items:stretch; margin-inline:auto; }
.rm-event-floor .rm-terrace-double-col { min-height:0; height:calc((var(--rm-seat) * 5) + (var(--rm-gap) * 4)); display:grid; grid-template-rows:repeat(2,minmax(0,1fr)); gap:var(--rm-gap); }
.rm-event-floor .rm-terrace-normal-col { min-height:0; display:grid; grid-template-rows:repeat(5,var(--rm-seat)); gap:var(--rm-gap); }
.rm-event-floor .rm-table-seat.is-double { min-height:0; height:100%; aspect-ratio:auto; }
.rm-event-floor .rm-comedor-grid { width:max-content; display:grid; grid-template-columns:repeat(2,var(--rm-seat)); grid-auto-rows:var(--rm-seat); gap:var(--rm-gap); margin-inline:auto; }
.rm-event-floor .rm-comedor-grid .rm-table-seat { height:var(--rm-seat); min-height:0; }
.rm-event-floor .rm-comedor-grid .rm-table-seat:last-child { width:var(--rm-seat); }
.rm-event-detail-footer { flex:0 0 auto; display:flex; justify-content:space-between; gap:10px; padding:0 20px 18px; }
@media (max-width:900px) { .rm-event-detail-body { grid-template-columns:minmax(0,1fr) 250px; gap:10px; padding:8px 10px 10px; overflow:hidden; align-items:stretch; } .rm-event-pane { min-height:0; } .rm-event-floor { max-width:100%; } }
@media (max-height:850px) { .rm-event-detail-body { padding-top:8px; padding-bottom:8px; } .rm-event-detail-footer { padding-bottom:12px; } .rm-event-floor-scroll { padding-top:5px; padding-bottom:5px; } }
.rm-detail-card { width:min(720px,94vw); max-height:min(760px,90vh); overflow:auto; border-radius:20px; background:#fff; box-shadow:0 28px 80px rgba(0,0,0,.32); animation:reservasDetailFade .16s ease; }
.rm-detail-head { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:18px 20px; border-bottom:1px solid #e8edf3; }
.rm-detail-head h3 { margin:0; font-size:21px; }
.rm-detail-body { display:grid; grid-template-columns:190px minmax(0,1fr); gap:22px; padding:22px; }
.rm-detail-photo { width:190px; height:190px; object-fit:cover; border-radius:18px; background:#eef2f6; box-shadow:0 7px 20px rgba(25,48,78,.12); cursor:zoom-in; transition:transform .15s ease, box-shadow .15s ease; }
.rm-detail-photo:hover:where(:root:not(.tpv-mobile) *) { transform:scale(1.015); box-shadow:0 10px 28px rgba(25,48,78,.18); }
.rm-photo-lightbox { position:fixed; inset:0; z-index:10040; display:flex; align-items:center; justify-content:center; padding:24px; background:rgba(5,12,22,.86); backdrop-filter:blur(5px); }
.rm-photo-lightbox img { max-width:min(92vw,1100px); max-height:90vh; object-fit:contain; border-radius:18px; box-shadow:0 28px 90px rgba(0,0,0,.55); cursor:zoom-out; }
.rm-detail-info { display:grid; grid-template-columns:1fr 1fr; gap:14px; align-content:start; }
.rm-detail-field { min-width:0; padding:12px 14px; border:1px solid #e2e8f0; border-radius:13px; background:#f8fafc; }
.rm-detail-field.full { grid-column:1/-1; }
.rm-detail-field span { display:block; margin-bottom:5px; color:#718096; font-size:11px; font-weight:900; text-transform:uppercase; letter-spacing:.05em; }
.rm-detail-field strong { display:block; overflow-wrap:anywhere; font-size:15px; }
.rm-detail-footer { display:flex; justify-content:space-between; align-items:center; gap:12px; padding:0 22px 22px; }
.rm-btn.danger { background:#d94b57; color:#fff; box-shadow:0 6px 16px rgba(217,75,87,.22); }
.rm-btn.danger:hover:where(:root:not(.tpv-mobile) *) { background:#d94b57; }
.rm-image-loading { opacity:.55; }
.rm-form-screen { position:absolute; inset:0; z-index:20; display:none; align-items:center; justify-content:center; padding:18px; background:rgba(13,24,38,.46); backdrop-filter:blur(3px); }
.rm-form-screen.is-visible { display:flex; }
.rm-form-screen.is-stacked { padding:0; background:rgba(13,24,38,.46); backdrop-filter:blur(3px); }
.rm-form-screen.is-event-reservation-detail,
.rm-form-screen.is-event-reservation-detail .rm-form-layer,
.rm-form-screen.is-event-reservation-detail .rm-detail-card,
.rm-form-screen.is-event-reservation-detail .rm-detail-card * {
  animation:none !important;
  transition:none !important;
}
.rm-form-screen.is-event-reservation-detail.is-stacked {
  background:rgba(13,24,38,.46);
  backdrop-filter:blur(3px);
}
.rm-form-screen.is-event-reservation-detail .rm-form-underlay {
  filter:none;
  opacity:1;
}
.rm-form-underlay { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; padding:18px; overflow:hidden; pointer-events:none; filter:none; opacity:1; transform:none; }
.rm-form-layer { position:absolute; inset:0; z-index:2; display:flex; align-items:center; justify-content:center; padding:18px; overflow:hidden; background:rgba(13,24,38,.46); backdrop-filter:blur(3px); }
.rm-form-layer > .rm-form-card, .rm-form-layer > .rm-detail-card, .rm-form-layer > .rm-event-detail-card { position:relative; z-index:1; }
.rm-form-card { width:min(650px,96%); max-width:96%; overflow-x:hidden; max-height:92%; overflow:auto; border-radius:17px; background:#fff; box-shadow:0 25px 70px rgba(0,0,0,.32); animation:reservasPop .18s ease; }
.rm-form-card.rm-reservation-edit-card {
  width:min(650px,92vw);
  max-width:min(650px,92vw);
  max-height:min(700px,88vh);
}
.rm-form-head { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:17px 19px; border-bottom:1px solid #e5eaf0; }
.rm-form-head h3 { margin:0; font-size:19px; }
.rm-form-body { display:grid; grid-template-columns:1fr 1fr; gap:13px; padding:18px 19px; }
.rm-field { display:flex; flex-direction:column; gap:6px; }
.rm-field.full { grid-column:1/-1; }
.rm-field label { color:#53657a; font-size:11px; font-weight:900; text-transform:uppercase; }
.rm-field input, .rm-field select, .rm-field textarea { box-sizing:border-box; width:100%; max-width:100%; min-height:42px; padding:10px 11px; border:1px solid #cbd7e4; border-radius:10px; font:inherit; outline:none; }
.rm-field textarea { min-height:82px; resize:vertical; }
.rm-form-footer { display:flex; justify-content:flex-end; gap:9px; padding:14px 19px 18px; }
.rm-table-input-wrap { position:relative; }
.rm-table-input { padding-right:44px !important; cursor:pointer; background:#fff !important; caret-color:transparent; }
.rm-table-input:disabled { cursor:not-allowed; background:#eef2f6 !important; color:#8a98a8; opacity:.82; }
.rm-table-input-wrap.is-disabled::after { color:#9aa7b5; opacity:.65; }
.rm-table-input-wrap::after { content:'▦'; position:absolute; right:13px; bottom:10px; color:#0b72c4; font-size:20px; pointer-events:none; }
.rm-table-picker-overlay { position:fixed; inset:0; z-index:10060; display:flex; align-items:center; justify-content:center; padding:18px; background:rgba(7,17,29,.72); backdrop-filter:blur(5px); }
.rm-table-picker { width:min(1050px,96vw); max-height:94vh; display:flex; flex-direction:column; overflow:hidden; border-radius:20px; background:#f4f7fb; box-shadow:0 30px 90px rgba(0,0,0,.48); animation:reservasPop .18s ease; }
.rm-table-picker-head { flex:0 0 auto; padding:18px 22px; border-bottom:1px solid #dce4ee; background:#fff; }
.rm-table-picker-head h3 { margin:0; font-size:21px; }
.rm-table-picker-head p { margin:5px 0 0; color:#718096; font-size:12px; font-weight:700; }
.rm-table-zones { min-height:0; flex:1; display:grid; grid-template-columns:1fr 1.25fr .8fr; gap:16px; padding:18px; overflow:auto; }
.rm-table-zone { min-width:0; padding:15px; border:1px solid #dce4ee; border-radius:17px; background:#fff; }
.rm-table-zone h4 { margin:0 0 14px; text-align:center; color:#34465e; font-size:16px; text-transform:uppercase; letter-spacing:.05em; }
.rm-toldo-grid { display:grid; grid-template-columns:repeat(3,minmax(66px,1fr)); gap:13px; }
.rm-comedor-grid { display:grid; grid-template-columns:repeat(2,minmax(76px,1fr)); gap:16px; }
.rm-comedor-grid .rm-table-seat:last-child { grid-column:1/-1; width:48%; justify-self:center; }
.rm-terrace-grid { min-height:420px; display:grid; grid-template-columns:1.15fr .8fr .8fr; gap:18px; align-items:stretch; }
.rm-terrace-double-col { display:grid; grid-template-rows:1fr 1fr; gap:24px; }
.rm-terrace-normal-col { display:grid; grid-template-rows:repeat(5,1fr); gap:11px; }
.rm-table-seat { min-height:64px; display:flex; align-items:center; justify-content:center; border:2px solid transparent; border-radius:14px; color:white; font-size:20px; font-weight:950; cursor:pointer; user-select:none; box-shadow:0 5px 13px rgba(25,48,78,.12); transition:transform .12s ease,background .15s ease,border-color .15s ease,box-shadow .15s ease; }
.rm-table-seat:hover:where(:root:not(.tpv-mobile) *):not(.is-occupied) { transform:translateY(-2px); box-shadow:0 8px 18px rgba(25,48,78,.18); }
.rm-table-seat.is-free { background:linear-gradient(135deg,#39b878,#188f58); }
.rm-table-seat.is-selected { background:linear-gradient(135deg,#238fdf,#0766b5); border-color:#075493; }
.rm-table-seat.is-occupied { background:linear-gradient(135deg,#df5858,#b82828); cursor:not-allowed; opacity:.88; }
.rm-table-seat.is-double { min-height:0; height:100%; border-radius:18px; }
.rm-table-legend { display:flex; flex-wrap:wrap; gap:14px; padding:0 22px 14px; color:#53657a; font-size:12px; font-weight:800; }
.rm-table-legend span { display:flex; align-items:center; gap:7px; }
.rm-table-legend i { width:14px; height:14px; border-radius:4px; display:inline-block; }
.rm-table-picker-footer { flex:0 0 auto; display:flex; justify-content:flex-end; gap:10px; padding:15px 20px 19px; border-top:1px solid #dce4ee; background:#fff; }
@media (max-width:850px) { .rm-table-zones { grid-template-columns:1fr; } .rm-terrace-grid { min-height:480px; } }
.rm-birthday-form-card { width:min(980px,97%); max-height:calc(100% - 18px); overflow:hidden; display:flex; flex-direction:column; }
.rm-birthday-form-card .rm-form-head, .rm-birthday-form-card .rm-form-footer { flex:0 0 auto; }
.rm-birthday-form-card .rm-form-body { min-height:0; flex:1; overflow:hidden; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px 15px; padding:17px 20px; }
.rm-birthday-form-card .rm-field { min-width:0; }
.rm-birthday-form-card .rm-field label { margin-bottom:6px; font-size:14px; }
.rm-birthday-form-card .rm-field input, .rm-birthday-form-card .rm-field select { height:52px; padding:0 14px; font-size:17px; }
.rm-birthday-form-card .rm-segmented { min-height:47px; padding:4px; }
.rm-birthday-form-card .rm-segmented button { padding:8px 8px; font-size:16px; }
@media (max-width:900px) {
  .rm-birthday-form-card { max-height:92%; overflow:auto; }
  .rm-birthday-form-card .rm-form-body { grid-template-columns:1fr; overflow:visible; }
}
.rm-toast { position:absolute; left:50%; bottom:22px; z-index:100; transform:translateX(-50%) translateY(20px); opacity:0; padding:11px 16px; border-radius:11px; background:#17243a; color:white; font-size:13px; font-weight:800; transition:.2s ease; }
.rm-toast.is-visible { opacity:1; transform:translateX(-50%); }
@keyframes reservasFade { from { opacity:0 } to { opacity:1 } }
@keyframes reservasPop { from { opacity:0; transform:scale(.97) } to { opacity:1; transform:scale(1) } }
@keyframes reservasDetailFade { from { opacity:0 } to { opacity:1 } }
@media (max-width:900px) {
  #reservas-modal-overlay { padding:8px; }
  .rm-modal { width:100%; height:100%; max-height:none; border-radius:14px; }
  .rm-dashboard { grid-template-columns:1fr; overflow:auto; }
  .rm-right-column { grid-template-rows:auto auto; }
  .rm-card { min-height:310px; }
}
/* Escala de lectura optimizada para tablets de 11" (1280x800 aprox.) */
@media (min-width:901px) {
  .rm-modal { font-size:15px; }
  .rm-heading h2 { font-size:1.28rem; }
  .rm-back { min-height:44px; padding:0 16px; font-size:15px; }
  .rm-icon-btn { width:44px; height:44px; }
  .rm-print-icon-btn, .rm-reuse-icon-btn { height:42px !important; min-height:42px; padding:0 16px !important; font-size:14px !important; }
  .rm-print-icon-btn svg, .rm-reuse-icon-btn svg { width:18px; height:18px; }

  .rm-card-title h3 { font-size:19px; }
  .rm-card-title p, .rm-footer-note { font-size:13px; }
  .rm-counter { font-size:13px; padding:7px 11px; }
  .rm-time { font-size:18px; }
  .rm-person strong { font-size:15px; }
  .rm-person small { font-size:13px; }
  .rm-table-badge, .rm-status, .rm-deposit-badge, .rm-menu-badge { font-size:11px; }
  .rm-mini-date { font-size:12px; }
  .rm-mini-date b { font-size:16px; }
  .rm-mini-main strong { font-size:14px; }
  .rm-mini-main small, .rm-mini-count { font-size:12px; }

  .rm-btn { min-height:42px; padding:0 16px; font-size:14px; }
  .rm-section-toolbar h3 { font-size:22px; }
  .rm-section-toolbar p { font-size:13px; }
  .rm-input, .rm-select { height:44px; padding:0 13px; font-size:14px; }
  .rm-table th { font-size:12px; padding:13px 12px; }
  .rm-table td { font-size:14px; padding:14px 12px; }
  .rm-upcoming-divider-inner { font-size:12px; }

  .rm-event-title { font-size:23px; }
  .rm-event-pane-head h4 { font-size:17px; }
  .rm-event-reservation { padding:12px; }
  .rm-detail-head h3 { font-size:22px; }
  .rm-detail-field { padding:13px 15px; }
  .rm-detail-field span { font-size:12px; }
  .rm-detail-field strong { font-size:16px; }

  .rm-form-head h3 { font-size:20px; }
  .rm-field label { font-size:12px; }
  .rm-field input, .rm-field select, .rm-field textarea { min-height:46px; padding:11px 12px; font-size:15px; }
  .rm-segmented { min-height:46px; }
  .rm-segmented button { font-size:14px; }
  .rm-toast { font-size:14px; }
}
@media (min-width:901px) and (max-height:820px) {
  .rm-dashboard, .rm-section-view { padding:14px; }
  .rm-section-shell { gap:11px; }
  .rm-section-toolbar { padding:11px 13px; }
  .rm-card-head { min-height:68px; padding:12px 15px; }
  .rm-card-body { padding:8px 11px; }
  .rm-reservation { padding:9px 10px; }
  .rm-mini-item { padding:8px 9px; }
  .rm-detail-head { padding:15px 18px; }
  .rm-detail-body { padding:18px; gap:18px; }
  .rm-detail-footer { padding:0 18px 18px; }
  .rm-form-head { padding:14px 17px; }
  .rm-form-body { padding:15px 17px; gap:11px; }
  .rm-form-footer { padding:12px 17px 15px; }
}

/* Modo táctil grande para tablet 11" / 1280x800.
   Se amplía el contenido sin alterar el botón Volver ni el plano responsive. */
@media (min-width:901px) and (max-height:900px) {
  .rm-modal { font-size:18px; }
  .rm-heading h2 { font-size:1.48rem; }

  /* Volver conserva un tamaño contenido para no invadir la cabecera. */
  .rm-back { min-height:44px; padding:0 15px; font-size:15px; gap:7px; }
  .rm-back svg { width:18px; height:18px; }
  .rm-icon-btn:not(.rm-back) { width:48px; height:48px; }

  .rm-card-title h3 { font-size:23px; }
  .rm-card-title p, .rm-footer-note { font-size:15px; }
  .rm-counter { font-size:15px; padding:8px 13px; }
  .rm-time { font-size:22px; }
  .rm-person strong { font-size:18px; }
  .rm-person small { font-size:15px; }
  .rm-table-badge, .rm-status, .rm-deposit-badge, .rm-menu-badge {
    font-size:13px; min-height:28px; padding:5px 10px;
  }
  .rm-reservation .rm-table-badge, .rm-reservation-row .rm-table-badge { font-size:16px; min-height:38px; padding:9px 16px; }
  .rm-birthday-table .rm-status { font-size:15px; min-height:36px; padding:8px 14px; }
  .rm-mini-date { font-size:14px; }
  .rm-mini-date b { font-size:20px; }
  .rm-mini-main strong { font-size:17px; }
  .rm-mini-main small, .rm-mini-count { font-size:14px; }
  .rm-free-tables-pill { min-height:38px; padding:9px 16px; font-size:16px; }

  .rm-btn { min-height:48px; padding:0 19px; font-size:16px; }
  .rm-print-icon-btn, .rm-reuse-icon-btn {
    height:46px !important; min-height:46px; padding:0 17px !important;
    font-size:15px !important;
  }
  .rm-print-icon-btn svg, .rm-reuse-icon-btn svg { width:19px; height:19px; }

  .rm-section-toolbar h3 { font-size:27px; }
  .rm-section-toolbar p { font-size:15px; }
  .rm-input, .rm-select { height:50px; padding:0 15px; font-size:16px; }
  .rm-table th { font-size:14px; padding:14px 13px; }
  .rm-table td { font-size:16px; padding:15px 13px; }
  .rm-upcoming-divider-inner { font-size:14px; }

  .rm-event-title { font-size:27px; }
  .rm-event-pane-head h4 { font-size:20px; }
  .rm-event-reservation { padding:14px; font-size:16px; }
  .rm-detail-head h3 { font-size:27px; }
  .rm-detail-field { padding:15px 17px; }
  .rm-detail-field span { font-size:14px; }
  .rm-detail-field strong { font-size:19px; }

  .rm-form-head h3 { font-size:24px; }
  .rm-field label { font-size:14px; }
  .rm-field input, .rm-field select, .rm-field textarea {
    min-height:52px; padding:13px 14px; font-size:17px;
  }
  .rm-segmented { min-height:52px; }
  .rm-segmented button { font-size:16px; }
  .rm-toast { font-size:16px; }

  /* Mantener densidad suficiente en 800 px de alto. */
  .rm-dashboard, .rm-section-view { padding:13px; }
  .rm-section-shell { gap:10px; }
  .rm-section-toolbar { padding:10px 13px; }
  .rm-card-head { min-height:72px; padding:12px 15px; }
  .rm-card-body { padding:8px 10px; }
  .rm-reservation { padding:10px 11px; }
  .rm-mini-item { padding:9px 10px; }
  .rm-detail-head { padding:15px 18px; }
  .rm-detail-body { padding:17px; gap:16px; }
  .rm-detail-footer { padding:0 17px 17px; }
  .rm-form-head { padding:13px 17px; }
  .rm-form-body { padding:14px 17px; gap:10px; }
  .rm-form-footer { padding:11px 17px 14px; }
}


/* Ajustes finales para tablet 1280x800 */
@media (min-width:901px) and (max-height:900px) {
  /* El botón Volver conserva el aspecto compacto original. */
  .rm-back,
  .rm-back.is-visible {
    width:auto !important;
    height:40px !important;
    min-height:40px !important;
    padding:0 13px !important;
    gap:6px !important;
    align-items:center !important;
    justify-content:center !important;
    border-radius:11px !important;
    font-size:14px !important;
    line-height:1 !important;
    font-weight:800 !important;
    transform:none !important;
  }
  .rm-back:hover:where(:root:not(.tpv-mobile) *) { transform:none !important; }
  .rm-back svg { width:17px !important; height:17px !important; flex:0 0 auto; }


  /* La tarjeta de detalle de cumpleaños es más compacta que el resto. */
  .rm-birthday-detail-card {
    width:min(650px,92vw);
    max-height:min(700px,88vh);
  }
  .rm-birthday-detail-card .rm-detail-head { padding:13px 16px; }
  .rm-birthday-detail-card .rm-detail-head h3 { font-size:23px; }
  .rm-birthday-detail-card .rm-detail-body {
    grid-template-columns:160px minmax(0,1fr);
    gap:14px;
    padding:15px;
  }
  .rm-birthday-detail-card .rm-detail-photo {
    width:160px;
    height:160px;
    border-radius:15px;
  }
  .rm-birthday-detail-card .rm-detail-info { gap:10px; }
  .rm-birthday-detail-card .rm-detail-field { padding:11px 13px; }
  .rm-birthday-detail-card .rm-detail-field span { font-size:12px; }
  .rm-birthday-detail-card .rm-detail-field strong { font-size:16px; }
  .rm-birthday-detail-card .rm-detail-footer { padding:0 15px 15px; }

  /* Las reservas dentro de eventos ganan tamaño y superficie táctil. */
  .rm-event-reservations { padding:12px; }
  .rm-event-reservation {
    min-height:72px;
    margin-bottom:10px;
    padding:15px 16px;
    gap:13px;
    border-radius:14px;
  }
  .rm-event-reservation strong {
    display:block;
    font-size:19px;
    line-height:1.2;
  }
  .rm-event-reservation small {
    margin-top:5px !important;
    font-size:15px !important;
    line-height:1.25;
  }
  .rm-event-reservation .rm-table-badge {
    min-height:32px;
    padding:6px 11px;
    font-size:14px;
  }
}


/* Ajustes finales de cumpleaños: formulario amplio y tabla equilibrada. */
@media (min-width:901px) and (max-height:900px) {
  .rm-birthday-form-card { width:min(1000px,97%); }
  .rm-birthday-form-card .rm-form-head { padding:15px 20px; }
  .rm-birthday-form-card .rm-form-footer { padding:13px 20px 16px; }
  .rm-birthday-form-card .rm-form-body { gap:12px 15px; padding:16px 20px; }
  .rm-birthday-form-card .rm-field input,
  .rm-birthday-form-card .rm-field select { min-height:52px; height:52px; font-size:17px; }
  .rm-birthday-form-card .rm-segmented { min-height:47px; }

  .rm-birthday-table .rm-status {
    min-height:32px;
    padding:6px 11px;
    font-size:14px;
  }
  .rm-birthday-table th:nth-child(1),
  .rm-birthday-table td:nth-child(1) { padding-right:13px; }
  .rm-birthday-table th:nth-child(2),
  .rm-birthday-table td:nth-child(2) { padding-left:13px; }
}




/* Interfaz táctil: sin efectos hover ni desplazamientos al pasar el puntero. */
.rm-icon-btn:hover:where(:root:not(.tpv-mobile) *), .rm-print-icon-btn:hover:where(:root:not(.tpv-mobile) *), .rm-card.rm-clickable:hover:where(:root:not(.tpv-mobile) *),
.rm-reservation:hover:where(:root:not(.tpv-mobile) *), .rm-btn:hover:where(:root:not(.tpv-mobile) *), .rm-btn.secondary:hover:where(:root:not(.tpv-mobile) *),
.rm-table tr:hover:where(:root:not(.tpv-mobile) *) td, .rm-upcoming-row:hover:where(:root:not(.tpv-mobile) *) td, .rm-reservation-row:hover:where(:root:not(.tpv-mobile) *),
.rm-event-preview-item:hover:where(:root:not(.tpv-mobile) *), .rm-event-row:hover:where(:root:not(.tpv-mobile) *), .rm-birthday-row:hover:where(:root:not(.tpv-mobile) *),
.rm-event-reservation:hover:where(:root:not(.tpv-mobile) *), .rm-event-reservation.is-cancelled:hover:where(:root:not(.tpv-mobile) *),
.rm-detail-photo:hover:where(:root:not(.tpv-mobile) *), .rm-btn.danger:hover:where(:root:not(.tpv-mobile) *),
.rm-table-seat:hover:where(:root:not(.tpv-mobile) *):not(.is-occupied) {
  transform:none !important;
  box-shadow:none !important;
}
.rm-card.rm-clickable:hover:where(:root:not(.tpv-mobile) *), .rm-event-preview-item:hover:where(:root:not(.tpv-mobile) *),
.rm-event-reservation:hover:where(:root:not(.tpv-mobile) *) { border-color:var(--rm-border, #d9e5ee) !important; }
.rm-reservation:hover:where(:root:not(.tpv-mobile) *), .rm-table tr:hover:where(:root:not(.tpv-mobile) *) td, .rm-upcoming-row:hover:where(:root:not(.tpv-mobile) *) td,
.rm-reservation-row:hover:where(:root:not(.tpv-mobile) *), .rm-event-row:hover:where(:root:not(.tpv-mobile) *), .rm-birthday-row:hover:where(:root:not(.tpv-mobile) *),
.rm-event-reservation:hover:where(:root:not(.tpv-mobile) *) { background:inherit !important; }
.rm-btn:hover:where(:root:not(.tpv-mobile) *) { background:#086db8 !important; }
.rm-btn.secondary:hover:where(:root:not(.tpv-mobile) *) { background:#e8f1f7 !important; }
.rm-btn.danger:hover:where(:root:not(.tpv-mobile) *) { background:#d63737 !important; }

.rm-empty-state {
  min-height:150px; display:flex; flex-direction:column; align-items:center; justify-content:center;
  gap:10px; padding:24px; text-align:center; color:#718096;
}
.rm-empty-state-icon {
  width:48px; height:48px; border-radius:15px; display:grid; place-items:center;
  background:#edf5fb; color:#397cae; font-size:24px; font-weight:900;
}
.rm-empty-state strong { color:#29445c; font-size:16px; }
.rm-empty-state span { font-size:13px; line-height:1.45; max-width:360px; }
td .rm-empty-state { min-height:115px; }


.rm-card-body{display:flex;flex-direction:column;}
.rm-card-body>.rm-empty-state{flex:1;display:flex;align-items:center;justify-content:center;min-height:100%;}
.rm-event-reservations{display:flex;flex-direction:column;}
.rm-event-reservations>.rm-empty-state{flex:1;display:flex;align-items:center;justify-content:center;min-height:100%;}

/* Estados vacíos centrados verticalmente en tarjetas y vistas completas. */
.rm-mini-list:has(.rm-empty-state),
.rm-preview-list:has(.rm-empty-state),
.rm-section-scroll:has(.rm-empty-state),
.rm-table-wrap:has(tbody > tr:only-child .rm-empty-state) {
  display:flex; flex-direction:column; min-height:0; height:100%;
}
.rm-mini-list > .rm-empty-state,
.rm-preview-list > .rm-empty-state,
.rm-section-scroll .rm-empty-state,
.rm-table-wrap tbody > tr:only-child td .rm-empty-state {
  flex:1; min-height:100%; justify-content:center;
}
.rm-table-wrap:has(tbody > tr:only-child .rm-empty-state) table { height:100%; }
.rm-table-wrap:has(tbody > tr:only-child .rm-empty-state) tbody,
.rm-table-wrap:has(tbody > tr:only-child .rm-empty-state) tbody tr,
.rm-table-wrap:has(tbody > tr:only-child .rm-empty-state) tbody td { height:100%; }
.rm-birthday-row.is-cancelled td { background:#fff0f0 !important; color:#b42323 !important; }
.rm-birthday-row.is-cancelled .rm-row-main,
.rm-birthday-row.is-cancelled .rm-status { color:#b42323 !important; }

.rm-confirm-overlay {
  position:absolute; inset:0; z-index:260; display:flex; align-items:center; justify-content:center;
  padding:20px; background:rgba(20,34,52,.52); backdrop-filter:blur(4px);
}
.rm-confirm-card {
  width:min(430px, 94vw); overflow:hidden; border-radius:20px; background:#fff;
  box-shadow:0 24px 70px rgba(12,29,48,.28); animation:rmConfirmIn .16s ease-out;
}
.rm-confirm-body { padding:25px 25px 20px; text-align:center; }
.rm-confirm-icon {
  width:54px; height:54px; margin:0 auto 14px; border-radius:18px; display:grid; place-items:center;
  background:#fff0f0; color:#c53030; font-size:27px; font-weight:900;
}
.rm-confirm-body h3 { margin:0 0 9px; color:#20374d; font-size:20px; }
.rm-confirm-body p { margin:0; color:#66788a; line-height:1.5; font-size:14px; }
.rm-confirm-actions { display:grid; grid-template-columns:1fr 1fr; gap:10px; padding:0 20px 20px; }
.rm-confirm-actions .rm-btn { min-height:48px; }
@keyframes rmConfirmIn { from { opacity:0; transform:scale(.96); } to { opacity:1; transform:scale(1); } }

@media (max-width:600px) {
  .rm-header { grid-template-columns:auto 1fr auto; padding:0 10px; }
  .rm-heading p { display:none; }
  .rm-heading h2 { font-size:17px; }
  .rm-dashboard, .rm-section-view { padding:10px; }
  .rm-form-body { grid-template-columns:1fr; }
  .rm-field.full { grid-column:auto; }
  .rm-reservation { grid-template-columns:56px minmax(0,1fr); }
  .rm-reservation .rm-status { grid-column:2; justify-self:start; }
  .rm-table { min-width:0; font-size:12px; }
  .rm-table th, .rm-table td { padding-left:7px; padding-right:7px; }
  .rm-detail-body { grid-template-columns:1fr; }
  .rm-detail-photo { width:150px; height:150px; justify-self:center; }
  .rm-detail-info { grid-template-columns:1fr; }
  .rm-detail-field.full { grid-column:auto; }
}

.rm-neutral-icon-btn { background:#eef2f6; color:#53657a; }
.rm-event-reservation-meta { display:block; color:#718096; margin-top:3px; }
.rm-legend-free { background:#188f58; }
.rm-legend-selected { background:#0766b5; }
.rm-legend-occupied { background:#b82828; }
.rm-confirm-actions-single { grid-template-columns:1fr; }
.rm-confirm-print-icon { background:#e6f4ff; color:#0874bf; }
.rm-confirm-print-options { display:grid; gap:10px; padding:0 20px 20px; }
.rm-print-frame { position:fixed; right:0; bottom:0; width:0; height:0; border:0; }
.rm-managed-spacer-svg { display:block; }
.rm-birthday-table col:nth-child(1) { width:8%; }
.rm-birthday-table col:nth-child(2) { width:7.5%; }
.rm-birthday-table col:nth-child(3) { width:12.5%; }
.rm-birthday-table col:nth-child(4) { width:11.5%; }
.rm-birthday-table col:nth-child(5) { width:6%; }
.rm-birthday-table col:nth-child(6) { width:8%; }
.rm-birthday-table col:nth-child(7) { width:19%; }
.rm-birthday-table col:nth-child(8) { width:8.5%; }
.rm-birthday-table col:nth-child(9) { width:8%; }
.rm-birthday-table col:nth-child(10) { width:11%; }

@page { margin:14mm; }
html.rm-print-document-root,
body.rm-print-document { width:auto; height:auto; overflow:visible !important; overscroll-behavior:auto; background:#fff !important; }
body.rm-print-document { margin:0; color:#172033; font:13px Arial,Helvetica,sans-serif; }
.rm-print-document,
.rm-print-document * { font-family:Arial,Helvetica,sans-serif !important; }
.rm-print-document * { box-sizing:border-box; }
.rm-print-document h1 { margin:0 0 5px; font-size:22px; }
.rm-print-document h2 { margin:0 0 18px; color:#53657a; font-size:16px; font-weight:600; }
.rm-print-document .card { padding:18px; border:1px solid #d9e0e8; border-radius:12px; }
.rm-print-document .person { display:grid; grid-template-columns:110px 1fr; gap:18px; align-items:start; }
.rm-print-document .photo { width:110px; height:110px; object-fit:cover; border:1px solid #d9e0e8; border-radius:10px; }
.rm-print-document .grid { display:grid; grid-template-columns:1fr 1fr; gap:10px 18px; }
.rm-print-document .field { padding:7px 0; border-bottom:1px solid #e7ebf0; }
.rm-print-document .field.full { grid-column:1/-1; }
.rm-print-document .label { display:block; margin-bottom:3px; color:#6b7788; font-size:11px; text-transform:uppercase; letter-spacing:.04em; }
.rm-print-document .value { font-weight:700; }
.rm-print-document table { width:100%; margin-top:12px; border-collapse:collapse; }
.rm-print-document th,
.rm-print-document td { padding:9px 8px; border-bottom:1px solid #dfe5ec; text-align:left; }
.rm-print-document th { background:#f5f7fa; color:#607087; font-size:11px; text-transform:uppercase; }
.rm-print-document .summary { margin:0 0 14px; color:#53657a; }
.rm-print-document .empty { padding:20px; border:1px dashed #cfd7e1; border-radius:10px; color:#6b7788; text-align:center; }
@media print { .rm-print-document { -webkit-print-color-adjust:exact; print-color-adjust:exact; } }

/* Menú de cumpleaños restaurado desde el diseño original. */
.birthday-count-dialog,.birthday-order-dialog{display:flex;flex-direction:column;overflow:hidden;border:3px solid #315fca;border-radius:16px;background:#f5f8fc;box-shadow:0 22px 65px rgba(8,22,48,.35)}
.birthday-count-dialog{width:min(430px,92vw);padding-bottom:16px}.birthday-count-dialog>header,.birthday-order-dialog>header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background:#213e73;color:#fff}.birthday-count-dialog h2,.birthday-order-dialog h2{margin:3px 0 0}.birthday-count-dialog>header button,.birthday-order-dialog>header button{width:42px;height:42px;border:0;border-radius:9px;background:#fff;color:#213e73;font-size:27px}.birthday-count-dialog>output{margin:18px 20px 10px;padding:12px;border-radius:11px;background:#e7eef8;color:#2448bb;text-align:center;font-size:40px;font-weight:900}.birthday-keypad{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:0 20px}.birthday-keypad button{height:54px;border:0;border-radius:10px;background:#dbe6fa;color:#2345b8;font-size:24px;font-weight:900}.birthday-keypad button:nth-last-child(2){grid-column:2}.birthday-count-dialog>footer,.birthday-order-dialog>footer{display:flex;justify-content:flex-end;gap:10px;padding:14px 20px;background:#fff}.birthday-count-dialog>footer button,.birthday-order-dialog>footer button{min-height:44px;border:0;border-radius:9px;padding:0 18px;background:#d94b57;color:#fff;font-weight:900}.birthday-count-dialog>footer .primary,.birthday-order-dialog>footer .primary{background:#2d9d64}
.birthday-order-dialog{width:min(970px,95vw);height:min(650px,88vh)}.birthday-workspace{display:grid;grid-template-columns:minmax(285px,34%) minmax(0,66%);grid-template-rows:1fr 1fr;gap:12px;min-height:0;flex:1;padding:12px}.birthday-workspace>aside{grid-row:1/3;display:flex;flex-direction:column;min-height:0;border:1px solid #d5dfeb;border-radius:12px;background:#fff;overflow:hidden}.birthday-workspace h3{margin:0;padding:11px 13px;border-bottom:1px solid #dce5ef;background:#edf3f8;color:#294b85;font-size:14px}.birthday-summary{flex:1;overflow:auto;padding:8px 10px;background:#fbfcfe}.birthday-summary-line{grid-template-columns:32px 32px 42px minmax(0,1fr);gap:5px;margin:0;padding:7px 0}.birthday-summary-line .line-name{border:0;background:transparent;padding:0 2px;text-align:left}.birthday-children{display:grid;grid-template-columns:1fr 42px 55px 42px;align-items:center;gap:7px;padding:10px 12px;border-top:1px solid #dce5ef;color:#294b85;font-weight:900}.birthday-children button{height:38px;border:0;border-radius:8px;background:#315fca;color:#fff;font-size:24px}.birthday-children strong{text-align:center;font-size:24px}.birthday-counters{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;padding:0 12px 12px}.birthday-counters>div{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:5px;min-width:0;padding:9px 8px;border-radius:8px;color:#fff;font-size:13px;font-weight:900;white-space:nowrap}.birthday-counters>div span,.birthday-counters>div strong{white-space:nowrap}.birthday-counters .ok{background:#2d9d64}.birthday-counters .bad{background:#d94b57}.birthday-food,.birthday-drinks{display:flex;flex-direction:column;min-height:0;border:1px solid #d5dfeb;border-radius:12px;background:#fff;overflow:hidden}.birthday-food>div,.birthday-drinks>div{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:minmax(64px,1fr);gap:7px;min-height:0;overflow:auto;padding:9px}.birthday-food .product,.birthday-drinks .product{border:1px solid #d8e1ec;border-radius:10px;background:#fff;color:#244b9b;font-size:11px;font-weight:800;box-shadow:0 3px 9px rgba(26,48,82,.06)}

/* Fondo de catálogo del cumple, igual que los selectores de los demás menús. */
.birthday-food,.birthday-drinks,.birthday-food>div,.birthday-drinks>div{background:#e8edf3!important}

/* Selector de reserva previo a la primera toma de un Menú de cumple. */
.birthday-reservation-dialog{display:flex;flex-direction:column;width:min(650px,92vw);max-height:min(650px,88vh);overflow:hidden;border:3px solid #315fca;border-radius:16px;background:#f5f8fc;box-shadow:0 22px 65px rgba(8,22,48,.35)}
.birthday-reservation-dialog>header{display:flex;align-items:flex-start;justify-content:space-between;padding:16px 20px;background:#213e73;color:#fff}.birthday-reservation-dialog>header h2{margin:3px 0 0}.birthday-reservation-dialog>header p{margin:6px 0 0;color:#dce7fb;font-size:13px}.birthday-reservation-dialog>header button{flex:none;width:42px;height:42px;border:0;border-radius:9px;background:#fff;color:#213e73;font-size:27px}.birthday-reservation-list{display:grid;gap:9px;min-height:0;overflow:auto;padding:14px}.birthday-reservation-card{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:70px;padding:12px 15px;border:2px solid #d5dfeb;border-radius:11px;background:#fff;color:#274777;text-align:left}.birthday-reservation-card span{display:flex;flex-direction:column;gap:4px;min-width:0}.birthday-reservation-card strong{font-size:17px}.birthday-reservation-card small{color:#6b7890;font-size:13px}.birthday-reservation-card b{flex:none;padding:8px 10px;border-radius:8px;background:#e7eef8;color:#2448bb;font-size:13px}.birthday-reservation-card.selected{border-color:#315fca;background:#e6edff;box-shadow:inset 0 0 0 1px #315fca}.birthday-reservation-card.none{border-style:dashed}.birthday-reservation-dialog>footer{display:flex;justify-content:flex-end;gap:10px;padding:14px 20px;background:#fff}.birthday-reservation-dialog>footer button{min-height:44px;border:0;border-radius:9px;padding:0 18px;background:#d94b57;color:#fff;font-weight:900}.birthday-reservation-dialog>footer .primary{background:#315fca}.birthday-reservation-dialog>footer .primary:disabled{background:#c9cfd8;color:#8c95a3;cursor:default}.birthday-reservation-loading{display:grid;place-items:center;min-height:170px;color:#66758e;font-size:17px;font-weight:700}
html:not(.tpv-mobile) .terrace-top:has([data-table^="TERRAZA:Ex."]) { display:flex!important; flex-direction:row!important; gap:8px!important; }
html:not(.tpv-mobile) .terrace-top:has([data-table^="TERRAZA:Ex."])>.table-card { width:100%!important; min-height:44px!important; height:auto!important; flex:1!important; }

html:not(.tpv-mobile) .terrace-top:has([data-table^="TERRAZA:Ex."])>.table-card { flex:2 1 0!important; }
html:not(.tpv-mobile) .terrace-top:has([data-table^="TERRAZA:Ex."])>[data-table^="TERRAZA:Ex."] { flex:1 1 0!important; }
html:not(.tpv-mobile) .mini-row:has([data-select-table^="TERRAZA:Ex."]) { display:flex!important; flex-direction:row!important; gap:8px!important; }
html:not(.tpv-mobile) .mini-row:has([data-select-table^="TERRAZA:Ex."])>.selector-table { width:0!important; flex:2 1 0!important; }
html:not(.tpv-mobile) .mini-row:has([data-select-table^="TERRAZA:Ex."])>[data-select-table^="TERRAZA:Ex."] { flex:1 1 0!important; }

.menu-completion-dialog{width:min(680px,94vw);max-height:90vh;display:flex;flex-direction:column;gap:16px;background:#fff;border:3px solid #213e73;border-radius:16px;padding:24px;font-family:inherit;color:#213e73}.menu-completion-dialog h2{margin:0;font-size:24px}.menu-completion-content{overflow:auto;min-height:0}.menu-completion-content section{padding:12px 0;border-bottom:1px solid #dbe3ed}.menu-completion-content h3{margin:0 0 8px}.menu-completion-content p{margin:8px 0}.menu-completion-dialog footer{display:flex;gap:10px}.menu-completion-dialog button{flex:1;border:0;border-radius:8px;background:#213e73;color:#fff;padding:14px;font:inherit;font-weight:700}.menu-completion-dialog .dialog-accept{background:#2da66a}
.menu-completion-dialog>.menu-completion-content{display:block!important;width:100%;text-align:left}.menu-completion-dialog>.menu-completion-content section{display:block}.menu-completion-dialog>.menu-completion-content p{display:block;text-align:left}
.menu-completion-dialog .menu-completion-content p{margin:10px 0!important;padding:0!important;line-height:1.4!important;font-size:18px;flex:none!important}.menu-completion-dialog .menu-completion-content h3{margin:0 0 10px!important}.menu-completion-dialog .menu-completion-content section{padding:12px 0!important}.menu-completion-dialog [data-menu-completion="apply"]{background:#2da66a!important}

/* Separate what is missing from the eligible articles proposed for the menu. */
.menu-completion-dialog .menu-completion-content .menu-completion-card{border:1px solid #d4deeb!important;border-radius:16px!important;padding:16px!important;margin:0 0 16px!important;background:#fff!important;box-sizing:border-box}
.menu-completion-content .menu-completion-card h3{color:#213e73!important}
.menu-completion-card>div{display:block!important;width:100%!important;padding:12px!important;margin:10px 0 0!important;border-radius:10px!important;box-sizing:border-box}
.menu-completion-missing{background:#fff5df!important;color:#755019!important}
.menu-completion-additions{background:#eaf7ef!important;color:#176340!important}
.menu-completion-card h4{font-size:12px!important;letter-spacing:.06em;margin:0 0 8px!important}
.menu-completion-card ul{list-style:none!important;padding:0!important;margin:0!important;display:grid!important;gap:7px!important}
.menu-completion-card li{display:flex!important;align-items:center!important;gap:10px!important;font-size:16px!important;line-height:1.35!important}
.menu-completion-card li b{display:grid!important;place-items:center!important;min-width:28px!important;height:28px!important;background:#ffffffc9!important;border-radius:8px!important;flex-shrink:0!important}

@media(min-width:761px){
 html:not(.tpv-mobile) .clock-panel strong,html:not(.tpv-mobile) .clock-panel #date,html:not(.tpv-mobile) .reservations-panel{color:#213e73!important}
 html:not(.tpv-mobile) .reservations-panel{display:flex;align-items:center;justify-content:center;gap:12px;font-family:'SF Pro Text',Arial,sans-serif!important}
 html:not(.tpv-mobile) .reservations-panel strong{font-family:inherit!important;font-size:19px!important;font-weight:900!important;color:inherit!important;line-height:1!important}
 html:not(.tpv-mobile) .reservations-panel svg{width:30px;height:30px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
 html:not(.tpv-mobile) .touch-keyboard{z-index:60000}
 html:not(.tpv-mobile).touch-keyboard-open #reservas-modal-overlay .rm-form-screen.is-visible{position:fixed!important;inset:16px 16px calc(var(--touch-keyboard-inset,300px) + 16px)!important;padding:0!important;overflow:hidden}
 html:not(.tpv-mobile).touch-keyboard-open #reservas-modal-overlay .rm-form-layer{inset:0!important;padding:0!important;align-items:center!important}
 html:not(.tpv-mobile).touch-keyboard-open #reservas-modal-overlay .rm-form-card{display:flex!important;flex-direction:column!important;max-height:100%!important;width:min(760px,94vw)!important;min-height:0!important}
 html:not(.tpv-mobile).touch-keyboard-open #reservas-modal-overlay .rm-form-head,html:not(.tpv-mobile).touch-keyboard-open #reservas-modal-overlay .rm-form-footer{flex-shrink:0;padding:10px 16px!important}
 html:not(.tpv-mobile).touch-keyboard-open #reservas-modal-overlay .rm-form-body{overflow:auto!important;min-height:0;max-height:none!important;padding:12px 16px!important;gap:10px!important}
 html:not(.tpv-mobile).touch-keyboard-open #reservas-modal-overlay .rm-field input,html:not(.tpv-mobile).touch-keyboard-open #reservas-modal-overlay .rm-field select{height:40px!important;min-height:40px!important;font-size:15px!important}
}
@media(min-width:761px){
 html:not(.tpv-mobile).touch-keyboard-open #reservas-modal-overlay .rm-form-screen.is-visible{inset:0!important;padding:16px 16px calc(var(--touch-keyboard-inset,300px) + 16px)!important;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}
 html:not(.tpv-mobile) .channel-empty{grid-column:1/-1;width:100%;text-align:center;align-self:center;justify-self:center}
}
@media(max-height:767px){
 html:not(.tpv-mobile) .tables-view .floor-plan{--table-w:min(6.4vw,8.92vh);--table-h:min(11.48vw,16vh)}
}

@media(max-height:767px){html:not(.tpv-mobile) .tables-view .terrace-zone{--terrace-w:min(5.75vw,8.92vh);--terrace-h:min(10.31vw,16vh)}}
@media(min-width:761px){html:not(.tpv-mobile) .delivery-history-list:has(>.channel-empty){align-content:center}html:not(.tpv-mobile) .delivery-history-list>.channel-empty{margin:0}}
.channel-card-list:has(>.channel-empty),.delivery-history-list:has(>.channel-empty){flex:1;display:flex!important;align-items:center!important;justify-content:center!important;min-height:0}
.channel-card-list>.channel-empty,.delivery-history-list>.channel-empty{width:100%;margin:0!important;text-align:center}
.autocomplete-history>p{padding:12px 14px;margin:0;border-bottom:1px solid #e0e7ef;background:#fff}
@media(min-width:761px){
 html:not(.tpv-mobile) .channel-options-dialog,html:not(.tpv-mobile) .channel-payment-dialog{padding-bottom:18px!important}
 html:not(.tpv-mobile) .channel-options-dialog>.channel-prompt-back,html:not(.tpv-mobile) .channel-payment-dialog>.channel-prompt-back{width:calc(100% - 36px)!important;margin:12px 18px 0!important;border-radius:9px!important;height:46px!important;min-height:46px!important}
 html:not(.tpv-mobile) .channel-payment-dialog>.payment-cancel{background:#d94b57!important;color:#fff!important}
 html:not(.tpv-mobile) .menu-completion-dialog{padding:24px!important;border:0!important;border-radius:16px!important;background:#fff!important;color:#274777}
 html:not(.tpv-mobile) .menu-completion-dialog>h2{background:none!important;color:#274777!important;margin:0!important;padding:0!important;font-size:24px}
 html:not(.tpv-mobile) .menu-completion-dialog footer{padding:0!important;margin-top:10px!important;gap:10px}
 html:not(.tpv-mobile) .channel-info-dialog .channel-info-actions{margin-top:12px!important;margin-bottom:12px!important}
 html:not(.tpv-mobile).touch-keyboard-open .channel-prompt-backdrop:has(.channel-info-dialog){display:flex!important;align-items:center!important;padding:16px 20px calc(var(--touch-keyboard-inset,300px) + 16px)!important}
 html:not(.tpv-mobile).touch-keyboard-open .channel-info-dialog{transform:none!important;zoom:1!important;margin:0!important;width:480px!important;max-height:100%!important;overflow:auto!important}
 html:not(.tpv-mobile).touch-keyboard-open .channel-info-dialog h2{font-size:18px!important;padding:12px 16px!important}
 html:not(.tpv-mobile).touch-keyboard-open .channel-info-dialog label{margin-top:8px!important;margin-bottom:8px!important;font-size:12px!important}
 html:not(.tpv-mobile).touch-keyboard-open .channel-info-dialog input,html:not(.tpv-mobile).touch-keyboard-open .channel-info-dialog select{height:40px!important;min-height:40px!important}
 html:not(.tpv-mobile).touch-keyboard-open .channel-info-dialog button{height:40px!important;min-height:40px!important;font-size:13px!important}
}

@media(min-width:761px){html:not(.tpv-mobile).touch-keyboard-open .channel-prompt-backdrop:has(.channel-info-dialog){justify-content:center!important}}
.base-normalization-result{grid-template-columns:1fr!important;gap:12px!important}
.menu-summary-choice em{right:52px!important;left:auto!important}

/* Paint over the existing border so the horizontal and vertical separators have equal thickness. */
html:not(.tpv-mobile) .tables-view .upper-zones{position:relative}
html:not(.tpv-mobile) .tables-view .upper-zones::after{content:'';display:block;position:absolute;bottom:calc(-1 * var(--separator));left:0;right:0;height:var(--separator);background:#e1e7ef;z-index:6;pointer-events:none}
html:not(.tpv-mobile) .tables-view :is(.upper-zones,.lower-zones,.zone,.dining-zone,.dining-grid){box-sizing:border-box;min-height:0}
html:not(.tpv-mobile) .tables-view .terrace-zone .zone-row:not(.terrace-top)>.table-card{height:min(var(--terrace-h),100%)!important;width:auto!important;max-width:100%;aspect-ratio:58/104}
html:not(.tpv-mobile) .tables-view .dining-grid>.table-card{height:min(var(--table-h),100%)!important;width:auto!important;max-width:100%;aspect-ratio:58/104}
.delivery-time-dialog{width:min(480px,94vw);padding-bottom:18px!important}
.delivery-time-dialog>label{display:grid;gap:10px;margin:18px;color:#274777;font-weight:800}
.delivery-time-dialog .pickup-time-selects{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.delivery-time-dialog select{width:100%;height:48px;border:1px solid #c5d4e7;border-radius:9px;padding:0 12px;background:#fff;color:#274777;font:inherit}
.delivery-time-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:18px}
.delivery-time-dialog button{min-height:46px;border-radius:9px;font-weight:800}
.delivery-time-dialog>.channel-prompt-back{width:calc(100% - 36px);margin:0 18px;background:#fff;color:#274777;border:1px solid #c5d4e7}

@media (hover:hover) and (pointer:fine){
  :root:not(.tpv-mobile) :is(.product-grid.full-grid,.menu-product-grid,.birthday-food,.birthday-drinks) .product:not(:disabled):not(.selected):hover{
    background:#e8effc!important;border-color:#99b2e6!important;
  }
  :root:not(.tpv-mobile) .menu-product-grid .product.selected:not(:disabled):hover{
    background:#108342!important;border-color:#108342!important;
  }
}

/* Keep the history button's four corners intact inside the ticket footer. */
html #app .discount-total{overflow:visible!important}

/* Catalogue feedback: mouse hover and touch press for every selectable tile. */
@media (hover:hover) and (pointer:fine){
 html:root #app :is(.family-grid .category,.product-grid.full-grid .product,.menu-product-grid .product,.birthday-food .product,.birthday-drinks .product):not(:disabled):not(.selected):hover{background:#e8effc!important;border-color:#99b2e6!important}
 html:root #app .menu-product-grid .product.selected:not(:disabled):hover{background:#108342!important;border-color:#108342!important}
}
html:root #app :is(.family-grid .category,.product-grid.full-grid .product,.menu-product-grid .product,.birthday-food .product,.birthday-drinks .product):not(:disabled):not(.selected):is(:active,.catalog-pressed){background:#cbdcf5!important;border-color:#315fca!important}
html:root #app .menu-product-grid .product.selected:not(:disabled):is(:active,.catalog-pressed){background:#087437!important;border-color:#087437!important}

/* Delivery actions and the takeaway form use consistent colors and spacing. */
html #app .channel-options-dialog [data-delivery-time-open]{background:#2ba66c!important;color:#fff!important;border-color:#2ba66c!important}
html #app .channel-options-dialog [data-delivery-time-open]~[data-channel-prompt-back]{background:#315fca!important;color:#fff!important;border-color:#315fca!important}
html #app .delivery-time-dialog [data-delivery-time-back]{background:#d8e0e9!important;color:#344867!important;border-color:#d8e0e9!important}
html #app .delivery-time-dialog .delivery-time-actions{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important;margin:12px 18px 0!important;padding:0!important}
html #app .delivery-time-actions button{width:100%!important;min-width:0!important;margin:0!important}
html #app .delivery-time-dialog [data-delivery-time-clear]:disabled{background:#d8e0e9!important;color:#8795a8!important;border-color:#d8e0e9!important;cursor:default!important;opacity:1!important;box-shadow:none!important}
html #app .takeaway-name-dialog .channel-info-actions{display:block!important;clear:both;margin:12px 18px!important;padding:0!important}
html #app .takeaway-name-dialog .channel-info-actions .dialog-accept{width:100%!important;margin:0!important}
html #app .takeaway-name-dialog>.channel-current-void{margin-top:0!important}
