.dining-app,.dining-login-page{min-height:100vh;background:var(--dining-bg,#f6f7f9);color:var(--dining-text,#17202a);font-family:var(--dining-font,Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif)}.dining-login-page{display:flex;align-items:center;justify-content:center;padding:24px}.dining-login-card{width:100%;max-width:430px;background:var(--dining-surface,#fff);color:var(--dining-text,#17202a);padding:32px;border-radius:var(--dining-card-radius,24px);border:1px solid var(--dining-border,#e7eaee);box-shadow:var(--dining-shadow-strong,0 18px 60px rgba(0,0,0,.09))}.dining-brand{display:flex;align-items:center;gap:12px;margin-bottom:30px}.dining-logo{width:48px;height:48px;border-radius:15px;background:var(--dining-accent,#25d366);color:var(--dining-accent-text,#fff);display:flex;align-items:center;justify-content:center;font-weight:900}.dining-brand strong,.dining-brand span{display:block}.dining-brand span{font-size:13px;color:var(--dining-muted,#64748b)}.dining-login-card h1{margin:0 0 8px;font-size:27px}.dining-muted{color:var(--dining-muted,#64748b);margin:0 0 26px}.dining-login-card label{display:block;font-size:14px;font-weight:700;margin-bottom:16px}.dining-login-card input,.dining-search{width:100%;box-sizing:border-box;border:1px solid var(--dining-border,#d9dee5);border-radius:var(--dining-button-radius,12px);padding:13px 14px;margin-top:7px;font-size:16px;background:var(--dining-input,#fff)}.dining-primary,.dining-secondary,.dining-back{border:0;cursor:pointer;font-weight:700}.dining-primary{width:100%;padding:14px 18px;border-radius:var(--dining-button-radius,13px);background:var(--dining-accent,#25d366);color:var(--dining-accent-text,#092d17);font-size:16px}.dining-primary:disabled{opacity:.55}.dining-secondary{padding:11px 16px;border-radius:11px;background:var(--dining-input,#fff);border:1px solid #dce1e7}.dining-error{background:#fee2e2;color:#991b1b;padding:12px 14px;border-radius:11px;margin:14px 0}.dining-header{min-height:68px;background:var(--dining-input,#fff);border-bottom:1px solid #e7eaee;padding:0 22px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:20}.dining-header strong,.dining-header span{display:block}.dining-header span{color:var(--dining-muted,#64748b);font-size:13px;margin-top:2px}.dining-header button{border:0;background:var(--dining-surface-alt,#f1f3f5);color:var(--dining-text,#17202a);padding:9px 13px;border-radius:9px;cursor:pointer}.dining-content{width:min(1250px,calc(100% - 32px));margin:auto;padding:28px 0 50px}.dining-page-title,.dining-tab-head{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:24px}.dining-page-title h1,.dining-tab-head h1{margin:0;font-family:var(--dining-heading-font,inherit)}.dining-page-title p,.dining-tab-head p{color:var(--dining-muted,#64748b);margin:5px 0 0}.dining-table-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:16px}.dining-table-card{min-height:160px;border:2px solid transparent;border-radius:20px;padding:20px;background:var(--dining-input,#fff);text-align:left;cursor:pointer;box-shadow:var(--dining-shadow,0 4px 18px rgba(0,0,0,.04))}.dining-table-card strong,.dining-table-card span{display:block}.table-number{font-size:34px;font-weight:900;margin-bottom:18px}.dining-table-card.status-free{border-color:#b7ebc9}.dining-table-card.status-occupied{border-color:#ffd58a;background:#fffaf0}.dining-table-card.status-bill_requested{border-color:#f3a5a5;background:#fff6f6}.dining-back{background:transparent;margin-bottom:20px;font-size:15px}.dining-eyebrow{font-size:13px;font-weight:800;color:var(--dining-muted,#64748b);text-transform:uppercase}.dining-status{padding:9px 13px;border-radius:999px;font-size:13px;font-weight:800}.dining-status.OPEN{background:#dcfce7;color:#166534}.dining-status.BILL_REQUESTED{background:#fee2e2;color:#991b1b}.dining-columns{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(320px,.7fr);gap:20px;align-items:start}.dining-panel{background:var(--dining-input,#fff);border:1px solid #e7eaee;border-radius:20px;padding:20px}.dining-section-title h2{margin:0 0 15px}.dining-search{margin:0 0 18px}.dining-product-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(145px,1fr));gap:12px}.dining-product{min-height:220px;padding:0;border-radius:15px;border:1px solid #e3e7eb;background:#fff;text-align:left;cursor:pointer;overflow:hidden;display:flex;flex-direction:column;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}.dining-product:hover:not(:disabled){transform:translateY(-2px);border-color:#cbd5df;box-shadow:0 8px 20px #0f172a14}.dining-product:disabled{cursor:not-allowed;opacity:.65}.dining-product-image{width:100%;height:125px;background:#f3f5f7;overflow:hidden;position:relative}.dining-product-image img{display:block;width:100%;height:100%;object-fit:cover}.dining-product-image-fallback{width:100%;height:100%;align-items:center;justify-content:center;font-size:38px;background:#f5f6f8}.dining-product-info{padding:13px 14px 14px;width:100%;flex:1}.dining-product-info strong{line-height:1.25}.dining-product strong,.dining-product span,.dining-product small{display:block}.dining-product span{margin-top:12px;font-weight:800}.dining-product small{margin-top:7px;color:#169447}.dining-item{display:flex;justify-content:space-between;gap:15px;padding:13px 0;border-bottom:1px solid #edf0f2}.dining-item small{display:block;color:var(--dining-muted,#64748b);margin-top:4px}.dining-empty{color:#94a3b8;text-align:center;padding:30px 10px}.dining-total{margin:20px 0}.dining-total>div{display:flex;justify-content:space-between;padding:6px 0}.dining-total .grand-total{border-top:2px solid #edf0f2;margin-top:8px;padding-top:14px;font-size:20px}.bill-warning{background:#fff1f2;color:#9f1239;border-radius:13px;padding:14px;font-weight:800}.bill-warning small{display:block;margin-top:4px;font-weight:500}.dining-loading{padding:40px;text-align:center;color:var(--dining-muted,#64748b)}.dining-admin-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-bottom:28px}.dining-admin-summary>div{background:var(--dining-input,#fff);border:1px solid #e5e7eb;border-radius:16px;padding:20px}.dining-admin-summary span,.dining-admin-summary strong{display:block}.dining-admin-summary span{color:var(--dining-muted,#64748b);font-size:13px}.dining-admin-summary strong{font-size:28px;margin-top:5px}.dining-admin-section{background:var(--dining-input,#fff);border:1px solid #e5e7eb;border-radius:18px;padding:20px;margin-bottom:20px}.dining-admin-title h2{margin:0}.dining-admin-title p{margin:4px 0 18px;color:var(--dining-muted,#64748b)}.dining-admin-table-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}.dining-admin-table{border:1px solid #e5e7eb;padding:16px;border-radius:13px}.dining-admin-table strong,.dining-admin-table span{display:block}.dining-admin-table span{color:var(--dining-muted,#64748b);font-size:13px;margin-top:5px}.dining-staff-row{display:flex;align-items:center;justify-content:space-between;padding:13px 0;border-bottom:1px solid #edf0f2}.dining-staff-row div span{display:block;color:var(--dining-muted,#64748b);font-size:13px;margin-top:3px}@media(max-width:800px){.dining-columns{grid-template-columns:1fr}.dining-admin-summary{grid-template-columns:repeat(2,1fr)}.dining-content{width:min(100% - 22px,1250px);padding-top:20px}.dining-page-title,.dining-tab-head{align-items:flex-start}.dining-product-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:480px){.dining-login-card{padding:24px 20px}.dining-table-grid{grid-template-columns:repeat(2,1fr)}.dining-table-card{min-height:140px;padding:16px}.dining-admin-summary{gap:9px}}.dining-payment-box{margin-top:4px}.dining-payment-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.dining-payment-title strong{font-size:18px}.dining-payment-title span{font-size:12px;font-weight:700;padding:5px 9px;border-radius:999px;background:#dcfce7;color:#166534}.dining-payment-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:18px}.dining-payment-summary>div{background:#fff;border:1px solid #e5e7eb;border-radius:11px;padding:10px}.dining-payment-summary span,.dining-payment-summary strong{display:block}.dining-payment-summary span{color:var(--dining-muted,#64748b);font-size:12px;margin-bottom:4px}.dining-payment-summary strong{font-size:15px}.dining-payment-summary .remaining{background:#f0fdf4;border-color:#bbf7d0}.dining-payment-history{padding:12px;margin-bottom:16px;border:1px solid #e5e7eb;border-radius:11px;background:#fff}.dining-payment-history>strong{display:block;margin-bottom:8px;font-size:13px}.dining-payment-history-row{display:flex;justify-content:space-between;gap:12px;padding:7px 0;font-size:13px;border-top:1px solid #f1f5f9}.dining-payment-label{display:block;margin:12px 0 6px;font-size:13px;font-weight:700}.dining-payment-select,.dining-payment-notes{width:100%;min-height:45px;border:1px solid #d8dee6;border-radius:10px;background:#fff;padding:0 12px;font:inherit;box-sizing:border-box}.dining-payment-value{display:flex;align-items:center;width:100%;min-height:50px;border:2px solid #cbd5e1;border-radius:11px;background:#fff;overflow:hidden;box-sizing:border-box}.dining-payment-value span{padding-left:13px;font-weight:800}.dining-payment-value input{width:100%;min-width:0;border:0;outline:0;padding:11px 12px 11px 7px;background:transparent;font:inherit;font-size:20px;font-weight:800}.dining-receive-button{width:100%;margin-top:16px;min-height:50px;border:0;border-radius:11px;background:#22c55e;color:#fff;font-size:16px;font-weight:800;cursor:pointer}.dining-receive-button:hover:not(:disabled){filter:brightness(.96)}.dining-receive-button:disabled{opacity:.65;cursor:not-allowed}.dining-payment-help{display:block;margin-top:10px;color:var(--dining-muted,#64748b);line-height:1.4}@media(max-width:600px){.dining-payment-summary{grid-template-columns:1fr}.dining-payment-title{align-items:flex-start;flex-direction:column}}.dining-store-fixed{width:100%;min-height:46px;display:flex;align-items:center;justify-content:space-between;gap:12px;box-sizing:border-box;margin-top:6px;padding:0 13px;border:1px solid #d7dde4;border-radius:10px;background:#f3f5f7;color:#1f2937;cursor:not-allowed;-webkit-user-select:none;user-select:none}.dining-store-fixed-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:700}.dining-store-lock{flex:0 0 auto;opacity:.65;font-size:14px}.dining-store-invalid{color:#991b1b;background:#fff1f2;border-color:#fecdd3}.dining-store-loading{margin-top:18px;padding:13px 14px;border-radius:10px;background:#f8fafc;color:var(--dining-muted,#64748b);font-size:14px;text-align:center}.dining-content:has(.dining-table-grid){width:min(1280px,calc(100% - 32px))}.dining-content:has(.dining-table-grid):before{content:"";position:fixed;inset:68px 0 0;z-index:-1;background:radial-gradient(circle at 15% 10%,rgba(255,255,255,.85),transparent 28%),linear-gradient(135deg,#f4eee5,#eee5d9 48%,#f7f3ed)}.dining-content:has(.dining-table-grid) .dining-page-title{background:#ffffffc2;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.9);border-radius:22px;padding:20px 22px;box-shadow:0 10px 35px #43301e12}.dining-content:has(.dining-table-grid) .dining-page-title h1{font-size:30px;letter-spacing:-.7px;color:#29231d}.dining-content:has(.dining-table-grid) .dining-page-title p{color:#75695d}.dining-table-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:24px;align-items:stretch}.dining-table-card{min-height:285px;border:1px solid rgba(76,58,40,.11);border-radius:26px;padding:24px 18px 19px;background:#ffffffe0;text-align:center;cursor:pointer;box-shadow:0 12px 30px #47321d14,inset 0 1px #ffffffe6;position:relative;overflow:hidden;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.dining-table-card:hover:not(:disabled){transform:translateY(-4px);box-shadow:0 18px 38px #47321d24,inset 0 1px #ffffffe6}.dining-table-card:active:not(:disabled){transform:translateY(-1px) scale(.99)}.dining-table-card:disabled{cursor:wait;opacity:.72}.dining-table-card:before{content:"";position:absolute;inset:0 0 auto;height:5px;background:var(--table-state)}.dining-table-card.status-free{--table-state:#2f9e64;--table-state-soft:#dff5e8;--table-ring:#91d5ae;border-color:#c9e9d6}.dining-table-card.status-occupied{--table-state:#d89018;--table-state-soft:#fff0cf;--table-ring:#efc66e;border-color:#efd9aa;background:#fffcf4eb}.dining-table-card.status-bill_requested{--table-state:#d94b4b;--table-state-soft:#fde5e5;--table-ring:#ee9b9b;border-color:#f0c2c2;background:#fff8f8f0}.dining-table-scene{width:160px;height:160px;position:relative;margin:2px auto 15px;display:flex;align-items:center;justify-content:center}.dining-table-top{width:108px;height:108px;border-radius:50%;position:relative;z-index:3;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 34% 27%,#c99562,#a86f3e 42%,#82502d);border:7px solid #744426;box-shadow:0 9px 14px #41281638,inset 0 3px 5px #ffffff2e,0 0 0 5px var(--table-ring)}.dining-table-top:before{content:"";position:absolute;inset:10px;border-radius:50%;border:1px solid rgba(255,255,255,.18)}.table-number{margin:0;color:#fff;font-size:38px;line-height:1;font-weight:900;text-shadow:0 2px 4px rgba(0,0,0,.28);position:relative;z-index:2}.dining-chair{width:45px;height:25px;position:absolute;z-index:1;border-radius:9px 9px 5px 5px;background:linear-gradient(180deg,#51463d,#302a25);box-shadow:0 5px 9px #0003}.dining-chair:after{content:"";position:absolute;left:7px;right:7px;bottom:5px;height:5px;border-radius:5px;background:#ffffff1a}.chair-top{top:0;left:50%;transform:translate(-50%)}.chair-bottom{bottom:0;left:50%;transform:translate(-50%) rotate(180deg)}.chair-left{left:-10px;top:50%;transform:translateY(-50%) rotate(-90deg)}.chair-right{right:-10px;top:50%;transform:translateY(-50%) rotate(90deg)}.dining-table-info{display:flex;flex-direction:column;align-items:center;gap:7px}.dining-table-info strong{display:block;font-size:17px;color:#29231d}.dining-table-status-label{display:inline-flex!important;align-items:center;justify-content:center;gap:7px;min-height:29px;padding:0 11px;border-radius:999px;background:var(--table-state-soft);color:var(--table-state);font-size:13px;font-weight:800}.dining-table-status-label i{width:8px;height:8px;border-radius:50%;background:var(--table-state);box-shadow:0 0 0 3px #fff9}@media(max-width:600px){.dining-content:has(.dining-table-grid){width:min(100% - 20px,1280px);padding-top:16px}.dining-content:has(.dining-table-grid) .dining-page-title{padding:16px;border-radius:18px;align-items:flex-start}.dining-content:has(.dining-table-grid) .dining-page-title h1{font-size:25px}.dining-content:has(.dining-table-grid) .dining-page-title p{font-size:14px}.dining-table-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.dining-table-card{min-height:225px;padding:18px 8px 14px;border-radius:20px}.dining-table-scene{width:125px;height:125px;margin-bottom:12px}.dining-table-top{width:82px;height:82px;border-width:5px;box-shadow:0 7px 12px #41281638,inset 0 3px 5px #ffffff2e,0 0 0 4px var(--table-ring)}.table-number{font-size:30px}.dining-chair{width:35px;height:20px}.chair-left{left:-5px}.chair-right{right:-5px}.dining-table-info strong{font-size:15px}.dining-table-status-label{padding:0 8px;font-size:11px}}@media(max-width:370px){.dining-table-grid{grid-template-columns:1fr}.dining-table-card{min-height:235px}}.dining-admin-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:26px}.dining-admin-heading h1{margin:0 0 6px;font-size:34px}.dining-admin-heading p{margin:0;color:var(--dining-muted,#64748b)}.dining-admin-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:28px}.dining-admin-stats>div{background:#fff;border:1px solid #e2e8f0;border-radius:18px;padding:20px;box-shadow:0 8px 25px #0f172a0a}.dining-admin-stats span{display:block;color:var(--dining-muted,#64748b);margin-bottom:8px}.dining-admin-stats strong{font-size:30px}.dining-admin-section{background:#fff;border:1px solid #e2e8f0;border-radius:22px;padding:24px;margin-bottom:22px}.dining-admin-title{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:22px}.dining-admin-title h2{margin:0 0 4px;font-size:26px}.dining-admin-title p{margin:0;color:var(--dining-muted,#64748b)}.dining-admin-add{border:0;background:#2563eb;color:#fff;font-weight:800;padding:12px 18px;border-radius:12px;cursor:pointer}.dining-admin-form{display:grid;grid-template-columns:130px 1fr 220px auto;gap:14px;align-items:end;background:#f8fafc;padding:18px;border-radius:16px;margin-bottom:26px}.dining-admin-form.staff-form{grid-template-columns:1.3fr 1fr 1fr 180px auto}.dining-admin-form label{display:flex;flex-direction:column;gap:7px;font-weight:700;font-size:14px}.dining-admin-form input,.dining-admin-form select{width:100%;box-sizing:border-box;border:1px solid #cbd5e1;border-radius:10px;padding:11px 12px;background:#fff;font:inherit}.dining-admin-form button{border:0;border-radius:10px;background:#16a34a;color:#fff;font-weight:800;padding:12px 17px;cursor:pointer}.dining-admin-floor{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:22px;padding:24px;border-radius:20px;background:linear-gradient(#ffffffe0,#ffffffe0),repeating-linear-gradient(90deg,#d6c6a8 0 38px,#c7b491 39px 40px)}.dining-admin-table-card{min-height:245px;border:1px solid #e2e8f0;border-radius:18px;background:#fffffff0;padding:18px;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 10px 24px #0f172a12}.dining-admin-table-card.inactive{opacity:.48;filter:grayscale(.7)}.dining-mini-scene{width:126px;height:126px;position:relative;margin:4px auto 12px}.dining-mini-table{width:76px;height:76px;position:absolute;left:25px;top:25px;display:flex;align-items:center;justify-content:center;background:linear-gradient(145deg,#8b5e34,#5f3d22);color:#fff;font-size:27px;font-weight:900;box-shadow:inset 0 2px 3px #fff3,0 7px 13px #0003}.shape-round .dining-mini-table,.dining-table-scene.shape-round .dining-table-top{border-radius:50%}.shape-square .dining-mini-table,.dining-table-scene.shape-square .dining-table-top{border-radius:15px}.mini-chair{position:absolute;display:block;width:34px;height:22px;border-radius:8px;background:#374151;box-shadow:0 4px 7px #0000002e}.mini-top{top:0;left:46px}.mini-bottom{bottom:0;left:46px}.mini-left{left:0;top:52px;transform:rotate(90deg)}.mini-right{right:0;top:52px;transform:rotate(90deg)}.dining-admin-table-card.status-free .dining-mini-table{outline:4px solid rgba(34,197,94,.18)}.dining-admin-table-card.status-occupied .dining-mini-table{outline:4px solid rgba(245,158,11,.2)}.dining-admin-table-card.status-bill_requested .dining-mini-table{outline:4px solid rgba(239,68,68,.18)}.dining-admin-status{margin-top:5px;color:var(--dining-muted,#64748b);font-size:14px}.dining-table-actions{display:flex;gap:7px;margin-top:15px}.dining-table-actions button,.dining-staff-actions button{border:1px solid #dbe2ea;background:#fff;border-radius:8px;padding:7px 9px;cursor:pointer;font-weight:700;font-size:12px}.dining-table-actions button.danger{color:#b91c1c}.dining-table-actions button.success{color:#15803d}.dining-staff-row{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:16px 0;border-bottom:1px solid #e5e7eb}.dining-staff-row:last-child{border-bottom:0}.dining-staff-row>div:first-child{display:flex;flex-direction:column;gap:3px}.dining-staff-row>div:first-child span{color:var(--dining-muted,#64748b)}.dining-staff-row.inactive{opacity:.48}.dining-staff-actions{display:flex;align-items:center;gap:12px}.dining-role-badge{background:#eef2ff;color:#3730a3;border-radius:999px;padding:7px 11px;font-size:13px;font-weight:800}.dining-success{background:#ecfdf5;color:#166534;border:1px solid #bbf7d0;padding:13px 16px;border-radius:12px;margin-bottom:18px}.dining-admin-empty{grid-column:1/-1;text-align:center;color:var(--dining-muted,#64748b);padding:35px}@media(max-width:900px){.dining-admin-stats{grid-template-columns:repeat(2,1fr)}.dining-admin-form,.dining-admin-form.staff-form{grid-template-columns:1fr 1fr}}@media(max-width:600px){.dining-admin-heading,.dining-admin-title{align-items:stretch;flex-direction:column}.dining-admin-stats{grid-template-columns:1fr 1fr}.dining-admin-form,.dining-admin-form.staff-form{grid-template-columns:1fr}.dining-admin-floor{grid-template-columns:repeat(2,minmax(0,1fr));padding:12px;gap:12px}.dining-admin-table-card{min-height:220px;padding:10px}.dining-table-actions{flex-direction:column;width:100%}.dining-staff-row{align-items:flex-start;flex-direction:column}}.dining-waiter-pix{width:100%;display:flex;flex-direction:column;align-items:center;gap:14px;padding:18px;margin-top:10px;background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:18px;box-sizing:border-box}.dining-waiter-pix-title{display:flex;flex-direction:column;align-items:center;text-align:center;gap:4px}.dining-waiter-pix-title strong{font-size:18px}.dining-waiter-pix-title span{font-size:14px;opacity:.72}.dining-waiter-pix-value{font-size:28px;font-weight:800}.dining-waiter-pix-qr{width:min(260px,80vw);aspect-ratio:1;padding:12px;background:#fff;border-radius:16px;box-shadow:0 4px 20px #0000001f}.dining-waiter-pix-qr img{display:block;width:100%;height:100%;object-fit:contain}.dining-waiter-pix-status{font-size:14px;font-weight:700;text-align:center}.dining-products-title{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.dining-product-view-switch{display:flex;align-items:center;gap:5px;padding:4px;border-radius:12px;background:#0000000e}.dining-product-view-switch button{border:0;background:transparent;padding:7px 10px;border-radius:9px;font-size:12px;font-weight:700;cursor:pointer;white-space:nowrap}.dining-product-view-switch button.active{background:#fff;box-shadow:0 2px 8px #0000001f}.dining-product-grid.dining-product-grid-compact{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.dining-product.dining-product-compact{min-width:0;min-height:72px;display:grid;grid-template-columns:52px minmax(0,1fr);align-items:center;gap:8px;padding:7px;text-align:left;border-radius:12px}.dining-product-compact .dining-product-image{width:52px;height:52px;min-height:52px;border-radius:9px;overflow:hidden}.dining-product-compact .dining-product-image img{width:100%;height:100%;object-fit:cover}.dining-product-compact .dining-product-image-fallback{width:100%;height:100%;min-height:52px;font-size:20px}.dining-product-compact .dining-product-info{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:2px 6px}.dining-product-compact .dining-product-info strong{min-width:0;font-size:13px;line-height:1.15;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.dining-product-compact .dining-product-info span{font-size:12px;font-weight:800;white-space:nowrap}.dining-product-compact .dining-product-info small{grid-column:1 / -1;font-size:11px;font-weight:700;opacity:.72}@media(max-width:420px){.dining-product-grid.dining-product-grid-compact{gap:6px}.dining-product.dining-product-compact{grid-template-columns:44px minmax(0,1fr);min-height:62px;padding:6px;gap:6px}.dining-product-compact .dining-product-image{width:44px;height:44px;min-height:44px}.dining-product-compact .dining-product-image-fallback{min-height:44px}.dining-product-compact .dining-product-info strong{font-size:12px}.dining-product-compact .dining-product-info span{font-size:11px}}.dining-product-image{position:relative}.dining-product-quantity-badge{position:absolute;top:7px;right:7px;z-index:4;min-width:25px;height:25px;padding:0 7px;display:flex;align-items:center;justify-content:center;border-radius:999px;border:2px solid rgba(255,255,255,.95);background:#ef4444;color:#fff;font-size:13px;font-weight:900;line-height:1;box-shadow:0 2px 7px #0003}.dining-product-compact .dining-product-quantity-badge{top:4px;right:4px;min-width:21px;height:21px;padding:0 5px;font-size:11px;border-width:1.5px}.dining-product-view-switch .dining-orders-filter{white-space:nowrap}.dining-table-card.status-occupied .dining-table-top:after,.dining-table-card.status-bill_requested .dining-table-top:after{content:"";position:absolute;inset:8px;z-index:1;pointer-events:none;border-radius:inherit;background:radial-gradient(circle at 27% 52%,transparent 0 8px,rgba(255,255,255,.98) 8.5px 15px,rgba(203,210,216,.96) 15.5px 17px,transparent 17.5px),radial-gradient(circle at 73% 52%,transparent 0 8px,rgba(255,255,255,.98) 8.5px 15px,rgba(203,210,216,.96) 15.5px 17px,transparent 17.5px),linear-gradient(90deg,transparent 0 14%,rgba(225,229,232,.98) 14% 16%,transparent 16% 100%),linear-gradient(90deg,transparent 0 38%,rgba(225,229,232,.98) 38% 40%,transparent 40% 100%),linear-gradient(90deg,transparent 0 60%,rgba(225,229,232,.98) 60% 62%,transparent 62% 100%),linear-gradient(90deg,transparent 0 84%,rgba(225,229,232,.98) 84% 86%,transparent 86% 100%)}.dining-table-card.status-occupied .table-number,.dining-table-card.status-bill_requested .table-number{position:relative;z-index:3}.dining-admin-table-card.status-occupied .dining-mini-table:before,.dining-admin-table-card.status-bill_requested .dining-mini-table:before{content:"";position:absolute;inset:5px;z-index:0;pointer-events:none;border-radius:inherit;background:radial-gradient(circle at 27% 51%,transparent 0 5px,rgba(255,255,255,.98) 5.5px 10px,rgba(203,210,216,.94) 10.5px 11.5px,transparent 12px),radial-gradient(circle at 73% 51%,transparent 0 5px,rgba(255,255,255,.98) 5.5px 10px,rgba(203,210,216,.94) 10.5px 11.5px,transparent 12px),linear-gradient(90deg,transparent 0 13%,#d9dee2 13% 15%,transparent 15% 39%,#d9dee2 39% 41%,transparent 41% 59%,#d9dee2 59% 61%,transparent 61% 85%,#d9dee2 85% 87%,transparent 87% 100%)}.cashier-shell{min-height:100vh;width:100%;background:radial-gradient(circle at top,#444b52 0,#20252a 46%,#111417);color:#eef1f3;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;overflow-x:hidden}.cashier-topbar{height:76px;display:flex;align-items:center;justify-content:space-between;padding:0 28px;background:linear-gradient(180deg,#d9dde0,#9da4aa 52%,#747b81);border-bottom:1px solid #454b50;box-shadow:0 5px 18px #00000061;color:#202428}.cashier-brand,.cashier-operator{display:flex;align-items:center;gap:14px}.cashier-brand-mark{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:linear-gradient(145deg,#f8fafb,#9ca3a9);border:1px solid #697077;box-shadow:inset 0 2px 2px #fff,0 3px 7px #00000040;font-weight:950;color:#252a2e}.cashier-brand strong{display:block;font-size:18px;letter-spacing:.02em}.cashier-brand span{display:block;font-size:12px;margin-top:3px;color:#4c5359}.cashier-operator{text-align:right}.cashier-operator small{display:block;font-size:9px;letter-spacing:.18em;color:#5b6268}.cashier-operator strong{display:block;font-size:14px}.cashier-operator button{border:1px solid #666d73;border-radius:9px;padding:9px 15px;background:linear-gradient(#f2f4f5,#b5babf);color:#282d31;font-weight:800;cursor:pointer}.cashier-workspace{min-height:calc(100vh - 76px);display:flex;align-items:center;justify-content:center;padding:24px}.cashier-register{width:min(1450px,100%);min-height:calc(100vh - 125px);border:1px solid #737a80;border-radius:24px;overflow:hidden;background:#777e84;box-shadow:0 32px 80px #0000007a,inset 0 1px #fffc}.register-metal-top{min-height:112px;display:flex;align-items:center;justify-content:space-between;gap:30px;padding:18px 28px;background:linear-gradient(145deg,#e7eaec,#9da4aa 55%,#777e84);border-bottom:1px solid #5c6268;color:#272c30}.register-metal-top small{display:block;font-size:10px;letter-spacing:.22em;color:#545b60}.register-metal-top>div>strong{display:block;margin-top:4px;font-size:24px;letter-spacing:.08em}.register-display{min-width:300px;padding:12px 20px;border:6px solid #575e63;border-radius:9px;background:#17221d;box-shadow:inset 0 3px 12px #000c,0 1px 1px #fffc;text-align:right}.register-display span{display:block;color:#7fae8c;font-family:monospace;font-size:10px;letter-spacing:.2em}.register-display strong{color:#b9ffc9;font-family:Courier New,monospace;font-size:31px;text-shadow:0 0 9px rgba(129,255,161,.35)}.register-body{min-height:600px;display:grid;grid-template-columns:minmax(430px,1fr) minmax(410px,.78fr);background:#2a2f33}.register-left{padding:24px;border-right:8px solid #6f767c}.register-section-title,.register-secondary-title{display:flex;justify-content:space-between;align-items:center;font-size:12px;font-weight:900;letter-spacing:.12em;color:#dce1e4;margin-bottom:16px}.register-section-title>div{display:flex;align-items:center;gap:9px}.register-section-title>strong,.register-secondary-title>strong{display:flex;align-items:center;justify-content:center;min-width:30px;height:30px;border-radius:8px;background:#555d63;color:#fff}.register-light{width:11px;height:11px;border-radius:50%;background:#ffb348;box-shadow:0 0 11px #ff9f1c}.cashier-table-list{display:grid;gap:10px}.cashier-table{width:100%;min-height:78px;display:grid;grid-template-columns:60px 1fr 30px;align-items:center;gap:14px;padding:10px 16px;border:1px solid #60686e;border-radius:12px;background:linear-gradient(180deg,#454c51,#363c40);color:#fff;text-align:left;cursor:pointer;box-shadow:inset 0 1px #ffffff1a,0 3px 8px #0000002e}.cashier-table:hover,.cashier-table.active{border-color:#c9d0d5;background:linear-gradient(180deg,#626a70,#444b50)}.cashier-table-number{width:52px;height:52px;border-radius:9px;display:flex;align-items:center;justify-content:center;background:linear-gradient(145deg,#e4e7e9,#9da4aa);border:1px solid #767d83;color:#22272b;font-size:22px;font-weight:950}.cashier-table div strong,.cashier-table div small{display:block}.cashier-table div small{margin-top:5px;color:#ffbd62}.cashier-arrow{font-size:28px;color:#cbd1d5}.register-secondary-title{margin-top:30px;padding-top:20px;border-top:1px solid #454b50}.cashier-occupied{display:flex;flex-wrap:wrap;gap:8px}.cashier-occupied button{border:1px solid #50575c;border-radius:9px;padding:9px 12px;background:#33393d;color:#bfc6ca;cursor:pointer}.cashier-occupied button span{font-weight:900;margin-right:5px}.cashier-empty,.cashier-message{min-height:180px;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px dashed #555c61;border-radius:14px;color:#8f989e;text-align:center}.cashier-empty strong{color:#d2d7da;margin:8px 0 4px}.cashier-empty-icon{font-size:32px}.register-receipt-area{position:relative;min-height:600px;display:flex;justify-content:center;align-items:flex-start;padding:0 28px 28px;background:linear-gradient(90deg,#747b80,#aeb4b8 10%,#858c91,#b5babd 90%,#747b80)}.receipt-slot{position:absolute;top:17px;left:12%;right:12%;height:30px;border-radius:50%;background:#3b4044;box-shadow:inset 0 7px 12px #000c,0 1px #ffffffb3}.receipt-slot span{position:absolute;left:6%;right:6%;top:12px;height:4px;border-radius:10px;background:#151719}.thermal-receipt{position:relative;z-index:2;width:min(440px,94%);margin-top:32px;padding:42px 32px 30px;background:repeating-linear-gradient(0deg,#fff1bd,#fff1bd 3px,#f7e4a3 4px);color:#282828;font-family:Courier New,monospace;box-shadow:0 18px 35px #0000004d;animation:receiptFeed .55s ease-out}@keyframes receiptFeed{0%{transform:translateY(-45px);opacity:.25}to{transform:translateY(0);opacity:1}}.thermal-receipt:after{content:"";position:absolute;left:0;right:0;bottom:-9px;height:10px;background:linear-gradient(135deg,transparent 5px,#fff1bd 0) 0 0/10px 10px repeat-x}.receipt-header{text-align:center}.receipt-header>strong{display:block;font-size:18px}.receipt-header>span{display:block;margin:4px 0 18px;font-size:10px;letter-spacing:.25em}.receipt-divider{overflow:hidden;white-space:nowrap;margin:14px 0;color:#555}.receipt-item{display:flex;justify-content:space-between;gap:15px;padding:7px 0;font-size:13px}.receipt-item>div{display:flex;gap:7px}.receipt-totals>div{display:flex;justify-content:space-between;padding:4px 0;font-size:13px}.receipt-totals .receipt-grand-total{margin-top:8px;padding:10px 0;border-top:2px solid #333;border-bottom:2px solid #333;font-size:20px}.receipt-balance{margin-top:8px;font-size:16px!important}.receipt-payment{margin-top:20px}.receipt-payment label{display:block;margin:13px 0 7px;font-size:10px;font-weight:900}.cashier-payment-methods{display:grid;grid-template-columns:1fr 1fr;gap:6px}.cashier-payment-methods button{border:1px solid #777;padding:9px 4px;background:#f3f1e8;color:#333;font-family:inherit;font-weight:700;cursor:pointer}.cashier-payment-methods button.active{background:#303437;color:#fff}.cashier-money-input{display:flex;align-items:center;border:2px solid #333;background:#fff}.cashier-money-input span{padding-left:10px;font-weight:900}.cashier-money-input input{width:100%;border:0;outline:0;padding:11px;background:transparent;text-align:right;font-family:inherit;font-size:20px;font-weight:900}.cashier-receive{width:100%;margin-top:14px;border:0;padding:14px;background:#252a2e;color:#fff;font-family:inherit;font-weight:900;cursor:pointer}.receipt-waiting{margin-top:18px;border:1px dashed #555;padding:12px;text-align:center;font-weight:900}.receipt-footer{margin-top:25px;text-align:center;font-size:10px}.receipt-placeholder{position:relative;z-index:2;margin-top:130px;color:#444a4e;text-align:center;text-shadow:0 1px rgba(255,255,255,.45)}.receipt-placeholder div{font-size:60px}.receipt-placeholder strong,.receipt-placeholder span{display:block}.receipt-placeholder span{margin-top:7px;font-size:13px}.register-base{min-height:74px;display:flex;align-items:center;gap:20px;padding:12px 24px;background:linear-gradient(180deg,#aeb4b8,#70777c);border-top:1px solid #d4d7d9;color:#24292d}.register-key{width:46px;height:46px;border:1px solid #5e656a;border-radius:9px;display:flex;align-items:center;justify-content:center;background:linear-gradient(#f1f3f4,#92999e);box-shadow:inset 0 2px 1px #fff,0 3px 4px #0000004d;font-weight:950}.register-status{display:flex;align-items:center;gap:8px;font-size:10px;font-weight:900;letter-spacing:.12em}.register-status span{width:10px;height:10px;border-radius:50%;background:#52d477;box-shadow:0 0 9px #52d477}.register-refresh{margin-left:auto;border:1px solid #5d6469;border-radius:8px;padding:10px 15px;background:linear-gradient(#eceeef,#9ba2a7);color:#252a2e;font-weight:900;cursor:pointer}.cashier-error{position:fixed;left:50%;bottom:20px;transform:translate(-50%);z-index:20;width:min(620px,calc(100% - 40px));padding:13px 18px;border-radius:10px;background:#b42318;color:#fff;text-align:center;font-weight:800;box-shadow:0 10px 30px #00000059}@media(max-width:900px){.register-body{grid-template-columns:1fr}.register-left{border-right:0;border-bottom:8px solid #6f767c}.register-display{min-width:220px}}@media(max-width:650px){.cashier-workspace{padding:0}.cashier-register{border-radius:0;min-height:calc(100vh - 76px)}.register-metal-top{flex-direction:column;align-items:stretch}.register-display{width:100%}.cashier-operator div{display:none}}.cashier-payment-methods button.payment-method-button{min-height:76px;padding:8px 5px;border:1px solid #9b895e;border-radius:8px;background:linear-gradient(180deg,#fff8dc,#ead79a);color:#29271f;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;box-shadow:inset 0 1px #fffffff2,0 3px 5px #4637142e}.cashier-payment-methods button.payment-method-button:hover{transform:translateY(-1px)}.cashier-payment-methods button.payment-method-button.active{background:linear-gradient(180deg,#474d51,#25292c);border-color:#1d2022;color:#fff;box-shadow:inset 0 2px 5px #0006}.payment-method-icon{width:34px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:5px;font-family:Arial,sans-serif;font-size:16px;font-weight:900;line-height:1}.payment-method-label{font-size:11px;font-weight:900;line-height:1}.payment-method-pix{color:#fff;background:#18aaa0;transform:rotate(45deg) scale(.72);border-radius:7px}.payment-method-pix+.payment-method-label{margin-top:1px}.payment-method-cash{width:36px;height:23px;color:#155d2b;background:#8fd29d;border:2px solid #39894c;border-radius:3px;font-size:10px;box-shadow:inset 0 0 0 2px #ffffff4d}.payment-method-debit_card{color:#fff;background:#378bc0;border:1px solid #246a91;font-size:18px}.payment-method-credit_card{color:#fff;background:#d9912b;border:1px solid #a66b17;font-size:18px}.cashier-payment-methods button.payment-method-button.active .payment-method-icon{filter:brightness(1.15) saturate(1.15)}.thermal-receipt{box-shadow:0 18px 35px #0000004d,inset 10px 0 18px #a6771c09,inset -10px 0 18px #a6771c09}html:has(.cashier-shell),body:has(.cashier-shell),body:has(.cashier-shell) #root{width:100%;min-width:100%;height:100%;min-height:100%;margin:0;padding:0;overflow:hidden}.cashier-shell{position:fixed;inset:0;width:100vw;height:100dvh;min-height:100dvh;margin:0;padding:0;overflow:hidden;border-radius:0}.cashier-topbar{flex:0 0 76px;border-radius:0}.cashier-workspace{width:100%;height:calc(100dvh - 76px);min-height:0;margin:0;padding:0;display:block;overflow:auto}.cashier-register{width:100%;max-width:none;min-height:100%;height:auto;margin:0;border-radius:0;border-left:0;border-right:0;border-bottom:0;box-shadow:none}@media(display-mode:standalone),(display-mode:fullscreen){.cashier-shell{height:100dvh}.cashier-workspace{height:calc(100dvh - 76px)}}.cashier-delivery-title{margin-top:28px}.cashier-light.delivery{background:#24d36b;box-shadow:0 0 12px #24d36bcc}.cashier-delivery-address{margin-top:24px;padding-top:16px;border-top:1px dashed #665f46;line-height:1.6;font-family:monospace;color:#28251c}.cashier-delivery-status{margin-top:24px;padding:12px 8px;border:1px dashed #7c7048;text-align:center;font-family:monospace;font-weight:900;letter-spacing:.04em;color:#332d1c}.cashier-operational-sections{margin-top:26px;display:grid;gap:28px}.cashier-operation-section{min-width:0}.cashier-operation-heading{margin-bottom:12px;padding-bottom:9px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.12);color:#e7ebee;font-size:13px;font-weight:900;letter-spacing:.12em}.cashier-operation-heading>div{display:flex;align-items:center;gap:9px}.cashier-operation-heading b{min-width:28px;height:28px;padding:0 8px;display:flex;align-items:center;justify-content:center;border-radius:8px;background:#626a70;color:#fff;font-size:13px;letter-spacing:0}.cashier-light.presencial{background:#ffad32;box-shadow:0 0 11px #ffad32bf}.cashier-delivery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.cashier-delivery-card{height:68px;min-width:0;display:grid;grid-template-columns:42px minmax(0,1fr) 18px;align-items:center;gap:9px;padding:8px 10px;border:1px solid #596167;border-radius:10px;background:linear-gradient(180deg,#41484d,#343a3e);color:#fff;text-align:left;cursor:pointer;box-shadow:inset 0 1px #ffffff14,0 2px 5px #00000029}.cashier-delivery-card:hover,.cashier-delivery-card.active{border-color:#c6cdd2;background:linear-gradient(180deg,#5b6369,#42494e)}.cashier-operation-icon{width:38px;height:38px;display:flex;align-items:center;justify-content:center;border-radius:8px;background:linear-gradient(145deg,#d9dde0,#9ea5aa);font-size:20px}.cashier-delivery-card div{min-width:0}.cashier-delivery-card strong,.cashier-delivery-card small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cashier-delivery-card strong{font-size:14px}.cashier-delivery-card small{margin-top:4px;color:#ffbd62;font-size:11px}.cashier-operation-arrow{color:#ccd2d6;font-size:22px}.cashier-presencial-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.cashier-presencial-card{height:74px;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:7px;border:1px solid #596167;border-radius:10px;background:linear-gradient(180deg,#41484d,#343a3e);color:#fff;cursor:pointer;box-shadow:inset 0 1px #ffffff14,0 2px 5px #00000029}.cashier-presencial-card:hover,.cashier-presencial-card.active{border-color:#d2d7da;background:linear-gradient(180deg,#5b6369,#42494e)}.cashier-presencial-number{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:7px;background:linear-gradient(145deg,#e2e5e7,#9fa6ab);color:#22272b;font-size:14px;font-weight:950}.cashier-presencial-card strong{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.cashier-operation-empty{padding:14px;border:1px dashed #535b60;border-radius:10px;color:#8f999f;font-size:13px;text-align:center}@media(max-width:1100px){.cashier-delivery-grid{grid-template-columns:1fr}.cashier-presencial-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:760px){.cashier-presencial-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}*{margin:0;padding:0;box-sizing:border-box}html,body,#root{width:100%;height:100%}body{font-family:Arial,Helvetica,sans-serif;background:#f6f7fb;color:#222}img{display:block;max-width:100%}button{cursor:pointer}input,textarea,select{font:inherit}:root{--primary:#ff4f87;--secondary:#ff80aa;--success:#25d366;--warning:#ffc107;--danger:#ef4444;--background:#f6f7fb;--card:#ffffff;--text:#222;--muted:#666;--border:#e9e9e9;--radius:14px;--shadow:0 8px 20px rgba(0,0,0,.08)}:root{--primary:#2563eb;--primary2:#3b82f6;--dark:#1f2937;--bg:#f4f6f8;--card:#ffffff;--border:#e5e7eb;--admin-sidebar:#ffffff;--admin-text:#374151;--admin-muted:#6b7280;--admin-hover:#f3f4f6}*{box-sizing:border-box}.layout{display:flex;min-height:100vh;background:var(--bg)}.sidebar{width:250px;background:var(--admin-sidebar);border-right:1px solid var(--border);display:flex;flex-direction:column}.logo{padding:25px;display:flex;gap:15px;align-items:center;border-bottom:1px solid var(--border)}.logoIcon{width:55px;height:55px;border-radius:14px;background:linear-gradient(135deg,var(--primary),var(--primary2));display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:700;color:#fff}.logo h2{font-size:20px}.logo small{color:#888}nav{padding:15px;display:flex;flex-direction:column;gap:6px}.item{display:flex;gap:12px;padding:14px;border-radius:10px;transition:.25s;color:var(--admin-text);font-weight:600}.item:hover{background:var(--admin-hover)}.active{background:linear-gradient(135deg,var(--primary),var(--primary2));color:#fff}.content{flex:1;display:flex;flex-direction:column;background:var(--bg);color:var(--admin-text)}.topbar{height:75px;background:#fff;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;padding:0 35px}.user{background:#fafafa;padding:10px 18px;border-radius:999px;font-weight:700}main{padding:30px}.sidebar,.sidebar button,.content h1,.content h2,.content h3,.content h4{color:var(--admin-text)}.content>main{background:var(--bg)}body{background:var(--background)}.page{padding:30px}.card{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px}
