@import "https://fonts.googleapis.com/css2?family=Playfair+Display:wght@500;600;700;900&family=Montserrat:wght@400;500;600;700&display=swap";@import "https://fonts.googleapis.com/css2?family=Playfair+Display:wght@500;600;700;900&family=Montserrat:wght@400;500;600;700&display=swap";@keyframes comalysa-fade-in{0%{opacity:0}to{opacity:1}}@keyframes comalysa-fade-in-scale{0%{opacity:0;transform:translateY(10px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes comalysa-fade-in-up{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes comalysa-float{0%,to{transform:translateY(0)}50%{transform:translateY(-14px)}}@keyframes comalysa-pulse-glow{0%,to{box-shadow:0 0 #c4552e59}50%{box-shadow:0 0 0 6px #c4552e00}}@keyframes comalysa-highlight-new{0%{border-color:var(--gold);box-shadow:0 0 #c4552e8c}70%{box-shadow:0 0 0 10px #c4552e00}to{box-shadow:0 0 #c4552e00}}@keyframes comalysa-shimmer{0%{background-position:-200px 0}to{background-position:calc(200px + 100%) 0}}@keyframes comalysa-pop{0%{transform:scale(1)}40%{transform:scale(1.06)}to{transform:scale(1)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}:root{--brand-terracota:#c4552e;--brand-oliva:#5c6b4a;--brand-carbon:#2b2b2b;--brand-crema:#f2e9d8;--font-heading:"Playfair Display", Georgia, serif;--font-body:"Montserrat", ui-sans-serif, system-ui, sans-serif;--bg:var(--brand-carbon);--bg-gradient-1:#3d2a1f;--bg-gradient-2:var(--brand-carbon);--bg-gradient-3:#1a1512;--panel:#38322b;--panel2:#453d33;--gold:var(--brand-terracota);--green:var(--brand-oliva);--purple:#8a6a45;--text:var(--brand-crema);--muted:#cbbfa8;--danger:#d9534f;--line:#f2e9d824;--status-borrador:#8d8578;--status-pedido:var(--brand-terracota);--status-preparacion:#d98c33;--status-listo:var(--brand-oliva);--status-entregado:var(--brand-oliva);--status-pagado:#4a7a8c;--status-nuevo:#a83a2a;--table-free:var(--brand-oliva);--table-occupied:var(--brand-terracota);--table-selected:#d98c33;--cat-taco:var(--brand-terracota);--cat-gordita:#b8763f;--cat-quesadilla:#d9a13d;--cat-platillo-dia:var(--brand-oliva);--cat-postre:#b9647a;--cat-bebida:#4a7a8c;--cat-dulce:#a8546b}button,input,select,textarea,.status-pill,.status-dot{transition:background-color .18s,border-color .18s,color .18s,transform .15s cubic-bezier(.34,1.56,.64,1),box-shadow .18s}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}*{box-sizing:border-box}h1,h2,h3{font-family:var(--font-heading);font-weight:700}body{font-family:var(--font-body);background:radial-gradient(circle at top left,var(--bg-gradient-1),var(--bg-gradient-2) 42%,var(--bg-gradient-3));color:var(--text);min-height:100vh;margin:0}.app-shell{min-height:100vh;position:relative;overflow:hidden}.orb{filter:blur(30px);opacity:.32;pointer-events:none;border-radius:50%;animation:9s ease-in-out infinite comalysa-float;position:fixed}.orb-a{background:var(--purple);width:320px;height:320px;top:90px;right:-70px}.orb-b{background:var(--gold);width:280px;height:280px;bottom:80px;left:-80px}.topbar{z-index:1;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#11101494;justify-content:space-between;align-items:center;padding:18px 26px;display:flex;position:relative}.brand,.top-actions,.section-title{align-items:center;gap:10px;display:flex}.brand{letter-spacing:.4px;font-weight:900;font-family:var(--font-heading);font-size:20px}.ghost{border:1px solid var(--line);color:var(--text);cursor:pointer;background:#ffffff14;border-radius:999px;align-items:center;gap:8px;padding:10px 14px;transition:transform .15s,background .15s;display:inline-flex}.ghost:hover{background:#ffffff24;transform:translateY(-1px)}.ghost:active{transform:translateY(0)scale(.96)}.login-wrap{z-index:1;grid-template-columns:1.1fr .9fr;gap:24px;max-width:1180px;margin:auto;padding:60px;display:grid;position:relative}.hero-card,.login-card,.welcome-panel,.ticket-panel,.kpi,.chart,.orders-list{border:1px solid var(--line);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:linear-gradient(145deg,#ffffff1f,#ffffff0a);border-radius:32px;padding:32px;transition:transform .2s,box-shadow .2s;box-shadow:0 24px 90px #00000059}.hero-card,.login-card{animation:.4s both comalysa-fade-in-up}.hero-card h1{font-size:56px;line-height:1;font-family:var(--font-heading);margin:10px 0}.eyebrow{color:var(--gold);text-transform:uppercase;letter-spacing:2px;font-size:12px;font-weight:800}.role-pills{flex-wrap:nowrap;justify-content:flex-start;align-items:center;gap:10px;margin-top:24px;display:flex;overflow-x:auto}.role-pills button{color:var(--gold);cursor:pointer;white-space:nowrap;font-family:var(--font-body);background:#c4552e33;border:0;border-radius:16px;padding:12px 16px}.login-card{flex-direction:column;gap:16px;display:flex}.login-card input{border:1px solid var(--line);width:100%;color:var(--text);background:#100d14;border-radius:16px;margin-top:8px;padding:14px}.primary{background:linear-gradient(135deg,var(--gold),#e07a4a);color:var(--brand-crema);cursor:pointer;font-weight:700;font-family:var(--font-body);border:0;border-radius:16px;padding:13px 18px;transition:transform .15s,filter .15s}.primary:hover{filter:brightness(1.06);transform:translateY(-1px)}.primary:active{transform:translateY(0)scale(.97)}.primary:disabled{opacity:.55;cursor:not-allowed;transform:none}.primary.big{padding:18px 28px;font-size:22px}.error{color:var(--danger)}.page{z-index:1;max-width:1280px;margin:auto;padding:34px;position:relative}.welcome-panel{text-align:center;max-width:860px;margin:60px auto}.welcome-panel h1,.menu-header h1{font-size:50px;font-family:var(--font-heading);margin:0}.menu-header{justify-content:space-between;align-items:center;display:flex}.ticket-btn{background:var(--gold);color:var(--brand-crema);border:0;border-radius:20px;align-items:center;gap:8px;padding:16px 20px;font-weight:700;display:flex}.category-rail{gap:12px;padding:20px 0;display:flex;overflow:auto}.category-rail button{border:1px solid var(--line);min-width:160px;color:var(--text);background:#ffffff12;border-radius:20px;padding:16px;font-weight:800}.category-rail .active{background:var(--gold);color:var(--brand-crema)}.dish-slider{scroll-snap-type:x mandatory;grid-auto-columns:minmax(310px,1fr);grid-auto-flow:column;gap:24px;padding:10px 0 24px;display:grid;overflow-x:auto}.flip-card{perspective:1000px;scroll-snap-align:start;height:420px}.flip-inner{width:100%;height:100%;transform-style:preserve-3d;transition:transform .6s;position:relative}.flip-card:hover .flip-inner{transform:rotateY(180deg)}.flip-front,.flip-back{backface-visibility:hidden;border:1px solid var(--line);background:var(--panel);border-radius:30px;position:absolute;inset:0;overflow:hidden}.flip-front img{object-fit:cover;width:100%;height:100%}.flip-front:after{content:"";background:linear-gradient(#0000,#0000008c);position:absolute;inset:0}.flip-back{flex-direction:column;justify-content:center;gap:14px;padding:28px;display:flex;transform:rotateY(180deg)}.flip-back h3{font-size:30px;font-family:var(--font-heading);margin:0}.flip-back p{color:var(--muted)}.flip-back strong{color:var(--gold);font-size:28px}.add{z-index:2;background:var(--gold);width:72px;height:72px;color:var(--brand-crema);border:0;border-radius:50%;place-items:center;display:grid;position:absolute;bottom:18px;right:18px}.status-strip{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;display:grid}.status-card{border:1px solid var(--line);background:#ffffff14;border-radius:20px;flex-direction:column;gap:6px;padding:16px;transition:transform .15s;display:flex}.status-card:hover{transform:translateY(-2px)}.status-card span{color:var(--green);font-weight:900}.modal{z-index:5;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0000009e;justify-content:center;align-items:flex-start;padding:32px 20px;animation:.18s comalysa-fade-in;display:flex;position:fixed;inset:0;overflow-y:auto}.modal>*{animation:.22s cubic-bezier(.16,1,.3,1) comalysa-fade-in-scale}.ticket-panel{width:min(540px,100%);position:relative}.close{color:var(--text);background:0 0;border:0;font-size:34px;position:absolute;top:14px;right:18px}.ticket-line,.order-line{border-bottom:1px solid var(--line);grid-template-columns:1fr auto;align-items:center;gap:12px;padding:14px 0;display:grid}.ticket-line button,.order-line button{color:var(--text);background:#ffffff1a;border:0;border-radius:12px;padding:10px}.total{text-align:right;color:var(--gold);margin:20px 0;font-size:28px;font-weight:900}.kitchen-table{border:1px solid var(--line);background:#ffffff0f;border-radius:24px;overflow:hidden}.krow{border-bottom:1px solid var(--line);grid-template-columns:.7fr 2.3fr 1fr 1fr 1fr 1fr;align-items:center;gap:10px;padding:14px 18px;display:grid}.krow.head{color:var(--gold);background:#c4552e33;font-weight:700}.krow button{border:1px solid var(--line);color:var(--text);background:#ffffff14;border-radius:12px;padding:12px}.krow button.ok{background:var(--green);color:#07150c}.kpi-grid{grid-template-columns:repeat(4,1fr);gap:16px;margin:20px 0;display:grid}.kpi,.chart{animation:.35s both comalysa-fade-in-up}.kpi:hover,.chart:hover{transform:translateY(-3px);box-shadow:0 28px 70px #0006}.kpi span{color:var(--muted)}.kpi strong{color:var(--gold);margin-top:8px;font-size:34px;display:block}.dash-grid{grid-template-columns:1fr 1fr;gap:18px;display:grid}.bar{grid-template-columns:140px 1fr 40px;align-items:center;gap:12px;margin:14px 0;display:grid}.bar div{background:#ffffff1a;border-radius:999px;height:12px;overflow:hidden}.bar i{background:linear-gradient(90deg,var(--green),var(--gold));border-radius:999px;height:100%;display:block}.orders-list{margin-top:18px}.order-line{grid-template-columns:1fr 1fr auto auto}@media (width<=850px){.login-wrap{grid-template-columns:1fr;padding:24px}.hero-card h1{font-size:38px}.kpi-grid,.dash-grid{grid-template-columns:1fr}.krow{grid-template-columns:1fr;gap:8px}.page{padding:18px}.menu-header{align-items:flex-start}.dish-slider{grid-auto-columns:82vw}.topbar{padding:14px}.brand span{display:none}}.session-expired-hint{color:var(--gold);background:#c4552e29;border:1px solid #c4552e66;border-radius:14px;margin-bottom:14px;padding:12px 16px;font-size:14px;animation:.3s both comalysa-fade-in-up}.loading-panel{flex-direction:column;gap:10px;padding:24px 4px;display:flex}.loading-bar{background:linear-gradient(90deg,#ffffff0f 0%,#ffffff29 50%,#ffffff0f 100%) 0 0/200px 100%;border-radius:8px;width:100%;height:14px;animation:1.3s ease-in-out infinite comalysa-shimmer}.loading-label{color:var(--muted);text-align:center;margin:4px 0 0;font-size:12px}.kpi{flex:1;min-width:200px;position:relative}.dashboard-stat-grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px;margin:12px 0 22px;display:grid}.dashboard-stat-grid .kpi{border-radius:18px;flex-direction:column;gap:6px;padding:16px;display:flex}.dashboard-stat-grid .kpi-value{margin:2px 0 0;font-size:24px}.dashboard-stat-grid .kpi-label{margin-bottom:0}.kpi-primary{border-left:4px solid var(--gold)}.kpi-secondary{border-left:4px solid var(--green)}.kpi-tertiary{border-left:4px solid var(--purple)}.kpi-quaternary{border-left:4px solid var(--danger)}.kpi-label{color:var(--muted);text-transform:uppercase;letter-spacing:1px;margin-bottom:8px;font-size:12px}.kpi-value{color:var(--text);margin:12px 0;font-size:28px;font-weight:900}.kpi-meta{color:var(--muted);margin-top:8px;font-size:11px}.kpi-bar{background:#ffffff14;border-radius:2px;height:3px;margin-top:12px;overflow:hidden}.kpi-bar i{background:var(--gold);border-radius:2px;height:100%;transition:width .3s;display:block}.chart{flex:1;min-width:280px}.chart h2{margin:0 0 20px;font-size:16px;font-weight:600}.chart-vertical{justify-content:space-around;align-items:flex-end;gap:12px;height:200px;display:flex}.col-bar{flex-direction:column;flex:1;align-items:center;gap:8px;display:flex}.col{border-radius:8px 8px 0 0;flex:1;justify-content:center;align-items:flex-start;width:100%;min-width:30px;transition:height .6s cubic-bezier(.16,1,.3,1);display:flex;position:relative}.col-val{color:#111;white-space:nowrap;padding:4px;font-size:11px;font-weight:600}.col-label{color:var(--muted);text-align:center;font-size:11px}.chart-horizontal{flex-direction:column;gap:16px;display:flex}.row-bar{align-items:center;gap:12px;min-height:32px;display:flex}.row-label{min-width:80px;color:var(--muted);text-align:right;font-size:12px}.row-container{border:1px solid var(--line);background:#ffffff0a;border-radius:8px;flex:1;height:28px;overflow:hidden}.row{border-radius:8px;justify-content:center;align-items:center;height:100%;transition:width .6s cubic-bezier(.16,1,.3,1);display:flex;position:relative}.row-val{color:#fff;font-size:10px;font-weight:600}.order-status{flex-direction:column;gap:24px;display:flex}.order-detail{border:1px solid var(--line);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:linear-gradient(145deg,#ffffff1f,#ffffff0a);border-radius:16px;padding:20px}.order-detail h3{color:var(--gold);margin:0 0 16px;font-size:14px}.order-item{border-bottom:1px solid var(--line);grid-template-columns:80px 1fr 1fr;align-items:center;gap:16px;margin-bottom:20px;padding-bottom:20px;display:grid}.order-item:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.item-image{border-radius:12px;width:80px;height:80px;overflow:hidden}.item-image img{object-fit:cover;width:100%;height:100%}.item-info h4{margin:0;font-size:14px;font-weight:600}.item-info p{color:var(--muted);margin:4px 0 0;font-size:12px}.item-progress{flex-direction:column;gap:12px;display:flex}.progress-line{grid-template-columns:repeat(4,1fr);gap:0;display:grid;position:relative}.progress-line:before{content:"";background:linear-gradient(90deg,var(--gold) 0%,var(--gold) 25%,var(--green) 50%,var(--green) 100%);z-index:0;height:2px;position:absolute;top:16px;left:10%;right:10%}.step{z-index:1;flex-direction:column;align-items:center;display:flex;position:relative}.step span{background:var(--panel);width:32px;height:32px;color:inherit;border:2px solid;border-radius:50%;justify-content:center;align-items:center;margin-bottom:4px;font-size:14px;font-weight:600;display:flex}.step label{color:var(--muted);text-align:center;font-size:10px}.status-badge{border:1px solid;border-radius:8px;margin-top:8px;padding:6px 12px;font-size:11px;font-weight:600;display:inline-block}.waiter-page{padding:0}.waiter-board{grid-auto-rows:1fr;grid-auto-columns:minmax(300px,1fr);grid-auto-flow:column;gap:16px;height:calc(100vh - 150px);min-height:360px;padding:20px;display:grid;overflow:auto hidden}.kitchen-page{padding:0}.kitchen-board{grid-auto-rows:1fr;grid-auto-columns:minmax(280px,1fr);grid-auto-flow:column;gap:16px;height:calc(100vh - 150px);min-height:360px;padding:20px;display:grid;overflow:auto hidden}.board-column{border:1px solid var(--line);background:linear-gradient(145deg,#ffffff1f,#ffffff0a);border-radius:16px;flex-direction:column;min-width:0;height:100%;min-height:0;display:flex;overflow:hidden}.column-header{color:#fff;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;font-weight:600;display:flex}.column-header h2{margin:0;font-size:16px}.count{text-align:center;background:#fff3;border-radius:8px;min-width:36px;padding:4px 12px;font-size:18px;font-weight:900}.column-items{flex-direction:column;flex:1;gap:12px;min-height:0;padding:12px;display:flex;overflow-y:auto}.empty{color:var(--muted);text-align:center;margin:auto;padding:24px}.order-card{color:#222;cursor:pointer;background:#fff;border:2px solid #0000;border-radius:12px;padding:16px;transition:all .2s;animation:.3s both comalysa-fade-in-up;box-shadow:0 4px 12px #0000001a}.order-card:hover{transform:translateY(-2px);box-shadow:0 8px 20px #00000026}.order-card h3{margin:0 0 8px;font-size:16px;font-weight:700;line-height:1.3}.order-card p{color:#666;margin:0;font-size:13px}.table{margin-top:4px;font-weight:600}.meta{border-top:1px solid #eee;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-top:12px;padding-top:12px;font-size:12px;display:flex}.time{color:#666}.elapsed{font-weight:600}.order-card.ready{border-color:var(--status-listo)}.order-card.done{opacity:.7;border-color:var(--status-listo);background:#f5f5f5}.action-btn{cursor:pointer;color:#fff;border:none;border-radius:8px;width:100%;margin-top:12px;padding:8px 12px;font-size:12px;font-weight:600;transition:all .2s}.action-btn.prep{background:var(--status-preparacion)}.action-btn.prep:hover{background:#e68900}.action-btn.ready{background:var(--status-listo)}.action-btn.ready:hover{background:#2fa054}.pickup-btn{background:var(--status-listo);color:#fff;cursor:pointer;border:none;border-radius:8px;width:100%;margin-top:12px;padding:8px 16px;font-size:12px;font-weight:600;transition:all .2s}.pickup-btn:hover{background:#2fa054}@media (width<=900px){.waiter-board,.kitchen-board{grid-auto-columns:minmax(78vw,1fr);gap:12px;max-height:calc(100vh - 200px);padding:12px}.column-header h2{font-size:14px}.column-header{padding:12px}}@media (width<=480px){.waiter-board,.kitchen-board{grid-auto-columns:minmax(88vw,1fr)}}.kitchen-board,.waiter-board{background:#eef1f5;border-radius:24px;margin:0 24px 24px;padding:18px}.board-column{background:#fff;border:1px solid #e3e6ea}.column-items{background:#f4f6f8}.empty{color:#93989f}.kds-card{color:#20242b;background:#fff;border:1px solid #0000;border-radius:14px;justify-content:space-between;align-items:flex-start;gap:14px;padding:14px 16px;transition:transform .15s,box-shadow .15s;animation:.3s both comalysa-fade-in-up;display:flex;box-shadow:0 2px 10px #14141e0f}.kds-card:hover{transform:translateY(-2px);box-shadow:0 6px 18px #14141e1a}.kds-card.kds-card-new{animation:.3s both comalysa-fade-in-up,1.4s ease-out .1s 2 comalysa-highlight-new}.kds-card h3{color:#20242b;margin:0 0 4px;font-size:15px;font-weight:800;line-height:1.3}.kds-card .kds-table{color:#6b7280;margin:0;font-size:12px;font-weight:700}.kds-card .kds-note{color:#9aa0a6;margin:6px 0 0;font-size:11px;font-style:italic}.kds-side{text-align:right;flex-direction:column;align-items:flex-end;gap:2px;min-width:100px;display:flex}.kds-side .kds-time{color:#9aa0a6;white-space:nowrap;font-size:11px}.kds-side .kds-elapsed-label{color:#b3b8bd;margin-top:4px;font-size:10px}.kds-side .kds-elapsed-value{white-space:nowrap;font-size:14px;font-weight:900}.kds-action{color:#fff;cursor:pointer;border:0;border-radius:8px;margin-top:8px;padding:7px 16px;font-size:11px;font-weight:800}.kds-timeline{grid-template-columns:repeat(2,1fr);gap:2px 10px;margin-top:8px;display:grid}.kds-stamp{color:#c3c7cc;white-space:nowrap;font-size:10px}.kds-stamp.done{color:#6b7280;font-weight:700}@media (width<=900px){.kitchen-board,.waiter-board{border-radius:16px;margin:0 12px 12px}}.scope-hint{color:var(--muted);text-transform:uppercase;letter-spacing:1px;margin:0 0 10px;font-size:11px;font-weight:700}.payment-breakdown-row{flex-wrap:wrap;gap:10px;display:flex}.payment-breakdown-chip{border:1px solid var(--line);color:var(--text);background:#ffffff0f;border-radius:14px;align-items:center;gap:8px;padding:10px 16px;display:flex}.payment-breakdown-chip .pb-label{color:var(--muted);text-transform:uppercase;letter-spacing:.5px;font-size:12px}.payment-breakdown-chip .pb-amount{color:var(--gold);margin-left:4px;font-size:15px;font-weight:800}@media (width<=600px){.payment-breakdown-chip{flex:1;justify-content:space-between;min-width:130px}}.register-closed-banner{color:var(--danger);background:#d9534f24;border:1px solid #d9534f66;border-radius:14px;align-items:center;gap:10px;margin-bottom:16px;padding:12px 16px;font-size:13px;font-weight:700;display:flex}.table-grid-wrap{justify-content:center;display:flex}.table-grid{grid-template-columns:repeat(auto-fit,minmax(118px,1fr));gap:18px;width:100%;max-width:920px;padding:14px 4px 10px;display:grid}.table-legend{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.table-legend-item{color:var(--muted);align-items:center;gap:6px;font-size:12px;font-weight:700;display:flex}.table-legend-item .dot{background:var(--table-free);border-radius:50%;flex-shrink:0;width:9px;height:9px}.table-legend-item .dot.occ{background:var(--table-occupied)}.table-legend-count{color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:4px 10px;font-size:12px;font-weight:700}.table-btn{aspect-ratio:1;box-sizing:border-box;border:2px solid var(--line);width:100%;color:var(--text);cursor:pointer;background:#ffffff0f;border-radius:20px;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:12px 10px;font-size:19px;font-weight:800;transition:transform .18s cubic-bezier(.16,1,.3,1),box-shadow .18s,border-color .18s,background .18s;animation:.3s both comalysa-fade-in-up;display:flex;overflow:hidden}.table-btn:hover{transform:translateY(-4px);box-shadow:0 12px 26px #00000038}.table-btn:active{transform:translateY(-1px)scale(.97)}.table-btn-icon{width:34px;height:34px;color:var(--table-free);background:#5c6b4a1f;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:background .18s,color .18s;display:flex}.table-btn-number{line-height:1.1}.table-btn small{color:var(--muted);text-align:center;align-items:center;gap:5px;font-size:11px;font-weight:600;line-height:1.2;display:flex}.table-btn small .dot{background:var(--table-free);border-radius:50%;flex-shrink:0;width:8px;height:8px}.table-btn.occupied{border-color:var(--table-occupied)}.table-btn.occupied .table-btn-icon{color:inherit;background:#ffffff2e}.table-btn.occupied small .dot{background:currentColor;animation:2.4s ease-in-out infinite comalysa-pulse-glow}.diner-tabs{flex-wrap:wrap;align-items:center;gap:10px;padding:14px 0;display:flex}.diner-tab{border:1px solid var(--line);color:var(--text);cursor:pointer;background:#ffffff12;border-radius:16px;align-items:center;gap:8px;padding:10px 16px;font-weight:700;display:flex;position:relative}.diner-tab.active{background:var(--gold);color:var(--brand-crema)}.diner-tab .status-dot{border-radius:50%;width:8px;height:8px}.diner-tab .remove-x{color:inherit;opacity:.6;cursor:pointer;background:0 0;border:0;margin-left:4px;padding:0}.icon-btn{border:1px solid var(--line);color:var(--text);cursor:pointer;background:#ffffff14;border-radius:14px;align-items:center;gap:6px;padding:10px;font-weight:700;display:inline-flex}.icon-btn:not(:disabled):hover{transform:translateY(-1px);box-shadow:0 4px 12px #0000002e}.icon-btn:not(:disabled):active{transform:translateY(0)scale(.96)}.category-tabs{gap:10px;padding:6px 0 16px;display:flex;overflow-x:auto}.category-tab{white-space:nowrap;border:1px solid var(--line);color:var(--text);cursor:pointer;background:#ffffff0f;border-radius:16px;align-items:center;gap:8px;padding:10px 14px;font-weight:700;display:flex}.category-tab.active{background:var(--gold);color:var(--brand-crema);border-color:var(--gold);transform:translateY(-2px);box-shadow:0 6px 16px #c4552e59}.dish-grid{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:16px;display:grid}.dish-card{border:1px solid var(--line);background:var(--panel);cursor:pointer;text-align:left;border-radius:20px;flex-direction:column;gap:10px;padding:18px;transition:transform .18s cubic-bezier(.16,1,.3,1),box-shadow .18s,border-color .18s;animation:.3s both comalysa-fade-in-up;display:flex}.dish-card:hover{transform:translateY(-4px);box-shadow:0 14px 30px #00000038}.dish-card:active{transform:translateY(-1px)scale(.98)}.dish-card:hover{border-color:var(--gold)}.dish-card .dish-icon{width:44px;height:44px;color:var(--gold);background:#ffffff14;border-radius:14px;justify-content:center;align-items:center;display:flex}.dish-card h4{margin:0;font-size:16px}.dish-card .dish-price{color:var(--gold);font-weight:900}.sub-heading{color:var(--muted);text-transform:uppercase;letter-spacing:1.5px;margin:18px 0 8px;font-size:11px;font-weight:800}.guisado-mode-row{flex-wrap:wrap;gap:10px;margin:14px 0;display:flex}.guisado-mode-row button{min-width:64px;color:var(--text);cursor:pointer;background:#f2e9d817;border:1px solid #f2e9d83d;border-radius:14px;flex:1;padding:12px;font-weight:700}.guisado-mode-row button:hover{background:#f2e9d829}.guisado-mode-row button.active{background:var(--gold);color:var(--brand-crema);border-color:var(--gold)}.field{flex-direction:column;gap:6px;margin:12px 0;display:flex}.field label{color:var(--muted);text-transform:uppercase;letter-spacing:1px;font-size:12px;font-weight:700}.field select,.field input,.field textarea{border:1px solid var(--line);color:var(--text);background:#211c17;border-radius:14px;padding:12px 14px;font-family:inherit;font-size:14px}.qty-row{align-items:center;gap:14px;margin:14px 0;display:flex}.qty-row button{border:1px solid var(--line);width:40px;height:40px;color:var(--text);cursor:pointer;background:#ffffff14;border-radius:50%;font-size:20px}.qty-row span{text-align:center;min-width:24px;font-size:20px;font-weight:800}.ticket-side{background:var(--panel);border:1px solid var(--line);border-radius:24px;flex-direction:column;gap:12px;padding:20px;display:flex}.ticket-side h3{justify-content:space-between;align-items:center;margin:0;display:flex}.ticket-item{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:10px;padding:10px 0;display:flex}.ticket-item .meta{color:var(--muted);margin-top:2px;font-size:12px}.ticket-item button{color:var(--danger);cursor:pointer;background:0 0;border:0}.status-pill{text-transform:uppercase;border-radius:999px;align-items:center;gap:6px;padding:6px 12px;font-size:11px;font-weight:800;display:inline-flex}.workspace-grid{grid-template-columns:2fr 1fr;align-items:start;gap:24px;display:grid}.admin-tabs{flex-wrap:wrap;gap:10px;padding:10px 0 24px;display:flex}.admin-tabs button{border:1px solid var(--line);color:var(--text);cursor:pointer;background:#ffffff0f;border-radius:16px;padding:12px 18px;font-weight:800}.admin-tabs button.active{background:var(--gold);color:var(--brand-crema);transform:translateY(-2px);box-shadow:0 6px 16px #c4552e4d}.dish-row{border-bottom:1px solid var(--line);grid-template-columns:1fr 120px 90px 90px auto;align-items:center;gap:10px;padding:12px 0;display:grid}.dish-row input,.dish-row select{border:1px solid var(--line);color:var(--text);background:#211c17;border-radius:10px;padding:8px 10px}.report-table{border-collapse:collapse;width:100%}.report-table th,.report-table td{text-align:left;border-bottom:1px solid var(--line);padding:10px 12px}.report-table th{color:var(--muted);text-transform:uppercase;font-size:11px}.form-row{flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.pill-tag{color:var(--muted);background:#ffffff14;border-radius:999px;margin-right:6px;padding:4px 10px;font-size:11px;display:inline-block}.empty-hint{color:var(--muted);text-align:center;padding:40px}.table-bill-card{background:var(--panel);border:1px solid var(--line);border-radius:20px;margin-bottom:16px;padding:18px 20px}.table-bill-header{justify-content:space-between;align-items:center;font-size:16px;font-weight:800;display:flex}.table-bill-header strong{color:var(--gold);font-size:20px}.table-bill-actions{flex-wrap:wrap;gap:10px;margin-top:14px;display:flex}.table-bill-actions button{border-radius:14px;padding:10px 16px}.table-bill-diners{border-top:1px solid var(--line);margin-top:14px;padding-top:10px}@media (width<=900px){.workspace-grid{grid-template-columns:1fr}.dish-row{grid-template-columns:1fr;gap:6px}}@media (width<=480px){.table-grid{grid-template-columns:repeat(auto-fit,minmax(84px,1fr));gap:10px}.table-btn{border-radius:14px;font-size:15px}.table-btn-icon{width:26px;height:26px}.table-btn small{font-size:10px}}.pay-page{animation:.25s both comalysa-fade-in-up}.pay-card{background:linear-gradient(160deg,var(--panel2),var(--panel));border:1px solid #f2e9d838;border-radius:28px;margin-top:14px;padding:36px;box-shadow:0 30px 90px #00000080}.pay-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px;display:flex}.pay-header h2{margin:0 0 8px;font-size:26px}.pay-grid{grid-template-columns:1.3fr 1fr;align-items:start;gap:32px;font-size:15px;display:grid}.pay-items-list{background:#00000052;border:1px solid #f2e9d82e;border-radius:16px;max-height:42vh;padding:10px 18px;overflow-y:auto}.pay-item-row{border-bottom:1px solid #f2e9d824;justify-content:space-between;gap:10px;padding:10px 0;font-size:15px;display:flex}.pay-item-row:last-child{border-bottom:0}.pay-methods{grid-template-columns:repeat(4,1fr);gap:10px;display:grid}.pay-method-btn{color:var(--text);cursor:pointer;background:#f2e9d817;border:1px solid #f2e9d83d;border-radius:14px;flex-direction:column;align-items:center;gap:8px;padding:18px 8px;font-size:12px;font-weight:700;display:flex}.pay-method-btn:hover{background:#f2e9d826}.pay-method-btn.active{background:var(--gold);color:var(--brand-crema);border-color:var(--gold);box-shadow:0 4px 14px #c4552e66}.pay-quick-row{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.pay-quick-row button{color:var(--text);cursor:pointer;background:#f2e9d817;border:1px solid #f2e9d83d;border-radius:12px;padding:8px 12px;font-size:13px;font-weight:700}.pay-quick-row button:hover{background:#f2e9d829}.pay-received-row{margin-top:12px}.pay-keypad{grid-template-columns:repeat(3,1fr);gap:10px;max-width:320px;margin-top:12px;display:grid}.pay-keypad button{color:var(--text);cursor:pointer;background:#f2e9d81a;border:1px solid #f2e9d842;border-radius:12px;padding:18px;font-size:18px;font-weight:800}.pay-keypad button:hover{background:#f2e9d82e}.pay-summary{background:#00000057;border:1px solid #f2e9d833;border-radius:20px;padding:24px}.pay-summary-row{border-bottom:1px solid #f2e9d829;justify-content:space-between;align-items:center;padding:10px 0;font-size:15px;display:flex}.pay-summary-row:last-of-type{border-bottom:0}.pay-tax-row{align-items:center}.pay-checkbox{cursor:pointer;align-items:center;gap:8px;font-size:14px;display:flex}.pay-inline-input{text-align:right;width:90px;color:var(--text);background:#18140f;border:1px solid #f2e9d84d;border-radius:10px;padding:6px 10px}.pay-total-row{border-top:1px solid #f2e9d82e;justify-content:space-between;align-items:center;margin:14px 0;padding-top:14px;font-size:16px;font-weight:800;display:flex}.pay-total-row strong{color:var(--gold);font-size:32px}@media (width<=800px){.pay-grid{grid-template-columns:1fr}.pay-methods{grid-template-columns:repeat(2,1fr)}}@media (width<=520px){.pay-card{border-radius:20px;padding:18px}.pay-header h2{font-size:19px}.pay-keypad{max-width:100%}.pay-total-row strong{font-size:22px}.pay-method-btn{padding:10px 4px;font-size:10px}.pay-summary{padding:14px}}.page.waiter-light{background:var(--brand-crema);color:var(--brand-carbon);border-radius:28px;box-shadow:0 20px 60px #00000047}.waiter-light .section-title{color:var(--brand-carbon)}.waiter-light .section-title svg{color:var(--brand-oliva)}.waiter-light .admin-tabs button{color:var(--brand-carbon);background:#fff;border:1px solid #2b2b2b24}.waiter-light .admin-tabs button.active{background:var(--brand-oliva);color:var(--brand-crema);border-color:var(--brand-oliva);transform:translateY(-2px);box-shadow:0 6px 16px #5c6b4a59}.waiter-light .table-btn{color:var(--brand-carbon);background:#fff;border:2px solid #2b2b2b1a;box-shadow:0 4px 14px #2b2b2b0f}.waiter-light .table-btn:hover{box-shadow:0 12px 26px #2b2b2b29}.waiter-light .table-btn-icon{color:var(--brand-oliva);background:#5c6b4a1a}.waiter-light .table-btn small .dot{background:var(--brand-oliva)}.waiter-light .table-btn.occupied{border-color:var(--brand-terracota);background:linear-gradient(135deg,var(--brand-terracota),#a8451f);color:var(--brand-crema)}.waiter-light .table-btn.occupied .table-btn-icon{color:var(--brand-crema);background:#f2e9d838}.waiter-light .table-btn.occupied small .dot{background:var(--brand-crema)}.waiter-light .table-btn small{color:#2b2b2b8c}.waiter-light .table-btn.occupied small{color:#f2e9d8d9}.waiter-light .table-legend-item{color:#2b2b2b8c}.waiter-light .table-legend-count{color:#2b2b2b8c;border-color:#2b2b2b24}.waiter-light .menu-header{background:linear-gradient(120deg,var(--brand-oliva),#465737);color:var(--brand-crema);border-radius:20px;padding:18px 22px;box-shadow:0 8px 22px #5c6b4a47}.waiter-light .menu-header h1{color:var(--brand-crema);margin:4px 0 0;font-size:26px}.waiter-light .menu-header .ghost{color:var(--brand-crema);background:#f2e9d81f;border-color:#f2e9d859}.waiter-light .menu-header .icon-btn{background:var(--brand-terracota);color:var(--brand-crema);border-color:var(--brand-terracota);font-weight:800}.waiter-light .menu-header .icon-btn:disabled{opacity:.45}.waiter-light .diner-tab{color:var(--brand-carbon);background:#fff;border:1px solid #2b2b2b1f}.waiter-light .diner-tab.active{background:var(--brand-terracota);color:var(--brand-crema);border-color:var(--brand-terracota)}.waiter-light .icon-btn{color:var(--brand-carbon);background:#fff;border:1px solid #2b2b2b24}.waiter-light .category-tab{color:var(--brand-carbon);background:#fff;border:1px solid #2b2b2b1f}.waiter-light .category-tab.active{background:var(--brand-oliva);color:var(--brand-crema);border-color:var(--brand-oliva)}.waiter-light .sub-heading{color:#2b2b2b80}.waiter-light .dish-card{background:#fff;border:1px solid #2b2b2b14;box-shadow:0 3px 12px #2b2b2b0f}.waiter-light .dish-card:hover{border-color:var(--brand-terracota)}.waiter-light .dish-card .dish-icon{color:var(--brand-terracota);background:#c4552e1a}.waiter-light .dish-card h4{color:var(--brand-carbon)}.waiter-light .dish-card .dish-price{color:var(--brand-oliva);font-weight:800}.waiter-light .empty-hint{color:#2b2b2b73}.waiter-light .guisado-mode-row button{color:var(--brand-carbon);background:#fff;border:1px solid #2b2b2b24}.waiter-light .guisado-mode-row button.active{background:var(--brand-oliva);color:var(--brand-crema);border-color:var(--brand-oliva)}.waiter-light .field label{color:#2b2b2b8c}.waiter-light .field select,.waiter-light .field input,.waiter-light .field textarea,.waiter-light .qty-row button{color:var(--brand-carbon);background:#fff;border:1px solid #2b2b2b29}.waiter-light .qty-row span{color:var(--brand-carbon)}.waiter-light .modal .ticket-panel{color:var(--brand-carbon);background:#fff;box-shadow:0 24px 70px #2b2b2b59}.waiter-light .modal .ticket-panel .close,.waiter-light .modal .ticket-panel h2{color:var(--brand-carbon)}.waiter-light .ticket-side{color:var(--brand-carbon);background:#fff;border:1px solid #2b2b2b14;box-shadow:0 4px 18px #2b2b2b12}.waiter-light .ticket-side h3{color:var(--brand-carbon)}.waiter-light .ticket-item{border-bottom:1px solid #2b2b2b17}.waiter-light .ticket-item .meta{color:#2b2b2b80}.waiter-light .total{color:var(--brand-carbon);border-top:1px solid #2b2b2b1a;padding-top:10px}.table-summary{background:#5c6b4a0f;border:1px solid #5c6b4a2e;border-radius:16px;margin-bottom:6px;padding:12px 14px}.table-summary h4{text-transform:uppercase;letter-spacing:1.2px;color:var(--brand-oliva);margin:0 0 8px;font-size:11px;font-weight:800}.table-summary-row{color:#2b2b2bb3;border-bottom:1px solid #2b2b2b0f;align-items:center;gap:8px;padding:6px 0;font-size:12px;display:flex}.table-summary-row:last-child{border-bottom:0}.table-summary-row.active{color:var(--brand-carbon);font-weight:800}.table-summary-name{flex:1}.table-summary-count{color:#2b2b2b73;font-size:11px}.table-summary-amount{color:var(--brand-terracota);text-align:right;min-width:56px;font-weight:800}@media (width<=900px){.page.waiter-light{border-radius:0}}.order-status-btn{align-self:flex-start;padding:8px 12px;font-size:12px}.order-status-modal{width:min(560px,100%)}.order-status-hint{color:var(--muted);margin:-6px 0 16px;font-size:13px}.order-status-items{flex-direction:column;gap:16px;max-height:52vh;padding-right:4px;display:flex;overflow-y:auto}.order-status-item{background:var(--panel2);border:1px solid var(--line);border-radius:18px;padding:14px 16px}.order-status-item-head{align-items:center;gap:10px;margin-bottom:12px;display:flex}.order-status-item-head strong{font-size:14px;display:block}.order-status-item-head .meta{color:var(--muted);font-size:12px}.order-status-item-head .status-pill{flex-shrink:0;margin-left:auto}.order-progress-line{grid-template-columns:repeat(4,1fr);gap:0;display:grid;position:relative}.order-progress-line:before{content:"";background:var(--line);z-index:0;height:2px;position:absolute;top:9px;left:8%;right:8%}.order-progress-step{z-index:1;flex-direction:column;align-items:center;gap:6px;display:flex;position:relative}.order-progress-dot{background:var(--panel);border:2px solid var(--line);width:20px;height:20px;color:var(--brand-crema);border-radius:50%;justify-content:center;align-items:center;display:flex}.order-progress-step.done .order-progress-dot{background:var(--green);border-color:var(--green)}.order-progress-step.active .order-progress-dot{background:var(--gold);border-color:var(--gold)}.order-progress-step label{color:var(--muted);text-align:center;font-size:10px}.order-progress-step.done label,.order-progress-step.active label{color:var(--text);font-weight:700}.order-status-footer{border-top:1px solid var(--line);color:var(--muted);align-items:center;gap:10px;margin-top:18px;padding-top:14px;font-size:13px;display:flex}.waiter-light .order-status-item{background:#fff;border:1px solid #2b2b2b14}.waiter-light .order-status-item-head strong{color:var(--brand-carbon)}.waiter-light .order-status-item-head .meta{color:#2b2b2b80}.waiter-light .order-status-hint{color:#2b2b2b8c}.waiter-light .order-progress-line:before{background:#2b2b2b1f}.waiter-light .order-progress-dot{color:var(--brand-carbon);background:#fff;border-color:#2b2b2b2e}.waiter-light .order-progress-step label{color:#2b2b2b73}.waiter-light .order-progress-step.done label,.waiter-light .order-progress-step.active label{color:var(--brand-carbon)}.waiter-light .order-status-footer{color:#2b2b2b8c;border-top:1px solid #2b2b2b1a}@media (width<=480px){.order-status-items{max-height:60vh}.order-progress-step label{font-size:9px}}.table-grid-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:6px;display:flex}.board-refresh-row{justify-content:flex-end;padding:0 0 10px;display:flex}.refresh-btn{padding:8px 14px;font-size:12px}.refresh-btn svg.spin{animation:.5s linear refresh-spin}@keyframes refresh-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.waiter-nav-sticky{z-index:3;background:var(--bg-gradient-2,#f2e9d8);margin:-8px 0 12px;padding:8px 0;position:sticky;top:0}.waiter-light .waiter-nav-sticky{background:#f2e9d8}.admin-tabs button{align-items:center;gap:6px;display:inline-flex;position:relative}.nav-badge{background:var(--danger);color:#fff;border-radius:999px;justify-content:center;align-items:center;min-width:20px;height:20px;padding:0 6px;font-size:11px;font-weight:800;line-height:1;animation:2s ease-in-out infinite comalysa-pulse-glow;display:inline-flex}.receipt-print{color:#111;box-sizing:border-box;overflow-wrap:anywhere;background:#fff;border-radius:6px;width:58mm;max-width:58mm;margin:0 auto;padding:14px 10px;font-family:Courier New,Courier,monospace;font-size:12px;line-height:1.45}.receipt-print *{box-sizing:border-box;overflow-wrap:anywhere;max-width:100%}.receipt-print h1,.receipt-print h2,.receipt-print h3{text-align:center;margin:2px 0;font-family:inherit;font-size:14px}.receipt-print .receipt-sub{text-align:center;margin:0 0 6px;font-size:11px}.receipt-print .receipt-sep{border-top:1px dashed #111;margin:6px 0}.receipt-print .receipt-line{justify-content:space-between;gap:8px;display:flex}.receipt-print .receipt-item{justify-content:space-between;gap:8px;margin:2px 0;display:flex}.receipt-print .receipt-item small{color:#444;font-size:10px;display:block}.receipt-print .receipt-center{text-align:center}.receipt-print .receipt-bold{font-weight:700}.receipt-print .receipt-total{font-size:15px;font-weight:800}.receipt-print .receipt-small{color:#333;font-size:10px}.receipt-modal-actions{justify-content:center;gap:10px;margin-top:16px;display:flex}@media print{@page{size:58mm auto;margin:0}html,body{background:#fff!important}body *{visibility:hidden}.receipt-print,.receipt-print *{visibility:visible;-webkit-print-color-adjust:exact;print-color-adjust:exact}.receipt-print{width:58mm;max-width:58mm;box-shadow:none;border-radius:0;margin:0;padding:2mm;position:fixed;top:0;left:0}.no-print{display:none!important}}
