@import url("https://fonts.googleapis.com/css2?family=Caprasimo:wght@400&family=Figtree:wght@400;600;700&display=swap");:root{--brand:#3a4a7a;--brand-2:#4a5d96;--brand-tint:rgba(58,74,122,.1);--bg-1:#e9edf5;--bg-2:#f7f9fc;--surface:hsla(0,0%,100%,.72);--dialog-bg:hsla(0,0%,100%,.97);--surface-2:rgba(15,23,42,.04);--line:rgba(15,23,42,.1);--text:#1c1c1e;--muted:#6e7480;--shadow:0 10px 34px -12px rgba(20,28,52,.22);--blur:blur(20px) saturate(180%);--danger:#c0392b;--warn:#b9770e;--ok:#1e7e44;--ok-bg:rgba(39,174,96,.12);--warn-bg:rgba(185,119,14,.14);--chip-bg:#fff3e0;--chip-line:#ffd2a6;--chip-text:#8a5a14;--ease-out:cubic-bezier(0.23,1,0.32,1);--ease-in-out:cubic-bezier(0.77,0,0.175,1);--font-heading:-apple-system,BlinkMacSystemFont,system-ui,"Segoe UI",Roboto,sans-serif;--font-body:-apple-system,BlinkMacSystemFont,system-ui,"Segoe UI",Roboto,sans-serif;--radius-container:18px;--st-placed:#b5650f;--st-confirmed:var(--brand);--st-preparing:#6b4c9a;--st-ready:#0e8f82;--st-delivering:#1d74b0;--st-completed:#238754;--st-cancelled:#6b7280;--st-refunded:#b23b32;color-scheme:light}.dark{--brand:#7585cf;--brand-2:#8e9ce0;--brand-tint:rgba(117,133,207,.18);--bg-1:#14161d;--bg-2:#0c0e13;--surface:rgba(34,37,47,.62);--dialog-bg:rgba(38,41,52,.97);--surface-2:hsla(0,0%,100%,.05);--line:hsla(0,0%,100%,.1);--text:#f0f2f6;--muted:#9aa2b0;--shadow:0 14px 40px -16px rgba(0,0,0,.6);--danger:#e76d63;--warn:#e0a341;--ok:#51d08a;--ok-bg:rgba(46,160,103,.16);--warn-bg:rgba(224,163,65,.18);--chip-bg:rgba(233,162,59,.15);--chip-line:rgba(233,162,59,.35);--chip-text:#e9b46b;--st-placed:#e3a15c;--st-confirmed:var(--brand);--st-preparing:#a98fd1;--st-ready:#4fc4b6;--st-delivering:#6fb2e6;--st-completed:#5fcb8d;--st-cancelled:#9aa2b0;--st-refunded:#e2857c;color-scheme:dark}*{box-sizing:border-box}body{margin:0;font-family:var(--font-body);background:linear-gradient(165deg,var(--bg-1),var(--bg-2)) fixed;color:var(--text);min-height:100vh}button{font:inherit;cursor:pointer}input,select,textarea{color:var(--text)}input[type=checkbox],input[type=radio]{accent-color:var(--brand)}.bars,.cat,.dialog,.hours,.kds-card,.kpi,.login,.order,.settings,.zone{border:1px solid var(--line);box-shadow:var(--shadow)}.bars,.cat,.dialog,.hours,.kds-card,.kpi,.login,.order,.settings,.topbar,.zone{background:var(--surface);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur)}.topbar{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;color:var(--text);border-bottom:1px solid var(--line);position:-webkit-sticky;position:sticky;top:0;z-index:20}.topbar h1{font-size:18px;margin:0;font-family:var(--font-heading)}.topbar .right{display:flex;align-items:center;gap:10px;font-size:14px;flex-wrap:wrap;justify-content:flex-end}:root{--sidebar-w:150px}.sidebar{position:fixed;left:0;top:0;bottom:0;width:var(--sidebar-w);z-index:30;background:var(--surface);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border-right:1px solid var(--line);padding:12px 8px;overflow-y:auto}.side-nav{display:flex;flex-direction:column;gap:3px}.sidelink{display:flex;align-items:center;gap:9px;color:var(--text);padding:8px 12px;border-radius:9px;font-weight:600;font-size:14px;border:1px solid transparent;white-space:nowrap;transition:background .15s,color .15s,transform .12s var(--ease-out)}.sidelink:hover{background:var(--brand-tint)}.sidelink:active{transform:scale(.97)}.sidelink-icon{flex-shrink:0;opacity:.8}.sidelink.active .sidelink-icon{opacity:1}.sidelink.active{background:var(--brand);border-color:var(--brand);color:#fff;box-shadow:0 6px 16px -6px var(--brand)}body.has-sidebar{padding-left:var(--sidebar-w)}.hamburger{background:transparent;border:1px solid var(--line);color:var(--text);border-radius:8px;padding:4px 11px;font-size:18px}.hamburger,.sidebar-overlay{display:none}@media (max-width:1023px){body.has-sidebar{padding-left:0}.sidebar{transform:translateX(-100%);transition:transform .2s ease;box-shadow:2px 0 24px rgba(0,0,0,.25)}.sidebar.open{transform:translateX(0)}.sidebar-overlay{display:block;position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:25}.hamburger{display:inline-block}}.dot{display:inline-block;width:8px;height:8px;border-radius:999px;background:#2ecc71;margin-right:6px}.link-btn{background:transparent;border:1px solid var(--line);color:var(--text);padding:5px 12px;border-radius:999px;transition:transform .12s var(--ease-out),background .16s var(--ease-out)}.link-btn:hover{background:var(--surface-2)}.link-btn:active{transform:scale(.95)}.wrap{max-width:1000px;margin:0 auto;padding:16px}.pager{display:flex;align-items:center;justify-content:center;gap:14px;margin:16px 0 4px}.pager-info{font-size:14px;color:var(--text);opacity:.8}.pager .link-btn:disabled{opacity:.4;cursor:default}.filters{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0}.filters button{padding:6px 12px;border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:999px;font-size:13px;transition:background .16s var(--ease-out),color .16s var(--ease-out),transform .12s var(--ease-out)}.filters button.active{background:var(--brand);color:#fff;border-color:var(--brand)}.actions-secondary .step-toggle:active,.actions-secondary .step:active,.day-nav button:active,.filters button:active,.zoom:active{transform:scale(.95)}.day-nav{display:flex;align-items:center;gap:6px;margin-left:auto}.day-nav .day-arrow{padding:6px 10px;font-size:16px;line-height:1;transition:transform .12s var(--ease-out)}.day-nav button:disabled{opacity:.4;cursor:default}.day-input{padding:6px 8px;border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:999px;font-size:13px}.day-today{font-weight:600}.day-count{font-size:12px;opacity:.6;white-space:nowrap}.order{border-radius:var(--radius-container,18px);padding:16px;margin:12px 0;border-left-width:4px}.order[data-pay=paid]{border-left-color:var(--ok)}.order[data-pay=due]{border-left-color:var(--warn)}.order[data-pay=unpaid]{border-left-color:var(--danger)}.order[data-pay=void]{border-left-color:var(--st-cancelled)}.pay{border-radius:999px;padding:2px 10px;font-size:12px;font-weight:600;white-space:nowrap}.pay-paid{background:var(--ok-bg);color:var(--ok)}.pay-due{background:var(--warn-bg);color:var(--warn)}.pay-unpaid{background:var(--danger);color:#fff}.pay-void{background:var(--surface-2);color:var(--st-cancelled)}@keyframes order-arrive{0%{transform:translateY(-6px);opacity:0;box-shadow:0 0 0 2px var(--brand),var(--shadow)}to{transform:translateY(0);opacity:1;box-shadow:var(--shadow)}}.order.is-new{animation:order-arrive .42s var(--ease-out)}.order-head{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.order-head-left{display:flex;flex-wrap:wrap;gap:8px;align-items:center;flex:1 1}.order-head-right{display:flex;flex-direction:column;align-items:flex-end;gap:5px;flex-shrink:0}.zoom{width:32px;height:32px;border:1px solid var(--line);background:var(--surface-2);color:var(--text);border-radius:8px;cursor:pointer;font-size:16px;line-height:1;transition:transform .12s var(--ease-out),background .16s var(--ease-out)}.zoom:hover{background:var(--brand-tint)}.order-head .num{font-weight:700;font-size:16px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.badge{color:#fff;border-radius:999px;padding:2px 10px;font-size:12px;font-weight:600}.badge.st-placed{background:var(--st-placed)}.badge.st-confirmed{background:var(--st-confirmed)}.badge.st-preparing{background:var(--st-preparing)}.badge.st-ready{background:var(--st-ready)}.badge.st-delivering{background:var(--st-delivering)}.badge.st-completed{background:var(--st-completed)}.badge.st-cancelled{background:var(--st-cancelled)}.badge.st-refunded{background:var(--st-refunded)}.tag{background:var(--brand-tint);border-radius:6px;padding:2px 8px;color:var(--brand)}.tag,.time{font-size:12px}.time{color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.items{margin:10px 0;font-size:14px}.items .it{padding:2px 0}.items .opt{color:var(--muted);font-size:12px;padding-left:12px}.allerg{color:var(--warn);font-size:11px;padding-left:12px}.meta{margin:6px 0;flex-wrap:wrap;gap:12px}.meta,.totals{font-size:13px;color:var(--muted);display:flex}.totals{gap:14px;border-top:1px dashed var(--line);padding-top:8px;margin-top:6px}.totals .grand{font-weight:700;color:var(--text);font-size:15px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px;align-items:center;justify-content:space-between}.actions-main{display:flex;gap:8px}.actions-main .primary{padding:9px 18px;border-radius:999px;border:none;color:#fff;background:var(--brand);font-weight:600;font-size:15px;box-shadow:0 6px 18px -6px var(--brand);transition:transform .1s}.actions-main .primary:active{transform:scale(.96)}.actions-main .primary:disabled{opacity:.5;box-shadow:none}.actions-secondary{display:flex;gap:16px}.actions-secondary .link-danger{background:none;border:none;color:var(--danger);cursor:pointer;font-size:12.5px;text-decoration:underline;padding:4px}.step-group{display:inline-flex;flex-wrap:wrap;gap:6px;align-items:center}.actions-secondary .step{background:var(--surface);border:1px solid var(--line);color:var(--text);border-radius:999px;padding:6px 14px;font-size:13px;font-weight:600;cursor:pointer;transition:transform .12s var(--ease-out),background .16s var(--ease-out)}.actions-secondary .step:hover{background:var(--surface-2)}.actions-secondary .step:disabled{opacity:.4;cursor:default;transform:none}.actions-secondary .step-toggle{background:var(--surface-2);border:1px solid var(--line);color:var(--muted);border-radius:999px;padding:6px 12px;font-size:13px;font-weight:600;cursor:pointer;transition:transform .12s var(--ease-out),color .16s var(--ease-out)}.actions-secondary .step-toggle:hover{color:var(--text)}.actions-secondary .link-danger:disabled{opacity:.4}.actions button:disabled{opacity:.5;cursor:default}.fiscal{font-size:12px;color:var(--ok)}.fiscal.void{color:var(--danger)}.login{max-width:340px;margin:80px auto;padding:28px;border-radius:var(--radius-container,20px)}.login h1{font-size:20px;margin:0 0 16px;font-family:var(--font-heading)}.login input:not([type=checkbox]){width:100%;padding:10px;margin:6px 0;border:1px solid var(--line);border-radius:12px;background:var(--surface-2)}.login input[type=checkbox]{width:16px;height:16px;flex:0 0 auto;margin:0}.login button{width:100%;padding:11px;margin-top:10px;border:none;border-radius:999px;background:var(--brand);color:#fff;font-weight:600;box-shadow:0 8px 20px -8px var(--brand)}.err{color:var(--danger);font-size:13px;margin:8px 0}.empty,.muted{color:var(--muted)}.empty{text-align:center;padding:40px}.nav{display:flex;flex-wrap:wrap;gap:6px}.navlink{color:var(--text);padding:6px 14px;border-radius:999px;font-weight:600;font-size:15px;border:1px solid var(--line);background:var(--surface);transition:background .15s,color .15s,transform .12s var(--ease-out)}.navlink:hover{background:var(--brand-tint)}.navlink:active{transform:scale(.96)}.navlink.active{background:var(--brand);border-color:var(--brand);color:#fff;box-shadow:0 6px 16px -6px var(--brand)}.btn{padding:9px 16px;font-weight:600;box-shadow:0 6px 18px -6px var(--brand)}.btn,.btn-sm{background:var(--brand);color:#fff;border:none;border-radius:999px;transition:transform .12s var(--ease-out)}.btn-sm{padding:6px 12px;font-size:13px}.btn-sm.ghost{background:var(--surface);color:var(--text);border:1px solid var(--line);box-shadow:none}.btn-sm.danger{background:var(--danger);box-shadow:none}.btn-sm:active,.btn:active{transform:scale(.96)}.btn-sm:disabled,.btn:disabled{transform:none}.cat-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.cat-tab{display:inline-flex;align-items:center;gap:7px;padding:7px 12px;border:1px solid var(--line);background:var(--surface);border-radius:999px;cursor:pointer;font-size:14px;color:var(--text)}.cat-tab.active{background:var(--brand);border-color:var(--brand);color:#fff}.cat-tab-img{width:22px;height:22px;border-radius:50%;object-fit:cover}.cat-tab-name{font-weight:600}.cat-tab-count{font-size:12px;opacity:.8;background:var(--surface-2);border-radius:999px;padding:0 7px}.cat-tab.active .cat-tab-count{background:hsla(0,0%,100%,.22)}.cat-tab.sorting{cursor:-webkit-grab;cursor:grab;border-style:dashed}.cat-tab.sorting:active{cursor:-webkit-grabbing;cursor:grabbing}.cat-tab.dragging{opacity:.45}.cat-arrow{border:none;background:var(--surface-2);color:var(--text);width:20px;height:20px;border-radius:50%;font-size:15px;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:0;transition:transform .12s var(--ease-out),background .16s var(--ease-out),color .16s var(--ease-out)}.cat-arrow:hover:not(:disabled){background:var(--brand);color:#fff}.cat-arrow:active:not(:disabled){transform:scale(.88)}.cat-arrow:disabled{opacity:.35;cursor:default}.cat-tab.active .cat-arrow{background:hsla(0,0%,100%,.22);color:#fff}.cat{border-radius:var(--radius-container,18px);padding:14px;margin:12px 0}.cat-head{display:flex;align-items:center;gap:8px;border-bottom:1px solid var(--line);padding-bottom:8px;margin-bottom:8px}.help-dot{width:18px;height:18px;flex:0 0 18px;border-radius:50%;border:none;background:var(--line);color:var(--muted);font-size:12px;font-weight:700;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:0}.help-dot:hover{background:var(--accent,#2b6cff);color:#fff}.help-box{background:var(--card-2,#f4f6fb);border-left:3px solid var(--accent,#2b6cff);border-radius:6px;padding:10px 12px;margin:0 0 10px;font-size:13px;line-height:1.55;color:var(--ink,inherit)}.prod-row{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px dashed var(--line)}.prod-actions{gap:6px;justify-content:flex-end}.chips,.prod-actions{display:flex;flex-wrap:wrap}.chips{gap:5px;margin-top:5px}.chip{background:var(--chip-bg);border:1px solid var(--chip-line);border-radius:999px;padding:2px 9px;font-size:12px;color:var(--chip-text)}.chip.link,.chip.toggle{transition:transform .12s var(--ease-out),background .16s var(--ease-out),color .16s var(--ease-out)}.chip.link:active,.chip.toggle:active{transform:scale(.94)}.chip.toggle{cursor:pointer;background:var(--surface-2);border-color:var(--line);color:var(--muted)}.chip.toggle.on{background:var(--chip-bg);border-color:var(--chip-line);color:var(--chip-text);font-weight:600}.chip.link{cursor:pointer;text-decoration:none}.chip.link:hover{background:var(--accent,#2b6cff);border-color:var(--accent,#2b6cff);color:#fff}.usage-link{background:none;border:none;padding:0 0 0 2px;margin:0;color:var(--accent,#2b6cff);cursor:pointer;font:inherit;font-size:12px}.usage-link:hover{text-decoration:underline}.opt-name-line{gap:6px}.opt-name-line,.opt-toolbar{display:flex;flex-wrap:wrap;align-items:center}.opt-toolbar{gap:8px;margin:4px 0 10px}.dish-head-link{text-decoration:none;color:inherit}.dish-head-link:hover strong{color:var(--accent,#2b6cff)}.panel{display:flex;gap:24px;flex-wrap:wrap;background:var(--surface-2);border-radius:12px;padding:12px;margin:4px 0 10px}.panel-col{flex:1 1;min-width:220px;display:flex;flex-direction:column;gap:6px}.line{display:flex;align-items:center;gap:8px;font-size:14px}.line .x{background:none;border:none;color:var(--danger);cursor:pointer;font-size:14px}.overlay{position:fixed;inset:0;background:rgba(0,0,0,.5);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:30;padding:16px;opacity:1;transition:opacity .2s var(--ease-out);@starting-style{opacity:0}}.dialog{background:var(--dialog-bg);border-radius:var(--radius-container,20px);padding:22px;width:100%;max-width:480px;max-height:88vh;overflow:auto;-webkit-backdrop-filter:blur(30px) saturate(180%);backdrop-filter:blur(30px) saturate(180%);transform:scale(1);opacity:1;transition:transform .22s var(--ease-out),opacity .2s var(--ease-out);@starting-style{transform:scale(.95);opacity:0}}.dialog h3{margin:0 0 12px}.dialog-actions{display:flex;gap:10px;align-items:center;margin-top:16px}.fld{width:100%;padding:9px 10px;border:1px solid var(--line);border-radius:12px;font-size:14px;background:var(--surface-2)}.fld:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-tint)}.fld.sm{width:auto;flex:1 1;min-width:0;padding:6px 8px}.fld-label{display:block;font-size:12px;color:var(--muted);margin:8px 0 3px}.fld-row{display:flex;gap:10px}.fld-row>div{flex:1 1}.fld-check{display:flex;align-items:center;gap:8px;margin-top:12px;font-size:14px}.settings{border-radius:var(--radius-container,18px);padding:8px 16px}.num-row,.switch-row{display:flex;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid var(--line)}.num-row span,.switch-row span{flex:1 1;font-weight:500}.switch-row input[type=checkbox]{width:20px;height:20px}.saved-toast{background:var(--ok-bg);color:var(--ok);border-radius:12px;padding:8px 12px;text-align:center}.toast-stack{position:fixed;top:16px;right:16px;z-index:60;flex-direction:column;pointer-events:none}.toast,.toast-stack{display:flex;gap:8px}.toast{align-items:center;min-width:180px;max-width:360px;padding:10px 14px;border-radius:12px;font-size:14px;font-weight:600;box-shadow:0 10px 30px -8px rgba(0,0,0,.35);opacity:1;transform:translateY(0) scale(1);transition:opacity .2s var(--ease-out),transform .2s var(--ease-out);@starting-style{opacity:0;transform:translateY(-8px) scale(.97)}}.toast.leaving{opacity:0;transform:translateY(-6px) scale(.97)}.toast.ok{background:var(--ok-bg);color:var(--ok)}.toast.err{background:rgba(192,57,43,.12);color:var(--danger)}.toast-ico{font-weight:800}.loading-wrap{display:flex;flex-direction:column;align-items:center;gap:10px;padding:48px 0}.spinner{width:26px;height:26px;border-radius:50%;border:3px solid hsla(0,0%,50%,.25);border-top:3px solid var(--danger,#c0392b);animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.thumb{width:44px;height:44px;border-radius:10px;object-fit:cover;border:1px solid var(--line)}.thumb.lg{width:72px;height:72px}.img-upload{display:flex;align-items:center;gap:10px;margin-top:4px}.rows{border:1px solid var(--line);border-radius:12px;padding:8px 10px;margin-top:12px}.rows-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.hours{border-radius:var(--radius-container,18px);padding:14px}.hours-head,.hours-row{display:grid;grid-template-columns:90px 1fr 1fr;grid-gap:10px;gap:10px;align-items:center}.hours-head{color:var(--muted);font-size:12px;padding-bottom:6px}.hours-row{padding:7px 0;border-top:1px solid var(--line)}.hours-day{gap:6px;font-weight:500}.hours-day,.shift{display:flex;align-items:center}.shift{gap:5px}.shift input[type=time]{padding:5px;border:1px solid var(--line);border-radius:8px;font-size:13px;background:var(--surface-2)}.zone{border-radius:var(--radius-container,18px);padding:14px;margin:12px 0}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));grid-gap:12px;gap:12px;margin-top:12px}.kpi{border-radius:var(--radius-container,18px);padding:14px}.kpi-label{font-size:12px;color:var(--muted)}.kpi-value{font-size:24px;font-weight:800;margin-top:4px;font-family:var(--font-heading)}.kpi-sub{font-size:12px;color:var(--muted);margin-top:2px}.bars{display:flex;align-items:flex-end;gap:10px;height:160px;border-radius:var(--radius-container,18px);padding:12px}.bar-col{flex:1 1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%}.bar-val{font-size:11px;color:var(--muted);margin-bottom:2px}.bar{width:70%;background:var(--brand);border-radius:6px 6px 0 0;min-height:2px}.bar-x{font-size:11px;color:var(--muted);margin-top:6px}.rep-2col{grid-template-columns:1fr 1fr;grid-gap:18px}.rep-2col,.rep-3col{display:grid;gap:18px;margin-top:18px}.rep-3col{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));grid-gap:18px}.rep-item{padding:7px 0;border-bottom:1px dashed var(--line);font-size:14px}.rep-item,.rep-toolbar{display:flex;justify-content:space-between}.rep-toolbar{flex-wrap:wrap;align-items:center;gap:10px;margin:12px 0}.rep-dates{display:flex;align-items:center;gap:6px}.rep-card{border-radius:var(--radius-container,18px);padding:16px;margin-top:18px;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur)}.rep-2col .rep-card,.rep-3col .rep-card{margin-top:0}.rep-card h3{margin:0 0 10px;font-size:15px}.rep-stale{opacity:.55;transition:opacity .16s var(--ease-out);pointer-events:none}.kpi-delta{font-size:12px;font-weight:700;margin-top:3px}.kpi-delta.up{color:var(--ok)}.kpi-delta.down,.kpi-warn .kpi-value{color:var(--danger)}.chart-donut-plot{position:relative}.chart-donut-center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;pointer-events:none}.chart-donut-total{font-family:var(--font-heading);font-size:18px;font-weight:800;line-height:1.1}.chart-donut-cap{font-size:11px;color:var(--muted);max-width:84px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chart-donut-center>*{animation:donut-swap .16s var(--ease-out)}@keyframes donut-swap{0%{opacity:0}to{opacity:1}}.chart-sector{cursor:pointer}.chart-sector,.recharts-bar-rectangle path{transition:opacity .16s var(--ease-out)}@media (hover:hover) and (pointer:fine){.recharts-bar-rectangle:hover path{opacity:.78}}.chart-legend{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-direction:column;gap:2px}.chart-legend li{display:flex}.chart-legend-btn{flex:1 1;display:flex;align-items:center;gap:8px;font-size:13px;background:none;border:none;padding:3px 6px;margin:0 -6px;border-radius:8px;color:inherit;text-align:left;transition:background .16s var(--ease-out),opacity .16s var(--ease-out),transform .12s var(--ease-out)}@media (hover:hover) and (pointer:fine){.chart-legend-btn:hover{background:var(--surface-2)}}.chart-legend-btn:active{transform:scale(.985)}.chart-legend-btn:focus-visible{outline:2px solid var(--brand);outline-offset:1px}.chart-legend-btn.is-dim{opacity:.42}.chart-legend-btn.is-sel{background:var(--surface-2);font-weight:700}.chart-legend-name{flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chart-legend-val{color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.chart-dot{width:9px;height:9px;border-radius:999px;flex-shrink:0}@media (prefers-reduced-motion:reduce){.chart-donut-center>*{animation:none}.chart-legend-btn,.chart-sector{transition:none}}.recharts-responsive-container :focus,.recharts-responsive-container :focus-visible,.recharts-wrapper:focus,.recharts-wrapper:focus-visible{outline:none}.heat{overflow-x:auto}.heat-grid{display:grid;grid-gap:2px;gap:2px;min-width:460px}.heat-d,.heat-h{font-size:11px;color:var(--muted);display:flex;align-items:center}.heat-h{justify-content:center}.heat-cell{aspect-ratio:1/1;min-height:20px;border:none;padding:0;border-radius:4px;cursor:default;transition:transform .12s var(--ease-out),box-shadow .12s var(--ease-out)}@media (hover:hover) and (pointer:fine){.heat-cell:hover{transform:scale(1.18);box-shadow:0 0 0 2px var(--surface);position:relative;z-index:1}}.heat-foot{justify-content:space-between;gap:12px;margin-top:10px;flex-wrap:wrap}.heat-foot,.heat-scale{display:flex;align-items:center}.heat-scale{gap:3px;font-size:11px}.heat-scale i{width:18px;height:10px;border-radius:2px;display:block}.heat-readout{font-size:12px;color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;min-height:16px}@media (max-width:720px){.rep-2col{grid-template-columns:1fr}}@media (max-width:560px){.rep-2col{grid-template-columns:1fr}}.kds-wrap{padding:16px}.kds-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));grid-gap:14px;gap:14px}.kds-card{border:2px solid var(--line);border-radius:var(--radius-container,18px);padding:14px;display:flex;flex-direction:column}.kds-card.new{border-color:var(--brand)}.kds-head{display:flex;justify-content:space-between;align-items:center}.kds-num{font-size:20px;font-weight:800}.kds-wait{font-size:18px;font-weight:800;padding:2px 10px;border-radius:8px;color:#fff}.kds-wait.green{background:#27ae60}.kds-wait.amber{background:#e67e22}.kds-wait.red{background:#c0392b}.kds-type{color:var(--muted);font-size:14px;margin:2px 0 8px}.kds-items{flex:1 1;border-top:1px solid var(--line);padding-top:8px}.kds-item{padding:6px 0;border-bottom:1px dashed var(--line)}.kds-item-name{font-size:18px}.kds-sub{font-size:14px;color:var(--muted);padding-left:14px}.kds-note{font-size:15px;font-weight:700;color:var(--danger);padding-left:8px}.kds-action{margin-top:12px;padding:14px;border:none;border-radius:12px;color:#fff;font-size:18px;font-weight:700;cursor:pointer;transition:transform .12s var(--ease-out)}.kds-action.start{background:var(--brand)}.kds-action.ready{background:#27ae60}.kds-action:active{transform:scale(.97)}.kds-action:disabled{opacity:.5;transform:none}.cassa{display:grid;grid-template-columns:1fr 360px;grid-gap:16px;gap:16px;align-items:start}.cassa-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));grid-gap:10px;gap:10px;margin-top:12px}.cassa-tile{border:1px solid var(--line);background:var(--surface);border-radius:14px;padding:10px;text-align:left;cursor:pointer;min-height:80px;display:flex;flex-direction:column;justify-content:space-between;transition:transform .08s;color:var(--text)}.cassa-tile:active{transform:scale(.95)}.cassa-tile.out{opacity:.4;cursor:not-allowed}.cassa-tile-name{font-size:13px;font-weight:600;line-height:1.2}.cassa-tile-price{font-size:13px;color:var(--brand);font-weight:700;margin-top:6px}.cassa-bill{position:-webkit-sticky;position:sticky;top:76px;border-radius:var(--radius-container,18px);padding:14px;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur)}.cassa-lines{max-height:46vh;overflow:auto}.cassa-line{display:flex;align-items:center;gap:8px;padding:8px 0;border-bottom:1px dashed var(--line)}.cassa-line-main{flex:1 1;min-width:0}.cassa-line-name{font-size:14px;font-weight:600}.cassa-line-opt{font-size:12px;color:var(--muted)}.cassa-line-sum{font-size:13px;font-weight:600;white-space:nowrap}.cassa-qty{display:flex;align-items:center;gap:6px}.cassa-qty button{width:28px;height:28px;border-radius:999px;border:1px solid var(--line);background:var(--surface-2);color:var(--text);font-size:16px;line-height:1;transition:transform .12s var(--ease-out)}.cassa-qty button:active{transform:scale(.92)}.cassa-total{display:flex;justify-content:space-between;align-items:baseline;margin:12px 0;font-size:15px}.cassa-total b{font-size:26px}.cassa-pay{display:grid;grid-gap:8px;gap:8px}.cassa-pay button{padding:14px;border:none;border-radius:12px;font-weight:700;font-size:16px;color:#fff;cursor:pointer;transition:transform .12s var(--ease-out)}.cassa-pay .cash{background:#27ae60}.cassa-pay .pos{background:var(--brand)}.cassa-pay .conto{background:#6b7280}.cassa-pay button:active{transform:scale(.97)}.cassa-pay button:disabled{opacity:.4;cursor:default;transform:none}.cassa-note{font-size:12px;color:var(--muted);margin-top:8px;text-align:center}.cassa-clear{background:none;border:none;color:var(--danger);font-size:12.5px;text-decoration:underline;cursor:pointer;transition:opacity .12s var(--ease-out)}.cassa-clear:active{opacity:.6}@media (max-width:760px){.cassa{grid-template-columns:1fr}.cassa-bill{position:static}}.numpad-display{margin-top:8px;padding:10px 12px;border-radius:12px;background:var(--surface-2);border:1px solid var(--line);text-align:right;font-size:26px;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.numpad{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:8px;gap:8px;margin-top:10px}.numpad-key{padding:16px 0;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--text);font-size:20px;font-weight:600;cursor:pointer;transition:transform .08s}.numpad-key:active{transform:scale(.94);background:var(--brand-tint)}.ai-orb{--size:96px;--c:58 74 122;--speed:1;position:relative;width:var(--size);height:var(--size);display:flex;align-items:center;justify-content:center;flex:none}.dark .ai-orb{--c:117 133 207}.ai-orb__core{width:calc(var(--size) * .28);height:calc(var(--size) * .28);border-radius:50%;background:radial-gradient(circle at 50% 50%,#fff 0,rgb(var(--c)) 72%);box-shadow:0 0 calc(var(--size) * .16) calc(var(--size) * .03) rgb(var(--c)/.8),0 0 calc(var(--size) * .34) calc(var(--size) * .08) rgb(var(--c)/.35);animation:ai-core-breath calc(2.4s * var(--speed)) ease-in-out infinite}@keyframes ai-core-breath{0%,to{transform:scale(1)}50%{transform:scale(1.28)}}.ai-orb__arm{position:absolute;inset:0;pointer-events:none}.ai-orb__arm--outer{animation:ai-spin calc(6s * var(--speed)) linear infinite}.ai-orb__arm--inner{inset:calc(var(--size) * .2);animation:ai-spin-rev calc(3.6s * var(--speed)) linear infinite}.ai-orb__arm>i{position:absolute;top:calc(var(--size) * .05);left:50%;width:calc(var(--size) * .085);height:calc(var(--size) * .085);transform:translateX(-50%);border-radius:50%;background:var(--pc,rgb(var(--c)));box-shadow:0 0 calc(var(--size) * .07) calc(var(--size) * .012) var(--pc,rgb(var(--c)/.9))}.ai-orb__arm--inner>i{width:calc(var(--size) * .06);height:calc(var(--size) * .06)}@keyframes ai-spin{to{transform:rotate(1turn)}}@keyframes ai-spin-rev{to{transform:rotate(-1turn)}}@media (prefers-reduced-motion:reduce){.ai-orb__arm,.ai-orb__core{animation:none}}:root[data-perf=on]{--blur:none;--surface:#fff;--dialog-bg:#fff;--shadow:0 1px 3px rgba(20,28,52,.14)}:root[data-perf=on].dark{--surface:#22252f;--dialog-bg:#262932;--shadow:0 1px 3px rgba(0,0,0,.5)}:root[data-perf=on] .cassa-bill,:root[data-perf=on] .dialog,:root[data-perf=on] .overlay,:root[data-perf=on] .topbar{-webkit-backdrop-filter:none!important;backdrop-filter:none!important}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}.order.is-new{animation:none!important}}:root[data-skin=organic]{--brand:#c67139;--brand-2:#7a8a5e;--brand-tint:rgba(198,113,57,.12);--bg-1:#f5ead8;--bg-2:#f5ead8;--surface:#ebddc5;--dialog-bg:#f2e8d8;--surface-2:rgba(32,30,29,.06);--line:rgba(32,30,29,.16);--text:#201e1d;--muted:rgba(32,30,29,.55);--shadow:0 3px 10px rgba(46,43,37,.16);--blur:none;--danger:#b23b32;--warn:#b5650f;--ok:#56633f;--ok-bg:rgba(122,138,94,.14);--warn-bg:rgba(181,101,15,.14);--chip-bg:#fff2eb;--chip-line:#ffc6a5;--chip-text:#8c491a;--font-heading:"Caprasimo",system-ui,sans-serif;--font-body:"Figtree",system-ui,sans-serif;--radius-container:28px;--st-placed:#b5650f;--st-confirmed:#8a8074;--st-preparing:#8a8074;--st-ready:#7a8a5e;--st-delivering:#8a8074;--st-completed:#56633f;--st-cancelled:#a19786;--st-refunded:#b23b32;color-scheme:light}:root[data-skin=organic] .btn,:root[data-skin=organic] .btn-sm,:root[data-skin=organic] .fld{border-radius:999px}.mk-field{display:flex;flex-direction:column;gap:4px}.mk-field>span{font-size:12px;color:var(--muted)}.mk-field .day-input{width:100%}.mk-block{border:1px solid var(--line);border-radius:12px;padding:10px;margin-top:8px;background:var(--surface-2)}.mk-block-head{justify-content:space-between;margin-bottom:6px;font-size:12px}.mk-block-head,.mk-send-row{display:flex;align-items:center}.mk-send-row{flex-wrap:wrap;gap:8px}.mk-send-row .day-input[type=datetime-local]{flex:1 1 200px;min-width:180px}.mk-block textarea.day-input{width:100%;resize:vertical;font:inherit;line-height:1.5}.mk-funnel{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:6px;gap:6px;margin:12px 0}.mk-funnel-step{display:flex;flex-direction:column;align-items:center;gap:2px;padding:10px 4px;border-radius:12px;background:var(--surface-2)}.mk-funnel-n{font-family:var(--font-heading);font-size:20px;font-weight:800}.mk-funnel-l{font-size:11px;color:var(--muted)}.so-dialog{max-width:640px;max-height:86vh;display:flex;flex-direction:column}.so-body{overflow-y:auto;flex:1 1}.so-h{margin:12px 0 6px;font-size:14px}.so-chip{font-size:14px;padding:6px 12px}.so-chip.out{text-decoration:line-through;opacity:.5}.nav-link{margin-left:6px;text-decoration:none;opacity:.75;transition:transform .12s var(--ease-out),opacity .16s var(--ease-out);display:inline-block}.nav-link:hover{opacity:1}.nav-link:active{transform:scale(.9)}.rt-dialog{max-width:520px;max-height:84vh;display:flex;flex-direction:column}.rt-body{overflow-y:auto;flex:1 1;margin:10px 0}.rt-row{display:flex;align-items:flex-start;gap:10px;padding:9px 8px;border-radius:10px;cursor:pointer;border:1px solid transparent;transition:background .16s var(--ease-out)}.rt-row:hover{background:var(--surface-2)}.rt-row.on{background:var(--brand-tint);border-color:var(--line)}.rt-line1{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:14px}.rt-cap{border:1px solid var(--line);border-radius:999px;padding:1px 8px}.rt-cap,.rt-time{font-size:12px;color:var(--muted)}.rt-time{margin-left:auto}.rt-time.sched{color:var(--warn);font-weight:600}.rt-addr{font-size:12px;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cassa-dlv{display:flex;flex-direction:column;gap:8px;margin-top:8px}.cassa-zone{font-size:12.5px;margin:0;padding:6px 10px;border-radius:9px}.cassa-zone.ok{color:var(--ok);background:var(--ok-bg)}.cassa-zone.bad{color:var(--warn);background:var(--warn-bg);justify-content:space-between}.cassa-zone.bad,.kds-recent{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.kds-recent{position:-webkit-sticky;position:sticky;bottom:0;padding:8px 14px;background:var(--surface);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border-top:1px solid var(--line)}.kds-sum-row{padding:8px 0;border-bottom:1px dashed var(--line)}.kds-sum-main{font-size:16px}.kds-sum-sub{font-size:13px;color:var(--muted);padding-left:26px}.kds-allerg{font-size:12px;color:var(--warn)}.rk-row{background:none;border:none;width:100%;text-align:left;cursor:pointer;font:inherit;color:inherit}.rk-delta{font-size:11px;border-radius:999px;padding:1px 7px;font-weight:700;margin-left:4px}.rk-delta.up{color:var(--ok);background:var(--ok-bg)}.rk-delta.down{color:var(--danger);background:rgba(192,57,43,.12)}.rk-delta.new{color:var(--brand);background:var(--brand-tint)}.rk-delta.flat{color:var(--muted);background:var(--surface-2);font-weight:500}.rk-spark{padding:6px 8px 10px}.rk-spark svg{width:100%;height:56px;display:block}.rk-spark rect{fill:var(--brand);opacity:.85}.rk-spark rect.z{fill:var(--muted);opacity:.35}.rk-spark-axis{display:flex;justify-content:space-between;font-size:11px;color:var(--muted);margin-top:2px}.printer-banner{position:-webkit-sticky;position:sticky;top:0;z-index:25;background:var(--danger);color:#fff;text-align:center;font-weight:700;font-size:14px;padding:8px 12px}