:root{--ink:#12201c;--ink-soft:#2a3b35;--surface:#eef2ef;--surface-2:#f7f9f7;--panel:#fff;--line:#d5ddd8;--muted:#5f7169;--accent:#c45c26;--accent-deep:#9a4318;--teal:#1f6b5c;--teal-soft:#d8ebe5;--warn:#b7791f;--warn-soft:#f6e7c8;--danger:#b42318;--danger-soft:#f8d7d3;--ok:#1f7a45;--ok-soft:#d8f0e2;--field-readonly-bg:#dce4df;--field-readonly-fg:#4a5c55;--field-readonly-line:#b7c4bd;--scrollbar-size:6px;--scrollbar-thumb:color-mix(in srgb, var(--teal) 42%, #9aaba3);--scrollbar-thumb-hover:color-mix(in srgb, var(--teal) 68%, #7a8c84);--shadow:0 18px 40px #12201c14;--radius:18px;--touch-min:44px;--font-display:"Outfit", "Source Sans 3", system-ui, sans-serif;--font-body:"Source Sans 3", "Segoe UI", system-ui, sans-serif;--font-arabic:"IBM Plex Sans Arabic", "Noto Sans Arabic", "Source Sans 3", sans-serif;color:var(--ink);background:var(--surface);font-family:var(--font-body);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased}@supports not (color: color-mix(in srgb, red 50%, blue)){:root{--scrollbar-thumb:#669085;--scrollbar-thumb-hover:#3c7669}}.mesa-req,label>span>i{color:var(--danger,#b42318);margin-inline-start:.15em;font-style:normal;font-weight:800}*{box-sizing:border-box;scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) transparent}::-webkit-scrollbar{width:var(--scrollbar-size);height:var(--scrollbar-size)}::-webkit-scrollbar-button{width:0;height:0;display:none}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);background-clip:padding-box;border:2px solid #0000;border-radius:999px}::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover);background-clip:padding-box;border:2px solid #0000}::-webkit-scrollbar-corner{background:0 0}html,body,#root{max-width:100%;height:100%;overflow:hidden}body{background:radial-gradient(circle at 12% -10%, #1f6b5c29, transparent 42%), radial-gradient(circle at 88% 0%, #c45c261f, transparent 36%), linear-gradient(180deg, #e8eeea 0%, var(--surface) 48%, #e6ece8 100%);min-width:320px;margin:0}html[lang=ar],html[dir=rtl],html[lang=ar] .side-brand,html[lang=ar] h1,html[lang=ar] h2,html[lang=ar] h3,html[dir=rtl] .side-brand,html[dir=rtl] h1,html[dir=rtl] h2,html[dir=rtl] h3{font-family:var(--font-arabic)}.mesa-touch{min-height:var(--touch-min);min-width:var(--touch-min)}.mesa-ltr-nums{direction:ltr;unicode-bidi:isolate}.mesa-ar-field{flex-direction:column;gap:.35rem;width:100%;display:flex}.mesa-ar-field-meta{color:var(--muted);justify-content:space-between;align-items:center;gap:.5rem;font-size:.85rem;display:flex}.mesa-ar-mode{border:1px solid var(--line);background:var(--surface-2);color:var(--teal);border-radius:999px;padding:.15rem .55rem;font-size:.75rem;font-weight:700}.mesa-ar-field.is-ar input,.mesa-ar-field.is-ar textarea{font-family:var(--font-arabic);text-align:right;direction:rtl;unicode-bidi:plaintext;padding-inline:1rem 1.05rem}.mesa-branch-select{align-items:center;display:inline-flex}.mesa-select{min-width:0;display:block;position:relative}.mesa-select-field{width:100%}.mesa-select-trigger{appearance:none;width:auto;max-width:100%;font:inherit;cursor:pointer;text-align:start;justify-content:space-between;align-items:center;gap:.55rem;display:inline-flex}.mesa-select-trigger:disabled{cursor:not-allowed;opacity:.65}.mesa-select-value{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.mesa-select-caret{opacity:.9;flex:none;width:1.05rem;height:1.05rem;margin-inline-start:.15rem;transition:transform .16s}.mesa-select.open .mesa-select-caret{transform:rotate(180deg)}.mesa-select-field .mesa-select-trigger{width:100%;min-height:var(--touch-min);color:var(--ink);background:#fff;border:0;border-radius:12px;padding:.7rem .85rem;font-weight:650;display:flex;box-shadow:inset 0 0 0 1px #d8e2dc}.mesa-select-field.open .mesa-select-trigger,.mesa-select-field .mesa-select-trigger:focus-visible{outline:none;box-shadow:inset 0 0 0 1.5px #0f766e,0 0 0 3px #0f766e1f}.mesa-select-chrome{z-index:5;flex-direction:column;align-items:stretch;width:max-content;min-width:0;max-width:min(18rem,42vw);display:inline-flex;position:relative}.mesa-select-chrome.open{z-index:40}.mesa-select-chrome .mesa-select-trigger{color:#fff;background:#ffffff29;border:1px solid #ffffff47;border-radius:4px;justify-content:space-between;align-items:center;gap:.65rem;width:100%;min-width:0;min-height:36px;padding:0 .5rem 0 .7rem;font-size:.88rem;font-weight:700;display:inline-flex}.mesa-select-chrome .mesa-select-value{flex:auto;min-width:0}.mesa-select-chrome .mesa-select-caret{opacity:1;flex:none;width:1.1rem;height:1.1rem}.mesa-select-chrome .mesa-select-trigger:hover,.mesa-select-chrome .mesa-select-trigger:focus-visible{background:#ffffff3d;outline:none}.topbar-actions .mesa-select-field{width:auto;min-width:11rem}.topbar-actions .mesa-select-field .mesa-select-trigger{border-radius:8px;min-width:11rem}.mesa-select-menu{z-index:220;color:var(--ink);box-sizing:border-box;background:#fff;border:1px solid #e2eae5;border-radius:12px;grid-template-rows:auto minmax(0,1fr);max-height:280px;margin:0;padding:.4rem;list-style:none;display:grid;position:fixed;overflow:hidden;box-shadow:0 14px 32px #12282029}.mesa-select-menu-chrome{border:1px solid var(--line);border-radius:12px;padding:.4rem;box-shadow:0 14px 32px #0a181438}.mesa-select-menu-anchored{z-index:50;min-width:14rem;top:calc(100% + 4px);left:0;width:max(100%,14rem)!important;max-width:min(20rem,100vw - 1rem)!important;position:absolute!important}.mesa-select-search{box-shadow:none;background:#f4f7f5;border:1px solid #e4ebe7;border-radius:10px;align-items:center;gap:.4rem;margin:0 0 .3rem;padding:.4rem .6rem;display:flex}.mesa-select-search:focus-within{border-color:var(--teal);box-shadow:0 0 0 3px color-mix(in srgb, var(--teal) 16%, transparent);background:#fff}@supports not (color: color-mix(in srgb, red 50%, blue)){.mesa-select-search:focus-within{box-shadow:0 0 0 3px rgba(31, 107, 92, 0.16)}}.mesa-select-search svg{width:.9rem;height:.9rem;color:var(--muted);flex-shrink:0}.mesa-select-search input{min-width:0;font:inherit;color:var(--ink);background:0 0;border:0;outline:none;flex:1;padding:.2rem 0;font-size:.84rem}.mesa-select-search input::placeholder{color:var(--muted)}.mesa-select-list{min-height:0;max-height:210px;margin:0;padding:0;list-style:none;overflow:auto}.mesa-select-empty{color:var(--muted);padding:.5rem .55rem;font-size:.8rem}.mesa-select-option{text-align:start;width:100%;color:inherit;font:inherit;cursor:pointer;white-space:nowrap;text-overflow:ellipsis;background:0 0;border:0;border-radius:9px;min-height:2.15rem;padding:.5rem .65rem;font-size:.84rem;font-weight:650;display:block;overflow:hidden}.mesa-select-option.active{background:color-mix(in srgb, var(--teal) 12%, #fff);color:#0f766e}@supports not (color: color-mix(in srgb, red 50%, blue)){.mesa-select-option.active{background:#e4edeb}}.mesa-select-option.selected{color:#fff;background:#0f766e;font-weight:750}.mesa-select-option.selected.active{color:#fff;background:#0f766e}html[dir=rtl] .mesa-select-trigger{text-align:start}.mesa-branch-select select{min-height:var(--touch-min);border-radius:999px;min-width:10rem;padding-inline:.75rem}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.mesa-sync-chip{letter-spacing:.01em;white-space:nowrap;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:999px;align-items:center;gap:.35rem;padding:.25rem .65rem;font-size:.72rem;font-weight:600;transition:opacity .15s;display:inline-flex}.mesa-sync-chip:hover{opacity:.8}.mesa-sync-dot{background:currentColor;border-radius:50%;flex-shrink:0;width:.5rem;height:.5rem;display:inline-block}.mesa-sync-chip.online{color:var(--ok);background:var(--ok-soft);border-color:#0000}.mesa-sync-chip.offline{color:var(--warn);background:var(--warn-soft);border-color:#0000}.mesa-sync-chip.syncing{color:var(--teal);background:var(--teal-soft);border-color:#0000}.mesa-sync-chip.poison{color:var(--danger,#b42318);background:var(--danger-soft,#fee4e2);border-color:#0000}@keyframes mesa-sync-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.55;transform:scale(.85)}}@media (width<=1279px){.zk-settings-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=767px){.zk-settings-grid{grid-template-columns:1fr}.app-shell.counter-mode .main-stage{overflow:auto}.qs-layout,.dt-layout,.dl-layout{grid-template-columns:1fr!important}}button,input{font:inherit}button{cursor:pointer}input[type=checkbox]{--mesa-check-size:1.15rem;appearance:none;width:var(--mesa-check-size);height:var(--mesa-check-size);min-width:var(--mesa-check-size);min-height:var(--mesa-check-size);vertical-align:middle;border:1.5px solid color-mix(in srgb, var(--teal) 38%, var(--line));cursor:pointer;background-color:#fff;background-position:50%;background-repeat:no-repeat;background-size:.72rem .72rem;border-radius:5px;flex-shrink:0;margin:0;transition:border-color .15s,background-color .15s,box-shadow .15s,transform .12s;position:relative;box-shadow:inset 0 1px 1px #12201c0a}@supports not (color: color-mix(in srgb, red 50%, blue)){input[type=checkbox]{border:1.5px solid #90b2a9}}input[type=checkbox]:hover:not(:disabled){border-color:var(--teal);box-shadow:inset 0 1px 1px #12201c0a, 0 0 0 3px color-mix(in srgb, var(--teal) 14%, transparent)}@supports not (color: color-mix(in srgb, red 50%, blue)){input[type=checkbox]:hover:not(:disabled){box-shadow:inset 0 1px 1px #12201c0a, 0 0 0 3px rgba(31, 107, 92, 0.14)}}input[type=checkbox]:focus{outline:none}input[type=checkbox]:focus-visible{border-color:var(--teal);box-shadow:inset 0 1px 1px #12201c0a, 0 0 0 3px color-mix(in srgb, var(--teal) 22%, transparent)}@supports not (color: color-mix(in srgb, red 50%, blue)){input[type=checkbox]:focus-visible{box-shadow:inset 0 1px 1px #12201c0a, 0 0 0 3px rgba(31, 107, 92, 0.22)}}input[type=checkbox]:checked{background-color:#1f9a52;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M3.2 8.2l3.1 3.1 6.5-6.8' stroke='%23fff' stroke-width='2.25' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-size:.78rem .78rem;border-color:#178a48;box-shadow:inset 0 1px #ffffff38,0 1px 2px #12201c1f}input[type=checkbox]:checked:hover:not(:disabled){box-shadow:inset 0 1px 0 #ffffff38, 0 0 0 3px color-mix(in srgb, var(--ok) 18%, transparent);background-color:#1b8a4c;border-color:#147a3f}@supports not (color: color-mix(in srgb, red 50%, blue)){input[type=checkbox]:checked:hover:not(:disabled){box-shadow:inset 0 1px 0 #ffffff38, 0 0 0 3px rgba(31, 122, 69, 0.18)}}input[type=checkbox]:indeterminate{background-color:#1f9a52;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M3.5 8h9' stroke='%23fff' stroke-width='2.25' stroke-linecap='round'/%3E%3C/svg%3E");background-size:.78rem .78rem;border-color:#178a48;box-shadow:inset 0 1px #ffffff38,0 1px 2px #12201c1f}input[type=checkbox]:active:not(:disabled){transform:scale(.94)}input[type=checkbox]:disabled{opacity:.42;cursor:not-allowed;box-shadow:none;background-color:var(--field-readonly-bg);border-color:var(--field-readonly-line)}input[type=checkbox]:disabled:checked,input[type=checkbox]:disabled:indeterminate{background-color:color-mix(in srgb, var(--ok) 55%, #9aaba3);opacity:.55;border-color:#0000}@supports not (color: color-mix(in srgb, red 50%, blue)){input[type=checkbox]:disabled:checked,input[type=checkbox]:disabled:indeterminate{background-color:#56906f}}input[type=radio]{--mesa-radio-size:1.15rem;appearance:none;width:var(--mesa-radio-size);height:var(--mesa-radio-size);min-width:var(--mesa-radio-size);min-height:var(--mesa-radio-size);vertical-align:middle;border:1.5px solid color-mix(in srgb, var(--teal) 38%, var(--line));cursor:pointer;background:#fff;border-radius:50%;flex-shrink:0;margin:0;transition:border-color .15s,background-color .15s,box-shadow .15s;box-shadow:inset 0 1px 1px #12201c0a}@supports not (color: color-mix(in srgb, red 50%, blue)){input[type=radio]{border:1.5px solid #90b2a9}}input[type=radio]:hover:not(:disabled){border-color:var(--teal);box-shadow:inset 0 1px 1px #12201c0a, 0 0 0 3px color-mix(in srgb, var(--teal) 14%, transparent)}@supports not (color: color-mix(in srgb, red 50%, blue)){input[type=radio]:hover:not(:disabled){box-shadow:inset 0 1px 1px #12201c0a, 0 0 0 3px rgba(31, 107, 92, 0.14)}}input[type=radio]:focus{outline:none}input[type=radio]:focus-visible{border-color:var(--teal);box-shadow:inset 0 1px 1px #12201c0a, 0 0 0 3px color-mix(in srgb, var(--teal) 22%, transparent)}@supports not (color: color-mix(in srgb, red 50%, blue)){input[type=radio]:focus-visible{box-shadow:inset 0 1px 1px #12201c0a, 0 0 0 3px rgba(31, 107, 92, 0.22)}}input[type=radio]:checked{background:radial-gradient(circle,#fff 0 .28rem,#0000 .3rem),#1f9a52;border-color:#178a48;box-shadow:inset 0 1px #ffffff38,0 1px 2px #12201c1f}input[type=radio]:disabled{opacity:.42;cursor:not-allowed;box-shadow:none;background-color:var(--field-readonly-bg);border-color:var(--field-readonly-line)}input[readonly]:not([type=checkbox],[type=radio],[type=button],[type=submit],[type=reset],[type=hidden]),textarea[readonly],input:disabled:not([type=checkbox],[type=radio],[type=button],[type=submit],[type=reset],[type=hidden]),textarea:disabled,select:disabled{cursor:default;opacity:1;border-color:var(--field-readonly-line);background-color:var(--field-readonly-bg)!important;color:var(--field-readonly-fg)!important;box-shadow:inset 0 0 0 1px var(--field-readonly-line)!important}input[readonly]:focus,textarea[readonly]:focus,input:disabled:focus,textarea:disabled:focus,select:disabled:focus{outline:none;box-shadow:inset 0 0 0 1px var(--field-readonly-line)!important}.mesa-select-trigger:disabled,.mesa-select-field .mesa-select-trigger:disabled{opacity:1;cursor:not-allowed;box-shadow:inset 0 0 0 1px var(--field-readonly-line);background:var(--field-readonly-bg)!important;color:var(--field-readonly-fg)!important}a{color:inherit;text-decoration:none}.app-shell{grid-template-columns:92px minmax(0,1fr);width:100%;max-width:100%;height:100%;animation:.42s both fade-in;display:grid;overflow:hidden}.side-nav{color:#f3f7f5;background:linear-gradient(#15241f 0%,#1a2e28 100%);flex-direction:column;gap:1rem;height:100%;min-height:0;padding:1.1rem .75rem;display:flex;overflow:hidden}.brand{border-bottom:1px solid #ffffff14;place-items:center;gap:.35rem;padding:.55rem .2rem 1rem;display:grid}.brand-mark{background:var(--teal);color:#fff;border-radius:12px;place-items:center;width:46px;height:46px;display:grid;box-shadow:0 8px 18px #1f6b5c59}.brand-mark-letters{font-family:var(--font-body);letter-spacing:.06em;font-size:.84rem;font-weight:800;line-height:1;translate:.03em}.brand>span{letter-spacing:.04em;text-align:center;color:#f3f7f5c7;-webkit-line-clamp:2;-webkit-box-orient:vertical;max-width:6.5rem;font-size:.68rem;font-weight:700;line-height:1.25;display:-webkit-box;overflow:hidden}.brand-mark-img{object-fit:contain;background:#fff;padding:4px}.side-meta{text-align:center;color:#f3f7f58c;border-top:1px solid #ffffff14;gap:.1rem;padding:.8rem .35rem .2rem;font-size:.7rem;display:grid}.side-meta strong,.side-meta span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.side-meta strong{color:#f3f7f5e0;font-weight:700}.nav-links{scrollbar-width:none;flex-direction:column;flex:1;gap:.45rem;min-height:0;display:flex;overflow-y:auto}.nav-links::-webkit-scrollbar{width:0;height:0;display:none}.nav-link{color:#f3f7f5b8;border-radius:16px;place-items:center;gap:.35rem;padding:.85rem .4rem;transition:background .18s,color .18s,transform .18s;display:grid;position:relative}.nav-link strong{letter-spacing:.04em;text-transform:uppercase;font-size:.68rem;font-weight:600}.nav-link svg{width:22px;height:22px}.nav-link:hover{color:#fff;background:#ffffff0f;transform:translateY(-1px)}.nav-link.active{color:#fff;background:#1f6b5c73;box-shadow:inset 0 0 0 1px #d8ebe52e}.main-stage{min-width:0;height:100%;min-height:0;padding:1.1rem 1.2rem 1.4rem;overflow:hidden auto}.topbar{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;animation:.52s both rise;display:flex}.topbar h1{font-family:var(--font-display);letter-spacing:-.03em;margin:0;font-size:clamp(1.45rem,2vw,1.9rem)}.topbar p{color:var(--muted);margin:.2rem 0 0;font-size:.92rem}.topbar-actions{flex-wrap:wrap;align-items:center;gap:.65rem;display:flex}.chip,.btn{border:0;border-radius:999px;align-items:center;gap:.45rem;padding:.65rem 1rem;transition:transform .16s,box-shadow .16s,background .16s;display:inline-flex}.chip{color:var(--ink-soft);box-shadow:inset 0 0 0 1px var(--line);background:#ffffffb8;font-size:.85rem}.btn{font-weight:700}.btn:hover{transform:translateY(-1px)}.btn-primary{background:var(--accent);color:#fff;box-shadow:0 10px 22px #c45c2647}.btn-primary:hover{background:var(--accent-deep)}.btn-secondary{background:var(--ink);color:#fff}.btn-ghost{color:var(--ink-soft);box-shadow:inset 0 0 0 1px var(--line);background:0 0}.btn-teal{background:var(--teal);color:#fff}.panel{background:var(--panel);border-radius:var(--radius);box-shadow:var(--shadow);border:1px solid #d5ddd8cc}.page-grid{gap:1rem;display:grid}.floor-only-layout{grid-template-columns:1fr}.ticket-backdrop{overscroll-behavior:none;justify-content:center;align-items:center;padding:2vh 2vw;overflow:hidden;display:flex!important}.ticket-popup{border-radius:22px;flex-direction:column;gap:0;overflow:hidden;width:96vw!important;max-width:1400px!important;height:min(90vh,860px)!important;max-height:92vh!important;padding:0!important;display:flex!important}.ticket-popup-header{border-bottom:1px solid var(--line);flex-shrink:0;justify-content:space-between;align-items:center;gap:1rem;padding:.55rem 1rem;display:flex}.ticket-popup-title{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.ticket-popup-title h2{margin:0;font-size:1.2rem}.ticket-meta-inline{color:var(--muted);flex-wrap:wrap;align-items:center;gap:.5rem;font-size:.8rem;display:flex}.ticket-meta-inline strong{color:var(--ink)}.ticket-popup-body{flex:1;grid-template-columns:1fr 300px;min-height:0;display:grid;overflow:hidden}.ticket-popup-menu{border-right:1px solid var(--line);flex-direction:column;min-width:0;min-height:0;padding:0;display:flex;overflow:hidden}.mp-root{flex-direction:column;height:100%;display:flex;overflow:hidden}.mp-toolbar{border-bottom:1px solid var(--line);background:linear-gradient(180deg, color-mix(in srgb, var(--teal) 6%, #fff) 0%, #fff 100%);flex-shrink:0;grid-template-columns:minmax(0,1.35fr) minmax(12.5rem,.85fr);align-items:stretch;gap:.5rem;padding:.55rem .7rem;display:grid}@supports not (color: color-mix(in srgb, red 50%, blue)){.mp-toolbar{background:linear-gradient(180deg, #f2f6f5 0%, #fff 100%)}}.mp-search-field{width:100%;min-width:0;box-shadow:inset 0 0 0 1px var(--line);background:#fff;border-radius:12px;align-items:center;gap:.45rem;padding:0 .75rem 0 .7rem;display:flex}.mp-search-field svg{width:1rem;height:1rem;color:var(--teal);opacity:.85;flex-shrink:0}.mp-search-field:focus-within{box-shadow:inset 0 0 0 1.5px var(--teal)}.mp-code-row{grid-template-columns:minmax(0,1fr) auto;align-items:stretch;gap:.4rem;min-width:0;display:grid}.mp-plu-field{width:100%;min-width:0;box-shadow:inset 0 0 0 1px var(--line);background:#fff;border-radius:12px;align-items:center;gap:.4rem;padding:0 .55rem;display:flex}.mp-plu-field>span{letter-spacing:.06em;color:var(--teal);flex-shrink:0;font-size:.62rem;font-weight:800}.mp-plu-field:focus-within{box-shadow:inset 0 0 0 1.5px var(--teal)}.mp-add-code{border-radius:12px;justify-content:center;min-width:3.6rem;padding:.45rem .75rem}.mp-code-row .code-msg{grid-column:1/-1;margin:0;font-size:.72rem}.mp-body{flex:1;grid-template-columns:11.25rem minmax(0,1fr);min-height:0;display:grid;overflow:hidden}.mp-nav{border-right:1px solid var(--line);background:var(--surface-2);flex-direction:column;gap:.12rem;min-width:0;padding:.35rem .3rem;display:flex;overflow:hidden auto}.mp-nav-block{gap:.08rem;min-width:0;display:grid}.mp-nav-subs{border-inline-start:2px solid color-mix(in srgb, var(--teal) 28%, var(--line));gap:.08rem;min-width:0;margin:.05rem 0 .2rem .45rem;padding-inline-start:.4rem;display:grid}@supports not (color: color-mix(in srgb, red 50%, blue)){.mp-nav-subs{border-inline-start:2px solid #a2bdb5}}.mp-main-btn{text-align:left;width:100%;min-width:0;color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:10px;align-items:center;gap:.35rem;padding:.42rem .4rem;font-size:.74rem;font-weight:700;transition:background .15s,color .15s;display:flex}.mp-main-btn>span:not(.mp-sub-count){text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.mp-cat-ico,.mp-main-btn svg{flex:0 0 1.05rem;width:1.05rem;height:1.05rem;display:block}.mp-main-btn .mp-sub-count{flex-shrink:0;margin-inline-start:auto}.mp-main-btn:hover{background:var(--surface);color:var(--ink)}.mp-main-btn.active{background:var(--teal-soft);color:var(--teal)}.mp-nav-split{background:var(--line);height:1px;margin:.25rem .2rem}.mp-sub-cats{border-right:1px solid var(--line);background:var(--surface-2);flex-direction:column;gap:.15rem;padding:.35rem .25rem;display:flex;overflow-y:auto}.mp-sub-btn{text-align:left;width:100%;min-width:0;color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:10px;justify-content:space-between;align-items:center;gap:.3rem;padding:.36rem .4rem;font-size:.7rem;font-weight:600;transition:background .15s,color .15s;display:flex}.mp-sub-btn:hover{background:var(--teal-soft);color:var(--ink)}.mp-sub-btn.active{background:var(--teal-soft);color:var(--teal);font-weight:800}.mp-sub-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.mp-sub-count{background:var(--line);color:var(--muted);border-radius:20px;flex-shrink:0;padding:0 6px;font-size:.65rem}.mp-sub-btn.active .mp-sub-count{background:var(--teal);color:#fff}.mp-items{flex-direction:column;gap:.55rem;padding:.45rem .5rem .7rem;display:flex;overflow-y:auto}.mp-group{flex-direction:column;gap:0;display:flex}.mp-group-label{text-transform:uppercase;letter-spacing:.08em;color:var(--teal);background:var(--teal-soft);border-radius:7px;margin-bottom:.35rem;padding:.22rem .55rem;font-size:.64rem;font-weight:800}.mp-grid{grid-template-columns:repeat(auto-fill,minmax(188px,1fr));gap:.4rem;display:grid}.mp-item-wrap{border:1px solid var(--line);background:#fff;border-radius:12px;grid-template-columns:1fr auto auto;align-items:center;min-height:0;transition:border-color .12s,box-shadow .12s;display:grid;position:relative;overflow:hidden}.mp-item-wrap.is-popular{padding-top:1.15rem}.mp-item-badge{z-index:2;pointer-events:none;letter-spacing:.02em;border-radius:999px;padding:.22rem .42rem;font-size:.58rem;font-weight:800;line-height:1;position:absolute;top:.3rem;right:.3rem}.mp-item-badge.popular{background:var(--warn);color:#fff;box-shadow:0 1px #12201c14}.mp-note-btn,.mp-add-btn{z-index:2;position:relative}.mp-item-wrap:last-child{border-bottom:1px solid var(--line)}.mp-item-wrap:hover{border-color:color-mix(in srgb, var(--teal) 40%, var(--line));box-shadow:0 4px 10px #1f6b5c14}@supports not (color: color-mix(in srgb, red 50%, blue)){.mp-item-wrap:hover{border-color:#8cafa6}}.mp-item{text-align:left;cursor:pointer;background:0 0;border:none;grid-template-rows:auto auto;grid-template-columns:2.05rem 1fr;align-items:center;gap:.06rem .4rem;min-width:0;padding:.38rem .42rem;display:grid}.mp-item-thumb{width:2.05rem;height:2.05rem;color:var(--teal);background:var(--teal-soft);border-radius:8px;grid-area:1/1/span 2;place-items:center;font-size:.58rem;font-weight:800;display:grid;overflow:hidden}.mp-item-thumb.has-photo{background:#eef3f0}.mp-item-thumb img{object-fit:cover;width:100%;height:100%;display:block}.mp-item .item-code{display:none}.mp-item strong{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;grid-area:1/2;min-width:0;font-size:.78rem;line-height:1.2;overflow:hidden}.mp-item-meta{grid-area:2/2;align-items:center;gap:.28rem;min-width:0;display:flex}.mp-item-price{color:var(--teal);font-size:.72rem;font-weight:800}.mp-item-tag{border-radius:4px;padding:1px 6px;font-size:.58rem;font-weight:700;display:inline-block}.mp-item-tag.popular{background:var(--warn-soft);color:var(--warn)}.mp-item-tag.custom{background:var(--teal-soft);color:var(--teal)}.mp-add-btn{background:var(--teal);color:#fff;cursor:pointer;border:none;border-radius:8px;flex-shrink:0;width:26px;height:26px;margin-right:.3rem;font-size:1.05rem;line-height:1;transition:background .15s}.mp-add-btn:hover{background:var(--teal-soft);color:var(--teal)}.mp-note-btn{border:1px solid var(--line);color:var(--muted);cursor:pointer;white-space:nowrap;background:0 0;border-radius:6px;margin-right:.5rem;padding:2px 7px;font-size:.65rem;transition:all .12s}.mp-note-btn:hover{background:var(--teal-soft);color:var(--teal);border-color:var(--teal)}.ticket-popup-order{flex-direction:column;min-width:0;min-height:0;display:flex;overflow:hidden}.ticket-popup-order .order-list{flex:1;min-height:0;padding:.45rem .55rem .55rem;overflow-y:auto}.ticket-popup-order .ticket-footer{border-top:1px solid var(--line);flex-shrink:0;padding:.75rem 1rem}.cashier-layout{grid-template-columns:minmax(0,1.35fr) minmax(320px,.9fr);min-height:calc(100vh - 110px)}.app-shell:has(.zk-ta) .main-stage{background:#eef3f0;flex-direction:column;padding:0;display:flex;overflow:auto}.ta-page{flex-direction:column;flex:1 0 auto;gap:.55rem;width:auto;min-width:0;max-width:100%;margin:.55rem .8rem;padding-bottom:.85rem;display:flex;overflow:visible}.zk-ta{background:radial-gradient(700px 320px at 0 0,#c45c261a,#0000 55%),radial-gradient(560px 280px at 100% 12%,#1f6b5c1a,#0000 50%),linear-gradient(#eef3f0 0%,#e6ece8 100%);flex-direction:column;flex:1 0 auto;width:100%;min-width:0;max-width:100%;height:auto;min-height:100%;display:flex;overflow:visible}.zk-ta>.zk-hub-foot{z-index:5;flex-shrink:0;margin-top:auto;position:sticky;bottom:0}.zk-ta .zk-dash-header{min-width:0;margin:.55rem .8rem 0}.zk-ta .zk-dash-brand{color:inherit;min-width:0;text-decoration:none}.ta-ico{width:1.05rem;height:1.05rem;display:block}.ta-toolbar{color:#fffaf6;background:linear-gradient(135deg,#8a3d16 0%,#c45c26 52%,#d9783a 100%);border-radius:14px;justify-content:space-between;align-items:center;gap:.85rem;padding:.7rem .95rem;display:flex;box-shadow:0 8px 20px #8a3d162e}.ta-toolbar-brand{align-items:center;gap:.7rem;min-width:0;display:flex}.ta-toolbar-brand h1{font-family:var(--font-display);letter-spacing:-.03em;margin:0;font-size:1.2rem}.ta-toolbar-brand p{color:#fffaf6cc;margin:.1rem 0 0;font-size:.78rem}.ta-toolbar-stats{color:#fffaf6eb;flex-wrap:wrap;gap:.55rem;font-size:.78rem;font-weight:650;display:flex}.ta-toolbar-stats strong{font-family:var(--font-display);margin-inline-end:.15rem;font-size:.95rem}.ta-hero-mark{background:#ffffff29;border:1px solid #fff3;border-radius:12px;flex-shrink:0;place-items:center;width:2.5rem;height:2.5rem;display:grid}.ta-hero-mark .ta-ico{width:1.25rem;height:1.25rem}.ta-hero-actions{flex-wrap:wrap;align-items:center;gap:.45rem;display:flex}.ta-new-btn{align-items:center;gap:.35rem;display:inline-flex}.ta-link-btn{color:inherit;background:#ffffff24;border:1px solid #ffffff38;border-radius:999px;align-items:center;gap:.35rem;padding:.45rem .75rem;font-size:.8rem;font-weight:750;text-decoration:none;display:inline-flex}.ta-pill{background:#ffffff29;border-radius:999px;align-items:center;padding:.35rem .65rem;font-size:.74rem;font-weight:750;display:inline-flex}.ta-pill.closed{color:#fff;background:#781e1e73}.ta-rail{background:var(--panel);box-shadow:var(--shadow);border:1px solid #d5ddd8e6;border-radius:14px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.65rem;padding:.55rem .7rem;display:grid}.ta-rail-head{flex-shrink:0;align-items:center;gap:.4rem;display:flex}.ta-rail-head h2{white-space:nowrap;align-items:center;gap:.35rem;margin:0;font-size:.82rem;font-weight:800;display:inline-flex}.ta-rail-head h2 .ta-ico{color:#c45c26}.ta-rail-scroll{align-items:stretch;gap:.45rem;padding-bottom:2px;display:flex;overflow-x:auto}.ta-rail-card{appearance:none;text-align:start;cursor:pointer;min-width:10.5rem;max-width:13rem;font:inherit;color:inherit;background:#f8faf9;border:1px solid #d5ddd8f2;border-radius:12px;flex-shrink:0;align-items:center;gap:.5rem;padding:.45rem .65rem;display:flex}.ta-rail-card>:not(.ta-ticket-no){min-width:0}.ta-rail-copy{flex:1;gap:.12rem;min-width:0;display:grid}.ta-rail-copy strong{white-space:nowrap;text-overflow:ellipsis;font-size:.8rem;display:block;overflow:hidden}.ta-rail-amt{color:var(--ink);white-space:nowrap;font-size:.78rem;font-weight:800}.ta-rail-card.selected{background:linear-gradient(#f8ebe5 0%,#fff 75%);border-color:#c45c26;box-shadow:0 4px 12px #c45c261f}.ta-rail-add{appearance:none;border:1px dashed color-mix(in srgb, #c45c26 40%, var(--line));color:#c45c26;min-width:4.2rem;font:inherit;cursor:pointer;background:#fbf5f2;border-radius:12px;flex-shrink:0;place-items:center;gap:.15rem;padding:.45rem .55rem;font-size:.72rem;font-weight:800;display:grid}@supports not (color: color-mix(in srgb, red 50%, blue)){.ta-rail-add{border:1px dashed #cea991}}.ta-rail-add:disabled{opacity:.5;cursor:not-allowed}.ta-rail-empty{color:var(--muted);white-space:nowrap;align-self:center;padding:0 .4rem;font-size:.8rem}.ta-ticket-no{color:#c45c26;background:#f7e8e1;border-radius:10px;place-items:center;width:2.1rem;height:2.1rem;font-size:.72rem;font-weight:800;display:grid}.ta-work-panel{background:var(--panel);box-shadow:var(--shadow);border:1px solid #d5ddd8d9;border-radius:16px;flex-direction:column;min-width:0;min-height:0;padding:0;display:flex;overflow:visible;container:ta-work/inline-size}.ta-panel-head{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.55rem;display:flex}.ta-panel-head.compact{margin-bottom:.45rem;padding:0 .1rem}.ta-panel-head h2{align-items:center;gap:.4rem;margin:0;font-size:.92rem;font-weight:800;display:inline-flex}.ta-chip{color:#c45c26;border:1px solid color-mix(in srgb, #c45c26 22%, var(--line));background:#f8ebe5;border-radius:999px;align-items:center;gap:.3rem;padding:.22rem .55rem;font-size:.72rem;font-weight:750;display:inline-flex}@supports not (color: color-mix(in srgb, red 50%, blue)){.ta-chip{border:1px solid #d1c1b1}}.ta-chip.soft{color:var(--ink);border-color:var(--line);background:#f4f7f5}.ta-status{border-radius:999px;align-items:center;padding:.15rem .45rem;font-size:.68rem;font-style:normal;font-weight:800;display:inline-flex}.ta-status.muted{color:var(--muted);background:#eef1ef}.ta-status.amber{color:#c45c26;background:#f7e8e1}.ta-status.teal{background:color-mix(in srgb, var(--teal) 14%, #fff);color:var(--teal)}@supports not (color: color-mix(in srgb, red 50%, blue)){.ta-status.teal{background:#e0eae8}}.ta-status.held{color:#e67700;background:#fff3bf}.ta-rail-card.held{background:#fff9db;border-style:dashed;border-color:#ffe066}.ta-rail-card.held.selected{border-style:solid;box-shadow:0 0 0 2px #e6770040}.ta-stat-held{color:#e67700}.ta-tool.hold{color:#e67700;background:#fff9db;border-color:#ffe066}.ta-tool.hold:hover:not(:disabled){background:#ffec99}.ta-tool.hold:disabled{opacity:.45}.ta-empty{text-align:center;color:var(--muted);align-content:center;justify-items:center;gap:.45rem;padding:1.5rem 1rem;display:grid}.ta-empty.tall{flex:1;min-height:16rem}.ta-empty.inline{border:1px dashed var(--line);background:#f4f7f5;border-radius:12px;padding:.85rem}.ta-empty .ta-ico{color:#c45c26;opacity:.75;width:1.85rem;height:1.85rem}.ta-empty .btn .ta-ico{color:currentColor;opacity:1;width:1.05rem;height:1.05rem}.ta-empty strong{color:var(--ink);font-size:1rem}.ta-empty .btn{align-items:center;gap:.35rem;margin-top:.35rem;display:inline-flex}.ta-work-head{border-bottom:1px solid var(--line);flex-shrink:0;justify-content:space-between;gap:.85rem;padding:.75rem 1rem .65rem;display:flex}.ta-work-head h2{font-family:var(--font-display);letter-spacing:-.03em;margin:0;font-size:1.15rem}.ta-work-head h2 em{color:var(--muted);margin-inline-start:.3rem;font-size:.8rem;font-style:normal;font-weight:700}.ta-work-tags{flex-wrap:wrap;gap:.3rem;margin-top:.35rem;display:flex}.ta-work-tools{flex-wrap:wrap;align-content:start;gap:.35rem;display:flex}.ta-tool{appearance:none;border:1px solid var(--line);font:inherit;cursor:pointer;background:#f4f7f5;border-radius:999px;align-items:center;gap:.3rem;padding:.4rem .7rem;font-size:.78rem;font-weight:750;display:inline-flex}.ta-tool:hover{border-color:color-mix(in srgb, #c45c26 35%, var(--line))}@supports not (color: color-mix(in srgb, red 50%, blue)){.ta-tool:hover{border-color:#cfb09a}}.ta-tool.danger{color:var(--danger);background:var(--danger-soft);border-color:color-mix(in srgb, var(--danger) 28%, var(--line))}@supports not (color: color-mix(in srgb, red 50%, blue)){.ta-tool.danger{border-color:#cca9a2}}.ta-cancel-btn{color:var(--danger)!important}.ta-note{color:#8a3d16;border-bottom:1px solid color-mix(in srgb, #c45c26 18%, var(--line));background:#faf2ee;flex-shrink:0;margin:0;padding:.45rem 1rem;font-size:.82rem}@supports not (color: color-mix(in srgb, red 50%, blue)){.ta-note{border-bottom:1px solid #d2c6b8}}.ta-work-body{flex:1 0 auto;grid-template-rows:auto auto;grid-template-columns:minmax(0,1fr);min-height:0;display:grid}.ta-menu{border-bottom:1px solid var(--line);flex-direction:column;min-width:0;min-height:22rem;padding:.45rem .55rem;display:flex;overflow:visible}.ta-menu .mp-root{flex:1 0 auto;height:auto;min-height:20rem;overflow:visible}.ta-menu .mp-body{flex:1 0 auto;min-height:16rem;overflow:visible}.ta-menu .mp-items{flex:1 0 auto;overflow:visible}.ta-order{background:#f7faf8;flex-direction:column;min-width:0;min-height:0;padding:.55rem .65rem;display:flex;overflow:visible}.ta-order .ta-lines{flex:auto;min-height:3rem;max-height:none;overflow:visible}@container ta-work (width>=720px){.ta-work-body{grid-template-rows:auto;grid-template-columns:minmax(0,1.4fr) minmax(260px,340px);align-items:start}.ta-menu{border-bottom:0;border-inline-end:1px solid var(--line);min-height:24rem;padding:.55rem .65rem}.ta-order{max-height:none;position:sticky;top:.5rem}}@media (width>=900px){.ta-work-body{grid-template-rows:auto;grid-template-columns:minmax(0,1.4fr) minmax(280px,360px);align-items:start}.ta-menu{border-bottom:0;border-inline-end:1px solid var(--line);min-height:24rem;padding:.55rem .65rem}.ta-order{max-height:none;position:sticky;top:.5rem}.ta-order .ta-lines{max-height:none}}.ta-lines{flex:1;align-content:start;gap:.4rem;min-height:0;display:grid;overflow:auto}.ta-totals{border:1px solid var(--line);background:#fff;border-radius:12px;flex-shrink:0;gap:.3rem;margin-top:.55rem;padding:.65rem .7rem;display:grid}.ta-totals>div{justify-content:space-between;gap:.75rem;font-size:.86rem;display:flex}.ta-totals .grand{border-top:1px solid var(--line);font-weight:800;font-family:var(--font-display);margin-top:.15rem;padding-top:.4rem;font-size:1.02rem}.ta-actions{flex-shrink:0;gap:.4rem;margin-top:.55rem;display:grid}.ta-actions .btn{justify-content:center;align-items:center;gap:.35rem;display:inline-flex}@media (width<=1100px){.ta-toolbar-stats{display:none}}@media (width<=900px){.zk-ta .zk-dash-header{margin:.45rem .55rem 0}.ta-page{gap:.45rem;margin:.45rem .55rem}.ta-toolbar{flex-wrap:wrap;padding:.65rem .75rem}.ta-toolbar-brand h1{font-size:1.05rem}.ta-work-head{flex-wrap:wrap;padding:.65rem .75rem}.ta-work-body{grid-template-rows:auto auto;grid-template-columns:minmax(0,1fr)}.ta-menu{border-inline-end:0;border-bottom:1px solid var(--line);min-height:18rem}.ta-order{position:static}.ta-actions{grid-template-columns:1fr 1fr}.ta-actions .btn{min-height:2.6rem}}@media (width<=720px){.zk-ta .zk-dash-header{margin:.35rem .4rem 0}.ta-page{margin:.35rem .4rem}.ta-toolbar{gap:.55rem}.ta-hero-actions{width:100%}.ta-hero-actions .btn,.ta-link-btn{flex:auto;justify-content:center}.ta-rail{grid-template-columns:1fr;padding:.45rem .55rem}.ta-rail-head{justify-content:space-between}.ta-work-panel{border-radius:12px}.ta-actions{grid-template-columns:1fr}.ta-empty.tall{min-height:12rem;padding:1.1rem .75rem}}@supports not (container-type:inline-size){@media (width>=900px){.ta-work-body{grid-template-rows:auto;grid-template-columns:minmax(0,1.4fr) minmax(280px,360px);align-items:start}.ta-menu{border-bottom:0;border-inline-end:1px solid var(--line);min-height:24rem}.ta-order{position:sticky;top:.5rem}.ta-order .ta-lines{max-height:none}}}.floor-panel,.ticket-panel{padding:1rem;animation:.64s both rise}.ticket-panel{flex-direction:column;min-height:0;display:flex}.section-head{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.9rem;display:flex}.section-head h2{font-family:var(--font-display);letter-spacing:-.02em;margin:0;font-size:1.15rem}.legend{flex-wrap:wrap;gap:.55rem;display:flex}.legend span{color:var(--muted);align-items:center;gap:.35rem;font-size:.78rem;display:inline-flex}.dot{border-radius:50%;width:9px;height:9px}.dot.free{background:var(--ok)}.dot.occupied{background:var(--teal)}.dot.billing{background:var(--accent)}.dot.reserved{background:var(--warn)}.floor-sections{flex-direction:column;gap:1.35rem;display:flex}.floor-section-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:baseline;gap:.75rem;margin-bottom:.65rem;padding-bottom:.45rem;display:flex}.floor-section-head h3{font-family:var(--font-display);color:var(--ink);margin:0;font-size:1.05rem;font-weight:700}.floor-section-head span{color:var(--muted);font-size:.78rem;font-weight:600}.floor-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.85rem;display:grid}.floor-grid-wide{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}.table-tile{text-align:left;background:var(--surface-2);cursor:pointer;border:0;border-radius:16px;flex-direction:column;gap:.45rem;min-height:148px;padding:.9rem .95rem .8rem;transition:transform .16s,box-shadow .16s;animation:.42s both pop;display:flex;position:relative;box-shadow:inset 0 0 0 1px #12201c14}.table-tile:nth-child(2){animation-delay:40ms}.table-tile:nth-child(3){animation-delay:80ms}.table-tile:nth-child(4){animation-delay:.12s}.table-tile:nth-child(5){animation-delay:.16s}.table-tile:nth-child(6){animation-delay:.2s}.table-tile:hover{transform:translateY(-2px);box-shadow:0 10px 22px #12201c1a}.table-tile.selected{box-shadow:0 0 0 2px var(--teal), 0 10px 22px #12201c1f}.table-tile.free{background:#f3faf6}.table-tile.occupied{background:#e4f1ec}.table-tile.billing{background:#fff0e6}.table-tile.reserved{background:#fff7e6}.table-tile-top{justify-content:space-between;align-items:flex-start;gap:.4rem;display:flex}.table-tile .label{font-family:var(--font-display);letter-spacing:-.04em;color:var(--ink);font-size:1.65rem;font-weight:700;line-height:1}.table-tile-mid{flex-direction:column;flex:1;gap:.15rem;min-height:0;display:flex}.table-area{color:var(--ink-soft);font-size:.78rem;font-weight:700}.table-meta-row{color:var(--muted);flex-wrap:wrap;gap:.25rem;font-size:.72rem;display:flex}.table-time{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.72rem}.table-tile .table-foot{border-top:1px solid #12201c14;justify-content:space-between;align-items:baseline;gap:.4rem;margin-top:auto;padding-top:.45rem;display:flex}.table-tile .item-count{color:var(--teal);font-size:.75rem;font-weight:700}.table-tile .item-count.muted,.table-tile .amount.muted{color:var(--muted);font-weight:600}.table-tile .amount{color:var(--ink);font-variant-numeric:tabular-nums;margin-left:auto;font-size:.88rem;font-weight:800}.status-pill{text-transform:uppercase;letter-spacing:.04em;color:var(--ink-soft);white-space:nowrap;background:#ffffffbf;border-radius:999px;flex-shrink:0;padding:.22rem .45rem;font-size:.62rem;font-weight:800;position:static}.status-pill.free{color:#1f7a45;background:#d8f0e2}.status-pill.occupied{color:#fff;background:#1f6b5c}.status-pill.billing{color:#fff;background:#c45c26}.status-pill.reserved{color:#7a5a10;background:#f0d48a}.ticket-empty{text-align:center;color:var(--muted);flex:1;place-items:center;padding:2rem 1rem;display:grid}.ticket-empty strong{color:var(--ink);font-family:var(--font-display);margin-bottom:.35rem;font-size:1.2rem;display:block}.ticket-meta{background:var(--surface-2);border-radius:14px;justify-content:space-between;gap:.75rem;margin-bottom:.9rem;padding:.85rem .95rem;display:flex}.ticket-meta div span{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:.72rem;display:block}.ticket-meta div strong{font-size:1rem}.menu-tabs{flex-wrap:wrap;gap:.4rem;margin-bottom:.75rem;display:flex}.menu-tabs button{background:var(--surface);color:var(--muted);border:0;border-radius:999px;padding:.45rem .8rem;font-size:.82rem;font-weight:600}.menu-tabs button.active{background:var(--ink);color:#fff}.menu-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;max-height:220px;margin-bottom:.9rem;padding-right:.2rem;display:grid;overflow:auto}.menu-grid.dense{max-height:280px}.menu-advanced{gap:.55rem;margin-bottom:.65rem;display:grid}.menu-toolbar{grid-template-columns:1fr auto;gap:.45rem;display:grid}.quick-code-row{grid-template-columns:1fr auto;align-items:center;gap:.45rem;display:grid}.code-input{letter-spacing:.08em;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.code-msg{color:var(--teal);grid-column:1/-1;font-size:.8rem;font-weight:700}.menu-browser.advanced{grid-template-columns:132px 1fr;gap:.55rem;min-height:0;display:grid}.menu-cats{flex-direction:column;gap:.3rem;max-height:340px;padding-right:.15rem;display:flex;overflow:auto}.menu-cats button{text-align:left;background:var(--surface-2);box-shadow:inset 0 0 0 1px var(--line);border:0;border-radius:12px;justify-content:space-between;align-items:center;gap:.35rem;padding:.55rem .6rem;display:flex}.menu-cats button strong{font-size:.78rem}.menu-cats button span{color:var(--muted);font-size:.7rem;font-weight:700}.menu-cats button.active{background:var(--ink);color:#fff;box-shadow:none}.menu-cats button.active span{color:#ffffffb3}.cat-divider{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);padding:.35rem .2rem .1rem;font-size:.68rem}.menu-browse-main{gap:.4rem;min-width:0;display:grid}.alpha-bar{flex-wrap:wrap;gap:.2rem;display:flex}.alpha-bar button{background:var(--surface-2);width:26px;height:26px;color:var(--muted);border:0;border-radius:8px;font-size:.68rem;font-weight:700}.alpha-bar button.active{background:var(--teal);color:#fff}.alpha-bar button:disabled{opacity:.28;cursor:not-allowed}.menu-result-meta{color:var(--muted);justify-content:space-between;align-items:center;font-size:.78rem;display:flex}.item-code{color:var(--teal);letter-spacing:.04em;margin-bottom:.15rem;font-size:.68rem;font-style:normal;font-weight:700;display:block}@media (width<=720px){.menu-browser.advanced{grid-template-columns:1fr}.menu-cats{flex-direction:row;max-height:none;overflow-x:auto}.menu-cats button{min-width:108px}}.menu-item{text-align:left;background:var(--surface-2);box-shadow:inset 0 0 0 1px var(--line);border:0;border-radius:14px;width:100%;padding:.75rem;transition:transform .15s,background .15s}.menu-item-wrap{grid-template-columns:1fr auto;align-items:stretch;gap:.35rem;display:grid}.note-btn{box-shadow:inset 0 0 0 1px var(--line);color:var(--muted);background:#fff;border:0;border-radius:12px;padding:0 .55rem;font-size:.72rem;font-weight:700}.menu-item:hover{background:var(--teal-soft);transform:translateY(-1px)}.menu-item strong{font-size:.88rem;display:block}.menu-item span{color:var(--muted);font-size:.78rem}.order-list{flex-direction:column;flex:1;gap:.45rem;min-height:140px;margin-bottom:.85rem;display:flex;overflow:auto}.order-line{background:var(--surface-2);border-radius:14px;grid-template-columns:1fr auto;gap:.35rem .75rem;padding:.7rem .8rem;display:grid}.order-line .name{font-size:.9rem;font-weight:700}.order-line .sub{color:var(--muted);grid-column:1/-1;font-size:.75rem}.qty-controls{align-items:center;gap:.35rem;display:inline-flex}.qty-controls button{width:28px;height:28px;box-shadow:inset 0 0 0 1px var(--line);background:#fff;border:0;border-radius:8px;font-weight:700}.ticket-footer{border-top:1px solid var(--line);gap:.65rem;padding-top:.85rem;display:grid}.totals{gap:.25rem;display:grid}.totals div{color:var(--muted);justify-content:space-between;font-size:.88rem;display:flex}.totals .grand{color:var(--ink);margin-top:.2rem;font-size:1.15rem;font-weight:800}.action-row{grid-template-columns:1fr 1fr;gap:.55rem;display:grid}.action-row .btn{border-radius:14px;justify-content:center}.inventory-layout,.backoffice-layout{grid-template-columns:1.4fr .8fr}.app-shell:has(.zk-bo) .main-stage{background:#eef3f0;flex-direction:column;padding:0;display:flex;overflow:hidden}.zk-bo{background:radial-gradient(720px 340px at 0 0,#1f6b5c1f,#0000 55%),radial-gradient(520px 260px at 100% 8%,#c45c2614,#0000 50%),linear-gradient(#eef3f0 0%,#e6ece8 100%);grid-template-rows:auto minmax(0,1fr) auto;height:100%;min-height:100%;display:grid}.zk-bo .zk-dash-header{margin:.7rem .8rem 0}.zk-bo .zk-dash-brand{color:inherit;text-decoration:none}.bo-page{align-content:start;gap:.85rem;min-height:0;margin:.7rem .8rem;padding-bottom:.4rem;display:grid;overflow:auto}.bo-ico{width:1.1rem;height:1.1rem;display:block}.bo-hero{color:#f4faf8;background:linear-gradient(135deg,#1a4f45 0%,#1f6b5c 48%,#2a8573 100%);border-radius:16px;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.15rem;display:flex;box-shadow:0 10px 28px #1a4f4538}.bo-hero-copy{align-items:center;gap:.85rem;min-width:0;display:flex}.bo-hero-mark{background:#ffffff24;border:1px solid #ffffff2e;border-radius:14px;flex-shrink:0;place-items:center;width:3rem;height:3rem;display:grid}.bo-hero-mark .bo-ico{color:#fff;width:1.45rem;height:1.45rem}.bo-hero h1{font-family:var(--font-display);letter-spacing:-.03em;margin:0;font-size:1.45rem;font-weight:750}.bo-hero p{color:#f4faf8c7;margin:.2rem 0 0;font-size:.86rem}.bo-day-pill{background:#ffffff24;border:1px solid #fff3;border-radius:999px;align-items:center;gap:.45rem;padding:.55rem .85rem;font-size:.82rem;display:inline-flex}.bo-day-pill.open{background:#3eb47840;border-color:#8ce6b459}.bo-day-pill.closed{background:#c4484847;border-color:#ffaaaa59}.bo-day-pill .bo-ico{width:1rem;height:1rem}.bo-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem;display:grid}.bo-metric{background:var(--panel);box-shadow:var(--shadow);border:1px solid #d5ddd8e6;border-radius:14px;align-items:center;gap:.65rem;min-height:0;padding:.75rem .85rem;animation:.48s both rise;display:flex}.bo-metric>div{min-width:0}.bo-metric>div span{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-size:.74rem;font-weight:700;display:block}.bo-metric strong{font-family:var(--font-display);letter-spacing:-.03em;color:var(--ink);margin-top:.15rem;font-size:1.12rem;display:block}.bo-metric-ico{border-radius:13px;flex-shrink:0;place-items:center;width:2.65rem;height:2.65rem;line-height:0;display:grid}.bo-metric-ico .bo-ico{width:1.25rem;height:1.25rem;margin:0;display:block}.bo-metric.tone-teal{border-color:color-mix(in srgb, var(--teal) 28%, var(--line));background:linear-gradient(180deg, color-mix(in srgb, var(--teal) 10%, #fff) 0%, #fff 70%)}@supports not (color: color-mix(in srgb, red 50%, blue)){.bo-metric.tone-teal{border-color:#a2bdb5;background:linear-gradient(180deg, #e9f0ef 0%, #fff 70%)}}.bo-metric.tone-teal .bo-metric-ico{background:color-mix(in srgb, var(--teal) 16%, #fff);color:var(--teal)}@supports not (color: color-mix(in srgb, red 50%, blue)){.bo-metric.tone-teal .bo-metric-ico{background:#dbe7e5}}.bo-metric.tone-amber{border-color:color-mix(in srgb, #c45c26 28%, var(--line));background:linear-gradient(#f9efe9 0%,#fff 70%)}@supports not (color: color-mix(in srgb, red 50%, blue)){.bo-metric.tone-amber{border-color:#d0b9a6}}.bo-metric.tone-amber .bo-metric-ico{color:#c45c26;background:#f6e7de}.bo-metric.tone-blue{border-color:color-mix(in srgb, #2f6fed 28%, var(--line));background:linear-gradient(#eaf1fd 0%,#fff 70%)}@supports not (color: color-mix(in srgb, red 50%, blue)){.bo-metric.tone-blue{border-color:#a7bede}}.bo-metric.tone-blue .bo-metric-ico{color:#2f6fed;background:#e2ebfc}.bo-metric.tone-green{border-color:color-mix(in srgb, var(--ok) 28%, var(--line));background:linear-gradient(180deg, color-mix(in srgb, var(--ok) 10%, #fff) 0%, #fff 70%)}@supports not (color: color-mix(in srgb, red 50%, blue)){.bo-metric.tone-green{border-color:#a2c1af;background:linear-gradient(180deg, #e9f2ec 0%, #fff 70%)}}.bo-metric.tone-green .bo-metric-ico{background:color-mix(in srgb, var(--ok) 15%, #fff);color:var(--ok)}@supports not (color: color-mix(in srgb, red 50%, blue)){.bo-metric.tone-green .bo-metric-ico{background:#ddebe3}}.bo-metric.tone-rose{border-color:color-mix(in srgb, var(--danger) 28%, var(--line));background:linear-gradient(180deg, color-mix(in srgb, var(--danger) 10%, #fff) 0%, #fff 70%)}@supports not (color: color-mix(in srgb, red 50%, blue)){.bo-metric.tone-rose{border-color:#cca9a2;background:linear-gradient(180deg, #f8e9e8 0%, #fff 70%)}}.bo-metric.tone-rose .bo-metric-ico{background:color-mix(in srgb, var(--danger) 14%, #fff);color:var(--danger)}@supports not (color: color-mix(in srgb, red 50%, blue)){.bo-metric.tone-rose .bo-metric-ico{background:#f5e0df}}.bo-tabs{flex-wrap:wrap;gap:.45rem;display:flex}.bo-tabs button{appearance:none;color:var(--ink);font:inherit;cursor:pointer;background:#fff;border:1px solid #d5ddd8f2;border-radius:999px;align-items:center;gap:.4rem;padding:.55rem .9rem;font-size:.84rem;font-weight:700;transition:background .15s,border-color .15s,color .15s,box-shadow .15s;display:inline-flex}.bo-tabs button .bo-ico{opacity:.7;width:.95rem;height:.95rem}.bo-tabs button:hover{border-color:color-mix(in srgb, var(--teal) 35%, var(--line))}@supports not (color: color-mix(in srgb, red 50%, blue)){.bo-tabs button:hover{border-color:#95b5ad}}.bo-tabs button.active{color:#fff;background:#1f6b5c;border-color:#1f6b5c;box-shadow:0 6px 16px #1f6b5c38}.bo-tabs button.active .bo-ico{opacity:1;color:#fff}.bo-tabs.compact button{padding:.4rem .7rem;font-size:.78rem}.bo-body{min-height:0}.bo-grid{grid-template-columns:1.4fr .85fr;gap:.85rem;display:grid}.bo-overview{grid-template-columns:minmax(0,1.55fr) minmax(16rem,.75fr);align-items:start;gap:.85rem;display:grid}.bo-charts{grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;display:grid}.bo-charts>.bo-panel:first-child{grid-column:1/-1}.bo-side-panel{position:sticky;top:.25rem}.bo-panel{background:var(--panel);box-shadow:var(--shadow);border:1px solid #d5ddd8d9;border-radius:16px;padding:1rem 1.1rem 1.15rem;animation:.52s both rise}.bo-panel-head{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.85rem;display:flex}.bo-panel-head h2{letter-spacing:.02em;color:var(--ink);align-items:center;gap:.45rem;margin:0;font-size:.95rem;font-weight:800;display:inline-flex}.bo-panel-head h2 .bo-ico{color:var(--teal)}.bo-chip{background:color-mix(in srgb, var(--teal) 12%, #fff);color:var(--teal);border:1px solid color-mix(in srgb, var(--teal) 22%, var(--line));border-radius:999px;align-items:center;padding:.28rem .65rem;font-size:.74rem;font-weight:750;display:inline-flex}@supports not (color: color-mix(in srgb, red 50%, blue)){.bo-chip{background:#e4edeb;border:1px solid #adc4bd}}.bo-chip.rose{background:var(--danger-soft);color:var(--danger);border-color:color-mix(in srgb, var(--danger) 22%, var(--line))}@supports not (color: color-mix(in srgb, red 50%, blue)){.bo-chip.rose{border-color:#ceb4ae}}.bo-chip.amber{color:#c45c26;border-color:color-mix(in srgb, #c45c26 22%, var(--line));background:#f8ebe5}@supports not (color: color-mix(in srgb, red 50%, blue)){.bo-chip.amber{border-color:#d1c1b1}}.bo-chart{background:linear-gradient(#f7faf8 0%,#f2f6f4 100%);border:1px solid #e4ebe7;border-radius:14px;gap:.35rem;padding:.35rem .15rem .15rem;display:grid;position:relative;overflow:hidden}.bo-chart-grid{pointer-events:none;z-index:0;grid-template-rows:repeat(4,1fr);display:grid;position:absolute;inset:1.65rem .55rem 1.55rem}.bo-chart-grid span{border-top:1px dashed #1f6b5c1f}.bo-chart-bars{z-index:1;min-height:calc(var(--bo-chart-h,148px) + 2.6rem);align-items:flex-end;gap:.35rem;padding:.2rem .45rem .35rem;display:flex;position:relative}.bo-bar{min-width:0;height:calc(var(--bo-chart-h,148px) + 2.4rem);flex-direction:column;flex:1;justify-content:flex-end;align-items:center;gap:.3rem;display:flex}.bo-bar-val{color:#1f6b5c;text-overflow:ellipsis;white-space:nowrap;opacity:0;max-width:100%;min-height:.75rem;font-size:.62rem;font-style:normal;font-weight:750;line-height:1;transition:opacity .15s;overflow:hidden}.bo-bar.has-val:hover .bo-bar-val,.bo-bar.has-val:focus-within .bo-bar-val,.bo-bar.has-val .bo-bar-val{opacity:1}.bo-bar i{background:linear-gradient(#3aa58f 0%,#1f6b5c 100%);border-radius:8px 8px 4px 4px;width:100%;max-width:2.85rem;min-height:3px;transition:filter .15s,transform .15s;display:block;box-shadow:0 4px 10px #1f6b5c2e}.bo-bar.has-val i{background:linear-gradient(#45c4a6 0%,#1f6b5c 100%)}.bo-bar.is-today i{background:linear-gradient(#f0b429 0%,#c45c26 100%);box-shadow:0 4px 10px #c45c2633}.bo-bar:hover i{filter:brightness(1.06);transform:translateY(-1px)}.bo-bar span{color:var(--muted);font-size:.68rem;font-weight:700}.bo-chart-empty{color:var(--muted);text-align:center;margin:.45rem 0 0;font-size:.78rem}.bo-mix{gap:.75rem;display:grid}.bo-mix-track{background:#eef3f0;border:1px solid #e2eae5;border-radius:999px;height:.85rem;display:flex;overflow:hidden}.bo-mix-track>i{min-width:.35rem;height:100%;display:block}.bo-mix-track>i.tone-teal{background:#0f766e}.bo-mix-track>i.tone-amber{background:#d97706}.bo-mix-track>i.tone-blue{background:#2563eb}.bo-mix-track>i.tone-green{background:#16a34a}.bo-mix-track>i.tone-rose{background:#e11d48}.bo-mix-track>i.tone-violet{background:#7c3aed}.bo-mix-legend{gap:.4rem;display:grid}.bo-mix-row{grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:.45rem;font-size:.82rem;display:grid}.bo-mix-dot{background:currentColor;border-radius:999px;width:.55rem;height:.55rem}.bo-mix-row.tone-teal{color:#0f766e}.bo-mix-row.tone-amber{color:#d97706}.bo-mix-row.tone-blue{color:#2563eb}.bo-mix-row.tone-green{color:#16a34a}.bo-mix-row.tone-rose{color:#e11d48}.bo-mix-row.tone-violet{color:#7c3aed}.bo-mix-row strong{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-weight:700;overflow:hidden}.bo-mix-row em,.bo-mix-row b{color:var(--muted);font-style:normal;font-weight:750}.bo-mix-row b{color:var(--ink);text-align:end;min-width:4.5rem}.bo-hbars{gap:.65rem;display:grid}.bo-hbar{gap:.3rem;display:grid}.bo-hbar-meta{justify-content:space-between;align-items:baseline;gap:.5rem;display:flex}.bo-hbar-meta strong{text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;font-weight:750;overflow:hidden}.bo-hbar-meta em{color:var(--muted);flex-shrink:0;font-size:.78rem;font-style:normal;font-weight:750}.bo-hbar-track{background:#eef3f0;border-radius:999px;height:.55rem;overflow:hidden}.bo-hbar-track>i{border-radius:inherit;background:#1f6b5c;height:100%;display:block}.bo-hbar-track>i.tone-teal{background:#0f766e}.bo-hbar-track>i.tone-ocean{background:#0284c7}.bo-hbar-track>i.tone-amber{background:#d97706}.bo-hbar-track>i.tone-violet{background:#7c3aed}.bo-hbar-track>i.tone-rose{background:#e11d48}.bo-hbar-track>i.tone-lime{background:#65a30d}.bo-tenders{gap:.55rem;display:grid}.bo-tender{border:1px solid var(--line);background:#f7faf8;border-radius:12px;grid-template-columns:auto 1fr auto;align-items:center;gap:.7rem;padding:.7rem .8rem;display:grid}.bo-tender strong{font-size:.9rem}.bo-tender em{font-style:normal;font-weight:800;font-family:var(--font-display);letter-spacing:-.02em}.bo-tender-ico{border-radius:10px;place-items:center;width:2.1rem;height:2.1rem;display:grid}.bo-tender.tone-teal{border-color:color-mix(in srgb, var(--teal) 24%, var(--line));background:color-mix(in srgb, var(--teal) 7%, #fff)}@supports not (color: color-mix(in srgb, red 50%, blue)){.bo-tender.tone-teal{border-color:#a9c2ba;background:#eff5f4}}.bo-tender.tone-teal .bo-tender-ico,.bo-tender.tone-teal em{color:var(--teal)}.bo-tender.tone-teal .bo-tender-ico{background:color-mix(in srgb, var(--teal) 14%, #fff)}@supports not (color: color-mix(in srgb, red 50%, blue)){.bo-tender.tone-teal .bo-tender-ico{background:#e0eae8}}.bo-tender.tone-amber{border-color:color-mix(in srgb, #c45c26 24%, var(--line));background:#fbf4f0}@supports not (color: color-mix(in srgb, red 50%, blue)){.bo-tender.tone-amber{border-color:#d1bead}}.bo-tender.tone-amber .bo-tender-ico,.bo-tender.tone-amber em{color:#c45c26}.bo-tender.tone-amber .bo-tender-ico{background:#f7e8e1}.bo-tender.tone-blue{border-color:color-mix(in srgb, #2f6fed 24%, var(--line));background:#f0f5fe}@supports not (color: color-mix(in srgb, red 50%, blue)){.bo-tender.tone-blue{border-color:#adc3dd}}.bo-tender.tone-blue .bo-tender-ico,.bo-tender.tone-blue em{color:#2f6fed}.bo-tender.tone-blue .bo-tender-ico{background:#e2ebfc}.bo-tender.tone-green{border-color:color-mix(in srgb, var(--ok) 24%, var(--line));background:color-mix(in srgb, var(--ok) 7%, #fff)}@supports not (color: color-mix(in srgb, red 50%, blue)){.bo-tender.tone-green{border-color:#a9c5b5;background:#eff6f2}}.bo-tender.tone-green .bo-tender-ico,.bo-tender.tone-green em{color:var(--ok)}.bo-tender.tone-green .bo-tender-ico{background:color-mix(in srgb, var(--ok) 14%, #fff)}@supports not (color: color-mix(in srgb, red 50%, blue)){.bo-tender.tone-green .bo-tender-ico{background:#e0ece5}}.bo-tender.tone-rose{border-color:color-mix(in srgb, var(--danger) 24%, var(--line));background:color-mix(in srgb, var(--danger) 7%, #fff)}@supports not (color: color-mix(in srgb, red 50%, blue)){.bo-tender.tone-rose{border-color:#cdb0aa;background:#faf0ef}}.bo-tender.tone-rose .bo-tender-ico,.bo-tender.tone-rose em{color:var(--danger)}.bo-tender.tone-rose .bo-tender-ico{background:color-mix(in srgb, var(--danger) 14%, #fff)}@supports not (color: color-mix(in srgb, red 50%, blue)){.bo-tender.tone-rose .bo-tender-ico{background:#f5e0df}}.bo-empty-inline{border:1px dashed var(--line);background:#f4f7f5;border-radius:12px;padding:.85rem}.bo-empty-inline strong{display:block}.bo-empty-inline span{color:var(--muted);font-size:.85rem}.bo-staff{gap:.55rem;display:grid}.bo-staff-row{background:#f7faf8;border:1px solid #d5ddd8b3;border-radius:12px;grid-template-columns:auto 1fr auto;align-items:center;gap:.7rem;padding:.65rem .7rem;display:grid}.bo-staff-row strong{font-size:.9rem;display:block}.bo-staff-row>div span{color:var(--muted);font-size:.78rem;display:block}.bo-staff-row em{color:var(--teal);font-style:normal;font-weight:800}.bo-avatar{background:color-mix(in srgb, var(--teal) 16%, #fff);width:2.35rem;height:2.35rem;color:var(--teal);border-radius:12px;flex-shrink:0;place-items:center;font-size:.88rem;font-weight:800;line-height:1;display:grid;overflow:hidden}@supports not (color: color-mix(in srgb, red 50%, blue)){.bo-avatar{background:#dbe7e5}}.bo-avatar.tone-teal{color:#0f766e;background:#dcf5ea}.bo-avatar.tone-amber{color:#b45309;background:#ffedd5}.bo-avatar.tone-blue{color:#0369a1;background:#e0f2fe}.bo-avatar.tone-green{color:#166534;background:#dcfce7}.bo-avatar.tone-rose{color:#be123c;background:#ffe4e6}.bo-avatar.tone-violet{color:#6d28d9;background:#ede9fe}.bo-shift-banner{border:1px solid var(--line);background:#f4f7f5;border-radius:12px;align-items:flex-start;gap:.7rem;margin-top:.85rem;padding:.8rem .85rem;display:flex}.bo-shift-banner.open{background:color-mix(in srgb, var(--ok) 10%, #fff);border-color:color-mix(in srgb, var(--ok) 28%, var(--line))}@supports not (color: color-mix(in srgb, red 50%, blue)){.bo-shift-banner.open{background:#e9f2ec;border-color:#a2c1af}}.bo-shift-banner .bo-ico{color:var(--teal);flex-shrink:0;margin-top:.15rem}.bo-shift-banner strong{display:block}.bo-shift-banner span{color:var(--muted);font-size:.82rem}.bo-form{gap:.55rem;max-width:28rem;margin-top:.85rem;display:grid}.bo-method-pill{background:color-mix(in srgb, var(--teal) 10%, #fff);color:var(--teal);border-radius:999px;padding:.2rem .55rem;font-size:.78rem;font-weight:700;display:inline-flex}@supports not (color: color-mix(in srgb, red 50%, blue)){.bo-method-pill{background:#e9f0ef}}.bo-table tbody tr:hover{background:color-mix(in srgb, var(--teal) 5%, #fff)}@supports not (color: color-mix(in srgb, red 50%, blue)){.bo-table tbody tr:hover{background:#f4f8f7}}@media (width<=1100px){.bo-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.bo-grid,.bo-overview{grid-template-columns:1fr}.bo-side-panel{position:static}}@media (width<=900px){.bo-charts{grid-template-columns:1fr}.bo-charts>.bo-panel:first-child{grid-column:auto}}@media (width<=720px){.bo-hero{flex-direction:column;align-items:flex-start}.bo-metrics{grid-template-columns:1fr}}.stat-row{grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;margin-bottom:1rem;display:grid}.stat-card{background:var(--panel);box-shadow:var(--shadow);border:1px solid #d5ddd8cc;border-radius:16px;padding:1rem;animation:.56s both rise}.stat-card span{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:.78rem;display:block}.stat-card strong{font-family:var(--font-display);letter-spacing:-.03em;margin-top:.35rem;font-size:1.45rem;display:block}.table-wrap{overflow:auto}.data-table{border-collapse:collapse;width:100%;font-size:.9rem}.data-table th,.data-table td{text-align:left;border-bottom:1px solid var(--line);padding:.85rem .7rem}.data-table th{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:.75rem;font-weight:700}.badge{border-radius:999px;align-items:center;padding:.25rem .55rem;font-size:.72rem;font-weight:700;display:inline-flex}.badge.ok{background:var(--ok-soft);color:var(--ok)}.badge.low{background:var(--danger-soft);color:var(--danger)}.badge.warn{background:var(--warn-soft);color:var(--warn)}.side-card{align-content:start;gap:.85rem;padding:1rem;display:grid}.alert-list,.staff-list,.simple-list{gap:.55rem;display:grid}.alert-item,.staff-item,.simple-item{background:var(--surface-2);border-radius:14px;padding:.8rem}.alert-item strong,.staff-item strong,.simple-item strong{display:block}.alert-item span,.staff-item span,.simple-item span{color:var(--muted);font-size:.8rem}.chart{grid-template-columns:repeat(8,1fr);align-items:end;gap:.45rem;height:160px;padding:.5rem .2rem 0;display:grid}.bar{align-content:end;gap:.35rem;height:100%;display:grid}.bar i{background:linear-gradient(180deg, #2f8f7d, var(--teal));border-radius:10px 10px 4px 4px;min-height:8px;animation:.7s both grow;display:block}.bar span{text-align:center;color:var(--muted);font-size:.7rem}.toolbar{flex-wrap:wrap;gap:.55rem;margin-bottom:.9rem;display:flex}.search{background:var(--surface-2);min-width:180px;box-shadow:inset 0 0 0 1px var(--line);border:0;border-radius:14px;outline:none;flex:1;padding:.75rem .9rem}.search:focus{box-shadow:inset 0 0 0 1.5px var(--teal)}.mp-search-field .search,.mp-search-field .search:focus,.mp-plu-field .search,.mp-plu-field .search:focus,.mp-plu-field .code-input,.mp-code-row .code-input:focus{width:100%;min-width:0;max-width:100%;box-shadow:none;background:0 0;border:0;border-radius:0;outline:none;flex:auto;padding:.55rem 0}.mp-plu-field .search,.mp-plu-field .code-input{text-align:center}@media (width<=1100px){.cashier-layout,.inventory-layout,.backoffice-layout{grid-template-columns:1fr}.stat-row{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=720px){.app-shell{grid-template-rows:auto 1fr;grid-template-columns:1fr;height:100dvh;overflow:hidden}.side-nav{z-index:20;flex-direction:row;align-items:center;gap:.65rem;height:auto;padding:.7rem;position:relative;top:0;overflow:auto hidden}.brand{border:0;grid-auto-flow:column;align-items:center;padding:0}.brand>span{display:none}.nav-links{flex-direction:row;overflow-x:auto}.nav-link{min-width:74px;padding:.55rem .45rem}.side-meta{display:none}.main-stage{padding:.9rem}.menu-grid{grid-template-columns:1fr}}.mode-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;display:grid}.mode-card{background:linear-gradient(155deg, #1f6b5c14, transparent 48%), var(--surface-2);box-shadow:inset 0 0 0 1px var(--line);border-radius:18px;gap:.45rem;min-height:150px;padding:1.2rem;transition:transform .18s,box-shadow .18s;animation:.56s both rise;display:grid}.mode-card:hover{box-shadow:var(--shadow);transform:translateY(-3px)}.mode-card strong{font-family:var(--font-display);letter-spacing:-.03em;font-size:1.35rem}.mode-card p{color:var(--muted);margin:0;font-size:.92rem;line-height:1.4}.mode-tag{letter-spacing:.08em;text-transform:uppercase;width:fit-content;color:var(--teal);background:var(--teal-soft);border-radius:999px;padding:.25rem .55rem;font-size:.7rem;font-weight:700}.link-card{display:block}.mode-grid.single{grid-template-columns:1fr}.role-banner{border-radius:20px;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;padding:1.15rem 1.2rem;animation:.48s both rise;display:flex}.role-banner h2{font-family:var(--font-display);letter-spacing:-.03em;margin:.35rem 0 .2rem;font-size:1.55rem}.role-banner p{color:var(--muted);margin:0}.role-banner.waiter,.role-banner.food-server{background:linear-gradient(135deg,#e7f4ef,#f7f9f7);box-shadow:inset 0 0 0 1px #cfe3db}.role-banner.cashier{background:linear-gradient(135deg,#fff1e8,#fff8f3);box-shadow:inset 0 0 0 1px #f0d2c0}.role-banner.manager,.role-banner.admin{background:linear-gradient(135deg,#e8eef8,#f5f7fb);box-shadow:inset 0 0 0 1px #cfd8e8}.role-chip.waiter,.role-chip.food-server{background:var(--teal-soft);color:var(--teal)}.role-chip.cashier{color:var(--accent-deep);background:#f7dccb}.role-chip.manager,.role-chip.admin{color:#2a4a7a;background:#d9e4f5}.role-chip.kitchen-manager{color:#7a5a1f;background:#efe4cf}.role-chip.custom{color:#5a3f6e;background:#e4dde8}.app-shell:has(.zk-pay) .main-stage{background:#eef3f0;flex-direction:column;padding:0;display:flex;overflow:hidden}.zk-pay{background:radial-gradient(700px 320px at 0 0,#c45c2614,#0000 55%),radial-gradient(560px 280px at 100% 20%,#1f6b5c1a,#0000 50%),linear-gradient(#eef3f0 0%,#e6ece8 100%);grid-template-rows:auto minmax(0,1fr) auto;height:100%;min-height:100%;display:grid}.zk-pay .zk-dash-header{margin:.7rem .8rem 0}.zk-pay .zk-dash-brand{color:inherit;text-decoration:none}.zk-pay .pay-page{min-height:0;margin:.7rem .8rem}.pay-page{background:var(--panel);width:auto;min-height:0;box-shadow:var(--shadow);border:1px solid #d5ddd8cc;border-radius:12px;flex:1;grid-template-columns:minmax(0,1fr) 248px;gap:0;animation:.42s both rise;display:grid;overflow:hidden}.pay-desk{flex-direction:column;min-width:0;min-height:0;display:flex}.pay-desk-head{flex-shrink:0;justify-content:space-between;align-items:flex-start;gap:1rem;padding:1.05rem 1.2rem .95rem;display:flex}.pay-desk-head h2{font-family:var(--font-display);letter-spacing:-.03em;align-items:center;gap:.45rem;margin:0;font-size:1.28rem;display:inline-flex}.pay-desk-head h2 .pay-ico{width:1.15rem;height:1.15rem;color:var(--teal)}.pay-sub{color:var(--muted);margin:.28rem 0 0;font-size:.92rem;line-height:1.35}.pay-cashier{color:var(--teal);background:var(--teal-soft);border-radius:4px;flex-shrink:0;align-self:center;align-items:center;gap:.4rem;padding:.4rem .7rem;font-size:.8rem;font-weight:700;display:inline-flex}.pay-cashier .pay-ico{width:.95rem;height:.95rem}.pay-ico{flex-shrink:0;width:1rem;height:1rem;display:block}.pay-metrics{border-block:1px solid var(--line);flex-shrink:0;grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.pay-metric{border-inline-end:1px solid var(--line);align-items:center;gap:.7rem;padding:.75rem 1.05rem;display:flex}.pay-metric>div{gap:.12rem;min-width:0;display:grid}.pay-metric:last-child{border-inline-end:0}.pay-metric-ico{background:color-mix(in srgb, var(--teal) 12%, #fff);width:2.2rem;height:2.2rem;color:var(--teal);border-radius:8px;flex-shrink:0;place-items:center;display:grid}@supports not (color: color-mix(in srgb, red 50%, blue)){.pay-metric-ico{background:#e4edeb}}.pay-metric-ico .pay-ico{width:1.15rem;height:1.15rem}.pay-metric strong{font-family:var(--font-display);letter-spacing:-.03em;color:var(--ink);font-size:1.2rem;line-height:1.15}.pay-metric span{color:var(--muted);font-size:.78rem;font-weight:600}.pay-metric.highlight{background:color-mix(in srgb, var(--teal) 9%, #fff)}@supports not (color: color-mix(in srgb, red 50%, blue)){.pay-metric.highlight{background:#ebf2f0}}.pay-metric.highlight .pay-metric-ico{background:color-mix(in srgb, var(--teal) 18%, #fff)}@supports not (color: color-mix(in srgb, red 50%, blue)){.pay-metric.highlight .pay-metric-ico{background:#d7e4e2}}.pay-metric.highlight strong{color:var(--teal)}.pay-queue{background:linear-gradient(180deg, color-mix(in srgb, var(--teal) 4%, var(--surface-2)) 0%, var(--surface-2) 100%);flex-direction:column;flex:1;align-content:flex-start;min-height:0;padding:1rem 1.2rem 1.15rem;display:flex;overflow:auto}@supports not (color: color-mix(in srgb, red 50%, blue)){.pay-queue{background:linear-gradient(180deg, #eef3f1 0%, var(--surface-2) 100%)}}.pay-section{margin:0 0 1.15rem}.pay-section:last-of-type{margin-bottom:0}.pay-section-title{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);align-items:center;gap:.4rem;margin:0 0 .5rem;padding:0 .1rem;font-size:.75rem;font-weight:800;display:inline-flex}.pay-section-title .pay-ico{width:.95rem;height:.95rem;color:var(--teal)}.pay-list{border:1px solid var(--line);background:#fff;border-radius:8px;align-content:start;gap:0;height:auto;display:grid;overflow:hidden}.pay-badge{text-transform:uppercase;letter-spacing:.05em;background:var(--surface-2);color:var(--ink-soft);white-space:nowrap;border-radius:4px;align-items:center;gap:.3rem;width:fit-content;padding:.22rem .5rem;font-size:.68rem;font-weight:800;display:inline-flex}.pay-badge-ico .pay-ico{width:.78rem;height:.78rem}.pay-badge.billing{background:var(--accent);color:#fff}.pay-badge.occupied{background:var(--teal);color:#fff}.pay-badge.ticket{color:#fff;background:#3a3a3a}.pay-list-ico{background:color-mix(in srgb, var(--teal) 10%, #fff);width:1.55rem;height:1.55rem;color:var(--teal);border-radius:6px;flex-shrink:0;place-items:center;display:grid}@supports not (color: color-mix(in srgb, red 50%, blue)){.pay-list-ico{background:#e9f0ef}}.pay-list-ico .pay-ico{width:.9rem;height:.9rem}.pay-action-btn{align-items:center;gap:.35rem;display:inline-flex}.pay-action-btn .pay-ico{width:.9rem;height:.9rem}.pay-list-head,.pay-list-row{grid-template-columns:minmax(7.5rem,1fr) minmax(0,1.6fr) 7.25rem 6.75rem minmax(13.5rem,auto);align-items:center;gap:.65rem .85rem;padding:.65rem .95rem;display:grid}.pay-list-head{z-index:1;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);border-bottom:1px solid var(--line);background:#f3f6f4;min-height:2.4rem;font-size:.74rem;font-weight:800;position:sticky;top:0}.pay-list-row{border-bottom:1px solid var(--line);border-inline-start:3px solid #0000;min-height:3.4rem;transition:background .16s,border-color .16s}.pay-list-row:last-child{border-bottom:0}.pay-list-row:hover{background:color-mix(in srgb, var(--teal) 6%, #fff)}@supports not (color: color-mix(in srgb, red 50%, blue)){.pay-list-row:hover{background:#f2f6f5}}.pay-list-row.billing{border-inline-start-color:var(--accent);background:#fff7f1}.pay-list-row.occupied{border-inline-start-color:var(--teal);background:#f6faf8}.pay-list-title{min-width:0;color:var(--ink);align-items:center;gap:.45rem;font-size:.98rem;display:inline-flex}.pay-list-meta{color:var(--muted);font-size:.84rem;line-height:1.35}.pay-list-amount{font-family:var(--font-display);color:var(--ink);text-align:end;white-space:nowrap;font-size:1.05rem}.pay-list-actions{flex-wrap:nowrap;justify-content:flex-end;align-items:center;gap:.4rem;display:flex}.pay-list-actions .btn{white-space:nowrap;border-radius:6px;flex-shrink:0;min-height:2.15rem;padding:.35rem .7rem}.pay-empty{text-align:center;min-height:12rem;color:var(--muted);flex:1;place-content:center;justify-items:center;gap:.35rem;display:grid}.pay-empty strong{font-family:var(--font-display);color:var(--ink);font-size:1.15rem}.pay-empty span{max-width:28rem;font-size:.92rem;line-height:1.45}.pay-rail{border-inline-start:1px solid var(--line);background:color-mix(in srgb, var(--teal) 5%, #fff);flex-direction:column;gap:1rem;min-height:0;padding:1.05rem 1rem 1rem;display:flex;overflow:auto}@supports not (color: color-mix(in srgb, red 50%, blue)){.pay-rail{background:#f4f8f7}}.pay-rail-copy h2{font-family:var(--font-display);letter-spacing:-.02em;margin:0;font-size:1.05rem}.pay-rail-copy p{color:var(--muted);margin:.35rem 0 0;font-size:.84rem;line-height:1.45}.pay-methods{grid-template-columns:1fr 1fr;gap:.35rem;display:grid}.pay-methods span{color:var(--ink-soft);border:1px solid var(--line);text-align:start;background:#fff;border-radius:4px;align-items:center;gap:.35rem;padding:.45rem .5rem;font-size:.75rem;font-weight:700;display:inline-flex}.pay-methods .pay-ico{width:.9rem;height:.9rem;color:var(--teal)}.pay-guide{counter-reset:pay-step;gap:0;margin:0;padding:0;list-style:none;display:grid}.pay-guide li{counter-increment:pay-step;gap:.12rem;padding:0 0 .95rem 2rem;display:grid;position:relative}.pay-guide li:last-child{padding-bottom:0}.pay-guide li:before{content:counter(pay-step);background:var(--teal);color:#fff;border-radius:4px;place-items:center;width:1.4rem;height:1.4rem;font-size:.72rem;font-weight:800;display:grid;position:absolute;top:0;left:0}html[dir=rtl] .pay-guide li{padding:0 2rem .95rem 0}html[dir=rtl] .pay-guide li:before{left:auto;right:0}.pay-guide li:after{content:"";background:color-mix(in srgb, var(--teal) 28%, var(--line));width:1px;position:absolute;top:1.5rem;bottom:.12rem;left:.62rem}@supports not (color: color-mix(in srgb, red 50%, blue)){.pay-guide li:after{background:#a2bdb5}}html[dir=rtl] .pay-guide li:after{left:auto;right:.62rem}.pay-guide li:last-child:after{display:none}.pay-guide strong{color:var(--ink);font-size:.86rem;display:block}.pay-guide span{color:var(--muted);font-size:.76rem;line-height:1.35;display:block}.pay-floor-btn{border-radius:6px;justify-content:center;align-items:center;gap:.45rem;width:100%;margin-top:auto;display:inline-flex}.pay-floor-btn .pay-ico{width:1rem;height:1rem}@media (width<=1100px){.pay-page{grid-template-columns:minmax(0,1fr) 220px}.pay-list-head,.pay-list-row{grid-template-columns:minmax(6.5rem,1fr) minmax(0,1.4fr) 6.5rem 5.75rem minmax(12rem,auto)}}@media (width<=960px){.zk-pay{height:auto;min-height:100%}.pay-page{flex:none;grid-template-columns:1fr;height:auto}.pay-desk{min-height:28rem}.pay-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.pay-metric:nth-child(2n){border-inline-end:0}.pay-metric:nth-child(-n+2){border-bottom:1px solid var(--line)}.pay-rail{border-inline-start:0;border-top:1px solid var(--line)}}@media (width<=860px){.pay-list-head{display:none}.pay-list-row{grid-template-columns:1fr auto;grid-template-areas:"title badge""meta meta""amount actions";gap:.4rem .75rem;padding:.85rem .9rem}.pay-list-title{grid-area:title}.pay-list-meta{grid-area:meta}.pay-list-row .pay-badge{grid-area:badge;justify-self:end}.pay-list-amount{text-align:start;grid-area:amount}.pay-list-actions{grid-area:actions}}.pay-row{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.pay-row>div:first-child{gap:.2rem;display:grid}.pay-actions{flex-wrap:wrap;gap:.4rem;display:flex}@media (width<=720px){.role-banner,.pay-row{flex-direction:column;align-items:stretch}}.cz-backdrop{justify-content:center;align-items:center;padding:1.5vh 2vw;z-index:200!important;display:flex!important}.cz-card{background:var(--panel);border-radius:20px;flex-direction:column;width:min(720px,96vw);height:96vh;max-height:96vh;animation:.22s both rise;display:flex;overflow:hidden;box-shadow:0 24px 60px #12201c2e}.cz-header{border-bottom:1px solid var(--line);flex-shrink:0;justify-content:space-between;align-items:flex-start;padding:1.1rem 1.4rem .9rem;display:flex}.cz-dish-name{font-family:var(--font-display);color:var(--ink);font-size:1.15rem;font-weight:700}.cz-dish-sub{color:var(--muted);margin-top:.2rem;font-size:.78rem}.cz-close{background:var(--surface);cursor:pointer;width:32px;height:32px;color:var(--muted);border:none;border-radius:50%;flex-shrink:0;font-size:.85rem}.cz-close:hover{background:var(--line);color:var(--ink)}.cz-body{flex-direction:column;flex:auto;gap:1.2rem;min-height:0;padding:1rem 1.4rem;display:flex;overflow-y:auto}.cz-section-title{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);align-items:center;gap:.5rem;margin-bottom:.6rem;font-size:.78rem;font-weight:700;display:flex}.cz-addon-count{background:var(--surface);border:1px solid var(--line);color:var(--muted);text-transform:none;letter-spacing:0;border-radius:20px;padding:1px 8px;font-size:.72rem;font-weight:600}.cz-addon-count.full{background:var(--teal);color:#fff;border-color:var(--teal)}.cz-addon-count.ok{background:var(--ok-soft);color:var(--ok);border-color:var(--ok)}.cz-req{text-transform:none;letter-spacing:0;color:var(--accent);background:#fff0e8;border-radius:6px;padding:1px 6px;font-size:.68rem;font-weight:600}.cz-section{flex-direction:column;gap:.5rem;display:flex}.cz-variations{flex-wrap:wrap;gap:.6rem;display:flex}.cz-var-btn{color:#fff;cursor:pointer;background:#3a3a3a;border:2px solid #0000;border-radius:10px;flex-direction:column;flex:1;align-items:center;gap:.2rem;min-width:100px;padding:.75rem 1rem;transition:all .15s;display:flex}.cz-var-btn:hover{opacity:.9}.cz-var-btn.active{background:var(--accent);color:#fff}.cz-var-name{font-size:.9rem;font-weight:700}.cz-var-price{opacity:.9;font-size:.78rem}.cz-addons{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:.5rem;display:grid}.cz-addon{border:1.5px solid var(--line);border-left:3px solid var(--teal);cursor:pointer;text-align:center;background:#fff;border-radius:10px;flex-direction:column;align-items:center;gap:.2rem;min-height:64px;padding:.7rem .75rem;transition:all .15s;display:flex;position:relative}.cz-addon:hover{background:var(--surface)}.cz-addon.selected{border-color:#bbb;border-left-color:var(--teal);background:#f0f0f0}.cz-addon-name{color:var(--ink);font-size:.8rem;font-weight:600}.cz-addon-price{color:var(--muted);font-size:.72rem}.cz-addon-badge{color:#fff;background:#2b6cb0;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;font-size:.65rem;font-weight:700;display:flex;position:absolute;top:4px;right:6px}.cz-addon-minus{border:1px solid var(--line);width:18px;height:18px;color:var(--ink);background:#fff;border-radius:4px;justify-content:center;align-items:center;font-size:.85rem;line-height:1;display:flex;position:absolute;bottom:4px;right:6px}.cz-addon-check{display:none}.cz-alert{color:var(--warn);background:#fff4e8;border:1px solid #f0c490;border-radius:10px;margin-bottom:.5rem;padding:.5rem .75rem;font-size:.8rem}.cz-footer{border-top:1px solid var(--line);z-index:5;background:#fff;flex:none;justify-content:space-between;align-items:center;gap:1rem;padding:.9rem 1.4rem;display:flex;box-shadow:0 -8px 20px #12201c14}.cz-footer-actions{flex-shrink:0;align-items:center;gap:.65rem;display:flex}.cz-btn{min-width:100px;min-height:42px}.cz-total{font-family:var(--font-display);color:var(--ink);font-size:1.35rem;font-weight:700}.cz-save{min-width:120px;background:var(--accent)!important;border-color:var(--accent)!important}.master-custom-block{background:var(--surface-2);border-radius:14px;gap:.45rem;margin:.75rem 0;padding:.85rem;display:grid}.discount-row{gap:.35rem;margin-bottom:.35rem;display:grid}html[dir=rtl] .side-nav,html[dir=rtl] .app-shell,html[dir=rtl] .topbar,html[dir=rtl] .ticket-meta,html[dir=rtl] .order-line,html[dir=rtl] .totals div,html[dir=rtl] .receipt-line,html[dir=rtl] .section-head,html[dir=rtl] .menu-cats button,html[dir=rtl] .staff-chip,html[dir=rtl] .pay-row{direction:rtl}html[dir=rtl] .nav-badge{left:.35rem;right:auto}html[dir=rtl] .brand-mark-letters,html[dir=rtl] .staff-avatar{font-family:var(--font-arabic)}.ksa-banner{margin-bottom:.85rem}.guest-picker{grid-template-columns:repeat(auto-fill,minmax(52px,1fr));gap:.5rem;display:grid}.guest-btn{background:var(--surface-2);min-height:52px;box-shadow:inset 0 0 0 1px var(--line);font-family:var(--font-display);border:0;border-radius:14px;font-size:1.15rem;font-weight:700}.guest-btn.active{background:var(--ink);color:#fff;box-shadow:none}.qty-controls button:disabled{opacity:.4;cursor:not-allowed}.nav-badge{background:var(--accent);color:#fff;border-radius:999px;place-items:center;min-width:18px;height:18px;padding:0 .25rem;font-size:.65rem;font-style:normal;font-weight:800;display:grid;position:absolute;top:.35rem;right:.35rem}.floor-stats{flex-wrap:wrap;gap:.55rem;margin-bottom:.85rem;display:flex}.floor-stats span{background:var(--surface-2);color:var(--muted);border-radius:999px;padding:.4rem .7rem;font-size:.8rem}.floor-stats strong{color:var(--ink);margin-right:.2rem}.login-screen{place-items:center;height:100%;min-height:100%;padding:1.2rem;animation:.42s both fade-in;display:grid;overflow:auto}.login-wrap{gap:1rem;width:min(920px,100%);display:grid}.login-wrap-narrow{width:min(440px,100%)}.login-top{text-align:center;flex-wrap:wrap;justify-content:center;align-items:center;gap:.75rem;display:flex}.login-top-brand{align-items:center;gap:.75rem;display:flex}.login-top-brand strong{font-family:var(--font-display);font-size:1.2rem;display:block}.login-top-brand span{color:var(--muted);font-size:.85rem}.login-top-actions{flex-wrap:wrap;align-items:center;gap:.45rem;display:flex}.login-toolbar{background:var(--surface-2);box-shadow:inset 0 0 0 1px var(--line);border-radius:16px;grid-template-columns:1fr auto auto;align-items:center;gap:.45rem;padding:.4rem .45rem .4rem .5rem;display:grid}.login-toolbar .login-status{box-shadow:none;background:0 0;justify-self:start;padding-inline:.35rem}.login-toolbar-btn{appearance:none;min-height:36px;color:var(--ink-soft);font:inherit;box-shadow:inset 0 0 0 1px var(--line);cursor:pointer;background:#fff;border:0;border-radius:12px;padding:0 .85rem;font-size:.82rem;font-weight:700}.login-toolbar-btn:hover{color:var(--teal);box-shadow:inset 0 0 0 1px var(--teal)}.login-toolbar .mesa-lang-switch{flex-shrink:0}.login-panel{box-shadow:var(--shadow);background:#ffffffeb;border:1px solid #d5ddd8e6;border-radius:24px;padding:1.25rem 1.3rem 1.1rem}.login-panel-head h1{font-family:var(--font-display);margin:0;font-size:1.55rem}.login-panel-head p{color:var(--muted);margin:.35rem 0 0;line-height:1.45}.login-panel-lift{gap:.85rem;display:grid}.login-alert{background:var(--danger-soft);color:var(--danger);border-radius:14px;margin:0;padding:.7rem .85rem;font-size:.88rem;font-weight:700;line-height:1.4;animation:.38s login-shake;box-shadow:inset 0 0 0 1px #b423182e}.login-notice{background:var(--ok-soft);color:var(--ok);border-radius:14px;margin:0;padding:.7rem .85rem;font-size:.88rem;font-weight:700;line-height:1.4;box-shadow:inset 0 0 0 1px #1f7a452e}.login-field{color:var(--ink-soft);gap:.35rem;font-size:.82rem;font-weight:700;display:grid}.login-field>span{letter-spacing:.02em}.login-field.invalid .login-secret{border-color:var(--danger);background:#fff8f7}.login-field.invalid .login-secret:focus{outline-color:var(--danger-soft)}.login-field-msg{color:var(--danger);font-size:.78rem;font-style:normal;font-weight:700}.login-pin-wrap{grid-template-columns:1fr auto;align-items:stretch;gap:.4rem;display:grid}.login-pin-toggle{border:1px solid var(--line);color:var(--teal);font:inherit;background:#fff;border-radius:14px;min-width:5.5rem;padding:0 .85rem;font-size:.78rem;font-weight:800}.login-submit{appearance:none;background:var(--teal);color:#fff;min-height:52px;font:inherit;cursor:pointer;border:0;border-radius:16px;font-size:1rem;font-weight:800}.login-submit:disabled{opacity:.65;cursor:wait}.login-bottom{justify-items:center;gap:.55rem;display:grid}@keyframes login-shake{0%,to{transform:translate(0)}25%{transform:translate(-6px)}75%{transform:translate(6px)}}.login-offline-hint{color:var(--muted);margin:.9rem .2rem 0;font-size:.88rem;line-height:1.45}.company-pick-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid}.company-pick{text-align:start;background:var(--surface-2);box-shadow:inset 0 0 0 1px var(--line);cursor:pointer;border:0;border-radius:18px;align-items:center;gap:.8rem;padding:.95rem 1rem;display:flex}.company-pick:hover,.company-pick:focus-visible{box-shadow:0 0 0 2px var(--teal);background:var(--teal-soft)}.company-pick strong,.company-pick small{display:block}.company-pick small{color:var(--muted);margin-top:.15rem}.company-pick-mark{background:var(--ink);color:#fff;border-radius:14px;flex-shrink:0;place-items:center;width:44px;height:44px;font-weight:800;display:grid}.login-card{width:100%;box-shadow:var(--shadow);background:#ffffffeb;border:1px solid #d5ddd8e6;border-radius:24px;grid-template-columns:1.05fr .95fr;gap:1rem;padding:1.1rem;display:grid}.login-card-solo{grid-template-columns:1fr}.login-staff-col{align-content:start;gap:.75rem;min-width:0;display:grid}.login-company-bar{background:var(--teal-soft);border-radius:16px;justify-content:space-between;align-items:center;gap:.6rem;padding:.75rem .85rem;display:flex}.login-company-bar strong,.login-company-bar span{display:block}.login-company-bar span{color:var(--muted);font-size:.88rem}.login-brand{align-items:center;gap:.9rem;margin-bottom:1rem;display:flex}.login-brand h1{font-family:var(--font-display);letter-spacing:-.04em;margin:0;font-size:2rem}.login-brand p{color:var(--muted);margin:.15rem 0 0}.staff-picker{gap:.5rem;max-height:360px;display:grid;overflow:auto}.staff-chip{text-align:left;background:var(--surface-2);box-shadow:inset 0 0 0 1px var(--line);border:0;border-radius:16px;align-items:center;gap:.75rem;padding:.7rem .8rem;display:flex}.staff-chip.active{box-shadow:0 0 0 2px var(--teal);background:var(--teal-soft)}.staff-chip strong{display:block}.staff-chip small{color:var(--muted)}.staff-avatar{background:var(--ink);color:#fff;border-radius:12px;flex-shrink:0;place-items:center;width:40px;height:40px;font-weight:800;display:grid}.login-foot{text-align:center;color:var(--muted);margin:.85rem 0 0;font-size:.82rem}.login-foot a{color:var(--teal);font-weight:700}.pin-panel{background:var(--surface-2);border-radius:22px;align-content:start;gap:.7rem;padding:1rem;display:grid}.pin-dots{justify-content:center;gap:.65rem;display:flex}.pin-dots i{width:14px;height:14px;box-shadow:inset 0 0 0 1px var(--line);background:#fff;border-radius:50%}.pin-dots i.filled{background:var(--ink)}.login-secret{box-sizing:border-box;border:1px solid var(--line);width:100%;min-height:48px;font:inherit;text-align:start;letter-spacing:normal;background:#fff;border-radius:14px;padding:.7rem .9rem}.login-secret:focus{outline:2px solid var(--teal-soft);border-color:var(--teal)}.login-panel-lift .pin-pad{margin-top:.15rem}.pin-key:hover:not(:disabled){background:var(--teal-soft)}.pin-key.ok:hover:not(:disabled){background:var(--accent-deep)}.pin-key:active:not(:disabled){transform:scale(.98)}.pin-pad{grid-template-columns:repeat(3,1fr);gap:.45rem;display:grid}.pin-key{min-height:56px;font-family:var(--font-display);box-shadow:inset 0 0 0 1px var(--line);background:#fff;border:0;border-radius:16px;font-size:1.2rem;font-weight:700}.pin-key.ok{background:var(--accent);color:#fff;box-shadow:none}.pin-key.clear{color:var(--muted)}.pin-error{color:var(--danger);text-align:center;margin:0;font-weight:700}.pin-hint,.pin-demo{text-align:center;color:var(--muted);margin:0;font-size:.8rem}.biometric-btn{justify-content:center}.settle-card{isolation:isolate;z-index:1;gap:.85rem;max-height:90vh;position:relative;overflow:auto;width:min(560px,96vw)!important}.settle-head h2{margin:0 0 .2rem;font-size:1.15rem}.settle-head .modal-lead{margin:0}.settle-head .modal-lead strong{color:var(--ink);font-size:1.15rem}.settle-vat{color:var(--muted);margin-inline-start:.35rem;font-size:.75rem}.settle-detail{justify-items:stretch;gap:.7rem;display:grid}.settle-back{appearance:none;background:var(--accent);color:#fff;width:auto;font:inherit;cursor:pointer;border:0;border-radius:999px;justify-self:start;padding:.42rem .95rem;font-size:.82rem;font-weight:800;box-shadow:0 8px 16px #c45c2638}.settle-back:hover{background:var(--accent-deep)}.settle-confirm{width:100%}.settle-remain{background:var(--teal-soft);color:var(--teal);border-radius:12px;justify-content:space-between;align-items:center;padding:.7rem .9rem;font-size:.82rem;font-weight:700;display:flex}.settle-remain strong{font-family:var(--font-display);font-size:1.2rem}.settle-remain.ok{color:#1f7a45;background:#e8f6ee}.settle-split-rest{flex-wrap:wrap;gap:.35rem;display:flex}.settle-split-rest button{appearance:none;border:1px solid var(--line);font:inherit;cursor:pointer;color:var(--ink-soft);background:#fff;border-radius:999px;padding:.35rem .7rem;font-size:.75rem;font-weight:700}.settle-split-rest button:hover{border-color:var(--teal);color:var(--teal)}.split-tabs{background:var(--surface-2);border-radius:12px;grid-template-columns:1fr 1fr;gap:.4rem;padding:.3rem;display:grid}.split-tabs button{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:10px;padding:.55rem .75rem;font-size:.82rem;font-weight:700}.split-tabs button.active{background:var(--teal);color:#fff;box-shadow:0 4px 10px #1f6b5c2e}.split-summary,.split-balance{grid-template-columns:1fr 1fr;gap:.65rem;display:grid}.split-summary>div,.split-balance>div{background:var(--surface-2);border-radius:12px;gap:.15rem;padding:.7rem .85rem;display:grid}.split-summary span,.split-balance span{color:var(--muted);font-size:.72rem;font-weight:600}.split-summary strong,.split-balance strong{font-family:var(--font-display);font-size:1.1rem}.split-balance .due strong{color:var(--accent)}.split-balance .ok strong{color:var(--ok)}.split-payments{border:1px solid var(--line);border-radius:12px;gap:.35rem;display:grid;overflow:hidden}.split-pay-row{border-bottom:1px solid var(--line);background:#fff;grid-template-columns:1fr auto auto;align-items:center;gap:.5rem;padding:.55rem .75rem;font-size:.85rem;display:grid}.split-pay-row:last-child{border-bottom:0}.split-add{gap:.45rem;display:grid}.split-detail .menu-tabs{flex-wrap:wrap}.quick-cash{grid-template-columns:repeat(2,1fr);gap:.45rem;display:grid}.field-label{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:.78rem}.receipt-card{width:min(420px,100%)}.receipt-body{color:#111;background:#fff;border:1px solid #d5ddd8;border-radius:16px;padding:1.1rem 1rem 1rem;font-family:Segoe UI,Helvetica Neue,Arial,sans-serif;font-size:.88rem;box-shadow:inset 0 0 0 1px #fff9}.receipt-brand{text-align:center;font-family:var(--font-display);letter-spacing:.04em;text-transform:uppercase;color:#111;margin-bottom:.45rem;font-size:1.2rem;font-weight:800;display:block}.receipt-body p{text-align:center;color:#444;margin:.15rem 0;font-size:.82rem}.receipt-kind-tag{letter-spacing:.06em;text-transform:uppercase;border:1.5px solid #111;border-radius:999px;font-weight:800;color:#111!important;margin:.55rem auto .15rem!important;padding:.2rem .65rem!important;font-size:.68rem!important;display:inline-block!important}.receipt-body hr{border:0;border-top:1.5px dashed #222;margin:.75rem 0}.receipt-line{color:#111;justify-content:space-between;gap:.75rem;margin:.3rem 0;display:flex}.receipt-line.total{border-top:1px solid #111;margin-top:.45rem;padding-top:.4rem;font-size:1.02rem;font-weight:800}.receipt-thanks{color:#222!important;margin-top:.9rem!important}.receipt-zatca{text-align:center;justify-items:center;gap:.35rem;margin:.85rem 0 .25rem;display:grid}.receipt-zatca img{width:120px;height:120px;image-rendering:pixelated;background:#fff;border:1px solid #ddd;border-radius:8px;padding:.35rem}.receipt-zatca span{letter-spacing:.04em;text-transform:uppercase;color:#444;font-size:.72rem;font-weight:700}.receipt-zatca small{color:#777;word-break:break-all;font-size:.65rem}.receipt-zatca-status{letter-spacing:.04em;text-transform:uppercase;margin-top:.35rem;font-weight:600;display:block;color:#a16207!important;font-size:.65rem!important}.receipt-zatca-status.st-reported,.receipt-zatca-status.st-sandbox{color:#0f766e!important}.receipt-zatca-status.st-failed{color:#b91c1c!important}.btn:disabled{opacity:.45;cursor:not-allowed;transform:none}@media (width<=860px){.login-card,.company-pick-grid{grid-template-columns:1fr}}.toast-banner{background:var(--teal-soft);color:var(--teal);border-radius:14px;margin-bottom:.85rem;padding:.7rem .9rem;font-weight:700;animation:.28s both rise}.flash-popup{z-index:200;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#12201c73;place-items:center;padding:1rem;animation:.18s both fade-in;display:grid;position:fixed;inset:0}.flash-popup-card{text-align:center;background:#fff;border-radius:18px;justify-items:center;gap:.55rem;width:min(360px,100%);padding:1.25rem 1.2rem 1rem;animation:.24s both rise;display:grid;box-shadow:0 24px 48px #12201c47}.flash-popup-icon{border-radius:50%;place-items:center;width:3.1rem;height:3.1rem;display:grid}.flash-popup-icon svg{width:1.7rem;height:1.7rem}.flash-popup-card.ok .flash-popup-icon{background:var(--ok-soft);color:var(--ok)}.flash-popup-card.err .flash-popup-icon{background:var(--danger-soft);color:var(--danger)}.flash-popup-card strong{font-family:var(--font-display);color:var(--ink);font-size:1.2rem;font-weight:800}.flash-popup-card p{color:var(--muted);margin:0;font-weight:650;line-height:1.4}.flash-popup-ok{appearance:none;min-width:7.5rem;min-height:var(--touch-min);font:inherit;cursor:pointer;color:#fff;background:linear-gradient(#2aa35f,#1b8a4c);border:0;border-radius:12px;margin-top:.35rem;padding:.55rem 1.2rem;font-weight:750}.flash-popup-card.err .flash-popup-ok{background:linear-gradient(#e03131,#c92a2a)}.modal-backdrop{z-index:50;background:#12201c73;place-items:center;padding:1rem;animation:.18s both fade-in;display:grid;position:fixed;inset:0}.modal-card{background:var(--panel);width:min(520px,100%);box-shadow:var(--shadow);border-radius:20px;gap:.85rem;padding:1.1rem;animation:.24s both rise;display:grid}.modal-lead{color:var(--muted);margin:0;line-height:1.45}.text-prompt-card{width:min(420px,100%);overflow:visible}.text-prompt-actions{flex-wrap:wrap;justify-content:flex-end;gap:.65rem;margin-top:.25rem;display:flex}.text-prompt-actions .btn{white-space:nowrap;min-width:7.5rem}.method-grid,.priority-row{gap:.55rem;display:grid}.method-grid{grid-template-columns:1fr}.priority-row{grid-template-columns:repeat(3,1fr)}.action-row-3{grid-template-columns:1fr 1fr}.receipt-kind-tag{letter-spacing:.04em;color:var(--accent);margin:.35rem 0 0;font-size:.72rem;font-weight:800}@media print{@page{size:80mm 297mm;margin:0}html,body{background:#fff!important;width:80mm!important;max-width:80mm!important;margin:0!important;padding:0!important}body *{visibility:hidden!important}#mesa-print-area,#mesa-print-area *{visibility:visible!important}#mesa-print-area{color:#000!important;width:80mm!important;max-width:80mm!important;box-shadow:none!important;background:#fff!important;border:none!important;border-radius:0!important;margin:0!important;padding:3mm 2.5mm!important;font-family:Segoe UI,Helvetica Neue,Arial,sans-serif!important;font-size:12px!important;line-height:1.35!important;position:absolute!important;top:0!important;left:0!important}#mesa-print-area .receipt-brand{margin-bottom:6px!important;font-size:15px!important}#mesa-print-area p,#mesa-print-area .receipt-line,#mesa-print-area .receipt-thanks{color:#000!important}#mesa-print-area hr{border-top-color:#000!important}}.ticket-cards{gap:.55rem;display:grid}.ticket-card{text-align:left;background:var(--surface-2);box-shadow:inset 0 0 0 1px var(--line);border:0;border-radius:14px;padding:.9rem}.ticket-card.selected{box-shadow:0 0 0 2px var(--ink)}.ticket-card strong{display:block}.ticket-card span{color:var(--muted);font-size:.8rem}.form-grid{gap:.55rem;display:grid}.app-shell:has(.zk-kds) .main-stage{background:#eef3f0;flex-direction:column;max-width:none;min-height:100%;padding:0;display:flex;overflow:auto}.app-shell:has(.zk-kds) .main-stage>.zk-kds{height:auto;min-height:100%;max-height:none}.zk-kds .zk-dash-header{min-width:0;margin:.55rem .8rem 0}.zk-kds .zk-dash-brand{color:inherit;min-width:0;text-decoration:none}.zk-kds.zk-dept{background:radial-gradient(720px 340px at 0 0,#c45c261f,#0000 55%),radial-gradient(560px 280px at 100% 8%,#1f6b5c1a,#0000 50%),linear-gradient(#eef3f0 0%,#e6ece8 100%);flex-direction:column;flex:1 0 auto;grid-template-rows:none;width:100%;height:auto;min-height:100%;display:flex}.zk-kds>.zk-hub-foot{z-index:5;flex-shrink:0;margin-top:auto;position:sticky;bottom:0}.kds-page-inner{flex-direction:column;flex:auto;gap:.65rem;min-width:0;min-height:0;margin:.55rem .8rem;padding-bottom:.85rem;display:flex}.kds-ico{width:1.05rem;height:1.05rem;display:block}.kds-hero{color:#fff8f1;background:linear-gradient(135deg,#8a3b12 0%,#c45c26 48%,#e67700 100%);border-radius:14px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.85rem;padding:.75rem 1rem;display:flex;box-shadow:0 8px 22px #8a3b1238}.kds-hero-brand{align-items:center;gap:.7rem;min-width:0;display:flex}.kds-hero-brand h1{font-family:var(--font-display);margin:0;font-size:1.2rem;font-weight:750}.kds-hero-brand p{opacity:.9;margin:.1rem 0 0;font-size:.78rem}.kds-hero-mark{background:#ffffff29;border-radius:12px;flex-shrink:0;place-items:center;width:2.45rem;height:2.45rem;display:grid}.kds-hero-mark .kds-ico{width:1.3rem;height:1.3rem}.kds-hero-stats{flex-wrap:wrap;gap:.45rem;display:flex}.kds-stat{background:#ffffff24;border-radius:999px;align-items:center;gap:.35rem;padding:.38rem .65rem;font-size:.76rem;display:inline-flex}.kds-stat strong{font-size:.95rem}.kds-stat em{opacity:.9;font-style:normal}.kds-stat.tone-queued{background:#fff3bf38}.kds-stat.tone-cooking{background:#fff3}.kds-stat.tone-ready{background:#c9f2d740}.kds-filters{flex-wrap:wrap;gap:.45rem;display:flex}.zk-kds .kds-filters{margin:0}.kds-tab{border:1px solid var(--line);min-height:44px;color:var(--ink-soft);font:inherit;cursor:pointer;background:#fff;border-radius:12px;align-items:center;gap:.4rem;padding:.4rem .75rem;font-weight:700;transition:transform .12s,box-shadow .12s,border-color .12s;display:inline-flex}.kds-tab:hover{transform:translateY(-1px);box-shadow:0 4px 12px #0000000f}.kds-tab-ico{color:#868e96;background:#f1f3f5;border-radius:8px;place-items:center;width:1.7rem;height:1.7rem;display:grid}.kds-tab em{text-align:center;min-width:1.25rem;color:var(--muted);background:#f1f3f5;border-radius:999px;padding:.1rem .35rem;font-size:.72rem;font-style:normal;font-weight:800}.kds-tab.tone-board.on{color:#8a3b12;background:linear-gradient(#fff 0%,#fff4e6 100%);border-color:#c45c26}.kds-tab.tone-board.on .kds-tab-ico{color:#e8590c;background:#fff4e6}.kds-tab.tone-queued.on{color:#5c4800;background:linear-gradient(#fff 0%,#fff9db 100%);border-color:#fab005}.kds-tab.tone-queued.on .kds-tab-ico{color:#e67700;background:#fff3bf}.kds-tab.tone-cooking.on{color:#d9480f;background:linear-gradient(#fff 0%,#fff4e6 100%);border-color:#f76707}.kds-tab.tone-cooking.on .kds-tab-ico{color:#d9480f;background:#ffe8cc}.kds-tab.tone-ready.on{color:#2b8a3e;background:linear-gradient(#fff 0%,#ebfbee 100%);border-color:#37b24d}.kds-tab.tone-ready.on .kds-tab-ico{color:#2b8a3e;background:#d3f9d8}.kds-tab.tone-board.on em{color:#fff;background:#c45c26}.kds-tab.tone-queued.on em{color:#fff;background:#e67700}.kds-tab.tone-cooking.on em{color:#fff;background:#d9480f}.kds-tab.tone-ready.on em{color:#fff;background:#2b8a3e}.zk-kds .kds-body{flex:auto;align-items:stretch;gap:.85rem;min-height:0;margin:0;padding:0;grid-template-columns:minmax(220px,260px) minmax(0,1fr)!important;display:grid!important}.zk-kds .kds-tree{background:#fff;border:1px solid #d9e3dc;border-radius:16px;align-content:start;align-self:stretch;gap:.2rem;min-height:18rem;max-height:none;padding:.7rem;display:grid;position:sticky;top:.55rem;overflow:auto;box-shadow:0 8px 20px #12201c0f}.kds-tree-head{border-bottom:1px solid #eef2f0;justify-content:space-between;align-items:center;gap:.5rem;margin:0 0 .45rem;padding:.2rem .25rem .55rem;display:flex}.kds-tree-head strong{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);font-size:.78rem;font-weight:800}.kds-tree-head span{color:#c45c26;background:#fff4e6;border-radius:999px;padding:.1rem .4rem;font-size:.72rem;font-weight:800}.zk-kds .kds-board{background:linear-gradient(#ffffffeb,#f7faf8f5),#f7faf8;border:1px solid #d5ded8;border-radius:16px;align-self:stretch;min-height:18rem;padding:.85rem;overflow:auto;box-shadow:inset 0 1px #fffc}.kds-board-head{border-bottom:1px dashed #dbe4de;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.75rem;padding-bottom:.65rem;display:flex}.kds-board-head strong{font-family:var(--font-display);color:var(--ink);font-size:1.05rem;display:block}.kds-board-head p{color:var(--muted);margin:.15rem 0 0;font-size:.78rem}.kds-board-chip{color:#c45c26;background:#fff4e6;border-radius:999px;place-items:center;min-width:2rem;height:2rem;font-size:.85rem;font-weight:800;display:grid}.kds-board-chip.tone-queued{color:#5c4800;background:#fff3bf}.kds-board-chip.tone-cooking{color:#d9480f;background:#ffe8cc}.kds-board-chip.tone-ready{color:#2b8a3e;background:#d3f9d8}.kds-board-chip.tone-open{color:#c45c26;background:#fff4e6}.kds-tree-all,.kds-tree-label{align-items:center;gap:.45rem;display:inline-flex}.kds-tree-ico{color:#495057;background:#f1f3f5;border-radius:8px;flex-shrink:0;place-items:center;width:1.55rem;height:1.55rem;display:grid}.kds-tree-all.active .kds-tree-ico,.kds-tree-label.active .kds-tree-ico{color:#c45c26;background:#fff4e6}.kds-grid{grid-template-columns:repeat(auto-fill,minmax(270px,1fr));align-content:start;gap:.85rem;display:grid}.kds-empty{text-align:center;color:var(--muted);background:#ffffffb3;border:1px dashed #d5ddd8f2;border-radius:14px;place-items:center;gap:.35rem;padding:2.5rem 1rem;display:grid}.kds-empty-ico{color:#c45c26;background:#fff4e6;border-radius:14px;place-items:center;width:3rem;height:3rem;margin-bottom:.25rem;display:grid}.kds-empty-ico .kds-ico{width:1.5rem;height:1.5rem}.kds-empty strong{color:var(--ink);font-family:var(--font-display)}.kds-card{background:#fff;border:1px solid #d5ddd8d9;border-radius:16px;gap:.55rem;padding:1rem 1rem .9rem;animation:.48s both rise;display:grid;position:relative;overflow:hidden;box-shadow:0 6px 18px #0000000d}.kds-card-stripe{background:#fab005;width:4px;position:absolute;inset:0 auto 0 0}.kds-card-stripe.status-cooking{background:#f76707}.kds-card-stripe.status-ready{background:#37b24d}html[dir=rtl] .kds-card-stripe{inset:0 0 0 auto}.kds-card header{justify-content:space-between;align-items:start;gap:.5rem;display:flex}.kds-card-title{align-items:flex-start;gap:.45rem;min-width:0;display:flex}.kds-card-title strong{line-height:1.25}.kds-source-ico{color:#e67700;background:#fff3bf;border-radius:9px;flex-shrink:0;place-items:center;width:1.85rem;height:1.85rem;display:grid}.kds-source-ico.status-cooking{color:#d9480f;background:#ffe8cc}.kds-source-ico.status-ready{color:#2b8a3e;background:#d3f9d8}.kds-badge{white-space:nowrap;color:#5c4800;background:#fff3bf;border-radius:999px;align-items:center;padding:.22rem .5rem;font-size:.7rem;font-weight:800;display:inline-flex}.kds-badge.cook{color:#d9480f;background:#ffe8cc}.kds-badge.ok{color:#2b8a3e;background:#d3f9d8}.kds-badge.high{color:#c92a2a;background:#ffe3e3}.kds-card ul{background:#f8faf9;border-radius:12px;gap:.35rem;margin:0;padding:.55rem .65rem;list-style:none;display:grid}.kds-card ul li{align-items:baseline;gap:.4rem;font-size:.9rem;display:flex}.kds-time{color:var(--muted);margin:0;font-size:.8rem}.kds-card.priority-high{border-color:#fdc2c2;box-shadow:0 6px 18px #fa525214}.kds-card.status-cooking{border-color:#fdd1b5}.kds-card.status-ready{border-color:#b9e4c1}.kds-actions{margin-top:.15rem}.kds-card.status-ready .kds-actions,.kds-card.status-cooking .kds-actions{grid-template-columns:1fr}.kds-act{justify-content:center;align-items:center;gap:.35rem;display:inline-flex}.kds-act.cook{color:#fff;background:linear-gradient(135deg,#d9480f,#f76707);border:none}.kds-act.ready{color:#2b8a3e;border-color:#37b24d}.kds-act.ready.btn-teal{color:#fff;background:linear-gradient(135deg,#2b8a3e,#37b24d);border:none}.kds-act.done{color:#fff;background:linear-gradient(135deg,#087f5b,#12b886);border:none}@media (width<=960px){.zk-kds .kds-body{gap:.65rem;grid-template-columns:minmax(190px,220px) minmax(0,1fr)!important}.zk-kds .kds-tree{flex-wrap:unset;align-content:start;max-height:min(72vh,40rem);display:grid;position:sticky;top:.4rem}.zk-kds .kds-tree-head{flex:unset;margin-bottom:.45rem}.zk-kds .kds-tree .zk-tree-block{flex:unset;min-width:0}.zk-kds .kds-tree .zk-tree-subs{gap:.15rem;display:grid}.zk-kds .kds-board{min-height:14rem}}@media (width<=720px){.kds-hero{flex-direction:column;align-items:stretch}.kds-filters{flex-wrap:nowrap;padding-bottom:.2rem;overflow-x:auto}.kds-tab{flex-shrink:0}.zk-kds .kds-body{grid-template-columns:minmax(160px,180px) minmax(0,1fr)!important}.kds-grid{grid-template-columns:1fr}.kds-tree-label,.kds-tree-all{font-size:.82rem}.zk-kds .kds-tree .zk-tree-subs button{padding-inline:.45rem;font-size:.78rem}}@media (width<=560px){.zk-kds .kds-body{gap:.5rem;grid-template-columns:minmax(132px,148px) minmax(0,1fr)!important}.zk-kds .kds-tree{min-height:12rem;padding:.5rem}.kds-tree-head strong{font-size:.68rem}.zk-tree-toggle{width:1.4rem;min-width:1.4rem}.kds-tree-ico{width:1.35rem;height:1.35rem}}@media (width<=720px){.mode-grid{grid-template-columns:1fr}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes pop{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@keyframes grow{0%{transform-origin:bottom;transform:scaleY(.2)}to{transform-origin:bottom;transform:scaleY(1)}}.settle-loyalty{gap:.35rem;width:100%;min-width:0;margin-bottom:.85rem;display:grid}.settle-loyalty .mesa-select,.settle-loyalty .mesa-select-field,.settle-loyalty .mesa-select-trigger{width:100%}.settle-loyalty .mesa-select-trigger{justify-content:space-between;align-items:center;display:flex}.app-shell.home-mode .main-stage{background:radial-gradient(900px 420px at 12% -10%, #1f8a4c24, transparent 60%), radial-gradient(700px 380px at 100% 0%, #c45c2614, transparent 55%), linear-gradient(180deg, #e8efe9 0%, var(--surface) 42%, #e4ebe6 100%);flex-direction:column;padding:.7rem .8rem .75rem;display:flex;overflow:hidden}.zk-dash{grid-template-rows:auto minmax(0,1fr) auto auto;gap:.65rem;height:100%;min-height:0;animation:.4s both rise;display:grid;overflow:hidden}.zk-dash-header{color:#fff;z-index:40;isolation:isolate;background:linear-gradient(125deg,#ffffff24,#0000 42%),linear-gradient(#249656 0%,#167a43 55%,#126739 100%);border-radius:16px;grid-template-columns:minmax(0,auto) minmax(8rem,1fr) minmax(0,auto);align-items:center;gap:.85rem;min-width:0;padding:.7rem 1rem;display:grid;position:sticky;top:0;overflow:visible;box-shadow:0 14px 30px #125a3247,inset 0 1px #ffffff38}.zk-dash-header:after{content:"";pointer-events:none;background:#ffffff14;border-radius:50%;width:180px;max-width:40%;height:180px;position:absolute;inset:auto 0 -70% auto}.zk-stock .zk-dash-header:after,.zk-po .zk-dash-header:after,.zk-vnd .zk-dash-header:after,.zk-xfer-desk .zk-dash-header:after,.zk-recv-desk .zk-dash-header:after,.zk-crm-desk .zk-dash-header:after,.zk-mst-desk .zk-dash-header:after,.zk-settings-desk .zk-dash-header:after{display:none}.zk-dash-brand{z-index:1;align-items:center;gap:.7rem;min-width:0;max-width:100%;display:flex}.zk-dash-mark{color:#167a43;background:#fff;border:0;border-radius:11px;flex-shrink:0;place-items:center;width:2.55rem;height:2.55rem;display:grid;box-shadow:0 6px 14px #0c341e2e}.zk-dash-mark .brand-mark-letters{letter-spacing:.08em;color:#167a43;font-size:.78rem}.zk-dash-mark.brand-mark-img{background:#fff;padding:3px}.zk-dash-brand>div{min-width:0}.zk-dash-brand strong{font-family:var(--font-body);letter-spacing:-.01em;white-space:normal;max-width:20rem;font-size:1.02rem;font-weight:800;line-height:1.2;display:block}.zk-dash-brand small{opacity:.88;white-space:nowrap;margin-top:.12rem;font-size:.72rem;display:block}.zk-dash-search{z-index:2;width:100%;min-width:0;max-width:22rem;color:var(--ink);background:#fffffff5;border-radius:8px;align-items:center;gap:.45rem;padding:.15rem .7rem .15rem .65rem;display:flex;box-shadow:inset 0 0 0 1px #ffffff59,0 6px 14px #0000001a}.zk-dash-search svg{width:1.05rem;height:1.05rem;color:var(--muted);flex-shrink:0}.zk-dash-search input{min-width:0;color:var(--ink);font:inherit;background:0 0;border:0;outline:none;flex:1;padding:.45rem 0;font-size:.92rem}.zk-dash-search input::placeholder{color:var(--muted)}.zk-dash-empty{text-align:center;color:var(--muted);margin:0;padding:1.2rem .5rem;font-weight:600}.zk-dash-clock{text-align:end;z-index:1;gap:.05rem;min-width:5.5rem;padding-inline:.35rem;display:grid}.zk-dash-clock span{text-transform:uppercase;letter-spacing:.06em;opacity:.8;font-size:.72rem}.zk-dash-clock strong{font-size:.95rem;font-weight:700}.zk-dash-header-actions{z-index:2;flex-wrap:nowrap;justify-self:end;align-items:center;gap:.4rem;min-width:0;max-width:100%;display:flex;position:relative;overflow:visible}.zk-dash-branch{flex:0 auto;min-width:0;max-width:min(14rem,36vw)}.zk-dash-branch .mesa-select,.zk-dash-branch .mesa-select-chrome{width:100%;min-width:0;max-width:100%}.zk-dash-header-actions .mesa-select-chrome{flex:0 auto;min-width:0;max-width:100%}.zk-dash-header-actions .mesa-select-chrome .mesa-select-trigger{width:100%;min-width:0;max-width:100%;min-height:36px}.zk-dash-header-actions .mesa-select-chrome .mesa-select-value{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.zk-dash-end-tools{flex-shrink:0;align-items:center;gap:.4rem;min-height:36px;display:inline-flex;position:relative}.zk-dash-end-tools>.mesa-sync-chip,.zk-dash-end-tools>.zk-dash-icon-btn,.zk-dash-end-tools>.mesa-lang-switch,.zk-dash-end-tools>.zk-dash-profile{flex:none;align-self:center}.zk-dash-header-actions .mesa-sync-chip{color:#fff;background:#ffffff29;border:1px solid #ffffff38;border-radius:8px;min-height:36px;padding:0 .7rem;font-size:.78rem;font-weight:700}.zk-dash-header-actions .mesa-sync-chip.online,.zk-dash-header-actions .mesa-sync-chip.syncing{color:#fff;background:#ffffff29;border-color:#ffffff38}.zk-dash-header-actions .mesa-sync-chip.offline{color:#ffecea;background:#b4231861;border-color:#ff968c73}.zk-dash-header-actions .mesa-sync-chip.poison{color:#fff;background:#8c141085;border-color:#ff786e8c}.zk-dash-header-actions .mesa-sync-chip.online .mesa-sync-dot,.zk-dash-header-actions .mesa-sync-chip.syncing .mesa-sync-dot{background:#7dffb0}.zk-dash-header-actions .mesa-sync-chip.offline .mesa-sync-dot,.zk-dash-header-actions .mesa-sync-chip.poison .mesa-sync-dot{background:#ff6b6b}.zk-dash-header-actions .mesa-sync-chip.syncing .mesa-sync-dot{animation:1s ease-in-out infinite mesa-sync-pulse}.zk-hub-top .mesa-sync-chip,header.zk-settings-top .mesa-sync-chip,header.zk-units-top .mesa-sync-chip,header.zk-products-top .mesa-sync-chip,header.zk-dept-top .mesa-sync-chip,header.zk-ed-top .mesa-sync-chip,header.zk-db-top .mesa-sync-chip,header.zk-payt-top .mesa-sync-chip,header.zk-vendors-top .mesa-sync-chip,header.zk-et-top .mesa-sync-chip,header.zk-inv-top .mesa-sync-chip,header.zk-recv-top .mesa-sync-chip,header.zk-company-top .mesa-sync-chip,header.zk-tax-top .mesa-sync-chip,header.zk-gift-top .mesa-sync-chip,header.zk-fv-top .mesa-sync-chip,header.zk-acc-top .mesa-sync-chip,header.zk-mt-top .mesa-sync-chip{color:#fff;background:#ffffff24;border:1px solid #ffffff47;border-radius:999px;min-height:2.35rem;padding:.25rem .65rem;font-size:.78rem;font-weight:700}.zk-hub-top .mesa-sync-chip.online .mesa-sync-dot,header.zk-settings-top .mesa-sync-chip.online .mesa-sync-dot,header.zk-units-top .mesa-sync-chip.online .mesa-sync-dot,header.zk-products-top .mesa-sync-chip.online .mesa-sync-dot,header.zk-dept-top .mesa-sync-chip.online .mesa-sync-dot,header.zk-ed-top .mesa-sync-chip.online .mesa-sync-dot,header.zk-db-top .mesa-sync-chip.online .mesa-sync-dot,header.zk-payt-top .mesa-sync-chip.online .mesa-sync-dot,header.zk-vendors-top .mesa-sync-chip.online .mesa-sync-dot,header.zk-et-top .mesa-sync-chip.online .mesa-sync-dot,header.zk-inv-top .mesa-sync-chip.online .mesa-sync-dot,header.zk-recv-top .mesa-sync-chip.online .mesa-sync-dot,header.zk-company-top .mesa-sync-chip.online .mesa-sync-dot,header.zk-tax-top .mesa-sync-chip.online .mesa-sync-dot,header.zk-gift-top .mesa-sync-chip.online .mesa-sync-dot,header.zk-fv-top .mesa-sync-chip.online .mesa-sync-dot,header.zk-acc-top .mesa-sync-chip.online .mesa-sync-dot,header.zk-mt-top .mesa-sync-chip.online .mesa-sync-dot,.zk-hub-top .mesa-sync-chip.syncing .mesa-sync-dot,header.zk-settings-top .mesa-sync-chip.syncing .mesa-sync-dot,header.zk-units-top .mesa-sync-chip.syncing .mesa-sync-dot,header.zk-products-top .mesa-sync-chip.syncing .mesa-sync-dot,header.zk-dept-top .mesa-sync-chip.syncing .mesa-sync-dot,header.zk-ed-top .mesa-sync-chip.syncing .mesa-sync-dot,header.zk-db-top .mesa-sync-chip.syncing .mesa-sync-dot,header.zk-payt-top .mesa-sync-chip.syncing .mesa-sync-dot,header.zk-vendors-top .mesa-sync-chip.syncing .mesa-sync-dot,header.zk-et-top .mesa-sync-chip.syncing .mesa-sync-dot,header.zk-inv-top .mesa-sync-chip.syncing .mesa-sync-dot,header.zk-recv-top .mesa-sync-chip.syncing .mesa-sync-dot,header.zk-company-top .mesa-sync-chip.syncing .mesa-sync-dot,header.zk-tax-top .mesa-sync-chip.syncing .mesa-sync-dot,header.zk-gift-top .mesa-sync-chip.syncing .mesa-sync-dot,header.zk-fv-top .mesa-sync-chip.syncing .mesa-sync-dot,header.zk-acc-top .mesa-sync-chip.syncing .mesa-sync-dot,header.zk-mt-top .mesa-sync-chip.syncing .mesa-sync-dot{background:#7dffb0}.zk-hub-top .mesa-sync-chip.offline,header.zk-settings-top .mesa-sync-chip.offline,header.zk-units-top .mesa-sync-chip.offline,header.zk-products-top .mesa-sync-chip.offline,header.zk-dept-top .mesa-sync-chip.offline,header.zk-ed-top .mesa-sync-chip.offline,header.zk-db-top .mesa-sync-chip.offline,header.zk-payt-top .mesa-sync-chip.offline,header.zk-vendors-top .mesa-sync-chip.offline,header.zk-et-top .mesa-sync-chip.offline,header.zk-inv-top .mesa-sync-chip.offline,header.zk-recv-top .mesa-sync-chip.offline,header.zk-company-top .mesa-sync-chip.offline,header.zk-tax-top .mesa-sync-chip.offline,header.zk-gift-top .mesa-sync-chip.offline,header.zk-fv-top .mesa-sync-chip.offline,header.zk-acc-top .mesa-sync-chip.offline,header.zk-mt-top .mesa-sync-chip.offline{color:#ffecea;background:#b4231861;border-color:#ff968c73}.zk-hub-top .mesa-sync-chip.poison,header.zk-settings-top .mesa-sync-chip.poison,header.zk-units-top .mesa-sync-chip.poison,header.zk-products-top .mesa-sync-chip.poison,header.zk-dept-top .mesa-sync-chip.poison,header.zk-ed-top .mesa-sync-chip.poison,header.zk-db-top .mesa-sync-chip.poison,header.zk-payt-top .mesa-sync-chip.poison,header.zk-vendors-top .mesa-sync-chip.poison,header.zk-et-top .mesa-sync-chip.poison,header.zk-inv-top .mesa-sync-chip.poison,header.zk-recv-top .mesa-sync-chip.poison,header.zk-company-top .mesa-sync-chip.poison,header.zk-tax-top .mesa-sync-chip.poison,header.zk-gift-top .mesa-sync-chip.poison,header.zk-fv-top .mesa-sync-chip.poison,header.zk-acc-top .mesa-sync-chip.poison,header.zk-mt-top .mesa-sync-chip.poison{color:#fff;background:#8c141085;border-color:#ff786e8c}.zk-hub-top .mesa-sync-chip.offline .mesa-sync-dot,header.zk-settings-top .mesa-sync-chip.offline .mesa-sync-dot,header.zk-units-top .mesa-sync-chip.offline .mesa-sync-dot,header.zk-products-top .mesa-sync-chip.offline .mesa-sync-dot,header.zk-dept-top .mesa-sync-chip.offline .mesa-sync-dot,header.zk-ed-top .mesa-sync-chip.offline .mesa-sync-dot,header.zk-db-top .mesa-sync-chip.offline .mesa-sync-dot,header.zk-payt-top .mesa-sync-chip.offline .mesa-sync-dot,header.zk-vendors-top .mesa-sync-chip.offline .mesa-sync-dot,header.zk-et-top .mesa-sync-chip.offline .mesa-sync-dot,header.zk-inv-top .mesa-sync-chip.offline .mesa-sync-dot,header.zk-recv-top .mesa-sync-chip.offline .mesa-sync-dot,header.zk-company-top .mesa-sync-chip.offline .mesa-sync-dot,header.zk-tax-top .mesa-sync-chip.offline .mesa-sync-dot,header.zk-gift-top .mesa-sync-chip.offline .mesa-sync-dot,header.zk-fv-top .mesa-sync-chip.offline .mesa-sync-dot,header.zk-acc-top .mesa-sync-chip.offline .mesa-sync-dot,header.zk-mt-top .mesa-sync-chip.offline .mesa-sync-dot,.zk-hub-top .mesa-sync-chip.poison .mesa-sync-dot,header.zk-settings-top .mesa-sync-chip.poison .mesa-sync-dot,header.zk-units-top .mesa-sync-chip.poison .mesa-sync-dot,header.zk-products-top .mesa-sync-chip.poison .mesa-sync-dot,header.zk-dept-top .mesa-sync-chip.poison .mesa-sync-dot,header.zk-ed-top .mesa-sync-chip.poison .mesa-sync-dot,header.zk-db-top .mesa-sync-chip.poison .mesa-sync-dot,header.zk-payt-top .mesa-sync-chip.poison .mesa-sync-dot,header.zk-vendors-top .mesa-sync-chip.poison .mesa-sync-dot,header.zk-et-top .mesa-sync-chip.poison .mesa-sync-dot,header.zk-inv-top .mesa-sync-chip.poison .mesa-sync-dot,header.zk-recv-top .mesa-sync-chip.poison .mesa-sync-dot,header.zk-company-top .mesa-sync-chip.poison .mesa-sync-dot,header.zk-tax-top .mesa-sync-chip.poison .mesa-sync-dot,header.zk-gift-top .mesa-sync-chip.poison .mesa-sync-dot,header.zk-fv-top .mesa-sync-chip.poison .mesa-sync-dot,header.zk-acc-top .mesa-sync-chip.poison .mesa-sync-dot,header.zk-mt-top .mesa-sync-chip.poison .mesa-sync-dot{background:#ff6b6b}.zk-hub-top .mesa-sync-chip.syncing .mesa-sync-dot,header.zk-settings-top .mesa-sync-chip.syncing .mesa-sync-dot,header.zk-units-top .mesa-sync-chip.syncing .mesa-sync-dot,header.zk-products-top .mesa-sync-chip.syncing .mesa-sync-dot,header.zk-dept-top .mesa-sync-chip.syncing .mesa-sync-dot,header.zk-ed-top .mesa-sync-chip.syncing .mesa-sync-dot,header.zk-db-top .mesa-sync-chip.syncing .mesa-sync-dot,header.zk-payt-top .mesa-sync-chip.syncing .mesa-sync-dot,header.zk-vendors-top .mesa-sync-chip.syncing .mesa-sync-dot,header.zk-et-top .mesa-sync-chip.syncing .mesa-sync-dot,header.zk-inv-top .mesa-sync-chip.syncing .mesa-sync-dot,header.zk-recv-top .mesa-sync-chip.syncing .mesa-sync-dot,header.zk-company-top .mesa-sync-chip.syncing .mesa-sync-dot,header.zk-tax-top .mesa-sync-chip.syncing .mesa-sync-dot,header.zk-gift-top .mesa-sync-chip.syncing .mesa-sync-dot,header.zk-fv-top .mesa-sync-chip.syncing .mesa-sync-dot,header.zk-acc-top .mesa-sync-chip.syncing .mesa-sync-dot,header.zk-mt-top .mesa-sync-chip.syncing .mesa-sync-dot{animation:1s ease-in-out infinite mesa-sync-pulse}.zk-dash-icon-btn,.zk-dash-lang,.zk-dash-lock,.zk-dash-profile-btn{appearance:none;color:#fff;min-height:36px;font:inherit;cursor:pointer;background:#ffffff29;border:1px solid #ffffff47;border-radius:8px;padding:0 .75rem;font-weight:700}.zk-dash-icon-btn{box-sizing:border-box;border-radius:8px;place-items:center;width:36px;height:36px;min-height:36px;max-height:36px;padding:0;line-height:0;display:inline-grid;position:relative;overflow:visible}.zk-dash-icon-btn svg{width:18px;height:18px;display:block}.mesa-lang-switch{border-radius:8px;align-items:stretch;min-height:36px;display:inline-flex;overflow:hidden}.mesa-lang-switch button{appearance:none;font:inherit;letter-spacing:.02em;cursor:pointer;background:0 0;border:0;border-radius:0;padding:0 .7rem;font-size:.78rem;font-weight:750}.mesa-lang-chrome{background:#ffffff1f;border:1px solid #ffffff47}.mesa-lang-chrome button{color:#ffffffb8}.mesa-lang-chrome button.on{color:#146c3c;background:#fff}.mesa-lang-field{background:#fff;border:1px solid #c5d4cc}.mesa-lang-field button{color:var(--muted)}.mesa-lang-field button.on{color:#fff;background:#1b8a4c}.zk-dash-note-badge{color:#fff;pointer-events:none;z-index:1;background:#c92a2a;border-radius:999px;place-items:center;min-width:1.05rem;height:1.05rem;font-size:.65rem;font-style:normal;font-weight:800;line-height:1;display:grid;position:absolute;top:-5px;right:-5px;box-shadow:0 0 0 2px #126739e6}.zk-dash-note-pop{width:min(260px,80vw);color:var(--ink);box-shadow:var(--shadow);border:1px solid var(--line);background:#fff;border-radius:8px;gap:.2rem;padding:.35rem;display:grid;position:absolute;top:calc(100% + .4rem);right:0}.zk-dash-note-pop a,.zk-dash-note-pop p{color:inherit;border-radius:6px;margin:0;padding:.5rem .55rem;font-size:.88rem;text-decoration:none}.zk-dash-note-pop a:hover{background:var(--surface-2)}.zk-dash-profile{position:relative}.zk-dash-profile-btn{justify-content:space-between;align-items:center;gap:.5rem;min-width:0;max-width:11.5rem;padding-inline:.35rem .5rem;display:flex}.zk-dash-profile-btn em{color:#167a43;background:#fff;border-radius:6px;flex-shrink:0;place-items:center;width:1.55rem;height:1.55rem;font-size:.68rem;font-style:normal;font-weight:800;display:grid}.zk-dash-profile-btn span{text-align:start;flex:auto;min-width:0;line-height:1.15;display:grid}.zk-dash-profile-btn strong{text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;display:block;overflow:hidden}.zk-dash-profile-btn small{opacity:.82;font-size:.65rem;font-weight:650}.zk-dash-profile-btn svg{opacity:1;flex:none;width:1.05rem;height:1.05rem;margin-inline-start:.1rem}.zk-dash-profile.open .zk-dash-profile-btn svg{transform:rotate(180deg)}.zk-dash-profile:has(.zk-dash-profile-menu) .zk-dash-profile-btn svg{transform:rotate(180deg)}.zk-dash-profile-menu{top:calc(100% + .4rem);width:min(220px,80vw);color:var(--ink);box-shadow:var(--shadow);border:1px solid var(--line);z-index:12;background:#fff;border-radius:8px;gap:.2rem;padding:.35rem;display:grid;position:absolute;inset-inline-end:0}.zk-dash-profile-meta{border-bottom:1px solid var(--line);gap:.1rem;margin:0;padding:.55rem .7rem .45rem;display:grid}.zk-dash-profile-meta strong{font-size:.92rem}.zk-dash-profile-meta span{color:var(--muted);font-size:.75rem}.zk-dash-profile-logout{appearance:none;color:var(--danger);font:inherit;text-align:start;cursor:pointer;background:0 0;border:0;border-radius:10px;padding:.65rem .7rem;font-weight:750}.zk-dash-profile-logout:hover,.zk-dash-profile-logout:focus-visible{background:var(--danger-soft);outline:none}.zk-dash-ops{grid-template-columns:repeat(4,minmax(0,1fr));gap:.7rem;display:grid}.zk-dash-section{gap:.65rem;display:grid}.zk-dash-section-head{border-bottom:1px solid var(--line);align-items:center;gap:.55rem;padding-bottom:.4rem;display:flex}.zk-dash-section-head h2{font-family:var(--font-body);letter-spacing:.04em;text-transform:uppercase;color:var(--ink);margin:0;font-size:.92rem;font-weight:800}.zk-dash-section-head h2:before{content:"";background:var(--teal);vertical-align:.05em;border-radius:3px;width:.55rem;height:.55rem;margin-inline-end:.5rem;display:inline-block}.zk-dash-body{align-content:start;gap:1rem;min-height:0;padding-right:2px;display:grid;overflow:auto}.zk-dash-tile{appearance:none;border:1px solid color-mix(in srgb, var(--tile,var(--teal)) 22%, var(--line));background:linear-gradient(180deg, color-mix(in srgb, var(--tile,var(--teal)) 12%, #fff) 0%, #fff 58%);min-height:5.6rem;color:var(--ink);cursor:pointer;font:inherit;border-radius:16px;align-content:center;justify-items:center;gap:.55rem;padding:.85rem .7rem .75rem;text-decoration:none;transition:transform .16s,box-shadow .16s,border-color .16s;display:grid;position:relative;overflow:hidden;box-shadow:0 1px 2px #12201c0a}@supports not (color: color-mix(in srgb, red 50%, blue)){.zk-dash-tile{border:1px solid #d5ddd8;background:linear-gradient(180deg, #ffffff 0%, #fff 58%)}}.zk-dash-tile:before{content:"";background:var(--tile,var(--teal));height:3px;position:absolute;inset:0 0 auto}.zk-dash-glow{display:none}.zk-dash-tile:hover,.zk-dash-tile:focus-visible{border-color:color-mix(in srgb, var(--tile,var(--teal)) 50%, var(--line));box-shadow:0 10px 22px color-mix(in srgb, var(--tile,var(--teal)) 18%, #12201c0f);outline:none;transform:translateY(-2px)}@supports not (color: color-mix(in srgb, red 50%, blue)){.zk-dash-tile:hover,.zk-dash-tile:focus-visible{border-color:var(--tile,var(--teal));box-shadow:0 10px 22px rgba(18, 32, 28, 0.059)}}.zk-dash-icon{color:#fff;background:var(--tile,var(--teal));width:3.6rem;height:3.6rem;box-shadow:0 8px 16px color-mix(in srgb, var(--tile,var(--teal)) 35%, transparent);border-radius:15px;place-items:center;transition:transform .16s;display:grid}@supports not (color: color-mix(in srgb, red 50%, blue)){.zk-dash-icon{box-shadow:0 8px 16px transparent}}.zk-dash-tile:hover .zk-dash-icon{transform:scale(1.05)}.zk-dash-icon svg{width:2rem;height:2rem}.zk-dash-tile strong{font-family:var(--font-body);text-align:center;letter-spacing:0;z-index:1;font-size:.9rem;font-weight:700;line-height:1.2}.zk-dash-tools{-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:0;grid-template-columns:repeat(7,minmax(0,1fr));gap:.7rem;margin-top:0;padding:0;display:grid}.zk-dash-tool{appearance:none;border:1px solid color-mix(in srgb, var(--tile,var(--teal)) 18%, var(--line));background:linear-gradient(180deg, color-mix(in srgb, var(--tile,var(--teal)) 10%, #fff) 0%, #fff 70%);min-height:4.85rem;color:var(--ink);cursor:pointer;font:inherit;border-radius:14px;align-content:center;justify-items:center;gap:.4rem;padding:.65rem .4rem;text-decoration:none;transition:transform .16s,box-shadow .16s,border-color .16s;display:grid;position:relative;overflow:visible;box-shadow:0 1px 2px #12201c0a}@supports not (color: color-mix(in srgb, red 50%, blue)){.zk-dash-tool{border:1px solid #d5ddd8;background:linear-gradient(180deg, #ffffff 0%, #fff 70%)}}.zk-dash-tool:hover,.zk-dash-tool:focus-visible{border-color:color-mix(in srgb, var(--tile,var(--teal)) 40%, var(--line));outline:none;transform:translateY(-2px);box-shadow:0 8px 18px #12201c12}@supports not (color: color-mix(in srgb, red 50%, blue)){.zk-dash-tool:hover,.zk-dash-tool:focus-visible{border-color:#d5ddd8}}.zk-dash-tool.logout:hover,.zk-dash-tool.logout:focus-visible{border-color:var(--danger);background:var(--danger-soft)}.zk-dash-tool-icon{color:#fff;background:var(--tile,var(--teal));border-radius:10px;place-items:center;width:2.15rem;height:2.15rem;display:grid}.zk-dash-tool-icon svg{width:1.15rem;height:1.15rem}.zk-dash-tool strong{font-family:var(--font-body);text-align:center;letter-spacing:0;font-size:.78rem;font-weight:650;line-height:1.2}.zk-dash-announce{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#ffffffb8;border:1px solid #d5ddd8e6;border-radius:14px;align-items:center;gap:.7rem;padding:.7rem .95rem;display:flex}.zk-dash-announce-dot{background:#2f9e44;border-radius:50%;flex-shrink:0;width:.55rem;height:.55rem;animation:1.8s infinite pulse-dot;box-shadow:0 0 0 6px #2f9e4426}@keyframes pulse-dot{0%,to{box-shadow:0 0 0 4px #2f9e441f}50%{box-shadow:0 0 0 8px #2f9e4414}}.zk-dash-announce p{color:var(--muted);flex-wrap:wrap;align-items:baseline;gap:.35rem .75rem;margin:0;font-size:.88rem;display:flex}.zk-dash-announce strong{color:var(--ink);font-family:var(--font-display)}.zk-dash-foot{color:#d6e0db;background:linear-gradient(120deg,#ffffff0f,#0000 40%),linear-gradient(#24312c,#1a2420);border-radius:14px;flex-wrap:wrap;flex-shrink:0;align-items:center;gap:.75rem 1.35rem;min-width:0;padding:.7rem .95rem;font-size:.84rem;display:flex}.zk-dash-user{align-items:center;gap:.45rem;font-weight:600;display:inline-flex}.zk-dash-user em{color:#b2f2bb;background:#2f9e4440;border-radius:50%;place-items:center;width:1.55rem;height:1.55rem;font-size:.65rem;font-style:normal;font-weight:800;display:grid}.zk-dash-open-amt{color:#8ce99a;font-weight:800;font-family:var(--font-display);margin-inline-start:auto;font-size:.95rem}@media (width<=1100px){.zk-dash-header:not(.zk-dash-header-bar){grid-template-columns:minmax(0,auto) minmax(0,1fr);grid-template-areas:"brand actions""search search";gap:.65rem}.zk-dash-brand{grid-area:brand;min-width:0}.zk-dash-brand strong{text-overflow:ellipsis;white-space:nowrap;max-width:12rem;overflow:hidden}.zk-dash-search{grid-area:search;width:100%;max-width:none}.zk-dash-header-actions{flex-wrap:wrap;grid-area:actions;justify-content:flex-end;justify-self:end;row-gap:.4rem}.zk-dash-end-tools{margin-inline-start:0}.zk-dash-clock{overflow:hidden}.zk-dash-branch{max-width:min(12.5rem,42vw)}.zk-dash-ops{grid-template-columns:repeat(3,minmax(0,1fr))}.zk-dash-tools{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (width<=720px){.zk-dash-header:not(.zk-dash-header-bar){grid-template-columns:1fr;grid-template-areas:"brand""actions""search";justify-items:stretch;gap:.55rem;padding:.65rem .7rem}.zk-dash-brand{width:100%}.zk-dash-brand strong{max-width:none}.zk-dash-brand small{display:none}.zk-dash-mark{border-radius:10px;width:2.2rem;height:2.2rem}.zk-dash-header-actions{flex-wrap:wrap;justify-content:flex-start;justify-self:stretch;align-items:center;gap:.4rem;width:100%;display:flex}.zk-dash-branch{flex:1 0 100%;width:100%;max-width:none}.zk-dash-branch .mesa-select-chrome,.zk-dash-branch .mesa-select-chrome .mesa-select-trigger{width:100%;max-width:none}.zk-dash-clock{text-align:start;flex:auto;align-self:center;min-width:0;max-width:none;padding-inline:.15rem;overflow:hidden}.zk-dash-clock span{text-overflow:ellipsis;white-space:nowrap;font-size:.65rem;display:block;overflow:hidden}.zk-dash-clock strong{text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;display:block;overflow:hidden}.zk-dash-end-tools{z-index:3;flex:none;align-self:center;align-items:center;gap:.35rem;height:36px;min-height:36px;margin-inline-start:auto;position:relative}.zk-dash-end-tools>.mesa-sync-chip{box-sizing:border-box;color:#fff;border:1px solid #ffffff47;border-radius:8px;place-items:center;gap:0;width:36px;height:36px;min-height:36px;max-height:36px;padding:0;line-height:0;display:inline-grid;overflow:hidden;background:#ffffff29!important}.zk-dash-end-tools>.mesa-sync-chip .zk-dash-sync-text{display:none}.zk-dash-end-tools>.mesa-sync-chip .mesa-sync-dot{border-radius:50%;width:.7rem;height:.7rem;margin:0;box-shadow:0 0 0 3px #ffffff2e}.zk-dash-end-tools>.mesa-sync-chip.online .mesa-sync-dot,.zk-dash-end-tools>.mesa-sync-chip.syncing .mesa-sync-dot{background:#7dffb0}.zk-dash-end-tools>.mesa-sync-chip.offline .mesa-sync-dot,.zk-dash-end-tools>.mesa-sync-chip.poison .mesa-sync-dot{background:#ff6b6b}.zk-dash-end-tools>.mesa-sync-chip.syncing .mesa-sync-dot{animation:1s ease-in-out infinite mesa-sync-pulse}.zk-dash-end-tools>.zk-dash-icon-btn{width:36px;height:36px}.zk-dash-end-tools>.mesa-lang-switch,.zk-dash-end-tools>.zk-dash-profile,.zk-dash-end-tools>.zk-dash-profile .zk-dash-profile-btn{height:36px;min-height:36px}.zk-dash-profile-btn{gap:.2rem;padding:0 .35rem 0 .15rem}.zk-dash-profile-btn>span{display:none}.zk-dash-profile-btn em{width:1.7rem;height:1.7rem;font-size:.68rem}.mesa-lang-switch button{padding:0 .55rem;font-size:.72rem}.zk-dash-search{max-width:none}.zk-dash-ops,.zk-dash-tools{grid-template-columns:repeat(2,minmax(0,1fr))}.zk-dash-tile{min-height:5.2rem}}@media (width<=480px){.zk-dash-clock{display:none}.zk-dash-end-tools{margin-inline-start:auto}}.app-shell:has(.zk-settings-desk) .main-stage{background:#eef3f0;flex-direction:column;max-width:none;height:100%;min-height:0;padding:0;display:flex;overflow:hidden}.app-shell:has(.zk-settings-desk) .main-stage>.zk-settings-desk{flex:auto;width:100%;height:100%;min-height:0}.app-shell.settings-mode{grid-template-columns:1fr}.app-shell.settings-mode .main-stage{background:#eef2f5;flex-direction:column;height:100%;min-height:0;padding:0;display:flex;overflow:hidden}.zk-settings{background:radial-gradient(900px 360px at 100% 0,#24965614,#0000 55%),linear-gradient(#f3f7f4 0%,#eef2f0 100%);flex:1;grid-template-rows:auto minmax(0,1fr) auto;height:100%;min-height:0;display:grid}.zk-settings-desk{flex-direction:column;grid-template-rows:none;display:flex;overflow:hidden}.zk-settings-desk .zk-dash-header{z-index:30;isolation:isolate;flex-shrink:0;margin:.65rem .85rem 0;position:relative;top:auto}.zk-settings-desk>.zk-hub-foot{z-index:20;flex-shrink:0;margin-top:0;position:relative}.zk-settings-desk .zk-settings-body{background:#ffffff8c;border:1px solid #125a321a;border-radius:16px;flex:auto;min-height:0;margin:.75rem .85rem .85rem;overflow:hidden;box-shadow:0 8px 22px #123c280f}.zk-settings-top{color:#fff;z-index:2;background:linear-gradient(125deg,#ffffff29,#0000 46%),linear-gradient(#249656 0%,#167a43 58%,#126739 100%);justify-content:space-between;align-items:center;gap:1rem;min-height:3.6rem;padding:.85rem 1.5rem;display:flex;position:relative;box-shadow:0 10px 22px #125a3238,inset 0 1px #ffffff38}.zk-settings-brand{align-items:center;gap:.7rem;min-width:0;display:flex}.zk-settings-mark{color:#167a43;background:#fff;border-radius:10px;flex-shrink:0;place-items:center;width:2.2rem;height:2.2rem;display:grid;box-shadow:0 6px 12px #0c341e2e}.zk-settings-mark .brand-mark-letters{letter-spacing:.06em;color:#167a43;font-size:.72rem;font-weight:800}.zk-settings-top strong{font-family:var(--font-display);letter-spacing:-.02em;white-space:nowrap;text-overflow:ellipsis;font-size:1.08rem;font-weight:800;overflow:hidden}.zk-settings-date{opacity:.92;flex-shrink:0;font-size:.92rem;font-weight:650}.zk-settings-body{grid-template-columns:232px minmax(0,1fr);min-height:0;display:grid;overflow:hidden}.zk-settings-side{overscroll-behavior:contain;background:#ffffffb8;border-right:1px solid #e0e8e3;align-content:start;gap:.85rem;padding:.9rem .75rem;display:grid;overflow:auto}.zk-settings-admin{background:#fff;border:1px solid #e4ebe7;border-radius:16px;align-items:center;gap:.7rem;padding:.85rem;display:flex;box-shadow:0 8px 18px #12281e0d}.zk-settings-admin em{color:#fff;width:2.6rem;height:2.6rem;font-style:normal;font-weight:800;font-family:var(--font-display);background:linear-gradient(145deg,#1f9a58,#167a43);border-radius:12px;flex-shrink:0;place-items:center;display:grid}.zk-settings-admin-copy{min-width:0;display:grid}.zk-settings-admin strong{text-overflow:ellipsis;white-space:nowrap;font-size:.92rem;overflow:hidden}.zk-settings-admin small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;overflow:hidden}.zk-settings-nav{gap:.35rem;display:grid}.zk-settings-nav button{appearance:none;color:#33414a;font:inherit;cursor:pointer;text-align:start;background:0 0;border:0;border-radius:12px;align-items:center;gap:.55rem;padding:.65rem .7rem;font-weight:650;transition:background .15s,color .15s,transform .15s;display:flex}.zk-settings-nav button span{color:#1f6b5c;background:#eef3f0;border-radius:9px;flex-shrink:0;place-items:center;width:1.8rem;height:1.8rem;display:grid}.zk-settings-nav button svg{width:1.05rem;height:1.05rem}.zk-settings-nav button:hover{background:#fff}.zk-settings-nav button.active{color:#fff;background:linear-gradient(#2aa35f,#1b8a4c);box-shadow:0 8px 16px #1b784638}.zk-settings-nav button.active span{color:#fff;background:#fff3}.zk-settings-main{overscroll-behavior:contain;min-width:0;padding:1rem 1.15rem 1.2rem;overflow:auto}.zk-settings-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:.85rem 1rem;margin-bottom:1rem;display:flex}.zk-settings-kicker{letter-spacing:.06em;text-transform:uppercase;color:#1f6b5c;margin:0;font-size:.72rem;font-weight:800}.zk-settings-head h1{font-family:var(--font-display);letter-spacing:-.03em;color:#1a2b24;margin:.15rem 0 0;font-size:1.45rem;font-weight:800}.zk-settings-sub{color:var(--muted);margin:.25rem 0 0;font-size:.82rem;font-weight:650}.zk-settings-search{min-width:min(18rem,100%);min-height:2.6rem;color:var(--muted);background:#fff;border:1px solid #d8e2dc;border-radius:12px;align-items:center;gap:.5rem;padding:0 .85rem;display:flex;box-shadow:0 4px 12px #12281e0a}.zk-settings-search:focus-within{color:var(--ink);border-color:#0f766e;box-shadow:0 0 0 3px #0f766e1f}.zk-settings-search svg{flex-shrink:0;width:1.05rem;height:1.05rem}.zk-settings-search input{min-width:0;color:var(--ink);font:inherit;background:0 0;border:0;outline:none;flex:1;padding:.55rem 0}.zk-settings-groups{gap:1.1rem;display:grid}.zk-settings-group{gap:.65rem;display:grid}.zk-settings-group-head{justify-content:space-between;align-items:center;gap:.5rem;padding:0 .15rem;display:flex}.zk-settings-group-head h2{letter-spacing:.05em;text-transform:uppercase;color:#5b6b64;margin:0;font-size:.78rem;font-weight:800}.zk-settings-group-head span{color:var(--muted);background:#fff;border:1px solid #e4ebe7;border-radius:999px;padding:.1rem .45rem;font-size:.72rem;font-weight:750}.zk-settings-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:.65rem;display:grid}.zk-settings-tile{appearance:none;cursor:pointer;min-height:5.9rem;font:inherit;color:#24323a;text-align:center;background:#fff;border:1px solid #e2eae5;border-radius:14px;align-content:center;justify-items:center;gap:.3rem;padding:.65rem .5rem .6rem;transition:transform .15s,border-color .15s,box-shadow .15s;display:grid;box-shadow:0 4px 12px #12281e0d}.zk-settings-tile:hover{border-color:#b7c9b8;transform:translateY(-2px);box-shadow:0 10px 20px #1b78461f}.zk-settings-tile-icon{border-radius:10px;place-items:center;width:2.05rem;height:2.05rem;display:grid}.zk-settings-tile-icon svg{width:1.1rem;height:1.1rem}.zk-settings-tile.tone-teal .zk-settings-tile-icon{color:#0f766e;background:#dcf5ea}.zk-settings-tile.tone-ocean .zk-settings-tile-icon{color:#0369a1;background:#e0f2fe}.zk-settings-tile.tone-amber .zk-settings-tile-icon{color:#b45309;background:#ffedd5}.zk-settings-tile.tone-violet .zk-settings-tile-icon{color:#6d28d9;background:#ede9fe}.zk-settings-tile.tone-rose .zk-settings-tile-icon{color:#be123c;background:#ffe4e6}.zk-settings-tile.tone-slate .zk-settings-tile-icon{color:#475569;background:#e2e8f0}.zk-settings-tile.tone-lime .zk-settings-tile-icon{color:#3f6212;background:#ecfccb}.zk-settings-tile strong{max-width:100%;font-size:.78rem;font-weight:750;line-height:1.2}.zk-settings-tile em{color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;max-width:100%;font-size:.64rem;font-style:normal;line-height:1.2;display:-webkit-box;overflow:hidden}.zk-settings-empty{text-align:center;color:var(--muted);background:#fff;border:1px dashed #d5e0da;border-radius:16px;justify-items:center;gap:.4rem;padding:2.5rem 1rem;display:grid}.zk-settings-empty strong{color:var(--ink)}.zk-settings-empty p{margin:0;font-size:.85rem}.zk-settings-clear{appearance:none;color:#0f766e;min-height:2.3rem;font:inherit;cursor:pointer;background:#fff;border:1px solid #d8e2dc;border-radius:10px;margin-top:.35rem;padding:.35rem .85rem;font-weight:750}.zk-settings-foot{color:#e8eef2;background:linear-gradient(#2c3940 0%,#24312c 100%);justify-content:space-between;align-items:center;gap:1rem;min-height:3.5rem;padding:.7rem 1.5rem;display:flex;box-shadow:inset 0 1px #ffffff0f}.zk-settings-kbd{opacity:.9;min-height:var(--touch-min,2.75rem);align-items:center;gap:.5rem;font-size:.92rem;font-weight:650;display:inline-flex}.zk-settings-kbd svg{width:1.25rem;height:1.25rem}.zk-settings-home{min-height:var(--touch-min);color:#fff;background:linear-gradient(#2aa35f,#1b8a4c);border-radius:12px;justify-content:center;align-items:center;padding:.55rem 1.35rem;font-weight:750;text-decoration:none;display:inline-flex;box-shadow:0 8px 16px #00000038}.zk-settings-home:hover{filter:brightness(1.05)}@media (width<=1100px){.zk-settings-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (width<=980px){.zk-settings-body{grid-template-columns:1fr}.zk-settings-side{border-bottom:1px solid #e0e8e3;border-right:0}.zk-settings-nav{grid-template-columns:repeat(4,minmax(0,1fr))}.zk-settings-head{align-items:stretch}.zk-settings-search{width:100%}.zk-settings-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=640px){.zk-settings-nav,.zk-settings-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.zk-settings-tile{min-height:5.4rem}}.zk-units{background:radial-gradient(700px 320px at 0 0,#1f8a4c1a,#0000 55%),linear-gradient(#eef3f0 0%,#e6ece8 100%);grid-template-rows:auto auto 1fr auto;min-height:100vh;display:grid}.zk-units-top{color:#fff;background:linear-gradient(125deg,#ffffff29,#0000 46%),linear-gradient(#249656 0%,#167a43 58%,#126739 100%);justify-content:space-between;align-items:center;gap:1rem;min-height:3.6rem;padding:.85rem 1.5rem;display:flex;box-shadow:0 10px 22px #125a3238,inset 0 1px #ffffff38}.zk-units-top strong{font-family:var(--font-display)}.zk-units-top-right{align-items:center;gap:.75rem;display:flex}.zk-units-close{color:#fff;background:#ffffff2e;border-radius:50%;place-items:center;width:2rem;height:2rem;text-decoration:none;display:grid}.zk-units-bar{background:#fff;border-radius:16px;justify-content:center;align-items:center;margin:.85rem 1rem 0;padding:.7rem 1rem;display:flex;position:relative;box-shadow:0 10px 24px #12201c14}.zk-units-bar h1{font-family:var(--font-display);margin:0;font-size:1.25rem;font-weight:800}.zk-units-hint{text-align:center;color:var(--muted);margin:0 0 .85rem;font-weight:650}.zk-units-body{padding:1rem}.zk-units-grid{grid-template-columns:repeat(auto-fill,minmax(9.5rem,1fr));gap:.85rem;display:grid}.zk-unit-card{appearance:none;cursor:pointer;min-height:8.2rem;font:inherit;color:var(--ink);background:linear-gradient(165deg,#fff,#f6faf7);border:1px solid #d7e0da;border-radius:18px;align-content:center;justify-items:center;gap:.35rem;padding:1rem .75rem;transition:transform .15s,box-shadow .15s,border-color .15s;display:grid;box-shadow:0 10px 22px #12201c12}.zk-unit-card:hover,.zk-unit-card.active{border-color:#9fc9ae;transform:translateY(-3px);box-shadow:0 16px 30px #1b784624}.zk-unit-icon{border-radius:1.1rem;place-items:center;width:3.4rem;height:3.4rem;margin-bottom:.15rem;display:grid}.zk-unit-icon svg{width:2rem;height:2rem}.zk-unit-card.kind-weight .zk-unit-icon{color:#b7791f;background:#f6e7c8}.zk-unit-card.kind-volume .zk-unit-icon{color:#1c7ed6;background:#d0ebff}.zk-unit-card.kind-count .zk-unit-icon{color:#5f3dc4;background:#e5dbff}.zk-unit-card.kind-generic .zk-unit-icon{color:#1f6b5c;background:#d8ebe5}.zk-unit-card strong{font-family:var(--font-display);font-size:1.05rem}.zk-unit-card small{color:var(--muted);font-size:.75rem}.zk-units-empty{text-align:center;color:var(--muted);gap:.25rem;margin-top:2rem;display:grid}.zk-units-foot{background:linear-gradient(#2c3940 0%,#24312c 100%);justify-content:space-between;align-items:center;gap:.75rem;min-height:3.5rem;padding:.7rem 1.5rem;display:flex}.zk-units-home{color:#dce5e0;border-radius:10px;padding:.5rem .85rem;font-weight:650;text-decoration:none}.zk-units-home.primary{color:#fff;background:linear-gradient(#2aa35f,#1b8a4c)}.zk-units-modal{z-index:80;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#12201c73;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.zk-units-sheet{background:#fff;border:1px solid #d5ddd8;border-radius:20px;flex-direction:column;width:min(440px,100vw - 2rem);max-height:min(88vh,42rem);padding:0;animation:.25s both pop;display:flex;position:relative;overflow:hidden;box-shadow:0 24px 48px #12201c38}.zk-units-sheet-head{border-bottom:1px solid #e8eeea;flex-shrink:0;justify-content:space-between;align-items:center;gap:.75rem;margin:0;padding:.95rem 1.15rem .8rem;display:flex}.zk-units-sheet-head h2{font-family:var(--font-display);margin:0;font-size:1.15rem}.zk-units-sheet-body{flex:1;min-height:0;padding:.95rem 1.15rem 1rem;overflow:hidden auto}.zk-units-form{gap:.75rem;display:grid}.zk-units-form label{gap:.3rem;display:grid}.zk-units-form label span{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:.78rem;font-weight:700}.zk-units-form input[readonly]{background:var(--field-readonly-bg);color:var(--field-readonly-fg)}.zk-units-actions{background:#fff;border-top:1px solid #e8eeea;flex-wrap:wrap;flex-shrink:0;gap:.5rem;margin:0;padding:.85rem 1.15rem 1rem;display:flex}.zk-units-action{appearance:none;min-width:5.5rem;min-height:var(--touch-min);font:inherit;cursor:pointer;color:#33414a;background:#e8eef2;border:0;border-radius:12px;flex:1 1 0;padding:.75rem .5rem;font-weight:700}.zk-units-action.primary{color:#fff;background:linear-gradient(#2aa35f,#1b8a4c)}.zk-units-action.danger{background:var(--danger-soft);color:var(--danger)}.zk-confirm{z-index:2;background:#12201c59;border-radius:20px;place-items:center;padding:1rem;display:grid;position:absolute;inset:0}.zk-confirm-card{background:#fff;border:1px solid #d5ddd8;border-radius:18px;width:min(380px,100%);animation:.22s both pop;overflow:hidden;box-shadow:0 24px 48px #12201c47}.zk-confirm-head{font-family:var(--font-display);color:var(--ink);background:linear-gradient(#f7faf8,#eef3f0);border-bottom:1px solid #e0e8e3;padding:.85rem 1.05rem .7rem;font-size:1.05rem;font-weight:800}.zk-confirm-msg{color:var(--ink-soft);margin:0;padding:1.05rem 1.05rem .35rem;font-size:.95rem;line-height:1.5}.zk-confirm-actions{justify-content:flex-end;gap:.5rem;padding:.85rem 1.05rem 1.05rem;display:flex}.zk-confirm-btn{appearance:none;border:1px solid var(--line);min-width:5rem;min-height:2.55rem;font:inherit;cursor:pointer;color:var(--ink-soft);background:#f3f6f4;border-radius:12px;padding:.55rem 1.05rem;font-weight:750}.zk-confirm-btn.primary{color:#fff;background:linear-gradient(#2aa35f,#1b8a4c);border-color:#0000;box-shadow:0 10px 18px #1b8a4c47}.zk-confirm-btn.primary.danger{color:#fff;background:linear-gradient(#d64545,#b42318);border-color:#0000;box-shadow:0 10px 18px #b4231840}.mesa-confirm-backdrop{z-index:200}.mesa-confirm-card{z-index:1;position:relative}.zk-confirm-btn:hover{filter:brightness(1.04)}.zk-confirm-btn:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb, var(--teal) 22%, transparent), 0 10px 18px #1b8a4c33;outline:none}@supports not (color: color-mix(in srgb, red 50%, blue)){.zk-confirm-btn:focus-visible{box-shadow:0 0 0 3px rgba(31, 107, 92, 0.22), 0 10px 18px #1b8a4c33}}.zk-confirm-btn.primary.danger:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb, var(--danger) 22%, transparent), 0 10px 18px #b4231838}@supports not (color: color-mix(in srgb, red 50%, blue)){.zk-confirm-btn.primary.danger:focus-visible{box-shadow:0 0 0 3px rgba(180, 35, 24, 0.22), 0 10px 18px #b4231838}}.mesa-success-backdrop{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#12201c85}.mesa-success-card{text-align:center;background:radial-gradient(420px 160px at 50% 0,#1f9a521f,#0000 60%),#fff;border:1px solid #cfe0d6;justify-items:center;gap:.35rem;padding:1.35rem 1.25rem 1.15rem;display:grid}.mesa-success-icon{color:#fff;background:linear-gradient(#2aa35f,#1b8a4c);border-radius:50%;place-items:center;width:3.4rem;height:3.4rem;margin-bottom:.35rem;display:grid;box-shadow:0 12px 24px #1b8a4c4d}.mesa-success-copy{gap:.35rem;max-width:20rem;display:grid}.mesa-success-title{font-family:var(--font-display);color:var(--ink);margin:0;font-size:1.2rem;font-weight:800}.mesa-success-msg{color:var(--muted);margin:0;font-size:.94rem;line-height:1.45}.mesa-success-actions{justify-content:center;width:100%;padding:.85rem 0 0}.mesa-success-actions .zk-confirm-btn.primary{min-width:7.5rem}@media (width<=520px){.zk-units-actions{grid-template-columns:1fr}}.zk-user-card.inactive{opacity:.55}.zk-user-avatar{letter-spacing:.04em;color:#1f6b5c;background:#d8ebe5;font-size:.95rem;font-weight:750}.zk-user-off{color:#c92a2a;background:#ffe3e3;border-radius:999px;padding:.1rem .45rem;font-size:.7rem;font-style:normal;font-weight:700}.zk-access-sheet{width:min(480px,100vw - 2rem);max-height:min(88vh,44rem);overflow:hidden}.zk-access-h{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin:1.1rem 0 .5rem;font-size:.82rem}.zk-access-note{color:var(--muted);margin:.75rem 0 0;font-size:.9rem}.zk-access-nav{flex-wrap:wrap;gap:.4rem;display:flex}.zk-access-nav button{appearance:none;font:inherit;cursor:pointer;background:#fff;border:1px solid #d7e0da;border-radius:999px;padding:.35rem .75rem;font-size:.82rem}.zk-access-nav button.active{color:#146c3c;background:#e6f6ec;border-color:#1b8a4c;font-weight:650}.zk-access-flags{gap:.45rem;display:grid}.zk-access-check{align-items:flex-start;gap:.55rem;padding:.45rem .2rem;display:flex}.zk-access-check span{gap:.1rem;display:grid}.zk-access-check strong{font-size:.92rem}.zk-access-error{color:#c92a2a;background:#ffe3e3;border-radius:10px;flex:100%;grid-column:1/-1;margin:0;padding:.55rem .7rem;font-size:.85rem;font-weight:650}.zk-units-form .zk-access-check{background:#f4f7f5;border-radius:12px;align-items:flex-start;gap:.55rem;padding:.55rem .7rem;display:flex}.zk-units-form .zk-access-check span{text-transform:none;letter-spacing:0;color:var(--ink);font-size:.9rem;font-weight:650}.zk-user-switch-field{gap:.3rem;display:grid}.zk-user-switch-field>span{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:.78rem;font-weight:700}.zk-user-switch{appearance:none;min-height:var(--touch-min);font:inherit;cursor:pointer;text-align:start;color:var(--ink);background:#fff;border:1px solid #d5ddd8;border-radius:12px;align-items:center;gap:.7rem;padding:.35rem .8rem .35rem .4rem;display:flex}.zk-user-switch i{background:#cfd8d3;border-radius:999px;flex-shrink:0;width:2.55rem;height:1.45rem;position:relative}.zk-user-switch i:after{content:"";top:.16rem;background:#fff;border-radius:50%;width:1.12rem;height:1.12rem;transition:transform .16s;position:absolute;inset-inline-start:.16rem;box-shadow:0 1px 3px #12201c33}.zk-user-switch strong{font-size:.95rem;font-weight:750}.zk-user-switch.on{color:#167a43;background:#f3fbf6;border-color:#b7e0c6}.zk-user-switch.on i{background:linear-gradient(#2aa35f,#1b8a4c)}.zk-user-switch.on i:after{transform:translate(1.08rem)}html[dir=rtl] .zk-user-switch.on i:after{transform:translate(-1.08rem)}.zk-products{background:radial-gradient(720px 340px at 100% 0,#1f6b5c1f,#0000 55%),radial-gradient(560px 280px at 0 40%,#c45c260f,#0000 50%),linear-gradient(#eef3f0 0%,#e4ebe7 100%);grid-template-rows:auto auto auto 1fr auto;min-height:100vh;display:grid}.zk-products-top{color:#fff;background:linear-gradient(#2aa35f,#1b8a4c);justify-content:space-between;align-items:center;padding:.7rem 1.1rem;display:flex}.zk-products-top strong{font-family:var(--font-display)}.zk-products-top-right{align-items:center;gap:.75rem;display:flex}.zk-products-close{color:#fff;background:#ffffff2e;border-radius:50%;place-items:center;width:2rem;height:2rem;text-decoration:none;display:grid}.zk-products-bar{background:#fff;border-radius:16px;margin:.85rem 1rem 0;padding:.7rem 1rem;position:relative;box-shadow:0 10px 24px #12201c14}.zk-products-lead{color:var(--muted,#5a6b66);text-align:center;margin:.45rem 1.25rem 0;font-size:.82rem;line-height:1.35}.zk-products-lead a{color:var(--teal,#0d9488);font-weight:600;text-decoration:none}.zk-products-lead a:hover{text-decoration:underline}.zk-products-bar h1{font-family:var(--font-display);margin:0;font-size:1.25rem;font-weight:800}.zk-products-search{background:#fff;border-radius:14px;align-items:center;gap:.75rem;margin:.75rem 1rem 0;padding:.65rem .9rem;display:flex;box-shadow:0 8px 18px #12201c0f}.zk-products-search label{color:var(--muted);flex:1;align-items:center;gap:.65rem;font-size:.85rem;font-weight:700;display:flex}.zk-products-search input{flex:1}.zk-products-body{grid-template-columns:minmax(200px,260px) 1fr;gap:.85rem;min-height:0;padding:.85rem 1rem 1rem;display:grid}.zk-products-tree{background:#fff;border:1px solid #d9e3dc;border-radius:16px;align-content:start;gap:.2rem;padding:.65rem;display:grid;overflow:auto;box-shadow:0 12px 28px #12201c14}.zk-tree-all{appearance:none;text-align:left;font:inherit;color:var(--teal);cursor:pointer;background:0 0;border:0;border-radius:10px;padding:.55rem .65rem;font-weight:750}.zk-tree-block{border-top:1px solid #eef2ef;padding-top:.2rem}.zk-tree-main{align-items:center;gap:.2rem;padding:.2rem .15rem;display:flex}.zk-tree-toggle{appearance:none;width:1.5rem;height:1.5rem;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:8px;font-size:.75rem}.zk-tree-label{appearance:none;text-align:left;font:inherit;color:var(--ink);cursor:pointer;background:0 0;border:0;border-radius:8px;flex:1;padding:.35rem .5rem;font-size:.92rem;font-weight:750}.zk-tree-all.active,.zk-tree-subs button.active,.zk-tree-label.active{background:var(--teal-soft);color:var(--teal)}.zk-tree-subs{gap:.15rem;padding:0 .25rem .35rem 1.35rem;display:grid}.zk-tree-subs button{appearance:none;text-align:left;font:inherit;color:var(--ink-soft);cursor:pointer;background:0 0;border:0;border-radius:8px;padding:.4rem .55rem;font-size:.88rem}.zk-tree-subs button:hover,.zk-tree-all:hover,.zk-tree-label:hover,.zk-tree-toggle:hover{background:#f3f7f4}.zk-products-list{background:#f7faf8;border:1px solid #d5ded8;border-radius:16px;padding:.75rem;overflow:auto;box-shadow:inset 0 1px #ffffffb3}.zk-products-grid{grid-template-columns:repeat(auto-fill,minmax(11.5rem,1fr));gap:.75rem;display:grid}.zk-product-card{appearance:none;text-align:left;cursor:pointer;font:inherit;color:var(--ink);background:linear-gradient(165deg,#fff 0%,#f5f9f6 100%);border:1px solid #d5ddd8;border-radius:16px;gap:.35rem;min-height:7.5rem;padding:.85rem .9rem;transition:transform .15s,box-shadow .15s,border-color .15s;display:grid;position:relative;box-shadow:0 10px 22px #12201c12}.zk-product-card:hover{border-color:#9fc9ae;transform:translateY(-3px);box-shadow:0 16px 32px #1b784624}.zk-product-badge{text-transform:uppercase;letter-spacing:.04em;background:var(--teal-soft);color:var(--teal);border-radius:999px;justify-self:start;padding:.2rem .45rem;font-size:.68rem;font-weight:750}.zk-product-badge.off{color:var(--danger);background:#f1e4e2}.zk-product-card strong{font-family:var(--font-display);font-size:1rem;line-height:1.25}.zk-product-meta{color:var(--muted);font-size:.78rem}.zk-product-card.has-photo{color:#fff;text-shadow:0 1px 3px #000000bf;border-color:#12201c47}.zk-product-card.has-photo strong{color:#fff}.zk-product-card.has-photo .zk-product-meta{color:#ffffffeb}.zk-product-card.has-photo em{color:#ffe08a;text-shadow:0 1px 3px #000c}.zk-product-card.has-photo .zk-product-badge{color:#146b3a;text-shadow:none;background:#fffffff2;box-shadow:0 2px 8px #00000040}.zk-product-card.has-photo .zk-product-badge.off{color:var(--danger);background:#f1e4e2f2}.zk-product-photo{background:#eef3f0;border-radius:16px 16px 0 0;height:5.4rem;margin:-.85rem -.9rem .15rem;display:block;overflow:hidden}.zk-product-photo img{object-fit:cover;width:100%;height:100%;display:block}.zk-product-image{gap:.35rem;display:grid}.zk-product-image>span{color:var(--muted);text-transform:uppercase;letter-spacing:.03em;font-size:.75rem;font-weight:750}.zk-product-image-preview{height:7rem;color:var(--muted);background:#f4f7f5 50%/cover no-repeat;border:1px solid #d5ddd8;border-radius:12px;place-items:center;font-size:.85rem;display:grid}.zk-product-image-actions{gap:.4rem;display:flex}.zk-product-card em{color:var(--accent-deep);margin-top:auto;font-weight:800}.zk-products-empty{text-align:center;min-height:12rem;color:var(--muted);place-content:center;gap:.25rem;display:grid}.zk-products-foot{background:#24312c;justify-content:space-between;gap:.75rem;padding:.65rem 1rem;display:flex}.zk-products-home{color:#dce5e0;border-radius:10px;padding:.5rem .85rem;font-weight:650;text-decoration:none}.zk-products-home.primary{color:#fff;background:linear-gradient(#2aa35f,#1b8a4c)}.zk-products-modal{z-index:80;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#12201c85;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.zk-products-sheet{background:radial-gradient(520px 220px at 0 0,#1f6b5c1a,#0000 55%),linear-gradient(#f7faf8 0%,#eef3f0 100%);border:1px solid #cfd9d3;border-radius:22px;flex-direction:column;width:min(920px,100%);max-height:min(92vh,940px);padding:0;animation:.25s both pop;display:flex;position:relative;overflow:hidden;box-shadow:0 28px 56px #12201c47}.zk-products-sheet-head{flex-shrink:0;justify-content:space-between;align-items:flex-start;gap:1rem;padding:1rem 1.15rem .65rem;display:flex}.zk-products-sheet-kicker{letter-spacing:.06em;text-transform:uppercase;color:var(--teal);margin:0 0 .15rem;font-size:.72rem;font-weight:750}.zk-products-sheet-head h2{font-family:var(--font-display);letter-spacing:-.02em;text-overflow:ellipsis;white-space:nowrap;max-width:36rem;margin:0;font-size:1.28rem;overflow:hidden}.zk-products-sheet-close{width:2.4rem;height:2.4rem;color:var(--ink-soft);cursor:pointer;background:#e8eeea;border:0;border-radius:12px;flex-shrink:0;font-size:1rem}.zk-products-sheet-close:hover{background:#dce5e0}.zk-products-tabs{flex-wrap:wrap;flex-shrink:0;gap:.35rem;margin:0 1.15rem .75rem;display:flex}.zk-products-tabs button{appearance:none;color:var(--ink-soft);font:inherit;cursor:pointer;background:#e8eeea;border:1px solid #0000;border-radius:999px;padding:.45rem .95rem;font-size:.85rem;font-weight:700}.zk-products-tabs button.active{color:var(--teal);background:#fff;border-color:#9fc9ae;box-shadow:0 6px 14px #12201c14}.zk-products-sheet-body{overscroll-behavior:contain;flex:1;min-height:0;padding:0 1.15rem .35rem;overflow:auto}.zk-products-form{box-shadow:none;background:0 0;border:0;gap:.85rem;padding:0;display:grid}.zk-products-section{background:#fff;border:1px solid #d9e3dc;border-radius:16px;padding:.95rem 1rem 1.05rem;box-shadow:0 8px 18px #12201c0a}.zk-products-section h3{letter-spacing:.05em;text-transform:uppercase;color:var(--muted);margin:0 0 .75rem;font-size:.78rem;font-weight:800}.zk-products-grid-2{grid-template-columns:1fr 1fr;gap:.75rem .9rem;display:grid}.zk-products-span-2{grid-column:1/-1}.zk-products-section label{gap:.28rem;min-width:0;display:grid}.zk-products-section label>span{color:var(--muted);text-transform:uppercase;letter-spacing:.03em;font-size:.72rem;font-weight:750}.zk-products-section label>span i{color:var(--danger);font-style:normal}.zk-products-select-add{grid-template-columns:minmax(0,1fr) auto;align-items:stretch;gap:.4rem;display:grid}.zk-products-quick-add{width:2.65rem;min-height:var(--touch-min,44px);color:#fff;cursor:pointer;background:linear-gradient(#2a8573,#1f6b5c);border:0;border-radius:12px;font-size:1.35rem;font-weight:700;line-height:1;box-shadow:0 8px 14px #1f6b5c38}.zk-products-quick-add:hover{filter:brightness(1.06)}.zk-products-quick-modal{z-index:80;background:#0c1c1873;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.zk-products-quick-sheet{background:#fff;border-radius:18px;gap:.85rem;width:min(420px,100%);padding:1rem 1.05rem 1.05rem;display:grid;box-shadow:0 24px 48px #0c1c1838}.zk-products-quick-head{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.zk-products-quick-head strong{font-size:1.05rem;font-weight:800}.zk-products-quick-body{gap:.65rem;display:grid}.zk-products-quick-body label{gap:.3rem;display:grid}.zk-products-quick-body label>span{letter-spacing:.04em;text-transform:uppercase;color:var(--ink-soft);font-size:.72rem;font-weight:750}.zk-products-quick-actions{flex-wrap:wrap;justify-content:flex-end;gap:.5rem;display:flex}.zk-products-media .zk-product-image{margin-top:.55rem}.zk-products-col{align-content:start;gap:.65rem;display:grid}.zk-products-col label{gap:.28rem;display:grid}.zk-products-col label span{color:var(--muted);text-transform:uppercase;letter-spacing:.03em;font-size:.75rem;font-weight:750}.zk-products-col label span i{color:var(--danger);font-style:normal}.zk-products-col input[readonly],.zk-products-section input[readonly]{background:var(--field-readonly-bg);color:var(--field-readonly-fg)}.zk-products-check{cursor:pointer;background:#f7faf8;border:1px solid #e0e8e3;border-radius:12px;align-items:center;gap:.5rem;margin-top:.85rem;padding:.65rem .75rem;font-weight:650;display:flex!important}.zk-products-note{background:#fff;border:1px solid #d9e3dc;border-radius:16px;padding:1.1rem;box-shadow:0 10px 24px #12201c0f}.zk-products-note strong{font-family:var(--font-display);margin-bottom:.35rem;display:block}.zk-products-note p{color:var(--ink-soft);margin:0;line-height:1.5}.zk-products-tax-list{gap:.4rem;margin:.85rem 0 0;padding:0;list-style:none;display:grid}.zk-products-tax-row{cursor:pointer;background:#f7faf8;border:1px solid #e0e8e3;border-radius:12px;grid-template-columns:auto 1fr auto;align-items:center;gap:.65rem;padding:.7rem .8rem;display:grid}.zk-products-tax-row.on{background:#eef8f2;border-color:#b7dcc7}.zk-products-tax-name{font-weight:700}.zk-products-tax-pct{font-variant-numeric:tabular-nums;color:var(--teal);font-weight:750}.zk-products-tax-empty{color:var(--muted);background:#f4f7f5;border:1px dashed #c9d6ce;border-radius:12px;margin-top:.85rem;padding:.85rem;font-size:.9rem}.zk-products-tax-link{font-size:.86rem;margin-top:.85rem!important}.zk-products-tax-link a{color:var(--teal);font-weight:700;text-decoration:none}.zk-products-tax-link a:hover{text-decoration:underline}.zk-products-recipe-list{gap:.65rem;margin:.85rem 0 0;padding:0;list-style:none;display:grid}.zk-products-recipe-row{background:#fff;border:1px solid #dce5e0;border-radius:14px;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:.85rem 1rem;padding:.95rem 1rem;display:grid;box-shadow:0 4px 12px #12201c0a}.zk-products-recipe-main{gap:.3rem;min-width:0;display:grid}.zk-products-recipe-side{grid-template-columns:8.5rem auto;align-items:end;gap:.55rem;display:grid}.zk-products-recipe-label{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-size:.68rem;font-weight:750}.zk-products-recipe-qty{gap:.3rem;min-width:0;display:grid}.zk-products-recipe-qty-box{background:var(--surface-2);min-height:2.65rem;box-shadow:inset 0 0 0 1px var(--line);border-radius:12px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.35rem;padding:0 .7rem;display:grid}.zk-products-recipe-qty-box:focus-within{box-shadow:inset 0 0 0 1.5px var(--teal);background:#fff}.zk-products-recipe-qty-box input{width:100%;min-width:0;font:inherit;font-variant-numeric:tabular-nums;color:var(--ink);text-align:end;appearance:textfield;background:0 0;border:0;outline:none;padding:.55rem 0;font-size:1rem;font-weight:750}.zk-products-recipe-qty-box input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.zk-products-recipe-qty-box input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.zk-products-recipe-qty-box em{color:var(--muted);text-transform:lowercase;font-size:.78rem;font-style:normal;font-weight:700}.zk-products-recipe-remove{appearance:none;border:1px solid color-mix(in srgb, var(--danger) 28%, #d0dbd4);background:var(--danger-soft);min-height:2.65rem;color:var(--danger);font:inherit;cursor:pointer;white-space:nowrap;border-radius:12px;padding:0 .9rem;font-size:.82rem;font-weight:750}@supports not (color: color-mix(in srgb, red 50%, blue)){.zk-products-recipe-remove{border:1px solid #c8a79f}}.zk-products-recipe-remove:hover{filter:brightness(.97);border-color:color-mix(in srgb, var(--danger) 45%, #d0dbd4)}@supports not (color: color-mix(in srgb, red 50%, blue)){.zk-products-recipe-remove:hover{border-color:#c3887f}}.zk-products-recipe-actions{flex-wrap:wrap;align-items:center;gap:.75rem;margin-top:.85rem;display:flex}.zk-products-recipe-add{appearance:none;color:var(--teal);font:inherit;cursor:pointer;background:#eef8f2;border:1px solid #b7dcc7;border-radius:12px;padding:.65rem 1rem;font-weight:750}.zk-products-recipe-add:hover:not(:disabled){background:#e0f3e8}.zk-products-recipe-add:disabled{opacity:.45;cursor:not-allowed}@media (width<=720px){.zk-products-recipe-row{grid-template-columns:1fr;align-items:stretch}.zk-products-recipe-side{grid-template-columns:minmax(0,1fr) auto}}.zk-products-actions{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffffb8;border-top:1px solid #d5ddd8e6;flex-wrap:wrap;flex-shrink:0;justify-content:flex-end;gap:.5rem;margin:0;padding:.85rem 1.15rem 1rem;display:flex}.zk-products-action{appearance:none;font:inherit;cursor:pointer;color:#33414a;background:#e8eef2;border:0;border-radius:12px;min-width:6.5rem;padding:.75rem 1.1rem;font-weight:750}.zk-products-action.primary{color:#fff;background:linear-gradient(#2aa35f,#1b8a4c);box-shadow:0 10px 18px #1b784647}.zk-products-action.danger{background:var(--danger-soft);color:var(--danger)}.zk-products-quick{z-index:5;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#12201c59;place-items:center;padding:1rem;display:grid;position:absolute;inset:0}.zk-products-quick-card{background:#fff;border:1px solid #d5ddd8;border-radius:18px;width:min(400px,100%);padding:1rem 1.05rem 1.05rem;animation:.2s both pop;box-shadow:0 22px 40px #12201c38}.zk-products-quick-head{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.85rem;display:flex}.zk-products-quick-head h3{font-family:var(--font-display);margin:0;font-size:1.08rem}.zk-products-quick-fields{gap:.7rem;display:grid}.zk-products-quick-fields label{gap:.28rem;display:grid}.zk-products-quick-fields label span{color:var(--muted);text-transform:uppercase;letter-spacing:.03em;font-size:.72rem;font-weight:750}.zk-products-quick-fields label span i{color:var(--danger);font-style:normal}.zk-products-quick-actions{justify-content:flex-end;gap:.45rem;margin-top:1rem;display:flex}@media (width<=800px){.zk-products-body{grid-template-columns:1fr}.zk-products-tree{max-height:220px}.zk-products-form,.zk-products-grid-2{grid-template-columns:1fr}.zk-products-span-2{grid-column:auto}.zk-products-sheet{border-radius:18px;max-height:96vh}}.zk-vendors{background:radial-gradient(700px 320px at 0 0,#1f8a4c1a,#0000 55%),radial-gradient(520px 260px at 100% 30%,#1f6b5c14,#0000 50%),linear-gradient(#eef3f0 0%,#e6ece8 100%);grid-template-rows:auto auto auto 1fr auto;min-height:100vh;display:grid}.zk-vendors-top{color:#fff;background:linear-gradient(#2aa35f,#1b8a4c);justify-content:space-between;align-items:center;padding:.7rem 1.1rem;display:flex}.zk-vendors-top strong{font-family:var(--font-display)}.zk-vendors-top-right{align-items:center;gap:.75rem;display:flex}.zk-vendors-close{color:#fff;background:#ffffff2e;border-radius:50%;place-items:center;width:2rem;height:2rem;text-decoration:none;display:grid}.zk-vendors-bar{background:#fff;border-radius:16px;justify-content:center;align-items:center;margin:.85rem 1rem 0;padding:.7rem 1rem;display:flex;position:relative;box-shadow:0 10px 24px #12201c14}.zk-vendors-bar h1{font-family:var(--font-display);margin:0;font-size:1.25rem;font-weight:800}.zk-vendors-search{background:#fff;border-radius:14px;align-items:center;gap:.75rem;margin:.75rem 1rem 0;padding:.65rem .9rem;display:flex;box-shadow:0 8px 18px #12201c0f}.zk-vendors-search label{color:var(--muted);flex:1;align-items:center;gap:.65rem;font-size:.85rem;font-weight:700;display:flex}.zk-vendors-search input{flex:1}.zk-vendors-body{padding:.85rem 1rem 1rem;overflow:auto}.zk-vendors-grid{grid-template-columns:repeat(auto-fill,minmax(10.5rem,1fr));gap:.85rem;display:grid}.zk-vendor-card{appearance:none;cursor:pointer;min-height:9.5rem;font:inherit;color:var(--ink);background:linear-gradient(165deg,#fff 0%,#f3f7f5 100%);border:1px solid #d5ddd8;border-radius:18px;align-content:center;justify-items:center;gap:.35rem;padding:1rem .85rem;transition:transform .15s,box-shadow .15s,border-color .15s;display:grid;box-shadow:0 10px 22px #12201c12}.zk-vendor-card:hover{border-color:#9fc9ae;transform:translateY(-3px);box-shadow:0 16px 30px #1b784624}.zk-vendor-card.inactive{opacity:.78;background:linear-gradient(165deg,#f7f8f7 0%,#eef1ef 100%)}.zk-vendor-icon{background:color-mix(in srgb, var(--teal) 12%, #fff);width:3.2rem;height:3.2rem;color:var(--teal);border-radius:1rem;place-items:center;display:grid}@supports not (color: color-mix(in srgb, red 50%, blue)){.zk-vendor-icon{background:#e4edeb}}.zk-vendor-icon svg{width:2rem;height:2rem}.zk-vendor-card strong{font-family:var(--font-display);text-align:center;color:var(--ink);font-size:.98rem;line-height:1.25}.zk-vendor-meta{color:var(--muted);font-size:.75rem}.zk-vendor-badge{text-transform:uppercase;letter-spacing:.04em;background:var(--ok-soft);color:var(--ok);border-radius:999px;margin-top:.15rem;padding:.18rem .55rem;font-size:.65rem;font-weight:750}.zk-vendor-badge.off{background:var(--warn-soft);color:var(--accent-deep)}.zk-vendors-empty{text-align:center;min-height:12rem;color:var(--muted);place-content:center;gap:.25rem;display:grid}.zk-vendors-foot{background:#24312c;flex-wrap:wrap;justify-content:space-between;gap:.75rem;padding:.65rem 1rem;display:flex}.zk-vendors-home{color:#dce5e0;border-radius:10px;padding:.5rem .85rem;font-weight:650;text-decoration:none}.zk-vendors-home.primary{color:#fff;background:linear-gradient(#2aa35f,#1b8a4c)}.zk-vendors-modal{z-index:80;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#12201c7a;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.zk-vendors-sheet,.zk-vendors-account{background:#f4f7f5;border:1px solid #cfd9d3;border-radius:20px;width:min(760px,100%);max-height:min(92vh,900px);padding:1rem 1.1rem 1.1rem;animation:.25s both pop;position:relative;overflow:auto;box-shadow:0 28px 56px #12201c47}.zk-vendors-account{width:min(920px,100%)}.zk-vendors-sheet-head{justify-content:space-between;align-items:flex-start;gap:.75rem;margin-bottom:.85rem;display:flex}.zk-vendors-sheet-head h2{font-family:var(--font-display);margin:0;font-size:1.2rem}.zk-vendors-account-sub{color:var(--muted);margin:.2rem 0 0;font-size:.9rem}.zk-vendors-form{background:#fff;border:1px solid #d9e3dc;border-radius:16px;grid-template-columns:1fr 1fr;gap:1rem;padding:1rem;display:grid;box-shadow:0 10px 24px #12201c0f}.zk-vendors-col{align-content:start;gap:.65rem;display:grid}.zk-vendors-col label{gap:.28rem;display:grid}.zk-vendors-col label span{color:var(--muted);text-transform:uppercase;letter-spacing:.03em;font-size:.75rem;font-weight:750}.zk-vendors-col label span i{color:var(--danger);font-style:normal}.zk-vendors-address{resize:vertical;min-height:6rem;font:inherit}.zk-vendors-actions,.zk-vendors-account-actions{flex-wrap:wrap;justify-content:flex-end;gap:.5rem;margin-top:1rem;display:flex}.zk-vendors-action{appearance:none;font:inherit;cursor:pointer;color:#33414a;background:#e8eef2;border:0;border-radius:12px;min-width:6rem;padding:.75rem 1rem;font-weight:750}.zk-vendors-action.primary{color:#fff;background:linear-gradient(#2aa35f,#1b8a4c);box-shadow:0 10px 18px #1b784647}.zk-vendors-action.danger{background:var(--danger-soft);color:var(--danger)}.zk-vendors-action.accent{color:#fff;background:linear-gradient(#3d5a6c,#2a3d48)}.zk-vendors-filters{grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem;margin-bottom:.85rem;display:grid}.zk-vendors-filters label{color:var(--muted);text-transform:uppercase;letter-spacing:.03em;gap:.28rem;font-size:.75rem;font-weight:750;display:grid}.zk-vendors-ledger-wrap{background:#fff;border:1px solid #d9e3dc;border-radius:14px;overflow:auto;box-shadow:0 10px 24px #12201c0f}.zk-vendors-ledger{border-collapse:collapse;width:100%;font-size:.9rem}.zk-vendors-ledger th,.zk-vendors-ledger td{text-align:left;border-bottom:1px solid #e8eeea;padding:.65rem .75rem}.zk-vendors-ledger th:nth-child(n+3),.zk-vendors-ledger td:nth-child(n+3){text-align:right;font-variant-numeric:tabular-nums}.zk-vendors-ledger thead th{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);background:#f0f5f2;font-size:.72rem}.zk-vendors-ledger tbody tr:hover{background:#f7faf8}.zk-vendors-ledger td.empty{text-align:center;color:var(--muted);padding:1.5rem}.zk-vendors-ledger tfoot td{background:#eef4f0;border-bottom:0;font-weight:800}@media (width<=800px){.zk-vendors-form,.zk-vendors-filters{grid-template-columns:1fr}}.zk-inv{background:radial-gradient(700px 320px at 0 0,#1f8a4c1a,#0000 55%),linear-gradient(#eef3f0 0%,#e6ece8 100%);grid-template-rows:auto auto 1fr auto auto;min-height:100vh;display:grid}.zk-inv-top{color:#fff;background:linear-gradient(#2aa35f,#1b8a4c);justify-content:space-between;align-items:center;padding:.7rem 1.1rem;display:flex}.zk-inv-top strong{font-family:var(--font-display)}.zk-inv-top-right{align-items:center;gap:.75rem;display:flex}.zk-inv-close{color:#fff;background:#ffffff2e;border-radius:50%;place-items:center;width:2rem;height:2rem;text-decoration:none;display:grid}.zk-inv-bar{background:#fff;border-radius:16px;justify-content:center;align-items:center;margin:.85rem 1rem 0;padding:.7rem 1rem;display:flex;box-shadow:0 10px 24px #12201c14}.zk-inv-bar h1{font-family:var(--font-display);margin:0;font-size:1.25rem;font-weight:800}.zk-inv-hub{grid-template-columns:repeat(3,minmax(0,1fr));align-content:center;gap:1rem;padding:1.5rem 1.25rem;display:grid}.zk-inv-card{min-height:11rem;color:var(--ink);background:linear-gradient(165deg,#fff,#f3f7f5);border:1px solid #d5ddd8;border-radius:20px;align-content:center;justify-items:center;gap:.45rem;padding:1.25rem 1rem;text-decoration:none;transition:transform .15s,box-shadow .15s,border-color .15s;display:grid;box-shadow:0 14px 28px #12201c14}.zk-inv-card:hover{border-color:#9fc9ae;transform:translateY(-4px);box-shadow:0 18px 36px #1b784624}.zk-inv-card-icon{background:var(--teal-soft);width:3.6rem;height:3.6rem;color:var(--teal);border-radius:1.1rem;place-items:center;margin-bottom:.25rem;display:grid}.zk-inv-card-icon svg{width:2.1rem;height:2.1rem}.zk-inv-card strong{font-family:var(--font-display);text-align:center;font-size:1.1rem}.zk-inv-card small{color:var(--muted);text-align:center;font-size:.8rem}.zk-inv-extra{flex-wrap:wrap;justify-content:center;gap:.65rem;padding:0 1rem 1rem;display:flex}.zk-inv-extra .chip{text-decoration:none}.zk-inv-foot{background:#24312c;justify-content:space-between;gap:.75rem;padding:.65rem 1rem;display:flex}.zk-inv-home{color:#dce5e0;border-radius:10px;padding:.5rem .85rem;font-weight:650;text-decoration:none}.zk-inv-home.primary{color:#fff;background:linear-gradient(#2aa35f,#1b8a4c)}.zk-xfer{place-items:start center;gap:1.25rem;padding:1.25rem;display:grid}.zk-xfer-card{background:#fff;border:1px solid #d9e3dc;border-radius:18px;gap:.75rem;width:min(480px,100%);padding:1.1rem;display:grid;box-shadow:0 14px 28px #12201c14}.zk-xfer-card label{gap:.3rem;display:grid}.zk-xfer-card label span{color:var(--muted);text-transform:uppercase;letter-spacing:.03em;font-size:.75rem;font-weight:750}.zk-xfer-history{width:min(480px,100%)}.zk-xfer-history h2{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin:0 0 .6rem;font-size:.85rem;font-weight:800}.zk-xfer-history ul{gap:.45rem;margin:0;padding:0;list-style:none;display:grid}.zk-xfer-history li{background:#fff;border:1px solid #d9e3dc;border-radius:12px;gap:.15rem;padding:.7rem .85rem;display:grid}.zk-xfer-history li strong{font-size:.92rem}.zk-xfer-history li span{font-size:.85rem}.zk-xfer-history li small{color:var(--muted)}.app-shell.settings-mode:has(.zk-xfer-desk) .main-stage{background:#eef3f0;flex-direction:column;height:100%;min-height:0;display:flex;overflow:hidden}.zk-xfer-desk{background:radial-gradient(1200px 420px at 10% -10%,#2496561f,#0000 55%),linear-gradient(#f3f7f4 0%,#eef3f0 100%);flex-direction:column;height:100%;min-height:0;display:flex;overflow:hidden}.zk-xfer-desk .zk-dash-header{z-index:30;isolation:isolate;flex-shrink:0;margin:.65rem .85rem 0;position:relative;top:auto}.zk-xfer-desk>.zk-hub-foot{z-index:20;flex-shrink:0;margin-top:0;position:relative}.xfer-page-inner{overscroll-behavior:contain;flex:auto;align-content:start;gap:.85rem;min-width:0;min-height:0;margin:.75rem .85rem 1rem;display:grid;overflow:auto}.xfer-ico{width:1.15rem;height:1.15rem}.xfer-hero{color:#fff;background:linear-gradient(125deg,#ffffff24,#0000 42%),linear-gradient(#249656 0%,#167a43 55%,#126739 100%);border-radius:16px;flex-wrap:wrap;align-items:center;gap:.85rem 1rem;padding:.9rem 1rem;display:flex;box-shadow:0 12px 24px #125a3238}.xfer-hero-brand{align-items:center;gap:.7rem;min-width:0;display:flex}.xfer-hero-brand h1{letter-spacing:-.02em;margin:0;font-size:1.2rem;font-weight:800}.xfer-hero-brand p{opacity:.9;margin:.15rem 0 0;font-size:.78rem}.xfer-hero-mark{background:#ffffff2e;border-radius:12px;flex-shrink:0;place-items:center;width:2.4rem;height:2.4rem;display:grid}.xfer-hero-mark .xfer-ico{width:1.25rem;height:1.25rem}.xfer-hero-stats{flex-wrap:wrap;gap:.45rem;margin-inline-start:auto;display:flex}.xfer-stat{border:1px solid #0000;border-radius:12px;align-items:center;gap:.4rem;min-width:0;padding:.4rem .65rem;display:inline-flex}.xfer-stat strong{font-size:.95rem;font-weight:800}.xfer-stat em{opacity:.92;text-transform:uppercase;letter-spacing:.04em;font-size:.7rem;font-style:normal}.xfer-stat.tone-sync{color:#e8fff0;background:#7dffb038;border-color:#7dffb073}.xfer-stat.tone-sync.warn,.xfer-stat.warn{color:#ffe3e3;background:#ff6b6b47;border-color:#ffb4b480}.xfer-stat.tone-sku{color:#fff;background:#ffffff1a;border-color:#ffffff38}.xfer-stat.tone-xfer{color:#fff6d9;background:#ffd46433;border-color:#ffd4646b}.xfer-hero-actions{flex-wrap:wrap;gap:.4rem;display:flex}.xfer-link-btn{color:#146c3c;background:#ffffffeb;border:1px solid #ffffff8c;border-radius:10px;align-items:center;gap:.35rem;padding:.45rem .8rem;font-size:.82rem;font-weight:750;text-decoration:none;display:inline-flex;box-shadow:0 4px 10px #0c341e26}.xfer-link-btn:hover{background:#fff}.xfer-link-btn.primary{color:#1b4332;background:#ffd43b;border-color:#ffd43b}.xfer-link-btn.primary:hover{background:#ffe066}.xfer-layout{grid-template-columns:minmax(280px,380px) minmax(0,1fr);align-items:start;gap:.85rem;display:grid}.xfer-form-card,.xfer-history-card{background:#fff;border:1px solid #e8eeea;border-radius:16px;min-width:0;padding:.95rem;box-shadow:0 8px 20px #10281c0a}.xfer-form-card{gap:.7rem;display:grid}.xfer-form-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;display:flex}.xfer-mode-tabs{background:#eef3f0;border:1px solid #dce5df;border-radius:999px;gap:.25rem;padding:.2rem;display:inline-flex}.xfer-mode-tabs button{appearance:none;color:var(--ink-soft);min-height:2rem;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:999px;padding:.3rem .85rem;font-size:.82rem;font-weight:800}.xfer-mode-tabs button.on{color:#0f766e;background:#fff;box-shadow:0 2px 8px #12201c14}.xfer-mode-lead{color:var(--muted);margin:0;font-size:.82rem;line-height:1.4}.xfer-rules{flex-wrap:wrap;gap:.35rem;margin-bottom:.55rem;display:flex}.xfer-rule{color:#3730a3;text-transform:uppercase;letter-spacing:.03em;background:#eef2ff;border-radius:999px;padding:.15rem .5rem;font-size:.68rem;font-weight:800;display:inline-flex}.xfer-branch-flow{background:#f0f4f2;border-radius:12px;gap:.35rem;margin:.5rem 0 .75rem;padding:.25rem;display:flex}.xfer-branch-flow button{appearance:none;font:inherit;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:10px;flex:1;padding:.45rem .65rem;font-size:.78rem;font-weight:700}.xfer-branch-flow button.on{color:#0f766e;background:#fff;box-shadow:0 2px 8px #12201c14}.xfer-incoming.tone-dispatch{background:#fffbeb;border-color:#fde68a}.xfer-incoming.tone-dispatch h3{color:#b45309}.xfer-incoming.tone-request{background:#f5f3ff;border-color:#ddd6fe}.xfer-incoming.tone-request h3{color:#6d28d9}.xfer-kind{text-transform:uppercase;letter-spacing:.04em;border-radius:999px;flex-shrink:0;padding:.08rem .4rem;font-size:.62rem;font-weight:800;display:inline-flex}.xfer-kind.location{color:#0f766e;background:#ecfdf5}.xfer-kind.branch{color:#1d4ed8;background:#eff6ff}.xfer-kind.production{color:#e67700;background:#fff4e6}.xfer-incoming{background:#f0fdfa;border:1px solid #99f6e4;border-radius:12px;margin-top:1rem;padding:.85rem}.xfer-incoming h3{color:#0f766e;margin:0 0 .6rem;font-size:.85rem}.xfer-incoming ul{flex-direction:column;gap:.55rem;margin:0;padding:0;list-style:none;display:flex}.xfer-incoming li{justify-content:space-between;align-items:center;gap:.75rem;font-size:.82rem;display:flex}.xfer-incoming li em{color:var(--muted);font-size:.75rem;display:block}.xfer-mode-foot{color:var(--muted);margin:.75rem 0 0;font-size:.78rem;line-height:1.45}.xfer-examples{color:#33443d;background:#f8faf9;border:1px dashed #c8d9d2;border-radius:10px;margin:0 0 .75rem;padding:.65rem .75rem;font-size:.78rem;line-height:1.45}.xfer-examples p{margin:.25rem 0}.xfer-conversion-pair{background:#fffbeb;border:1px solid #fde68a;border-radius:10px;grid-template-columns:1fr auto 1fr;align-items:center;gap:.5rem;margin-bottom:.75rem;padding:.65rem .75rem;font-size:.82rem;display:grid}.xfer-conversion-pair>div{flex-direction:column;gap:.15rem;display:flex}.xfer-conversion-pair span:first-child{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-size:.68rem;font-weight:700}.xfer-conversion-pair em{color:var(--muted);font-size:.72rem}.stk-locs{flex-wrap:wrap;gap:.25rem;display:flex}.stk-loc-chip{color:#33443d;background:#f0f7f4;border-radius:999px;align-items:center;gap:.2rem;padding:.12rem .4rem;font-size:.72rem;font-weight:700;display:inline-flex}.stk-loc-chip strong{color:#0f766e;font-weight:800}.xfer-form-head h2{margin:0;font-size:.95rem;font-weight:800}.xfer-pill{border-radius:999px;padding:.2rem .55rem;font-size:.7rem;font-weight:750;display:inline-flex}.xfer-pill.online{color:#2b8a3e;background:#ebfbee}.xfer-pill.offline{color:#c92a2a;background:#fff5f5}.xfer-pill.pending{color:#e67700;background:#fff9db}.xfer-field{gap:.3rem;min-width:0;display:grid}.xfer-field>span{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:.72rem;font-weight:750}.xfer-field-hint{color:var(--muted);font-size:.75rem;font-style:normal}.xfer-input{box-sizing:border-box;border:1px solid var(--line);width:100%;min-height:42px;font:inherit;color:var(--ink);background:#f7faf8;border-radius:12px;padding:.55rem .75rem}.xfer-input:focus{border-color:#1b8a4c;outline:none;box-shadow:0 0 0 3px #1b8a4c26}.xfer-form-grid{grid-template-columns:1fr 1.4fr;gap:.55rem;display:grid}.xfer-swap-row{justify-content:center;margin:-.15rem 0;display:flex}.xfer-swap-btn{color:#1b4332;font:inherit;cursor:pointer;background:#f7faf8;border:1px solid #d8e2dc;border-radius:999px;align-items:center;gap:.35rem;padding:.35rem .75rem;font-size:.78rem;font-weight:700;display:inline-flex}.xfer-swap-btn:hover{background:#ebfbee;border-color:#1b4332}.xfer-warn{color:#c92a2a;background:#fff5f5;border-radius:10px;margin:0;padding:.55rem .7rem;font-size:.8rem;font-weight:650}.xfer-submit{appearance:none;min-height:2.7rem;font:inherit;color:#fff;cursor:pointer;background:linear-gradient(#2aa35f,#1b8a4c);border:0;border-radius:12px;padding:.65rem 1rem;font-weight:800;box-shadow:0 8px 16px #1b8a4c40}.xfer-submit:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.xfer-muted{color:var(--muted);font-size:.8rem;font-weight:700}.xfer-table-wrap{border:1px solid #e8eeea;border-radius:12px;margin-top:.55rem;overflow:auto}.xfer-table{border-collapse:collapse;width:100%;min-width:480px}.xfer-table th,.xfer-table td{text-align:left;vertical-align:top;border-bottom:1px solid #eef2f0;padding:.6rem .7rem}.xfer-table th{letter-spacing:.05em;text-transform:uppercase;color:var(--muted);background:#f7faf8;font-size:.7rem;font-weight:750}.xfer-table tbody tr:last-child td{border-bottom:0}.xfer-move{flex-wrap:wrap;align-items:center;gap:.3rem;min-width:0;display:flex}.xfer-move strong{text-overflow:ellipsis;white-space:nowrap;max-width:9rem;font-size:.86rem;overflow:hidden}.xfer-move span{color:var(--muted);font-weight:700}.xfer-note{color:var(--muted);margin-top:.15rem;font-size:.72rem;font-style:normal;display:block}.xfer-when{font-size:.78rem;display:block}.xfer-sync{border-radius:999px;padding:.18rem .5rem;font-size:.7rem;font-weight:750;display:inline-flex}.xfer-sync.ok{color:#2b8a3e;background:#ebfbee}.xfer-sync.pending{color:#e67700;background:#fff9db}.xfer-sync.offline{color:#c92a2a;background:#fff5f5}.xfer-pager{color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;padding-top:.55rem;font-size:.8rem;display:flex}.xfer-pager-actions{gap:.3rem;display:flex}.xfer-page-btn{color:#1b4332;cursor:pointer;background:#fff;border:1px solid #d8e2dc;border-radius:8px;min-width:2.4rem;height:2rem;padding:0 .65rem;font-size:.78rem;font-weight:700}.xfer-page-btn:disabled{opacity:.4;cursor:not-allowed}.xfer-empty{text-align:center;color:var(--muted);place-items:center;gap:.35rem;padding:2rem 1rem;display:grid}.xfer-empty strong{color:var(--ink)}.xfer-empty p{margin:0}.xfer-empty.locked{min-height:40vh}@media (width<=900px){.zk-xfer-desk .zk-dash-header{margin:.45rem .55rem 0}.xfer-page-inner{margin:.45rem .55rem}.xfer-hero{grid-template-columns:1fr;gap:.65rem;display:grid}.xfer-hero-stats{grid-template-columns:repeat(3,minmax(0,1fr));margin-inline-start:0;display:grid}.xfer-stat{justify-content:center}.xfer-stat .xfer-ico{display:none}.xfer-layout,.xfer-form-grid{grid-template-columns:1fr}}@media (width<=720px){.zk-xfer-desk .zk-dash-header{border-radius:14px;margin:.4rem .4rem 0}.xfer-page-inner{margin:.4rem}}.app-shell.settings-mode:has(.zk-recv-desk) .main-stage{background:#eef3f0;flex-direction:column;max-width:none;height:100%;min-height:0;padding:0;display:flex;overflow:hidden}.app-shell.settings-mode:has(.zk-crm-desk) .main-stage{background:#eef3f0;flex-direction:column;max-width:none;height:100%;min-height:0;padding:0;display:flex;overflow:hidden}.app-shell:has(.zk-crm-desk) .main-stage{background:#eef3f0;flex-direction:column;max-width:none;height:100%;min-height:0;padding:0;display:flex;overflow:hidden}.app-shell:has(.zk-crm-desk) .main-stage>.zk-crm-desk{flex:auto;width:100%;height:100%;min-height:0}.zk-recv-desk{background:radial-gradient(1200px 420px at 12% -12%,#2496561f,#0000 55%),linear-gradient(#f3f7f4 0%,#eef3f0 100%);flex-direction:column;height:100%;min-height:0;display:flex;overflow:hidden}.zk-recv-desk .zk-dash-header{z-index:30;isolation:isolate;flex-shrink:0;margin:.65rem .85rem 0;position:relative;top:auto}.zk-recv-desk>.zk-hub-foot{z-index:20;flex-shrink:0;margin-top:0;position:relative}.recv-page-inner{overscroll-behavior:contain;flex:auto;align-content:start;gap:.85rem;min-width:0;min-height:0;margin:.75rem .85rem 1rem;display:grid;overflow:auto}.recv-ico{width:1.15rem;height:1.15rem}.recv-hero{color:#fff;background:linear-gradient(125deg,#ffffff24,#0000 42%),linear-gradient(#249656 0%,#167a43 55%,#126739 100%);border-radius:16px;flex-wrap:wrap;align-items:center;gap:.85rem 1rem;padding:.9rem 1rem;display:flex;box-shadow:0 12px 24px #125a3238}.recv-hero-brand{align-items:center;gap:.7rem;min-width:0;display:flex}.recv-hero-brand h1{letter-spacing:-.02em;margin:0;font-size:1.2rem;font-weight:800}.recv-hero-brand p{opacity:.9;margin:.15rem 0 0;font-size:.78rem}.recv-hero-mark{background:#ffffff2e;border-radius:12px;flex-shrink:0;place-items:center;width:2.4rem;height:2.4rem;display:grid}.recv-hero-stats{flex-wrap:wrap;gap:.45rem;margin-inline-start:auto;display:flex}.recv-stat{border:1px solid #0000;border-radius:12px;align-items:center;gap:.4rem;min-width:0;padding:.4rem .65rem;display:inline-flex}.recv-stat strong{font-size:.95rem;font-weight:800}.recv-stat em{text-transform:uppercase;letter-spacing:.04em;opacity:.92;font-size:.7rem;font-style:normal}.recv-stat.tone-sync{color:#e8fff0;background:#7dffb038;border-color:#7dffb073}.recv-stat.tone-sync.warn{color:#ffe3e3;background:#ff6b6b47;border-color:#ffb4b480}.recv-stat.tone-sku{color:#fff;background:#ffffff1a;border-color:#ffffff38}.recv-stat.tone-amt{color:#fff6d9;background:#ffd46438;border-color:#ffd46473}.recv-hero-actions{flex-wrap:wrap;gap:.4rem;display:flex}.recv-link-btn{color:#146c3c;font:inherit;cursor:pointer;background:#ffffffeb;border:1px solid #ffffff8c;border-radius:10px;align-items:center;gap:.35rem;padding:.45rem .8rem;font-size:.82rem;font-weight:750;text-decoration:none;display:inline-flex;box-shadow:0 4px 10px #0c341e26}.recv-link-btn.primary{color:#1b4332;background:#ffd43b;border-color:#ffd43b}.recv-layout{grid-template-columns:minmax(280px,340px) minmax(0,1fr);align-items:stretch;gap:.85rem;display:grid}.recv-card{background:#fff;border:1px solid #e8eeea;border-radius:16px;flex-direction:column;min-width:0;padding:.95rem;display:flex;box-shadow:0 8px 20px #10281c0a}.recv-meta-card .recv-fields{flex:none}.recv-meta-card .recv-side-panel{margin-top:auto}.recv-lines-card .recv-table-wrap{flex:auto;min-height:12rem}.recv-card-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.55rem;min-height:2.2rem;margin-bottom:.85rem;display:flex}.recv-card-head h2{margin:0;font-size:.95rem;font-weight:800;line-height:1.2}.recv-pill{border-radius:999px;align-items:center;padding:.2rem .55rem;font-size:.7rem;font-weight:750;line-height:1.2;display:inline-flex}.recv-pill.online{color:#2b8a3e;background:#ebfbee}.recv-pill.offline{color:#c92a2a;background:#fff5f5}.recv-fields{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:.7rem .65rem;display:grid}.recv-field{grid-template-rows:auto auto auto;align-content:start;gap:.35rem;min-width:0;display:grid}.recv-field-span{grid-column:1/-1}.recv-field>span{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;min-height:1rem;font-size:.7rem;font-weight:750;line-height:1.2;display:block}.recv-input,.recv-pick{box-sizing:border-box;border:1px solid var(--line);width:100%;max-width:100%;height:42px;min-height:42px;max-height:42px;font:inherit;color:var(--ink);background:#f7faf8;border-radius:11px;align-items:center;padding:0 .7rem;font-size:.88rem;line-height:1.25;display:flex}.recv-input[type=date]{appearance:none;padding-block:0;line-height:42px}.recv-input[type=date]::-webkit-calendar-picker-indicator{opacity:.55;cursor:pointer}.recv-pick{text-align:start;cursor:pointer;text-overflow:ellipsis;white-space:nowrap;font-weight:650;overflow:hidden}.recv-pick:hover{background:#ebfbee;border-color:#1b8a4c}.recv-input:focus,.recv-pick:focus{border-color:#1b8a4c;outline:none;box-shadow:0 0 0 3px #1b8a4c24}.recv-hint{color:var(--muted);min-height:1rem;font-size:.72rem;font-style:normal;line-height:1.3}.recv-side-panel{background:#f7faf8;border:1px solid #e8eeea;border-radius:12px;align-content:start;gap:.45rem;margin-top:.85rem;padding:.75rem;display:grid}.recv-side-panel>strong{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-size:.72rem}.recv-selected-name{margin:0;font-size:.9rem;font-weight:750}.recv-onhand{justify-content:space-between;align-items:baseline;gap:.5rem;font-size:.8rem;display:flex}.recv-onhand em{color:#1b4332;font-size:1rem;font-style:normal;font-weight:800}.recv-costs{gap:.35rem;display:grid}.recv-costs>span{color:var(--muted);font-size:.72rem;font-weight:700}.recv-cost-chips{flex-wrap:wrap;gap:.3rem;display:flex}.recv-cost-chips button{font:inherit;cursor:pointer;color:#1b4332;background:#fff;border:1px solid #d8e2dc;border-radius:8px;padding:.3rem .55rem;font-size:.78rem;font-weight:700}.recv-cost-chips button:hover{background:#ebfbee;border-color:#1b8a4c}.recv-lines-tools{flex-wrap:wrap;align-items:center;gap:.35rem;display:flex}.recv-chip-btn{height:2.1rem;font:inherit;cursor:pointer;color:#495057;background:#fff;border:1px solid #d8e2dc;border-radius:999px;justify-content:center;align-items:center;gap:.3rem;padding:0 .75rem;font-size:.76rem;font-weight:700;line-height:1;display:inline-flex}.recv-chip-btn.on{color:#1b4332;background:#ebfbee;border-color:#1b8a4c}.recv-chip-btn.accent{color:#fff;background:#1b4332;border-color:#1b4332}.recv-table-wrap{border:1px solid #e8eeea;border-radius:12px;overflow:auto}.recv-table{border-collapse:collapse;width:100%;min-width:640px}.recv-table th,.recv-table td{text-align:left;vertical-align:middle;border-bottom:1px solid #eef2f0;padding:.55rem .6rem}.recv-table th{letter-spacing:.05em;text-transform:uppercase;color:var(--muted);z-index:1;background:#f7faf8;font-size:.68rem;font-weight:750;position:sticky;top:0}.recv-table tbody tr{cursor:pointer}.recv-table tbody tr:hover td{background:#f8fbf9}.recv-table tbody tr.selected td{background:#ebfbee}.recv-table td.empty{text-align:center;color:var(--muted);padding:2rem 1rem}.recv-item-cell{gap:.1rem;min-width:0;display:grid}.recv-item-cell strong{font-size:.86rem}.recv-item-cell span{color:var(--muted);font-size:.72rem}.recv-cell{box-sizing:border-box;width:100%;min-width:4.2rem;max-width:6rem;font:inherit;background:#fff;border:1px solid #d8e2dc;border-radius:8px;padding:.35rem .45rem;font-size:.84rem}.recv-cell:focus{border-color:#1b8a4c;outline:none;box-shadow:0 0 0 2px #1b8a4c26}.recv-qty{max-width:4.5rem}.recv-ro{color:var(--ink);font-size:.84rem}.recv-row-del{color:#c92a2a;cursor:pointer;background:#fff5f5;border:1px solid #ffc9c9;border-radius:8px;place-items:center;width:2rem;height:2rem;padding:0;display:grid}.recv-row-del .recv-ico{width:.9rem;height:.9rem}.recv-summary{border-top:1px solid #eef2f0;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;min-height:3rem;margin-top:.75rem;padding-top:.75rem;display:flex}.recv-totals{color:var(--muted);flex-wrap:wrap;align-items:center;gap:.85rem;font-size:.84rem;line-height:1.2;display:flex}.recv-totals strong{color:var(--ink)}.recv-net strong{color:#1b4332;font-size:1.05rem}.recv-actions{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.recv-act{appearance:none;box-sizing:border-box;color:#1b4332;height:2.5rem;min-height:2.5rem;max-height:2.5rem;font:inherit;cursor:pointer;background:#fff;border:1px solid #d8e2dc;border-radius:10px;justify-content:center;align-items:center;padding:0 .95rem;font-size:.82rem;font-weight:750;line-height:1;display:inline-flex}.recv-act:disabled{opacity:.45;cursor:not-allowed}.recv-act.danger{color:#c92a2a;background:#fff5f5;border-color:#ffc9c9}.recv-act.primary{color:#fff;background:linear-gradient(#2aa35f,#1b8a4c);border-color:#0000;box-shadow:0 6px 14px #1b8a4c38}.recv-empty{text-align:center;color:var(--muted);place-items:center;gap:.4rem;padding:2rem 1rem;display:grid}.recv-empty strong{color:var(--ink)}.recv-empty.locked{min-height:40vh}.recv-empty-inline{text-align:center;color:var(--muted);margin:0;padding:1.25rem}.recv-modal-backdrop{z-index:80;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#12201c73;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.recv-modal{background:#fff;border-radius:16px;grid-template-rows:auto auto minmax(0,1fr) auto;gap:.65rem;width:min(420px,100%);max-height:min(84vh,640px);padding:.95rem;display:grid;box-shadow:0 24px 48px #12201c47}.recv-modal-wide{width:min(560px,100%)}.recv-modal-head{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.recv-modal-head h2{margin:0;font-size:1.05rem}.recv-modal-list{border:1px solid #e8eeea;border-radius:12px;min-height:0;overflow:auto}.recv-modal-row{text-align:start;cursor:pointer;width:100%;font:inherit;background:#fff;border:0;border-bottom:1px solid #eef2f0;justify-content:space-between;align-items:center;gap:.75rem;padding:.7rem .8rem;display:flex}.recv-modal-row:last-child{border-bottom:0}.recv-modal-row:hover{background:#f8fbf9}.recv-modal-row strong{font-size:.9rem;display:block}.recv-modal-row span{color:var(--muted);margin-top:.12rem;font-size:.74rem;display:block}.recv-modal-row em{color:#1b4332;flex-shrink:0;font-size:.82rem;font-style:normal;font-weight:750}.recv-modal-foot{color:var(--muted);text-align:end;margin:0;font-size:.78rem}@media (width<=960px){.zk-recv-desk .zk-dash-header{margin:.45rem .55rem 0}.recv-page-inner{margin:.45rem .55rem}.recv-hero{grid-template-columns:1fr;gap:.65rem;display:grid}.recv-hero-stats{grid-template-columns:repeat(3,minmax(0,1fr));margin-inline-start:0;display:grid}.recv-stat{justify-content:center}.recv-stat .recv-ico{display:none}.recv-layout{grid-template-columns:1fr}}@media (width<=720px){.zk-recv-desk .zk-dash-header{border-radius:14px;margin:.4rem .4rem 0}.recv-page-inner{margin:.4rem}.recv-fields{grid-template-columns:1fr}.recv-modal-backdrop{align-items:end;padding:0}.recv-modal,.recv-modal-wide{border-radius:16px 16px 0 0;width:100%;max-width:100%;max-height:min(92vh,100%)}}.zk-recv{background:radial-gradient(720px 340px at 100% 0,#1f6b5c1a,#0000 55%),linear-gradient(#eef3f0 0%,#e4ebe7 100%);grid-template-rows:auto auto 1fr auto;min-height:100vh;display:grid}.zk-recv-top{color:#fff;background:linear-gradient(#2aa35f,#1b8a4c);justify-content:space-between;align-items:center;padding:.7rem 1.1rem;display:flex}.zk-recv-top strong{font-family:var(--font-display)}.zk-recv-top-right{align-items:center;gap:.75rem;display:flex}.zk-recv-close{color:#fff;background:#ffffff2e;border-radius:50%;place-items:center;width:2rem;height:2rem;text-decoration:none;display:grid}.zk-recv-bar{text-align:center;background:#fff;border-radius:16px;margin:.85rem 1rem 0;padding:.7rem 1rem;box-shadow:0 10px 24px #12201c14}.zk-recv-bar h1{font-family:var(--font-display);margin:0;font-size:1.25rem;font-weight:800}.zk-recv-body{gap:.75rem;min-height:0;padding:.85rem 1rem 1rem;display:grid;overflow:auto}.zk-recv-meta{grid-template-columns:1.2fr 1fr .7fr;gap:.75rem;display:grid}.zk-recv-col,.zk-recv-side{background:#fff;border:1px solid #d9e3dc;border-radius:16px;align-content:start;gap:.55rem;padding:.85rem;display:grid;box-shadow:0 10px 22px #12201c0f}.zk-recv-col label,.zk-recv-side label,.zk-recv-entry label,.zk-recv-totals label{gap:.25rem;display:grid}.zk-recv-col label span,.zk-recv-side label span,.zk-recv-entry label span,.zk-recv-totals label span{color:var(--muted);text-transform:uppercase;letter-spacing:.03em;font-size:.72rem;font-weight:750}.zk-recv-contact{resize:vertical;background:#eef2ef;min-height:4.5rem}.zk-recv-pick{appearance:none;border:1px solid var(--line);font:inherit;text-align:left;cursor:pointer;color:var(--ink);background:#fff;border-radius:12px;padding:.65rem .75rem}.zk-recv-pick:hover{border-color:#9fc9ae}.zk-recv-add-item{appearance:none;font:inherit;cursor:pointer;color:#fff;background:linear-gradient(#2aa35f,#1b8a4c);border:0;border-radius:12px;margin-top:.25rem;padding:.7rem .85rem;font-weight:750}.zk-recv-costs{background:#f3f7f5;border:1px solid #d9e3dc;border-radius:12px;padding:.65rem}.zk-recv-costs strong{margin-bottom:.4rem;font-size:.78rem;display:block}.zk-recv-costs em{color:var(--muted);font-size:.85rem}.zk-recv-costs ul{gap:.3rem;margin:0;padding:0;list-style:none;display:grid}.zk-recv-costs button{appearance:none;width:100%;font:inherit;text-align:left;cursor:pointer;background:#fff;border:0;border-radius:8px;padding:.4rem .55rem;font-weight:700}.zk-recv-costs button:hover{background:var(--teal-soft);color:var(--teal)}.zk-recv-entry{background:#fff;border:1px solid #d9e3dc;border-radius:16px;padding:.75rem;box-shadow:0 10px 22px #12201c0f}.zk-recv-entry-row{grid-template-columns:1.4fr .7fr repeat(4,.75fr);gap:.5rem;display:grid}.zk-recv-table-wrap{background:#fff;border:1px solid #d9e3dc;border-radius:16px;min-height:12rem;overflow:auto;box-shadow:0 10px 22px #12201c0f}.zk-recv-table{border-collapse:collapse;width:100%;font-size:.88rem}.zk-recv-table th,.zk-recv-table td{text-align:left;border-bottom:1px solid #e8eeea;padding:.55rem .65rem}.zk-recv-table th:nth-child(n+4),.zk-recv-table td:nth-child(n+4){text-align:right;font-variant-numeric:tabular-nums}.zk-recv-table thead th{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);background:#f0f5f2;font-size:.7rem;position:sticky;top:0}.zk-recv-table tbody tr{cursor:pointer}.zk-recv-table tbody tr:hover{background:#f7faf8}.zk-recv-table tbody tr.selected{background:#d8ebe5}.zk-recv-table td.empty{text-align:center;color:var(--muted);padding:2rem 1rem}.zk-recv-summary{flex-wrap:wrap;justify-content:space-between;align-items:stretch;gap:1rem;display:flex}.zk-recv-stock-box{align-items:stretch;gap:.75rem;display:flex}.zk-recv-stock-box>div{background:#fff;border:1px solid #d9e3dc;border-radius:14px;align-content:center;min-width:7rem;padding:.65rem .85rem;display:grid;box-shadow:0 8px 18px #12201c0d}.zk-recv-stock-box span{color:var(--muted);text-transform:uppercase;font-size:.72rem;font-weight:750}.zk-recv-stock-box strong{font-family:var(--font-display);font-size:1.35rem}.zk-recv-barcode{appearance:none;font:inherit;cursor:pointer;color:#33414a;background:#e8eef2;border:0;border-radius:14px;padding:.75rem 1rem;font-weight:750}.zk-recv-barcode.on{background:var(--teal-soft);color:var(--teal)}.zk-recv-totals{background:#fff;border:1px solid #d9e3dc;border-radius:14px;grid-template-columns:repeat(3,minmax(7rem,1fr));gap:.5rem;padding:.65rem;display:grid;box-shadow:0 8px 18px #12201c0d}.zk-recv-totals input[readonly]{background:var(--field-readonly-bg);color:var(--field-readonly-fg);font-weight:750}.zk-recv-actions{background:#24312c;flex-wrap:wrap;gap:.45rem;padding:.65rem 1rem;display:flex}.zk-recv-action{appearance:none;font:inherit;cursor:pointer;color:#eef4f0;background:#3d4f48;border:0;border-radius:12px;place-items:center;padding:.7rem .95rem;font-weight:750;text-decoration:none;display:inline-grid}.zk-recv-action.primary{color:#fff;background:linear-gradient(#2aa35f,#1b8a4c);margin-left:auto}.zk-recv-action.danger{color:#ffd0b8;background:#5c3530}.zk-recv-picker{background:#f4f7f5;border:1px solid #cfd9d3;border-radius:18px;grid-template-rows:auto auto 1fr;gap:.65rem;width:min(720px,100%);max-height:min(85vh,720px);padding:1rem;display:grid;overflow:hidden;box-shadow:0 28px 56px #12201c47}.zk-recv-picker-list{background:#fff;border:1px solid #d9e3dc;border-radius:12px;overflow:auto}.zk-recv-empty{text-align:center;color:var(--muted);padding:1.5rem}@media (width<=960px){.zk-inv-hub,.zk-recv-meta{grid-template-columns:1fr}.zk-recv-entry-row{grid-template-columns:1fr 1fr}.zk-recv-totals{grid-template-columns:1fr}}.zk-recv-edit-table td{vertical-align:middle}.zk-recv-edit-table .zk-recv-desc{max-width:14rem;font-weight:650}.zk-recv-cell{width:5.5rem;max-width:100%;font:inherit;font-variant-numeric:tabular-nums;text-align:right;background:#fff;border:1px solid #c9d5ce;border-radius:8px;padding:.4rem .45rem}.zk-recv-cell:focus{border-color:#2aa35f;outline:2px solid #2aa35f59}.zk-recv-qty{background:#f3faf6;border-color:#9fc9ae;width:4.5rem}.zk-recv-ro{color:var(--ink-soft);font-weight:750}.zk-recv-add-modal{width:min(860px,100%)}.zk-recv-search-label{color:var(--muted);align-items:center;gap:.65rem;font-size:.85rem;font-weight:700;display:flex}.zk-recv-search-label .search{flex:1}.zk-recv-add-table thead th{color:#fff;letter-spacing:.03em;background:linear-gradient(#2f9e9a,#1f7f7c)}.zk-recv-add-foot{color:var(--muted);justify-content:space-between;align-items:center;gap:.75rem;font-size:.85rem;display:flex}.zk-recv-barcode-link{appearance:none;color:#1c7ed6;font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-weight:700}.zk-recv-barcode-link:hover{text-decoration:underline}.zk-vendors-account-layout{grid-template-columns:1fr auto;align-items:stretch;gap:.75rem;width:min(980px,100%);display:grid}.zk-vendors-account-main{gap:.75rem;min-width:0;display:grid}.zk-vendors-account-side{align-content:start;gap:.5rem;padding-top:2.5rem;display:grid}.zk-vendors-side-btn{appearance:none;min-width:5.5rem;min-height:4.2rem;font:inherit;cursor:pointer;color:#eef4f0;background:#3d4f48;border:0;border-radius:12px;padding:.65rem .75rem;font-weight:750}.zk-vendors-side-btn.cash{background:linear-gradient(#2aa35f,#1b8a4c)}.zk-vendors-side-btn.card{background:linear-gradient(#3d5a6c,#2a3d48)}.zk-vendors-filter-btns{align-items:end;gap:.4rem;padding-bottom:.1rem;display:flex}.zk-vendors-ledger tbody tr{cursor:pointer}.zk-vendors-ledger tbody tr.selected{outline-offset:-2px;background:#d8ebe5;outline:2px solid #2aa35f}.zk-vendors-pay-overlay{z-index:90}.zk-vendors-pay-sheet{background:#f4f7f5;border:1px solid #cfd9d3;border-radius:20px;width:min(480px,100%);padding:1rem 1.1rem 1.1rem;animation:.25s both pop;position:relative;box-shadow:0 28px 56px #12201c47}.zk-vendors-pay-form{background:#fff;border:1px solid #d9e3dc;border-radius:16px;gap:.75rem;padding:1rem;display:grid}.zk-vendors-pay-row{gap:.25rem;display:grid}.zk-vendors-pay-row>span,.zk-vendors-pay-form label span{color:var(--muted);text-transform:uppercase;letter-spacing:.03em;font-size:.75rem;font-weight:750}.zk-vendors-pay-row strong{flex-wrap:wrap;align-items:baseline;gap:.5rem 1rem;font-size:1.05rem;display:flex}.zk-vendors-pay-row em{color:var(--accent-deep);font-style:normal;font-weight:750}.zk-vendors-pay-form label{gap:.28rem;display:grid}.zk-vendors-pay-desc{resize:vertical;min-height:4.5rem;font:inherit}@media (width<=720px){.zk-vendors-account-layout{grid-template-columns:1fr}.zk-vendors-account-side{grid-auto-flow:column;padding-top:0}}.zk-masters{background:radial-gradient(circle at 8% -8%,#0f766e24,#0000 42%),radial-gradient(circle at 92% 8%,#0369a11a,#0000 38%),linear-gradient(#e4ebe7 0%,#f2f6f3 46%,#e5ebe7 100%);flex-direction:column;min-height:100vh;display:flex}.zk-masters>.zk-hub-foot{margin-top:auto}.zk-masters-body{flex:1;align-content:start;gap:.9rem;padding:1rem 1.25rem 1.15rem;display:grid;overflow:auto}.zk-masters-pagehead{margin-bottom:.1rem}.zk-masters-title{align-items:flex-start;gap:.85rem;display:flex}.zk-masters-title-mark{color:#fff;background:linear-gradient(145deg,#0f766e 0%,#0d9488 55%,#0369a1 100%);border-radius:14px;flex-shrink:0;place-items:center;width:2.75rem;height:2.75rem;display:grid;box-shadow:0 10px 22px #0f766e47}.zk-masters-title-mark svg{width:1.35rem;height:1.35rem}.zk-masters-title h1{margin:0}.zk-masters-title p{margin:.2rem 0 0}.zk-masters-title p strong{color:#0f766e;font-weight:800}.zk-masters-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem;display:grid}.zk-masters-stat{background:var(--panel);border:1px solid var(--line);border-radius:16px;align-items:center;gap:.75rem;padding:.8rem .9rem;display:flex;position:relative;overflow:hidden;box-shadow:0 10px 22px #12201c0f}.zk-masters-stat:before{content:"";opacity:.9;background:currentColor;width:4px;position:absolute;inset:0 auto 0 0}.zk-masters-stat-ico{color:#fff;border-radius:12px;flex-shrink:0;place-items:center;width:2.45rem;height:2.45rem;display:grid}.zk-masters-stat-ico svg{width:1.2rem;height:1.2rem}.zk-masters-stat>div{gap:.12rem;min-width:0;display:grid}.zk-masters-stat span{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);font-size:.72rem;font-weight:800}.zk-masters-stat strong{color:var(--ink);font-size:1.4rem;font-weight:800;line-height:1.1}.zk-masters-stat.tone-teal{color:#0f766e;background:linear-gradient(135deg,#fff 55%,#e6f5f2 100%)}.zk-masters-stat.tone-teal .zk-masters-stat-ico{background:linear-gradient(145deg,#0f766e,#14b8a6)}.zk-masters-stat.tone-ocean{color:#0369a1;background:linear-gradient(135deg,#fff 55%,#e8f3fb 100%)}.zk-masters-stat.tone-ocean .zk-masters-stat-ico{background:linear-gradient(145deg,#0369a1,#0ea5e9)}.zk-masters-stat.tone-lime{color:#15803d;background:linear-gradient(135deg,#fff 55%,#eaf8ef 100%)}.zk-masters-stat.tone-lime .zk-masters-stat-ico{background:linear-gradient(145deg,#15803d,#22c55e)}.zk-masters-stat.tone-amber{color:#b45309;background:linear-gradient(135deg,#fff 55%,#fff4e8 100%)}.zk-masters-stat.tone-amber .zk-masters-stat-ico{background:linear-gradient(145deg,#b45309,#f59e0b)}.zk-masters-toolbar{flex-wrap:wrap;align-items:center;gap:.55rem;display:flex}.zk-masters-tabs{background:#ffffffd1;border:1px solid #12201c14;border-radius:14px;gap:.3rem;padding:.25rem;display:flex;box-shadow:0 6px 14px #12201c0a}.zk-masters-tabs button{color:#4b5c56;cursor:pointer;background:0 0;border:0;border-radius:11px;align-items:center;gap:.4rem;min-height:2.5rem;padding:0 .95rem;font-weight:750;display:inline-flex}.zk-masters-tabs button svg{width:1.05rem;height:1.05rem}.zk-masters-tabs button.on{color:#fff;background:linear-gradient(145deg,#0f766e,#0d9488);box-shadow:0 8px 16px #0f766e47}.zk-masters-search-wrap{flex:12rem;align-items:center;min-width:10rem;display:flex;position:relative}.zk-masters-search-wrap>svg{color:#6b7c75;pointer-events:none;width:1.05rem;height:1.05rem;position:absolute;left:.8rem}html[dir=rtl] .zk-masters-search-wrap>svg{left:auto;right:.8rem}.zk-masters-search{width:100%;min-height:var(--touch-min);border:1px solid var(--line);background:var(--panel);font:inherit;border-radius:12px;padding:.55rem .85rem .55rem 2.35rem;box-shadow:0 4px 12px #12201c08}html[dir=rtl] .zk-masters-search{padding:.55rem 2.35rem .55rem .85rem}.zk-masters-search:focus{border-color:#0f766e;outline:2px solid #0f766e47}.zk-masters-add{align-items:center;gap:.35rem;display:inline-flex}.zk-masters-add svg{width:1rem;height:1rem}.zk-masters-split{width:100%;min-height:0}.zk-masters-list{min-width:0;max-height:min(62vh,560px);padding-right:.15rem;overflow:auto}.zk-masters-empty-copy-mobile{display:none}.zk-masters-empty-copy-desk{display:inline}.zk-masters-list .zk-co-branch.off{opacity:.55}.zk-masters-row{background:#fff;transition:border-color .15s,box-shadow .15s,transform .12s}.zk-masters-row:hover{transform:translateY(-1px);box-shadow:0 10px 18px #12201c12}@media (hover:none){.zk-masters-row:hover{box-shadow:none;transform:none}}.zk-masters-row-badge{color:#fff;border-radius:12px;flex-shrink:0;place-items:center;width:2.35rem;height:2.35rem;display:grid;box-shadow:inset 0 0 0 1px #ffffff2e}.zk-masters-row-badge.soft{opacity:.95}.zk-masters-row-badge svg{width:1.15rem;height:1.15rem}.zk-masters-row-meta,.zk-masters-row-price{color:#0f766e;white-space:nowrap;background:#e7f5f2;border-radius:999px;padding:.28rem .55rem;font-size:.78rem;font-weight:800}.zk-masters-row-price{color:#0c4a6e;background:#e8f3fb}.zk-masters-star{color:#d97706;vertical-align:-.1em;margin-inline-start:.3rem;display:inline-flex}.zk-masters-star svg{width:.85rem;height:.85rem}.zk-masters-editor{min-width:0;min-height:0}.zk-masters-empty-panel{place-content:center;justify-items:center;gap:.4rem;min-height:12rem;display:grid}.zk-masters-editor-head{align-items:center;gap:.75rem;display:flex}.zk-masters-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.65rem;margin-top:.85rem;display:flex}.zk-masters-actions>div{flex-wrap:wrap;gap:.5rem;display:flex}.zk-masters-hint{color:var(--muted);margin:.75rem 0 0;font-size:.85rem;font-weight:650}.zk-masters-hint a{color:var(--teal);font-weight:800}.zk-masters-block{background:linear-gradient(#f4f8f6,#eef4f1);border:1px solid #0f766e1f;border-radius:14px;gap:.45rem;margin-top:.85rem;padding:.85rem;display:grid}.zk-masters-block strong{color:#0f766e;font-size:.9rem}.zk-masters-block p{color:var(--muted);margin:0;font-size:.85rem;line-height:1.4}.zk-masters-recipe-row{grid-template-columns:minmax(0,1fr) 5.5rem auto;align-items:center;gap:.45rem;display:grid}.zk-masters-empty,.zk-masters-empty-panel{color:var(--muted);text-align:center;background:linear-gradient(#f7faf8,#eef3f0);border:1px dashed #0f766e38;border-radius:14px;padding:1.25rem;font-weight:650}.zk-masters-empty{justify-items:center;gap:.45rem;display:grid}.zk-masters-empty-ico{color:#0f766e;background:#e7f5f2;border-radius:12px;place-items:center;width:2.4rem;height:2.4rem;display:grid}.zk-masters-empty-ico svg{width:1.2rem;height:1.2rem}.zk-masters-empty-hero{color:#fff;background:linear-gradient(145deg,#0f766e,#0369a1);border-radius:18px;place-items:center;width:3.6rem;height:3.6rem;margin-bottom:.35rem;display:grid;box-shadow:0 14px 28px #0f766e40}.zk-masters-empty-hero svg{width:1.55rem;height:1.55rem}.zk-masters-empty-panel strong{color:var(--ink);font-size:1.05rem}@media (width<=1100px){.zk-masters .zk-co-split.zk-masters-split{grid-template-columns:minmax(0,1fr);gap:.75rem}.zk-masters-split.is-idle .zk-masters-editor{display:none}.zk-masters-split.is-sheet-mode .zk-masters-list,.zk-masters-split.is-idle .zk-masters-list{max-height:none;overflow:visible}.zk-masters-empty-copy-desk{display:none}.zk-masters-empty-copy-mobile{display:inline}}.zk-masters-sheet-backdrop{z-index:0;cursor:pointer;background:#12201c7a;border:0;margin:0;padding:0;position:absolute;inset:0}.zk-masters-editor.is-sheet{z-index:120;width:100%;max-width:100%;max-height:none;box-shadow:none;background:0 0;border:0;border-radius:0;margin:0;padding:0;animation:none;inset:0;overflow:visible;display:block!important;position:fixed!important;inset:0!important}.zk-masters-editor.is-sheet:before{display:none}.zk-masters-sheet-card{z-index:1;max-height:min(90vh,760px);padding:.85rem 1rem 1.25rem;padding-bottom:calc(1.25rem + env(safe-area-inset-bottom,0px));background:#fff;border:1px solid #ffffff59;border-bottom:0;border-radius:22px 22px 0 0;animation:.22s both rise;position:absolute;bottom:0;left:0;right:0;overflow:auto;box-shadow:0 -18px 48px #12201c47}.zk-masters-sheet-card:before{content:"";background:#12201c2e;border-radius:999px;width:2.6rem;height:.28rem;margin:.15rem auto .75rem;display:block}.zk-masters-sheet-close{appearance:none;border:1px solid var(--line);background:var(--surface-2);color:var(--ink);cursor:pointer;border-radius:999px;flex-shrink:0;width:2.2rem;height:2.2rem;font-size:1rem;line-height:1}.zk-masters-sheet-close:hover{background:#e8eeea}.zk-masters-editor.is-sheet .zk-co-panel-head{align-items:center}@media (width<=860px){.zk-masters-body{gap:.7rem;padding:.75rem .85rem 1rem}.zk-masters-title{gap:.65rem}.zk-masters-title-mark{border-radius:12px;width:2.35rem;height:2.35rem}.zk-masters-title-mark svg{width:1.15rem;height:1.15rem}.zk-masters-title h1{font-size:1.2rem}.zk-masters-title p{font-size:.82rem;line-height:1.35}.zk-masters-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}.zk-masters-stat{border-radius:14px;gap:.55rem;padding:.65rem .7rem}.zk-masters-stat-ico{border-radius:10px;width:2.1rem;height:2.1rem}.zk-masters-stat strong{font-size:1.2rem}.zk-masters-toolbar{grid-template-columns:minmax(0,1fr) auto;gap:.5rem;display:grid}.zk-masters-tabs{grid-column:1/-1;width:100%}.zk-masters-tabs button{flex:1;justify-content:center;min-height:2.65rem}.zk-masters-search-wrap{flex:auto;min-width:0}.zk-masters-add{white-space:nowrap;min-height:2.65rem}.zk-masters .zk-co-split.zk-masters-split{grid-template-columns:minmax(0,1fr)}.zk-masters-empty-panel{min-height:0;padding:1rem}.zk-masters-empty-hero{border-radius:14px;width:3rem;height:3rem}.zk-masters-recipe-row{grid-template-columns:minmax(0,1fr)}.zk-masters-actions{flex-direction:column;align-items:stretch}.zk-masters-actions>div{width:100%}.zk-masters-actions .zk-co-btn{flex:1}}@media (width<=560px){.zk-masters-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.zk-masters-stat span{font-size:.64rem}.zk-masters-stat-ico{width:1.9rem;height:1.9rem}.zk-masters-stat-ico svg{width:1rem;height:1rem}.zk-masters-row-badge{border-radius:10px;width:2.1rem;height:2.1rem}.zk-masters-row-meta,.zk-masters>.zk-hub-foot .zk-hub-home{display:none}}.zk-dept{background:radial-gradient(700px 320px at 0 0,#c45c2614,#0000 55%),radial-gradient(560px 280px at 100% 20%,#1f6b5c1a,#0000 50%),linear-gradient(#eef3f0 0%,#e6ece8 100%);grid-template-rows:auto auto auto 1fr auto;min-height:100vh;display:grid}.zk-dept-top{color:#fff;background:linear-gradient(#2aa35f,#1b8a4c);justify-content:space-between;align-items:center;padding:.7rem 1.1rem;display:flex}.zk-dept-top strong{font-family:var(--font-display)}.zk-dept-top-right{align-items:center;gap:.75rem;display:flex}.zk-dept-close{color:#fff;background:#ffffff2e;border-radius:50%;place-items:center;width:2rem;height:2rem;text-decoration:none;display:grid}.zk-dept-bar{background:#fff;border-radius:16px;justify-content:center;align-items:center;margin:.85rem 1rem 0;padding:.7rem 1rem;display:flex;position:relative;box-shadow:0 10px 24px #12201c14}.zk-dept-bar h1{font-family:var(--font-display);margin:0;font-size:1.25rem;font-weight:800}.zk-dept-search{background:#fff;border-radius:14px;align-items:center;gap:.75rem;margin:.75rem 1rem 0;padding:.65rem .9rem;display:flex;box-shadow:0 8px 18px #12201c0f}.zk-dept-search label{color:var(--muted);flex:1;align-items:center;gap:.65rem;font-size:.85rem;font-weight:700;display:flex}.zk-dept-search input{flex:1}.zk-dept-body{grid-template-columns:minmax(200px,250px) 1fr;gap:.85rem;min-height:0;padding:.85rem 1rem 1rem;display:grid}.zk-dept-tree{background:#fff;border:1px solid #d9e3dc;border-radius:16px;align-content:start;gap:.2rem;padding:.65rem;display:grid;overflow:auto;box-shadow:0 12px 28px #12201c14}.zk-dept-grid-wrap{background:#f7faf8;border:1px solid #d5ded8;border-radius:16px;padding:.75rem;overflow:auto}.zk-dept-grid{grid-template-columns:repeat(auto-fill,minmax(9.5rem,1fr));gap:.75rem;display:grid}.zk-dept-tile{appearance:none;text-align:left;cursor:pointer;font:inherit;border:0;border-radius:16px;align-content:end;gap:.2rem;min-height:6.5rem;padding:.9rem .75rem;transition:transform .15s,box-shadow .15s;display:grid;box-shadow:0 12px 24px #12201c24}.zk-dept-tile:hover{transform:translateY(-3px);box-shadow:0 16px 30px #12201c33}.zk-dept-tile.inactive{opacity:.65;filter:grayscale(.2)}.zk-dept-tile strong{font-family:var(--font-display);line-height:1.2}.zk-dept-tile small{opacity:.85;font-size:.72rem}.zk-dept-tile em{text-transform:uppercase;opacity:.9;font-size:.68rem;font-style:normal;font-weight:750}.zk-dept-empty{text-align:center;min-height:12rem;color:var(--muted);place-content:center;gap:.25rem;display:grid}.zk-dept-foot{background:#24312c;flex-wrap:wrap;justify-content:space-between;gap:.75rem;padding:.65rem 1rem;display:flex}.zk-dept-home{color:#dce5e0;border-radius:10px;padding:.5rem .85rem;font-weight:650;text-decoration:none}.zk-dept-home.primary{color:#fff;background:linear-gradient(#2aa35f,#1b8a4c)}.zk-dept-modal{z-index:80;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#12201c85;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.zk-dept-sheet{background:radial-gradient(520px 220px at 0 0,#1f6b5c1a,#0000 55%),linear-gradient(#f7faf8 0%,#eef3f0 100%);border:1px solid #cfd9d3;border-radius:22px;flex-direction:column;width:min(880px,100%);max-height:min(92vh,940px);padding:0;animation:.25s both pop;display:flex;position:relative;overflow:hidden;box-shadow:0 28px 56px #12201c47}.zk-dept-sheet-head{flex-shrink:0;justify-content:space-between;align-items:flex-start;gap:1rem;padding:1rem 1.15rem .65rem;display:flex}.zk-dept-sheet-kicker{letter-spacing:.06em;text-transform:uppercase;color:var(--teal);margin:0 0 .15rem;font-size:.72rem;font-weight:750}.zk-dept-sheet-head h2{font-family:var(--font-display);letter-spacing:-.02em;text-overflow:ellipsis;white-space:nowrap;max-width:34rem;margin:0;font-size:1.28rem;overflow:hidden}.zk-dept-sheet-close{width:2.4rem;height:2.4rem;color:var(--ink-soft);cursor:pointer;background:#e8eeea;border:0;border-radius:12px;flex-shrink:0;font-size:1rem}.zk-dept-sheet-close:hover{background:#dce5e0}.zk-dept-sheet-body{overscroll-behavior:contain;flex:1;gap:.85rem;min-height:0;padding:0 1.15rem .45rem;display:grid;overflow:auto}.zk-dept-section{background:#fff;border:1px solid #d9e3dc;border-radius:16px;padding:.95rem 1rem 1.05rem;box-shadow:0 8px 18px #12201c0a}.zk-dept-section h3{letter-spacing:.05em;text-transform:uppercase;color:var(--muted);margin:0 0 .75rem;font-size:.78rem;font-weight:800}.zk-dept-grid-2{grid-template-columns:1fr 1fr;gap:.75rem .9rem;display:grid}.zk-dept-span-2{grid-column:1/-1}.zk-dept-section label{gap:.28rem;min-width:0;display:grid}.zk-dept-section label>span{color:var(--muted);text-transform:uppercase;letter-spacing:.03em;font-size:.72rem;font-weight:750}.zk-dept-section label>span i{color:var(--danger);font-style:normal}.zk-dept-section .search,.zk-dept-section .mesa-select-field .mesa-select-trigger{background:#f7faf8;box-shadow:inset 0 0 0 1px #d5ddd8}.zk-dept-section .search:focus{box-shadow:inset 0 0 0 1.5px var(--teal);background:#fff}.zk-dept-toggle{min-height:2.5rem;color:var(--ink-soft);font:inherit;cursor:pointer;background:#f4f7f5;border:1px solid #d5ddd8;border-radius:999px;align-items:center;gap:.55rem;margin-top:.85rem;padding:.4rem .85rem .4rem .55rem;font-weight:700;display:inline-flex}.zk-dept-toggle-dot{background:#c5d0c9;border-radius:50%;width:1.15rem;height:1.15rem;box-shadow:inset 0 0 0 2px #fff}.zk-dept-toggle.on{background:color-mix(in srgb, var(--teal) 12%, #fff);border-color:color-mix(in srgb, var(--teal) 35%, var(--line));color:var(--teal)}@supports not (color: color-mix(in srgb, red 50%, blue)){.zk-dept-toggle.on{background:#e4edeb;border-color:#95b5ad}}.zk-dept-toggle.on .zk-dept-toggle-dot{background:var(--teal)}.zk-dept-style-grid{grid-template-columns:1fr 1fr;align-items:start;gap:.85rem;display:grid}.zk-dept-style-panel{gap:.85rem;display:grid}.zk-dept-style-panel>h3{margin:0}.zk-dept-metrics{grid-template-columns:1fr 1fr;gap:.65rem;display:grid}.zk-dept-metrics label{gap:.3rem;min-width:0;display:grid}.zk-dept-metrics label>span,.zk-dept-color-field>span{color:var(--muted);text-transform:uppercase;letter-spacing:.03em;font-size:.72rem;font-weight:750}.zk-dept-stepper{background:#f7faf8;border-radius:12px;grid-template-columns:2.55rem minmax(0,1fr) 2.55rem;height:2.65rem;display:grid;overflow:hidden;box-shadow:inset 0 0 0 1px #d5ddd8}.zk-dept-stepper button{color:var(--ink);cursor:pointer;background:#e8eeea;border:0;font-size:1.15rem;font-weight:700}.zk-dept-stepper button:hover:not(:disabled){background:#dce5e0}.zk-dept-stepper button:disabled{opacity:.4;cursor:not-allowed}.zk-dept-stepper input{text-align:center;width:100%;height:100%;font:inherit;color:var(--ink);-moz-appearance:textfield;background:0 0;border:0;outline:none;font-weight:750}.zk-dept-stepper input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.zk-dept-stepper input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.zk-dept-color-field{gap:.35rem;display:grid}.zk-dept-color-row{grid-template-columns:2.65rem minmax(4.5rem,6rem) minmax(0,1fr);align-items:center;gap:.4rem;display:grid}.zk-dept-color-pick{cursor:pointer;border-radius:12px;width:2.65rem;height:2.65rem;margin:0;overflow:hidden;box-shadow:inset 0 0 0 1px #d5ddd8}.zk-dept-color-pick input{cursor:pointer;background:0 0;border:0;width:140%;height:140%;margin:-20%;padding:0}.zk-dept-hex{height:2.65rem;font:inherit;color:var(--ink);background:#f7faf8;border:0;border-radius:12px;outline:none;padding:0 .65rem;font-size:.85rem;font-weight:700;box-shadow:inset 0 0 0 1px #d5ddd8}.zk-dept-hex:focus{box-shadow:inset 0 0 0 1.5px var(--teal);background:#fff}.zk-dept-form{gap:.85rem;display:grid}.zk-dept-form-main,.zk-dept-style-card{background:#fff;border:1px solid #d9e3dc;border-radius:16px;gap:.65rem;padding:.95rem;display:grid;box-shadow:0 10px 22px #12201c0d}.zk-dept-form-main label,.zk-dept-style-card label,.zk-dept-row3 label{gap:.28rem;display:grid}.zk-dept-form-main label span,.zk-dept-style-card label span,.zk-dept-row3 label span{color:var(--muted);text-transform:uppercase;letter-spacing:.03em;font-size:.72rem;font-weight:750}.zk-dept-form-main label span i{color:var(--danger);font-style:normal}.zk-dept-row2{grid-template-columns:1fr auto;align-items:end;gap:.65rem;display:grid}.zk-dept-row3{grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem;margin-bottom:.75rem;display:grid}.zk-dept-check{align-items:center;gap:.45rem;padding-bottom:.55rem;font-weight:650;display:flex!important}.zk-dept-style-card>strong{font-family:var(--font-display);font-size:.95rem}.zk-dept-swatches{flex-wrap:wrap;align-items:center;gap:.35rem;display:flex}.zk-dept-swatches.compact{flex-wrap:nowrap;padding-bottom:.15rem;overflow-x:auto}.zk-dept-swatches button{cursor:pointer;border:2px solid #0000;border-radius:50%;flex:none;width:1.7rem;height:1.7rem;box-shadow:inset 0 0 0 1px #0000001f}.zk-dept-swatches button.on{outline-offset:1px;border-color:#fff;outline:2px solid #2aa35f}.zk-dept-dual-preview{grid-template-columns:1fr 1fr;gap:.75rem;margin-bottom:.85rem;display:grid}.zk-dept-preview-hint{color:var(--muted);margin:-.35rem 0 .75rem;font-size:.84rem;line-height:1.4}.zk-dept-preview-fig{gap:.4rem;margin:0;display:grid}.zk-dept-preview-fig figcaption{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);text-align:center;font-size:.72rem;font-weight:750}.zk-dept-image-row{border-top:1px solid #e4ebe6;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.85rem;padding-top:.75rem;display:flex}.zk-dept-image-row strong{font-size:.88rem;display:block}.zk-dept-image-row small{color:var(--muted);font-size:.75rem}.zk-dept-preview-section .zk-dept-image{box-shadow:none;background:0 0;border:0;margin:0;padding:0}.zk-dept-image{background:#fff;border:1px solid #d9e3dc;border-radius:16px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.85rem;padding:.95rem;display:grid}.zk-dept-preview{min-height:7.5rem;font-family:var(--font-display);text-align:center;background-position:50%;background-size:cover;border-radius:14px;place-items:center;padding:.75rem;font-weight:800;display:grid;box-shadow:inset 0 0 0 1px #12201c14}.zk-dept-image-actions{align-content:center;gap:.45rem;min-width:7.5rem;display:grid}.zk-dept-image-actions.row{flex-wrap:wrap;align-items:center;gap:.5rem;min-width:0;display:flex}.zk-dept-image-actions small{color:var(--muted);font-size:.75rem;line-height:1.3}.zk-dept-actions{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffffb8;border-top:1px solid #d5ddd8e6;flex-wrap:wrap;flex-shrink:0;justify-content:flex-end;gap:.5rem;margin:0;padding:.85rem 1.15rem 1rem;display:flex}.zk-dept-action{appearance:none;font:inherit;cursor:pointer;color:#33414a;background:#e8eef2;border:0;border-radius:12px;min-width:6.5rem;padding:.75rem 1.1rem;font-weight:750}.zk-dept-action.primary{color:#fff;background:linear-gradient(#2aa35f,#1b8a4c);box-shadow:0 10px 18px #1b784647}.zk-dept-action.danger{background:var(--danger-soft);color:var(--danger)}.zk-dept-action:disabled{opacity:.45;cursor:not-allowed}@media (width<=800px){.zk-dept-body{grid-template-columns:1fr}.zk-dept-tree{max-height:200px}.zk-dept-grid-2,.zk-dept-row2,.zk-dept-row3,.zk-dept-style-grid,.zk-dept-dual-preview,.zk-dept-metrics,.zk-dept-color-row,.zk-dept-image{grid-template-columns:1fr}.zk-dept-swatches.compact{flex-wrap:wrap}.zk-kds .zk-dept-body.kds-body,.zk-kds .kds-body{grid-template-columns:minmax(160px,200px) minmax(0,1fr)!important}.zk-kds .kds-tree{max-height:min(72vh,40rem)}}.zk-payt{background:radial-gradient(700px 320px at 100% 0,#1f6b5c1a,#0000 55%),linear-gradient(#eef3f0 0%,#e6ece8 100%);grid-template-rows:auto auto 1fr auto;min-height:100vh;display:grid}.zk-payt-top{color:#fff;background:linear-gradient(#2aa35f,#1b8a4c);justify-content:space-between;align-items:center;padding:.7rem 1.1rem;display:flex}.zk-payt-top strong{font-family:var(--font-display)}.zk-payt-top-right{align-items:center;gap:.75rem;display:flex}.zk-payt-close{color:#fff;background:#ffffff2e;border-radius:50%;place-items:center;width:2rem;height:2rem;text-decoration:none;display:grid}.zk-payt-bar{background:#fff;border-radius:16px;justify-content:center;align-items:center;margin:.85rem 1rem 0;padding:.7rem 1rem;display:flex;position:relative;box-shadow:0 10px 24px #12201c14}.zk-payt-bar h1{font-family:var(--font-display);margin:0;font-size:1.25rem;font-weight:800}.zk-payt-body{grid-template-columns:minmax(160px,210px) 1fr;gap:.85rem;min-height:0;padding:.85rem 1rem 1rem;display:grid}.zk-payt-solo{align-content:start;gap:.75rem;padding:.85rem 1rem 1rem;display:grid;overflow:auto}.zk-payt-tree{background:#fff;border:1px solid #d9e3dc;border-radius:16px;align-content:start;gap:.25rem;padding:.55rem;display:grid;overflow:auto;box-shadow:0 12px 28px #12201c14}.zk-payt-tree button{appearance:none;text-align:left;font:inherit;color:var(--ink-soft);cursor:pointer;background:0 0;border:0;border-radius:10px;justify-content:space-between;gap:.5rem;padding:.55rem .65rem;font-weight:700;display:flex}.zk-payt-tree button small{color:var(--muted);font-weight:650}.zk-payt-tree button.active{background:var(--teal-soft);color:var(--teal)}.zk-payt-grid-wrap{background:#f4f7f5;border:1px solid #d5ded8;border-radius:16px;padding:.75rem;overflow:auto}.zk-payt-grid{grid-template-columns:repeat(auto-fill,minmax(9.5rem,1fr));gap:.75rem;display:grid}.zk-payt-tile{appearance:none;cursor:pointer;min-height:6.8rem;font:inherit;color:#fff;background:linear-gradient(160deg,#3a4a44,#24312c);border:0;border-radius:16px;align-content:center;justify-items:center;gap:.3rem;padding:.9rem .75rem;transition:transform .15s,box-shadow .15s;display:grid;box-shadow:0 12px 24px #12201c24}.zk-payt-tile:hover{transform:translateY(-3px);box-shadow:0 16px 30px #12201c33}.zk-payt-tile.parent-cash{background:linear-gradient(160deg,#2aa35f,#167a43)}.zk-payt-tile.parent-card{background:linear-gradient(160deg,#3d5a6c,#243846)}.zk-payt-tile.parent-voucher{background:linear-gradient(160deg,#c45c26,#9a4318)}.zk-payt-tile.parent-online{background:linear-gradient(160deg,#1c7ed6,#1864ab)}.zk-payt-tile.parent-other{background:linear-gradient(160deg,#5f3dc4,#364fc7)}.zk-payt-tile.off{opacity:.55;filter:grayscale(.25)}.zk-payt-glyph{opacity:.9;font-size:1.25rem}.zk-payt-tile strong{font-family:var(--font-display);text-align:center;line-height:1.2}.zk-payt-tile small{opacity:.8;font-size:.72rem}.zk-payt-empty{text-align:center;min-height:12rem;color:var(--muted);place-content:center;gap:.25rem;display:grid}.zk-payt-foot{background:#24312c;justify-content:space-between;gap:.75rem;padding:.65rem 1rem;display:flex}.zk-payt-home{color:#dce5e0;border-radius:10px;padding:.5rem .85rem;font-weight:650;text-decoration:none}.zk-payt-home.primary{color:#fff;background:linear-gradient(#2aa35f,#1b8a4c)}.zk-payt-sheet{background:#f4f7f5;border:1px solid #cfd9d3;border-radius:20px;width:min(440px,100%);padding:1rem 1.1rem 1.1rem;animation:.25s both pop;position:relative;box-shadow:0 28px 56px #12201c47}.zk-payt-form{background:#fff;border:1px solid #d9e3dc;border-radius:16px;gap:.7rem;padding:1rem;display:grid}.zk-payt-form label{gap:.28rem;display:grid}.zk-payt-form label span{color:var(--muted);text-transform:uppercase;letter-spacing:.03em;font-size:.72rem;font-weight:750}.zk-payt-form label span i{color:var(--danger);font-style:normal}.zk-payt-success{width:min(360px,100%)}.zk-payt-summary{justify-self:start}@media (width<=720px){.zk-payt-body{grid-template-columns:1fr}.zk-payt-tree{grid-template-columns:repeat(3,minmax(6rem,1fr));grid-auto-flow:column;max-height:180px}}.app-shell:has(.zk-dine) .main-stage{background:#eef3f0;flex-direction:column;padding:0;display:flex;overflow:hidden}.app-shell:has(.zk-dine) .main-stage>.zk-dine{flex:1;min-height:0}.zk-dine{background:radial-gradient(700px 320px at 0 0,#c45c2614,#0000 55%),radial-gradient(560px 280px at 100% 20%,#1f6b5c1a,#0000 50%),linear-gradient(#eef3f0 0%,#e6ece8 100%);grid-template-rows:auto minmax(0,1fr) auto;height:100%;min-height:100%;display:grid}.zk-dine .zk-dash-header{margin:.7rem .8rem 0}.zk-dine .zk-dash-brand{color:inherit;text-decoration:none}.zk-dine .dine-floor-page{grid-template-rows:minmax(0,1fr);gap:0;min-height:0;padding:.65rem 1rem .35rem;display:grid;overflow:hidden}.zk-dine .dine-floor-panel{grid-template-rows:auto auto minmax(0,1fr);height:100%;min-height:0;overflow:hidden}.zk-dine .dine-floor-shell{grid-row:3;min-height:0;overflow:hidden}.zk-dine .dine-floor-map,.zk-dine .dine-area-side{overscroll-behavior:contain;min-height:0;overflow:auto}.dine-floor-panel{gap:.75rem;display:grid}.dine-floor-tabs{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.dine-pill{appearance:none;border:1px solid color-mix(in srgb, var(--teal) 22%, var(--line));font:inherit;color:var(--ink-soft);cursor:pointer;background:#fff;border-radius:999px;align-items:center;gap:.4rem;min-height:38px;padding:.48rem .95rem;font-size:.88rem;font-weight:750;text-decoration:none;display:inline-flex;box-shadow:0 1px #12201c0a}@supports not (color: color-mix(in srgb, red 50%, blue)){.dine-pill{border:1px solid #adc4bd}}.dine-pill:hover{border-color:var(--teal);color:var(--teal)}.dine-pill.active{background:var(--teal);border-color:var(--teal);color:#fff;box-shadow:0 8px 16px #1f6b5c38}.dine-pill em{background:var(--teal-soft);min-width:1.25rem;height:1.25rem;color:var(--teal);border-radius:999px;place-items:center;padding:0 .35rem;font-size:.72rem;font-style:normal;font-weight:800;display:inline-grid}.dine-pill.active em{color:#fff;background:#ffffff38}.dine-stat-pills{flex-wrap:wrap;gap:.4rem;margin-bottom:.95rem;display:flex}.dine-stat-pill{color:var(--ink-soft);box-shadow:inset 0 0 0 1px var(--line);background:#fff;border-radius:999px;align-items:center;gap:.4rem;padding:.38rem .75rem;font-size:.8rem;font-weight:700;display:inline-flex}.dine-stat-pill i{border-radius:50%;width:.55rem;height:.55rem;display:block}.dine-stat-pill.free i{background:#3cb371}.dine-stat-pill.occupied i{background:#1f6b5c}.dine-stat-pill.billing i{background:#c45c26}.dine-stat-pill.covers{background:var(--teal-soft);box-shadow:none;color:var(--teal)}.dine-floor-shell{grid-template-columns:minmax(0,1fr) minmax(168px,200px);gap:.85rem;min-height:0;display:grid}.dine-floor-map{min-width:0;min-height:0}.dine-area-side{background:color-mix(in srgb, var(--teal) 5%, #fff);border:1px solid var(--line);border-radius:8px;align-content:start;align-self:stretch;justify-items:stretch;gap:.35rem;min-width:0;min-height:0;padding:.15rem;display:grid}@supports not (color: color-mix(in srgb, red 50%, blue)){.dine-area-side{background:#f4f8f7}}.dine-area-pill{appearance:none;width:100%;color:var(--ink);font:inherit;text-align:start;cursor:pointer;box-shadow:none;border:0;background:0 0;border-inline-start:3px solid #0000;border-radius:4px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.12rem .45rem;padding:.65rem .7rem;display:grid}.dine-area-pill:hover{background:color-mix(in srgb, var(--teal) 10%, #fff)}@supports not (color: color-mix(in srgb, red 50%, blue)){.dine-area-pill:hover{background:#e9f0ef}}.dine-area-pill.active{background:color-mix(in srgb, var(--teal) 14%, #fff);border-inline-start-color:var(--teal);color:var(--ink);box-shadow:none}@supports not (color: color-mix(in srgb, red 50%, blue)){.dine-area-pill.active{background:#e0eae8}}.dine-area-pill strong{font-family:var(--font-display);grid-column:1;min-width:0;font-size:.88rem;font-weight:750;line-height:1.2}.dine-area-pill.active strong{color:var(--teal)}.dine-area-pill span{opacity:1;color:var(--teal);background:var(--teal-soft);white-space:nowrap;border-radius:4px;grid-area:1/2/span 2;align-self:center;padding:.22rem .4rem;font-size:.68rem;font-weight:750}.dine-area-pill.active span{background:var(--teal);color:#fff}.zk-dine .dine-table-grid{grid-template-columns:repeat(auto-fill,minmax(148px,148px));justify-content:start;align-items:start;gap:.65rem;display:grid}.dine-table-tile{width:148px;max-width:148px;min-height:0;box-shadow:0 6px 14px #12201c0d, inset 0 0 0 1px var(--line);background:#fff;border-radius:16px;gap:.18rem;padding:.5rem .55rem .45rem;position:relative;overflow:hidden}.dine-table-tile.free{background:linear-gradient(#f4fbf6 0%,#fff 48%)}.dine-table-tile.occupied{box-shadow:0 10px 22px #1f6b5c1f, inset 0 0 0 1px color-mix(in srgb, var(--teal) 34%, var(--line));background:linear-gradient(#dceee8 0%,#fff 52%)}@supports not (color: color-mix(in srgb, red 50%, blue)){.dine-table-tile.occupied{box-shadow:0 10px 22px #1f6b5c1f, inset 0 0 0 1px #97b6ae}}.dine-table-tile.billing{box-shadow:0 10px 22px #c45c261f, inset 0 0 0 1px color-mix(in srgb, var(--accent) 36%, var(--line));background:linear-gradient(#ffe8d8 0%,#fff 52%)}@supports not (color: color-mix(in srgb, red 50%, blue)){.dine-table-tile.billing{box-shadow:0 10px 22px #c45c261f, inset 0 0 0 1px #cfaf98}}.dine-table-tile.selected{box-shadow:0 0 0 2px var(--teal), 0 12px 24px #1f6b5c29}.dine-table-visual{background:radial-gradient(circle at 50% 42%, #fffffff2 0%, transparent 62%), color-mix(in srgb, var(--teal) 8%, #f3f6f4);border-radius:12px;place-items:center;height:3.55rem;display:grid}@supports not (color: color-mix(in srgb, red 50%, blue)){.dine-table-visual{background:radial-gradient(circle at 50% 42%, #fffffff2 0%, transparent 62%), #e2ebe8}}.dine-table-tile.occupied .dine-table-visual{background:radial-gradient(circle at 50% 42%, #ffffffb3 0%, transparent 64%), color-mix(in srgb, var(--teal) 22%, #e8f3ef)}@supports not (color: color-mix(in srgb, red 50%, blue)){.dine-table-tile.occupied .dine-table-visual{background:radial-gradient(circle at 50% 42%, #ffffffb3 0%, transparent 64%), #bcd5cf}}.dine-table-tile.billing .dine-table-visual{background:radial-gradient(circle at 50% 42%, #ffffffbf 0%, transparent 64%), color-mix(in srgb, var(--accent) 18%, #fff4ec)}@supports not (color: color-mix(in srgb, red 50%, blue)){.dine-table-tile.billing .dine-table-visual{background:radial-gradient(circle at 50% 42%, #ffffffbf 0%, transparent 64%), #f4d9c8}}.dine-table-visual svg{filter:drop-shadow(0 3px 5px #12201c1a);width:3.15rem;height:3.15rem}.dine-table-code{font-family:var(--font-display);letter-spacing:-.03em;margin:.02rem 0 0;font-size:1.02rem;display:block}.dine-table-area{color:var(--muted);font-size:.72rem}.table-icon-chair{fill:#6fbf93}.table-icon-top{fill:#c9a06a;stroke:#9a7344;stroke-width:1.8px}.table-icon-inner{fill:#e6d0a4}.table-icon-shine{fill:#ffffff8c}.table-icon-plate{fill:#f7f1e6;stroke:#c9b089;stroke-width:1.2px}.dine-table-tile.occupied .table-icon-chair{fill:#1f6b5c}.dine-table-tile.occupied .table-icon-top{fill:#b8884c;stroke:#7a5528}.dine-table-tile.occupied .table-icon-inner{fill:#d4b078}.dine-table-tile.billing .table-icon-chair{fill:#c45c26}.dine-table-tile.billing .table-icon-top{fill:#c9783a;stroke:#8a4a1c}.dine-table-tile.billing .table-icon-inner{fill:#efc08a}.dine-table-tile .status-pill{letter-spacing:.06em;align-self:flex-start;padding:.15rem .45rem;font-size:.58rem}.dine-table-tile .table-foot{padding-top:.28rem}.dine-table-tile .item-count,.dine-table-tile .amount{font-size:.7rem}.dine-seat-card{width:min(520px,100%)}.dine-seat-row{flex-wrap:wrap;justify-content:center;gap:.65rem;margin:1rem 0 1.1rem;display:flex}.dine-seat-btn{appearance:none;border:1px solid var(--line);cursor:pointer;width:4.2rem;height:4.6rem;font:inherit;background:#fff;border-radius:14px;place-items:center;gap:.25rem;display:grid}.dine-seat-btn.on{background:var(--teal-soft);border-color:#2aa35f;box-shadow:0 0 0 2px #2aa35f40}.dine-seat-icon{background:linear-gradient(#e03131,#c92a2a);border-radius:.55rem .55rem .25rem .25rem;width:1.6rem;height:1.4rem;box-shadow:0 4px 8px #c92a2a40}.dine-ticket-head{background:linear-gradient(#f7fbf9 0%,#fff 100%);padding:.55rem .75rem .55rem 1rem}.dine-ticket-head .ticket-popup-title{gap:.45rem}.dine-ticket-head h2{font-family:var(--font-display);letter-spacing:-.03em;margin-inline-end:.15rem;font-size:1.15rem}.dine-head-chip{letter-spacing:.01em;border-radius:999px;align-items:center;padding:.22rem .62rem;font-size:.72rem;font-weight:750;display:inline-flex}.dine-head-chip.area{background:var(--teal-soft);color:var(--teal)}.dine-head-chip.customer{color:#35506a;background:#eef3f8}.dine-head-guests{border:1px solid var(--line);color:var(--muted);text-transform:uppercase;letter-spacing:.04em;background:#fff;border-radius:999px;align-items:center;gap:.4rem;padding:.12rem .35rem .12rem .7rem;font-size:.7rem;font-weight:700;display:inline-flex}.dine-head-guests .qty-controls{gap:.2rem}.dine-head-guests .qty-controls button{background:var(--teal-soft);width:1.55rem;height:1.55rem;color:var(--teal);box-shadow:none;border-radius:999px}.dine-head-guests .qty-controls strong{text-align:center;min-width:1rem;color:var(--ink);text-transform:none;font-size:.88rem}.dine-ticket-head .status-pill{padding:.28rem .7rem;font-size:.68rem}.dine-ticket-close{appearance:none;color:#b42318;cursor:pointer;background:#f1e4e2;border:0;border-radius:999px;flex-shrink:0;place-items:center;width:2.15rem;height:2.15rem;transition:background .12s,transform .12s;display:grid}.dine-ticket-close svg{width:1.05rem;height:1.05rem}.dine-ticket-close:hover{color:#fff;background:#e03131;transform:scale(1.04)}.dine-pick-modal{gap:.85rem;width:min(640px,94vw);max-height:min(78vh,720px);overflow:auto}.dine-pick-head{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.dine-pick-head h2{font-family:var(--font-display);margin:0 0 .2rem;font-size:1.15rem}.dine-pick-grid{grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:.55rem;display:grid}.dine-pick-tile{appearance:none;box-shadow:inset 0 0 0 1px var(--line);cursor:pointer;font:inherit;text-align:left;background:#fff;border:0;border-radius:14px;justify-items:start;gap:.28rem;padding:.55rem .5rem .5rem;transition:transform .12s,box-shadow .12s;display:grid}.dine-pick-tile:hover{box-shadow:0 8px 16px #12201c1a, inset 0 0 0 1px var(--teal);transform:translateY(-2px)}.dine-pick-tile.free{background:linear-gradient(#f4fbf6 0%,#fff 70%)}.dine-pick-tile.occupied,.dine-pick-tile.billing{background:linear-gradient(#dceee8 0%,#fff 70%)}.dine-pick-visual{background:color-mix(in srgb, var(--teal) 10%, #f3f6f4);border-radius:10px;place-items:center;width:100%;height:3.1rem;display:grid}@supports not (color: color-mix(in srgb, red 50%, blue)){.dine-pick-visual{background:#dee8e5}}.dine-pick-visual svg{width:2.7rem;height:2.7rem}.dine-pick-tile strong{font-family:var(--font-display);font-size:.95rem}.dine-pick-tile .dine-head-chip{padding:.12rem .45rem;font-size:.62rem}.dine-pick-tile .status-pill{padding:.16rem .45rem;font-size:.58rem}.dine-pick-amt{color:var(--ink);font-size:.78rem;font-weight:800}.dine-ticket-layout{flex:1;grid-template-columns:7.4rem 1fr;gap:.55rem;min-height:0;padding:.55rem .65rem .65rem;display:grid}.dine-ticket-actions{align-content:start;gap:.28rem;display:grid}.dine-ticket-actions button{appearance:none;font:inherit;color:#33414a;cursor:pointer;text-align:center;background:#e8eef2;border:0;border-radius:12px;justify-items:center;gap:.18rem;padding:.48rem .4rem;font-size:.7rem;font-weight:750;display:grid}.dine-ticket-actions button svg{width:1.05rem;height:1.05rem}.dine-ticket-actions button.accent{background:var(--teal-soft);color:var(--teal)}.dine-ticket-actions button.primary{background:linear-gradient(180deg, var(--accent), #e08a4f);color:#fff}.dine-ticket-actions button:disabled{opacity:.45;cursor:not-allowed}.ticket-popup-order .order-list{padding:.45rem .55rem}.dine-order-panel{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.dine-order-head{letter-spacing:.05em;text-transform:uppercase;color:var(--teal);background:color-mix(in srgb, var(--teal) 8%, #fff);border-bottom:1px solid var(--line);flex-shrink:0;grid-template-columns:minmax(0,1fr) 4.8rem 4.4rem 3.1rem;align-items:center;gap:0;padding:.4rem .55rem;font-size:.62rem;font-weight:800;display:grid}@supports not (color: color-mix(in srgb, red 50%, blue)){.dine-order-head{background:#edf3f2}}.dine-order-head .num{text-align:right}.dine-order-head .void-col{width:100%}.dine-order-table{border-collapse:collapse;table-layout:fixed;width:100%;font-size:.78rem}.dine-order-table th,.dine-order-table td{border-bottom:1px solid var(--line);text-align:left;vertical-align:middle;padding:.4rem .35rem}.dine-order-table th{letter-spacing:.05em;text-transform:uppercase;color:var(--teal);background:color-mix(in srgb, var(--teal) 8%, #fff);z-index:1;font-size:.62rem;font-weight:800;position:sticky;top:0}@supports not (color: color-mix(in srgb, red 50%, blue)){.dine-order-table th{background:#edf3f2}}.dine-order-table th.num,.dine-order-table td.num{text-align:right}.dine-order-table col,.dine-order-table th:first-child,.dine-order-table td:first-child{width:auto}.dine-order-table th:nth-child(2),.dine-order-table td:nth-child(2){width:4.8rem}.dine-order-table th:nth-child(3),.dine-order-table td:nth-child(3){width:4.4rem}.dine-order-table th:nth-child(4),.dine-order-table td:nth-child(4){width:3.1rem}.dine-order-table td strong{font-size:.8rem;display:block}.dine-order-table td small{color:var(--muted);font-size:.65rem;display:block}.dine-order-table .amt{font-variant-numeric:tabular-nums;font-weight:800}.dine-order-table .qty-controls{justify-content:flex-end}.dine-void-btn{appearance:none;color:#b42318;font:inherit;cursor:pointer;background:#f1e4e2;border:0;border-radius:8px;padding:.22rem .4rem;font-size:.62rem;font-weight:800}.ticket-popup-order .ticket-footer{padding:.5rem .7rem}.ticket-popup-order .order-line{border-radius:10px;gap:.2rem .5rem;padding:.4rem .5rem}.ticket-popup-order .action-row-3{grid-template-columns:repeat(3,minmax(0,1fr));gap:.3rem}.ticket-popup-order .action-row .btn{padding:.42rem .4rem;font-size:.72rem}.dine-ticket-note{color:var(--accent-deep);background:#fff6e8;border-radius:10px;margin:0 0 .5rem;padding:.45rem .6rem;font-size:.85rem;font-weight:650}.settle-card-wide{width:min(720px,96vw)!important}.settle-pay-fields{gap:.65rem;display:grid}.settle-pay-fields label{color:var(--muted);gap:.3rem;font-size:.78rem;font-weight:750;display:grid}.settle-pay-fields .search{width:100%}.settle-pay-panel .fvp-info,.settle-pay-panel .fvp-hint,.settle-pay-panel .gcp-hint{margin:0}.settle-pay-actions{flex-wrap:wrap;justify-content:flex-end;gap:.45rem;display:flex}.gcp-fields-embed{gap:.55rem;display:grid}.gcp-fields-embed label,.gcp-fields-embed .gcp-bill-row{grid-template-columns:1fr;gap:.28rem;display:grid}.gcp-fields-embed .gcp-suggest{margin:0}.settle-parent-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.5rem;width:100%;min-width:0}.settle-parent-grid>.btn{text-align:center;white-space:normal;border-radius:14px;justify-content:center;width:100%;min-width:0;height:100%;min-height:2.85rem;padding:.5rem .4rem;font-size:.8rem;line-height:1.2}@media (width<=560px){.settle-parent-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.settle-cash-head{justify-content:space-between;gap:.75rem;margin-bottom:.65rem;font-size:1.05rem;display:flex}.settle-cash-grid{grid-template-columns:auto 1fr auto;gap:.55rem;margin-bottom:.75rem;display:grid}.settle-denoms,.settle-cash-quick{gap:.35rem;display:grid}.settle-denoms button,.settle-cash-quick button,.settle-keypad button{appearance:none;font:inherit;cursor:pointer;color:#24312c;background:#dfe8ef;border:0;border-radius:10px;min-width:3.2rem;padding:.65rem .75rem;font-weight:750}.settle-keypad{grid-template-columns:repeat(3,1fr);gap:.35rem;display:grid}.settle-keypad button{color:#fff;background:#3d4f48;min-height:2.8rem}.settle-split-add{grid-template-columns:minmax(8rem,1.2fr) 7.5rem auto;align-items:stretch;gap:.45rem;margin:.15rem 0;display:grid}.settle-split-add .search{min-width:0}.settle-pay-list{gap:.35rem;margin:0 0 .75rem;padding:0;list-style:none;display:grid}.settle-pay-list li{background:var(--surface-2);border-radius:10px;justify-content:space-between;align-items:center;padding:.4rem .55rem;display:flex}@media (width<=900px){.mp-toolbar{grid-template-columns:1fr;gap:.35rem;padding:.4rem .45rem}.mp-code-row{grid-template-columns:minmax(0,1fr) auto}.mp-add-code{min-width:3.4rem}.dine-floor-shell,.settle-cash-grid{grid-template-columns:1fr}.dine-area-side{grid-auto-columns:minmax(8.5rem,1fr);grid-auto-flow:column;justify-items:stretch;padding:.2rem;overflow:auto hidden}.dine-area-pill{min-width:8.5rem}.ticket-backdrop{overscroll-behavior:none;justify-content:stretch;align-items:stretch;height:100%;max-height:100dvh;padding:0;inset:0;overflow:hidden;position:fixed!important}.ticket-popup.dine-ticket-popup{border-radius:0;width:100%!important;max-width:100%!important;height:100%!important;min-height:0!important;max-height:100dvh!important;overflow:hidden!important}.dine-ticket-head{flex-shrink:0;padding:.4rem .5rem}.dine-ticket-head h2{font-size:1rem}.dine-ticket-layout{flex:auto;grid-template-rows:auto minmax(0,1fr);grid-template-columns:1fr;gap:.35rem;min-height:0;padding:.35rem .4rem .4rem;overflow:hidden}.dine-ticket-actions{-webkit-overflow-scrolling:touch;flex-flow:row;flex-shrink:0;gap:.3rem;padding-bottom:.1rem;display:flex;overflow:auto hidden}.dine-ticket-actions button{white-space:normal;flex:none;min-width:4.5rem;max-width:5.6rem;padding:.32rem .35rem;font-size:.62rem;line-height:1.15}.dine-ticket-actions button.primary{min-width:5.2rem}.ticket-popup-body{flex:auto;grid-template-rows:minmax(0,1fr) minmax(0,42%);grid-template-columns:1fr;height:100%;min-height:0;display:grid;overflow:hidden}.ticket-popup-menu{border-right:0;border-bottom:1px solid var(--line);min-height:0;overflow:hidden}.ticket-popup-order{-webkit-overflow-scrolling:touch;border-top:1px solid var(--line);background:#fff;flex-direction:column;min-height:0;display:flex;overflow:hidden}.ticket-popup-order .dine-order-panel{flex:auto;min-height:0;max-height:none}.ticket-popup-order .order-list{flex:auto;min-height:0;max-height:none;padding:.35rem .45rem .45rem;overflow-y:auto}.ticket-popup-order .ticket-footer{background:#fff;flex-shrink:0;max-height:48%;padding:.45rem .55rem .65rem;position:static;overflow-y:auto}.mp-root{height:100%;min-height:0}.mp-body{grid-template-rows:auto minmax(0,1fr);grid-template-columns:1fr;min-height:0}.mp-nav{border-right:0;border-bottom:1px solid var(--line);flex-flow:row;flex-shrink:0;gap:.2rem;padding:.25rem;overflow:auto hidden}.mp-nav-block,.mp-nav-subs{display:contents}.mp-nav-split{display:none}.mp-main-btn,.mp-nav .mp-sub-btn{white-space:nowrap;flex:none;width:auto;padding:.35rem .5rem}.mp-items{min-height:0;padding:.3rem;overflow-y:auto}.mp-grid{grid-template-columns:1fr;gap:.35rem}.mp-item-wrap{grid-template-columns:minmax(0,1fr) auto auto}.mp-item strong{white-space:nowrap;font-size:.82rem}.mp-item-meta{gap:.25rem}.mp-note-btn{padding:.35rem .45rem;font-size:.65rem}.mp-add-btn{width:2.2rem;height:2.2rem;font-size:1.15rem}.ticket-popup-order .action-row,.ticket-popup-order .action-row-3{grid-template-columns:repeat(3,minmax(0,1fr));gap:.28rem}.ticket-popup-order .action-row .btn{white-space:nowrap;text-overflow:ellipsis;border-radius:10px;width:100%;min-width:0;padding:.38rem .25rem;font-size:.68rem;line-height:1.15;overflow:hidden}.ticket-popup-order .extras,.ticket-popup-order .discount-row{gap:.28rem}.ticket-popup-order .extras button,.ticket-popup-order .discount-row button{border-radius:999px;padding:.28rem .45rem;font-size:.68rem}}@media (width>=640px) and (width<=900px){.mp-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=560px){.dine-ticket-head .ticket-popup-title{gap:.3rem}.dine-head-guests span{display:none}.status-pill{padding:.16rem .4rem;font-size:.58rem}.ticket-popup-body{grid-template-rows:minmax(0,1fr) minmax(0,46%)}.mp-grid{grid-template-columns:1fr}.ticket-popup-order .action-row,.ticket-popup-order .action-row-3{grid-template-columns:repeat(3,minmax(0,1fr))}.ticket-popup-order .action-row .btn{padding:.34rem .2rem;font-size:.64rem}.dine-order-table{font-size:.72rem}.dine-order-table .qty-controls button{min-width:1.6rem;min-height:1.6rem}}.zk-company{background:radial-gradient(700px 320px at 0% 0%, #1f6b5c1a, transparent 55%), var(--surface);flex:1;grid-template-rows:auto minmax(0,1fr) auto;width:100%;min-width:0;max-width:100%;height:100%;min-height:0;display:grid;overflow-x:hidden}.zk-company-top{background:var(--teal);color:#fff;justify-content:space-between;align-items:center;padding:.7rem 1.1rem;display:flex}.zk-company-top strong{font-family:var(--font-display)}.zk-company-top-right{align-items:center;gap:.75rem;display:flex}.zk-company-close{color:#fff;background:#ffffff2e;border-radius:50%;place-items:center;width:2rem;height:2rem;text-decoration:none;display:grid}.zk-company-body{align-content:start;gap:.9rem;min-width:0;max-width:100%;padding:1rem 1.25rem 1.15rem;display:grid;overflow:hidden auto}.zk-co-pagehead{gap:.2rem;padding:.15rem .15rem .1rem;display:grid}.zk-co-pagehead h1{font-family:var(--font-body);color:var(--ink);letter-spacing:-.02em;overflow-wrap:anywhere;margin:0;font-size:1.35rem;font-weight:800}.zk-co-pagehead p,.zk-co-panel-head p{color:var(--muted);overflow-wrap:anywhere;margin:0;font-size:.88rem;font-weight:600}.zk-co-panel{background:var(--panel);border-radius:var(--radius);border:1px solid var(--line);box-shadow:var(--shadow);min-width:0;max-width:100%;padding:1rem 1.15rem 1.15rem}.zk-co-panel-head{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.85rem;min-width:0;margin-bottom:.95rem;padding-bottom:.75rem;display:flex}.zk-co-panel-head>div{flex:1;min-width:0}.zk-co-panel-head h2{font-family:var(--font-body);color:var(--ink);margin:0 0 .15rem;font-size:.98rem;font-weight:800}.zk-co-add{appearance:none;min-height:var(--touch-min);background:var(--teal);color:#fff;font:inherit;cursor:pointer;white-space:nowrap;border:0;border-radius:12px;padding:.55rem 1rem;font-weight:750}.zk-co-add:before{content:"+ "}.zk-co-identity{grid-template-columns:minmax(0,8.5rem) minmax(0,1fr);align-items:start;gap:1.15rem;min-width:0;display:grid}.zk-co-logo{align-content:start;gap:.4rem;display:grid}.zk-co-logo>span,.zk-co-field>span{color:var(--muted);letter-spacing:.02em;font-size:.75rem;font-weight:750}.zk-co-preview{border:1.5px dashed var(--teal);background:var(--teal-soft);width:8.5rem;height:8.5rem;color:var(--teal);cursor:pointer;font:inherit;background-position:50%;background-size:cover;border-radius:16px;place-items:center;padding:0;display:grid}.zk-co-preview em{font-size:.82rem;font-style:normal;font-weight:700}.zk-co-preview.has-img{border-style:solid;border-color:var(--line);background-color:var(--surface-2)}.zk-co-logo-actions{flex-wrap:wrap;gap:.35rem;display:flex}.zk-co-logo small{color:var(--muted);font-size:.72rem}.zk-co-fields,.zk-co-form{grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:.75rem .85rem;min-width:0;display:grid}.zk-co-field{gap:.32rem;min-width:0;max-width:100%;display:grid}.zk-co-span-2{grid-column:1/-1}.zk-co-hint{color:var(--muted,#64748b);max-width:42rem;margin:0;font-size:.78rem;line-height:1.35}.zk-co-textarea{resize:vertical;min-height:4.5rem;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.78rem;line-height:1.35}.zk-co-field .zk-user-switch:disabled{opacity:.72;cursor:not-allowed}.zk-co-field>span i{color:var(--danger);font-style:normal}.zk-co-input,.zk-co-field .mesa-select-field .mesa-select-trigger,.zk-co-field .zk-user-switch{width:100%;min-width:0;max-width:100%}.zk-co-field .mesa-ar-field,.zk-co-field .mesa-select{min-width:0;max-width:100%}.zk-co-input{width:100%;min-width:0;max-width:100%;min-height:var(--touch-min);border:1px solid var(--line);background:var(--surface-2);color:var(--ink);font:inherit;box-sizing:border-box;border-radius:12px;outline:none;padding:.7rem .85rem}.zk-co-input:focus{border-color:var(--teal);box-shadow:0 0 0 3px var(--teal-soft);background:var(--panel)}.zk-co-area{resize:vertical;min-height:4.2rem;line-height:1.4}.zk-co-btn{appearance:none;border:1px solid var(--line);min-height:var(--touch-min);min-width:0;font:inherit;cursor:pointer;background:var(--panel);color:var(--ink);border-radius:12px;padding:.65rem .95rem;font-weight:750}.zk-co-btn:disabled{opacity:.45;cursor:not-allowed}.zk-co-btn.primary{background:var(--ok);color:#fff;border:0}.zk-co-btn.danger{background:var(--danger-soft);color:var(--danger);border-color:#0000}.zk-co-split{grid-template-columns:minmax(0,.9fr) minmax(0,1.4fr);align-items:start;gap:1rem;min-width:0;display:grid}.zk-co-list{align-content:start;gap:.45rem;display:grid}.zk-co-branch{appearance:none;text-align:start;border:1px solid var(--line);background:var(--surface-2);width:100%;min-height:3.4rem;color:var(--ink);font:inherit;cursor:pointer;border-radius:14px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;column-gap:.65rem;padding:.7rem .75rem;display:grid}.zk-co-branch:hover{border-color:var(--teal)}.zk-co-branch.is-on{background:var(--teal-soft);border-color:var(--teal);box-shadow:inset 3px 0 0 var(--teal)}html[dir=rtl] .zk-co-branch.is-on{box-shadow:inset -3px 0 0 var(--teal)}.zk-co-branch-code{letter-spacing:.04em;color:var(--teal);background:var(--panel);border:1px solid var(--line);text-align:center;border-radius:8px;min-width:3.6rem;padding:.35rem .45rem;font-size:.72rem;font-weight:800}.zk-co-branch.is-on .zk-co-branch-code{border-color:var(--teal)}.zk-co-branch-copy{min-width:0;display:grid}.zk-co-branch-copy strong{text-overflow:ellipsis;white-space:nowrap;font-size:.92rem;font-weight:800;overflow:hidden}.zk-co-branch-copy em{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;font-style:normal;overflow:hidden}.zk-co-branch-copy em.is-here{color:var(--teal);font-weight:750}.zk-co-dot{background:var(--line);border-radius:50%;justify-self:end;width:.55rem;height:.55rem}.zk-co-dot.on{background:var(--ok)}.zk-co-form-actions{flex-wrap:wrap;align-items:end;gap:.45rem;display:flex}.zk-company-foot{background:var(--ink);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;padding:.65rem 1rem;display:flex}.zk-company-home{color:#dce5e0;border-radius:10px;padding:.5rem .85rem;font-weight:650;text-decoration:none}.zk-company-home.primary{background:var(--ok);color:#fff}.zk-company-foot-actions{gap:.45rem;display:flex}@media (width<=960px){.zk-co-identity,.zk-co-split,.zk-co-fields,.zk-co-form{grid-template-columns:minmax(0,1fr)}.zk-co-span-2{grid-column:auto}.zk-masters .zk-co-split.zk-masters-split{grid-template-columns:minmax(0,1fr)}}@media (width<=768px){.zk-company-body{gap:.75rem;padding:.75rem .75rem 1rem}.zk-co-pagehead h1{font-size:1.15rem}.zk-co-panel{border-radius:14px;padding:.85rem .85rem 1rem}.zk-co-preview{width:6.5rem;height:6.5rem}.zk-co-add{width:100%}.zk-co-logo-actions{grid-template-columns:minmax(0,1fr) minmax(0,1fr);display:grid}.zk-co-logo-actions .zk-co-btn{width:100%;min-width:0}.zk-co-form-actions{grid-template-columns:minmax(0,1fr);display:grid}.zk-co-form-actions .zk-co-btn{width:100%}}.app-shell:has(.zk-mst-desk) .main-stage{background:#eef3f0;flex-direction:column;max-width:none;height:100%;min-height:0;padding:0;display:flex;overflow:hidden}.app-shell:has(.zk-mst-desk) .main-stage>.zk-mst-desk{flex:auto;width:100%;height:100%;min-height:0}.zk-mst-desk{background:radial-gradient(1200px 420px at 12% -12%,#0f766e1f,#0000 55%),linear-gradient(#f3f7f4 0%,#eef3f0 100%);flex-direction:column;height:100%;min-height:0;display:flex;overflow:hidden}.zk-mst-desk .zk-dash-header{z-index:30;isolation:isolate;flex-shrink:0;margin:.65rem .85rem 0;position:relative;top:auto}.zk-mst-desk>.zk-hub-foot{z-index:20;flex-shrink:0;margin-top:0;position:relative}.mst-page-inner{flex-direction:column;flex:auto;gap:.85rem;min-width:0;min-height:0;margin:.75rem .85rem .85rem;display:flex;overflow:hidden}.mst-ico{width:1.15rem;height:1.15rem}.mst-hero{color:#fff;background:linear-gradient(125deg,#ffffff24,#0000 42%),linear-gradient(#0f766e 0%,#0d9488 55%,#0f766e 100%);border-radius:16px;flex-wrap:wrap;flex-shrink:0;align-items:center;gap:.85rem 1rem;padding:.9rem 1rem;display:flex;box-shadow:0 12px 24px #0f5a5038}.mst-hero-brand{align-items:center;gap:.7rem;min-width:0;display:flex}.mst-hero-brand h1{letter-spacing:-.02em;margin:0;font-size:1.2rem;font-weight:800}.mst-hero-brand p{opacity:.9;margin:.15rem 0 0;font-size:.78rem}.mst-hero-brand p strong{font-weight:800}.mst-hero-mark{background:#ffffff2e;border-radius:12px;flex-shrink:0;place-items:center;width:2.4rem;height:2.4rem;display:grid}.mst-hero-stats{flex-wrap:wrap;gap:.45rem;margin-inline-start:auto;display:flex}.mst-stat{background:#ffffff24;border:1px solid #ffffff38;border-radius:12px;align-items:center;gap:.4rem;min-width:0;padding:.4rem .65rem;display:inline-flex}.mst-stat.tone-ocean{background:#74c0fc38;border-color:#74c0fc59}.mst-stat.tone-lime{background:#94d88c38;border-color:#94d88c59}.mst-stat.tone-amber{background:#ffd66638;border-color:#ffd66659}.mst-stat strong{font-size:.95rem;font-weight:800}.mst-stat em{opacity:.9;white-space:nowrap;font-size:.72rem;font-style:normal}.mst-hero-actions{flex-shrink:0;gap:.5rem;display:flex}.mst-link-btn{appearance:none;color:#fff;min-height:2.4rem;font:inherit;cursor:pointer;white-space:nowrap;background:#ffffff24;border:1px solid #ffffff47;border-radius:12px;align-items:center;gap:.35rem;padding:.45rem .85rem;font-weight:750;display:inline-flex}.mst-link-btn.primary{color:#0f766e;background:#fff;border-color:#fff}.mst-board{background:#fff;border:1px solid #0f5a501a;border-radius:16px;flex-direction:column;flex:auto;gap:.9rem;min-width:0;min-height:0;padding:1rem 1.1rem 1.15rem;display:flex;overflow:hidden;box-shadow:0 8px 22px #123c280f}.mst-toolbar{flex-wrap:wrap;flex-shrink:0;align-items:center;gap:.65rem;display:flex}.mst-toolbar .mst-add-btn{margin-inline-start:auto}.mst-filters{background:#f7faf8;border:1px solid #e4ebe7;border-radius:14px;flex-wrap:wrap;flex-shrink:0;align-items:center;gap:.5rem;padding:.55rem .65rem;display:flex}.mst-filters .mst-search{min-width:11rem;min-height:2.5rem;color:var(--muted);box-shadow:none;background:#fff;border:1px solid #d8e2dc;border-radius:11px;flex:13rem;padding:0 .75rem}.mst-filters .mst-search:focus-within{color:var(--ink);background:#fff;border-color:#0f766e;box-shadow:0 0 0 3px #0f766e1f}.mst-filters .mst-search input{padding:.45rem 0;font-size:.88rem}.mst-status-pills{flex-wrap:wrap;gap:.3rem;display:flex}.mst-pill{min-height:2.5rem;font:inherit;color:#495057;cursor:pointer;background:#fff;border:1px solid #d8e2dc;border-radius:11px;align-items:center;gap:.3rem;padding:.3rem .6rem;font-size:.78rem;font-weight:700;transition:background .12s,border-color .12s,color .12s;display:inline-flex}.mst-pill em{background:#eef2f0;border-radius:999px;padding:.05rem .35rem;font-size:.7rem;font-style:normal}.mst-pill:hover{color:#0f766e;border-color:#0f766e}.mst-pill.on{color:#fff;background:#0f766e;border-color:#0f766e}.mst-pill.on em{color:#fff;background:#ffffff2e}.mst-pick{min-width:9.25rem;max-width:12rem;min-height:2.5rem;color:var(--muted);background:#fff;border:1px solid #d8e2dc;border-radius:11px;flex:none;align-items:center;padding:0 .3rem 0 .55rem;transition:border-color .12s,box-shadow .12s;display:inline-flex}.mst-pick:hover{border-color:#b7c9c0}.mst-pick:focus-within{border-color:#0f766e;box-shadow:0 0 0 3px #0f766e1f}.mst-pick:has(.mesa-select.open){border-color:#0f766e;box-shadow:0 0 0 3px #0f766e1f}.mst-pick .mesa-select,.mst-pick .mesa-select-field{flex:1;width:auto;min-width:0}.mst-pick .mesa-select-field .mesa-select-trigger{min-height:2.25rem;box-shadow:none;color:var(--ink);background:0 0;border:0;border-radius:0;padding:.2rem .2rem .2rem .15rem;font-size:.82rem;font-weight:650}.mst-pick .mesa-select-field.open .mesa-select-trigger,.mst-pick .mesa-select-field .mesa-select-trigger:focus-visible{box-shadow:none;outline:none}.mst-pick .mesa-select-caret{opacity:.55;width:.95rem;height:.95rem}.mst-reset{appearance:none;color:#0f766e;min-height:2.5rem;font:inherit;cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:10px;padding:.3rem .55rem;font-size:.8rem;font-weight:750}.mst-reset:hover{text-underline-offset:2px;background:#0f766e14;text-decoration:underline}.mst-empty-actions{flex-wrap:wrap;justify-content:center;gap:.5rem;margin-top:.25rem;display:flex}.mst-count{color:var(--muted);white-space:nowrap;padding-inline:.2rem;font-size:.8rem;font-weight:700}.mst-tabs{background:#eef3f0;border:1px solid #e2eae5;border-radius:12px;gap:.25rem;padding:.2rem;display:inline-flex}.mst-tabs button{appearance:none;color:var(--muted);min-height:2.3rem;font:inherit;cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:10px;align-items:center;gap:.35rem;padding:.35rem .75rem;font-weight:750;display:inline-flex}.mst-tabs button.on{color:#0f766e;background:#fff;box-shadow:0 2px 8px #0f5a501a}.mst-search{min-width:0;min-height:var(--touch-min);border:1px solid var(--line);background:var(--surface-2);color:var(--muted);border-radius:12px;align-items:center;gap:.5rem;padding:0 .85rem;display:flex}.mst-search:focus-within{color:var(--ink);background:#fff;border-color:#0f766e;box-shadow:0 0 0 3px #0f766e26}.mst-search input{min-width:0;color:var(--ink);font:inherit;background:0 0;border:0;outline:none;flex:1;padding:.65rem 0}.mst-add-btn,.mst-btn{appearance:none;min-height:var(--touch-min);font:inherit;cursor:pointer;white-space:nowrap;color:inherit;box-sizing:border-box;border:0;border-radius:12px;justify-content:center;align-items:center;gap:.35rem;padding:.55rem 1rem;font-weight:750;text-decoration:none;display:inline-flex}.mst-add-btn{color:#fff;background:#0f766e}.mst-btn.primary{background:var(--ok);color:#fff}.mst-btn.ghost{color:var(--muted);border:1px solid var(--line);background:0 0}.mst-btn.danger{color:var(--danger);border:1px solid color-mix(in srgb, var(--danger) 35%, transparent);background:0 0}@supports not (color: color-mix(in srgb, red 50%, blue)){.mst-btn.danger{border:1px solid rgba(180, 35, 24, 0.35)}}.mst-table-wrap{overscroll-behavior:contain;border:1px solid #e8eeea;border-radius:12px;flex:auto;min-height:0;overflow:auto}.mst-table{border-collapse:collapse;table-layout:fixed;width:100%;min-width:680px}.mst-col-name{width:36%}.mst-col-dishes{width:14%}.mst-col-sort{width:12%}.mst-col-status{width:14%}.mst-col-action{width:10%}.mst-col-dish{width:24%}.mst-col-code{width:10%}.mst-col-cat{width:16%}.mst-col-price{width:12%}.mst-col-flags{width:16%}.mst-table th,.mst-table td{text-align:left;vertical-align:middle;border-bottom:1px solid #eef2f0;padding:.6rem .7rem}html[dir=rtl] .mst-table th,html[dir=rtl] .mst-table td{text-align:right}.mst-table tbody tr:last-child td{border-bottom:0}.mst-table tbody tr:hover td{background:#f8fbf9}.mst-table tr.is-off{opacity:.72}.mst-table th{letter-spacing:.05em;text-transform:uppercase;color:var(--muted);z-index:1;background:#f7faf8;font-size:.7rem;font-weight:750;position:sticky;top:0}.mst-name{align-items:center;gap:.55rem;min-width:0;display:flex}.mst-badge{color:#fff;border-radius:11px;flex-shrink:0;place-items:center;width:2.15rem;height:2.15rem;display:grid}.mst-badge.soft{color:#fffffff2}.mst-name-text{min-width:0;display:grid}.mst-name-text strong,.mst-name-text span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.mst-name-text span{color:var(--muted);font-size:.75rem}.mst-star{color:#d97706;vertical-align:-.15em;margin-inline-start:.3rem;display:inline-flex}.mst-star .mst-ico{width:.85rem;height:.85rem}.mst-chip{color:#0f766e;background:#0f766e1f;border-radius:999px;padding:.2rem .55rem;font-size:.8rem;font-weight:750;display:inline-flex}.mst-status{border-radius:999px;padding:.2rem .55rem;font-size:.72rem;font-weight:800;display:inline-flex}.mst-status.ok{color:#166534;background:#dcfce7}.mst-status.off{color:#64748b;background:#f1f5f9}.mst-flags{flex-wrap:wrap;gap:.25rem;display:flex}.mst-flag{color:#0369a1;background:#e0f2fe;border-radius:999px;padding:.15rem .45rem;font-size:.7rem;font-weight:750;display:inline-flex}.mst-flag.recipe{color:#c2410c;background:#ffedd5}.mst-muted{color:var(--muted);font-style:normal}.mst-row-actions{justify-content:flex-end;display:flex}.mst-icon-btn{appearance:none;border:1px solid var(--line);color:var(--ink);cursor:pointer;background:#fff;border-radius:10px;place-items:center;width:2.15rem;height:2.15rem;padding:0;display:grid}.mst-icon-btn:hover{color:#0f766e;background:#0f766e14;border-color:#0f766e}.mst-pager{color:var(--muted);flex-wrap:wrap;flex-shrink:0;justify-content:space-between;align-items:center;gap:.65rem;font-size:.82rem;font-weight:650;display:flex}.mst-pager-actions{flex-wrap:wrap;gap:.35rem;display:flex}.mst-page-btn{appearance:none;border:1px solid var(--line);color:var(--ink);min-width:2.2rem;min-height:2.2rem;font:inherit;cursor:pointer;background:#fff;border-radius:10px;padding:.3rem .55rem;font-weight:700}.mst-page-btn:disabled{opacity:.4;cursor:not-allowed}.mst-page-btn.on{color:#fff;background:#0f766e;border-color:#0f766e}.mst-empty{color:var(--muted);text-align:center;flex:auto;align-content:center;justify-items:center;gap:.45rem;min-height:12rem;margin:0;padding:1.6rem .8rem;display:grid}.mst-empty strong{color:var(--ink)}.mst-empty p{margin:0;font-size:.85rem}.mst-modal-backdrop{z-index:80}.mst-modal{gap:.85rem;width:min(34rem,100vw - 1.5rem);max-height:min(90vh,44rem);padding:1rem 1.1rem 1.1rem;display:grid;overflow:auto}.mst-modal-wide{width:min(40rem,100vw - 1.5rem)}.mst-modal-head{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.mst-editor-head{align-items:center;gap:.7rem;min-width:0;display:flex}.mst-modal-head h2{margin:0;font-size:1.1rem;font-weight:800}.mst-modal-head p{color:var(--muted);margin:.2rem 0 0;font-size:.8rem}.mst-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid}.mst-field{gap:.3rem;min-width:0;display:grid}.mst-span-2{grid-column:1/-1}.mst-field>span{color:var(--muted);font-size:.75rem;font-weight:750}.mst-field>span i{color:var(--danger);font-style:normal}.mst-input{width:100%;min-width:0;max-width:100%;min-height:var(--touch-min);color:var(--ink);font:inherit;box-sizing:border-box;background:#fff;border:1px solid #d8e2dc;border-radius:12px;outline:none;padding:.7rem .85rem;transition:border-color .12s,box-shadow .12s}.mst-input:focus{background:#fff;border-color:#0f766e;box-shadow:0 0 0 3px #0f766e1f}.mst-field .mesa-select,.mst-field .mesa-select-field{width:100%}.mst-field .mesa-select-field .mesa-select-trigger{min-height:var(--touch-min);background:#fff;border-radius:12px;font-weight:650;box-shadow:inset 0 0 0 1px #d8e2dc}.mst-field .mesa-select-field.open .mesa-select-trigger,.mst-field .mesa-select-field .mesa-select-trigger:focus-visible{box-shadow:inset 0 0 0 1.5px #0f766e,0 0 0 3px #0f766e1f}.mst-recipe-row .mesa-select,.mst-recipe-row .mesa-select-field{min-width:0}.mst-recipe-row .mesa-select-field .mesa-select-trigger{min-height:var(--touch-min);background:#fff;border-radius:12px;box-shadow:inset 0 0 0 1px #d8e2dc}.mst-block{background:var(--surface-2);border:1px solid var(--line);border-radius:12px;gap:.45rem;padding:.75rem .85rem;display:grid}.mst-block>strong{font-size:.85rem}.mst-block>p{color:var(--muted);margin:0;font-size:.82rem}.mst-topping-group{gap:.4rem;display:grid}.mst-topping-pick .mesa-select,.mst-topping-pick .mesa-select-field{width:100%}.mst-topping-pick .mesa-select-field .mesa-select-trigger{min-height:var(--touch-min);background:#fff;border-radius:12px;box-shadow:inset 0 0 0 1px #d8e2dc}.mst-recipe-row{grid-template-columns:minmax(0,1fr) 5.5rem auto;align-items:center;gap:.45rem;display:grid}.mst-modal-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;display:flex}.mst-modal-actions-end{flex-wrap:wrap;gap:.5rem;margin-inline-start:auto;display:flex}.mst-hint{color:var(--muted);margin:0;font-size:.78rem}.mst-hint a{color:#0f766e;font-weight:750}.mst-toolbar-links{flex-shrink:0;align-items:center;gap:.35rem;display:inline-flex}.mst-toolbar-links a{color:#0f766e;white-space:nowrap;border-radius:8px;padding:.35rem .55rem;font-size:.8rem;font-weight:750;text-decoration:none}.mst-toolbar-links a:hover{background:#0f766e14}@media (width<=1100px){.mst-toolbar{grid-template-columns:minmax(0,1fr);display:grid}.mst-toolbar .mst-add-btn{width:100%;margin-inline-start:0}.mst-filters{grid-template-columns:minmax(0,1fr);display:grid}.mst-filters .mst-search,.mst-pick{width:100%;max-width:none}.mst-toolbar-links{justify-content:flex-start;width:100%}.mst-hero-stats{width:100%;margin-inline-start:0}.mst-hero-actions{width:100%}.mst-link-btn{justify-content:center;width:100%}}@media (width<=768px){.mst-form{grid-template-columns:minmax(0,1fr)}.mst-span-2{grid-column:auto}.mst-add-btn,.mst-btn{width:100%}.mst-hero-actions{display:none}.mst-recipe-row{grid-template-columns:minmax(0,1fr)}.mst-modal-actions,.mst-modal-actions-end{grid-template-columns:minmax(0,1fr);width:100%;display:grid}.mst-pager{flex-direction:column;align-items:stretch}}.zk-crm-desk{background:radial-gradient(1200px 420px at 12% -12%,#2496561f,#0000 55%),linear-gradient(#f3f7f4 0%,#eef3f0 100%);flex-direction:column;height:100%;min-height:0;display:flex;overflow:hidden}.zk-crm-desk .zk-dash-header{z-index:30;isolation:isolate;flex-shrink:0;margin:.65rem .85rem 0;position:relative;top:auto}.zk-crm-desk>.zk-hub-foot{z-index:20;flex-shrink:0;margin-top:0;position:relative}.crm-page-inner{overscroll-behavior:contain;flex:auto;align-content:start;gap:.85rem;min-width:0;min-height:0;margin:.75rem .85rem 1rem;display:grid;overflow:auto}.crm-ico{width:1.15rem;height:1.15rem}.crm-hero{color:#fff;background:linear-gradient(125deg,#ffffff24,#0000 42%),linear-gradient(#249656 0%,#167a43 55%,#126739 100%);border-radius:16px;flex-wrap:wrap;align-items:center;gap:.85rem 1rem;padding:.9rem 1rem;display:flex;box-shadow:0 12px 24px #125a3238}.crm-hero-brand{align-items:center;gap:.7rem;min-width:0;display:flex}.crm-hero-brand h1{letter-spacing:-.02em;margin:0;font-size:1.2rem;font-weight:800}.crm-hero-brand p{opacity:.9;margin:.15rem 0 0;font-size:.78rem}.crm-hero-mark{background:#ffffff2e;border-radius:12px;flex-shrink:0;place-items:center;width:2.4rem;height:2.4rem;display:grid}.crm-hero-stats{flex-wrap:wrap;gap:.45rem;margin-inline-start:auto;display:flex}.crm-stat{border:1px solid #0000;border-radius:12px;align-items:center;gap:.4rem;min-width:0;padding:.4rem .65rem;display:inline-flex}.crm-stat strong{font-size:.95rem;font-weight:800}.crm-stat em{opacity:.9;white-space:nowrap;font-size:.72rem;font-style:normal}.crm-stat.tone-people{background:#ffffff29;border-color:#ffffff38}.crm-stat.tone-points{background:#ffd66638;border-color:#ffd66659}.crm-stat.tone-repeat{background:#74c0fc38;border-color:#74c0fc59}.crm-stat.tone-rate{background:#ffffff1f;border-color:#fff3}.crm-hero-actions{flex-shrink:0;gap:.5rem;display:flex}.crm-link-btn{appearance:none;color:#fff;min-height:2.4rem;font:inherit;cursor:pointer;white-space:nowrap;background:#ffffff24;border:1px solid #ffffff47;border-radius:12px;align-items:center;gap:.35rem;padding:.45rem .85rem;font-weight:750;display:inline-flex}.crm-link-btn.primary{color:#126739;background:#fff;border-color:#fff}.crm-board{background:#fff;border:1px solid #125a321a;border-radius:16px;gap:.9rem;min-width:0;min-height:auto;align-content:start;padding:1rem 1.1rem 1.15rem;display:grid;box-shadow:0 8px 22px #123c280f}.crm-toolbar{grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:.65rem;display:grid}.crm-search{min-width:0;min-height:var(--touch-min);border:1px solid var(--line);background:var(--surface-2);color:var(--muted);border-radius:12px;align-items:center;gap:.5rem;padding:0 .85rem;display:flex}.crm-search:focus-within{border-color:var(--teal);box-shadow:0 0 0 3px var(--teal-soft);color:var(--ink);background:#fff}.crm-search input{min-width:0;color:var(--ink);font:inherit;background:0 0;border:0;outline:none;flex:1;padding:.65rem 0}.crm-count{color:var(--muted);white-space:nowrap;font-size:.8rem;font-weight:700}.crm-add-btn,.crm-btn{appearance:none;min-height:var(--touch-min);font:inherit;cursor:pointer;white-space:nowrap;border:0;border-radius:12px;justify-content:center;align-items:center;gap:.35rem;padding:.55rem 1rem;font-weight:750;display:inline-flex}.crm-add-btn{background:var(--teal);color:#fff}.crm-btn.primary{background:var(--ok);color:#fff}.crm-btn.primary:disabled{opacity:.45;cursor:not-allowed}.crm-btn.ghost{color:var(--muted);border:1px solid var(--line);background:0 0}.crm-table-wrap{border:1px solid #e8eeea;border-radius:12px;max-height:none;overflow-x:auto;overflow-y:visible}.crm-table{border-collapse:collapse;table-layout:fixed;width:100%;min-width:720px}.crm-col-name{width:24%}.crm-col-phone{width:14%}.crm-col-visits{width:9%}.crm-col-spend{width:14%}.crm-col-points{width:12%}.crm-col-visit{width:14%}.crm-col-action{width:8%}.crm-table th,.crm-table td{text-align:left;vertical-align:middle;border-bottom:1px solid #eef2f0;padding:.6rem .7rem}html[dir=rtl] .crm-table th,html[dir=rtl] .crm-table td{text-align:right}.crm-table tbody tr:last-child td{border-bottom:0}.crm-table tbody tr:hover td{background:#f8fbf9}.crm-table th{letter-spacing:.05em;text-transform:uppercase;color:var(--muted);z-index:1;background:#f7faf8;font-size:.7rem;font-weight:750;position:sticky;top:0}.crm-name{align-items:center;gap:.55rem;min-width:0;display:flex}.crm-avatar{color:#fff;background:#126739;border-radius:11px;flex-shrink:0;place-items:center;width:2.15rem;height:2.15rem;font-size:.9rem;font-weight:800;display:grid}.crm-name-text{min-width:0;display:grid}.crm-name-text strong,.crm-name-text span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.crm-name-text span{color:var(--muted);font-size:.75rem}.crm-points-chip{background:var(--teal-soft);color:#126739;border-radius:999px;align-items:center;padding:.2rem .55rem;font-size:.8rem;font-weight:750;display:inline-flex}.crm-row-actions{justify-content:flex-end;gap:.25rem;display:flex}.crm-icon-btn{appearance:none;border:1px solid var(--line);color:var(--ink);cursor:pointer;background:#fff;border-radius:10px;place-items:center;width:2.15rem;height:2.15rem;padding:0;display:grid}.crm-icon-btn:hover{border-color:var(--teal);color:#126739;background:var(--teal-soft)}.crm-pager{color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.65rem;font-size:.82rem;font-weight:650;display:flex}.crm-pager-actions{flex-wrap:wrap;gap:.35rem;display:flex}.crm-page-btn{appearance:none;border:1px solid var(--line);color:var(--ink);min-width:2.2rem;min-height:2.2rem;font:inherit;cursor:pointer;background:#fff;border-radius:10px;padding:.3rem .55rem;font-weight:700}.crm-page-btn:disabled{opacity:.4;cursor:not-allowed}.crm-page-btn.on{color:#fff;background:#126739;border-color:#126739}.crm-kpis{grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;display:grid}.crm-kpis div{background:var(--surface-2);border:1px solid var(--line);border-radius:12px;min-width:0;padding:.55rem .65rem}.crm-kpis span{color:var(--muted);font-size:.7rem;font-weight:750;display:block}.crm-kpis strong{overflow-wrap:anywhere;margin-top:.15rem;font-size:.95rem;display:block}.crm-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid}.crm-field{gap:.3rem;min-width:0;display:grid}.crm-span-2{grid-column:1/-1}.crm-field>span{color:var(--muted);font-size:.75rem;font-weight:750}.crm-field>span i{color:var(--danger);font-style:normal}.crm-input{width:100%;min-width:0;max-width:100%;min-height:var(--touch-min);border:1px solid var(--line);background:var(--surface-2);color:var(--ink);font:inherit;box-sizing:border-box;border-radius:12px;outline:none;padding:.7rem .85rem}.crm-input:focus{border-color:var(--teal);box-shadow:0 0 0 3px var(--teal-soft);background:#fff}.crm-field .mesa-ar-field{min-width:0;max-width:100%}.crm-field .mesa-ar-field .crm-input,.crm-field .mesa-ar-field input{width:100%}.crm-empty{color:var(--muted);text-align:center;align-content:center;justify-items:center;gap:.45rem;min-height:12rem;margin:0;padding:1.6rem .8rem;display:grid}.crm-empty strong{color:var(--ink);font-size:.95rem}.crm-empty p{margin:0;font-size:.85rem}.crm-notes{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;display:grid}.crm-notes div{background:var(--surface-2);border-radius:12px;gap:.2rem;min-width:0;padding:.7rem .8rem;display:grid}.crm-notes strong{font-size:.82rem}.crm-notes span{color:var(--muted);overflow-wrap:anywhere;font-size:.8rem}.crm-modal-backdrop{z-index:80}.crm-modal{gap:.85rem;width:min(36rem,100vw - 1.5rem);max-height:min(90vh,42rem);padding:1rem 1.1rem 1.1rem;display:grid;overflow:auto}.crm-modal-head{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.crm-modal-head h2{margin:0;font-size:1.1rem;font-weight:800}.crm-modal-head p{color:var(--muted);margin:.25rem 0 0;font-size:.8rem}.crm-modal-actions{flex-wrap:wrap;justify-content:flex-end;gap:.5rem;padding-top:.25rem;display:flex}@media (width<=1100px){.crm-hero-stats{width:100%;margin-inline-start:0}.crm-hero-actions{width:100%}.crm-link-btn{justify-content:center;width:100%}}@media (width<=768px){.crm-toolbar,.crm-form,.crm-notes,.crm-kpis{grid-template-columns:minmax(0,1fr)}.crm-span-2{grid-column:auto}.crm-add-btn,.crm-btn{width:100%}.crm-hero-actions{display:none}.crm-modal-actions{grid-template-columns:minmax(0,1fr);display:grid}.crm-pager{flex-direction:column;align-items:stretch}}.zk-tax{background:radial-gradient(700px 320px at 100% 0,#1f6b5c1a,#0000 55%),linear-gradient(#eef3f0 0%,#e6ece8 100%);grid-template-rows:auto auto 1fr auto;min-height:100vh;display:grid}.zk-tax-top{color:#fff;background:linear-gradient(#2aa35f,#1b8a4c);justify-content:space-between;align-items:center;padding:.7rem 1.1rem;display:flex}.zk-tax-top strong{font-family:var(--font-display)}.zk-tax-top-right{align-items:center;gap:.75rem;display:flex}.zk-tax-close{color:#fff;background:#ffffff2e;border-radius:50%;place-items:center;width:2rem;height:2rem;text-decoration:none;display:grid}.zk-tax-bar{background:#fff;border-radius:16px;justify-content:center;align-items:center;margin:.85rem 1rem 0;padding:.7rem 1rem;display:flex;position:relative;box-shadow:0 10px 24px #12201c14}.zk-tax-bar h1{font-family:var(--font-display);margin:0;font-size:1.25rem;font-weight:800}.zk-tax-body{align-content:start;gap:.85rem;padding:.85rem 1rem 1rem;display:grid;overflow:auto}.zk-tax-kicker{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:0;font-size:.68rem;font-weight:750}.zk-tax-hero{background:linear-gradient(135deg,#1f9a5214,#0000 42%),#fff;border:1px solid #d9e3dc;border-radius:18px;grid-template-columns:minmax(0,1.4fr) minmax(220px,.85fr);gap:1rem;padding:1.1rem 1.15rem;display:grid;box-shadow:0 12px 28px #12201c14}.zk-tax-hero-copy h2{font-family:var(--font-display);margin:.2rem 0 .45rem;font-size:1.35rem;font-weight:800}.zk-tax-hero-copy p{max-width:42rem;color:var(--muted);margin:0;font-size:.9rem;line-height:1.5}.zk-tax-hero-copy a{color:var(--teal);font-weight:700;text-decoration:none}.zk-tax-hero-copy a:hover{text-decoration:underline}.zk-tax-hero-meta{align-content:start;justify-items:end;gap:.65rem;display:grid}.zk-tax-pill{color:#3d5249;background:#eef5f1;border:1px solid #d0dbd4;border-radius:999px;align-items:center;padding:.35rem .7rem;font-size:.75rem;font-weight:700;display:inline-flex}.zk-tax-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:.4rem;width:100%;display:grid}.zk-tax-stats>div{text-align:center;background:#f0f5f2;border:1px solid #e0e8e3;border-radius:12px;gap:.12rem;padding:.55rem .45rem;display:grid}.zk-tax-stats span{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-size:.62rem;font-weight:750}.zk-tax-stats strong{font-variant-numeric:tabular-nums;color:var(--ink);font-size:1.05rem}.zk-tax-list-card{background:#fff;border:1px solid #d9e3dc;border-radius:18px;padding:1rem 1.05rem 1.1rem;box-shadow:0 12px 28px #12201c14}.zk-tax-list-head{justify-content:space-between;align-items:flex-start;gap:.75rem;margin-bottom:.9rem;display:flex}.zk-tax-list-head h3{font-family:var(--font-display);margin:0;font-size:1.05rem;font-weight:800}.zk-tax-list-head p{color:var(--muted);margin:.2rem 0 0;font-size:.84rem}.zk-tax-list-tools{flex-wrap:wrap;gap:.4rem;display:flex}.zk-tax-tool{appearance:none;font:inherit;color:#2a3a34;cursor:pointer;background:#f7faf8;border:1px solid #d0dbd4;border-radius:10px;padding:.4rem .7rem;font-size:.78rem;font-weight:700}.zk-tax-tool:disabled{opacity:.45;cursor:not-allowed}.zk-tax-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:.7rem;margin:0;padding:0;list-style:none;display:grid}.zk-tax-rate{background:#f7faf8;border:1px solid #dce5e0;border-radius:16px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.7rem;padding:.85rem .9rem;transition:border-color .15s,background .15s,box-shadow .15s;display:grid}.zk-tax-rate.on{background:linear-gradient(#f2fbf6 0%,#eaf7f0 100%);border-color:#b7dcc7;box-shadow:0 8px 18px #1b8a4c14}.zk-tax-rate.def{border-color:color-mix(in srgb, var(--teal) 35%, #dce5e0)}@supports not (color: color-mix(in srgb, red 50%, blue)){.zk-tax-rate.def{border-color:#9abab2}}.zk-tax-rate-check{cursor:pointer;place-items:center;display:grid}.zk-tax-rate-main{appearance:none;text-align:left;cursor:pointer;min-width:0;font:inherit;color:inherit;background:0 0;border:0;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.75rem;padding:0;display:grid}.zk-tax-rate-pct{color:#fff;width:3.5rem;height:3.5rem;font-family:var(--font-display);font-variant-numeric:tabular-nums;background:linear-gradient(#2aa35f,#1b8a4c);border-radius:14px;place-content:center;font-size:1.15rem;font-weight:800;line-height:1;display:grid;box-shadow:0 8px 16px #1b8a4c38}.zk-tax-rate-pct small{opacity:.9;margin-inline-start:1px;font-size:.62rem;font-weight:700}.zk-tax-rate-copy{gap:.35rem;min-width:0;display:grid}.zk-tax-rate-copy strong{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:1rem;font-weight:800;overflow:hidden}.zk-tax-rate-badges{flex-wrap:wrap;gap:.3rem;display:flex}.zk-tax-badge{letter-spacing:.02em;border-radius:999px;align-items:center;padding:.18rem .45rem;font-size:.68rem;font-weight:750;display:inline-flex}.zk-tax-badge.on{color:#1f7a45;background:#d8f0e2}.zk-tax-badge.off{color:#5f7169;background:#e8eeea}.zk-tax-badge.def{background:var(--teal-soft);color:var(--teal)}.zk-tax-rate-edit{appearance:none;font:inherit;color:#2a3a34;cursor:pointer;white-space:nowrap;background:#fff;border:1px solid #d0dbd4;border-radius:10px;padding:.45rem .75rem;font-size:.8rem;font-weight:700}.zk-tax-rate-edit:hover{border-color:var(--teal);color:var(--teal);background:var(--teal-soft)}.zk-tax-empty{text-align:center;background:#f4f7f5;border:1px dashed #c9d6ce;border-radius:14px;justify-items:center;gap:.45rem;padding:2.5rem 1rem;display:grid}.zk-tax-empty strong{font-family:var(--font-display);font-size:1.05rem}.zk-tax-empty p{color:var(--muted);margin:0 0 .55rem;font-size:.9rem}.zk-tax-card{background:#fff;border:1px solid #d9e3dc;border-radius:18px;padding:1rem;box-shadow:0 12px 28px #12201c14}.zk-tax-head{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.75rem;display:flex}.zk-tax-head h2{font-family:var(--font-display);margin:0;font-size:1.1rem}.zk-tax-table-wrap{border:1px solid #d9e3dc;border-radius:14px;min-height:14rem;overflow:auto}.zk-tax-table{border-collapse:collapse;width:100%;font-size:.92rem}.zk-tax-table th,.zk-tax-table td{text-align:left;border-bottom:1px solid #e8eeea;padding:.7rem .85rem}.zk-tax-table th{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);background:#f0f5f2;font-size:.72rem}.zk-tax-table th.check,.zk-tax-table td.check{text-align:center;width:2.5rem}.zk-tax-table td.pct{font-variant-numeric:tabular-nums;color:var(--teal);font-weight:750}.zk-tax-table tbody tr.on{background:#eef8f2}.zk-tax-table td.empty{text-align:center;color:var(--muted);padding:2rem 1rem}.zk-tax-name{appearance:none;font:inherit;color:var(--teal);cursor:pointer;background:0 0;border:0;padding:0;font-weight:750}.zk-tax-foot{background:#24312c;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;padding:.65rem 1rem;display:flex}.zk-tax-home{color:#dce5e0;border-radius:10px;padding:.5rem .85rem;font-weight:650;text-decoration:none}.zk-tax-home.primary{color:#fff;background:linear-gradient(#2aa35f,#1b8a4c)}.zk-tax-foot-actions{gap:.45rem;display:flex}.zk-tax-sheet{background:#f4f7f5;border:1px solid #cfd9d3;border-radius:20px;width:min(460px,100%);padding:1rem 1.1rem 1.1rem;position:relative;box-shadow:0 28px 56px #12201c47}.zk-tax-sheet .zk-vendors-sheet-head{align-items:flex-start}.zk-tax-sheet .zk-vendors-sheet-head h2{font-family:var(--font-display);margin:.15rem 0 0}.zk-tax-form{background:#fff;border:1px solid #d9e3dc;border-radius:16px;gap:.85rem;padding:1rem;display:grid}.zk-tax-form-grid{grid-template-columns:1.4fr .8fr;gap:.7rem;display:grid}.zk-tax-form label{gap:.28rem;display:grid}.zk-tax-form label>span{color:var(--muted);text-transform:uppercase;letter-spacing:.03em;font-size:.72rem;font-weight:750}.zk-tax-form label>span i{color:var(--danger);font-style:normal}.zk-tax-pct-field{grid-template-columns:1fr auto;align-items:center;gap:.35rem;display:grid}.zk-tax-pct-field>span{color:var(--muted);font-weight:750}.zk-tax-form-flags{gap:.45rem;display:grid}.zk-tax-check{cursor:pointer;background:#f7faf8;border:1px solid #e0e8e3;border-radius:12px;grid-template-columns:auto 1fr;align-items:start;gap:.65rem;padding:.65rem .7rem;font-weight:650;display:grid!important}.zk-tax-check span{text-transform:none;letter-spacing:0;color:var(--ink);gap:.15rem;font-size:.9rem;display:grid}.zk-tax-check span strong{font-size:.9rem}.zk-tax-check span small{color:var(--muted);font-size:.78rem;font-weight:550}@media (width<=860px){.zk-tax-hero{grid-template-columns:1fr}.zk-tax-hero-meta{justify-items:stretch}.zk-tax-form-grid{grid-template-columns:1fr}.zk-tax-list-head{flex-direction:column}}.zk-disc{background:radial-gradient(700px 320px at 0 0,#c45c261a,#0000 55%),linear-gradient(#eef3f0 0%,#e6ece8 100%);grid-template-rows:auto auto 1fr auto;min-height:100vh;display:grid}.zk-disc-bar{background:#fff;border-radius:16px;justify-content:center;align-items:center;margin:.85rem 1rem 0;padding:.7rem 1rem;display:flex;position:relative;box-shadow:0 10px 24px #12201c14}.zk-disc-bar h1{font-family:var(--font-display);margin:0;font-size:1.25rem;font-weight:800}.zk-disc-body{align-content:start;gap:.85rem;padding:.85rem 1rem 1rem;display:grid;overflow:auto}.zk-disc-kicker{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:0;font-size:.68rem;font-weight:750}.zk-disc-hero{background:linear-gradient(135deg,#c45c2614,#0000 42%),#fff;border:1px solid #d9e3dc;border-radius:18px;grid-template-columns:minmax(0,1.4fr) minmax(220px,.85fr);gap:1rem;padding:1.1rem 1.15rem;display:grid;box-shadow:0 12px 28px #12201c14}.zk-disc-hero-copy h2{font-family:var(--font-display);margin:.2rem 0 .45rem;font-size:1.35rem;font-weight:800}.zk-disc-hero-copy p{max-width:42rem;color:var(--muted);margin:0;font-size:.9rem;line-height:1.5}.zk-disc-hero-meta{align-content:start;justify-items:end;gap:.65rem;display:grid}.zk-disc-pill{color:#7a4a2a;background:#f8efe6;border:1px solid #e8d5c4;border-radius:999px;align-items:center;padding:.35rem .7rem;font-size:.75rem;font-weight:700;display:inline-flex}.zk-disc-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:.4rem;width:100%;display:grid}.zk-disc-stats>div{text-align:center;background:#f7f3ef;border:1px solid #e8e0d8;border-radius:12px;gap:.12rem;padding:.55rem .45rem;display:grid}.zk-disc-stats span{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-size:.62rem;font-weight:750}.zk-disc-stats strong{font-variant-numeric:tabular-nums;color:var(--ink);font-size:1.05rem}.zk-disc-list-card{background:#fff;border:1px solid #d9e3dc;border-radius:18px;padding:1rem 1.05rem 1.1rem;box-shadow:0 12px 28px #12201c14}.zk-disc-list-head{justify-content:space-between;align-items:flex-start;gap:.75rem;margin-bottom:.9rem;display:flex}.zk-disc-list-head h3{font-family:var(--font-display);margin:0;font-size:1.05rem;font-weight:800}.zk-disc-list-head p{color:var(--muted);margin:.2rem 0 0;font-size:.84rem}.zk-disc-list-tools{flex-wrap:wrap;gap:.4rem;display:flex}.zk-disc-tool{appearance:none;font:inherit;color:#2a3a34;cursor:pointer;background:#f7faf8;border:1px solid #d0dbd4;border-radius:10px;padding:.4rem .7rem;font-size:.78rem;font-weight:700}.zk-disc-tool:disabled{opacity:.45;cursor:not-allowed}.zk-disc-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:.7rem;margin:0;padding:0;list-style:none;display:grid}.zk-disc-rate{background:#faf7f4;border:1px solid #e5ddd4;border-radius:16px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.7rem;padding:.85rem .9rem;transition:border-color .15s,background .15s,box-shadow .15s;display:grid}.zk-disc-rate.on{background:linear-gradient(#fff8f2 0%,#f8efe6 100%);border-color:#e0c4a8;box-shadow:0 8px 18px #c45c2614}.zk-disc-rate-check{cursor:pointer;place-items:center;display:grid}.zk-disc-rate-main{appearance:none;text-align:left;cursor:pointer;min-width:0;font:inherit;color:inherit;background:0 0;border:0;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.75rem;padding:0;display:grid}.zk-disc-rate-pct{color:#fff;width:3.5rem;height:3.5rem;font-family:var(--font-display);font-variant-numeric:tabular-nums;background:linear-gradient(#d9783a,#c45c26);border-radius:14px;place-content:center;font-size:1.15rem;font-weight:800;line-height:1;display:grid;box-shadow:0 8px 16px #c45c2638}.zk-disc-rate-pct small{opacity:.9;margin-inline-start:1px;font-size:.62rem;font-weight:700}.zk-disc-rate-copy{gap:.35rem;min-width:0;display:grid}.zk-disc-rate-copy strong{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:1rem;font-weight:800;overflow:hidden}.zk-disc-rate-badges{flex-wrap:wrap;gap:.3rem;display:flex}.zk-disc-badge{border-radius:999px;align-items:center;padding:.18rem .45rem;font-size:.68rem;font-weight:750;display:inline-flex}.zk-disc-badge.on{color:#1f7a45;background:#d8f0e2}.zk-disc-badge.off{color:#5f7169;background:#e8eeea}.zk-disc-badge.def{color:#8a5a12;background:#f6e7c8}.zk-disc-rate-edit{appearance:none;font:inherit;color:#2a3a34;cursor:pointer;white-space:nowrap;background:#fff;border:1px solid #d0dbd4;border-radius:10px;padding:.45rem .75rem;font-size:.8rem;font-weight:700}.zk-disc-rate-edit:hover{border-color:var(--accent);color:var(--accent-deep);background:#f8efe6}.zk-disc-empty{text-align:center;background:#faf7f4;border:1px dashed #d8cfc4;border-radius:14px;justify-items:center;gap:.45rem;padding:2.5rem 1rem;display:grid}.zk-disc-empty strong{font-family:var(--font-display);font-size:1.05rem}.zk-disc-empty p{color:var(--muted);margin:0 0 .55rem;font-size:.9rem}.zk-disc-empty-actions{flex-wrap:wrap;justify-content:center;gap:.5rem;display:flex}.zk-disc-foot-actions{gap:.45rem;display:flex}.zk-disc-sheet{background:#f7f4f1;border:1px solid #d9cfc4;border-radius:20px;width:min(460px,100%);padding:1rem 1.1rem 1.1rem;position:relative;box-shadow:0 28px 56px #12201c47}.zk-disc-sheet .zk-vendors-sheet-head h2{font-family:var(--font-display);margin:.15rem 0 0}.zk-disc-form{background:#fff;border:1px solid #e5ddd4;border-radius:16px;gap:.85rem;padding:1rem;display:grid}.zk-disc-form-grid{grid-template-columns:1.4fr .8fr;gap:.7rem;display:grid}.zk-disc-form label{gap:.28rem;display:grid}.zk-disc-form label>span{color:var(--muted);text-transform:uppercase;letter-spacing:.03em;font-size:.72rem;font-weight:750}.zk-disc-form label>span i{color:var(--danger);font-style:normal}.zk-disc-pct-field{grid-template-columns:1fr auto;align-items:center;gap:.35rem;display:grid}.zk-disc-pct-field>span{color:var(--muted);font-weight:750}.zk-disc-form-flags{gap:.45rem;display:grid}.zk-disc-check{cursor:pointer;background:#faf7f4;border:1px solid #e8e0d8;border-radius:12px;grid-template-columns:auto 1fr;align-items:start;gap:.65rem;padding:.65rem .7rem;font-weight:650;display:grid!important}.zk-disc-check span{text-transform:none;letter-spacing:0;color:var(--ink);gap:.15rem;font-size:.9rem;display:grid}.zk-disc-check span strong{font-size:.9rem}.zk-disc-check span small{color:var(--muted);font-size:.78rem;font-weight:550}@media (width<=860px){.zk-disc-hero{grid-template-columns:1fr}.zk-disc-hero-meta{justify-items:stretch}.zk-disc-form-grid{grid-template-columns:1fr}.zk-disc-list-head{flex-direction:column}}.zk-tu{background:radial-gradient(700px 320px at 100% 0,#1f6b5c1a,#0000 55%),linear-gradient(#eef3f0 0%,#e6ece8 100%);grid-template-rows:auto auto 1fr auto;min-height:100vh;display:grid}.zk-tu-bar{background:#fff;border-radius:16px;justify-content:center;align-items:center;margin:.85rem 1rem 0;padding:.7rem 1rem;display:flex;box-shadow:0 10px 24px #12201c14}.zk-tu-bar h1{font-family:var(--font-display);margin:0;font-size:1.25rem;font-weight:800}.zk-tu-body{grid-template-columns:minmax(280px,340px) minmax(0,1fr);align-items:start;gap:.85rem;padding:.85rem 1rem 1rem;display:grid;overflow:auto}.zk-tu-panel{background:#fff;border:1px solid #d9e3dc;border-radius:18px;padding:1rem 1.05rem 1.1rem;box-shadow:0 12px 28px #12201c14}.zk-tu-apply{gap:.85rem;display:grid;position:sticky;top:.5rem}.zk-tu-panel-head h2{font-family:var(--font-display);margin:.15rem 0 0;font-size:1.15rem;font-weight:800}.zk-tu-panel-head.row{justify-content:space-between;align-items:flex-start;gap:.75rem;margin-bottom:.75rem;display:flex}.zk-tu-kicker{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:0;font-size:.68rem;font-weight:750}.zk-tu-lead,.zk-tu-hint{color:var(--muted);margin:.45rem 0 0;font-size:.86rem;line-height:1.45}.zk-tu-modes{grid-template-columns:repeat(4,minmax(0,1fr));gap:.35rem;display:grid}.zk-tu-mode{appearance:none;font:inherit;color:#2a3a34;cursor:pointer;background:#f4f7f5;border:1px solid #d0dbd4;border-radius:10px;padding:.55rem .35rem;font-size:.78rem;font-weight:750}.zk-tu-mode.on{color:#fff;background:linear-gradient(#2aa35f,#1b8a4c);border-color:#0000;box-shadow:0 8px 16px #1b8a4c40}.zk-tu-tax-block{gap:.55rem;display:grid}.zk-tu-block-head{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.zk-tu-block-head strong{font-size:.82rem}.zk-tu-link{color:var(--teal);font-size:.78rem;font-weight:650;text-decoration:none}.zk-tu-tax-list{gap:.35rem;max-height:14rem;margin:0;padding:0;list-style:none;display:grid;overflow:auto}.zk-tu-tax-row{cursor:pointer;background:#f7faf8;border:1px solid #e0e8e3;border-radius:12px;grid-template-columns:auto 1fr auto;align-items:center;gap:.55rem;padding:.55rem .65rem;display:grid}.zk-tu-tax-row.on{background:#eef8f2;border-color:#b7dcc7}.zk-tu-tax-name{font-size:.9rem;font-weight:700}.zk-tu-tax-pct{font-variant-numeric:tabular-nums;color:var(--accent-deep);font-size:.86rem;font-weight:750}.zk-tu-sum{color:var(--muted);margin:0;font-size:.84rem}.zk-tu-sum strong{color:var(--accent-deep)}.zk-tu-clear-note,.zk-tu-empty-inline{color:var(--muted);background:#f4f7f5;border:1px dashed #c9d6ce;border-radius:12px;padding:.75rem .85rem;font-size:.86rem;line-height:1.4}.zk-tu-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:.4rem;display:grid}.zk-tu-stats>div{text-align:center;background:#f0f5f2;border-radius:12px;gap:.15rem;padding:.55rem .45rem;display:grid}.zk-tu-stats span{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-size:.65rem;font-weight:750}.zk-tu-stats strong{font-variant-numeric:tabular-nums;font-size:1.05rem}.zk-tu-apply-btn{appearance:none;font:inherit;color:#fff;cursor:pointer;background:linear-gradient(#2aa35f,#1b8a4c);border:0;border-radius:12px;padding:.8rem 1rem;font-weight:750;box-shadow:0 10px 22px #1b8a4c47}.zk-tu-apply-btn:disabled{opacity:.55;cursor:not-allowed}.zk-tu-ghost{appearance:none;font:inherit;color:#2a3a34;cursor:pointer;white-space:nowrap;background:#fff;border:1px solid #d0dbd4;border-radius:10px;padding:.45rem .7rem;font-size:.8rem;font-weight:700}.zk-tu-filters{grid-template-columns:minmax(0,1.4fr) minmax(140px,1fr) minmax(140px,1fr);gap:.55rem;margin-bottom:.75rem;display:grid}.zk-tu-search{min-width:0}.zk-tu-table-wrap{border:1px solid #d9e3dc;border-radius:14px;max-height:min(62vh,640px);overflow:auto}.zk-tu-table{border-collapse:collapse;width:100%;font-size:.9rem}.zk-tu-table th,.zk-tu-table td{text-align:left;vertical-align:middle;border-bottom:1px solid #e8eeea;padding:.65rem .75rem}.zk-tu-table th{z-index:1;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);background:#f0f5f2;font-size:.7rem;position:sticky;top:0}.zk-tu-table th.check,.zk-tu-table td.check{text-align:center;width:2.5rem}.zk-tu-table tbody tr.on{background:#eef8f2}.zk-tu-table td.empty{text-align:center;color:var(--muted);padding:2.5rem 1rem}.zk-tu-table td.code{font-variant-numeric:tabular-nums;color:#4a5c54;white-space:nowrap;font-weight:700}.zk-tu-table td.muted{color:var(--muted);font-size:.86rem}.zk-tu-table td.tax{color:var(--accent-deep);font-size:.84rem;font-weight:650}.zk-tu-prod-name{appearance:none;font:inherit;color:var(--teal);cursor:pointer;text-align:left;background:0 0;border:0;padding:0;font-weight:750}.zk-tu-foot-actions{gap:.45rem;display:flex}.zk-tu-confirm{max-width:420px}@media (width<=960px){.zk-tu-body{grid-template-columns:1fr}.zk-tu-apply{position:static}.zk-tu-filters{grid-template-columns:1fr}.zk-tu-modes{grid-template-columns:repeat(2,minmax(0,1fr))}}.app-shell:has(.zk-qs) .main-stage{background:#eef3f0;flex-direction:column;max-width:none;height:100%;min-height:0;padding:0;display:flex;overflow:hidden}.zk-qs{background:radial-gradient(700px 320px at 0 0,#2aa35f24,#0000 55%),radial-gradient(560px 280px at 100% 10%,#c45c2614,#0000 50%),linear-gradient(#eef3f0 0%,#e6ece8 100%);flex-direction:column;flex:1 1 0;width:100%;min-width:0;max-width:100%;height:100%;min-height:0;display:flex;overflow:hidden}.zk-qs .zk-dash-header{min-width:0;margin:.55rem .8rem 0}.zk-qs .zk-dash-brand{color:inherit;text-decoration:none}.zk-qs>.zk-hub-foot{z-index:5;flex-shrink:0;margin-top:auto;position:relative;bottom:auto}.qs-page{flex-direction:column;flex:1 0 auto;gap:.55rem;min-width:0;margin:.55rem .8rem;padding-bottom:.85rem;display:flex;overflow:visible}.qs-ico{width:1.05rem;height:1.05rem;display:block}.qs-toolbar{color:#f4fff8;background:linear-gradient(135deg,#14663a 0%,#1b8a4c 48%,#2aa35f 100%);border-radius:14px;justify-content:space-between;align-items:center;gap:.85rem;padding:.7rem .95rem;display:flex;box-shadow:0 8px 20px #167a4333}.qs-toolbar-brand{align-items:center;gap:.7rem;min-width:0;display:flex}.qs-toolbar-brand h1{font-family:var(--font-display);letter-spacing:-.03em;margin:0;font-size:1.2rem}.qs-toolbar-brand p{color:#f4fff8cc;margin:.1rem 0 0;font-size:.78rem}.qs-hero-mark{background:#ffffff29;border:1px solid #fff3;border-radius:12px;flex-shrink:0;place-items:center;width:2.5rem;height:2.5rem;display:grid}.qs-hero-mark .qs-ico{width:1.25rem;height:1.25rem}.qs-toolbar-actions{flex-wrap:wrap;align-items:center;gap:.45rem;display:flex}.qs-new-btn{align-items:center;gap:.35rem;display:inline-flex}.qs-link-btn{color:inherit;background:#ffffff24;border:1px solid #ffffff38;border-radius:999px;align-items:center;gap:.35rem;padding:.45rem .75rem;font-size:.8rem;font-weight:750;text-decoration:none;display:inline-flex}.qs-pill{background:#ffffff29;border-radius:999px;align-items:center;padding:.35rem .65rem;font-size:.74rem;font-weight:750;display:inline-flex}.qs-pill.closed{background:#781e1e73}.qs-tools{background:var(--panel);box-shadow:var(--shadow);border:1px solid #d5ddd8e6;border-radius:14px;flex-wrap:wrap;gap:.4rem;padding:.45rem .55rem;display:flex}.qs-tool{appearance:none;border:1px solid var(--line);font:inherit;cursor:pointer;color:var(--ink);background:#f4f7f5;border-radius:999px;align-items:center;gap:.35rem;padding:.45rem .75rem;font-size:.78rem;font-weight:750;text-decoration:none;display:inline-flex}.qs-tool:disabled{opacity:.5;cursor:not-allowed}.qs-tool.accent{background:color-mix(in srgb, var(--teal) 14%, #fff);border-color:color-mix(in srgb, var(--teal) 30%, var(--line));color:var(--teal)}@supports not (color: color-mix(in srgb, red 50%, blue)){.qs-tool.accent{background:#e0eae8;border-color:#9ebbb3}}.qs-tool .qs-ico{width:.95rem;height:.95rem}.qs-desk{grid-template-columns:minmax(0,1.4fr) minmax(280px,.9fr);align-items:start;gap:.75rem;display:grid;container:qs-desk/inline-size}.qs-menu-panel,.qs-ticket-panel{background:var(--panel);box-shadow:var(--shadow);border:1px solid #d5ddd8d9;border-radius:16px;min-width:0;overflow:visible}.qs-menu-panel{min-height:24rem;padding:.55rem .65rem}.qs-menu-panel .mp-root{height:auto;min-height:22rem;overflow:visible}.qs-menu-panel .mp-body{flex:1 0 auto;min-height:16rem;overflow:visible}.qs-menu-panel .mp-items{overflow:visible}.qs-ticket-panel{background:#f7faf8;flex-direction:column;padding:.75rem;display:flex;position:sticky;top:.5rem}.qs-ticket-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.75rem;margin-bottom:.55rem;display:flex}.qs-ticket-head h2{font-family:var(--font-display);letter-spacing:-.03em;margin:0;font-size:1.15rem}.qs-ticket-head h2 em{color:var(--muted);margin-inline-start:.3rem;font-size:.8rem;font-style:normal;font-weight:700}.qs-tags{flex-wrap:wrap;gap:.3rem;margin-top:.35rem;display:flex}.qs-chip{background:color-mix(in srgb, var(--ok) 12%, #fff);color:var(--ok);border:1px solid color-mix(in srgb, var(--ok) 22%, var(--line));border-radius:999px;align-items:center;gap:.3rem;padding:.22rem .55rem;font-size:.72rem;font-weight:750;display:inline-flex}@supports not (color: color-mix(in srgb, red 50%, blue)){.qs-chip{background:#e4efe9;border:1px solid #adc7b8}}.qs-chip.soft{color:var(--ink);border-color:var(--line);background:#fff}.qs-status-pill{border-radius:999px;padding:.15rem .45rem;font-size:.68rem;font-weight:800;display:inline-flex}.qs-status-pill.muted{color:var(--muted);background:#eef1ef}.qs-status-pill.amber{color:#c45c26;background:#f7e8e1}.qs-status-pill.teal{background:color-mix(in srgb, var(--teal) 14%, #fff);color:var(--teal)}@supports not (color: color-mix(in srgb, red 50%, blue)){.qs-status-pill.teal{background:#e0eae8}}.qs-type{color:var(--muted);text-transform:uppercase;gap:.25rem;min-width:9rem;font-size:.72rem;font-weight:750;display:grid}.qs-type .mesa-select{width:100%}.qs-type .mesa-select-field,.qs-type .mesa-select-field .mesa-select-trigger{width:100%;min-width:0}.qs-type .mesa-select-trigger{min-height:2.35rem;color:var(--teal);box-shadow:inset 0 0 0 1.5px color-mix(in srgb, var(--teal) 45%, var(--line));background:#fff;border-radius:10px;font-weight:750}@supports not (color: color-mix(in srgb, red 50%, blue)){.qs-type .mesa-select-trigger{box-shadow:inset 0 0 0 1.5px #83aaa0}}.qs-type .mesa-select-trigger:hover,.qs-type .mesa-select-field.open .mesa-select-trigger,.qs-type .mesa-select-trigger:focus-visible{box-shadow:inset 0 0 0 1.5px var(--teal);background:color-mix(in srgb, var(--teal) 8%, #fff)}@supports not (color: color-mix(in srgb, red 50%, blue)){.qs-type .mesa-select-trigger:hover,.qs-type .mesa-select-field.open .mesa-select-trigger,.qs-type .mesa-select-trigger:focus-visible{background:#edf3f2}}.qs-type .mesa-select-caret{color:var(--teal)}.qs-note{background:color-mix(in srgb, var(--ok) 8%, #fff);color:#14663a;border-radius:10px;margin:0 0 .55rem;padding:.45rem .65rem;font-size:.84rem;font-weight:650}@supports not (color: color-mix(in srgb, red 50%, blue)){.qs-note{background:#edf4f0}}.qs-lines{align-content:start;gap:.4rem;min-height:6rem;margin-bottom:.55rem;display:grid}.qs-empty{text-align:center;color:var(--muted);align-content:center;justify-items:center;gap:.4rem;padding:1.4rem 1rem;display:grid}.qs-empty.inline{border:1px dashed var(--line);background:#fff;border-radius:12px;padding:.85rem}.qs-empty .qs-ico{width:1.85rem;height:1.85rem;color:var(--ok);opacity:.75}.qs-empty strong{color:var(--ink)}.qs-totals{border:1px solid var(--line);background:#fff;border-radius:12px;gap:.3rem;padding:.65rem .7rem;display:grid}.qs-totals>div{justify-content:space-between;gap:.75rem;font-size:.86rem;display:flex}.qs-totals .grand{border-top:1px solid var(--line);font-weight:800;font-family:var(--font-display);color:var(--accent-deep);margin-top:.15rem;padding-top:.4rem;font-size:1.05rem}.qs-ticket-actions{gap:.4rem;margin-top:.55rem;display:grid}.qs-ticket-actions .btn{justify-content:center;align-items:center;gap:.35rem;display:inline-flex}.qs-cancel-btn{color:var(--danger)!important}@container qs-desk (width<=820px){.qs-desk{grid-template-columns:1fr}.qs-ticket-panel{position:static}}@media (width<=980px){.qs-desk{grid-template-columns:1fr}.qs-ticket-panel{position:static}}@media (width<=720px){.zk-qs .zk-dash-header{margin:.35rem .4rem 0}.qs-page{margin:.35rem .4rem}.qs-toolbar{flex-wrap:wrap}.qs-toolbar-actions{width:100%}.qs-toolbar-actions .btn,.qs-link-btn{flex:auto;justify-content:center}.qs-tools{flex-wrap:nowrap;overflow-x:auto}.qs-tool{flex:none}}.app-shell.counter-mode{grid-template-columns:1fr}.app-shell.counter-mode .main-stage{max-width:none;height:100%;min-height:100%;padding:0;overflow:auto}.zk-gift{background:radial-gradient(700px 320px at 0 0,#ae3ec914,#0000 55%),linear-gradient(#eef3f0 0%,#e6ece8 100%);grid-template-rows:auto auto auto 1fr auto;min-height:100vh;display:grid}.zk-gift-top{color:#fff;background:linear-gradient(#2aa35f,#1b8a4c);justify-content:space-between;align-items:center;padding:.7rem 1.1rem;display:flex}.zk-gift-top strong{font-family:var(--font-display)}.zk-gift-top-right{align-items:center;gap:.75rem;display:flex}.zk-gift-close{color:#fff;background:#ffffff2e;border-radius:50%;place-items:center;width:2rem;height:2rem;text-decoration:none;display:grid}.zk-gift-bar{background:#fff;border-radius:16px;justify-content:center;align-items:center;margin:.85rem 1rem 0;padding:.7rem 1rem;display:flex;position:relative;box-shadow:0 10px 24px #12201c14}.zk-gift-bar h1{font-family:var(--font-display);margin:0;font-size:1.2rem;font-weight:800}.zk-gift-search{background:#fff;border-radius:14px;align-items:center;gap:.75rem;margin:.75rem 1rem 0;padding:.65rem .9rem;display:flex;box-shadow:0 8px 18px #12201c0f}.zk-gift-search label{color:var(--muted);flex:1;align-items:center;gap:.65rem;font-size:.85rem;font-weight:700;display:flex}.zk-gift-search input{flex:1}.zk-gift-body{padding:.85rem 1rem 1rem;overflow:auto}.zk-gift-grid{grid-template-columns:repeat(auto-fill,minmax(9.5rem,1fr));gap:.85rem;display:grid}.zk-gift-tile{appearance:none;cursor:pointer;min-height:8.5rem;font:inherit;color:#fff;background:linear-gradient(160deg,#3a4a44,#24312c);border:0;border-radius:18px;align-content:center;justify-items:center;gap:.3rem;padding:1rem .75rem;transition:transform .15s;display:grid;box-shadow:0 12px 24px #12201c24}.zk-gift-tile:hover{transform:translateY(-3px)}.zk-gift-icon{background:#ffffff1f;border-radius:.9rem;place-items:center;width:2.8rem;height:2.8rem;display:grid}.zk-gift-icon svg{width:1.7rem;height:1.7rem}.zk-gift-tile strong{font-family:var(--font-display);text-align:center;font-size:.95rem}.zk-gift-tile span{opacity:.85;font-size:.85rem}.zk-gift-tile em{color:#b8f0cc;font-size:.8rem;font-style:normal;font-weight:750}.zk-gift-empty{text-align:center;min-height:12rem;color:var(--muted);place-content:center;gap:.25rem;display:grid}.zk-gift-foot{background:#24312c;flex-wrap:wrap;justify-content:space-between;gap:.75rem;padding:.65rem 1rem;display:flex}.zk-gift-home{color:#dce5e0;border-radius:10px;padding:.5rem .85rem;font-weight:650;text-decoration:none}.zk-gift-home.primary{color:#fff;background:linear-gradient(#2aa35f,#1b8a4c)}.zk-gift-sheet{background:#f4f7f5;border:1px solid #cfd9d3;border-radius:20px;width:min(780px,100%);max-height:min(92vh,900px);padding:1rem 1.1rem 1.1rem;position:relative;overflow:auto;box-shadow:0 28px 56px #12201c47}.zk-gift-form{background:#fff;border:1px solid #d9e3dc;border-radius:16px;grid-template-columns:1fr 1fr;gap:1rem;padding:1rem;display:grid}.zk-gift-col{align-content:start;gap:.65rem;display:grid}.zk-gift-col label{gap:.28rem;display:grid}.zk-gift-col label span,.zk-gift-pay-grid label span{color:var(--muted);text-transform:uppercase;letter-spacing:.03em;font-size:.72rem;font-weight:750}.zk-gift-col label span i{color:var(--danger);font-style:normal}.zk-gift-col small{color:var(--accent-deep);font-size:.78rem;font-weight:650}.zk-gift-col small.ok{color:var(--teal)}.zk-gift-durations{grid-template-columns:repeat(4,1fr);gap:.35rem;display:grid}.zk-gift-durations button{appearance:none;font:inherit;cursor:pointer;background:#e8eef2;border:0;border-radius:10px;padding:.55rem .25rem;font-size:.78rem;font-weight:750}.zk-gift-customer-row{grid-template-columns:1fr auto;gap:.4rem;display:grid}.zk-gift-pick{appearance:none;color:#fff;min-width:2.6rem;font:inherit;cursor:pointer;background:#3d5a6c;border:0;border-radius:10px;font-weight:800}.zk-gift-desc{resize:vertical;min-height:4.5rem;font:inherit}.zk-gift-pay{background:#fff;border:1px solid #d9e3dc;border-radius:16px;margin-top:.85rem;padding:1rem}.zk-gift-pay h3{font-family:var(--font-display);margin:0 0 .75rem;font-size:1rem}.zk-gift-pay-grid{grid-template-columns:1fr 1fr;gap:.65rem 1rem;display:grid}.zk-gift-pay-grid label{gap:.28rem;display:grid}.zk-gift-pay-grid input[readonly]{background:var(--field-readonly-bg);color:var(--field-readonly-fg)}.zk-gift-balance{color:var(--accent-deep)!important;background:#fff6e8!important;font-weight:800!important}.zk-gift-customer-modal{background:#f4f7f5;border-radius:18px;grid-template-rows:auto auto 1fr;gap:.65rem;width:min(720px,100%);max-height:min(85vh,700px);padding:1rem;display:grid;overflow:hidden;box-shadow:0 28px 56px #12201c47}.zk-gift-customer-list{background:#fff;border:1px solid #d9e3dc;border-radius:12px;overflow:auto}@media (width<=800px){.zk-gift-form,.zk-gift-pay-grid,.zk-gift-durations{grid-template-columns:1fr 1fr}.zk-gift-form{grid-template-columns:1fr}}.cs-backdrop{z-index:80}.cs-shell{border:1px solid var(--line);background:#fff;border-radius:18px;gap:.75rem;width:min(980px,96vw);max-height:92vh;padding:.85rem 1rem 1rem;display:grid;overflow:auto;box-shadow:0 28px 60px #10241c47}.cs-head{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.cs-head h2{font-family:var(--font-display);margin:0;font-size:1.2rem}.cs-head p{color:var(--ink-soft);margin:.2rem 0 0;font-size:.85rem}.cs-layout{grid-template-columns:1fr minmax(148px,168px);gap:.75rem;min-height:360px;display:grid}.cs-main{align-content:start;gap:.55rem;min-width:0;display:grid}.cs-search-row{align-items:end;gap:.5rem;display:flex}.cs-search-row label{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;flex:1;gap:.25rem;font-size:.78rem;font-weight:700;display:grid}.cs-clear{appearance:none;width:2.15rem;height:2.15rem;color:var(--ink-soft);cursor:pointer;background:#eef3f0;border:0;border-radius:999px;place-items:center;margin-bottom:.05rem;display:grid}.cs-clear svg{width:.95rem;height:.95rem}.cs-table-wrap{border:1px solid var(--line);background:#fff;border-radius:12px;max-height:48vh;overflow:auto}.cs-table{border-collapse:collapse;table-layout:fixed;width:100%;font-size:.86rem}.cs-table th,.cs-table td{text-align:left;border-bottom:1px solid #d5ddd8;vertical-align:middle;text-overflow:ellipsis;white-space:nowrap;border-inline-end:1px solid #d5ddd8;padding:.52rem .7rem;overflow:hidden}.cs-table th:last-child,.cs-table td:last-child{border-inline-end:0}.cs-table th{background:color-mix(in srgb, var(--teal) 12%, #fff);color:var(--teal);text-transform:uppercase;letter-spacing:.05em;z-index:1;font-size:.68rem;font-weight:800;position:sticky;top:0}@supports not (color: color-mix(in srgb, red 50%, blue)){.cs-table th{background:#e4edeb}}.cs-table th.num,.cs-table td.num{text-align:right;font-variant-numeric:tabular-nums}.cs-table td.muted{color:var(--muted)}.cs-table td strong{font-weight:750}.cs-table tbody tr{cursor:pointer}.cs-table tbody tr:nth-child(2n){background:#f7faf8}.cs-table tbody tr:hover{background:var(--teal-soft)}.cs-table tbody tr.selected{background:color-mix(in srgb, var(--teal) 18%, #fff);box-shadow:inset 3px 0 0 var(--teal)}@supports not (color: color-mix(in srgb, red 50%, blue)){.cs-table tbody tr.selected{background:#d7e4e2}}.cs-table tbody tr.selected td{color:var(--ink);font-weight:650}.cs-empty{text-align:center;color:var(--ink-soft);white-space:normal;padding:1.5rem!important}.cs-count{color:var(--muted);margin:0;font-size:.75rem;font-weight:700}.cs-note{color:var(--teal);margin:0;font-size:.85rem;font-weight:700}.cs-rail{align-content:start;gap:.35rem;display:grid}.cs-rail-btn{appearance:none;font:inherit;cursor:pointer;color:#33414a;text-align:center;background:#e8eef2;border:0;border-radius:12px;padding:.62rem .5rem;font-size:.75rem;font-weight:750}.cs-rail-btn.primary{background:var(--teal);color:#fff}.cs-rail-btn.ghost{box-shadow:inset 0 0 0 1px var(--line);color:var(--ink-soft);background:#fff}.cs-rail-btn:hover{filter:brightness(1.03)}.cs-sheet{border:1px solid var(--line);background:linear-gradient(#f7fbf9 0%,#fff 48%);border-radius:14px;gap:.7rem;padding:.75rem .85rem .85rem;display:grid}.cs-sheet .dine-pick-head h2{font-size:1.05rem}.cs-form{grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem;display:grid}.cs-form label{gap:.28rem;min-width:0;display:grid}.cs-form label>span{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:.72rem;font-weight:750}.cs-form label>span i{color:#b42318;font-style:normal}.cs-form-actions{justify-content:flex-end;gap:.4rem;display:flex}.cs-form-actions .cs-rail-btn{min-width:7.5rem;padding:.55rem .9rem}.cs-account{grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem;margin:0;padding:0;list-style:none;display:grid}.cs-account li{background:#fff;border:1px solid #d7e2db;border-radius:12px;gap:.2rem;padding:.7rem .8rem;display:grid}.cs-account span{color:var(--ink-soft);font-size:.78rem}.cs-account strong{font-size:.95rem;line-height:1.3}.cs-account .cs-visit{white-space:normal;font-variant-numeric:tabular-nums}.gcp-backdrop{z-index:260!important}.gcp-card{background:#eceff1;border:1px solid #9aa5ad;border-radius:10px;width:min(420px,94vw);overflow:hidden;box-shadow:0 24px 50px #0a121859}.gcp-head{color:#fff;background:#3a4650;grid-template-columns:1fr auto auto;align-items:center;gap:.5rem;padding:.55rem .7rem;font-size:.9rem;display:grid}.gcp-head strong{justify-self:center}.gcp-fields{gap:.55rem;padding:.9rem 1rem .4rem;display:grid}.gcp-fields label{grid-template-columns:140px 1fr;align-items:center;gap:.5rem;font-size:.86rem;font-weight:700;display:grid}.gcp-bill-row span{align-items:center;gap:.35rem;display:flex}.gcp-bill-row span .search{flex:1}.gcp-suggest{gap:.25rem;margin:-.2rem 0 .2rem 140px;display:grid}.gcp-suggest button{text-align:left;font:inherit;cursor:pointer;background:#fff;border:1px solid #c5d0d8;border-radius:8px;padding:.4rem .55rem}.gcp-hint{color:#b42318;margin:0 1rem;font-size:.85rem;font-weight:700}.gcp-actions{justify-content:flex-end;gap:.45rem;padding:.75rem 1rem 1rem;display:flex}@media (width<=800px){.cs-layout{grid-template-columns:1fr}.cs-rail{grid-template-columns:repeat(2,1fr)}.cs-form,.cs-account,.gcp-fields label{grid-template-columns:1fr}.gcp-suggest{margin-left:0}}.dt-page{background:radial-gradient(720px 320px at 100% 0,#845ef724,#0000 55%),linear-gradient(#eef1f7 0%,#e6eaf2 100%);grid-template-rows:auto 1fr auto;min-height:100vh;display:grid}.dt-top{color:#fff;background:linear-gradient(#2aa35f,#1b8a4c);justify-content:space-between;align-items:center;padding:.65rem 1rem;display:flex}.dt-top strong{font-family:var(--font-display)}.dt-top-right{align-items:center;gap:.65rem;display:flex}.dt-close{color:#fff;background:#ffffff2e;border-radius:50%;place-items:center;width:2rem;height:2rem;text-decoration:none;display:grid}.dt-shell{grid-template-columns:8.5rem minmax(280px,.95fr) minmax(340px,1.3fr);gap:.75rem;min-height:0;padding:.75rem;display:grid}.dt-actions{align-content:start;gap:.35rem;display:grid}.dt-action{appearance:none;font:inherit;color:#33414a;cursor:pointer;text-align:center;background:#e4ebf3;border:0;border-radius:12px;place-items:center;padding:.72rem .4rem;font-size:.74rem;font-weight:750;text-decoration:none;display:grid}.dt-action.accent{color:#5f3dc4;background:#ebe4ff}.dt-action:disabled{opacity:.45;cursor:not-allowed}.dt-ticket,.dt-menu{min-height:0;overflow:hidden}.dt-ticket{grid-template-rows:auto auto auto 1fr auto auto;padding:.75rem;display:grid}.dt-menu{grid-template-rows:1fr auto;gap:.5rem;padding:.65rem;display:grid}.dt-ticket-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.dt-ticket-head h2{font-family:var(--font-display);margin:0 0 .35rem;font-size:1.35rem}.dt-ticket-head h2 em{color:#5f3dc4;font-style:normal;font-weight:650}.dt-chips{flex-wrap:wrap;gap:.35rem;display:flex}.dt-type{color:var(--muted);text-transform:uppercase;gap:.25rem;font-size:.72rem;font-weight:750;display:grid}.dt-status{background:#eef2f8;border-radius:10px;justify-content:space-between;align-items:center;margin:.55rem 0;padding:.45rem .6rem;font-size:.85rem;display:flex}.dt-status span{color:var(--muted);text-transform:uppercase;font-size:.72rem;font-weight:700;display:block}.dt-plus{color:#fff;cursor:pointer;background:linear-gradient(145deg,#845ef7,#5f3dc4);border:0;border-radius:50%;width:2rem;height:2rem;font-size:1.2rem;font-weight:700}.dt-note{color:#5f3dc4;background:#f3f0ff;border-radius:10px;margin:0 0 .5rem;padding:.4rem .55rem;font-size:.85rem;font-weight:650}.dt-lines{background:#fff;border:1px solid #d5dde8;border-radius:12px;min-height:8rem;overflow:auto}.dt-lines-head{color:#3b5b76;background:#dcebff;grid-template-columns:1fr 4.5rem 5.5rem;gap:.4rem;padding:.45rem .65rem;font-size:.75rem;font-weight:750;display:grid;position:sticky;top:0}.dt-group header{color:#5f3dc4;background:#f7f4ff;border-bottom:1px solid #ebe4ff;padding:.4rem .65rem;font-size:.78rem;font-weight:800}.dt-line{border-bottom:1px solid #eef1f5;grid-template-columns:1fr 4.5rem 5.5rem;align-items:center;gap:.4rem;padding:.55rem .65rem;display:grid}.dt-line-main{align-items:flex-start;gap:.55rem;min-width:0;display:flex}.dt-line-main em{min-width:1.2rem;font-style:normal;font-weight:800}.dt-line-main strong{font-size:.9rem;display:block}.dt-line-main small{color:var(--muted);font-size:.75rem}.dt-line .new{color:#c92a2a;font-size:.8rem;font-weight:750}.dt-line .sent{color:#2b8a3e;font-size:.8rem;font-weight:750}.dt-line-right{justify-items:end;gap:.25rem;display:grid}.dt-line-right strong{font-size:.9rem}.dt-totals{border-top:1px solid var(--line);gap:.3rem;margin-top:.55rem;padding-top:.55rem;display:grid}.dt-totals div{justify-content:space-between;font-size:.9rem;display:flex}.dt-totals .grand{font-family:var(--font-display);color:#c92a2a;margin-top:.15rem;font-size:1.25rem;font-weight:800}.dt-ticket-actions{grid-template-columns:1fr 1fr;gap:.5rem;margin-top:.65rem;display:grid}.dt-keypad-btn{appearance:none;font:inherit;cursor:pointer;background:linear-gradient(#f5f7fb,#e4ebf3);border:1px solid #c5d0de;border-radius:12px;padding:.7rem;font-weight:750}.dt-foot{color:#dfe5ea;background:#2c333a;justify-content:space-between;align-items:center;gap:.75rem;padding:.55rem 1rem;display:flex}.dt-foot-link{color:#dfe5ea;font-weight:650;text-decoration:none}.dt-foot-home{color:#fff;background:linear-gradient(#2aa35f,#1b8a4c);border-radius:999px;padding:.45rem .9rem;font-weight:750;text-decoration:none}.dt-keypad-modal{width:min(360px,94vw)}.dt-pad{grid-template-columns:repeat(3,1fr);gap:.4rem;margin:.75rem 0;display:grid}.dt-pad button{appearance:none;font:inherit;color:#fff;cursor:pointer;background:#3a4650;border:0;border-radius:10px;padding:.85rem;font-size:1.1rem;font-weight:750}@media (width<=980px){.dt-shell{grid-template-columns:1fr}.dt-actions{grid-template-columns:repeat(auto-fill,minmax(7.5rem,1fr))}}.app-shell:has(.zk-dl) .main-stage{background:#eef3f0;flex-direction:column;max-width:none;min-height:100%;padding:0;display:flex;overflow:auto}.zk-dl{background:radial-gradient(700px 320px at 0 0,#1971c21f,#0000 55%),radial-gradient(560px 280px at 100% 10%,#1f6b5c14,#0000 50%),linear-gradient(#eef3f0 0%,#e6ece8 100%);flex-direction:column;flex:1 0 auto;width:100%;min-width:0;max-width:100%;height:auto;min-height:100%;display:flex;overflow:visible}.zk-dl>.zk-hub-foot{z-index:5;flex-shrink:0;margin-top:auto;position:sticky;bottom:0}.zk-dl .zk-dash-header{min-width:0;margin:.55rem .8rem 0}.zk-dl .zk-dash-brand{color:inherit;min-width:0;text-decoration:none}.dl-page-inner{flex-direction:column;flex:1 0 auto;gap:.55rem;width:auto;min-width:0;max-width:100%;margin:.55rem .8rem;padding-bottom:.85rem;display:flex;overflow:visible}.dl-ico{width:1.05rem;height:1.05rem;display:block}.dl-toolbar{color:#f4faff;background:linear-gradient(135deg,#0b4f7a 0%,#1971c2 52%,#339af0 100%);border-radius:14px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.85rem;padding:.7rem .95rem;display:flex;box-shadow:0 8px 20px #0b4f7a33}.dl-toolbar-brand{align-items:center;gap:.7rem;min-width:0;display:flex}.dl-toolbar-brand h1{font-family:var(--font-display);letter-spacing:.01em;margin:0;font-size:1.2rem;font-weight:750}.dl-toolbar-brand p{opacity:.88;margin:.1rem 0 0;font-size:.78rem}.dl-hero-mark{background:#ffffff29;border-radius:12px;flex-shrink:0;place-items:center;width:2.4rem;height:2.4rem;display:grid}.dl-hero-mark .dl-ico{width:1.25rem;height:1.25rem}.dl-toolbar-stats{flex-wrap:wrap;gap:.55rem;display:flex}.dl-toolbar-stats span{background:#ffffff24;border-radius:999px;align-items:baseline;gap:.25rem;padding:.35rem .6rem;font-size:.78rem;display:inline-flex}.dl-toolbar-stats strong{font-size:.95rem}.dl-hero-actions{flex-wrap:wrap;align-items:flex-end;gap:.45rem;display:flex}.dl-link-btn{appearance:none;color:#fff;font:inherit;cursor:pointer;background:#ffffff1a;border:1px solid #ffffff59;border-radius:10px;padding:.45rem .75rem;font-weight:700;text-decoration:none}.dl-new-btn{align-items:center;gap:.35rem;display:inline-flex}.dl-pill{background:#ffffff2e;border-radius:999px;align-items:center;padding:.3rem .65rem;font-size:.75rem;font-weight:750;display:inline-flex}.dl-pill.closed{color:#9c3b00;background:#fff4e6}.dl-rider-strip{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.dl-rider-empty{color:var(--muted);font-size:.82rem;font-weight:650}.dl-rider-chip{border:1px solid var(--line);background:#fff;border-radius:999px;align-items:baseline;gap:.35rem;padding:.35rem .7rem;font-size:.78rem;display:inline-flex}.dl-rider-chip strong{font-weight:750}.dl-rider-chip em{color:var(--muted);font-size:.72rem;font-style:normal;font-weight:700}.dl-rider-chip.available{box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--teal) 35%, transparent)}@supports not (color: color-mix(in srgb, red 50%, blue)){.dl-rider-chip.available{box-shadow:inset 0 0 0 1px rgba(31, 107, 92, 0.35)}}.dl-rider-chip.available em{color:var(--teal)}.dl-rider-chip.on-route{background:#f1f6fb;box-shadow:inset 0 0 0 1px #1971c266}.dl-rider-chip.on-route em{color:#1864ab}.dl-toolbar-stats span.warn{color:#9c3b00;background:#fff4e6f2}.dl-kanban{grid-template-columns:repeat(5,minmax(0,1fr));align-items:stretch;gap:.55rem;min-height:0;display:grid}.dl-col-new{border-top:3px solid #868e96}.dl-col-preparing{border-top:3px solid #e67700}.dl-col-ready{border-top:3px solid var(--teal)}.dl-col-dispatched{border-top:3px solid #1971c2}.dl-col-delivered{border-top:3px solid #c92a2a}.dl-status.rose{color:#c92a2a;background:#fff5f5}.dl-pay{letter-spacing:.02em;text-transform:uppercase;border-radius:6px;align-items:center;padding:.12rem .4rem;font-size:.7rem;font-weight:800;display:inline-flex}.dl-pay.unpaid{color:#c92a2a;background:#fff5f5;box-shadow:inset 0 0 0 1px #c92a2a40}.dl-order-card.unpaid{box-shadow:inset 0 0 0 1px #c92a2a38,0 4px 12px #14283c0d}.dl-order-action.settle{color:#a61e1e;background:#faeaea}.dl-order-action.settle:hover{background:#f6dddd}@media (width<=1200px){.dl-kanban{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=1100px){.dl-kanban{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=820px){.dl-kanban,.dl-work-body{grid-template-columns:1fr}.dl-toolbar-stats{display:none}}.dl-col{border:1px solid color-mix(in srgb, var(--line) 80%, #c9d7e2);background:#ffffffb8;border-radius:14px;flex-direction:column;min-height:280px;display:flex;overflow:hidden}@supports not (color: color-mix(in srgb, red 50%, blue)){.dl-col{border:1px solid #d3dcda}}.dl-col-head{border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:flex-start;gap:.5rem;padding:.7rem .75rem .55rem;display:flex}.dl-col-head h2{font-size:.95rem;font-family:var(--font-display);margin:0}.dl-col-head p{color:var(--muted);margin:.15rem 0 0;font-size:.72rem}.dl-col-body{flex-direction:column;flex:1;gap:.5rem;min-height:0;padding:.55rem;display:flex;overflow:auto}.dl-col-empty{text-align:center;color:var(--muted);margin:auto;padding:1.2rem .5rem;font-size:.82rem;font-weight:650}.dl-order-card{border:1px solid var(--line);background:#fff;border-radius:12px;gap:.35rem;display:grid;overflow:hidden;box-shadow:0 4px 12px #14283c0d}.dl-order-card.selected{box-shadow:inset 0 0 0 1.5px #1971c2,0 6px 14px #1971c21f}.dl-order-main{appearance:none;text-align:left;cursor:pointer;font:inherit;color:inherit;background:0 0;border:0;gap:.2rem;width:100%;padding:.7rem .75rem .45rem;display:grid}.dl-order-top{justify-content:space-between;align-items:center;gap:.4rem;display:flex}.dl-order-top strong{font-size:.95rem;font-weight:800}.dl-status{border-radius:999px;align-items:center;padding:.15rem .45rem;font-size:.68rem;font-style:normal;font-weight:750;display:inline-flex}.dl-status.muted{color:#495057;background:#f1f3f5}.dl-status.amber{color:#e67700;background:#fff4e6}.dl-status.teal{background:color-mix(in srgb, var(--teal) 14%, #fff);color:var(--teal)}@supports not (color: color-mix(in srgb, red 50%, blue)){.dl-status.teal{background:#e0eae8}}.dl-status.blue{color:#1864ab;background:#e7f5ff}.dl-order-name{font-size:.88rem;font-weight:750}.dl-order-meta,.dl-order-addr{color:var(--muted);font-size:.75rem;line-height:1.3}.dl-order-addr{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.dl-order-foot{justify-content:space-between;align-items:center;margin-top:.25rem;font-size:.85rem;font-weight:750;display:flex}.dl-pay.prepaid{color:#087f5b;background:#e6fcf5;box-shadow:inset 0 0 0 1px #087f5b40}.dl-channel{color:#1864ab;background:#e7f5ff;border-radius:6px;padding:.12rem .4rem;font-size:.7rem;font-weight:700}.dl-channel.tone-direct{color:#495057;background:#f1f3f5}.dl-channel.tone-hs{color:#e8590c;background:#fff4e6}.dl-channel.tone-jahez{color:#2b8a3e;background:#ebfbee}.dl-channel.tone-keeta{color:#c2255c;background:#fff0f6}.dl-channel.tone-chefz{color:#5f3dc4;background:#f3f0ff}.dl-channel.tone-other{color:#1864ab;background:#e7f5ff}.dl-channel-pick{text-transform:uppercase;color:#ffffffd9;gap:.15rem;min-width:10.5rem;font-size:.68rem;font-weight:750;display:grid}.dl-channel-pick .mesa-select-trigger{min-height:2.2rem;color:var(--ink);background:#fff;font-weight:700}.dl-channel-inline{text-transform:uppercase;color:var(--muted);gap:.15rem;min-width:9.5rem;font-size:.68rem;font-weight:750;display:inline-grid}.dl-order-rider{color:var(--ink-soft);font-size:.72rem;font-weight:700}.dl-otp{letter-spacing:.06em;color:#5c4800;background:#fff3bf;border-radius:6px;align-items:center;margin-top:.15rem;padding:.15rem .45rem;font-size:.75rem;font-weight:800;display:inline-flex}.dl-ext-id{color:var(--muted);font-size:.7rem;font-weight:700}.rider-otp{color:#5c4800;text-align:center;background:#fff3bf;border-radius:10px;margin:.25rem 0 0;padding:.45rem .65rem;font-size:.9rem;font-weight:700}.rider-otp strong{letter-spacing:.2em;font-size:1.25rem}.zk-dl-api .zk-company-body{flex:1}.zk-dl-api-main{gap:.9rem;min-width:0;display:grid}.zk-dl-api-row{grid-template-columns:minmax(0,1fr) auto;align-items:stretch;gap:.55rem;display:grid}.zk-dl-api-row .zk-co-btn{white-space:nowrap}.zk-dl-api-note{color:var(--muted);margin:0;font-size:.85rem;font-weight:600}.zk-dl-api-link{appearance:none;color:var(--teal);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-weight:750}.zk-dl-api-sample{color:#d9ebe4;white-space:pre-wrap;background:#1a2a26;border-radius:12px;margin:.65rem 0 0;padding:.75rem .85rem;font-size:.78rem;line-height:1.45;overflow:auto}.zk-dl-api-channels{gap:.75rem;display:grid}.zk-dl-api-ch{border:1px solid var(--line);background:var(--surface-2);border-radius:14px;gap:.75rem;padding:.85rem;display:grid}.zk-dl-api-ch-top{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.zk-dl-api-ch-top strong{font-size:1rem;display:block}.zk-dl-api-ch-top em{color:var(--muted);margin-top:.15rem;font-size:.82rem;font-style:normal;font-weight:650;display:block}.zk-dl-api-log{gap:.55rem;margin:0;padding:0;list-style:none;display:grid}.zk-dl-api-log li{background:var(--surface-2);border:1px solid var(--line);border-radius:12px;gap:.2rem;padding:.7rem .8rem;display:grid}.zk-dl-api-log strong{color:var(--muted);font-size:.78rem}.zk-dl-api-log span{color:var(--ink);font-size:.9rem}@media (width<=860px){.zk-dl-api .zk-co-split,.zk-dl-api-row{grid-template-columns:1fr}}.dl-pending-accept{color:#92400e;background:#fef3c7;border-radius:6px;margin-top:.2rem;padding:.15rem .5rem;font-size:.72rem;font-weight:800;display:inline-block}.dl-order-actions-row{border-top:1px solid var(--line);grid-template-columns:1fr 1fr;gap:0;display:grid}.dl-order-action.accept{background:color-mix(in srgb, var(--ok) 12%, #fff);color:var(--ok)}@supports not (color: color-mix(in srgb, red 50%, blue)){.dl-order-action.accept{background:#e4efe9}}.dl-order-action.reject{background:color-mix(in srgb, var(--danger) 10%, #fff);color:var(--danger);border-left:1px solid var(--line)}@supports not (color: color-mix(in srgb, red 50%, blue)){.dl-order-action.reject{background:#f8e9e8}}.dl-order-action{appearance:none;border:0;border-top:1px solid var(--line);color:#0b4f7a;font:inherit;cursor:pointer;background:#edf4fa;padding:.5rem .75rem;font-size:.8rem;font-weight:750}.dl-order-action:hover{background:#dfebf6}.dl-order-action:disabled{opacity:.45;cursor:not-allowed}.dl-chip{color:var(--ink-soft);background:#f1f3f5;border-radius:999px;align-items:center;gap:.25rem;padding:.2rem .5rem;font-size:.72rem;font-weight:750;display:inline-flex}.dl-chip.soft{color:#0b4f7a;background:#edf4fa}.dl-work-panel{border:1px solid var(--line);background:#fff;border-radius:14px;flex-direction:column;gap:.55rem;min-height:420px;padding:.75rem;display:flex}.dl-work-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.dl-work-head h2{font-family:var(--font-display);margin:.35rem 0 .25rem;font-size:1.15rem}.dl-work-head h2 em{color:var(--muted);font-size:.9rem;font-style:normal;font-weight:650}.dl-back{appearance:none;color:var(--ink-soft);font:inherit;cursor:pointer;background:#f1f3f5;border:0;border-radius:8px;align-items:center;gap:.25rem;padding:.3rem .55rem;font-size:.78rem;font-weight:700;display:inline-flex}.dl-work-tags{flex-wrap:wrap;align-items:center;gap:.35rem;display:flex}.dl-work-addr{color:var(--muted);margin:.35rem 0 0;font-size:.82rem}.dl-work-tools{flex-wrap:wrap;gap:.35rem;display:flex}.dl-tool{appearance:none;border:1px solid var(--line);font:inherit;cursor:pointer;color:var(--ink-soft);background:#fff;border-radius:10px;align-items:center;gap:.3rem;padding:.4rem .65rem;font-size:.8rem;font-weight:700;display:inline-flex}.dl-tool.danger{color:#c92a2a;border-color:color-mix(in srgb, #c92a2a 30%, var(--line))}@supports not (color: color-mix(in srgb, red 50%, blue)){.dl-tool.danger{border-color:#d1a7a4}}.dl-note{color:#5c4800;background:#fff9db;border-radius:8px;margin:0;padding:.45rem .65rem;font-size:.82rem;font-weight:650}.dl-work-body{flex:1;grid-template-columns:minmax(0,1.35fr) minmax(280px,.9fr);gap:.75rem;min-height:0;display:grid}.dl-menu{border:1px solid var(--line);background:#fafbfc;border-radius:12px;min-height:0;overflow:auto}.dl-order{border:1px solid var(--line);background:#fff;border-radius:12px;flex-direction:column;gap:.5rem;min-height:0;padding:.65rem;display:flex}.dl-panel-head{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.dl-panel-head h2{font-size:.95rem;font-family:var(--font-display);margin:0}.dl-lines{flex-direction:column;flex:1;gap:.4rem;min-height:120px;display:flex;overflow:auto}.dl-empty-inline{text-align:center;color:var(--muted);place-items:center;gap:.25rem;padding:1.5rem .75rem;display:grid}.dl-empty-inline strong{color:var(--ink)}.dl-totals{border-top:1px solid var(--line);gap:.3rem;padding-top:.45rem;display:grid}.dl-totals div{justify-content:space-between;font-size:.85rem;display:flex}.dl-totals .grand{padding-top:.25rem;font-size:1rem;font-weight:800}.dl-actions-row{flex-wrap:wrap;gap:.4rem;display:flex}.dl-actions-row .btn{align-items:center;gap:.3rem;display:inline-flex}.dl-cancel-btn{color:#c92a2a!important}.dl-rider-modal{width:min(420px,94vw)}.dl-rider-list{gap:.4rem;max-height:240px;margin-bottom:.75rem;display:grid;overflow:auto}.dl-rider-list button{appearance:none;border:1px solid var(--line);text-align:left;font:inherit;cursor:pointer;background:#fff;border-radius:10px;gap:.15rem;padding:.65rem .75rem;display:grid}.dl-accept-banner{background:#fef3c7;border:1px solid #fcd34d;border-radius:14px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin:0 1rem .75rem;padding:.85rem 1rem;display:flex}.dl-accept-banner strong{color:#92400e;font-size:.95rem;display:block}.dl-accept-banner span{color:#78350f;font-size:.82rem;font-weight:700}.dl-accept-actions{flex-wrap:wrap;gap:.5rem;display:flex}.zk-dl-api-ch-actions{flex-wrap:wrap;align-items:center;gap:.65rem;display:flex}.zk-courier{background:linear-gradient(180deg, #e8eeea 0%, var(--surface) 48%);flex-direction:column;min-height:100%;display:flex}.zk-courier>.zk-hub-foot{margin-top:auto}.zk-courier-head{gap:.5rem;padding:1rem 1.25rem .5rem;display:grid}.zk-courier-head h1{margin:0;font-size:1.35rem;font-weight:800}.zk-courier-head p{color:var(--muted);margin:0;font-size:.88rem}.zk-courier-search{min-height:var(--touch-min);border:1px solid var(--line);font:inherit;background:var(--panel);border-radius:12px;margin-top:.35rem;padding:.65rem .85rem}.zk-courier-stats{color:var(--muted);gap:1rem;padding:0 1.25rem .65rem;font-size:.85rem;font-weight:700;display:flex}.zk-courier-list{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:.75rem;padding:0 1.25rem 1rem;display:grid}.zk-courier-empty{text-align:center;color:var(--muted);padding:2rem;font-weight:650}.zk-courier-card{background:var(--panel);border:1px solid var(--line);border-radius:16px;gap:.35rem;padding:1rem;display:grid;box-shadow:0 8px 20px #12201c0f}.zk-courier-card.pending{background:#fffbeb;border-color:#fcd34d}.zk-courier-card-top{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.zk-courier-name{margin:0;font-size:1rem;font-weight:800}.zk-courier-ext,.zk-courier-meta{color:var(--muted);margin:0;font-size:.82rem;font-weight:650}.zk-courier-code{color:#5c4800;text-align:center;background:#fff3bf;border-radius:10px;margin:.25rem 0 0;padding:.45rem .6rem;font-size:.88rem;font-weight:700}.zk-courier-code strong{letter-spacing:.15em;font-size:1.2rem}.zk-courier-actions{flex-wrap:wrap;gap:.5rem;margin-top:.5rem;display:flex}.zk-courier-done{color:var(--muted);font-size:.85rem;font-weight:700}.dl-rider-list button.selected{color:#fff;background:#1971c2;border-color:#1971c2}.dl-rider-list button span{opacity:.85;font-size:.8rem}.dl-fee-row{grid-template-columns:120px 1fr;align-items:center;gap:.5rem;margin-bottom:.85rem;font-weight:700;display:grid}.dl-rider-actions{justify-content:flex-end;gap:.45rem;display:flex}.app-shell.counter-mode:has(.zk-rider) .main-stage{background:#e8eef3;max-width:none;padding:0;overflow:auto}.zk-rider{background:radial-gradient(520px 240px at 0 0,#1971c224,#0000 55%),linear-gradient(#eef3f0 0%,#e6ece8 100%);flex-direction:column;gap:.75rem;max-width:480px;min-height:100%;margin:0 auto;padding:.85rem .85rem 1.5rem;display:flex}.rider-top{color:#fff;background:linear-gradient(135deg,#0b4f7a 0%,#1971c2 55%,#339af0 100%);border-radius:14px;justify-content:space-between;align-items:flex-start;gap:.75rem;padding:.85rem 1rem;display:flex;box-shadow:0 8px 18px #0b4f7a33}.rider-top h1{font-family:var(--font-display);margin:0;font-size:1.25rem}.rider-top p{opacity:.9;margin:.2rem 0 0;font-size:.8rem}.rider-top-actions{flex-wrap:wrap;justify-content:flex-end;gap:.35rem;display:flex}.rider-link{appearance:none;color:#fff;font:inherit;cursor:pointer;background:#ffffff1f;border:1px solid #ffffff59;border-radius:10px;padding:.4rem .7rem;font-size:.8rem;font-weight:700;text-decoration:none}.rider-link.ghost{background:0 0}.rider-card{border:1px solid var(--line);background:#fff;border-radius:14px;gap:.75rem;padding:1rem;display:grid}.rider-pin-label{gap:.35rem;font-size:.85rem;font-weight:750;display:grid}.rider-pin{font:inherit;letter-spacing:.35em;text-align:center;border:1px solid var(--line);border-radius:12px;padding:.75rem;font-size:1.6rem;font-weight:800}.rider-btn{width:100%;min-height:3rem;font-size:1rem;font-weight:750}.rider-error{color:#c92a2a;margin:0;font-size:.85rem;font-weight:700}.rider-pick h2{color:var(--muted);margin:0 0 .5rem;font-size:.9rem}.rider-pick-list{gap:.45rem;display:grid}.rider-pick-btn{appearance:none;border:1px solid var(--line);text-align:left;font:inherit;cursor:pointer;background:#fff;border-radius:12px;gap:.1rem;padding:.75rem .85rem;display:grid}.rider-pick-btn strong{font-size:1rem}.rider-pick-btn span{color:var(--muted);font-size:.82rem}.rider-pick-btn em{color:#1864ab;font-size:.75rem;font-style:normal;font-weight:750}.rider-empty{border:1px solid var(--line);text-align:center;color:var(--muted);background:#fff;border-radius:14px;gap:.35rem;padding:2rem 1rem;display:grid}.rider-empty strong{color:var(--ink);font-size:1.05rem}.rider-orders{gap:.75rem;display:grid}.rider-order{border:1px solid var(--line);background:#fff;border-radius:14px;gap:.4rem;padding:.9rem;display:grid;box-shadow:0 6px 16px #14283c0f}.rider-order.col-dispatched{box-shadow:inset 0 0 0 1.5px #1971c2,0 6px 16px #1971c21a}.rider-order.col-delivered{box-shadow:inset 0 0 0 1.5px #c92a2a66}.rider-order-head{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.rider-order-head strong{font-size:1.1rem;font-weight:800}.rider-badge{border-radius:999px;padding:.2rem .5rem;font-size:.72rem;font-weight:750}.rider-badge.ready{background:color-mix(in srgb, var(--teal) 14%, #fff);color:var(--teal)}@supports not (color: color-mix(in srgb, red 50%, blue)){.rider-badge.ready{background:#e0eae8}}.rider-badge.dispatched{color:#1864ab;background:#e7f5ff}.rider-badge.delivered{color:#c92a2a;background:#fff5f5}.rider-order h2{margin:0;font-size:1.05rem}.rider-addr{color:var(--ink-soft);margin:0;font-size:.88rem;line-height:1.35}.rider-phone{color:#0b4f7a;font-size:.95rem;font-weight:750;text-decoration:none}.rider-meta{justify-content:space-between;align-items:center;margin-top:.2rem;font-weight:800;display:flex}.rider-unpaid{text-transform:uppercase;color:#c92a2a;background:#fff5f5;border-radius:6px;padding:.15rem .45rem;font-size:.72rem;font-weight:800}.rider-lines{color:var(--muted);margin:.25rem 0 0;padding-left:1.1rem;font-size:.82rem}.rider-actions{margin-top:.35rem}.rider-done{color:#a61e1e;text-align:center;background:#fff5f5;border-radius:10px;margin:0;padding:.65rem .75rem;font-size:.88rem;font-weight:700}.zk-acc{background:radial-gradient(700px 320px at 100% 0,#1f6b5c1a,#0000 55%),linear-gradient(#eef3f0 0%,#e6ece8 100%);grid-template-rows:auto 1fr auto;min-height:100vh;display:grid}.zk-acc-top{color:#fff;background:linear-gradient(#2aa35f,#1b8a4c);justify-content:space-between;align-items:center;padding:.7rem 1.1rem;display:flex}.zk-acc-top strong{font-family:var(--font-display)}.zk-acc-top-right{align-items:center;gap:.75rem;display:flex}.zk-acc-close{color:#fff;background:#ffffff2e;border-radius:50%;place-items:center;width:2rem;height:2rem;text-decoration:none;display:grid}.zk-acc-shell{grid-template-columns:minmax(180px,220px) 1fr;min-height:0;display:grid}.zk-acc-side{background:#edf1ef;border-right:1px solid #d5ddd8;align-content:start;gap:1rem;padding:1rem .75rem;display:grid}.zk-acc-admin{border-bottom:1px solid #d5ddd8;align-items:center;gap:.65rem;padding:.35rem .4rem .85rem;display:flex}.zk-acc-avatar{color:#fff;background:linear-gradient(145deg,#2aa35f,#167a43);border-radius:50%;place-items:center;width:2.5rem;height:2.5rem;font-weight:800;display:grid}.zk-acc-admin strong{font-size:.95rem;display:block}.zk-acc-admin small{color:var(--ink-soft);font-size:.78rem}.zk-acc-side nav{gap:.25rem;display:grid}.zk-acc-side nav button{appearance:none;text-align:left;font:inherit;color:var(--ink-soft);cursor:pointer;background:0 0;border:0;border-radius:12px;padding:.7rem .75rem;font-weight:700}.zk-acc-side nav button.active{color:#fff;background:linear-gradient(#2aa35f,#1b8a4c)}.zk-acc-main{align-content:start;gap:1.25rem;padding:1.25rem 1.5rem;display:grid}.zk-acc-main h1{text-align:center;font-family:var(--font-display);margin:0;font-size:1.6rem}.zk-acc-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;width:100%;max-width:960px;margin:1rem auto 0;display:grid}.zk-acc-card{min-height:12rem;color:var(--ink);background:linear-gradient(165deg,#eef3f7,#e2eaf1);border:1px solid #cfd9e2;border-radius:18px;align-content:center;justify-items:center;gap:.5rem;padding:1.4rem 1rem;text-decoration:none;transition:transform .15s,box-shadow .15s;display:grid;box-shadow:0 12px 28px #12202814}.zk-acc-card:hover{transform:translateY(-3px);box-shadow:0 16px 32px #1220281f}.zk-acc-card-icon{color:#1864ab;background:#fff;border-radius:16px;place-items:center;width:4.2rem;height:4.2rem;display:grid;box-shadow:inset 0 0 0 1px #d5e2ec}.zk-acc-card-icon svg{width:2.4rem;height:2.4rem}.zk-acc-card strong{text-align:center;font-size:1.05rem}.zk-acc-card small{color:var(--ink-soft);text-align:center;font-size:.82rem}.zk-acc-foot{background:#2c333a;justify-content:space-between;align-items:center;gap:.75rem;padding:.55rem 1rem;display:flex}.zk-acc-home{color:#dfe5ea;border-radius:999px;padding:.4rem .75rem;font-weight:650;text-decoration:none}.zk-acc-home.primary{color:#fff;background:linear-gradient(#2aa35f,#1b8a4c);font-weight:750}.zk-et{background:radial-gradient(700px 320px at 0 0,#1f8a4c1a,#0000 55%),linear-gradient(#eef3f0 0%,#e6ece8 100%);grid-template-rows:auto auto 1fr auto;min-height:100vh;display:grid}.zk-et-top{color:#fff;background:linear-gradient(#2aa35f,#1b8a4c);justify-content:space-between;align-items:center;padding:.7rem 1.1rem;display:flex}.zk-et-top strong{font-family:var(--font-display)}.zk-et-top-right{align-items:center;gap:.75rem;display:flex}.zk-et-close{color:#fff;background:#ffffff2e;border-radius:50%;place-items:center;width:2rem;height:2rem;text-decoration:none;display:grid}.zk-et-bar{background:#fff;border-radius:16px;grid-template-columns:minmax(4.5rem,auto) minmax(0,1fr) minmax(4.5rem,auto);align-items:center;gap:.45rem;margin:.85rem 1rem 0;padding:.55rem .75rem;display:grid;position:relative;overflow:visible;box-shadow:0 10px 24px #12201c14}.zk-et-bar h1{text-align:center;font-family:var(--font-display);text-overflow:ellipsis;white-space:nowrap;grid-column:2;justify-self:center;max-width:100%;margin:0;font-size:1.25rem;font-weight:800;overflow:hidden}.zk-et-bar-actions{grid-column:3;justify-self:end;align-items:center;gap:.45rem;min-width:0;display:flex}.zk-et-bar-actions .mesa-hub-add,.zk-et-bar-actions .zk-et-add{grid-column:auto;justify-self:auto}.zk-et-starter{appearance:none;color:var(--ink-soft);font:inherit;cursor:pointer;white-space:nowrap;background:#f4f7f5;border:1px solid #c5d0c8;border-radius:999px;padding:.4rem .75rem;font-size:.78rem;font-weight:700}.zk-et-body{grid-template-columns:minmax(220px,.9fr) minmax(300px,1.1fr);gap:.85rem;min-height:0;padding:.85rem 1rem 1rem;display:grid}.zk-et-list{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));align-content:start;gap:.65rem;min-height:0;display:grid;overflow:auto}.zk-et-tile{appearance:none;text-align:left;cursor:pointer;font:inherit;background:linear-gradient(165deg,#fff,#f3f7f5);border:1px solid #d5ddd8;border-radius:14px;gap:.25rem;min-height:5.5rem;padding:.9rem .75rem;display:grid;position:relative}.zk-et-tile strong{font-size:.95rem}.zk-et-tile small{color:var(--ink-soft);font-size:.78rem}.zk-et-tile.selected{border-color:#2aa35f;box-shadow:0 0 0 2px #2aa35f40}.zk-et-tile.off{opacity:.55}.zk-et-tile-badge{color:#1b8a4c;background:#2aa35f24;border-radius:999px;justify-self:start;margin-top:.15rem;padding:.15rem .45rem;font-size:.68rem;font-weight:700}.zk-et-tile-badge.off{color:var(--ink-soft);background:#e8ece9}.zk-et-form-panel{background:#fff;border:1px solid #d5ddd8;border-radius:16px;align-content:start;gap:.75rem;padding:1.1rem 1.15rem;display:grid;box-shadow:0 12px 28px #12201c14}.zk-et-form-panel h2{font-family:var(--font-display);margin:0 0 .25rem;font-size:1.15rem}.zk-et-form-panel label{gap:.35rem;font-size:.9rem;font-weight:700;display:grid}.zk-et-desc{resize:vertical;min-height:7rem;font:inherit}.zk-et-status{max-width:220px}.zk-et-actions{flex-wrap:wrap;gap:.5rem;margin-top:.5rem;display:flex}.zk-et-form-head{gap:.2rem;display:grid}.zk-et-kicker{letter-spacing:.04em;text-transform:uppercase;color:var(--ink-soft);margin:0;font-size:.72rem;font-weight:700}.zk-et-action{appearance:none;font:inherit;cursor:pointer;color:var(--ink);background:linear-gradient(#f4f6f5,#e4eae6);border:1px solid #c5d0c8;border-radius:12px;padding:.75rem 1.1rem;font-weight:750}.zk-et-action.primary{color:#fff;background:#1f8a4c;border-color:#1f8a4c}.zk-et-action.danger{color:#c92a2a;background:linear-gradient(#ffe3e3,#ffc9c9);border-color:#ffa8a8}.zk-et-empty{color:var(--ink-soft);grid-column:1/-1;align-content:start;justify-items:start;gap:.45rem;padding:1.25rem 1rem;display:grid}.zk-et-empty.panel{text-align:center;place-content:center;justify-items:center;min-height:12rem;padding:1.25rem}.zk-et-empty strong{color:var(--ink);font-size:1rem}.zk-et-empty-actions{flex-wrap:wrap;gap:.5rem;margin-top:.35rem;display:flex}.zk-et-foot{background:#2c333a;justify-content:space-between;align-items:center;gap:.75rem;padding:.55rem 1rem;display:flex}.zk-et-home{color:#dfe5ea;border-radius:999px;padding:.4rem .75rem;font-weight:650;text-decoration:none}.zk-et-home.primary{color:#fff;background:linear-gradient(#2aa35f,#1b8a4c);font-weight:750}@media (width<=900px){.zk-acc-shell,.zk-acc-cards,.zk-et-body{grid-template-columns:1fr}}.app-shell:has(.zk-prn) .main-stage{overflow:hidden}.zk-prn{background:radial-gradient(700px 320px at 0 0,#1f8a4c1a,#0000 55%),linear-gradient(#eef3f0 0%,#e6ece8 100%);grid-template-rows:auto auto auto minmax(0,1fr) auto;height:100%;min-height:0;display:grid}.zk-prn-bar{background:#fff;border-radius:16px;grid-template-columns:minmax(4.5rem,auto) minmax(0,1fr) minmax(4.5rem,auto);align-items:center;gap:.45rem;margin:.75rem 1rem 0;padding:.55rem .85rem;display:grid;box-shadow:0 10px 24px #12201c14}.zk-prn-bar-copy{text-align:center;grid-column:2;justify-self:center;min-width:0;max-width:100%}.zk-prn-bar .mesa-hub-add,.zk-prn-bar .zk-et-add{grid-area:1/3;place-self:center end}.zk-prn-bar h1{font-family:var(--font-display);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:1.25rem;font-weight:800;overflow:hidden}.zk-prn-bar p{color:var(--ink-soft);margin:.15rem 0 0;font-size:.78rem;line-height:1.3}.zk-prn-sections{grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem;margin:.65rem 1rem 0;display:grid}.zk-prn-section-card{appearance:none;text-align:left;cursor:pointer;font:inherit;color:var(--ink);background:#fff;border:1px solid #d5ddd8;border-radius:14px;gap:.3rem;padding:.85rem .9rem;transition:border-color .14s,box-shadow .14s;display:grid;box-shadow:0 8px 18px #12201c0d}.zk-prn-section-card:hover{border-color:#9fc9ae}.zk-prn-section-card.on{background:#f3fbf6;border-color:#1f8a4c;box-shadow:0 0 0 2px #2aa35f38}.zk-prn-section-card-top{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.zk-prn-section-card strong{font-size:.95rem;font-weight:800}.zk-prn-section-card small{color:var(--ink-soft);font-size:.76rem;line-height:1.3}.zk-prn-gallery-head{margin-bottom:.15rem}.zk-prn-gallery-head h2{font-family:var(--font-display);margin:0;font-size:1.1rem;font-weight:800}.zk-prn-gallery-head p{color:var(--ink-soft);margin:.2rem 0 0;font-size:.8rem;line-height:1.35}.zk-prn-body{min-height:0;padding:.75rem 1rem .85rem;overflow:auto}.zk-prn-gallery{align-content:start;gap:.75rem;display:grid}.zk-prn-cards{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.75rem;display:grid}.zk-prn-card{appearance:none;text-align:left;font:inherit;color:var(--ink);background:linear-gradient(165deg,#fff,#f4f7f5);border:1px solid #d5ddd8;border-radius:16px;gap:.35rem;padding:1rem .95rem;display:grid;box-shadow:0 10px 22px #12201c0f}.zk-prn-card.off{opacity:.6}.zk-prn-card-top{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.zk-prn-card strong{font-size:1rem;font-weight:800}.zk-prn-card small{color:var(--ink-soft);font-size:.8rem}.zk-prn-card-actions{flex-wrap:wrap;gap:.4rem;margin-top:.45rem;display:flex}.zk-prn-card-btn{appearance:none;font:inherit;cursor:pointer;color:var(--ink);background:#fff;border:1px solid #c5d0c8;border-radius:10px;padding:.4rem .75rem;font-size:.78rem;font-weight:750}.zk-prn-card-btn.primary{color:#fff;background:#1f8a4c;border-color:#1f8a4c}.zk-prn-design.in-use{background:linear-gradient(165deg,#f7fcf9,#eef8f1);border-color:#9fc9ae}.zk-prn-assigned{border-top:1px solid #e4ebe6;gap:.55rem;margin-top:1rem;padding-top:.85rem;display:grid}.zk-prn-assigned h3{letter-spacing:.04em;text-transform:uppercase;color:var(--ink-soft);margin:0;font-size:.78rem;font-weight:800}.zk-prn-badge{color:#1b8a4c;white-space:nowrap;background:#2aa35f24;border-radius:999px;padding:.15rem .45rem;font-size:.68rem;font-weight:700}.zk-prn-badge.muted{color:var(--ink-soft);background:#e8ece9}.zk-prn-hint{color:#8a5a00;background:#fff8e8;border-radius:10px;margin:0;padding:.55rem .75rem;font-size:.78rem;font-weight:650;line-height:1.35}.zk-prn-empty{color:var(--ink-soft);background:#fff;border:1px dashed #cfd8d2;border-radius:14px;align-content:start;justify-items:start;gap:.4rem;padding:1rem .85rem;display:grid}.zk-prn-empty.panel{text-align:center;border:1px solid #d5ddd8;place-content:center;justify-items:center;max-width:28rem;min-height:14rem;margin:2rem auto;padding:2rem 1.5rem;box-shadow:0 12px 28px #12201c0f}.zk-prn-empty strong{color:var(--ink);font-size:1.05rem}.zk-prn-empty-actions{flex-wrap:wrap;gap:.5rem;margin-top:.35rem;display:flex}.zk-prn-modal-backdrop{z-index:80;align-items:center;padding:1rem}.zk-prn-modal{border-radius:18px;flex-direction:column;width:min(560px,100%);max-height:min(90vh,860px);margin:0;padding:0;display:flex;overflow:hidden}.zk-prn-modal-head{border-bottom:1px solid #e6ece8;flex-shrink:0;justify-content:space-between;align-items:flex-start;gap:.75rem;padding:1rem 1.15rem .85rem;display:flex}.zk-prn-modal-head h2{font-family:var(--font-display);margin:.1rem 0 0;font-size:1.2rem}.zk-prn-kicker{letter-spacing:.04em;text-transform:uppercase;color:var(--ink-soft);margin:0;font-size:.7rem;font-weight:700}.zk-prn-modal-body{flex:1;grid-template-columns:minmax(0,1fr);min-height:0;display:grid;overflow:hidden}.zk-prn-editor{align-content:start;gap:.85rem;min-height:0;padding:1rem 1.15rem;display:grid;overflow:auto}.zk-prn-preview-modal{border-radius:18px;flex-direction:column;width:min(420px,100%);max-height:min(90vh,720px);margin:0;padding:0;display:flex;overflow:hidden}.zk-prn-preview-meta{color:var(--ink-soft);margin-top:.2rem;font-size:.78rem;font-weight:650;display:block}.zk-prn-preview-stage{background:#eef3f0;flex:1;justify-content:center;align-items:flex-start;min-height:0;padding:.85rem 1rem 1rem;display:flex;overflow:auto}.zk-prn-preview-stage.modal{min-height:360px}.zk-prn-preview-frame{background:#fff;border:0;border-radius:8px;max-width:100%;height:420px;display:block;box-shadow:0 8px 20px #12201c1a}.zk-prn-section{border-bottom:1px solid #e6ece8;gap:.55rem;padding-bottom:.85rem;display:grid}.zk-prn-section:last-child{border-bottom:0;padding-bottom:0}.zk-prn-section h3{letter-spacing:.05em;text-transform:uppercase;color:var(--ink-soft);margin:0;font-size:.72rem;font-weight:800}.zk-prn-editor label{gap:.3rem;font-size:.8rem;font-weight:600;display:grid}.zk-prn-fields-row{grid-template-columns:1fr 1fr;gap:.65rem;display:grid}.zk-prn-tpl-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.4rem;display:grid}.zk-prn-tpl-card{appearance:none;text-align:left;cursor:pointer;font:inherit;background:#f7faf8;border:1px solid #d5ddd8;border-radius:12px;gap:.15rem;min-height:4.2rem;padding:.55rem .6rem;display:grid}.zk-prn-tpl-card strong{font-size:.84rem}.zk-prn-tpl-card small{color:var(--ink-soft);font-size:.7rem;line-height:1.3}.zk-prn-tpl-card.on{background:#eef8f1;border-color:#1f8a4c;box-shadow:0 0 0 2px #2aa35f33}.zk-prn-size-row{flex-wrap:wrap;gap:.35rem;display:flex}.zk-prn-size-chip{appearance:none;font:inherit;cursor:pointer;color:var(--ink-soft);background:#fff;border:1px solid #c5d0c8;border-radius:999px;padding:.35rem .7rem;font-size:.78rem;font-weight:750}.zk-prn-size-chip.on{color:#fff;background:#1f8a4c;border-color:#1f8a4c}.zk-prn-field-hint{color:var(--ink-soft);margin-top:.15rem;font-size:.7rem;font-weight:500;line-height:1.35;display:block}.zk-prn-actions{background:#f7faf8;border-top:1px solid #e6ece8;flex-wrap:wrap;flex-shrink:0;gap:.45rem;padding:.75rem 1.15rem .95rem;display:flex}.zk-prn-action{appearance:none;font:inherit;cursor:pointer;background:#fff;border:1px solid #c5d0c8;border-radius:10px;padding:.55rem .95rem;font-weight:700}.zk-prn-action.primary{color:#fff;background:#1f8a4c;border-color:#1f8a4c}.zk-prn-action.danger{color:#b42318;background:#fdf2f2;border-color:#e2b4b4}@media (width<=900px){.zk-prn-sections{grid-template-columns:repeat(2,minmax(0,1fr))}.zk-prn-tpl-grid,.zk-prn-fields-row{grid-template-columns:1fr}.zk-prn-bar-copy{text-align:left;grid-column:1/3;justify-self:start}.zk-prn-bar .mesa-hub-add,.zk-prn-bar .zk-et-add{grid-column:3}}.zk-riders{background:radial-gradient(720px 320px at 0% 0%, #1f6b5c1a, transparent 55%), linear-gradient(180deg, #e8eeea 0%, var(--surface) 48%, #e6ece8 100%);grid-template-rows:auto auto minmax(0,1fr) auto;height:100%;min-height:0;display:grid}.zk-riders-bar{background:#fff;border-radius:16px;grid-template-columns:minmax(4.5rem,auto) minmax(0,1fr) minmax(4.5rem,auto);align-items:center;gap:.45rem;margin:.85rem 1rem 0;padding:.55rem .75rem;display:grid;box-shadow:0 10px 24px #12201c14}.zk-riders-bar h1{text-align:center;font-family:var(--font-display);grid-column:2;justify-self:center;margin:0;font-size:1.25rem;font-weight:800}.zk-riders-bar-actions{grid-column:3;justify-self:end;align-items:center;gap:.45rem;display:flex}.zk-riders-bar-actions .mesa-hub-add{grid-column:auto;justify-self:auto}.zk-riders-starter{appearance:none;color:var(--ink-soft);font:inherit;cursor:pointer;white-space:nowrap;background:#f4f7f5;border:1px solid #c5d0c8;border-radius:999px;padding:.4rem .75rem;font-size:.78rem;font-weight:700}.zk-riders-body{grid-template-columns:minmax(260px,.95fr) minmax(300px,1.15fr);gap:.85rem;min-height:0;padding:.85rem 1rem 1rem;display:grid}.zk-riders-list{flex-direction:column;align-content:start;gap:.55rem;min-height:0;padding:.15rem;display:flex;overflow:auto}.zk-rider-card{appearance:none;cursor:pointer;font:inherit;text-align:left;color:var(--ink);background:linear-gradient(165deg,#fff 0%,#f3f7f5 100%);border:1px solid #d5ddd8;border-radius:16px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.75rem;padding:.85rem .95rem;transition:transform .14s,box-shadow .14s,border-color .14s;display:grid;box-shadow:0 8px 18px #12201c0f}.zk-rider-card:hover{border-color:#9fc9ae;transform:translateY(-1px);box-shadow:0 12px 24px #1b78461f}.zk-rider-card.selected{background:linear-gradient(165deg,#f3fbf6 0%,#e8f5ee 100%);border-color:#2aa35f;box-shadow:0 0 0 2px #2aa35f38,0 12px 24px #1b78461f}.zk-rider-card.off{opacity:.72}.zk-rider-avatar{width:2.65rem;height:2.65rem;font-family:var(--font-display);letter-spacing:.02em;color:var(--teal);background:color-mix(in srgb, var(--teal) 14%, #fff);border:1px solid color-mix(in srgb, var(--teal) 22%, #d5ddd8);border-radius:50%;flex-shrink:0;place-items:center;font-size:.82rem;font-weight:800;display:grid}@supports not (color: color-mix(in srgb, red 50%, blue)){.zk-rider-avatar{background:#e0eae8;border:1px solid #adc4bd}}.zk-rider-avatar.lg{width:3.1rem;height:3.1rem;font-size:.95rem}.zk-rider-copy{gap:.12rem;min-width:0;display:grid}.zk-rider-copy strong{text-overflow:ellipsis;white-space:nowrap;font-size:.98rem;font-weight:800;line-height:1.2;overflow:hidden}.zk-rider-copy small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.8rem;font-weight:600;overflow:hidden}.zk-rider-badge{text-transform:uppercase;letter-spacing:.04em;background:var(--ok-soft);color:var(--ok);white-space:nowrap;border-radius:999px;padding:.22rem .55rem;font-size:.65rem;font-weight:750}.zk-rider-badge.off{background:var(--warn-soft);color:var(--accent-deep)}.zk-riders-panel{background:#fff;border:1px solid #d5ddd8;border-radius:18px;align-content:start;gap:.8rem;min-height:0;padding:1.15rem 1.2rem;display:grid;overflow:auto;box-shadow:0 12px 28px #12201c14}.zk-riders-panel-head{border-bottom:1px solid #e4ebe7;align-items:center;gap:.85rem;padding-bottom:.65rem;display:flex}.zk-riders-kicker{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:0 0 .1rem;font-size:.72rem;font-weight:750}.zk-riders-panel-head h2{font-family:var(--font-display);margin:0;font-size:1.2rem;font-weight:800}.zk-riders-panel label{gap:.35rem;font-size:.9rem;font-weight:700;display:grid}.zk-riders-status{max-width:220px}.zk-riders-actions{flex-wrap:wrap;gap:.5rem;margin-top:.35rem;display:flex}.zk-riders-action{appearance:none;font:inherit;cursor:pointer;color:var(--ink);background:linear-gradient(#f4f6f5,#e4eae6);border:1px solid #c5d0c8;border-radius:12px;padding:.75rem 1.1rem;font-weight:750}.zk-riders-action.primary{color:#fff;background:linear-gradient(145deg,#2aa35f,#167a43);border:0}.zk-riders-action.danger{color:#c92a2a;background:linear-gradient(#ffe3e3,#ffc9c9);border-color:#ffa8a8}.zk-riders-empty{text-align:center;min-height:10rem;color:var(--muted);place-content:center;justify-items:center;gap:.3rem;padding:1.5rem 1rem;display:grid}.zk-riders-empty.panel{min-height:14rem}.zk-riders-empty strong{color:var(--ink);font-size:1.05rem}@media (width<=860px){.zk-riders-body{grid-template-columns:1fr}}.zk-ed{background:radial-gradient(700px 320px at 100% 0,#1f6b5c1a,#0000 55%),linear-gradient(#eef3f0 0%,#e6ece8 100%);grid-template-rows:auto auto 1fr auto;min-height:100vh;display:grid}.zk-ed-top{color:#fff;background:linear-gradient(#2aa35f,#1b8a4c);justify-content:space-between;align-items:center;padding:.7rem 1.1rem;display:flex}.zk-ed-top strong{font-family:var(--font-display)}.zk-ed-top-right{align-items:center;gap:.75rem;display:flex}.zk-ed-close{color:#fff;background:#ffffff2e;border-radius:50%;place-items:center;width:2rem;height:2rem;text-decoration:none;display:grid}.zk-ed-bar{background:#fff;border-radius:16px;justify-content:center;align-items:center;margin:.85rem 1rem 0;padding:.7rem 1rem;display:flex;position:relative;box-shadow:0 10px 24px #12201c14}.zk-ed-bar h1{font-family:var(--font-display);margin:0;font-size:1.25rem}.zk-ed-body{align-content:start;gap:.75rem;min-height:0;padding:.85rem 1rem 1rem;display:grid}.zk-ed-summary{background:#fff;border:1px solid #d9e3dc;border-radius:12px;justify-content:space-between;align-items:center;padding:.65rem .9rem;font-weight:650;display:flex}.zk-ed-summary strong{font-family:var(--font-display);color:var(--accent-deep)}.zk-ed-table-wrap{background:#fff;border:1px solid #d5dde8;border-radius:14px;min-height:280px;overflow:auto;box-shadow:0 12px 28px #12201c0f}.zk-ed-table{border-collapse:collapse;width:100%;font-size:.92rem}.zk-ed-table th{text-align:left;color:#3b5b76;white-space:nowrap;background:#d7e6f5;border-bottom:1px solid #b9cfe3;padding:.7rem .75rem;font-weight:750;position:sticky;top:0}.zk-ed-table td{vertical-align:top;border-bottom:1px solid #eef1f5;border-right:1px solid #eef1f5;padding:.7rem .75rem}.zk-ed-table td:last-child,.zk-ed-table th:last-child{text-align:center;border-right:0;width:4rem}.zk-ed-empty-cell{color:var(--ink-soft);text-align:center!important;border-right:0!important;padding:2.5rem 1rem!important}.zk-ed-edit{appearance:none;cursor:pointer;background:#f5f7fb;border:1px solid #c5d0de;border-radius:8px;width:2.1rem;height:2.1rem;font-size:.95rem}.zk-ed-foot{background:#2c333a;justify-content:space-between;align-items:center;gap:.75rem;padding:.55rem 1rem;display:flex}.zk-ed-home{color:#dfe5ea;border-radius:999px;padding:.4rem .75rem;font-weight:650;text-decoration:none}.zk-ed-home.primary{color:#fff;background:linear-gradient(#2aa35f,#1b8a4c);font-weight:750}.zk-ed-modal{z-index:80;background:#101c1873;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.zk-ed-sheet{background:#fff;border-radius:18px;gap:.85rem;width:min(720px,96vw);padding:1rem 1.15rem 1.15rem;display:grid;box-shadow:0 28px 56px #12201c47}.zk-ed-sheet-head{justify-content:space-between;align-items:center;display:flex}.zk-ed-sheet-head h2{font-family:var(--font-display);margin:0;font-size:1.2rem}.zk-ed-form{grid-template-columns:1fr 1fr;gap:.85rem 1rem;display:grid}.zk-ed-col{align-content:start;gap:.7rem;display:grid}.zk-ed-col label{gap:.3rem;font-size:.88rem;font-weight:700;display:grid}.zk-ed-narration{resize:vertical;min-height:7rem;font:inherit}.zk-ed-actions{flex-wrap:wrap;justify-content:flex-end;gap:.5rem;display:flex}.zk-ed-action{appearance:none;font:inherit;cursor:pointer;background:linear-gradient(#f4f6f5,#e4eae6);border:1px solid #c5d0c8;border-radius:12px;padding:.75rem 1.15rem;font-weight:750}.zk-ed-action.primary{color:#fff;background:linear-gradient(#4dabf7,#228be6);border-color:#0000}.zk-ed-action.danger{color:#c92a2a;background:linear-gradient(#ffe3e3,#ffc9c9);border-color:#ffa8a8}@media (width<=720px){.zk-ed-form{grid-template-columns:1fr}}.zk-fv{background:radial-gradient(700px 320px at 0 0,#1971c21a,#0000 55%),linear-gradient(#eef3f0 0%,#e6ece8 100%);grid-template-rows:auto auto 1fr auto;min-height:100vh;display:grid}.zk-fv-top{color:#fff;background:linear-gradient(#2aa35f,#1b8a4c);justify-content:space-between;align-items:center;padding:.7rem 1.1rem;display:flex}.zk-fv-top strong{font-family:var(--font-display)}.zk-fv-top-right{align-items:center;gap:.75rem;display:flex}.zk-fv-close{color:#fff;background:#ffffff2e;border-radius:50%;place-items:center;width:2rem;height:2rem;text-decoration:none;display:grid}.zk-fv-bar{background:#fff;border-radius:16px;justify-content:center;align-items:center;margin:.85rem 1rem 0;padding:.7rem 1rem;display:flex;position:relative;box-shadow:0 10px 24px #12201c14}.zk-fv-bar h1{font-family:var(--font-display);margin:0;font-size:1.25rem}.zk-fv-grid-wrap,.zk-fv-form-wrap{min-height:0;padding:.85rem 1rem 1rem;overflow:auto}.zk-fv-grid{grid-template-columns:repeat(auto-fill,minmax(168px,1fr));gap:1rem;display:grid}.zk-fv-tile{appearance:none;color:#134e4a;cursor:pointer;min-height:11rem;font:inherit;text-align:center;background:linear-gradient(#fff 0%,#f4fbf8 100%);border:1px solid #d5e5df;border-radius:18px;grid-template-rows:4.4rem auto;align-content:stretch;justify-items:stretch;gap:0;padding:0;transition:transform .15s,box-shadow .15s,border-color .15s;display:grid;overflow:hidden;box-shadow:0 10px 22px #0f766e14}.zk-fv-tile:hover{border-color:#99d5c5;transform:translateY(-3px);box-shadow:0 14px 28px #0f766e24}.zk-fv-tile-art{color:#ecfdf5;background:radial-gradient(circle at 20% 20%,#14b8a659,#0000 50%),radial-gradient(circle at 90% 80%,#0369a138,#0000 45%),linear-gradient(145deg,#0f766e 0%,#14b8a6 55%,#0d9488 100%);place-items:center;display:grid}.zk-fv-tile-art svg{filter:drop-shadow(0 4px 8px #00000026);width:3.1rem;height:3.1rem}.zk-fv-tile-body{justify-items:center;gap:.3rem;padding:.85rem .75rem 1rem;display:grid}.zk-fv-tile-body strong{color:#0f172a;text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:1rem;font-weight:800;line-height:1.2;overflow:hidden}.zk-fv-tile-amount{color:#0f766e;font-variant-numeric:tabular-nums;font-size:.95rem;font-style:normal;font-weight:800}.zk-fv-tile-meta{color:#64748b;font-variant-numeric:tabular-nums;font-size:.75rem;font-style:normal;font-weight:650}.zk-fv-tile-icon{background:#ffffff1f;border-radius:12px;place-items:center;width:3rem;height:3rem;display:grid}.zk-fv-tile-icon svg{width:1.6rem;height:1.6rem}.zk-fv-tile em{opacity:.85;font-size:.78rem;font-style:normal}.zk-fv-empty{min-height:220px;color:var(--ink-soft);text-align:center;background:#fff;border:1px dashed #c9d9d2;border-radius:16px;place-items:center;gap:.35rem;margin:.25rem 0;display:grid}.zk-fv-form{background:#fff;border:1px solid #d5ddd8;border-radius:16px;grid-template-columns:1.2fr .8fr;gap:1rem;padding:1rem;display:grid;box-shadow:0 10px 24px #12201c0f}.zk-fv-fields{align-content:start;gap:.7rem;display:grid}.zk-fv-fields label{gap:.3rem;font-size:.88rem;font-weight:700;display:grid}.zk-fv-fields label>span{align-items:baseline;gap:.2rem;display:inline-flex}.zk-fv-stats-hint{color:var(--ink-soft);margin:.15rem 0 0;font-size:.78rem;font-weight:650}.zk-fv-durations{flex-wrap:wrap;gap:.4rem;display:flex}.zk-fv-durations button{appearance:none;font:inherit;cursor:pointer;background:#f5f7fb;border:1px solid #c5d0de;border-radius:10px;padding:.45rem .7rem;font-weight:700}.zk-fv-durations button.active{color:#fff;background:#0f766e;border-color:#0f766e}.zk-fv-stats{background:#f4fbf8;border:1px solid #d5e8e1;border-radius:12px;align-content:start;gap:.65rem;padding:.85rem;display:grid}.zk-fv-stats div{gap:.15rem;display:grid}.zk-fv-stats span{color:var(--ink-soft);font-size:.82rem;font-weight:650}.zk-fv-stats strong{font-size:1.2rem;font-family:var(--font-display);color:#0f766e}.zk-fv-actions{flex-wrap:wrap;gap:.5rem;margin:.85rem 0;display:flex}.zk-fv-action{appearance:none;color:#1e293b;font:inherit;cursor:pointer;background:#fff;border:1px solid #c9d5cf;border-radius:12px;padding:.75rem 1.05rem;font-weight:750;box-shadow:0 4px 10px #0f172a0a}.zk-fv-action:hover{background:#f8faf9;border-color:#9fb8ae}.zk-fv-action.primary{color:#fff;background:linear-gradient(#38bdf8,#0284c7);border-color:#0000}.zk-fv-action.danger{color:#fff;background:linear-gradient(#fb7185,#e11d48);border-color:#0000}.zk-fv-table-wrap{background:#fff;border:1px solid #d5dde8;border-radius:14px;overflow:auto}.zk-fv-table{border-collapse:collapse;width:100%;font-size:.9rem}.zk-fv-table th{text-align:left;background:#d7e6f5;border-bottom:1px solid #b9cfe3;padding:.65rem .75rem;position:sticky;top:0}.zk-fv-table td{border-bottom:1px solid #eef1f5;padding:.65rem .75rem}.zk-fv-table code{letter-spacing:.04em;font-weight:800}.zk-fv-status{text-transform:capitalize;font-size:.82rem;font-weight:750}.zk-fv-status.available{color:#2b8a3e}.zk-fv-status.used{color:#c92a2a}.zk-fv-foot{background:#2c333a;justify-content:space-between;align-items:center;gap:.75rem;padding:.55rem 1rem;display:flex}.zk-fv-home{color:#dfe5ea;border-radius:999px;padding:.4rem .75rem;font-weight:650;text-decoration:none}.zk-fv-home.primary{color:#fff;background:linear-gradient(#2aa35f,#1b8a4c);font-weight:750}.zk-fv-toast,.fvp-toast{z-index:270;background:#0a121066;place-items:center;display:grid;position:fixed;inset:0}.zk-fv-toast-card,.fvp-toast-card{background:#fff;border-radius:14px;gap:.65rem;width:min(360px,92vw);padding:1.1rem 1.25rem;display:grid;box-shadow:0 24px 48px #00000040}.fvp-backdrop{z-index:260!important}.fvp-card{background:#eceff1;border:1px solid #9aa5ad;border-radius:10px;width:min(420px,94vw);overflow:hidden;box-shadow:0 24px 50px #0a121859}.fvp-head{color:#fff;background:#3a4650;justify-content:space-between;align-items:center;padding:.55rem .7rem;display:flex}.fvp-fields{gap:.7rem;padding:.9rem 1rem .4rem;display:grid}.fvp-fields label{gap:.35rem;font-size:.88rem;font-weight:700;display:grid}.fvp-suggest{gap:.25rem;display:grid}.fvp-suggest button{text-align:left;font:inherit;cursor:pointer;background:#fff;border:1px solid #c5d0d8;border-radius:8px;padding:.4rem .55rem}.fvp-info{background:#fff;border:1px solid #d5dde8;border-radius:10px;gap:.45rem;padding:.65rem .75rem;display:grid}.fvp-info div{justify-content:space-between;gap:.5rem;display:flex}.fvp-info span{color:var(--ink-soft);font-size:.82rem;font-weight:650}.fvp-hint{color:#b42318;margin:0 1rem;font-size:.85rem;font-weight:700}.fvp-actions{justify-content:flex-end;gap:.45rem;padding:.75rem 1rem 1rem;display:flex}@media (width<=800px){.zk-fv-form{grid-template-columns:1fr}}.zk-db{background:radial-gradient(700px 320px at 100% 0,#1f6b5c1a,#0000 55%),linear-gradient(#eef3f0 0%,#e6ece8 100%);grid-template-rows:auto 1fr auto;min-height:100vh;display:grid}.zk-db-top{color:#fff;background:linear-gradient(#2aa35f,#1b8a4c);justify-content:space-between;align-items:center;padding:.7rem 1.1rem;display:flex}.zk-db-top strong{font-family:var(--font-display)}.zk-db-top-right{align-items:center;gap:.75rem;display:flex}.zk-db-close{color:#fff;background:#ffffff2e;border-radius:50%;place-items:center;width:2rem;height:2rem;text-decoration:none;display:grid}.zk-db-shell{grid-template-columns:minmax(180px,220px) 1fr;min-height:0;display:grid}.zk-db-side{background:#edf1ef;border-right:1px solid #d5ddd8;align-content:start;gap:1rem;padding:1rem .75rem;display:grid}.zk-db-admin{border-bottom:1px solid #d5ddd8;align-items:center;gap:.65rem;padding:.35rem .4rem .85rem;display:flex}.zk-db-avatar{color:#fff;background:linear-gradient(145deg,#2aa35f,#167a43);border-radius:50%;place-items:center;width:2.5rem;height:2.5rem;font-weight:800;display:grid}.zk-db-admin strong{font-size:.95rem;display:block}.zk-db-admin small{color:var(--ink-soft);font-size:.78rem}.zk-db-side nav{gap:.25rem;display:grid}.zk-db-side nav button{appearance:none;text-align:left;font:inherit;color:var(--ink-soft);cursor:pointer;background:0 0;border:0;border-radius:12px;padding:.7rem .75rem;font-weight:700}.zk-db-side nav button.active{color:#fff;background:linear-gradient(#2aa35f,#1b8a4c)}.zk-db-main{align-content:start;gap:1rem;padding:1rem 1.25rem;display:grid}.zk-db-bar{background:#fff;border-radius:16px;justify-content:center;align-items:center;margin:.85rem 1rem 0;padding:.7rem 1rem;display:flex;box-shadow:0 10px 24px #12201c14}.zk-db-bar h1{font-family:var(--font-display);margin:0;font-size:1.25rem}.zk-db-main .zk-db-bar{margin:0}.zk-db-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem;display:grid}.zk-db-card{appearance:none;min-height:8.5rem;color:var(--ink);cursor:pointer;font:inherit;background:linear-gradient(165deg,#f4f7f8,#e8eef2);border:1px solid #d5ddd8;border-radius:16px;align-content:center;justify-items:center;gap:.4rem;padding:1rem;text-decoration:none;transition:transform .15s;display:grid;box-shadow:0 10px 22px #12202812}.zk-db-card:hover{transform:translateY(-2px)}.zk-db-card-icon{color:#1864ab;background:#fff;border-radius:14px;place-items:center;width:3.4rem;height:3.4rem;display:grid;box-shadow:inset 0 0 0 1px #d5e2ec}.zk-db-card-icon svg{width:1.9rem;height:1.9rem}.zk-db-card strong{text-align:center;font-size:.98rem}.zk-db-card small{color:var(--ink-soft);text-align:center;font-size:.78rem}.zk-db-restore label{background:#fff;border:1px solid #d5ddd8;border-radius:12px;gap:.35rem;padding:.75rem .9rem;font-size:.88rem;font-weight:700;display:grid}.zk-db-note{color:#1864ab;background:#e7f5ff;border-radius:12px;margin:0;padding:.7rem .85rem;font-weight:650}.zk-db-io{grid-template-rows:auto 1fr auto}.zk-db-io-stage{background:radial-gradient(520px 240px at 50% 20%,#2aa35f14,#0000 60%),0 0;place-items:center;min-height:0;padding:1.25rem 1rem 1.5rem;display:grid}.zk-db-io-card{background:#fff;border:1px solid #d5ddd8;border-radius:20px;gap:1.15rem;width:min(520px,94vw);padding:1.35rem 1.4rem 1.45rem;display:grid;box-shadow:0 18px 40px #12201c1a}.zk-db-io-head{border-bottom:1px solid #e6ece8;gap:.35rem;padding-bottom:.85rem;display:grid}.zk-db-io-kicker{letter-spacing:.08em;text-transform:uppercase;color:#1b8a4c;margin:0;font-size:.72rem;font-weight:800}.zk-db-io-head h1{font-family:var(--font-display);margin:0;font-size:1.55rem;line-height:1.15}.zk-db-io-head p{color:var(--ink-soft);margin:0;font-size:.92rem;line-height:1.4}.zk-db-io-fields{gap:.85rem;display:grid}.zk-db-io-fields>label{gap:.35rem;font-size:.88rem;font-weight:700;display:grid}.zk-db-path{align-items:center;gap:.5rem;display:flex}.zk-db-path .search{flex:1}.zk-db-secondary-btn{appearance:none;color:var(--ink);font:inherit;cursor:pointer;white-space:nowrap;background:#f4f7f5;border:1px solid #c5d0c8;border-radius:10px;padding:.55rem .85rem;font-weight:700}.zk-db-template-btn{appearance:none;color:#1b8a4c;font:inherit;cursor:pointer;text-align:left;background:#f3faf6;border:1px dashed #9ec5b0;border-radius:12px;padding:.7rem .9rem;font-weight:750}.zk-db-drop{text-align:center;background:#f7faf8;border:1.5px dashed #b7c7bc;border-radius:14px;justify-items:center;gap:.35rem;padding:1.25rem 1rem;display:grid}.zk-db-drop.over{background:#eaf7ef;border-color:#2aa35f}.zk-db-drop.ready{background:#eef8f1;border-style:solid;border-color:#2aa35f}.zk-db-drop strong{font-size:.98rem}.zk-db-drop span{color:var(--ink-soft);font-size:.85rem}.zk-db-browse{margin-top:.35rem;display:inline-flex}.zk-db-io-actions{flex-direction:column;justify-content:stretch;gap:.65rem;display:flex}.zk-db-io-actions-stack .zk-db-secondary-btn{justify-content:center;width:100%}.zk-db-primary-btn{appearance:none;color:#fff;width:100%;font:inherit;cursor:pointer;background:linear-gradient(#2aa35f,#1b8a4c);border:0;border-radius:12px;padding:.9rem 1.2rem;font-weight:800;box-shadow:0 10px 20px #1b784647}.zk-db-tip{color:var(--ink-soft);margin:0;font-size:.84rem;line-height:1.4}.zk-db-foot{background:#2c333a;justify-content:space-between;align-items:center;gap:.75rem;padding:.55rem 1rem;display:flex}.zk-db-home{color:#dfe5ea;border-radius:999px;padding:.4rem .75rem;font-weight:650;text-decoration:none}.zk-db-home.primary{color:#fff;background:linear-gradient(#2aa35f,#1b8a4c);font-weight:750}@media (width<=900px){.zk-db-shell{grid-template-columns:1fr}.zk-db-cards{grid-template-columns:1fr 1fr}}.zk-mt{background:radial-gradient(700px 320px at 0 0,#2aa35f1a,#0000 55%),linear-gradient(#eef3f0 0%,#e6ece8 100%);grid-template-rows:auto auto 1fr auto;min-height:100vh;display:grid}.zk-mt-top{color:#fff;background:linear-gradient(#2aa35f,#1b8a4c);justify-content:space-between;align-items:center;padding:.7rem 1.1rem;display:flex}.zk-mt-top strong{font-family:var(--font-display)}.zk-mt-top-right{align-items:center;gap:.75rem;display:flex}.zk-mt-close{color:#fff;background:#ffffff2e;border-radius:50%;place-items:center;width:2rem;height:2rem;text-decoration:none;display:grid}.zk-mt-bar{background:#fff;border-radius:16px;justify-content:center;align-items:center;margin:.85rem 1rem 0;padding:.7rem 1rem;display:flex;position:relative;box-shadow:0 10px 24px #12201c14}.zk-mt-bar h1{font-family:var(--font-display);margin:0;font-size:1.25rem}.zk-mt-bar-actions{grid-column:3;justify-self:end;align-items:center;gap:.45rem;display:flex}.zk-mt-bar-actions .zk-mt-add,.zk-mt-bar-actions .mesa-hub-add{grid-column:auto;justify-self:auto}.zk-mt-starter{appearance:none;color:var(--ink-soft);font:inherit;cursor:pointer;white-space:nowrap;background:#f4f7f5;border:1px solid #c5d0c8;border-radius:999px;padding:.4rem .75rem;font-size:.78rem;font-weight:700}.zk-mt-starter.primary{color:#fff;background:linear-gradient(145deg,#2aa35f,#167a43);border:0;margin-top:.55rem;padding:.65rem 1.1rem;font-size:.88rem}.zk-mt-grid-wrap,.zk-mt-form-wrap{min-height:0;padding:.85rem 1rem 1rem;overflow:auto}.zk-mt-form-wrap{grid-template-rows:minmax(0,1fr) auto;gap:.75rem;display:grid}.zk-mt-grid{grid-template-columns:repeat(auto-fill,minmax(11rem,1fr));gap:.85rem;display:grid}.zk-mt-tile{appearance:none;color:var(--ink);cursor:pointer;min-height:10rem;font:inherit;background:linear-gradient(165deg,#fff 0%,#f3f7f5 100%);border:1px solid #d5ddd8;border-radius:18px;align-content:center;justify-items:center;gap:.28rem;padding:1.1rem .85rem;transition:transform .14s,box-shadow .14s,border-color .14s;display:grid;box-shadow:0 10px 22px #12201c12}.zk-mt-tile:hover{border-color:#9fc9ae;transform:translateY(-2px);box-shadow:0 16px 30px #1b784624}.zk-mt-tile-icon{background:color-mix(in srgb, var(--teal) 12%, #fff);width:3rem;height:3rem;color:var(--teal);border-radius:12px;place-items:center;display:grid}@supports not (color: color-mix(in srgb, red 50%, blue)){.zk-mt-tile-icon{background:#e4edeb}}.zk-mt-tile-icon svg{width:1.6rem;height:1.6rem}.zk-mt-tile strong{font-family:var(--font-display);text-align:center;font-size:1rem}.zk-mt-tile em{color:var(--muted);text-align:center;font-size:.75rem;font-style:normal}.zk-mt-tile-badge{text-transform:uppercase;letter-spacing:.04em;background:var(--ok-soft);color:var(--ok);border-radius:999px;margin-top:.25rem;padding:.18rem .55rem;font-size:.65rem;font-weight:750}.zk-mt-tile-badge.off{background:var(--warn-soft);color:var(--accent-deep)}.zk-mt-empty{min-height:260px;color:var(--muted);text-align:center;place-items:center;gap:.4rem;padding:1.5rem 1rem;display:grid}.zk-mt-empty strong{color:var(--ink);font-size:1.1rem}.zk-mt-empty span{max-width:28rem;line-height:1.35}.zk-mt-form{background:#fff;border:1px solid #d5ddd8;border-radius:18px;align-content:start;gap:0;padding:0;display:grid;overflow:hidden;box-shadow:0 12px 28px #12201c14}.zk-mt-form-head{background:linear-gradient(#f7faf8 0%,#fff 100%);border-bottom:1px solid #e4ebe7;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.15rem;display:flex}.zk-mt-kicker{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:0 0 .1rem;font-size:.72rem;font-weight:750}.zk-mt-form-head h2{font-family:var(--font-display);margin:0;font-size:1.2rem;font-weight:800}.zk-mt-section{border-bottom:1px solid #eef2ef;gap:.7rem;padding:1rem 1.15rem 1.15rem;display:grid}.zk-mt-section:last-child{border-bottom:0}.zk-mt-section>h3,.zk-mt-section-head h3{font-family:var(--font-display);margin:0;font-size:.98rem;font-weight:800}.zk-mt-section-head{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.zk-mt-count{color:var(--muted);background:#eef3f0;border-radius:999px;padding:.2rem .55rem;font-size:.75rem;font-weight:700}.zk-mt-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem .85rem;display:grid}.zk-mt-field{color:var(--ink-soft);gap:.3rem;min-width:0;font-size:.85rem;font-weight:700;display:grid}.zk-mt-field.full{grid-column:1/-1}.zk-mt-transfer-row{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:stretch;gap:.65rem;display:grid}.zk-mt-list-panel{grid-template-rows:auto minmax(0,1fr);gap:.35rem;min-width:0;display:grid}.zk-mt-list-label{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:0;font-size:.72rem;font-weight:750}.zk-mt-list{background:#f7faf8;border:1px solid #d5ddd8;border-radius:14px;align-content:start;min-height:11rem;max-height:14rem;display:grid;overflow:auto}.zk-mt-list-empty{text-align:center;min-height:11rem;color:var(--muted);place-items:center;padding:1rem;font-size:.82rem;font-style:normal;font-weight:650;display:grid}.zk-mt-list button{appearance:none;text-align:left;font:inherit;color:var(--ink);cursor:pointer;background:0 0;border:0;border-bottom:1px solid #e8eeea;padding:.6rem .75rem;font-size:.88rem;font-weight:650}.zk-mt-list button:hover{background:color-mix(in srgb, var(--teal) 8%, #fff)}@supports not (color: color-mix(in srgb, red 50%, blue)){.zk-mt-list button:hover{background:#edf3f2}}.zk-mt-list button.selected{background:color-mix(in srgb, var(--teal) 16%, #fff);color:var(--teal);box-shadow:inset 3px 0 0 var(--teal);font-weight:750}@supports not (color: color-mix(in srgb, red 50%, blue)){.zk-mt-list button.selected{background:#dbe7e5}}.zk-mt-transfer-btns{align-content:center;gap:.45rem;display:grid}.zk-mt-mini{appearance:none;font:inherit;cursor:pointer;color:var(--ink);white-space:nowrap;background:linear-gradient(#f4f6f5,#e4eae6);border:1px solid #c5d0c8;border-radius:12px;padding:.65rem .85rem;font-weight:750}.zk-mt-mini.primary{color:#fff;background:linear-gradient(145deg,#2aa35f,#167a43);border:0}.zk-mt-mini:disabled{opacity:.45;cursor:not-allowed}.zk-mt-active{color:var(--ink);cursor:pointer;background:#eef3f0;border:1px solid #d5ddd8;border-radius:999px;align-items:center;gap:.45rem;padding:.35rem .65rem;font-size:.88rem;font-weight:750;display:inline-flex!important}.zk-mt-actions{flex-wrap:wrap;gap:.5rem;padding:.15rem 0 0;display:flex;position:sticky;bottom:0}.zk-mt-action{appearance:none;color:var(--ink);font:inherit;cursor:pointer;background:linear-gradient(#f4f6f5,#e4eae6);border:1px solid #c5d0c8;border-radius:12px;padding:.75rem 1.1rem;font-weight:750}.zk-mt-action.primary{color:#fff;background:linear-gradient(145deg,#2aa35f,#167a43);border-color:#0000}.zk-mt-action.danger{color:#c92a2a;background:linear-gradient(#ffe3e3,#ffc9c9);border-color:#ffa8a8}@media (width<=780px){.zk-mt-fields,.zk-mt-transfer-row{grid-template-columns:1fr}.zk-mt-transfer-btns{grid-template-columns:1fr 1fr}}.zk-mt-foot{background:#2c333a;justify-content:space-between;align-items:center;gap:.75rem;padding:.55rem 1rem;display:flex}.zk-mt-home{color:#dfe5ea;border-radius:999px;padding:.4rem .75rem;font-weight:650;text-decoration:none}.zk-mt-home.primary{color:#fff;background:linear-gradient(#2aa35f,#1b8a4c);font-weight:750}@media (width<=800px){.zk-mt-range,.zk-mt-transfer-row{grid-template-columns:1fr}.zk-mt-to{display:none}}.dev-shell{background:radial-gradient(circle at 12% -10%, #1f6b5c2e, transparent 42%), radial-gradient(circle at 88% 0%, #c45c261a, transparent 36%), linear-gradient(180deg, #e8eeea 0%, var(--surface) 48%, #e6ece8 100%);place-items:center;height:100%;min-height:100%;padding:1.5rem;display:grid;overflow:auto}.dev-shell-app{place-items:start center;padding:1.5rem 1rem 2.5rem}.dev-login{border:1px solid var(--line);width:min(420px,100%);box-shadow:var(--shadow);background:#fff;border-radius:24px;flex-direction:column;gap:1.25rem;padding:1.5rem;display:flex}.dev-login-head{align-items:center;gap:.9rem;display:flex}.dev-login-head h1{font-family:var(--font-display);letter-spacing:-.03em;margin:0;font-size:1.65rem;line-height:1.15}.dev-login-head p{color:var(--muted);margin:.2rem 0 0;font-size:.92rem}.dev-kicker{letter-spacing:.06em;text-transform:uppercase;font-weight:750;color:var(--teal)!important;margin:0!important;font-size:.72rem!important}.dev-mark{background:linear-gradient(160deg, #2f8f7d, var(--teal));color:#fff;width:52px;height:52px;font-family:var(--font-display);border-radius:16px;flex-shrink:0;place-items:center;font-size:1.35rem;font-weight:800;display:grid}.dev-mark.sm{border-radius:12px;width:42px;height:42px;font-size:1.1rem}.dev-form{flex-direction:column;gap:.85rem;width:100%;display:flex}.dev-field{flex-direction:column;gap:.35rem;width:100%;display:flex}.dev-field span{color:var(--muted);font-size:.78rem;font-weight:700}.dev-field input{box-sizing:border-box;border:1px solid var(--line);background:var(--surface-2);width:100%;min-height:46px;color:var(--ink);font:inherit;border-radius:12px;padding:.65rem .85rem}.dev-field .mesa-ar-field{width:100%;min-width:0}.dev-field .mesa-ar-field input,.dev-field .dev-ar-input{box-sizing:border-box;border:1px solid var(--line);background:var(--surface-2);width:100%;min-width:0;min-height:46px;color:var(--ink);font:inherit;font-family:var(--font-arabic);text-align:right;box-shadow:none;direction:rtl;unicode-bidi:plaintext;border-radius:12px;padding:.65rem 1.1rem;overflow:visible}.dev-field .mesa-ar-mode{align-self:flex-end}.dev-field input:focus,.dev-field .dev-ar-input:focus{outline:2px solid var(--teal-soft);border-color:var(--teal);background:#fff}.dev-field .mesa-select{width:100%}.dev-field .mesa-select-field .mesa-select-trigger{border:1px solid var(--line);background:var(--surface-2);width:100%;min-height:46px;color:var(--ink);box-shadow:none;border-radius:12px;padding:.65rem .85rem}.dev-field .mesa-select-field.open .mesa-select-trigger,.dev-field .mesa-select-field .mesa-select-trigger:focus-visible{outline:2px solid var(--teal-soft);border-color:var(--teal);background:#fff}.dev-btn{min-height:46px;font:inherit;cursor:pointer;border:1px solid #0000;border-radius:12px;justify-content:center;align-items:center;padding:.6rem 1rem;font-weight:700;text-decoration:none;display:inline-flex}.dev-btn.primary{background:linear-gradient(180deg, #2f8f7d, var(--teal));color:#fff}.dev-btn.primary:disabled{opacity:.65;cursor:wait}.dev-btn.ghost{background:var(--surface-2);border-color:var(--line);color:var(--ink-soft)}.dev-btn.compact{min-height:38px;padding:.4rem .8rem;font-size:.9rem}.dev-alert{background:var(--danger-soft);color:var(--danger);border-radius:12px;margin:0;padding:.7rem .85rem;font-size:.9rem;font-weight:600}.dev-alert.ok{background:var(--ok-soft);color:var(--ok)}.dev-app{flex-direction:column;gap:1rem;width:min(980px,100%);display:flex}.dev-top{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:20px;justify-content:space-between;align-items:center;gap:1rem;padding:.9rem 1.1rem;display:flex}.dev-top-brand{align-items:center;gap:.75rem;display:flex}.dev-top-brand strong{font-family:var(--font-display);font-size:1.15rem;display:block}.dev-top-brand span{color:var(--muted);font-size:.85rem}.dev-top-actions{align-items:center;gap:.65rem;display:flex}.dev-tabs{border:1px solid var(--line);background:#ffffffb8;border-radius:999px;gap:.4rem;width:fit-content;padding:.3rem;display:flex}.dev-tabs button{color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:999px;padding:.45rem 1rem;font-weight:700}.dev-tabs button.active{background:var(--teal);color:#fff}.dev-panel{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:20px;padding:1.15rem 1.2rem 1.3rem}.dev-panel-head{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:1rem;display:flex}.dev-panel-head h2{font-family:var(--font-display);margin:0;font-size:1.25rem}.dev-link-toggle{cursor:pointer;-webkit-user-select:none;user-select:none;border:1px solid var(--line);background:var(--surface-2);color:var(--muted);white-space:nowrap;border-radius:999px;align-items:center;gap:.45rem;padding:.35rem .75rem;font-size:.8rem;font-weight:700;display:inline-flex}.dev-link-toggle.on{border-color:var(--teal);background:var(--teal-soft);color:var(--teal)}.dev-link-toggle input{width:1.15rem;height:1.15rem;margin:0}.dev-panel h3{margin:1rem 0 .45rem;font-size:.95rem}.dev-table-wrap{overflow-x:auto}.dev-table{border-collapse:collapse;width:100%;font-size:.92rem}.dev-table th,.dev-table td{text-align:start;border-bottom:1px solid var(--line);padding:.7rem .55rem}.dev-table th{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:.75rem}.dev-table tr.selected td{background:var(--teal-soft)}.dev-empty{color:var(--muted);text-align:center!important;padding:1.5rem .5rem!important}.dev-link{color:var(--teal);cursor:pointer;font-weight:700;font:inherit;background:0 0;border:0;text-decoration:none}.dev-detail-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem;display:grid}.dev-meta-label{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin:0 0 .2rem;font-size:.72rem;font-weight:750}.dev-list{gap:.35rem;margin:0;padding-left:1.1rem;display:grid}.dev-row-actions{justify-content:flex-end;align-items:center;gap:.75rem;display:flex}.dev-edit-block{border-top:1px solid var(--line);margin-top:1.15rem;padding-top:.85rem}.dev-edit-block h3{margin:0 0 .75rem}.dev-actions{flex-wrap:wrap;gap:.65rem;margin-top:1.15rem;display:flex}@media (width<=760px){.dev-form-grid,.dev-detail-grid{grid-template-columns:1fr}.dev-top{flex-direction:column;align-items:flex-start}.dev-tabs{width:100%}.dev-tabs button{flex:1}}.zk-units-bar,.zk-products-bar,.zk-vendors-bar,.zk-dept-bar,.zk-payt-bar,.zk-tax-bar,.zk-disc-bar,.zk-gift-bar,.zk-ed-bar,.zk-fv-bar,.zk-mt-bar{grid-template-columns:2.75rem minmax(0,1fr) 2.75rem;justify-content:stretch;align-items:center;gap:.45rem;padding:.55rem .75rem;display:grid;overflow:visible}.zk-units-bar h1,.zk-products-bar h1,.zk-vendors-bar h1,.zk-dept-bar h1,.zk-payt-bar h1,.zk-tax-bar h1,.zk-disc-bar h1,.zk-gift-bar h1,.zk-ed-bar h1,.zk-fv-bar h1,.zk-mt-bar h1{text-align:center;text-overflow:ellipsis;white-space:nowrap;grid-column:2;justify-self:center;max-width:100%;overflow:hidden}.mesa-hub-add,.zk-dept-add,.zk-products-add,.zk-vendors-add,.zk-payt-add,.zk-units-add,.zk-tax-add,.zk-disc-add,.zk-gift-add,.zk-et-add,.zk-ed-add,.zk-fv-add,.zk-mt-add{appearance:none;box-sizing:border-box;color:#0000;text-indent:-9999px;cursor:pointer;background-color:#1f8a4c;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M12 6v12M6 12h12' stroke='%23fff' stroke-width='2.75' stroke-linecap='round'/%3E%3C/svg%3E");background-position:50%;background-repeat:no-repeat;background-size:1.15rem 1.15rem;border:0;border-radius:50%;grid-column:3;justify-content:center;place-self:center;align-items:center;width:2.4rem;min-width:2.4rem;height:2.4rem;min-height:2.4rem;margin:0;padding:0;font-size:0;line-height:0;transition:transform .14s,box-shadow .14s,background-color .14s;display:inline-flex;position:relative;overflow:hidden;box-shadow:0 2px 8px #167a4347}:is(.mesa-hub-add:has(svg),.zk-dept-add:has(svg),.zk-products-add:has(svg),.zk-vendors-add:has(svg),.zk-payt-add:has(svg),.zk-units-add:has(svg),.zk-tax-add:has(svg),.zk-disc-add:has(svg),.zk-gift-add:has(svg),.zk-et-add:has(svg),.zk-ed-add:has(svg),.zk-fv-add:has(svg),.zk-mt-add:has(svg)){color:#fff;text-indent:0;background-image:none}.mesa-hub-add svg,.zk-dept-add svg,.zk-products-add svg,.zk-vendors-add svg,.zk-payt-add svg,.zk-units-add svg,.zk-tax-add svg,.zk-disc-add svg,.zk-gift-add svg,.zk-et-add svg,.zk-ed-add svg,.zk-fv-add svg,.zk-mt-add svg{pointer-events:none;flex-shrink:0;width:1.15rem;height:1.15rem;display:block}.mesa-hub-add:hover,.zk-dept-add:hover,.zk-products-add:hover,.zk-vendors-add:hover,.zk-payt-add:hover,.zk-units-add:hover,.zk-tax-add:hover,.zk-disc-add:hover,.zk-gift-add:hover,.zk-et-add:hover,.zk-ed-add:hover,.zk-fv-add:hover,.zk-mt-add:hover{background-color:#249656;box-shadow:0 3px 10px #167a4357}.mesa-hub-add:active,.zk-dept-add:active,.zk-products-add:active,.zk-vendors-add:active,.zk-payt-add:active,.zk-units-add:active,.zk-tax-add:active,.zk-disc-add:active,.zk-gift-add:active,.zk-et-add:active,.zk-ed-add:active,.zk-fv-add:active,.zk-mt-add:active{background-color:#167a43;transform:scale(.94)}.mesa-hub-add:focus-visible,.zk-dept-add:focus-visible,.zk-products-add:focus-visible,.zk-vendors-add:focus-visible,.zk-payt-add:focus-visible,.zk-units-add:focus-visible,.zk-tax-add:focus-visible,.zk-disc-add:focus-visible,.zk-gift-add:focus-visible,.zk-et-add:focus-visible,.zk-ed-add:focus-visible,.zk-fv-add:focus-visible,.zk-mt-add:focus-visible{outline-offset:3px;outline:2px solid #167a43}.app-shell.settings-mode .main-stage>div{width:100%;min-width:0;max-width:100%;height:100%;min-height:0;max-height:100%;overflow-x:hidden}.zk-hub-top,header.zk-settings-top,header.zk-units-top,header.zk-products-top,header.zk-dept-top,header.zk-ed-top,header.zk-db-top,header.zk-payt-top,header.zk-vendors-top,header.zk-et-top,header.zk-inv-top,header.zk-recv-top,header.zk-company-top,header.zk-tax-top,header.zk-gift-top,header.zk-fv-top,header.zk-acc-top,header.zk-mt-top{color:#fff;z-index:2;background:linear-gradient(125deg,#ffffff29,#0000 46%),linear-gradient(#249656 0%,#167a43 58%,#126739 100%);grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:.65rem;min-width:0;min-height:3.6rem;padding:.85rem 1.5rem;display:grid;position:relative;overflow:hidden;box-shadow:0 10px 22px #125a3238,inset 0 1px #ffffff38}.zk-hub-brand,.zk-settings-brand{flex:0 auto;align-items:center;gap:.7rem;min-width:0;max-width:min(42%,22rem);display:flex}.zk-hub-center{grid-column:2;justify-content:center;align-items:center;min-width:0;max-width:min(11.5rem,34vw);display:flex}.zk-hub-center .mesa-select-chrome{flex:none;width:max-content;min-width:0;max-width:100%}.zk-hub-center .mesa-select-chrome .mesa-select-value{text-overflow:ellipsis;white-space:nowrap;max-width:7.5rem;overflow:hidden}.zk-hub-center .mesa-select-chrome .mesa-select-trigger{color:#fff;background:#ffffff2e;border-color:#ffffff47;border-radius:999px;width:auto;min-width:0;max-width:10.5rem;min-height:32px;padding:0 .45rem 0 .55rem;font-size:.8rem}.zk-hub-top-right{grid-column:3}.zk-hub-notif{position:relative}.zk-hub-notif-btn{appearance:none;color:#fff;cursor:pointer;background:#ffffff24;border:1px solid #ffffff47;border-radius:999px;place-items:center;width:2.35rem;height:2.35rem;padding:0;display:grid;position:relative}.zk-hub-notif-btn:hover,.zk-hub-notif-btn.open{background:#ffffff3d}.zk-hub-notif-btn.has .zk-hub-notif-icon{animation:2.4s ease-in-out infinite zk-notif-pulse}@keyframes zk-notif-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.06)}}.zk-hub-notif-icon{width:1.15rem;height:1.15rem}.zk-hub-notif-badge{color:#1a2a26;text-align:center;background:#f59e0b;border-radius:999px;min-width:1.1rem;height:1.1rem;padding:0 .25rem;font-size:.62rem;font-weight:900;line-height:1.1rem;position:absolute;top:-.15rem;right:-.1rem;box-shadow:0 2px 6px #0003}.zk-hub-notif-panel{background:var(--panel);color:var(--ink);border:1px solid var(--line);border-radius:14px;flex-direction:column;max-height:min(70vh,360px);display:flex;overflow:hidden;box-shadow:0 16px 36px #12201c38}.zk-hub-notif-head{border-bottom:1px solid var(--line);background:var(--surface-2);justify-content:space-between;align-items:center;gap:.5rem;padding:.7rem .85rem;display:flex}.zk-hub-notif-head strong{font-size:.92rem}.zk-hub-notif-head span{background:var(--teal-soft);color:var(--teal);border-radius:999px;padding:.15rem .45rem;font-size:.75rem;font-weight:800}.zk-hub-notif-empty{color:var(--muted);margin:0;padding:1rem .85rem;font-size:.88rem}.zk-hub-notif-list{flex:1;gap:.25rem;min-height:0;max-height:none;margin:0;padding:.35rem;list-style:none;display:grid;overflow:auto}.zk-hub-notif-item{text-align:left;width:100%;color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:10px;gap:.15rem;padding:.65rem .7rem;text-decoration:none;display:grid}.zk-hub-notif-item:hover{background:var(--surface-2)}.zk-hub-notif-item strong{font-size:.88rem;font-weight:800}.zk-hub-notif-item span{color:var(--muted);font-size:.78rem;font-weight:650}.zk-hub-notif-list li.tone-warn .zk-hub-notif-item strong{color:#b45309}.zk-hub-notif-list li.tone-info .zk-hub-notif-item strong{color:var(--teal)}.zk-hub-brand strong,.zk-settings-brand strong{flex:1;min-width:0}.zk-hub-mark,.zk-settings-mark{color:#167a43;background:#fff;border-radius:10px;flex-shrink:0;place-items:center;width:2.2rem;height:2.2rem;display:grid;box-shadow:0 6px 12px #0c341e2e}.zk-hub-mark .brand-mark-letters,.zk-settings-mark .brand-mark-letters{letter-spacing:.06em;color:#167a43;font-size:.72rem;font-weight:800}.zk-hub-top strong,.zk-settings-top strong,.zk-units-top strong,.zk-products-top strong,.zk-dept-top strong,.zk-company-top strong,.zk-db-top strong,.zk-tax-top strong,.zk-gift-top strong,.zk-fv-top strong,.zk-acc-top strong,.zk-mt-top strong,.zk-vendors-top strong,.zk-payt-top strong,.zk-et-top strong,.zk-ed-top strong,.zk-inv-top strong,.zk-recv-top strong{font-family:var(--font-display);letter-spacing:-.02em;white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:1.08rem;font-weight:800;overflow:hidden}.zk-hub-top-right,.zk-units-top-right,.zk-products-top-right,.zk-dept-top-right,.zk-ed-top-right,.zk-db-top-right,.zk-payt-top-right,.zk-vendors-top-right,.zk-et-top-right,.zk-inv-top-right,.zk-recv-top-right,.zk-company-top-right,.zk-tax-top-right,.zk-gift-top-right,.zk-fv-top-right,.zk-acc-top-right,.zk-mt-top-right{flex-shrink:0;align-items:center;gap:.55rem;min-width:0;display:flex}.zk-hub-date,.zk-settings-date{opacity:.92;font-size:.92rem;font-weight:650}.zk-hub-close,.zk-units-close,.zk-products-close,.zk-dept-close,.zk-ed-close,.zk-db-close,.zk-payt-close,.zk-vendors-close,.zk-et-close,.zk-inv-close,.zk-recv-close,.zk-company-close,.zk-tax-close,.zk-gift-close,.zk-fv-close,.zk-acc-close,.zk-mt-close{color:#fff;background:#ffffff2e;border-radius:50%;place-items:center;width:2.15rem;height:2.15rem;font-size:1rem;line-height:1;text-decoration:none;display:grid}.zk-hub-foot,footer.zk-settings-foot,footer.zk-units-foot,footer.zk-products-foot,footer.zk-dept-foot,footer.zk-ed-foot,footer.zk-db-foot,footer.zk-payt-foot,footer.zk-vendors-foot,footer.zk-et-foot,footer.zk-inv-foot,footer.zk-company-foot,footer.zk-tax-foot,footer.zk-gift-foot,footer.zk-fv-foot,footer.zk-acc-foot,footer.zk-mt-foot{color:#e8eef2;background:linear-gradient(#2c3940 0%,#24312c 100%);justify-content:space-between;align-items:center;gap:1rem;min-width:0;min-height:3.5rem;padding:.7rem 1.5rem;display:flex;box-shadow:inset 0 1px #ffffff0f}.zk-hub-foot-leading{align-items:center;gap:.85rem;min-width:0;display:inline-flex}.zk-hub-kbd{min-height:var(--touch-min,2.75rem);color:#e8eef2;font:inherit;cursor:pointer;background:#ffffff0f;border:1px solid #ffffff2e;border-radius:12px;justify-content:center;align-items:center;gap:.45rem;padding:.45rem .85rem;font-size:.92rem;font-weight:650;display:inline-flex}.zk-hub-kbd svg{flex-shrink:0;width:1.2rem;height:1.2rem}.zk-hub-kbd:hover,.zk-hub-kbd.active{background:#ffffff24;border-color:#ffffff47}.zk-hub-back,.zk-hub-foot .zk-hub-back,.zk-units-home:not(.primary),.zk-products-home:not(.primary),.zk-dept-home:not(.primary),.zk-ed-home:not(.primary),.zk-db-home:not(.primary),.zk-payt-home:not(.primary),.zk-vendors-home:not(.primary),.zk-et-home:not(.primary),.zk-inv-home:not(.primary),.zk-company-home:not(.primary),.zk-tax-home:not(.primary),.zk-gift-home:not(.primary),.zk-fv-home:not(.primary),.zk-acc-home:not(.primary),.zk-mt-home:not(.primary){color:#dce5e0;min-height:var(--touch-min,2.75rem);align-items:center;padding:.45rem .2rem;font-weight:650;line-height:1;text-decoration:none;display:inline-flex}.zk-hub-back,.zk-hub-foot .zk-hub-back{gap:.4rem}.zk-hub-home,.zk-settings-home,.zk-units-home.primary,.zk-products-home.primary,.zk-dept-home.primary,.zk-ed-home.primary,.zk-db-home.primary,.zk-payt-home.primary,.zk-vendors-home.primary,.zk-et-home.primary,.zk-inv-home.primary,.zk-company-home.primary,.zk-tax-home.primary,.zk-gift-home.primary,.zk-fv-home.primary,.zk-acc-home.primary,.zk-mt-home.primary{min-height:var(--touch-min);color:#fff;background:linear-gradient(#2aa35f,#1b8a4c);border-radius:12px;justify-content:center;align-items:center;padding:.55rem 1.35rem;font-weight:750;text-decoration:none;display:inline-flex;box-shadow:0 8px 16px #00000038}.zk-hub-back{align-items:center;gap:.4rem;display:inline-flex}.mesa-vkb{z-index:12000;color:#f2f6f4;background:linear-gradient(#2f3b42 0%,#1f292e 100%);border:1px solid #ffffff1f;border-radius:18px;width:min(920px,100vw - 1.2rem);padding:.55rem .65rem .7rem;position:fixed;bottom:.65rem;left:50%;transform:translate(-50%);box-shadow:0 18px 40px #00000059}.mesa-vkb-bar{align-items:center;gap:.65rem;margin-bottom:.45rem;padding:0 .15rem;display:flex}.mesa-vkb-bar strong{font-size:.88rem}.mesa-vkb-hint{color:#e8eef2a6;flex:1;min-width:0;font-size:.78rem}.mesa-vkb-close{width:2.1rem;height:2.1rem;color:inherit;cursor:pointer;background:#ffffff1a;border:0;border-radius:10px;font-size:1rem;line-height:1}.mesa-vkb-rows{gap:.35rem;display:grid}.mesa-vkb-row{justify-content:center;gap:.3rem;display:flex}.mesa-vkb-key{color:#fff;min-width:2.55rem;min-height:2.7rem;font:inherit;cursor:pointer;touch-action:manipulation;-webkit-user-select:none;user-select:none;background:#44535b;border:0;border-radius:10px;padding:0 .35rem;font-size:.95rem;font-weight:700}.mesa-vkb-key:active{filter:brightness(1.12);transform:translateY(1px)}.mesa-vkb-mod{background:#354249;min-width:3.4rem}.mesa-vkb-mod.active{background:#1f6b5c}.mesa-vkb-space{flex:1;min-width:8rem}.mesa-vkb-enter{background:#1f8a4c;min-width:4.6rem}.mesa-vkb-spacer{flex-shrink:0;width:1.2rem}@media (width<=720px){.mesa-vkb-key{min-width:1.9rem;min-height:2.4rem;font-size:.85rem}.zk-hub-kbd span{display:none}}[dir=rtl] .zk-hub-back-arrow{display:inline-block;transform:scaleX(-1)}.zk-hub-foot .zk-company-foot-actions,.zk-hub-foot .zk-tax-foot-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:.55rem;min-width:0;display:flex}@media (width<=768px){.zk-hub-top,header.zk-settings-top,header.zk-units-top,header.zk-products-top,header.zk-dept-top,header.zk-ed-top,header.zk-db-top,header.zk-payt-top,header.zk-vendors-top,header.zk-et-top,header.zk-inv-top,header.zk-recv-top,header.zk-company-top,header.zk-tax-top,header.zk-gift-top,header.zk-fv-top,header.zk-acc-top,header.zk-mt-top{gap:.4rem;min-height:3.2rem;padding:.65rem .75rem}.zk-hub-date,.zk-settings-date{display:none}.zk-hub-center{max-width:min(7.8rem,30vw)}.zk-hub-center .mesa-select-chrome .mesa-select-value{max-width:5rem}.zk-hub-center .mesa-select-chrome .mesa-select-trigger{max-width:7.8rem;min-height:30px;padding:0 .35rem 0 .45rem;font-size:.74rem}.zk-hub-brand{max-width:min(38%,10.5rem)}.zk-hub-brand strong{text-overflow:ellipsis;white-space:nowrap;font-size:.86rem;overflow:hidden}.zk-hub-top-right{gap:.3rem}.zk-hub-notif-btn,.zk-hub-close{width:2.15rem;height:2.15rem}.mesa-sync-chip{text-overflow:ellipsis;white-space:nowrap;max-width:6.8rem;padding-inline:.5rem;font-size:.7rem;overflow:hidden}.zk-hub-foot,footer.zk-settings-foot,footer.zk-units-foot,footer.zk-products-foot,footer.zk-dept-foot,footer.zk-ed-foot,footer.zk-db-foot,footer.zk-payt-foot,footer.zk-vendors-foot,footer.zk-et-foot,footer.zk-inv-foot,footer.zk-company-foot,footer.zk-tax-foot,footer.zk-gift-foot,footer.zk-fv-foot,footer.zk-acc-foot,footer.zk-mt-foot{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:.5rem;min-height:0;padding:.55rem .75rem;display:grid}.zk-hub-back,.zk-hub-foot .zk-hub-back{place-self:center start}.zk-hub-home,.zk-settings-home,.zk-units-home.primary,.zk-products-home.primary,.zk-dept-home.primary,.zk-ed-home.primary,.zk-db-home.primary,.zk-payt-home.primary,.zk-vendors-home.primary,.zk-et-home.primary,.zk-inv-home.primary,.zk-company-home.primary,.zk-tax-home.primary,.zk-gift-home.primary,.zk-fv-home.primary,.zk-acc-home.primary,.zk-mt-home.primary{justify-self:end;min-width:0;padding:.5rem .85rem}.zk-hub-foot .zk-company-foot-actions,.zk-hub-foot .zk-tax-foot-actions{grid-column:1/-1;grid-template-columns:minmax(0,1fr) minmax(0,1fr);width:100%;display:grid}.zk-hub-foot .zk-co-btn,.zk-company-foot-actions .zk-co-btn{width:100%;min-width:0}.zk-masters>.zk-hub-foot{grid-template-columns:minmax(0,1fr)}.zk-masters>.zk-hub-foot .zk-hub-back{text-align:center;justify-self:stretch}}.app-shell:has(.zk-online) .main-stage{background:#eef6f8;flex-direction:column;max-width:none;min-height:100%;padding:0;display:flex;overflow:auto}.zk-online{background:radial-gradient(720px 340px at 0 0,#0c859924,#0000 55%),radial-gradient(560px 280px at 100% 8%,#e6770014,#0000 50%),linear-gradient(#eef6f8 0%,#e4eef2 100%);flex-direction:column;flex:1 0 auto;width:100%;min-height:100%;display:flex;overflow:visible}.zk-online>.zk-hub-foot{z-index:5;flex-shrink:0;margin-top:auto;position:sticky;bottom:0}.zk-online .zk-dash-header{margin:.55rem .8rem 0}.ol-ico{width:1.05rem;height:1.05rem;display:block}.ol-toolbar{color:#f4fbfd;background:linear-gradient(135deg,#0b7285 0%,#1098ad 48%,#22b8cf 100%);border-radius:14px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.85rem;padding:.75rem 1rem;display:flex;box-shadow:0 8px 22px #0b728538}.ol-toolbar-brand{align-items:center;gap:.7rem;min-width:0;display:flex}.ol-toolbar-brand h1{font-family:var(--font-display);margin:0;font-size:1.2rem;font-weight:750}.ol-toolbar-brand p{opacity:.9;margin:.1rem 0 0;font-size:.78rem}.ol-hero-mark{background:#ffffff29;border-radius:12px;flex-shrink:0;place-items:center;width:2.45rem;height:2.45rem;display:grid}.ol-hero-mark .ol-ico{width:1.25rem;height:1.25rem}.ol-toolbar-stats{flex-wrap:wrap;gap:.45rem;display:flex}.ol-stat-pill{background:#ffffff24;border-radius:999px;align-items:center;gap:.35rem;padding:.38rem .65rem;font-size:.76rem;display:inline-flex}.ol-stat-pill strong{font-size:.92rem}.ol-stat-pill.warn{color:#fff9db;background:#fff3bf38}.ol-stat-pill.accent{background:#ffffff38}.ol-toolbar-actions{flex-wrap:wrap;align-items:center;gap:.45rem;display:flex}.ol-link-btn{appearance:none;color:#fff;font:inherit;cursor:pointer;background:#ffffff1a;border:1px solid #ffffff59;border-radius:10px;padding:.45rem .75rem;font-weight:700;text-decoration:none}.ol-import-btn{appearance:none;color:#0b7285;font:inherit;cursor:pointer;background:#fff;border:none;border-radius:10px;align-items:center;gap:.35rem;padding:.48rem .85rem;font-weight:800;display:inline-flex;box-shadow:0 4px 12px #0000001f}.ol-import-btn:disabled{opacity:.55;cursor:not-allowed}.ol-channel-strip{flex-wrap:wrap;gap:.45rem;padding:.15rem 0;display:flex}.ol-channel-tab{appearance:none;border:1px solid var(--line);color:var(--ink-soft);font:inherit;cursor:pointer;background:#fff;border-radius:12px;align-items:center;gap:.45rem;min-width:0;padding:.45rem .65rem;transition:transform .12s,box-shadow .12s,border-color .12s;display:inline-flex}.ol-channel-tab:hover{transform:translateY(-1px);box-shadow:0 4px 12px #0000000f}.ol-channel-tab.active{border-color:color-mix(in srgb, var(--teal) 45%, transparent);color:var(--ink);box-shadow:0 6px 16px #1098ad24}@supports not (color: color-mix(in srgb, red 50%, blue)){.ol-channel-tab.active{border-color:rgba(31, 107, 92, 0.45)}}.ol-channel-tab.all.active{background:linear-gradient(#fff 0%,#e3fafc 100%);border-color:#1098ad}.ol-channel-label{white-space:nowrap;font-size:.78rem;font-weight:750}.ol-channel-tab em{text-align:center;min-width:1.25rem;color:var(--muted);background:#f1f3f5;border-radius:999px;padding:.1rem .35rem;font-size:.72rem;font-style:normal;font-weight:800}.ol-channel-tab.active em{color:#fff;background:#1098ad}.ol-channel-glyph{letter-spacing:-.02em;border-radius:9px;flex-shrink:0;place-items:center;width:1.85rem;height:1.85rem;font-size:.68rem;font-weight:900;display:grid}.ol-channel-glyph.sm{border-radius:6px;width:1.35rem;height:1.35rem;font-size:.58rem}.ol-channel-glyph.all{color:#fff;background:linear-gradient(135deg,#1098ad,#22b8cf)}.ol-channel-glyph.tone-hs,.ol-channel-tab.tone-hs.active{--ol-accent:#e8590c}.ol-channel-glyph.tone-hs{color:#e8590c;background:#fff4e6}.ol-channel-glyph.tone-jahez{color:#2b8a3e;background:#ebfbee}.ol-channel-glyph.tone-keeta{color:#c2255c;background:#fff0f6}.ol-channel-glyph.tone-chefz{color:#5f3dc4;background:#f3f0ff}.ol-channel-glyph.tone-other{color:#1864ab;background:#e7f5ff}.ol-channel-tab.tone-hs.active{background:linear-gradient(#fff 0%,#fff4e6 100%);border-color:#fab005}.ol-channel-tab.tone-jahez.active{background:linear-gradient(#fff 0%,#ebfbee 100%);border-color:#51cf66}.ol-channel-tab.tone-keeta.active{background:linear-gradient(#fff 0%,#fff0f6 100%);border-color:#f06595}.ol-channel-tab.tone-chefz.active{background:linear-gradient(#fff 0%,#f3f0ff 100%);border-color:#845ef7}.ol-channel-tab.tone-other.active{background:linear-gradient(#fff 0%,#e7f5ff 100%);border-color:#339af0}.ol-channel-badge{border-radius:8px;align-items:center;gap:.35rem;margin-top:.2rem;padding:.18rem .45rem;font-size:.72rem;font-weight:750;display:inline-flex}.ol-channel-badge.tone-hs{color:#e8590c;background:#fff4e6}.ol-channel-badge.tone-jahez{color:#2b8a3e;background:#ebfbee}.ol-channel-badge.tone-keeta{color:#c2255c;background:#fff0f6}.ol-channel-badge.tone-chefz{color:#5f3dc4;background:#f3f0ff}.ol-channel-badge.tone-other{color:#1864ab;background:#e7f5ff}.ol-kot-pill{color:#5c4800;background:#fff3bf;border-radius:6px;margin-top:.15rem;padding:.12rem .4rem;font-size:.68rem;font-weight:800;display:inline-flex}.ol-col-empty{text-align:center;color:var(--muted);place-items:center;gap:.35rem;min-height:7rem;padding:1.25rem .75rem;display:grid}.ol-empty-icon{color:#868e96;background:#f1f3f5;border-radius:12px;place-items:center;width:2.2rem;height:2.2rem;display:grid}.ol-col-empty strong{color:var(--ink-soft);font-size:.82rem}.ol-col-empty p{margin:0;font-size:.72rem;line-height:1.35}.ol-order-card.selected{outline-offset:1px;outline:2px solid #1098ad}.ol-accept-banner{background:linear-gradient(90deg,#fff4e6 0%,#fff9db 100%);border:1px solid #ffd8a8;border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin:0 0 .65rem;padding:.75rem .9rem;display:flex}.ol-accept-banner p{color:#862e00;margin:.15rem 0 0;font-size:.78rem}.ol-accept-actions{gap:.45rem;display:flex}.ol-lines-empty{color:var(--muted);text-align:center;place-items:center;gap:.45rem;padding:1.5rem 1rem;display:grid}.ol-lines-empty .ol-ico{opacity:.45;width:1.6rem;height:1.6rem}.ol-import-channel{text-transform:uppercase;color:var(--muted);gap:.25rem;font-size:.68rem;font-weight:750;display:grid}.ol-channel-mini{flex-wrap:wrap;gap:.3rem;display:flex}.ol-mini-tab{appearance:none;border:1px solid var(--line);font:inherit;cursor:pointer;background:#fff;border-radius:8px;padding:.25rem .45rem;font-size:.68rem;font-weight:800}.ol-mini-tab.active{color:#0b7285;background:#e3fafc;border-color:#1098ad}@media (width<=860px){.ol-toolbar{flex-direction:column;align-items:stretch}.ol-toolbar-stats,.ol-toolbar-actions{justify-content:flex-start}.ol-channel-strip{flex-wrap:nowrap;padding-bottom:.35rem;overflow-x:auto}.ol-channel-tab{flex-shrink:0}}.app-shell:has(.zk-stock) .main-stage{background:#eef3f0;flex-direction:column;max-width:none;height:100%;min-height:0;padding:0;display:flex;overflow:hidden}.app-shell:has(.zk-stock) .main-stage>.zk-stock{flex:auto;width:100%;height:100%;min-height:0}.zk-stock .zk-dash-header{z-index:30;isolation:isolate;flex-shrink:0;min-width:0;margin:.55rem .8rem 0;position:relative;top:auto}.zk-stock .zk-dash-brand{color:inherit;min-width:0;text-decoration:none}.zk-stock{background:radial-gradient(720px 340px at 0 0,#1f6b5c1f,#0000 55%),radial-gradient(560px 280px at 100% 8%,#2f9e4414,#0000 50%),linear-gradient(#eef3f0 0%,#e6ece8 100%);flex-direction:column;gap:0;min-width:0;height:100%;min-height:0;display:flex;overflow:hidden}.zk-stock>.zk-hub-foot{z-index:20;flex-shrink:0;margin-top:0;position:relative;bottom:auto}.stk-page-inner{flex-direction:column;flex:auto;gap:.85rem;min-width:0;min-height:0;margin:.55rem .8rem;padding-bottom:.85rem;display:flex;overflow:hidden}.inv-ico{width:1.05rem;height:1.05rem;display:block}.stk-hero{color:#f3fbf7;background:linear-gradient(135deg,#0b3d2e 0%,#1f6b5c 48%,#2f9e44 100%);border-radius:16px;flex-wrap:wrap;flex-shrink:0;justify-content:space-between;align-items:center;gap:.85rem;padding:.85rem 1rem;display:flex;box-shadow:0 10px 24px #0b3d2e33}.stk-hero-brand{align-items:center;gap:.7rem;min-width:0;display:flex}.stk-hero-brand h1{font-family:var(--font-display);margin:0;font-size:1.2rem;font-weight:750}.stk-hero-brand p{opacity:.9;margin:.1rem 0 0;font-size:.78rem}.stk-hero-mark{background:#ffffff24;border-radius:12px;place-items:center;width:2.5rem;height:2.5rem;display:grid}.stk-hero-mark .inv-ico{width:1.3rem;height:1.3rem}.stk-hero-stats{flex-wrap:wrap;gap:.45rem;display:flex}.stk-stat{background:#ffffff24;border-radius:999px;align-items:center;gap:.35rem;padding:.38rem .65rem;font-size:.76rem;display:inline-flex}.stk-stat strong{font-size:.92rem}.stk-stat em{opacity:.9;font-style:normal}.stk-stat.warn{background:#ffd6a547}.stk-hero-actions{flex-wrap:wrap;gap:.4rem;display:flex}.stk-link-btn{color:#fff;font:inherit;background:#ffffff1a;border:1px solid #ffffff52;border-radius:10px;align-items:center;gap:.35rem;padding:.45rem .75rem;font-weight:700;text-decoration:none;display:inline-flex}.stk-link-btn.primary{color:#0b3d2e;background:#fff;border-color:#fff}.stk-layout{flex:auto;grid-template-columns:minmax(0,1.55fr) minmax(260px,.75fr);align-items:stretch;gap:.85rem;min-height:0;display:grid;overflow:hidden}.stk-main,.stk-panel{background:#fff;border:1px solid #d9e3dc;border-radius:16px;box-shadow:0 8px 20px #12201c0d}.stk-main.stk-focus,.stk-panel.stk-focus{border-color:#2aa35f;box-shadow:0 0 0 2px #2aa35f38,0 8px 20px #12201c0d}.stk-main{flex-direction:column;align-self:stretch;min-width:0;min-height:0;max-height:100%;padding:.85rem;display:flex;overflow:hidden}.stk-main-scroll{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;flex:auto;min-height:0;margin:0 -.15rem;padding:0 .15rem;overflow:auto}.stk-side{overscroll-behavior:contain;align-content:start;gap:.85rem;min-width:0;min-height:0;max-height:100%;display:grid;overflow:hidden auto}.stk-toolbar{flex-wrap:wrap;flex-shrink:0;align-items:center;gap:.55rem;margin-bottom:.85rem;display:flex}.stk-search{border:1px solid var(--line);min-height:44px;color:var(--muted);background:#f8faf9;border-radius:12px;flex:220px;align-items:center;gap:.45rem;padding:0 .75rem;display:flex}.stk-search input{font:inherit;color:var(--ink);background:0 0;border:0;outline:none;flex:1;min-width:0}.stk-filters{flex-wrap:wrap;gap:.35rem;display:flex}.stk-filter{appearance:none;border:1px solid var(--line);color:var(--ink-soft);min-height:40px;font:inherit;cursor:pointer;background:#fff;border-radius:999px;align-items:center;gap:.35rem;padding:.35rem .7rem;font-weight:700;display:inline-flex}.stk-filter em{color:var(--muted);background:#f1f3f5;border-radius:999px;padding:.1rem .4rem;font-size:.72rem;font-style:normal;font-weight:800}.stk-filter.tone-all.on{color:#fff;background:#212529;border-color:#212529}.stk-filter.tone-low.on{color:#c92a2a;background:#fff5f5;border-color:#ffa8a8}.stk-filter.tone-ok.on{color:#2b8a3e;background:#ebfbee;border-color:#8ce99a}.stk-filter.on em{color:inherit;background:#ffffff38}.stk-filter.tone-all.on em{color:#fff;background:#ffffff2e}.stk-sort{border:1px solid var(--line);min-width:11.5rem;min-height:40px;color:var(--muted);background:#fff;border-radius:12px;align-items:center;gap:.35rem;padding:0 .35rem 0 .55rem;display:inline-flex}.stk-sort .mesa-select,.stk-sort .mesa-select-field{flex:1;min-width:0}.stk-sort .mesa-select-field .mesa-select-trigger{min-height:36px;box-shadow:none;color:var(--ink);background:0 0;border:0;padding-inline:.25rem .15rem;font-weight:650}.stk-sort .mesa-select-field.open .mesa-select-trigger,.stk-sort .mesa-select-field .mesa-select-trigger:focus-visible{box-shadow:none;outline:none}.stk-table-wrap{border:1px solid #e8eeea;border-radius:12px;overflow-x:auto}.stk-table{border-collapse:collapse;width:100%;min-width:920px}.stk-table th,.stk-table td{text-align:left;vertical-align:middle;border-bottom:1px solid #eef2f0;padding:.75rem .7rem}.stk-table th{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);background:#f7faf8;font-size:.72rem}.stk-main-scroll .stk-table th{z-index:1;position:sticky;top:0;box-shadow:0 1px #eef2f0}.stk-table tr.is-low{background:linear-gradient(90deg,#fff5f5e6,#0000 42%)}.stk-vendor{text-overflow:ellipsis;white-space:nowrap;color:#1b4332;max-width:9.5rem;font-size:.84rem;font-weight:650;display:inline-block;overflow:hidden}.stk-vendor.empty{color:var(--muted);font-weight:500}.stk-vendor-cell{flex-direction:column;align-items:stretch;gap:.35rem;min-width:11rem;max-width:16rem;display:flex}.stk-vendor-col{vertical-align:top}.stk-vendor-stack{gap:.35rem;width:100%;margin:0;padding:0;list-style:none;display:grid}.stk-vendor-row{grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:.45rem .65rem;padding-left:.65rem;font-size:.8rem;line-height:1.35;display:grid;position:relative}.stk-vendor-row:before{content:"•";color:#6b9080;font-weight:700;position:absolute;top:0;left:0}.stk-vendor-row.is-primary .stk-vendor-name{color:#1b4332;font-weight:700}.stk-vendor-row.is-primary:before{color:#1b8a4c}.stk-vendor-name{text-overflow:ellipsis;color:#2d4a3e;min-width:0;font-weight:600;overflow:hidden}.stk-vendor-tag{color:#1b8a4c;text-transform:uppercase;letter-spacing:.03em;margin-inline-start:.3rem;font-size:.68rem;font-style:normal;font-weight:700;display:inline-block}.stk-vendor-price{color:#405649;white-space:nowrap;font-size:.76rem;font-weight:700}.stk-vendor-row.is-primary .stk-vendor-price{color:#1b4332}.stk-reorder-cell{flex-direction:column;align-items:flex-start;gap:.15rem;display:flex}.stk-vendor-edit{color:var(--teal,#0d9488);white-space:nowrap;font-size:.72rem;font-weight:600;text-decoration:none}.stk-vendor-edit:hover{text-decoration:underline}.zk-ing-hint{color:var(--muted);margin-top:.35rem;font-size:.78rem;line-height:1.35;display:block}.zk-ing-select-add{grid-template-columns:minmax(0,1fr) auto;align-items:stretch;gap:.4rem;display:grid}.zk-ing-quick-add{width:2.65rem;min-height:var(--touch-min,44px);color:#fff;cursor:pointer;background:linear-gradient(#2a8573,#1f6b5c);border:0;border-radius:12px;font-size:1.35rem;font-weight:700;line-height:1;box-shadow:0 8px 14px #1f6b5c38}.zk-ing-quick-add:hover{filter:brightness(1.06)}.zk-ing-quick-modal{z-index:95}.stk-vendor-pick{min-width:9.5rem;max-width:12rem}.stk-vendor-pick .mesa-select,.stk-vendor-pick .mesa-select-field{width:100%}.stk-vendor-pick .mesa-select-field .mesa-select-trigger{background:#fff;border:1px solid #d8e2dc;border-radius:8px;min-height:34px;padding:.3rem .5rem;font-size:.8rem;font-weight:650}.stk-pager{color:var(--muted);border-top:1px solid #eef2f0;flex-wrap:wrap;flex-shrink:0;justify-content:space-between;align-items:center;gap:.75rem;margin-top:.55rem;padding:.65rem .15rem .1rem;font-size:.8rem;display:flex}.stk-pager-actions{flex-wrap:wrap;align-items:center;gap:.28rem;display:flex}.stk-page-btn{color:#1b4332;cursor:pointer;background:#fff;border:1px solid #d8e2dc;border-radius:8px;min-width:2rem;height:2rem;padding:0 .55rem;font-size:.78rem;font-weight:700}.stk-page-btn:hover:not(:disabled){background:#f1f8f4;border-color:#1f6b5c}.stk-page-btn.on{color:#fff;background:#1b4332;border-color:#1b4332}.stk-page-btn:disabled{opacity:.4;cursor:not-allowed}.stk-item{align-items:flex-start;gap:.55rem;display:flex}.stk-item strong{line-height:1.25;display:block}.stk-item span{color:var(--muted);margin-top:.12rem;font-size:.75rem;display:block}.stk-cat-dot{background:#868e96;border-radius:50%;flex-shrink:0;width:.65rem;height:.65rem;margin-top:.35rem}.stk-cat-dot.tone-meat,.stk-cat-pill.tone-meat{--stk-c:#c92a2a;--stk-bg:#fff5f5}.stk-cat-dot.tone-produce,.stk-cat-pill.tone-produce{--stk-c:#2b8a3e;--stk-bg:#ebfbee}.stk-cat-dot.tone-dairy,.stk-cat-pill.tone-dairy{--stk-c:#1971c2;--stk-bg:#e7f5ff}.stk-cat-dot.tone-bev,.stk-cat-pill.tone-bev{--stk-c:#e8590c;--stk-bg:#fff4e6}.stk-cat-dot.tone-dry,.stk-cat-pill.tone-dry{--stk-c:#9c6b1f;--stk-bg:#fff9db}.stk-cat-dot.tone-other,.stk-cat-pill.tone-other{--stk-c:#5c7cfa;--stk-bg:#edf2ff}.stk-cat-dot{background:var(--stk-c,#868e96)}.stk-cat-pill{color:var(--stk-c,#495057);background:var(--stk-bg,#f1f3f5);border-radius:999px;padding:.18rem .5rem;font-size:.72rem;font-weight:750;display:inline-flex}.stk-level{background:#e9ecef;border-radius:999px;width:4.5rem;height:.45rem;overflow:hidden}.stk-level-bar{border-radius:inherit;background:linear-gradient(90deg,#2b8a3e,#51cf66);height:100%;display:block}.stk-level-bar.low{background:linear-gradient(90deg,#c92a2a,#ff6b6b)}.stk-badge{border-radius:999px;align-items:center;gap:.25rem;padding:.22rem .5rem;font-size:.72rem;font-weight:800;display:inline-flex}.stk-badge .inv-ico{width:.9rem;height:.9rem}.stk-badge.ok{color:#2b8a3e;background:#d3f9d8}.stk-badge.low{color:#c92a2a;background:#ffe3e3}.stk-adjust-btn{appearance:none;color:#1f6b5c;min-height:36px;font:inherit;cursor:pointer;background:#f7faf8;border:1px solid #c3d4cb;border-radius:10px;align-items:center;gap:.3rem;padding:.3rem .65rem;font-weight:750;display:inline-flex}.stk-adjust-btn:hover{background:#ebfbee;border-color:#8ce99a}.stk-empty{text-align:center;color:var(--muted);background:#f8faf9;border:1px dashed #d5ded8;border-radius:14px;place-items:center;gap:.35rem;padding:2.5rem 1rem;display:grid}.stk-empty-ico{color:#1f6b5c;background:#ebfbee;border-radius:14px;place-items:center;width:3rem;height:3rem;margin-bottom:.25rem;display:grid}.stk-empty strong{color:var(--ink)}.stk-panel{padding:.85rem}.stk-panel header{justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.65rem;display:flex}.stk-panel h2{align-items:center;gap:.4rem;margin:0;font-size:.95rem;display:inline-flex}.stk-panel header em{text-align:center;min-width:1.4rem;color:var(--muted);background:#f1f3f5;border-radius:999px;padding:.12rem .4rem;font-size:.75rem;font-style:normal;font-weight:800}.stk-panel.alerts header em{color:#c92a2a;background:#ffe3e3}.stk-alert-list,.stk-po-list,.stk-recipe-list{gap:.45rem;display:grid}.stk-alert,.stk-po,.stk-recipe{text-align:left;color:inherit;font:inherit;cursor:pointer;background:#f8faf9;border:1px solid #eef2f0;border-radius:12px;gap:.15rem;padding:.65rem .7rem;text-decoration:none;display:grid}.stk-alert:hover,.stk-po:hover{background:#ebfbee;border-color:#b2f2bb}.stk-alert strong,.stk-po strong,.stk-recipe strong{font-size:.88rem}.stk-alert span,.stk-po span,.stk-recipe span{color:var(--muted);font-size:.75rem}.stk-side-empty{color:var(--muted);background:#f8faf9;border:1px dashed #d5ded8;border-radius:12px;gap:.2rem;padding:.85rem;font-size:.82rem;display:grid}.stk-side-empty.ok{color:#2b8a3e;background:#ebfbee;border-style:solid;border-color:#b2f2bb;grid-template-columns:auto 1fr;align-items:center;gap:.55rem}.stk-po-cta{justify-content:center;margin-top:.2rem}.stk-modal{gap:.65rem;width:min(28rem,100vw - 1.5rem);max-width:28rem;display:grid}.stk-delta-row{grid-template-columns:auto auto 1fr auto auto;align-items:center;gap:.35rem;display:grid}.stk-delta-btn{appearance:none;border:1px solid var(--line);color:var(--ink);min-width:42px;min-height:42px;font:inherit;cursor:pointer;background:#f8faf9;border-radius:10px;place-items:center;padding:0 .55rem;font-weight:750;display:grid}.stk-reason-chips{flex-wrap:wrap;gap:.35rem;display:flex}.stk-reason-chips button{appearance:none;border:1px solid var(--line);font:inherit;cursor:pointer;color:var(--ink-soft);background:#fff;border-radius:999px;padding:.3rem .65rem;font-size:.78rem;font-weight:700}.stk-reason-chips button.on{color:#2b8a3e;background:#ebfbee;border-color:#8ce99a}@media (width<=1280px){.stk-layout{grid-template-columns:minmax(0,1.35fr) minmax(240px,.65fr)}.stk-hero-stats{order:3;width:100%}.stk-hero-actions{order:4;justify-content:flex-start;width:100%}}@media (width<=1100px){.stk-page-inner{overflow:hidden}.stk-layout{flex:auto;grid-template-rows:minmax(0,1fr) auto;grid-template-columns:1fr;min-height:0;overflow:hidden}.stk-main{min-height:min(62vh,720px);max-height:none}.stk-side{max-height:min(34vh,420px)}}@media (width<=720px){.stk-page-inner{gap:.65rem;margin:.45rem .55rem}.stk-hero{flex-direction:column;align-items:stretch;padding:.75rem}.stk-hero-brand h1{font-size:1.05rem}.stk-hero-actions{grid-template-columns:1fr 1fr;display:grid}.stk-hero-actions .stk-link-btn.primary{grid-column:1/-1}.stk-layout{grid-template-rows:minmax(0,1fr) auto}.stk-main{min-height:min(56vh,560px);padding:.65rem}.stk-side{max-height:min(38vh,360px)}.stk-toolbar{flex-direction:column;align-items:stretch}.stk-sort{width:100%}.stk-table{min-width:780px}.stk-pager{flex-direction:column;align-items:stretch}.stk-pager-actions{flex-wrap:wrap;justify-content:center}.stk-delta-row{grid-template-columns:1fr 1fr}.stk-delta-row input{order:-1;grid-column:1/-1}}.app-shell:has(.zk-po) .main-stage{background:#eef3f0;flex-direction:column;max-width:none;height:100%;min-height:0;padding:0;display:flex;overflow:hidden}.app-shell:has(.zk-po) .main-stage>.zk-po{flex:auto;width:100%;height:100%;min-height:0}.zk-po .zk-dash-header{z-index:30;isolation:isolate;flex-shrink:0;min-width:0;margin:.55rem .8rem 0;position:relative;top:auto}.zk-po .zk-dash-brand{color:inherit;min-width:0;text-decoration:none}.zk-po{background:radial-gradient(720px 340px at 0 0,#1f6b5c1f,#0000 55%),radial-gradient(560px 280px at 100% 8%,#c45c2614,#0000 50%),linear-gradient(#eef3f0 0%,#e6ece8 100%);flex-direction:column;gap:0;min-width:0;height:100%;min-height:0;display:flex;overflow:hidden}.zk-po>.zk-hub-foot{z-index:20;flex-shrink:0;margin-top:0;position:relative;bottom:auto}.po-page-inner{overscroll-behavior:contain;flex-direction:column;flex:auto;gap:.85rem;min-width:0;min-height:0;margin:.55rem .8rem;padding-bottom:.85rem;display:flex;overflow:auto}.po-ico{width:1.05rem;height:1.05rem;display:block}.po-hero{color:#f3fbf7;z-index:10;background:linear-gradient(135deg,#0b3d2e 0%,#1f6b5c 48%,#c45c26 100%);border-radius:16px;flex-wrap:wrap;flex-shrink:0;justify-content:space-between;align-items:center;gap:.85rem;padding:.85rem 1rem;display:flex;position:sticky;top:0;box-shadow:0 10px 24px #0b3d2e33}.po-hero-brand{align-items:center;gap:.7rem;min-width:0;display:flex}.po-hero-brand h1{font-family:var(--font-display);margin:0;font-size:1.2rem;font-weight:750}.po-hero-brand p{opacity:.9;margin:.1rem 0 0;font-size:.78rem}.po-hero-mark{background:#ffffff24;border-radius:12px;place-items:center;width:2.5rem;height:2.5rem;display:grid}.po-hero-mark .po-ico{width:1.3rem;height:1.3rem}.po-hero-stats{flex-wrap:wrap;gap:.45rem;display:flex}.po-stat{background:#ffffff24;border-radius:999px;align-items:center;gap:.35rem;padding:.38rem .65rem;font-size:.76rem;display:inline-flex}.po-stat strong{font-size:.92rem}.po-stat em{opacity:.9;font-style:normal}.po-stat.warn{background:#ffd6a547}.po-hero-actions{flex-wrap:wrap;gap:.4rem;display:flex}.po-link-btn{color:#fff;font:inherit;cursor:pointer;background:#ffffff1a;border:1px solid #ffffff52;border-radius:10px;align-items:center;gap:.35rem;padding:.45rem .75rem;font-size:.82rem;font-weight:700;text-decoration:none;display:inline-flex}.po-link-btn.primary{color:#1b4332;background:#fff;border-color:#fff}.po-layout{grid-template-columns:minmax(0,1fr) 260px;align-items:start;gap:.85rem;display:grid}.po-main{background:#fff;border:1px solid #e8eeea;border-radius:16px;min-width:0;padding:.85rem;box-shadow:0 8px 20px #10281c0a}.po-toolbar{flex-wrap:wrap;align-items:center;gap:.55rem;margin-bottom:.75rem;display:flex}.po-search{border:1px solid var(--line);min-height:40px;color:var(--muted);background:#f7faf8;border-radius:12px;flex:220px;align-items:center;gap:.45rem;padding:0 .75rem;display:flex}.po-search input{font:inherit;color:var(--ink);background:0 0;border:0;outline:none;flex:1;min-width:0}.po-filters{flex-wrap:wrap;gap:.35rem;display:flex}.po-filter{font:inherit;color:#495057;cursor:pointer;background:#fff;border:1px solid #d8e2dc;border-radius:999px;align-items:center;gap:.35rem;padding:.35rem .65rem;font-size:.78rem;font-weight:700;display:inline-flex}.po-filter em{color:#495057;background:#eef2f0;border-radius:999px;padding:.05rem .35rem;font-size:.72rem;font-style:normal}.po-filter.on{color:#fff;background:#1b4332;border-color:#1b4332}.po-filter.on em{color:#fff;background:#ffffff2e}.po-table-wrap{border:1px solid #e8eeea;border-radius:12px;overflow:auto}.po-table{border-collapse:collapse;width:100%;min-width:820px}.po-table th,.po-table td{text-align:left;vertical-align:middle;border-bottom:1px solid #eef2f0;padding:.75rem .7rem}.po-table th{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);z-index:1;background:#f7faf8;font-size:.72rem;position:sticky;top:0}.po-id strong{line-height:1.25;display:block}.po-id span{color:var(--muted);margin-top:.12rem;font-size:.75rem;display:block}.po-vendor{text-overflow:ellipsis;white-space:nowrap;color:#1b4332;max-width:10rem;font-weight:650;display:inline-block;overflow:hidden}.po-badge{text-transform:capitalize;border-radius:999px;padding:.18rem .55rem;font-size:.72rem;font-weight:750;display:inline-flex}.po-badge.tone-ok{color:#2b8a3e;background:#ebfbee}.po-badge.tone-warn{color:#e67700;background:#fff4e6}.po-badge.tone-info{color:#1971c2;background:#e7f5ff}.po-badge.tone-draft{color:#495057;background:#f1f3f5}.po-badge.tone-muted{color:#868e96;background:#f8f9fa}.po-lines{color:var(--ink-soft);flex-direction:column;gap:.15rem;font-size:.8rem;display:flex}.po-lines em{color:var(--muted);font-size:.74rem;font-style:normal}.po-date{color:var(--muted);white-space:nowrap;font-size:.78rem}.po-actions{flex-wrap:wrap;gap:.3rem;display:flex}.po-act{font:inherit;cursor:pointer;color:#1b4332;background:#fff;border:1px solid #d8e2dc;border-radius:8px;align-items:center;gap:.3rem;padding:.35rem .55rem;font-size:.74rem;font-weight:700;display:inline-flex}.po-act .po-ico{width:.9rem;height:.9rem}.po-act.primary{color:#fff;background:#1b4332;border-color:#1b4332}.po-act.teal{color:#087f5b;background:#e6fcf5;border-color:#96f2d7}.po-act.ghost{color:var(--muted);background:0 0}.po-pager{color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;padding:.55rem .15rem .1rem;font-size:.8rem;display:flex}.po-pager-actions{flex-wrap:wrap;align-items:center;gap:.28rem;display:flex}.po-page-btn{color:#1b4332;cursor:pointer;background:#fff;border:1px solid #d8e2dc;border-radius:8px;min-width:2rem;height:2rem;padding:0 .55rem;font-size:.78rem;font-weight:700}.po-page-btn.on{color:#fff;background:#1b4332;border-color:#1b4332}.po-page-btn:disabled{opacity:.4;cursor:not-allowed}.po-empty{text-align:center;color:var(--muted);place-items:center;gap:.35rem;padding:2.5rem 1rem;display:grid}.po-empty strong{color:var(--ink);font-size:1.05rem}.po-empty p{max-width:28rem;margin:0}.po-empty-ico{color:#1f6b5c;background:#ebfbee;border-radius:14px;place-items:center;width:3rem;height:3rem;margin-bottom:.35rem;display:grid}.po-empty-ico .po-ico{width:1.4rem;height:1.4rem}.po-empty-actions{flex-wrap:wrap;justify-content:center;gap:.45rem;margin-top:.55rem;display:flex}.po-empty.locked{min-height:40vh}.po-side{flex-direction:column;gap:.75rem;display:flex}.po-panel{background:#fff;border:1px solid #e8eeea;border-radius:14px;padding:.75rem .85rem;box-shadow:0 8px 18px #10281c0a}.po-panel header{justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.55rem;display:flex}.po-panel h2{align-items:center;gap:.35rem;margin:0;font-size:.88rem;font-weight:750;display:inline-flex}.po-panel header em{color:#c92a2a;background:#fff5f5;border-radius:999px;padding:.12rem .45rem;font-size:.75rem;font-style:normal;font-weight:800}.po-pipeline{gap:.4rem;margin:0;padding:0;list-style:none;display:grid}.po-pipeline li{background:#f7faf8;border-radius:10px;justify-content:space-between;align-items:center;padding:.4rem .5rem;font-size:.82rem;display:flex}.po-side-empty{color:var(--muted);gap:.25rem;font-size:.8rem;display:grid}.po-side-empty strong{color:var(--ink)}.po-side-empty a,.po-side-link{color:#1f6b5c;font-size:.8rem;font-weight:700;text-decoration:none}.po-vendor-list{gap:.4rem;display:grid}.po-vendor-row{background:#f7faf8;border-radius:10px;gap:.1rem;padding:.4rem .5rem;display:grid}.po-vendor-row strong{font-size:.84rem}.po-vendor-row span{color:var(--muted);font-size:.74rem}.po-side-hint{color:var(--muted);margin:0 0 .55rem;font-size:.8rem}.po-side-cta{color:#fff;background:#1b4332;border-radius:10px;justify-content:center;align-items:center;width:100%;padding:.55rem .75rem;font-size:.84rem;font-weight:750;text-decoration:none;display:inline-flex}.po-draft-head{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);grid-template-columns:minmax(0,1.4fr) 4.75rem 5.75rem 2.25rem;gap:.45rem;padding:0 .1rem .25rem;font-size:.68rem;font-weight:750;display:grid}.po-draft-row{grid-template-columns:minmax(0,1.4fr) 4.75rem 5.75rem 2.25rem;align-items:end;gap:.45rem;width:100%;min-width:0;margin-bottom:.55rem;display:grid}.po-draft-row>.mesa-select,.po-draft-row>.mesa-select-field,.po-draft-row>.po-draft-item{width:100%;min-width:0}.po-draft-item{grid-template-columns:minmax(0,1fr) 2.25rem;align-items:end;gap:.35rem;display:grid}.po-draft-item .mesa-select,.po-draft-item .mesa-select-field{width:100%;min-width:0}.po-draft-quick-add{color:#fff;cursor:pointer;background:linear-gradient(#2a8573,#1f6b5c);border:0;border-radius:10px;flex-shrink:0;place-items:center;width:2.25rem;min-width:2.25rem;height:2.25rem;margin-bottom:.15rem;font-size:1.25rem;font-weight:700;line-height:1;display:grid;box-shadow:0 6px 12px #1f6b5c33}.po-draft-quick-add:hover{filter:brightness(1.06)}.po-draft-row .mesa-select-field .mesa-select-trigger,.po-draft-row .mesa-select-trigger{width:100%;min-height:42px}.po-draft-field{gap:.2rem;min-width:0;display:grid;position:relative}.po-draft-field-label{letter-spacing:.03em;text-transform:uppercase;color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:.68rem;font-weight:750;display:none;overflow:hidden}.po-draft-row .po-draft-input.search,.po-draft-row .po-draft-field>.search{text-align:center;font-variant-numeric:tabular-nums;border-radius:10px;width:100%;max-width:100%;padding:.55rem .35rem;font-size:.9rem;line-height:1.2;flex:none!important;min-width:0!important}.po-draft-row>.btn,.po-draft-row>.po-draft-remove{border-radius:10px;flex-shrink:0;place-items:center;width:2.25rem;min-width:2.25rem;height:2.25rem;margin-bottom:.15rem;padding:0;display:grid}.po-recv-line{margin-bottom:.65rem}.po-modal{width:min(560px,94vw);max-width:560px;overflow:hidden}.po-modal .mesa-select,.po-modal .mesa-select-field{width:100%;min-width:0}.po-modal>.search{box-sizing:border-box;width:100%;min-width:0}@media (width<=1100px){.po-layout{grid-template-columns:1fr}.po-side{grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem;display:grid}}@media (width<=900px){.zk-po .zk-dash-header,.zk-stock .zk-dash-header,.zk-kds .zk-dash-header,.zk-online .zk-dash-header{margin:.45rem .55rem 0}.po-page-inner{gap:.65rem;margin:.45rem .55rem}.po-hero{grid-template-columns:1fr;gap:.65rem;padding:.75rem .85rem;display:grid}.po-hero-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:.4rem;display:grid}.po-stat{justify-content:center;min-width:0;padding:.4rem .35rem;font-size:.72rem}.po-stat .po-ico{display:none}.po-hero-actions{grid-template-columns:1fr 1fr;gap:.4rem;display:grid}.po-hero-actions .po-link-btn{justify-content:center;min-height:2.4rem}.po-hero-actions .po-link-btn.primary{grid-column:1/-1}.po-filters{-webkit-overflow-scrolling:touch;flex-wrap:nowrap;padding-bottom:.2rem;overflow-x:auto}.po-filter{flex-shrink:0}.po-side{grid-template-columns:1fr}}@media (width<=720px){.zk-po .zk-dash-header,.zk-stock .zk-dash-header,.zk-kds .zk-dash-header,.zk-online .zk-dash-header{border-radius:14px;margin:.4rem .4rem 0}.po-page-inner{margin:.4rem;padding-bottom:.65rem}.po-hero-brand h1{font-size:1.05rem}.po-hero-brand p{font-size:.72rem}.po-hero-mark{width:2.15rem;height:2.15rem}.po-stat strong{font-size:.85rem}.po-main{border-radius:14px;padding:.7rem}.po-toolbar{flex-direction:column;align-items:stretch}.po-search{flex:auto;width:100%}.po-table{min-width:640px}.po-actions{flex-direction:column;align-items:stretch}.po-act{justify-content:center}.po-modal-backdrop{justify-content:stretch;align-items:flex-end;padding:0;display:flex}.po-modal{box-sizing:border-box;border-radius:16px 16px 0 0;width:100%;max-width:100%;max-height:min(92vh,100%);margin:0;padding:.9rem .85rem 1rem;animation:none;overflow:auto}.po-modal .section-head{align-items:flex-start;gap:.5rem}.po-modal .section-head h2{font-size:1.05rem;line-height:1.25}.po-modal>.search{width:100%;min-width:0}.po-draft-head{display:none}.po-draft-field-label{display:block}.po-draft-row{background:#f7faf8;border:1px solid #e8eeea;border-radius:12px;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 2.25rem;grid-template-areas:"item item remove""qty cost cost";align-items:start;gap:.4rem;padding:.55rem}.po-draft-row>.mesa-select,.po-draft-row>.mesa-select-field,.po-draft-row>.po-draft-item{grid-area:item}.po-draft-row>.po-draft-qty{grid-area:qty}.po-draft-row>.po-draft-cost{grid-area:cost}.po-draft-row>.po-draft-remove{grid-area:remove;place-self:start end;margin-top:.15rem}.po-modal-actions{margin-top:.85rem}.po-modal-actions .btn{white-space:nowrap;width:100%;min-height:2.75rem}.zk-po>.zk-hub-foot{gap:.55rem;padding:.55rem .75rem}}.po-modal-actions{margin-top:.75rem}.po-modal-actions .btn{width:100%;min-height:2.6rem}.app-shell:has(.zk-vnd) .main-stage{background:#eef3f0;flex-direction:column;max-width:none;height:100%;min-height:0;padding:0;display:flex;overflow:hidden}.app-shell:has(.zk-vnd) .main-stage>.zk-vnd{flex:auto;width:100%;height:100%;min-height:0}.zk-vnd .zk-dash-header{z-index:30;isolation:isolate;flex-shrink:0;min-width:0;margin:.55rem .8rem 0;position:relative;top:auto}.zk-vnd .zk-dash-brand{color:inherit;min-width:0;text-decoration:none}.zk-vnd{background:radial-gradient(720px 340px at 0 0,#1f6b5c1f,#0000 55%),radial-gradient(560px 280px at 100% 8%,#1971c214,#0000 50%),linear-gradient(#eef3f0 0%,#e6ece8 100%);flex-direction:column;gap:0;min-width:0;height:100%;min-height:0;display:flex;overflow:hidden}.zk-vnd>.zk-hub-foot{z-index:20;flex-shrink:0;margin-top:0;position:relative;bottom:auto}.vnd-page-inner{overscroll-behavior:contain;flex-direction:column;flex:auto;gap:.85rem;min-width:0;min-height:0;margin:.55rem .8rem;padding-bottom:.85rem;display:flex;overflow:auto}.vnd-ico{width:1.05rem;height:1.05rem;display:block}.vnd-hero{color:#f3fbf7;z-index:10;background:linear-gradient(135deg,#0b3d2e 0%,#1f6b5c 45%,#1971c2 100%);border-radius:16px;flex-wrap:wrap;flex-shrink:0;justify-content:space-between;align-items:center;gap:.85rem;padding:.85rem 1rem;display:flex;position:sticky;top:0;box-shadow:0 10px 24px #0b3d2e33}.vnd-hero-brand{align-items:center;gap:.7rem;min-width:0;display:flex}.vnd-hero-brand h1{font-family:var(--font-display);margin:0;font-size:1.2rem;font-weight:750}.vnd-hero-brand p{opacity:.9;margin:.1rem 0 0;font-size:.78rem}.vnd-hero-mark{background:#ffffff24;border-radius:12px;place-items:center;width:2.5rem;height:2.5rem;display:grid}.vnd-hero-mark .vnd-ico{width:1.3rem;height:1.3rem}.vnd-hero-stats{flex-wrap:wrap;gap:.45rem;display:flex}.vnd-stat{background:#ffffff24;border-radius:999px;align-items:center;gap:.35rem;padding:.38rem .65rem;font-size:.76rem;display:inline-flex}.vnd-stat strong{font-size:.92rem}.vnd-stat em{opacity:.9;font-style:normal}.vnd-stat.warn{background:#ffd6a547}.vnd-hero-actions{flex-wrap:wrap;gap:.4rem;display:flex}.vnd-link-btn{color:#fff;font:inherit;cursor:pointer;background:#ffffff1a;border:1px solid #ffffff52;border-radius:10px;align-items:center;gap:.35rem;padding:.45rem .75rem;font-size:.82rem;font-weight:700;text-decoration:none;display:inline-flex}.vnd-link-btn.primary{color:#1b4332;background:#fff;border-color:#fff}.vnd-main{background:#fff;border:1px solid #e8eeea;border-radius:16px;min-width:0;padding:.85rem;box-shadow:0 8px 20px #10281c0a}.vnd-toolbar{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.75rem;display:flex}.vnd-search{border:1px solid var(--line);min-height:40px;color:var(--muted);background:#f7faf8;border-radius:12px;flex:200px;align-items:center;gap:.45rem;padding:0 .75rem;display:flex}.vnd-search input{font:inherit;color:var(--ink);background:0 0;border:0;outline:none;flex:1;min-width:0}.vnd-filters{flex-wrap:wrap;gap:.35rem;display:flex}.vnd-filter{min-height:40px;font:inherit;color:#495057;cursor:pointer;background:#fff;border:1px solid #d8e2dc;border-radius:999px;align-items:center;gap:.35rem;padding:.35rem .65rem;font-size:.78rem;font-weight:700;display:inline-flex}.vnd-filter em{background:#eef2f0;border-radius:999px;padding:.05rem .35rem;font-size:.72rem;font-style:normal}.vnd-filter.on{color:#fff;background:#1b4332;border-color:#1b4332}.vnd-filter.on em{color:#fff;background:#ffffff2e}.vnd-pick{border:1px solid var(--line);min-width:8.75rem;max-width:11.5rem;min-height:40px;color:var(--muted);background:#fff;border-radius:12px;flex:none;align-items:center;gap:.35rem;padding:0 .35rem 0 .55rem;display:inline-flex}.vnd-pick.vnd-sort{min-width:10rem}.vnd-pick .mesa-select,.vnd-pick .mesa-select-field{flex:1;width:auto;min-width:0}.vnd-pick .mesa-select-field .mesa-select-trigger{min-height:36px;box-shadow:none;color:var(--ink);background:0 0;border:0;padding-inline:.25rem .15rem;font-size:.82rem;font-weight:650}.vnd-pick .mesa-select-field.open .mesa-select-trigger,.vnd-pick .mesa-select-field .mesa-select-trigger:focus-visible{box-shadow:none;outline:none}.vnd-reset{color:#1f6b5c;font:inherit;cursor:pointer;white-space:nowrap;background:0 0;border:0;padding:.25rem .4rem;font-size:.78rem;font-weight:700}.vnd-reset:hover{text-underline-offset:2px;text-decoration:underline}.vnd-table-wrap{border:1px solid #e8eeea;border-radius:12px;overflow:auto}.vnd-table{border-collapse:collapse;table-layout:fixed;width:100%;min-width:640px}.vnd-col-vendor{width:30%}.vnd-col-contact{width:18%}.vnd-col-city{width:14%}.vnd-col-pos{width:10%}.vnd-col-status{width:12%}.vnd-col-action{width:10%}.vnd-table th,.vnd-table td{text-align:left;vertical-align:middle;border-bottom:1px solid #eef2f0;padding:.6rem .7rem}.vnd-table tbody tr:last-child td{border-bottom:0}.vnd-table tbody tr:hover td{background:#f8fbf9}.vnd-table th{letter-spacing:.05em;text-transform:uppercase;color:var(--muted);z-index:1;background:#f7faf8;font-size:.7rem;font-weight:750;position:sticky;top:0}.vnd-table tr.is-inactive{opacity:.7}.vnd-name{align-items:flex-start;gap:.55rem;min-width:0;display:flex}.vnd-dot{background:#2b8a3e;border-radius:50%;flex-shrink:0;width:.45rem;height:.45rem;margin-top:.42rem;box-shadow:0 0 0 3px #ebfbee}.vnd-dot.off{background:#adb5bd;box-shadow:0 0 0 3px #f1f3f5}.vnd-name-text{min-width:0}.vnd-name-text strong{text-overflow:ellipsis;white-space:nowrap;font-size:.9rem;line-height:1.3;display:block;overflow:hidden}.vnd-name-text span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin-top:.1rem;font-size:.72rem;display:block;overflow:hidden}.vnd-muted{color:var(--muted);font-size:.85rem;font-style:normal}.vnd-city{color:#2d4a3e;text-overflow:ellipsis;white-space:nowrap;background:#f1f5f3;border-radius:8px;max-width:100%;padding:.18rem .5rem;font-size:.78rem;font-weight:650;display:inline-flex;overflow:hidden}.vnd-po-chip{color:#1b4332;background:#fff;border:1px solid #d8e2dc;border-radius:8px;justify-content:center;align-items:center;min-width:2rem;padding:.2rem .5rem;font-size:.84rem;font-weight:750;text-decoration:none;display:inline-flex}.vnd-po-chip.empty{color:var(--muted);background:#f8faf9}.vnd-po-chip:hover{background:#ebfbee;border-color:#1b4332}.vnd-badge{border-radius:999px;padding:.18rem .55rem;font-size:.72rem;font-weight:750;display:inline-flex}.vnd-badge.ok{color:#2b8a3e;background:#ebfbee}.vnd-badge.off{color:#868e96;background:#f1f3f5}.vnd-actions{justify-content:flex-end;gap:.28rem;display:flex}.vnd-icon-btn{color:#1b4332;cursor:pointer;background:#fff;border:1px solid #d8e2dc;border-radius:8px;place-items:center;width:2rem;height:2rem;padding:0;display:grid}.vnd-icon-btn .vnd-ico{width:.95rem;height:.95rem}.vnd-icon-btn:hover{background:#ebfbee;border-color:#1b4332}.vnd-icon-btn.danger{color:#c92a2a}.vnd-icon-btn.danger:hover{background:#fff5f5;border-color:#fa5252}.vnd-pager{color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;padding:.55rem .15rem .1rem;font-size:.8rem;display:flex}.vnd-pager-actions{flex-wrap:wrap;align-items:center;gap:.28rem;display:flex}.vnd-page-btn{color:#1b4332;cursor:pointer;background:#fff;border:1px solid #d8e2dc;border-radius:8px;min-width:2rem;height:2rem;padding:0 .55rem;font-size:.78rem;font-weight:700}.vnd-page-btn.on{color:#fff;background:#1b4332;border-color:#1b4332}.vnd-page-btn:disabled{opacity:.4;cursor:not-allowed}.vnd-empty{text-align:center;color:var(--muted);place-items:center;gap:.35rem;padding:2.5rem 1rem;display:grid}.vnd-empty strong{color:var(--ink);font-size:1.05rem}.vnd-empty p{max-width:28rem;margin:0}.vnd-empty-ico{color:#1f6b5c;background:#ebfbee;border-radius:14px;place-items:center;width:3rem;height:3rem;margin-bottom:.35rem;display:grid}.vnd-empty-ico .vnd-ico{width:1.4rem;height:1.4rem}.vnd-empty-actions{flex-wrap:wrap;justify-content:center;gap:.45rem;margin-top:.55rem;display:flex}.vnd-empty.locked{min-height:40vh}.vnd-check{color:var(--ink);align-items:center;gap:.45rem;font-size:.88rem;font-weight:650;display:inline-flex}.vnd-modal{width:min(480px,94vw);max-width:480px}.vnd-modal>.search{box-sizing:border-box;width:100%;min-width:0}.vnd-modal-actions{margin-top:.35rem}.vnd-modal-actions .btn{width:100%;min-height:2.6rem}@media (width<=900px){.zk-vnd .zk-dash-header{margin:.45rem .55rem 0}.vnd-page-inner{margin:.45rem .55rem}.vnd-hero{grid-template-columns:1fr;gap:.65rem;display:grid}.vnd-hero-stats{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.vnd-stat{justify-content:center}.vnd-stat .vnd-ico{display:none}.vnd-hero-actions{grid-template-columns:1fr 1fr;display:grid}.vnd-hero-actions .vnd-link-btn{justify-content:center}.vnd-hero-actions .vnd-link-btn.primary{grid-column:1/-1}}@media (width<=720px){.zk-vnd .zk-dash-header{border-radius:14px;margin:.4rem .4rem 0}.vnd-page-inner{margin:.4rem}.vnd-toolbar{flex-direction:column;align-items:stretch}.vnd-filters{flex-wrap:nowrap;overflow-x:auto}.vnd-filter{flex-shrink:0}.vnd-pick{width:100%;max-width:none}.vnd-table{table-layout:auto;min-width:560px}.vnd-modal-backdrop{align-items:flex-end;padding:0;display:flex}.vnd-modal{border-radius:16px 16px 0 0;width:100%;max-width:100%;max-height:min(92vh,100%);margin:0;overflow:auto}}.zk-ing{background:radial-gradient(700px 320px at 0 0,#1f8a4c1a,#0000 55%),linear-gradient(#eef3f0 0%,#e6ece8 100%);flex-direction:column;min-height:100vh;display:flex}.zk-ing>.zk-hub-top,.zk-ing>.zk-ing-bar,.zk-ing>.zk-ing-filters{flex-shrink:0}.zk-ing>.zk-hub-foot{flex-shrink:0;margin-top:auto}.zk-ing-bar{background:#fff;border-radius:16px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin:.85rem 1rem 0;padding:.85rem 1rem;display:flex;box-shadow:0 10px 24px #12201c14}.zk-ing-bar-text{flex:12rem;min-width:0}.zk-ing-bar-text h1{font-family:var(--font-display);color:#0f2a1f;margin:0;font-size:1.3rem;font-weight:800}.zk-ing-bar-text p{color:var(--muted);max-width:42rem;margin:.2rem 0 0;font-size:.82rem;font-weight:600;line-height:1.45}.zk-ing-bar-actions{flex:16rem;justify-content:flex-end;align-items:center;gap:.55rem;min-width:0;display:flex}.floor-master-tabs{background:color-mix(in srgb, var(--teal,#1f6b5c) 10%, #fff);border:1px solid color-mix(in srgb, var(--teal,#1f6b5c) 18%, transparent);border-radius:999px;flex-shrink:0;align-items:center;gap:.2rem;padding:.18rem;display:inline-flex}@supports not (color: color-mix(in srgb, red 50%, blue)){.floor-master-tabs{background:#e9f0ef;border:1px solid rgba(31, 107, 92, 0.18)}}.floor-master-tabs button{color:var(--muted,#5c6b66);font:inherit;cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:999px;padding:.4rem .75rem;font-size:.78rem;font-weight:700}.floor-master-tabs button.active{background:var(--teal,#1f6b5c);color:#fff}.zk-ing-search{flex:12rem;min-width:0;max-width:22rem}.zk-ing-search input{width:100%;min-height:var(--touch-min,2.75rem);font:inherit;color:var(--ink);background:#f3f7f4;border:0;border-radius:12px;padding:.55rem .85rem;box-shadow:inset 0 0 0 1px #d5e0d8}.zk-ing-search input:focus{outline:none;box-shadow:inset 0 0 0 1.5px #0f766e,0 0 0 3px #0f766e1f}.zk-ing-add{color:#fff;cursor:pointer;background:linear-gradient(#2aa35f,#1b8a4c);border:0;border-radius:50%;flex:none;width:2.75rem;height:2.75rem;font-size:1.5rem;font-weight:700;line-height:1;box-shadow:0 8px 18px #1b8a4c47}.zk-ing-add:hover{filter:brightness(1.05)}.zk-ing-filters{flex-wrap:wrap;gap:.4rem;padding:.75rem 1rem 0;display:flex}.zk-ing-filters button{appearance:none;color:var(--ink-soft);font:inherit;cursor:pointer;background:#fff;border:1px solid #c9d5cd;border-radius:999px;align-items:center;gap:.35rem;padding:.4rem .75rem;font-size:.8rem;font-weight:650;display:inline-flex}.zk-ing-filters button em{font-variant-numeric:tabular-nums;opacity:.75;font-style:normal}.zk-ing-filters button.on{color:#fff;background:#0f766e;border-color:#0f766e}.zk-ing-body{flex:auto;min-height:0;padding:.85rem 1rem 1.25rem;overflow:auto}.zk-ing-grid{grid-template-columns:repeat(auto-fill,minmax(18.5rem,1fr));gap:.65rem;display:grid}.zk-mst-panel{background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 10px 24px #12201c14}.zk-mst-panel-head{background:linear-gradient(#fafcfb 0%,#f4f8f5 100%);border-bottom:1px solid #e6ece8;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;padding:.75rem 1rem;display:flex}.zk-mst-panel-head strong{color:#0f2a1f;font-size:.88rem}.zk-mst-panel-head em{color:var(--muted);font-size:.78rem;font-style:normal;font-weight:600}.zk-mst-table-wrap{overflow-x:auto}.zk-mst-table{border-collapse:collapse;width:100%;font-size:.86rem}.zk-mst-table th,.zk-mst-table td{text-align:start;vertical-align:middle;border-bottom:1px solid #eef2ef;padding:.72rem 1rem}.zk-mst-table th{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);background:#f8faf9;font-size:.72rem;font-weight:800}.zk-mst-table tbody tr{cursor:pointer;transition:background .12s}.zk-mst-table tbody tr:hover{background:#f3faf7}.zk-mst-table tbody tr.off{opacity:.55}.zk-mst-table .name-cell strong{color:#0f2a1f;font-size:.92rem;line-height:1.35;display:block}.zk-mst-table .name-cell small{color:var(--muted);margin-top:.15rem;font-size:.76rem;line-height:1.35;display:block}.zk-mst-type{white-space:nowrap;border-radius:999px;padding:.2rem .55rem;font-size:.72rem;font-weight:700;display:inline-flex}.zk-mst-type.cold{color:#1d4ed8;background:#eff6ff}.zk-mst-type.dry{color:#c2410c;background:#fff7ed}.zk-mst-type.station{color:#0f766e;background:#ecfdf5}.zk-mst-type.other{color:#4b5563;background:#f3f4f6}.zk-mst-status{border-radius:999px;padding:.2rem .55rem;font-size:.72rem;font-weight:700;display:inline-flex}.zk-mst-status.on{color:#0f766e;background:#ecfdf5}.zk-mst-status.off{color:#b91c1c;background:#fef2f2}.zk-mst-order{font-variant-numeric:tabular-nums;color:#33443d;font-weight:700}.zk-mst-edit{appearance:none;color:#0f766e;font:inherit;cursor:pointer;background:#fff;border:1px solid #c9d5cd;border-radius:10px;padding:.35rem .75rem;font-size:.78rem;font-weight:700}.zk-mst-edit:hover{background:#ecfdf5;border-color:#99f6e4}.zk-ing-card{appearance:none;text-align:start;cursor:pointer;background:#fff;border:0;border-radius:14px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.75rem;padding:.85rem .95rem;transition:transform .12s,box-shadow .12s;display:grid;box-shadow:0 1px #0f281e0a,0 10px 22px #12201c0f}.zk-ing-card:hover{transform:translateY(-1px);box-shadow:0 1px #0f281e0a,0 14px 28px #12201c1a}.zk-ing-card.off{opacity:.62}.zk-ing-card-mark{color:#0f766e;background:linear-gradient(160deg,#e8f6f1,#d5eee6);border-radius:12px;place-items:center;width:2.4rem;height:2.4rem;font-size:.95rem;font-weight:800;display:grid}.zk-ing-card-main{gap:.15rem;min-width:0;display:grid}.zk-ing-card-main strong{color:#0f2a1f;word-break:break-word;font-size:.95rem;line-height:1.3}.zk-ing-card-main small{color:var(--muted);font-size:.78rem;line-height:1.35}.zk-ing-card-vendors{flex-wrap:wrap;align-items:center;gap:.35rem;margin-top:.35rem;display:flex}.zk-ing-card-vendors.muted{color:#94a3b8;font-size:.72rem;font-weight:600}.zk-ing-vendor-chip{white-space:nowrap;text-overflow:ellipsis;border-radius:999px;align-items:center;gap:.35rem;max-width:100%;padding:.18rem .5rem;font-size:.7rem;font-weight:700;line-height:1.2;display:inline-flex;overflow:hidden}.zk-ing-vendor-chip.primary{color:#c2410c;background:#fff7ed;border:1px solid #fdba74}.zk-ing-vendor-chip.primary em{font-variant-numeric:tabular-nums;opacity:.85;border-inline-start:1px solid #c2410c47;padding-inline-start:.25rem;font-style:normal}.zk-ing-vendor-chip.more{color:#64748b;background:#f8fafc;border:1px solid #e2e8f0}.zk-ing-badge{color:#4338ca;white-space:nowrap;background:#eef2ff;border-radius:999px;padding:.28rem .55rem;font-size:.72rem;font-weight:700}.zk-ing-badge.off{color:#64748b;background:#f1f5f9}.zk-ing-badge.cat-produce{color:#047857;background:#ecfdf5}.zk-ing-badge.cat-dairy{color:#1d4ed8;background:#eff6ff}.zk-ing-badge.cat-dry-goods{color:#b45309;background:#fffbeb}.zk-ing-badge.cat-beverage{color:#0369a1;background:#f0f9ff}.zk-ing-badge.cat-protein,.zk-ing-badge.cat-meat{color:#b91c1c;background:#fef2f2}.zk-ing-badge.cat-seafood{color:#0e7490;background:#ecfeff}.zk-ing-badge.cat-spice{color:#7e22ce;background:#faf5ff}.zk-ing-badge.cat-general{color:#475569;background:#f1f5f9}.zk-ing-empty{text-align:center;max-width:22rem;color:var(--muted);justify-items:center;gap:.45rem;margin:2rem auto;display:grid}.zk-ing-empty strong{color:var(--ink);font-size:1.05rem}.zk-ing-modal{z-index:80;background:#0a181273;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.zk-ing-sheet{background:#fff;border-radius:18px;flex-direction:column;width:min(440px,100%);max-height:min(92vh,720px);display:flex;overflow:hidden;box-shadow:0 24px 60px #00000047}.zk-ing-sheet-wide{width:min(580px,100vw - 1.5rem)}.zk-ing-sheet-body{overscroll-behavior:contain;scrollbar-gutter:stable;flex:auto;min-height:0;overflow:hidden auto}.zk-ing-sheet-body .zk-ing-form{padding:.5rem 1.1rem 1rem}.zk-ing-vendors{background:#f8fbf9;border:1px solid #dfe8e1;border-radius:12px;gap:.5rem;padding:.65rem .75rem;display:grid}.zk-ing-vendors-head{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.zk-ing-vendors-head>span{color:var(--ink-soft);font-size:.8rem;font-weight:700}.zk-ing-vendors-add{padding:.25rem .55rem!important;font-size:.75rem!important}.zk-ing-vendors-table{gap:.45rem;display:grid}.zk-ing-vendors-row{grid-template-columns:minmax(0,1fr) 7.25rem 2.35rem;align-items:center;gap:.55rem;display:grid}.zk-ing-vendors-row .mesa-select,.zk-ing-vendors-row .mesa-select-field,.zk-ing-vendors-row .search{width:100%;min-width:0}.zk-ing-vendors-row.head{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;padding-bottom:.15rem;font-size:.72rem;font-weight:700}.zk-ing-vendors-remove{border-radius:999px;place-items:center;width:2.35rem;min-width:2.35rem;height:2.35rem;line-height:1;display:grid;color:#64748b!important;background:#fff!important;border:1px solid #d8e3dc!important;padding:0!important}.zk-ing-vendors-remove:hover{color:#b91c1c!important;background:#fef2f2!important;border-color:#fecaca!important}.stk-vendor-alt{color:var(--muted);margin-inline-start:.35rem;font-size:.72rem;font-style:normal;font-weight:700}.access-denied .ticket-empty{text-align:center;max-width:28rem;margin:2rem auto}.access-denied-hint{color:var(--muted);margin:.5rem 0 0;font-size:.88rem;line-height:1.45}.access-denied-actions{flex-wrap:wrap;justify-content:center;gap:.5rem;margin-top:1.25rem;display:flex}.po-show-all{color:var(--ink-soft);cursor:pointer;align-items:center;gap:.45rem;margin:.35rem 0 .15rem;font-size:.82rem;display:flex}.po-show-all input{accent-color:#1b8a4c}.po-quick-item-modal{z-index:110}.po-quick-item-grid{grid-template-columns:1fr 1fr;gap:.65rem;display:grid}.po-quick-item-error{color:#b42318;background:#fef2f2;border-radius:10px;margin:0;padding:.55rem .7rem;font-size:.82rem;line-height:1.35}.zk-ing-sheet-head{justify-content:space-between;align-items:center;gap:.75rem;padding:1rem 1.1rem .5rem;display:flex}.zk-ing-sheet-head h2{font-family:var(--font-display);margin:0;font-size:1.15rem}.zk-ing-form{gap:.75rem;padding:.5rem 1.1rem 1rem;display:grid}.zk-ing-form label{gap:.3rem;display:grid}.zk-ing-form label>span{color:var(--ink-soft);font-size:.8rem;font-weight:700}.zk-ing-form-note{color:var(--muted);margin:0;font-size:.75rem;line-height:1.4}.zk-ing-form-note code{font-size:.72rem}.zk-ing-actions{background:#fff;border-top:1px solid #e8efe9;border-radius:0 0 18px 18px;flex-wrap:wrap;flex-shrink:0;justify-content:flex-end;gap:.45rem;padding:.75rem 1.1rem 1.1rem;display:flex}.zk-ing-action{appearance:none;color:var(--ink);font:inherit;cursor:pointer;background:#f4f7f5;border:1px solid #c9d5cd;border-radius:12px;padding:.55rem .95rem;font-weight:700}.zk-ing-action.primary{color:#fff;background:linear-gradient(#2aa35f,#1b8a4c);border-color:#0000}.zk-ing-action.danger{color:#b91c1c;background:#fef2f2;border-color:#fecaca}@media (width<=640px){.zk-ing-bar{flex-direction:column;align-items:stretch}.zk-ing-bar-actions{justify-content:stretch}.zk-ing-search{max-width:none}.zk-ing-grid{grid-template-columns:1fr}}.zk-rec{background:radial-gradient(720px 340px at 0 0,#0f766e1c,#0000 58%),radial-gradient(560px 280px at 100% 0,#3882b414,#0000 55%),linear-gradient(#eef3f0 0%,#e6ece8 100%);grid-template-rows:auto 1fr auto;min-height:100vh;display:grid}.rec-page-inner{flex-direction:column;gap:.85rem;min-height:0;padding:0 1rem 1rem;display:flex}.rec-hero{color:#fff;background:linear-gradient(135deg,#0f4a3f 0%,#0f766e 52%,#115e59 100%);border-radius:18px;grid-template-columns:minmax(0,1.4fr) auto auto;align-items:center;gap:1rem 1.25rem;margin-top:.85rem;padding:1rem 1.1rem;display:grid;box-shadow:0 14px 32px #0c282038}.rec-hero-brand{align-items:flex-start;gap:.85rem;min-width:0;display:flex}.rec-hero-mark{background:#ffffff24;border:1px solid #ffffff38;border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;width:2.75rem;height:2.75rem;display:inline-flex}.rec-kicker{letter-spacing:.08em;text-transform:uppercase;opacity:.78;margin:0 0 .15rem;font-size:.72rem;font-weight:800}.rec-hero-brand h1{font-family:var(--font-display);margin:0;font-size:clamp(1.25rem,2vw,1.55rem);font-weight:800;line-height:1.15}.rec-hero-brand p:last-child{opacity:.9;max-width:36rem;margin:.35rem 0 0;font-size:.86rem;line-height:1.4}.rec-hero-stats{flex-wrap:wrap;justify-content:center;gap:.45rem;display:flex}.rec-stat{text-align:center;background:#ffffff1f;border:1px solid #ffffff29;border-radius:12px;flex-direction:column;align-items:center;gap:.15rem;min-width:5.5rem;padding:.55rem .7rem;display:flex}.rec-stat svg{opacity:.92}.rec-stat strong{font-family:var(--font-display);font-size:1.2rem;line-height:1}.rec-stat em{opacity:.82;text-transform:uppercase;letter-spacing:.04em;font-size:.68rem;font-style:normal;font-weight:700}.rec-hero-actions{justify-content:flex-end;align-items:center;display:flex}.rec-link-btn{appearance:none;color:#fff;min-height:2.5rem;font:inherit;cursor:pointer;white-space:nowrap;background:#ffffff1a;border:1px solid #ffffff47;border-radius:999px;align-items:center;gap:.4rem;padding:.45rem .95rem;font-size:.86rem;font-weight:800;text-decoration:none;transition:background .15s,transform .15s;display:inline-flex}.rec-link-btn:hover{background:#ffffff2e}.rec-link-btn.primary{color:#0f766e;background:#fff;border-color:#fff}.rec-link-btn.primary:hover{background:#f0fdf9}.rec-board{background:#fff;border:1px solid #0f5a501a;border-radius:16px;flex-direction:column;flex:auto;gap:.85rem;min-height:0;padding:1rem 1.05rem 1.1rem;display:flex;box-shadow:0 10px 26px #123c2812}.rec-toolbar{flex-wrap:wrap;align-items:center;gap:.65rem;display:flex}.rec-search{min-width:11rem;min-height:2.65rem;color:var(--muted);background:#f8faf9;border:1px solid #d8e2dc;border-radius:12px;flex:14rem;align-items:center;gap:.45rem;padding:0 .8rem;display:flex}.rec-search:focus-within{color:var(--ink);background:#fff;border-color:#0f766e;box-shadow:0 0 0 3px #0f766e1f}.rec-search input{font:inherit;color:var(--ink);background:0 0;border:0;outline:none;flex:1;min-width:0}.rec-filters{flex-wrap:wrap;gap:.35rem;display:flex}.rec-filter{appearance:none;color:var(--ink-soft);min-height:2.35rem;font:inherit;cursor:pointer;background:#fff;border:1px solid #dce5df;border-radius:999px;align-items:center;gap:.35rem;padding:.3rem .75rem;font-size:.84rem;font-weight:700;display:inline-flex}.rec-filter em{color:var(--muted);background:#f1f5f3;border-radius:999px;padding:.08rem .38rem;font-size:.72rem;font-style:normal;font-weight:800}.rec-filter.on{color:#fff;background:#0f766e;border-color:#0f766e}.rec-filter.on em{color:#fff;background:#fff3}.rec-result-chip{color:#0f766e;background:#f0f7f4;border-radius:999px;margin-inline-start:auto;padding:.35rem .65rem;font-size:.78rem;font-weight:800}.rec-table-wrap{overscroll-behavior:contain;border:1px solid #e8eeea;border-radius:12px;flex:auto;min-height:0;overflow:auto}.rec-table{border-collapse:collapse;table-layout:fixed;width:100%;min-width:720px}.rec-col-dish{width:24%}.rec-col-cat{width:14%}.rec-col-ing{width:50%}.rec-col-status{width:12%}.rec-table th,.rec-table td{text-align:start;vertical-align:top;border-bottom:1px solid #edf2ef;padding:.72rem .85rem}.rec-table th{z-index:1;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);background:#f7faf8;font-size:.72rem;font-weight:800;position:sticky;top:0}.rec-table tbody tr:hover td{background:#fbfefd}.rec-table tbody tr.is-off{opacity:.68}.rec-dish{align-items:center;gap:.6rem;min-width:0;display:flex}.rec-dish-mark{color:#fff;background:linear-gradient(145deg,#0f766e,#14b8a6);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:2.1rem;height:2.1rem;font-size:.92rem;font-weight:800;display:inline-flex}.rec-dish-text{min-width:0}.rec-dish-text strong{color:#0f2a1f;white-space:nowrap;text-overflow:ellipsis;font-size:.94rem;display:block;overflow:hidden}.rec-dish-text small{color:var(--muted);margin-top:.12rem;font-size:.76rem;font-weight:700;display:block}.rec-cat{color:#33443d;background:#f3f6f4;border-radius:999px;padding:.2rem .55rem;font-size:.8rem;font-weight:700;display:inline-flex}.rec-chips{flex-wrap:wrap;gap:.35rem;display:flex}.rec-chip{color:#14532d;background:#ecfdf5;border:1px solid #bbf7d0;border-radius:999px;align-items:center;gap:.35rem;max-width:100%;padding:.28rem .55rem;font-size:.8rem;line-height:1.25;display:inline-flex}.rec-chip em{color:#0f766e;white-space:nowrap;font-style:normal;font-weight:800}.rec-chip span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.rec-status{text-transform:uppercase;letter-spacing:.03em;min-height:1.65rem;color:var(--muted);background:#f1f5f3;border-radius:999px;align-items:center;padding:.15rem .55rem;font-size:.74rem;font-weight:800;display:inline-flex}.rec-status.on{color:#166534;background:#dcfce7}.rec-empty{text-align:center;background:#fafcfb;border:1px dashed #d8e2dc;border-radius:14px;flex-direction:column;flex:auto;justify-content:center;align-items:center;gap:.45rem;min-height:14rem;padding:2rem 1rem;display:flex}.rec-empty-ico{color:#0f766e;background:#ecfdf5;border-radius:50%;justify-content:center;align-items:center;width:3rem;height:3rem;margin-bottom:.25rem;display:inline-flex}.rec-empty strong{color:#0f2a1f;font-size:1.05rem}.rec-empty p{max-width:24rem;color:var(--muted);margin:0;font-size:.88rem}@media (width<=980px){.rec-hero{grid-template-columns:1fr}.rec-hero-actions{justify-content:flex-start}.rec-result-chip{margin-inline-start:0}}@media (width<=640px){.rec-toolbar{flex-direction:column;align-items:stretch}.rec-filters{justify-content:flex-start}}
/* Menu picker cards — aligned price row, equal footers, no OPTIONS layout break */

.mp-item-wrap {
  display: flex !important;
  flex-direction: column;
  position: relative !important;
  overflow: visible !important;
  min-height: 5.6rem;
  height: 100%;
  box-sizing: border-box;
}

.mp-item-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  grid-template-rows: minmax(0, 1fr) auto;
  grid-template-areas:
    'item add'
    'note note';
  align-items: start;
  column-gap: 0.35rem;
  row-gap: 0.35rem;
  min-width: 0;
  min-height: 0;
  flex: 1 1 auto;
  padding: 0.35rem 0.4rem 0.4rem;
  box-sizing: border-box;
}

.mp-item-row > .mp-item {
  grid-area: item;
  align-self: center;
  width: 100%;
  min-width: 0;
  /* Force 2-row grid: name + price only (no stray OPTIONS cell) */
  grid-template-columns: 2.05rem minmax(0, 1fr) !important;
  grid-template-rows: auto auto !important;
  grid-template-areas:
    'thumb name'
    'thumb meta' !important;
  align-items: center;
  column-gap: 0.4rem;
  row-gap: 0.12rem;
  padding: 0.15rem 0.1rem !important;
}

.mp-item-row > .mp-item .mp-item-thumb {
  grid-area: thumb;
}

.mp-item-row > .mp-item strong {
  grid-area: name;
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  overflow-wrap: normal;
  word-break: normal;
  line-height: 1.2 !important;
  padding-inline-end: 0.15rem;
}

.mp-item-row > .mp-item .mp-item-meta {
  grid-area: meta;
}

.mp-item-row > .mp-add-btn {
  grid-area: add;
  align-self: center;
  margin: 0 !important;
}

.mp-item-row > .mp-note-btn {
  grid-area: note;
  width: 100%;
  max-width: none;
  margin: 0 !important;
  justify-self: stretch;
  align-self: end;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  min-height: 2rem;
  height: 2rem;
  box-sizing: border-box;
  text-align: center;
  font-size: 0.78rem;
  font-weight: 700;
  line-height: 1;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.mp-item-row > .mp-note-btn svg {
  width: 0.95rem;
  height: 0.95rem;
  flex-shrink: 0;
}

.mp-item-badge.popular,
.mp-item-popular {
  display: none !important;
}

.mp-item-wrap.is-popular {
  padding-top: 0 !important;
}

.mp-item-wrap.is-popular .mp-item-row {
  padding-top: 0.95rem;
  padding-inline-end: 0.4rem;
}

.mp-item-popular-badge {
  position: absolute !important;
  top: 0.22rem !important;
  right: 0.28rem !important;
  left: auto !important;
  bottom: auto !important;
  z-index: 6 !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  margin: 0 !important;
  padding: 0.1rem 0.32rem !important;
  border-radius: 999px !important;
  border: none !important;
  background: var(--warn, #b7791f) !important;
  color: #fff !important;
  font-size: 0.52rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.02em !important;
  line-height: 1 !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
  box-shadow: 0 1px 2px rgba(18, 32, 28, 0.16) !important;
  pointer-events: none !important;
}

[dir='rtl'] .mp-item-popular-badge {
  right: auto !important;
  left: 0.35rem !important;
}

.mp-item-meta {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 0.3rem;
  min-width: 0;
}

.mp-item-price {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: var(--accent-deep);
  font-variant-numeric: tabular-nums;
  font-size: 0.78rem;
  font-weight: 800;
}

.mp-price-from {
  color: var(--muted);
  font-weight: 650;
  font-size: 0.85em;
  text-transform: lowercase;
}

/* Hide legacy OPTIONS pill — customize lives in the footer button */
.mp-item-options-badge {
  display: none !important;
}

.mp-note-btn {
  flex-shrink: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  z-index: 2;
  position: relative;
}

.mp-note-btn.is-opts {
  border-color: color-mix(in srgb, var(--teal) 35%, var(--line));
  color: var(--teal);
  background: color-mix(in srgb, var(--teal-soft) 70%, #fff);
  font-weight: 750;
}

@supports not (color: color-mix(in srgb, red 50%, blue)) {

.mp-note-btn.is-opts {
  border-color: #95b5ad;
  background: #e4f1ed;
}
}

.mp-add-btn {
  flex-shrink: 0;
  z-index: 2;
  position: relative;
}

.cz-section-hint {
  margin: -0.35rem 0 0.65rem;
  color: var(--muted);
  font-size: 0.82rem;
  line-height: 1.4;
}

.mp-item-tag.custom {
  display: inline-flex;
}

/* Keep grid cards equal height in a row */
.mp-grid {
  align-items: stretch;
}

.mp-grid > .mp-item-wrap {
  height: 100%;
}

/* Multi-select note chips (comma-joined) */
.mp-note-chips button.active {
  background: #1f6b5c !important;
  color: #fff !important;
  border-color: #1f6b5c !important;
}

@media (max-width: 720px) {
  .mp-item-wrap {
    min-height: 5.2rem;
  }

  .mp-item-row > .mp-note-btn {
    font-size: 0.72rem;
    gap: 0.28rem;
  }
}
/* -- Floor tables master ------------------------------------- */
.app-shell.settings-mode:has(.zk-ftm) .main-stage,
.app-shell:has(.zk-ftm) .main-stage {
  background: #eef3f0;
  flex-direction: column;
  max-width: none;
  height: 100%;
  min-height: 0;
  padding: 0;
  display: flex;
  overflow: hidden;
}

.app-shell:has(.zk-ftm) .main-stage > .zk-ftm {
  flex: 1 1 auto;
  width: 100%;
  height: 100%;
  min-height: 0;
}

.zk-ftm {
  height: 100%;
  min-height: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  background:
    radial-gradient(720px 340px at 100% 0%, rgba(31, 138, 76, 0.08), transparent 58%),
    radial-gradient(560px 280px at 0% 0%, rgba(15, 118, 110, 0.1), transparent 55%),
    linear-gradient(180deg, #eef3f0 0%, #e4ebe7 100%);
}

.zk-ftm > .zk-hub-top,
.zk-ftm > .ftm-page,
.zk-ftm > .zk-hub-foot {
  min-width: 0;
}

.zk-ftm > .zk-hub-top,
.zk-ftm > .zk-hub-foot {
  flex-shrink: 0;
}

.zk-ftm > .ftm-page {
  flex: 1 1 auto;
  min-height: 0;
}

.zk-ftm > .zk-hub-foot {
  z-index: 20;
  margin-top: auto;
  position: relative;
}

.ftm-page {
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  padding: 0.85rem 1rem 0;
  overflow: hidden;
}

.ftm-hero,
.ftm-control-bar,
.ftm-filters {
  flex-shrink: 0;
}

.ftm-body {
  flex: 1 1 auto;
  min-height: 0;
  overflow: auto;
  overflow-x: hidden;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
  padding-bottom: 1rem;
}

.ftm-ico {
  width: 1.1rem;
  height: 1.1rem;
  flex-shrink: 0;
}

.ftm-hero {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.85rem 1rem;
  padding: 1rem 1.1rem;
  border-radius: 18px;
  color: #fff;
  background:
    linear-gradient(125deg, rgba(255, 255, 255, 0.16), transparent 42%),
    linear-gradient(180deg, #249656 0%, #167a43 55%, #126739 100%);
  box-shadow: 0 14px 28px rgba(18, 90, 50, 0.2);
}

.ftm-hero-brand {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  min-width: 0;
  flex: 1 1 14rem;
}

.ftm-hero-mark {
  width: 2.65rem;
  height: 2.65rem;
  border-radius: 14px;
  display: grid;
  place-items: center;
  background: rgba(255, 255, 255, 0.18);
  flex-shrink: 0;
}

.ftm-hero-mark .ftm-ico {
  width: 1.35rem;
  height: 1.35rem;
}

.ftm-hero-brand h1 {
  margin: 0;
  font-family: var(--font-display);
  font-size: 1.28rem;
  font-weight: 800;
  letter-spacing: -0.02em;
}

.ftm-hero-brand p {
  margin: 0.18rem 0 0;
  font-size: 0.8rem;
  line-height: 1.45;
  opacity: 0.92;
  max-width: 36rem;
}

.ftm-hero-stats {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  margin-inline-start: auto;
}

.ftm-stat {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.05rem;
  padding: 0.45rem 0.7rem;
  border-radius: 12px;
  border: 1px solid rgba(255, 255, 255, 0.22);
  background: rgba(255, 255, 255, 0.12);
  min-width: 4.2rem;
}

.ftm-stat strong {
  font-size: 1rem;
  font-weight: 800;
  line-height: 1.1;
}

.ftm-stat em {
  font-style: normal;
  font-size: 0.66rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  opacity: 0.9;
}

.ftm-stat.tone-free {
  background: rgba(125, 255, 176, 0.2);
  border-color: rgba(125, 255, 176, 0.42);
}

.ftm-stat.tone-occupied {
  background: rgba(255, 212, 100, 0.22);
  border-color: rgba(255, 212, 100, 0.45);
}

.ftm-stat.tone-billing {
  background: rgba(255, 160, 160, 0.24);
  border-color: rgba(255, 200, 200, 0.48);
}

.ftm-stat.tone-active {
  background: rgba(180, 220, 255, 0.22);
  border-color: rgba(200, 230, 255, 0.45);
}

.ftm-control-bar {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.55rem 0.75rem;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 8px 22px rgba(18, 32, 28, 0.07);
  border: 1px solid rgba(15, 42, 31, 0.04);
  min-width: 0;
}

.ftm-control-main {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  flex: 1 1 auto;
  min-width: 0;
}

.ftm-control-pref {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  flex-shrink: 0;
  padding-inline-start: 0.75rem;
  border-inline-start: 1px solid #e4ebe7;
  white-space: nowrap;
}

.ftm-control-pref > strong {
  font-size: 0.8rem;
  font-weight: 700;
  color: #0f2a1f;
  max-width: 14rem;
  overflow: hidden;
  text-overflow: ellipsis;
}

.ftm-control-pref .zk-user-switch {
  flex-shrink: 0;
}

.ftm-tabs {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  padding: 0.22rem;
  border-radius: 12px;
  background: #f3f7f4;
  border: 1px solid #e0e8e3;
  flex-shrink: 0;
}

.ftm-tabs button {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  border: 0;
  background: transparent;
  color: var(--muted, #5c6b66);
  font: inherit;
  font-size: 0.8rem;
  font-weight: 700;
  padding: 0.48rem 0.85rem;
  border-radius: 10px;
  cursor: pointer;
  white-space: nowrap;
  transition: background 0.12s ease, color 0.12s ease;
}

.ftm-tabs button.active {
  background: #fff;
  color: #0f766e;
  box-shadow: 0 2px 8px rgba(15, 118, 110, 0.12);
}

.ftm-search {
  flex: 1 1 auto;
  min-width: 0;
  max-width: none;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0 0.75rem;
  min-height: 2.5rem;
  border-radius: 12px;
  background: #f3f7f4;
  box-shadow: inset 0 0 0 1px #d5e0d8;
  color: var(--muted);
}

.ftm-search input {
  flex: 1;
  min-width: 0;
  border: 0;
  background: transparent;
  font: inherit;
  font-size: 0.88rem;
  color: var(--ink);
}

.ftm-search input:focus {
  outline: none;
}

.ftm-search:focus-within {
  box-shadow:
    inset 0 0 0 1.5px #0f766e,
    0 0 0 3px rgba(15, 118, 110, 0.1);
  color: #0f766e;
}

.ftm-add {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  border: 0;
  border-radius: 12px;
  padding: 0.55rem 1rem;
  background: linear-gradient(180deg, #2aa35f, #1b8a4c);
  color: #fff;
  font: inherit;
  font-size: 0.84rem;
  font-weight: 700;
  cursor: pointer;
  box-shadow: 0 8px 18px rgba(27, 138, 76, 0.24);
  flex-shrink: 0;
  transition: filter 0.12s ease, transform 0.12s ease;
}

.ftm-add span {
  font-size: 1.15rem;
  line-height: 1;
  font-weight: 800;
}

.ftm-add em {
  font-style: normal;
}

.ftm-add:hover {
  filter: brightness(1.05);
}

.ftm-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
}

.ftm-filter {
  appearance: none;
  border: 1px solid #d0dbd4;
  background: #fff;
  color: var(--ink-soft);
  border-radius: 999px;
  padding: 0.42rem 0.8rem;
  font: inherit;
  font-size: 0.78rem;
  font-weight: 700;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  transition: background 0.12s ease, border-color 0.12s ease, color 0.12s ease;
}

.ftm-filter em {
  font-style: normal;
  font-variant-numeric: tabular-nums;
  opacity: 0.72;
  font-size: 0.74rem;
}

.ftm-filter.on {
  background: #0f766e;
  border-color: #0f766e;
  color: #fff;
}

.ftm-filter.on em {
  opacity: 0.88;
}

.ftm-filter.tone-free.on {
  background: #15803d;
  border-color: #15803d;
}

.ftm-filter.tone-occupied.on {
  background: #b45309;
  border-color: #b45309;
}

.ftm-filter.tone-billing.on {
  background: #be123c;
  border-color: #be123c;
}

.ftm-panel {
  background: #fff;
  border-radius: 18px;
  box-shadow: 0 10px 26px rgba(18, 32, 28, 0.08);
  overflow: hidden;
  border: 1px solid rgba(15, 42, 31, 0.04);
}

.ftm-panel-cards {
  overflow: visible;
}

.ftm-card-groups {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
  padding: 1rem 1.1rem 1.15rem;
  align-items: start;
}

.ftm-area-block {
  min-width: 0;
  height: 100%;
  border: 1px solid #dce8e1;
  border-radius: 16px;
  overflow: hidden;
  background: #f8fbf9;
}

.ftm-area-block-head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.55rem 1rem;
  padding: 0.75rem 1rem;
  background: linear-gradient(180deg, #f8fbf9 0%, #eef4f0 100%);
  border-bottom: 1px solid #dce8e1;
}

.ftm-area-block-title {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  min-width: 0;
}

.ftm-area-block-title strong {
  display: block;
  font-family: var(--font-display);
  font-size: 0.94rem;
  font-weight: 800;
  color: #0f2a1f;
  line-height: 1.25;
}

.ftm-area-block-meta {
  display: block;
  margin-top: 0.1rem;
  font-size: 0.72rem;
  font-weight: 600;
  color: #6b7c75;
}

.ftm-area-block-stats {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
}

.ftm-table-cards {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(118px, 1fr));
  gap: 0.65rem;
  padding: 0.85rem;
}

.ftm-table-card {
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
  min-height: 6.5rem;
  padding: 0.8rem 0.85rem;
  border-radius: 14px;
  border: 1px solid #dce8e1;
  background: #fff;
  cursor: pointer;
  box-shadow: 0 2px 8px rgba(18, 32, 28, 0.05);
  transition:
    transform 0.12s ease,
    box-shadow 0.12s ease,
    border-color 0.12s ease;
}

.ftm-table-card.status-free {
  border-color: #bbf7d0;
  background: linear-gradient(180deg, #fff 0%, #f3fbf6 100%);
}

.ftm-table-card.status-occupied {
  border-color: #fde68a;
  background: linear-gradient(180deg, #fff 0%, #fffbeb 100%);
}

.ftm-table-card.status-billing {
  border-color: #fecdd3;
  background: linear-gradient(180deg, #fff 0%, #fff5f6 100%);
}

.ftm-table-card.status-other {
  border-color: #e2e8f0;
  background: linear-gradient(180deg, #fff 0%, #f8fafc 100%);
}

.ftm-table-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 18px rgba(18, 32, 28, 0.1);
}

.ftm-table-card-top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.45rem;
}

.ftm-table-card-num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2.75rem;
  min-height: 2.75rem;
  padding: 0 0.55rem;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.85);
  border: 1px solid rgba(15, 42, 31, 0.08);
  color: #0f4d35;
  font-family: var(--font-display);
  font-size: 1.2rem;
  font-weight: 800;
  line-height: 1;
}

.ftm-table-card-meta {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.45rem;
  margin-top: auto;
}

.ftm-table-card-seats {
  font-size: 0.78rem;
  font-weight: 700;
  color: #5c6b66;
}

.ftm-table-card .ftm-badge {
  font-size: 0.72rem;
  padding: 0.24rem 0.62rem;
}

.ftm-table-card.is-locked {
  cursor: not-allowed;
  opacity: 0.88;
}

.ftm-table-card.is-locked:hover {
  transform: none;
  box-shadow: 0 2px 8px rgba(18, 32, 28, 0.05);
}

.ftm-card-edit:disabled {
  opacity: 0.45;
  cursor: not-allowed;
  background: #eef2ef;
  border-color: #d5ddd8;
  color: #94a3b8;
  box-shadow: none;
}

.ftm-card-edit:disabled:hover {
  background: #eef2ef;
  border-color: #d5ddd8;
  color: #94a3b8;
  box-shadow: none;
}

.ftm-table-card-note {
  font-size: 0.72rem;
  font-weight: 650;
  color: #5c6b66;
  line-height: 1.3;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 100%;
}

.ftm-form-locked {
  margin: 0;
  padding: 0.55rem 0.65rem;
  border-radius: 10px;
  background: #fff7ed;
  border: 1px solid #fed7aa;
  color: #9a3412;
  font-size: 0.78rem;
  font-weight: 650;
}

.ftm-card-edit {
  width: 2rem;
  height: 2rem;
  border: 1px solid #7ecba8;
  border-radius: 9px;
  background: linear-gradient(180deg, #ecfdf3 0%, #d8f3e4 100%);
  color: #0f766e;
  display: inline-grid;
  place-items: center;
  cursor: pointer;
  flex-shrink: 0;
  box-shadow: 0 2px 6px rgba(15, 118, 110, 0.12);
  transition: background 0.12s ease, color 0.12s ease, border-color 0.12s ease, box-shadow 0.12s ease;
}

.ftm-card-edit .ftm-ico {
  width: 0.95rem;
  height: 0.95rem;
}

.ftm-card-edit:hover {
  background: linear-gradient(180deg, #d1fae5 0%, #a7f3d0 100%);
  border-color: #0f766e;
  color: #065f46;
  box-shadow: 0 4px 10px rgba(15, 118, 110, 0.2);
}

.ftm-mini-stat {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.2rem 0.5rem;
  border-radius: 999px;
  font-size: 0.7rem;
  font-weight: 700;
  border: 1px solid transparent;
  white-space: nowrap;
}

.ftm-mini-stat em {
  font-style: normal;
  font-weight: 800;
}

.ftm-mini-stat.tone-free {
  background: #dcfce7;
  color: #166534;
  border-color: #bbf7d0;
}

.ftm-mini-stat.tone-occupied {
  background: #fef3c7;
  color: #92400e;
  border-color: #fde68a;
}

.ftm-mini-stat.tone-billing {
  background: #ffe4e6;
  color: #be123c;
  border-color: #fecdd3;
}

.ftm-panel-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  flex-wrap: wrap;
  padding: 0.85rem 1.1rem;
  border-bottom: 1px solid #e8eeea;
  background: linear-gradient(180deg, #fcfefd 0%, #f5f9f6 100%);
}

.ftm-panel-head strong {
  font-size: 0.92rem;
  color: #0f2a1f;
  font-weight: 800;
}

.ftm-panel-head em {
  font-style: normal;
  font-size: 0.76rem;
  color: var(--muted);
  font-weight: 600;
}

.ftm-table-wrap {
  overflow-x: auto;
}

.ftm-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.88rem;
}

.ftm-table th,
.ftm-table td {
  padding: 0.85rem 1.1rem;
  text-align: start;
  border-bottom: 1px solid #eef2ef;
  vertical-align: middle;
}

.ftm-table th {
  font-size: 0.7rem;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: #6b7c75;
  font-weight: 800;
  background: #fafcfb;
  position: sticky;
  top: 0;
  z-index: 2;
  box-shadow: 0 1px 0 #eef2ef;
}

.ftm-table th:last-child,
.ftm-table td:last-child {
  width: 3rem;
  text-align: center;
}

.ftm-table tbody tr {
  cursor: pointer;
  transition: background 0.12s ease;
}

.ftm-table tbody tr:hover {
  background: #f4fbf7;
}

.ftm-table tbody tr.is-off {
  opacity: 0.58;
}

.ftm-table-num {
  display: inline-grid;
  place-items: center;
  min-width: 2.4rem;
  min-height: 2.4rem;
  padding: 0 0.55rem;
  border-radius: 12px;
  background: linear-gradient(180deg, #eef8f2 0%, #e2f0e8 100%);
  border: 1px solid #c8ddd2;
  color: #0f4d35;
  font-weight: 800;
  font-size: 0.95rem;
}

.ftm-name-cell {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  min-width: 0;
}

.ftm-name-cell strong {
  color: #0f2a1f;
  font-size: 0.92rem;
  font-weight: 750;
}

.ftm-area-mark {
  width: 2rem;
  height: 2rem;
  border-radius: 10px;
  display: grid;
  place-items: center;
  background: #eef6f1;
  color: #0f766e;
  flex-shrink: 0;
}

.ftm-area-tag {
  display: inline-flex;
  align-items: center;
  padding: 0.28rem 0.65rem;
  border-radius: 999px;
  background: #f3f7f4;
  border: 1px solid #dde7e1;
  color: #33443c;
  font-size: 0.8rem;
  font-weight: 650;
}

.ftm-seats,
.ftm-count,
.ftm-order {
  font-weight: 700;
  color: #33443c;
}

.ftm-badge {
  display: inline-flex;
  align-items: center;
  padding: 0.28rem 0.7rem;
  border-radius: 999px;
  font-size: 0.74rem;
  font-weight: 800;
  letter-spacing: 0.02em;
  text-transform: capitalize;
}

.ftm-badge.active,
.ftm-badge.status-free {
  background: #dcfce7;
  color: #166534;
  border: 1px solid #bbf7d0;
}

.ftm-badge.inactive {
  background: #f1f5f3;
  color: #64748b;
  border: 1px solid #e2e8f0;
}

.ftm-badge.status-occupied {
  background: #fef3c7;
  color: #92400e;
  border: 1px solid #fde68a;
}

.ftm-badge.status-billing {
  background: #ffe4e6;
  color: #be123c;
  border: 1px solid #fecdd3;
}

.ftm-badge.status-other {
  background: #f1f5f9;
  color: #475569;
  border: 1px solid #e2e8f0;
}

.ftm-row-action {
  width: 2.2rem;
  height: 2.2rem;
  border: 1px solid #dbe5df;
  border-radius: 10px;
  background: #fff;
  color: #5c6b66;
  display: inline-grid;
  place-items: center;
  cursor: pointer;
  transition: background 0.12s ease, color 0.12s ease, border-color 0.12s ease;
}

.ftm-row-action .ftm-ico {
  width: 1rem;
  height: 1rem;
}

.ftm-row-action:hover {
  background: #eef8f2;
  border-color: #9fd4b8;
  color: #0f766e;
}

.ftm-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.55rem;
  min-height: 16rem;
  padding: 2rem 1.25rem;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 10px 26px rgba(18, 32, 28, 0.06);
  text-align: center;
}

.ftm-empty-ico {
  width: 3rem;
  height: 3rem;
  border-radius: 14px;
  display: grid;
  place-items: center;
  background: #eef8f2;
  color: #0f766e;
  margin-bottom: 0.25rem;
}

.ftm-empty-ico .ftm-ico {
  width: 1.5rem;
  height: 1.5rem;
}

.ftm-empty strong {
  font-size: 1rem;
  color: #0f2a1f;
}

.ftm-empty span {
  font-size: 0.84rem;
  color: var(--muted);
  max-width: 24rem;
  line-height: 1.5;
}

@media (max-width: 1100px) {
  .ftm-card-groups {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 860px) {
  .app-shell:has(.zk-ftm) .main-stage,
  .app-shell.settings-mode:has(.zk-ftm) .main-stage {
    height: 100dvh;
    max-height: 100dvh;
  }

  .ftm-page {
    gap: 0.55rem;
    padding: 0.65rem 0.75rem 0;
    overflow-x: hidden;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-y: contain;
    padding-bottom: 0.75rem;
  }

  .ftm-body {
    flex: none;
    min-height: auto;
    overflow: visible;
    padding-bottom: 0.5rem;
  }

  .ftm-hero {
    padding: 0.75rem 0.85rem;
    gap: 0.65rem;
    border-radius: 14px;
  }

  .ftm-hero-brand {
    flex: 1 1 100%;
  }

  .ftm-hero-brand h1 {
    font-size: 1.1rem;
  }

  .ftm-hero-brand p {
    font-size: 0.74rem;
  }

  .ftm-hero-mark {
    width: 2.25rem;
    height: 2.25rem;
    border-radius: 11px;
  }

  .ftm-hero-stats {
    margin-inline-start: 0;
    width: 100%;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.35rem;
  }

  .ftm-stat {
    min-width: 0;
    align-items: center;
    text-align: center;
    padding: 0.4rem 0.35rem;
  }

  .ftm-stat strong {
    font-size: 0.92rem;
  }

  .ftm-stat em {
    font-size: 0.58rem;
    letter-spacing: 0.03em;
  }

  .ftm-control-bar {
    flex-wrap: wrap;
    gap: 0.5rem;
    padding: 0.5rem 0.6rem;
  }

  .ftm-control-main {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-areas:
      'tabs tabs'
      'search add';
    gap: 0.45rem;
    width: 100%;
  }

  .ftm-control-pref {
    width: 100%;
    justify-content: space-between;
    padding-inline-start: 0;
    border-inline-start: 0;
    border-top: 1px solid #e4ebe7;
    padding-top: 0.45rem;
  }

  .ftm-control-pref > strong {
    max-width: none;
    white-space: normal;
  }

  .ftm-tabs {
    grid-area: tabs;
    width: 100%;
    display: grid;
    grid-template-columns: 1fr 1fr;
  }

  .ftm-tabs button {
    justify-content: center;
    min-width: 0;
    padding: 0.45rem 0.5rem;
    font-size: 0.76rem;
  }

  .ftm-search {
    grid-area: search;
    min-height: 2.45rem;
  }

  .ftm-add {
    grid-area: add;
    min-height: 2.45rem;
    padding: 0.48rem 0.75rem;
  }

  .ftm-filters {
    gap: 0.35rem;
    overflow-x: auto;
    flex-wrap: nowrap;
    padding-bottom: 0.15rem;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }

  .ftm-filters::-webkit-scrollbar {
    display: none;
  }

  .ftm-filter {
    flex-shrink: 0;
    padding: 0.38rem 0.7rem;
  }

  .ftm-panel-head {
    padding: 0.7rem 0.85rem;
  }

  .ftm-card-groups {
    padding: 0.75rem;
    gap: 0.75rem;
  }
}

@media (max-width: 640px) {
  .ftm-page {
    padding-inline: 0.55rem;
    gap: 0.45rem;
  }

  .ftm-hero-brand p {
    display: none;
  }

  .ftm-hero-stats {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.3rem;
  }

  .ftm-stat {
    padding: 0.36rem 0.3rem;
    border-radius: 9px;
  }

  .ftm-stat strong {
    font-size: 0.88rem;
  }

  .ftm-stat em {
    font-size: 0.55rem;
    letter-spacing: 0.02em;
  }

  .ftm-tabs button {
    gap: 0.28rem;
    font-size: 0.72rem;
    padding: 0.42rem 0.4rem;
  }

  .ftm-tabs .ftm-ico {
    width: 0.95rem;
    height: 0.95rem;
  }

  .ftm-add em {
    display: none;
  }

  .ftm-add {
    padding: 0.5rem 0.7rem;
    min-width: 2.5rem;
  }

  .ftm-panel-head {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.25rem;
  }

  .ftm-panel-head em {
    width: 100%;
  }

  .ftm-area-block-head {
    padding: 0.6rem 0.7rem;
    gap: 0.45rem;
  }

  .ftm-area-block-stats {
    width: 100%;
  }

  .ftm-table-cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.5rem;
    padding: 0.55rem;
  }

  .ftm-table-card {
    min-height: 5.75rem;
    padding: 0.65rem 0.7rem;
    border-radius: 12px;
  }

  .ftm-table-card-num {
    min-width: 2.35rem;
    min-height: 2.35rem;
    font-size: 1.05rem;
  }

  .ftm-table th,
  .ftm-table td {
    padding: 0.72rem 0.75rem;
  }
}

/* -- Floor table modals -------------------------------------- */
.ftm-form-row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.75rem;
}

@media (max-width: 480px) {
  .ftm-form-row {
    grid-template-columns: 1fr;
  }
}
/* Isometric-clean floor plan — blue tiles, white walls, soft shadows */

.iso-plan {
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  padding-bottom: 0.4rem;
}

.floor-diagram-empty {
  margin: 1rem 0;
}

.iso-plan-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 0.9rem;
  margin: 0;
  font-size: 0.72rem;
  font-weight: 700;
  color: var(--muted);
}

.iso-plan-guide {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.45rem 0.75rem;
  padding: 0.45rem 0.55rem;
  border: 1px solid #d5e0da;
  border-radius: 12px;
  background: linear-gradient(180deg, #fbfefc, #f3f8f5);
}

.iso-plan-howto {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 0.35rem 0.55rem;
}

.iso-how {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  font-size: 0.72rem;
  font-weight: 700;
  color: #2c3a46;
  background: #fff;
  border: 1px solid #d5e0da;
  border-radius: 999px;
  padding: 0.22rem 0.55rem 0.22rem 0.35rem;
}

.iso-how-ico {
  width: 1.15rem;
  height: 1.15rem;
  border-radius: 50%;
  flex: 0 0 auto;
  position: relative;
}

.iso-how-ico.tap {
  background: #1f6b5c;
}

.iso-how-ico.tap::after {
  content: '';
  position: absolute;
  inset: 28%;
  border-radius: 50%;
  background: #fff;
}

.iso-how-ico.hold {
  background: #c45c26;
  box-shadow: inset 0 0 0 3px #fff6;
}

.iso-plan-guide .iso-plan-legend {
  margin-inline-start: 0.15rem;
}

.iso-plan-legend .leg {
  display: inline-flex;
  align-items: center;
  gap: 0.32rem;
  background: #fff;
  border: 1px solid #e0e7e3;
  border-radius: 999px;
  padding: 0.16rem 0.45rem 0.16rem 0.3rem;
}

.iso-plan-legend .leg::before {
  content: '';
  width: 0.62rem;
  height: 0.62rem;
  border-radius: 50%;
}

.iso-plan-legend .leg.free::before {
  background: #2f9e44;
}

.iso-plan-legend .leg.occupied::before {
  background: #1f6b5c;
}

.iso-plan-legend .leg.billing::before {
  background: var(--accent);
}

.iso-plan-legend .leg.hint {
  font-weight: 600;
  opacity: 0.9;
}

.iso-plan-legend .leg.hint::before {
  display: none;
}

.iso-reset-btn {
  appearance: none;
  margin-inline-start: auto;
  cursor: pointer;
  font: inherit;
  font-size: 0.72rem;
  font-weight: 750;
  color: #1f6b5c;
  background: #fff;
  border: 1px solid #c5d5ce;
  border-radius: 999px;
  padding: 0.22rem 0.65rem;
}

.iso-reset-btn:hover {
  background: #eef8f3;
}

.iso-plan-frame {
  border-radius: 14px;
  background: #eef2f5;
  padding: 0.65rem;
  box-shadow: 0 10px 28px #1a2a3518;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overflow: hidden;
  container-type: inline-size;
  container-name: floorplan;
}

.iso-plan-building {
  position: relative;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  aspect-ratio: 16 / 11;
  min-height: min(440px, 58dvh);
  border-radius: 10px;
  background:
    linear-gradient(#c5d0db 1px, transparent 1px),
    linear-gradient(90deg, #c5d0db 1px, transparent 1px),
    #d7e0ea;
  background-size: 22px 22px, 22px 22px, auto;
  box-shadow:
    inset 0 0 0 10px #f7f9fb,
    inset 0 0 0 14px #d0d7df,
    0 8px 20px #1a2a3520;
}

.iso-room {
  position: absolute;
  z-index: 2;
  box-sizing: border-box;
  border: 5px solid #f8fafc;
  border-radius: 6px;
  background:
    linear-gradient(#c5d0db 1px, transparent 1px),
    linear-gradient(90deg, #c5d0db 1px, transparent 1px),
    #d7e0ea;
  background-size: 18px 18px, 18px 18px, auto;
  box-shadow:
    3px 4px 0 #c9d2dc,
    4px 6px 14px #1a2a3528;
  overflow: hidden;
}

.iso-room.area.has-busy {
  border-color: #9fd0bf;
  box-shadow:
    3px 4px 0 #c9d2dc,
    0 0 0 2px #1f6b5c33,
    4px 6px 14px #1a2a3528;
}

.iso-room.service {
  z-index: 1;
  background:
    linear-gradient(#dfe4ea 1px, transparent 1px),
    linear-gradient(90deg, #dfe4ea 1px, transparent 1px),
    #eef2f6;
  background-size: 14px 14px, 14px 14px, auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  padding: 0.35rem;
}

.iso-room.service.wash,
.iso-room.service.entry {
  background: #f4f6f8;
}

.iso-room-name {
  font-size: 0.62rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #5a6a78;
  background: #ffffffd9;
  border-radius: 4px;
  padding: 0.12rem 0.35rem;
}

.iso-kitchen-blocks {
  display: flex;
  gap: 0.35rem;
}

.iso-kitchen-blocks i {
  display: block;
  width: 1.5rem;
  height: 1rem;
  border-radius: 3px;
  background: #c4a574;
  box-shadow: 1px 2px 4px #1a2a3530;
}

.iso-fixture.wash {
  width: 1.4rem;
  height: 1.4rem;
  border-radius: 3px;
  background: #fff;
  box-shadow: inset 0 0 0 2px #cfd6dd, 1px 2px 4px #1a2a3522;
}

.iso-fixture.door {
  width: 1.6rem;
  height: 0.55rem;
  border-radius: 2px;
  background: #b8956a;
  box-shadow: 1px 2px 4px #1a2a3530;
}

.iso-room-head {
  position: absolute;
  z-index: 3;
  top: 6px;
  left: 8px;
  right: 8px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.35rem;
  pointer-events: none;
}

.iso-room-head.drag-handle {
  pointer-events: auto;
  cursor: grab;
  user-select: none;
  -webkit-user-select: none;
  -webkit-touch-callout: none;
  touch-action: manipulation;
}

.iso-room-head.drag-handle:active {
  cursor: grabbing;
}

.iso-room-head strong {
  font-size: 0.68rem;
  font-weight: 800;
  color: #2c3a46;
  background: #ffffffea;
  border-radius: 4px;
  padding: 0.1rem 0.4rem;
  box-shadow: 1px 2px 4px #1a2a3520;
}

.iso-room-head em {
  font-style: normal;
  font-size: 0.6rem;
  font-weight: 750;
  color: #5a6a78;
  background: #ffffffd0;
  border-radius: 4px;
  padding: 0.1rem 0.35rem;
}

.iso-room-head em.busy {
  color: #fff;
  background: #1f6b5c;
}

.iso-room-head em.free {
  color: #1f7a45;
  background: #e5f6eb;
}

.iso-room-floor {
  position: absolute;
  inset: 0;
}

.iso-table {
  appearance: none;
  position: absolute;
  z-index: 5;
  transform: translate(-50%, -50%);
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: grab;
  touch-action: manipulation;
  user-select: none;
  -webkit-user-select: none;
  -webkit-touch-callout: none;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.08rem;
  font: inherit;
  color: #2c3a46;
}

.iso-table:active {
  cursor: grabbing;
}

.iso-table.is-dragging,
.iso-room.area.is-dragging {
  z-index: 12;
  filter: drop-shadow(0 0 0.45rem #1f6b5caa);
}

.iso-plan-frame.is-dragging {
  touch-action: none;
  user-select: none;
}

.iso-table.is-dragging {
  touch-action: none;
  cursor: grabbing;
  transform: translate(-50%, -50%) scale(1.08);
}

.iso-table.is-live {
  z-index: 6;
}

.iso-table-meta {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.12rem;
  max-width: 6.8rem;
}

.iso-table strong {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  gap: 0.02rem;
  font-size: 0.62rem;
  font-weight: 800;
  line-height: 1.05;
  background: #ffffffef;
  border-radius: 6px;
  padding: 0.12rem 0.32rem;
  box-shadow: 1px 2px 4px #1a2a3525;
}

.iso-table strong small {
  font-size: 0.48rem;
  font-weight: 700;
  color: #5a6a78;
  text-transform: lowercase;
}

.iso-status-chip {
  max-width: 7.2rem;
  text-align: center;
  font-size: 0.55rem;
  font-weight: 800;
  line-height: 1.15;
  letter-spacing: 0.01em;
  border-radius: 999px;
  padding: 0.14rem 0.38rem;
  box-shadow: 1px 2px 5px #1a2a3530;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.iso-status-chip.status-free {
  color: #146c2e;
  background: #dff5e6;
  border: 1px solid #b6e3c3;
}

.iso-status-chip.status-occupied {
  color: #fff;
  background: #1f6b5c;
  border: 1px solid #185548;
}

.iso-status-chip.status-billing {
  color: #fff;
  background: var(--accent);
  border: 1px solid var(--accent-deep);
}

.iso-status-chip.status-merged {
  color: #fff;
  background: #5c4d7a;
  border: 1px solid #463a5e;
}

.iso-status-chip.status-reserved {
  color: #fff;
  background: #339af0;
  border: 1px solid #1c7ed6;
}

.iso-live-badge {
  display: none;
}

.iso-table:hover {
  z-index: 8;
}

.iso-table:hover .iso-table-icon {
  transform: scale(1.08);
}

.iso-table.selected .iso-table-icon {
  filter: drop-shadow(0 0 0.4rem #1f6b5ccc);
}

.iso-table-icon {
  display: grid;
  place-items: center;
  width: 3.35rem;
  height: 3.35rem;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  transition: transform 0.12s ease;
}

.iso-table.size-sm .iso-table-icon {
  width: 2.7rem;
  height: 2.7rem;
}

.iso-table.size-md .iso-table-icon {
  width: 3.1rem;
  height: 3.1rem;
}

.iso-table.size-lg .iso-table-icon {
  width: 3.7rem;
  height: 3.7rem;
}

.iso-table.size-xl .iso-table-icon {
  width: 4.1rem;
  height: 4.1rem;
  border-radius: 0;
}

.iso-table-icon svg {
  width: 100%;
  height: 100%;
  display: block;
}

.iso-table.status-free .iso-table-icon,
.iso-table.status-occupied .iso-table-icon,
.iso-table.status-billing .iso-table-icon,
.iso-table.status-merged .iso-table-icon {
  box-shadow: none;
  background: transparent;
}

.iso-table.selected .iso-table-icon {
  filter: drop-shadow(0 0 0.35rem #1f6b5ccc);
}

.iso-table-dot {
  display: none;
}

.iso-table-dot.status-free {
  background: #2f9e44;
}

.iso-table-dot.status-occupied {
  background: #1f6b5c;
}

.iso-table-dot.status-billing {
  background: var(--accent);
}

.iso-table-dot.status-reserved {
  background: #339af0;
}

/* View switch */
.dine-floor-view-switch {
  display: inline-flex;
  align-items: center;
  gap: 0.2rem;
  margin-inline-start: auto;
  padding: 0.18rem;
  border: 1px solid #d0dbd5;
  border-radius: 999px;
  background: #f4f8f6;
}

/* Peer sync updates status/amount in place — avoid section remount flash */
.zk-dine .floor-sections,
.zk-dine .floor-section,
.zk-dine .dine-table-tile,
.zk-dine .table-tile {
  animation: none !important;
}

.dine-floor-view-switch .dine-pill {
  margin: 0;
  min-height: 2rem;
  padding: 0.28rem 0.75rem;
  font-size: 0.78rem;
}

.dine-floor-tabs {
  align-items: center;
}

/* Fit map to available width — no forced horizontal scroll */
@container floorplan (max-width: 820px) {
  .iso-plan-building {
    aspect-ratio: 15 / 12;
    min-height: min(360px, 52dvh);
    background-size: 18px 18px, 18px 18px, auto;
    box-shadow:
      inset 0 0 0 6px #f7f9fb,
      inset 0 0 0 9px #d0d7df,
      0 6px 14px #1a2a3520;
  }

  .iso-room {
    border-width: 3px;
  }

  .iso-room-head strong {
    font-size: 0.58rem;
    padding: 0.06rem 0.28rem;
  }

  .iso-room-head em {
    font-size: 0.52rem;
  }

  .iso-table-icon {
    width: 2.55rem;
    height: 2.55rem;
  }

  .iso-table.size-sm .iso-table-icon {
    width: 2.15rem;
    height: 2.15rem;
  }

  .iso-table.size-md .iso-table-icon {
    width: 2.4rem;
    height: 2.4rem;
  }

  .iso-table.size-lg .iso-table-icon,
  .iso-table.size-xl .iso-table-icon {
    width: 2.75rem;
    height: 2.75rem;
  }

  .iso-table strong {
    font-size: 0.52rem;
  }

  .iso-live-badge {
    max-width: 5.5rem;
    font-size: 0.48rem;
    padding: 0.1rem 0.28rem;
  }

  .iso-status-chip {
    max-width: 5.4rem;
    font-size: 0.48rem;
    padding: 0.1rem 0.28rem;
  }

  .iso-table strong small {
    display: none;
  }

  .iso-room-name {
    font-size: 0.52rem;
  }

  .iso-kitchen-blocks i {
    width: 1.05rem;
    height: 0.75rem;
  }
}

@container floorplan (max-width: 560px) {
  .iso-plan-building {
    aspect-ratio: 4 / 5;
    min-height: min(420px, 58dvh);
    background-size: 14px 14px, 14px 14px, auto;
  }

  .iso-table-icon,
  .iso-table.size-sm .iso-table-icon,
  .iso-table.size-md .iso-table-icon,
  .iso-table.size-lg .iso-table-icon,
  .iso-table.size-xl .iso-table-icon {
    width: 2rem !important;
    height: 2rem !important;
  }

  .iso-live-badge {
    display: none;
  }

  .iso-table strong small {
    display: none;
  }
}

@media (max-width: 900px) {
  .dine-floor-view-switch {
    margin-inline-start: 0;
    width: 100%;
    flex: 1 1 100%;
    justify-content: stretch;
    padding: 0.12rem;
  }

  .dine-floor-view-switch .dine-pill {
    flex: 1 1 auto;
    justify-content: center;
    min-height: 2rem;
    padding: 0.22rem 0.55rem;
    font-size: 0.74rem;
  }

  .zk-dine .dine-floor-page {
    padding: 0.45rem 0.55rem 0.25rem !important;
  }

  .zk-dine .dine-floor-panel {
    gap: 0.45rem !important;
  }

  .zk-dine .dine-floor-tabs {
    gap: 0.3rem;
    padding: 0.15rem 0;
  }

  .zk-dine .dine-floor-tabs > .dine-pill,
  .zk-dine .dine-floor-tabs > .dine-floor-tab-link {
    min-height: 2rem;
    padding: 0.22rem 0.65rem;
    font-size: 0.74rem;
    font-weight: 700;
  }

  .zk-dine .dine-floor-tabs > .dine-pill em {
    min-width: 1.05rem;
    height: 1.05rem;
    font-size: 0.64rem;
    padding: 0 0.28rem;
  }

  .zk-dine .dine-stat-pills {
    gap: 0.28rem;
    margin-bottom: 0.45rem !important;
  }

  .zk-dine .dine-stat-pill {
    padding: 0.22rem 0.5rem;
    font-size: 0.7rem;
  }

  .iso-plan-legend {
    gap: 0.35rem 0.65rem;
  }

  .iso-plan-legend .leg.hint {
    display: none;
  }

  .iso-plan-guide {
    gap: 0.35rem;
    padding: 0.4rem;
  }

  .iso-how {
    font-size: 0.66rem;
  }

  .iso-reset-btn {
    margin-inline-start: 0;
  }

  .iso-plan-frame {
    padding: 0.4rem;
  }

  /* Map scrolls; area chips stay pinned and fully reachable */
  .dine-floor-page .dine-floor-shell {
    grid-template-columns: 1fr;
    grid-template-rows: minmax(0, 1fr) auto;
    min-width: 0;
    max-width: 100%;
    overflow: hidden;
  }

  .dine-floor-page .dine-floor-map {
    min-width: 0;
    max-width: 100%;
    min-height: 0;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
  }

  .dine-floor-page .dine-area-side,
  .zk-dine .dine-area-side {
    display: flex !important;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: stretch;
    gap: 0.2rem;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    padding: 0.25rem;
    border-radius: 12px;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
    grid-auto-flow: unset;
    grid-auto-columns: unset;
  }

  .dine-floor-page .dine-area-pill,
  .zk-dine .dine-area-pill {
    appearance: none;
    position: relative;
    display: flex !important;
    flex: 1 1 0;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
    width: auto;
    min-width: max(7.5rem, 42%);
    min-height: 2.55rem;
    margin: 0;
    padding: 0.45rem 0.65rem 0.55rem;
    border: 0;
    border-radius: 10px;
    border-inline-start: 0 !important;
    background: transparent;
    box-shadow: none;
    text-align: center;
    grid-template-columns: unset !important;
  }

  .dine-floor-page .dine-area-pill:hover,
  .zk-dine .dine-area-pill:hover {
    background: color-mix(in srgb, var(--teal) 8%, #fff);
  }

  @supports not (color: color-mix(in srgb, red 50%, blue)) {

  .dine-floor-page .dine-area-pill:hover,
  .zk-dine .dine-area-pill:hover {
    background: #edf3f2;
  }
  }

  .dine-floor-page .dine-area-pill.active,
  .zk-dine .dine-area-pill.active {
    background: color-mix(in srgb, var(--teal) 14%, #fff);
    box-shadow: none;
  }

  @supports not (color: color-mix(in srgb, red 50%, blue)) {

  .dine-floor-page .dine-area-pill.active,
  .zk-dine .dine-area-pill.active {
    background: #e0eae8;
  }
  }

  .dine-floor-page .dine-area-pill.active::after,
  .zk-dine .dine-area-pill.active::after {
    content: '';
    position: absolute;
    left: 0.45rem;
    right: 0.45rem;
    bottom: 0.2rem;
    height: 2.5px;
    border-radius: 999px;
    background: var(--teal);
  }

  .dine-floor-page .dine-area-pill strong,
  .zk-dine .dine-area-pill strong {
    grid-column: unset;
    flex: 0 1 auto;
    min-width: 0;
    font-size: 0.8rem;
    font-weight: 750;
    line-height: 1.15;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  .dine-floor-page .dine-area-pill span,
  .zk-dine .dine-area-pill span {
    grid-area: unset !important;
    align-self: center;
    flex: 0 0 auto;
    padding: 0.18rem 0.42rem;
    border-radius: 999px;
    font-size: 0.64rem;
    font-weight: 750;
    white-space: nowrap;
  }
}

@media (max-width: 720px) {
  .iso-plan-legend {
    font-size: 0.66rem;
  }

  .zk-dine .dine-floor-tabs {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.28rem;
    align-items: stretch;
    width: 100%;
    min-width: 0;
  }

  .zk-dine .dine-floor-tabs > .dine-pill,
  .zk-dine .dine-floor-tabs > .dine-floor-tab-link {
    justify-content: center;
    align-items: center;
    text-align: center;
    width: 100%;
    min-width: 0;
    min-height: 1.85rem;
    padding: 0.22rem 0.28rem;
    font-size: 0.62rem;
    line-height: 1.15;
    white-space: normal;
    overflow: visible;
    text-overflow: unset;
    border-radius: 999px;
  }

  .zk-dine .dine-floor-tabs > .dine-pill em {
    flex: 0 0 auto;
    min-width: 0.95rem;
    height: 0.95rem;
    font-size: 0.58rem;
    padding: 0 0.22rem;
  }

  .zk-dine .dine-floor-view-switch {
    grid-column: 1 / -1;
    margin: 0;
    width: 100%;
    padding: 0.1rem;
    border-radius: 999px;
    justify-content: stretch;
  }

  .zk-dine .dine-floor-view-switch .dine-pill {
    flex: 1 1 0;
    min-height: 1.7rem;
    padding: 0.14rem 0.4rem;
    font-size: 0.68rem;
    border-radius: 999px;
    justify-content: center;
    white-space: nowrap;
    overflow: visible;
  }

  .zk-dine .dine-stat-pills {
    flex-wrap: wrap;
    overflow-x: visible;
    margin-bottom: 0.35rem !important;
    padding-bottom: 0.05rem;
  }

  .zk-dine .dine-stat-pill {
    flex: 0 0 auto;
    padding: 0.16rem 0.45rem;
    font-size: 0.66rem;
  }
}
/* -- Back Office · shell & responsive scroll ----------------- */

.app-shell:has(.zk-bo) .main-stage {
  overflow: hidden;
  min-height: 0;
}

.zk-bo {
  min-height: 0;
  overflow: hidden;
  max-width: 100%;
}

.zk-bo .bo-page {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  min-height: 0;
  overflow: hidden;
  max-width: 100%;
  box-sizing: border-box;
}

.zk-bo .bo-page > .bo-hero,
.zk-bo .bo-page > .bo-metrics,
.zk-bo .bo-page > .bo-tabs {
  flex-shrink: 0;
  max-width: 100%;
  min-width: 0;
}

.zk-bo .bo-page > .bo-body {
  flex: 1 1 auto;
  min-height: 0;
  overflow: auto;
  overflow-x: hidden;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
}

.zk-bo .bo-overview,
.zk-bo .bo-charts,
.zk-bo .bo-grid,
.zk-bo .bo-panel,
.zk-bo .bo-chart,
.zk-bo .bo-roles-layout {
  min-width: 0;
  max-width: 100%;
}

.zk-bo .bo-tabs {
  max-width: 100%;
  min-width: 0;
}

@media (max-width: 960px) {
  .zk-bo .zk-dash-header {
    margin: 0.5rem 0.55rem 0;
  }

  /* One vertical scroll for the whole page (hero + metrics + tabs + content). */
  .zk-bo .bo-page {
    margin: 0.5rem 0.55rem 0.35rem;
    gap: 0.65rem;
    overflow-x: hidden;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-y: contain;
    padding-bottom: 0.5rem;
  }

  .zk-bo .bo-page > .bo-body {
    flex: none;
    min-height: auto;
    overflow: visible;
  }

  /* Tabs row scrolls sideways only — page still scrolls up/down. */
  .zk-bo .bo-tabs {
    flex-wrap: nowrap;
    overflow-x: auto;
    overflow-y: hidden;
    overscroll-behavior-x: contain;
    scrollbar-width: none;
    -ms-overflow-style: none;
    gap: 0.4rem;
    padding-bottom: 0.15rem;
  }

  .zk-bo .bo-tabs::-webkit-scrollbar {
    display: none;
  }

  .zk-bo .bo-tabs button {
    flex: 0 0 auto;
    white-space: nowrap;
    min-height: var(--touch-min, 44px);
  }

  .zk-bo .bo-metrics {
    gap: 0.45rem;
  }

  .zk-bo .bo-metric {
    padding: 0.55rem 0.65rem;
  }

  .zk-bo .bo-metric strong {
    font-size: 0.95rem;
  }

  .zk-bo .bo-hero {
    padding: 0.85rem 0.95rem;
  }

  .zk-bo .bo-hero p {
    font-size: 0.78rem;
    line-height: 1.35;
  }

  .zk-bo .bo-panel-head {
    flex-wrap: wrap;
    gap: 0.45rem;
  }

  .zk-bo .bo-panel-head h2 {
    min-width: 0;
    font-size: 0.92rem;
  }

  .zk-bo .bo-chip {
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
}

@media (min-width: 961px) {
  .zk-bo .bo-tabs {
    flex-wrap: wrap;
  }
}

html[dir='rtl'] .zk-bo .bo-tabs {
  direction: rtl;
}

.bo-round-off {
  margin-top: 0.15rem;
  font-size: 0.72rem;
  font-weight: 700;
  color: var(--muted, #5f7169);
}

.bo-invoice-btn {
  padding: 0.28rem 0.55rem !important;
  font-size: 0.78rem !important;
  min-height: 2rem;
  white-space: nowrap;
}

/* -- Metric cards (mockup) ------------------------------------ */

.zk-bo .bo-metric {
  position: relative;
  align-items: flex-start;
  gap: 0.75rem;
  min-height: 5.25rem;
  padding: 0.9rem 1rem 0.85rem;
  overflow: hidden;
}

.zk-bo .bo-metric-body {
  display: grid;
  gap: 0.12rem;
  min-width: 0;
  flex: 1 1 auto;
  padding-inline-end: 3.25rem;
}

.zk-bo .bo-metric-label {
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.01em;
  text-transform: none;
  line-height: 1.25;
}

.zk-bo .bo-metric-value {
  margin-top: 0.05rem;
  color: var(--ink);
  font-family: var(--font-display);
  font-size: 1.22rem;
  font-weight: 800;
  letter-spacing: -0.03em;
  line-height: 1.2;
}

.zk-bo .bo-metric-sub {
  margin-top: 0.15rem;
  font-size: 0.74rem;
  font-weight: 700;
  line-height: 1.3;
}

.zk-bo .bo-metric-badge {
  position: absolute;
  top: 0.65rem;
  inset-inline-end: 0.7rem;
  display: inline-flex;
  align-items: center;
  gap: 0.15rem;
  border-radius: 999px;
  padding: 0.2rem 0.55rem;
  font-size: 0.72rem;
  font-style: normal;
  font-weight: 800;
  line-height: 1.2;
  white-space: nowrap;
}

.zk-bo .bo-metric-badge.up {
  color: #116b3f;
  background: #e7f6ee;
}

.zk-bo .bo-metric-badge.down {
  color: #9b1c1c;
  background: #fdecea;
}

.zk-bo .bo-metric-badge.flat {
  color: #9a4318;
  background: #f8ebe5;
}

.zk-bo .bo-metric.tone-teal .bo-metric-sub {
  color: #1f6b5c;
}

.zk-bo .bo-metric.tone-amber .bo-metric-sub {
  color: #c45c26;
}

.zk-bo .bo-metric.tone-amber .bo-metric-badge.flat {
  color: #c45c26;
  background: #f8ebe5;
}

.zk-bo .bo-metric.tone-blue .bo-metric-sub {
  color: #2f6fed;
}

.zk-bo .bo-metric.tone-violet .bo-metric-sub {
  color: #7c3aed;
}

.zk-bo .bo-metric.tone-rose .bo-metric-sub {
  color: var(--danger);
}

.zk-bo .bo-metric.tone-violet {
  border-color: color-mix(in srgb, #7c3aed 28%, var(--line));
  background: linear-gradient(180deg, #f3eefc 0%, #fff 72%);
}

@supports not (color: color-mix(in srgb, red 50%, blue)) {

.zk-bo .bo-metric.tone-violet {
  border-color: #bcafde;
}
}

.zk-bo .bo-metric.tone-violet .bo-metric-ico {
  color: #7c3aed;
  background: #ebe4fb;
}

.zk-bo .bo-metric-ico {
  width: 2.75rem;
  height: 2.75rem;
  border-radius: 14px;
}

.zk-bo .bo-metric-ico .bo-ico {
  width: 1.3rem;
  height: 1.3rem;
}

@media (max-width: 960px) {
  .zk-bo .bo-metric-body {
    padding-inline-end: 0;
  }

  .zk-bo .bo-metric-badge {
    position: static;
    justify-self: start;
    margin-top: 0.15rem;
  }

  .zk-bo .bo-metric {
    flex-wrap: wrap;
  }

  .zk-bo .bo-metric-body {
    flex: 1 1 calc(100% - 3.5rem);
  }

  .zk-bo .bo-metric-badge {
    margin-inline-start: auto;
  }
}

.bo-dayclose {
  display: grid;
  gap: 0.85rem;
  min-width: 0;
}

.bo-dayclose-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(17rem, 0.9fr);
  align-items: start;
  gap: 0.85rem;
  min-width: 0;
}

.bo-dayclose-side {
  display: grid;
  gap: 0.85rem;
  min-width: 0;
}

.bo-dayclose-head {
  align-items: flex-start;
}

.bo-dayclose-lead {
  margin: 0.35rem 0 0;
  max-width: 36rem;
  color: var(--muted);
  font-size: 0.84rem;
  font-weight: 600;
  line-height: 1.4;
}

.bo-dayclose-warn {
  display: flex;
  align-items: flex-start;
  gap: 0.65rem;
  margin-bottom: 0.85rem;
  padding: 0.75rem 0.9rem;
  border: 1px solid #f0c98a;
  border-radius: 12px;
  background: #fff6e8;
  color: #7a3c00;
  font-size: 0.86rem;
  font-weight: 700;
  line-height: 1.4;
}

.bo-dayclose-warn .bo-ico {
  flex-shrink: 0;
  width: 1.15rem;
  height: 1.15rem;
  margin-top: 0.1rem;
  color: #c45c26;
}

.bo-dayclose-rows {
  list-style: none;
  margin: 0 0 1rem;
  padding: 0;
  display: grid;
  gap: 0.5rem;
}

.bo-dayclose-rows li {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.7rem;
  min-width: 0;
  padding: 0.72rem 0.85rem;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #f7faf8;
}

.bo-dayclose-rows li strong {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 0.9rem;
  font-weight: 750;
}

.bo-dayclose-rows li em {
  font-family: var(--font-display);
  font-size: 0.98rem;
  font-style: normal;
  font-weight: 800;
  letter-spacing: -0.02em;
  white-space: nowrap;
}

.bo-dayclose-row-ico {
  display: grid;
  place-items: center;
  width: 2.15rem;
  height: 2.15rem;
  border-radius: 10px;
  background: #fff;
}

.bo-dayclose-rows li.tone-teal {
  border-color: color-mix(in srgb, var(--teal) 24%, var(--line));
  background: color-mix(in srgb, var(--teal) 7%, #fff);
}

@supports not (color: color-mix(in srgb, red 50%, blue)) {

.bo-dayclose-rows li.tone-teal {
  border-color: #a9c2ba;
  background: #eff5f4;
}
}

.bo-dayclose-rows li.tone-teal .bo-dayclose-row-ico,
.bo-dayclose-rows li.tone-teal em {
  color: var(--teal);
}

.bo-dayclose-rows li.tone-teal .bo-dayclose-row-ico {
  background: color-mix(in srgb, var(--teal) 14%, #fff);
}

@supports not (color: color-mix(in srgb, red 50%, blue)) {

.bo-dayclose-rows li.tone-teal .bo-dayclose-row-ico {
  background: #e0eae8;
}
}

.bo-dayclose-rows li.tone-amber {
  border-color: color-mix(in srgb, #c45c26 24%, var(--line));
  background: #fbf4f0;
}

@supports not (color: color-mix(in srgb, red 50%, blue)) {

.bo-dayclose-rows li.tone-amber {
  border-color: #d1bead;
}
}

.bo-dayclose-rows li.tone-amber .bo-dayclose-row-ico,
.bo-dayclose-rows li.tone-amber em {
  color: #c45c26;
}

.bo-dayclose-rows li.tone-amber .bo-dayclose-row-ico {
  background: #f7e8e1;
}

.bo-dayclose-rows li.tone-rose {
  border-color: color-mix(in srgb, var(--danger) 24%, var(--line));
  background: color-mix(in srgb, var(--danger) 7%, #fff);
}

@supports not (color: color-mix(in srgb, red 50%, blue)) {

.bo-dayclose-rows li.tone-rose {
  border-color: #cdb0aa;
  background: #faf0ef;
}
}

.bo-dayclose-rows li.tone-rose .bo-dayclose-row-ico,
.bo-dayclose-rows li.tone-rose em {
  color: var(--danger);
}

.bo-dayclose-rows li.tone-rose .bo-dayclose-row-ico {
  background: color-mix(in srgb, var(--danger) 14%, #fff);
}

@supports not (color: color-mix(in srgb, red 50%, blue)) {

.bo-dayclose-rows li.tone-rose .bo-dayclose-row-ico {
  background: #f5e0df;
}
}

.bo-dayclose-rows li.tone-blue {
  border-color: color-mix(in srgb, #2f6fed 24%, var(--line));
  background: #f0f5fe;
}

@supports not (color: color-mix(in srgb, red 50%, blue)) {

.bo-dayclose-rows li.tone-blue {
  border-color: #adc3dd;
}
}

.bo-dayclose-rows li.tone-blue .bo-dayclose-row-ico,
.bo-dayclose-rows li.tone-blue em {
  color: #2f6fed;
}

.bo-dayclose-rows li.tone-blue .bo-dayclose-row-ico {
  background: #e2ebfc;
}

.bo-dayclose-rows li.tone-green {
  border-color: color-mix(in srgb, var(--ok) 24%, var(--line));
  background: color-mix(in srgb, var(--ok) 7%, #fff);
}

@supports not (color: color-mix(in srgb, red 50%, blue)) {

.bo-dayclose-rows li.tone-green {
  border-color: #a9c5b5;
  background: #eff6f2;
}
}

.bo-dayclose-rows li.tone-green .bo-dayclose-row-ico,
.bo-dayclose-rows li.tone-green em {
  color: var(--ok);
}

.bo-dayclose-rows li.tone-green .bo-dayclose-row-ico {
  background: color-mix(in srgb, var(--ok) 14%, #fff);
}

@supports not (color: color-mix(in srgb, red 50%, blue)) {

.bo-dayclose-rows li.tone-green .bo-dayclose-row-ico {
  background: #e0ece5;
}
}

.bo-dayclose-rows li.tone-violet {
  border-color: color-mix(in srgb, #7c3aed 24%, var(--line));
  background: #f6f1fd;
}

@supports not (color: color-mix(in srgb, red 50%, blue)) {

.bo-dayclose-rows li.tone-violet {
  border-color: #c0b6dd;
}
}

.bo-dayclose-rows li.tone-violet .bo-dayclose-row-ico,
.bo-dayclose-rows li.tone-violet em {
  color: #7c3aed;
}

.bo-dayclose-rows li.tone-violet .bo-dayclose-row-ico {
  background: #ebe4fb;
}

.bo-dayclose-cash {
  display: grid;
  gap: 0.4rem;
  margin-bottom: 0.9rem;
  padding: 0.85rem 0.9rem;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: var(--surface-2);
}

.bo-dayclose-input {
  width: 100%;
  min-height: 2.65rem;
  padding: 0.55rem 0.85rem;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #fff;
  color: var(--ink);
  font: inherit;
  font-size: 1rem;
  font-weight: 700;
  box-sizing: border-box;
}

.bo-dayclose-input:focus {
  outline: 2px solid color-mix(in srgb, var(--teal) 45%, transparent);
  border-color: var(--teal);
}

@supports not (color: color-mix(in srgb, red 50%, blue)) {

.bo-dayclose-input:focus {
  outline: 2px solid rgba(31, 107, 92, 0.45);
}
}

.bo-dayclose-variance {
  margin: 0.15rem 0 0;
  color: var(--muted);
  font-size: 0.84rem;
  font-weight: 650;
}

.bo-dayclose-variance strong {
  color: var(--ink);
  font-family: var(--font-display);
}

.bo-dayclose-lock {
  margin: 0 0 0.9rem;
  padding: 0.75rem 0.85rem;
  border-radius: 12px;
  background: var(--danger-soft);
  color: var(--danger);
  font-size: 0.88rem;
  font-weight: 700;
}

.bo-dayclose-export {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.bo-dayclose-export-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.45rem;
  min-height: 2.5rem;
  padding: 0.45rem 1rem;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: #fff;
  color: var(--ink);
  font: inherit;
  font-size: 0.86rem;
  font-weight: 750;
  cursor: pointer;
}

.bo-dayclose-export-btn:hover {
  border-color: var(--teal);
  background: var(--teal-soft);
  color: var(--teal);
}

.bo-dayclose-export-btn .bo-ico {
  width: 1rem;
  height: 1rem;
}

.bo-dayclose-payboard {
  padding-bottom: 0.95rem;
}

.bo-dayclose-payboard-head {
  margin-bottom: 0.65rem;
  gap: 0.5rem;
}

.bo-dayclose-payboard-head h2 {
  font-size: 0.9rem;
}

.bo-dayclose-details {
  display: inline-flex;
  align-items: center;
  min-height: 1.85rem;
  padding: 0.2rem 0.65rem;
  border: 0;
  border-radius: 999px;
  background: var(--teal-soft);
  color: var(--teal);
  font: inherit;
  font-size: 0.74rem;
  font-weight: 750;
  cursor: pointer;
  white-space: nowrap;
}

.bo-dayclose-details:hover {
  filter: brightness(0.97);
}

.bo-dayclose-paygrid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.5rem;
}

.bo-dayclose-pay {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: start;
  gap: 0.35rem 0.5rem;
  min-width: 0;
  padding: 0.55rem 0.6rem 0.5rem;
  border: 1px solid transparent;
  border-radius: 12px;
  position: relative;
  overflow: hidden;
}

.bo-dayclose-pay-copy {
  display: grid;
  gap: 0.08rem;
  min-width: 0;
}

.bo-dayclose-pay-ico {
  display: grid;
  place-items: center;
  width: 1.7rem;
  height: 1.7rem;
  border-radius: 8px;
  background: #fff;
}

.bo-dayclose-pay-ico .bo-ico {
  width: 0.9rem;
  height: 0.9rem;
}

.bo-dayclose-pay-label {
  color: var(--muted);
  font-size: 0.68rem;
  font-weight: 750;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  line-height: 1.2;
}

.bo-dayclose-pay-amt {
  font-family: var(--font-display);
  font-size: 0.88rem;
  font-weight: 800;
  letter-spacing: -0.02em;
  color: var(--ink);
  line-height: 1.2;
}

.bo-dayclose-pay-pct {
  font-size: 0.68rem;
  font-style: normal;
  font-weight: 750;
  line-height: 1.2;
  opacity: 0.9;
}

.bo-dayclose-pay-bar {
  grid-column: 1 / -1;
  display: block;
  height: 0.22rem;
  margin-top: 0.2rem;
  border-radius: 999px;
  background: currentColor;
  opacity: 0.45;
  max-width: 100%;
}

.bo-dayclose-pay.tone-green {
  border-color: #b7e0c8;
  background: #eef8f2;
  color: #1f7a45;
}

.bo-dayclose-pay.tone-green .bo-dayclose-pay-ico {
  color: #1f7a45;
  background: #dff3e8;
}

.bo-dayclose-pay.tone-blue {
  border-color: #b8cdf8;
  background: #eef3fd;
  color: #2f6fed;
}

.bo-dayclose-pay.tone-blue .bo-dayclose-pay-ico {
  color: #2f6fed;
  background: #e0e9fc;
}

.bo-dayclose-pay.tone-violet {
  border-color: #d2c2f5;
  background: #f5f0fd;
  color: #7c3aed;
}

.bo-dayclose-pay.tone-violet .bo-dayclose-pay-ico {
  color: #7c3aed;
  background: #ebe4fb;
}

.bo-dayclose-pay.tone-rose {
  border-color: #f0c0cf;
  background: #fdf0f4;
  color: #c2255c;
}

.bo-dayclose-pay.tone-rose .bo-dayclose-pay-ico {
  color: #c2255c;
  background: #fce4ec;
}

.bo-dayclose-table-wrap {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  border: 1px solid var(--line);
  border-radius: 12px;
}

.bo-dayclose-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.84rem;
}

.bo-dayclose-table th,
.bo-dayclose-table td {
  padding: 0.65rem 0.7rem;
  border-bottom: 1px solid #e6ece8;
  text-align: start;
  vertical-align: middle;
}

.bo-dayclose-table th {
  background: #f4f7f5;
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  white-space: nowrap;
}

.bo-dayclose-table tbody tr:last-child td {
  border-bottom: 0;
}

.bo-dayclose-table td strong {
  font-weight: 750;
  color: var(--ink);
}

.bo-dayclose-view {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 1.9rem;
  padding: 0.2rem 0.65rem;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: #fff;
  color: var(--teal);
  font-size: 0.78rem;
  font-weight: 750;
  text-decoration: none;
  white-space: nowrap;
}

.bo-dayclose-view:hover {
  border-color: var(--teal);
  background: var(--teal-soft);
}

.bo-dayclose-footer {
  position: sticky;
  bottom: 0;
  z-index: 3;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 0.55rem;
  margin-top: 0.15rem;
  padding: 0.75rem 0.85rem;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: color-mix(in srgb, #fff 92%, transparent);
  backdrop-filter: blur(8px);
  box-shadow: 0 -8px 24px #12201c0f;
}

@supports not (color: color-mix(in srgb, red 50%, blue)) {

.bo-dayclose-footer {
  background: rgba(255, 255, 255, 0.92);
}
}

.bo-dayclose-refresh,
.bo-dayclose-close {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.45rem;
  min-height: 2.65rem;
  padding: 0.45rem 1.15rem;
  border-radius: 12px;
  font: inherit;
  font-size: 0.92rem;
  font-weight: 750;
  cursor: pointer;
}

.bo-dayclose-refresh {
  border: 1px solid var(--line);
  background: #fff;
  color: var(--ink);
}

.bo-dayclose-refresh:hover {
  border-color: var(--teal);
  background: var(--teal-soft);
  color: var(--teal);
}

.bo-dayclose-close {
  border: 0;
  background: #1a4f45;
  color: #fff;
  box-shadow: 0 8px 18px #1a4f4538;
  min-width: 9.5rem;
}

.bo-dayclose-close:hover {
  filter: brightness(1.06);
}

.bo-dayclose-close.reopen {
  background: var(--accent);
  box-shadow: 0 8px 18px #c45c2633;
}

.bo-dayclose-refresh .bo-ico,
.bo-dayclose-close .bo-ico {
  width: 1.05rem;
  height: 1.05rem;
}

html[dir='rtl'] .bo-dayclose-footer {
  justify-content: flex-start;
}

@media (max-width: 1100px) {
  .bo-dayclose-grid {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 960px) {
  .zk-bo .bo-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .bo-dayclose-footer {
    position: static;
    justify-content: stretch;
  }

  .bo-dayclose-refresh,
  .bo-dayclose-close {
    flex: 1 1 auto;
  }
}

@media (max-width: 860px) {
  .bo-dayclose-paygrid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 560px) {
  .zk-bo .bo-metrics {
    grid-template-columns: minmax(0, 1fr);
  }

  .bo-dayclose-pay {
    padding: 0.5rem 0.55rem 0.45rem;
  }

  .bo-dayclose-pay-amt {
    font-size: 0.84rem;
  }

  .bo-dayclose-footer {
    flex-direction: column-reverse;
  }

  .bo-dayclose-refresh,
  .bo-dayclose-close {
    width: 100%;
  }

  .bo-dayclose-rows li strong {
    white-space: normal;
  }
}
/* -- Back Office · Roles tab -------------------------------- */

.bo-roles-layout {
  display: grid;
  grid-template-columns: minmax(240px, 320px) minmax(0, 1fr);
  gap: 1rem;
  align-items: start;
}

@media (max-width: 960px) {
  .bo-roles-layout {
    grid-template-columns: 1fr;
  }
}

.bo-roles-sidebar,
.bo-roles-editor {
  display: flex;
  flex-direction: column;
  min-height: 420px;
  max-height: calc(100vh - 220px);
  overflow: hidden;
}

.bo-roles-sidebar .bo-panel-head,
.bo-roles-editor .bo-panel-head {
  flex-shrink: 0;
}

.bo-roles-list {
  flex: 1 1 auto;
  min-height: 0;
  overflow: auto;
  display: flex;
  flex-direction: column;
  gap: 0.45rem;
  padding: 0.15rem 0.1rem 0.5rem;
}

.bo-role-card {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 0.65rem;
  width: 100%;
  padding: 0.7rem 0.75rem;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: var(--surface-2);
  text-align: start;
  cursor: pointer;
  transition:
    border-color 0.15s ease,
    background 0.15s ease,
    box-shadow 0.15s ease;
}

.bo-role-card:hover {
  border-color: color-mix(in srgb, var(--teal) 35%, var(--line));
  background: #fff;
}

@supports not (color: color-mix(in srgb, red 50%, blue)) {

.bo-role-card:hover {
  border-color: #95b5ad;
}
}

.bo-role-card.active {
  border-color: var(--teal);
  background: var(--teal-soft);
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--teal) 18%, transparent);
}

@supports not (color: color-mix(in srgb, red 50%, blue)) {

.bo-role-card.active {
  box-shadow: 0 0 0 1px rgba(31, 107, 92, 0.18);
}
}

.bo-role-avatar {
  width: 2.35rem;
  height: 2.35rem;
  border-radius: 11px;
  display: grid;
  place-items: center;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  color: var(--teal);
  background: #fff;
  border: 1px solid color-mix(in srgb, var(--teal) 22%, var(--line));
}

@supports not (color: color-mix(in srgb, red 50%, blue)) {

.bo-role-avatar {
  border: 1px solid #adc4bd;
}
}

.bo-role-card.active .bo-role-avatar {
  background: #fff;
  color: var(--teal);
}

.bo-role-card-body {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
}

.bo-role-card-body strong {
  font-size: 0.92rem;
  line-height: 1.25;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.bo-role-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.35rem;
  font-size: 0.72rem;
  color: var(--muted);
}

.bo-role-badge {
  display: inline-flex;
  padding: 0.12rem 0.45rem;
  border-radius: 999px;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}

.bo-role-badge.system {
  color: #0f5132;
  background: var(--ok-soft);
}

.bo-role-badge.custom {
  color: #7c4a03;
  background: var(--warn-soft);
}

.bo-role-chevron {
  color: var(--muted);
  font-size: 1rem;
  line-height: 1;
  opacity: 0.55;
}

.bo-role-card.active .bo-role-chevron {
  color: var(--teal);
  opacity: 1;
}

.bo-roles-editor-body {
  flex: 1 1 auto;
  min-height: 0;
  overflow: auto;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  padding-bottom: 0.5rem;
}

.bo-role-hero {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 0.85rem 1rem;
  border-radius: 16px;
  background: linear-gradient(135deg, var(--teal-soft) 0%, #fff 72%);
  border: 1px solid color-mix(in srgb, var(--teal) 18%, var(--line));
}

@supports not (color: color-mix(in srgb, red 50%, blue)) {

.bo-role-hero {
  border: 1px solid #b4c8c2;
}
}

.bo-role-hero-main {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  min-width: 0;
}

.bo-role-hero-main .bo-role-avatar {
  width: 2.75rem;
  height: 2.75rem;
  font-size: 0.82rem;
}

.bo-role-hero-main h3 {
  margin: 0;
  font-size: 1.05rem;
  font-family: var(--font-display);
}

.bo-role-hero-main p {
  margin: 0.15rem 0 0;
  font-size: 0.78rem;
  color: var(--muted);
}

.bo-role-stats {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
}

.bo-role-stat {
  min-width: 4.5rem;
  padding: 0.45rem 0.65rem;
  border-radius: 12px;
  background: #fff;
  border: 1px solid var(--line);
  text-align: center;
}

.bo-role-stat strong {
  display: block;
  font-size: 1rem;
  color: var(--teal);
  line-height: 1.2;
}

.bo-role-stat span {
  display: block;
  margin-top: 0.1rem;
  font-size: 0.68rem;
  color: var(--muted);
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.bo-role-locked {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  padding: 1rem;
  border-radius: 14px;
  background: var(--surface-2);
  border: 1px dashed var(--line);
  color: var(--ink-soft);
  font-size: 0.88rem;
  line-height: 1.45;
}

.bo-role-locked-icon {
  width: 2rem;
  height: 2rem;
  border-radius: 10px;
  display: grid;
  place-items: center;
  flex-shrink: 0;
  background: #fff;
  border: 1px solid var(--line);
  color: var(--muted);
  font-size: 1rem;
}

.bo-role-section {
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
}

.bo-role-section-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
}

.bo-role-section-head h4 {
  margin: 0;
  font-size: 0.82rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--muted);
}

.bo-role-section-head span {
  font-size: 0.72rem;
  color: var(--muted);
}

.bo-role-modules {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
}

.bo-role-module {
  padding: 0.38rem 0.72rem;
  border-radius: 999px;
  border: 1px solid var(--line);
  background: #fff;
  font-size: 0.78rem;
  font-weight: 600;
  color: var(--ink-soft);
  cursor: pointer;
  transition:
    background 0.12s ease,
    border-color 0.12s ease,
    color 0.12s ease;
}

.bo-role-module:hover:not(:disabled) {
  border-color: color-mix(in srgb, var(--teal) 40%, var(--line));
}

@supports not (color: color-mix(in srgb, red 50%, blue)) {

.bo-role-module:hover:not(:disabled) {
  border-color: #8cafa6;
}
}

.bo-role-module.on {
  background: var(--teal);
  border-color: var(--teal);
  color: #fff;
}

.bo-role-module:disabled {
  cursor: default;
  opacity: 0.85;
}

.bo-role-module.on:disabled {
  opacity: 1;
}

.bo-role-actions {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: 0.45rem;
}

.bo-role-action {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  padding: 0.62rem 0.72rem;
  border-radius: 12px;
  border: 1px solid var(--line);
  background: #fff;
  font-size: 0.8rem;
  font-weight: 600;
  color: var(--ink-soft);
  cursor: pointer;
  user-select: none;
}

.bo-role-action:hover:not(.readonly) {
  border-color: color-mix(in srgb, var(--teal) 35%, var(--line));
}

@supports not (color: color-mix(in srgb, red 50%, blue)) {

.bo-role-action:hover:not(.readonly) {
  border-color: #95b5ad;
}
}

.bo-role-action.on {
  border-color: color-mix(in srgb, var(--teal) 45%, var(--line));
  background: var(--teal-soft);
}

@supports not (color: color-mix(in srgb, red 50%, blue)) {

.bo-role-action.on {
  border-color: #83aaa0;
}
}

.bo-role-action.readonly {
  cursor: default;
}

.bo-role-action input {
  width: 1rem;
  height: 1rem;
  accent-color: var(--teal);
  flex-shrink: 0;
}

.bo-role-footer {
  flex-shrink: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 0.5rem;
  padding-top: 0.85rem;
  margin-top: auto;
  border-top: 1px solid var(--line);
}

html[dir='rtl'] .bo-role-card {
  text-align: start;
}

html[dir='rtl'] .bo-role-chevron {
  transform: scaleX(-1);
}

/* -- Responsive ------------------------------------------------ */

@media (max-width: 960px) {
  .bo-roles-layout {
    gap: 0.75rem;
  }

  .bo-roles-mobile-hide {
    display: none !important;
  }

  .bo-roles-sidebar,
  .bo-roles-editor {
    min-height: 0;
    max-height: none;
  }

  .bo-roles-sidebar .bo-panel-head,
  .bo-roles-editor-head {
    flex-wrap: wrap;
    gap: 0.5rem;
    align-items: flex-start;
  }

  .bo-roles-sidebar .bo-panel-head h2,
  .bo-roles-editor-title h2 {
    font-size: 0.95rem;
    line-height: 1.3;
    min-width: 0;
  }

  .bo-roles-editor-head {
    flex-direction: column;
    align-items: stretch;
  }

  .bo-roles-editor-title {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    min-width: 0;
    width: 100%;
  }

  .bo-roles-editor-title h2 {
    flex: 1 1 auto;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .bo-roles-back {
    display: inline-grid;
    place-items: center;
    flex-shrink: 0;
    width: var(--touch-min, 44px);
    height: var(--touch-min, 44px);
    border: 1px solid var(--line);
    border-radius: 12px;
    background: #fff;
    color: var(--teal);
    font-size: 1.15rem;
    font-weight: 700;
    cursor: pointer;
  }

  .bo-roles-user-chip {
    align-self: flex-start;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .bo-role-card {
    min-height: var(--touch-min, 44px);
    padding: 0.75rem 0.85rem;
  }

  .bo-role-hero {
    flex-direction: column;
    align-items: stretch;
  }

  .bo-role-stats {
    width: 100%;
  }

  .bo-role-stat {
    flex: 1 1 calc(50% - 0.25rem);
    min-width: 0;
  }

  .bo-role-module {
    min-height: var(--touch-min, 44px);
    padding: 0.55rem 0.85rem;
    font-size: 0.82rem;
  }

  .bo-role-actions {
    grid-template-columns: 1fr;
  }

  .bo-role-action {
    min-height: var(--touch-min, 44px);
    padding: 0.75rem 0.85rem;
  }

  .bo-role-footer {
    flex-direction: column-reverse;
    align-items: stretch;
    padding-bottom: 0.25rem;
  }

  .bo-role-footer .btn {
    width: 100%;
    min-height: var(--touch-min, 44px);
    justify-content: center;
  }
}

@media (min-width: 961px) {
  .bo-roles-back {
    display: none;
  }

  .bo-roles-sidebar.bo-roles-mobile-hide,
  .bo-roles-editor.bo-roles-mobile-hide {
    display: flex !important;
  }
}

@media (max-width: 480px) {
  .bo-roles-list {
    gap: 0.4rem;
  }

  .bo-role-meta {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.2rem;
  }

  .bo-role-section-head {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.15rem;
  }
}

html[dir='rtl'] .bo-roles-back {
  transform: scaleX(-1);
}
/* Home dashboard — restaurant command center (HomePage + components/dashboard) */

.app-shell.home-mode .main-stage {
  padding: 0 !important;
  background: #f5f8f6;
  display: flex;
  flex-direction: column;
  min-height: 0;
  overflow: hidden;
}

.hd {
  --hd-primary: #006b4f;
  --hd-primary-soft: #e8f7ef;
  --hd-dark: #004d3a;
  --hd-bg: #f5f8f6;
  --hd-card: #fff;
  --hd-ink: #172b26;
  --hd-muted: #6b7c76;
  --hd-line: #e2e9e5;
  --hd-radius: 14px;
  --hd-radius-sm: 12px;
  --hd-shadow: 0 1px 2px rgba(16, 40, 32, 0.04), 0 2px 8px rgba(16, 40, 32, 0.04);
  --hd-shadow-hover: 0 4px 14px rgba(16, 40, 32, 0.08);
  --hd-gap: 20px;

  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  width: 100%;
  height: 100%;
  min-height: 0;
  background: var(--hd-bg);
  color: var(--hd-ink);
  font-family: var(--font-body);
}

:where(.hd) a {
  color: inherit;
  text-decoration: none;
}

:where(.hd) button {
  font: inherit;
  cursor: pointer;
}

.hd a:focus-visible,
.hd button:focus-visible {
  outline: 2px solid #1f9d6b;
  outline-offset: 2px;
}

/* Tones — soft surfaces with one accent each */
.hd-tone-green { --tone: #0f8a5f; --tone-soft: #e8f7ef; --tone-line: #cdeadb; }
.hd-tone-orange { --tone: #d9700f; --tone-soft: #fff2e2; --tone-line: #f8dcb8; }
.hd-tone-blue { --tone: #2d6ed8; --tone-soft: #eaf4ff; --tone-line: #cfe1f8; }
.hd-tone-purple { --tone: #7a4bd8; --tone-soft: #f4ecff; --tone-line: #e2d4f8; }
.hd-tone-pink { --tone: #d23a82; --tone-soft: #fdecf6; --tone-line: #f5d0e4; }
.hd-tone-teal { --tone: #0e8c85; --tone-soft: #e8f8f7; --tone-line: #c7ebe8; }
.hd-tone-slate { --tone: #4a5963; --tone-soft: #f1f4f5; --tone-line: #dde3e6; }

/* ---------- Standard header + scroll area ---------- */

.hd .zk-dash-header.zk-dash-header-bar {
  flex-shrink: 0;
  border-radius: 0;
  margin: 0;
  width: 100%;
  border-left: none;
  border-right: none;
  border-top: none;
  box-shadow: 0 1px 0 rgba(0, 0, 0, 0.08);
}

.hd-main {
  min-width: 0;
  min-height: 0;
  overflow-y: auto;
  overflow-x: hidden;
  padding: 22px 24px 28px;
}

/* ---------- Welcome ---------- */

.hd-welcome {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 12px 20px;
  margin-bottom: 18px;
}

.hd-welcome h1 {
  margin: 0;
  font-family: var(--font-display);
  font-size: clamp(1.3rem, 2vw, 1.6rem);
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.2;
  color: var(--hd-ink);
}

.hd-welcome p {
  margin: 4px 0 0;
  font-size: 0.9rem;
  color: var(--hd-muted);
}

.hd-day {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-height: 46px;
  padding: 0 14px 0 8px;
  border-radius: var(--hd-radius-sm);
  border: 1px solid #cde5d8;
  background: var(--hd-card);
  color: var(--hd-primary);
  font-weight: 700;
  font-size: 0.92rem;
  box-shadow: var(--hd-shadow);
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.hd-day > svg {
  width: 18px;
  height: 18px;
}

.hd-day-icon {
  display: grid;
  place-items: center;
  width: 32px;
  height: 32px;
  border-radius: 9px;
  background: var(--hd-primary-soft);
}

.hd-day-icon svg {
  width: 18px;
  height: 18px;
}

a.hd-day:hover {
  border-color: #8fcdb0;
  box-shadow: var(--hd-shadow-hover);
}

.hd-day.is-closed {
  color: #b42318;
  border-color: #f3c9c4;
}

.hd-day.is-closed .hd-day-icon {
  background: #fdecea;
}

.hd-alert {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 16px;
  padding: 10px 14px;
  border-radius: var(--hd-radius-sm);
  border: 1px solid #f3d9a4;
  background: #fff8e8;
  color: #7a5200;
  font-size: 0.86rem;
  font-weight: 600;
}

.hd-alert button {
  flex-shrink: 0;
  padding: 6px 12px;
  border-radius: 8px;
  border: 1px solid #e6c378;
  background: #fff;
  color: #7a5200;
  font-weight: 700;
}

/* ---------- KPI cards ---------- */

.hd-kpis {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
  margin-bottom: var(--hd-gap);
}

.hd-kpi {
  display: flex;
  align-items: center;
  gap: 14px;
  min-width: 0;
  padding: 16px 16px 16px 18px;
  border-radius: var(--hd-radius);
  border: 1px solid var(--tone-line);
  background: var(--tone-soft);
  transition: border-color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease;
}

a.hd-kpi:hover {
  border-color: var(--tone);
  box-shadow: var(--hd-shadow-hover);
  transform: translateY(-1px);
}

.hd-kpi-icon {
  display: grid;
  place-items: center;
  flex-shrink: 0;
  width: 48px;
  height: 48px;
  border-radius: 12px;
  background: #fff;
  color: var(--tone);
  box-shadow: 0 1px 2px rgba(16, 40, 32, 0.06);
}

.hd-kpi-icon svg {
  width: 24px;
  height: 24px;
}

.hd-kpi-text {
  display: flex;
  flex-direction: column;
  min-width: 0;
  flex: 1;
  container-type: inline-size;
}

.hd-kpi-label {
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--tone);
}

.hd-kpi-value {
  margin-top: 2px;
  font-family: var(--font-display);
  font-size: 1.6rem;
  font-size: clamp(1.05rem, 13cqi, 1.6rem);
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: -0.02em;
  color: var(--hd-ink);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.hd-kpi-sub {
  margin-top: 2px;
  font-size: 0.8rem;
  color: var(--hd-muted);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.hd-kpi-go {
  flex-shrink: 0;
  color: var(--hd-ink);
  opacity: 0.55;
  transition: transform 0.15s ease, opacity 0.15s ease;
}

.hd-kpi-go svg {
  width: 20px;
  height: 20px;
}

a.hd-kpi:hover .hd-kpi-go {
  opacity: 1;
  transform: translateX(2px);
}

[dir='rtl'] .hd-kpi-go svg,
[dir='rtl'] .hd-live-go svg,
[dir='rtl'] .hd-day > svg,
[dir='rtl'] .hd-rail-btn.is-next svg {
  transform: scaleX(-1);
}

.hd-trend {
  display: inline-flex;
  align-items: center;
  gap: 2px;
  font-weight: 600;
}

.hd-trend svg {
  width: 14px;
  height: 14px;
}

.hd-trend.is-up {
  color: #0f8a5f;
}

.hd-trend.is-down {
  color: #c2410c;
}

/* ---------- Main grid ---------- */

.hd-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 340px;
  gap: var(--hd-gap);
  align-items: start;
}

.hd-content {
  display: flex;
  flex-direction: column;
  gap: var(--hd-gap);
  min-width: 0;
}

.hd-aside {
  display: flex;
  flex-direction: column;
  gap: var(--hd-gap);
  min-width: 0;
}

.hd-section-head {
  margin-bottom: 12px;
}

.hd-section-head h2 {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  font-family: var(--font-display);
  font-size: 1.05rem;
  font-weight: 700;
  letter-spacing: -0.01em;
  color: var(--hd-ink);
}

.hd-section-head h2::before {
  content: '';
  width: 4px;
  height: 16px;
  border-radius: 4px;
  background: var(--hd-primary);
}

.hd-section-head p {
  margin: 2px 0 0;
  padding-inline-start: 12px;
  font-size: 0.8rem;
  color: var(--hd-muted);
}

.hd-link {
  font-size: 0.82rem;
  font-weight: 700;
  color: var(--hd-primary) !important;
  white-space: nowrap;
}

.hd-link:hover {
  text-decoration: underline !important;
}

.hd-empty {
  margin: 0;
  padding: 18px 12px;
  border-radius: var(--hd-radius-sm);
  border: 1px dashed #d3ddd8;
  background: #fafcfb;
  color: var(--hd-muted);
  font-size: 0.86rem;
  text-align: center;
}

.hd-clear {
  margin: 10px 0 0;
  font-size: 0.82rem;
  font-weight: 600;
  color: #0f8a5f;
}

/* ---------- Shortcut tiles ---------- */

.hd-tiles {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(92px, 1fr));
  gap: 10px;
}

.hd-tile {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-width: 0;
  min-height: 86px;
  padding: 12px 6px 10px;
  border-radius: var(--hd-radius-sm);
  border: 1px solid var(--tone-line);
  background: var(--tone-soft);
  color: var(--hd-ink);
  text-align: center;
  transition: border-color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease;
}

.hd-tile:hover {
  border-color: var(--tone);
  box-shadow: var(--hd-shadow-hover);
  transform: translateY(-1px);
}

.hd-tile-icon {
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border-radius: 10px;
  background: #fff;
  color: var(--tone);
  box-shadow: 0 1px 2px rgba(16, 40, 32, 0.06);
}

.hd-tile-icon svg {
  width: 20px;
  height: 20px;
}

.hd-tile-label {
  max-width: 100%;
  font-size: 0.8rem;
  font-weight: 650;
  line-height: 1.2;
}

.hd-tile-badge {
  position: absolute;
  top: 6px;
  inset-inline-end: 6px;
  min-width: 20px;
  height: 20px;
  padding: 0 5px;
  border-radius: 999px;
  background: #e03131;
  color: #fff;
  font-size: 0.7rem;
  font-weight: 700;
  line-height: 20px;
  text-align: center;
  box-shadow: 0 1px 3px rgba(180, 35, 24, 0.35);
}

/* ---------- Live now ---------- */

.hd-lives {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.hd-live {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
  padding: 14px;
  border-radius: var(--hd-radius);
  border: 1px solid var(--hd-line);
  background: var(--hd-card);
  box-shadow: var(--hd-shadow);
  transition: border-color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease;
}

.hd-live:hover {
  border-color: var(--tone);
  box-shadow: var(--hd-shadow-hover);
  transform: translateY(-1px);
}

.hd-live.is-hot {
  border-color: var(--tone-line);
  background: linear-gradient(180deg, var(--tone-soft), #fff 90%);
}

.hd-live-icon {
  display: grid;
  place-items: center;
  flex-shrink: 0;
  width: 44px;
  height: 44px;
  border-radius: 12px;
  background: var(--tone-soft);
  color: var(--tone);
}

.hd-live.is-hot .hd-live-icon {
  background: #fff;
}

.hd-live-icon svg {
  width: 22px;
  height: 22px;
}

.hd-live-text {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-width: 0;
  flex: 1;
}

.hd-live-text strong {
  font-family: var(--font-display);
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1.1;
  color: var(--tone);
}

.hd-live-text span {
  margin-top: 1px;
  font-size: 0.78rem;
  color: var(--hd-muted);
  line-height: 1.3;
}

.hd-live-text em {
  margin-top: 8px;
  padding: 3px 10px;
  border-radius: 999px;
  border: 1px solid var(--tone-line);
  background: #fff;
  color: var(--tone);
  font-style: normal;
  font-size: 0.72rem;
  font-weight: 700;
  white-space: nowrap;
}

.hd-live-go {
  flex-shrink: 0;
  align-self: flex-start;
  color: var(--hd-muted);
}

@media (max-width: 1599px) {
  .hd-live {
    align-items: flex-start;
    gap: 10px;
    padding: 12px;
  }

  .hd-live-icon {
    width: 38px;
    height: 38px;
  }

  .hd-live-go {
    display: none;
  }
}

.hd-live-go svg {
  width: 18px;
  height: 18px;
}

/* ---------- Table status ---------- */

.hd-tables-head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 16px;
}

.hd-tables-head h2 {
  margin-inline-end: auto;
}

.hd-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 14px;
  margin: 0;
  padding: 0;
  list-style: none;
  font-size: 0.78rem;
  color: var(--hd-muted);
}

.hd-legend li {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.hd-legend li::before {
  content: '';
  width: 8px;
  height: 8px;
  border-radius: 50%;
}

.hd-legend b {
  font-weight: 600;
}

.hd-legend .is-free::before { background: #1fa971; }
.hd-legend .is-busy::before { background: #f08c1a; }
.hd-legend .is-reserved::before { background: #94a3ad; }

.hd-tables-wrap {
  position: relative;
}

.hd-tables-rail {
  display: flex;
  gap: 10px;
  overflow-x: auto;
  scroll-snap-type: x proximity;
  scrollbar-width: thin;
  padding-bottom: 6px;
}

.hd-tables-rail::-webkit-scrollbar {
  height: 6px;
}

.hd-tables-rail::-webkit-scrollbar-button {
  display: none;
}

.hd-tables-rail::-webkit-scrollbar-thumb {
  border-radius: 999px;
  background: rgba(23, 43, 38, 0.18);
}

.hd-table {
  position: relative;
  flex: 0 0 100px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 2px;
  min-height: 88px;
  padding: 16px 6px 10px;
  border-radius: var(--hd-radius-sm);
  border: 1px solid #cdeadb;
  background: #eef9f3;
  scroll-snap-align: start;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.hd-table:hover {
  box-shadow: var(--hd-shadow-hover);
}

.hd-table strong {
  font-family: var(--font-display);
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--hd-ink);
}

.hd-table-seats {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  font-size: 0.76rem;
  color: var(--hd-muted);
}

.hd-table-seats svg {
  width: 13px;
  height: 13px;
}

.hd-table em {
  font-style: normal;
  font-size: 0.72rem;
  font-weight: 700;
  color: #0f8a5f;
}

.hd-table-timer {
  position: absolute;
  top: 5px;
  inset-inline-end: 6px;
  display: inline-flex;
  align-items: center;
  gap: 2px;
  font-size: 0.66rem;
  font-weight: 700;
  color: #b45309;
}

.hd-table-timer svg {
  width: 11px;
  height: 11px;
}

.hd-table.is-busy { border-color: #f8d6ae; background: #fff4e6; }
.hd-table.is-busy em { color: #c2600c; }
.hd-table.is-billing { border-color: #e2d4f8; background: #f6f0ff; }
.hd-table.is-billing em { color: #7a4bd8; }
.hd-table.is-reserved { border-color: #dde3e6; background: #f3f5f6; }
.hd-table.is-reserved em { color: #5b6b75; }
.hd-table.is-merged { border-style: dashed; border-color: #cfd8dc; background: #f7f9f9; }
.hd-table.is-merged em { color: #6b7c76; }

.hd-rail-btn {
  position: absolute;
  top: calc(50% - 19px);
  display: grid;
  place-items: center;
  width: 32px;
  height: 32px;
  padding: 0;
  border-radius: 50%;
  border: 1px solid var(--hd-line);
  background: #fff;
  color: var(--hd-ink);
  box-shadow: 0 2px 8px rgba(16, 40, 32, 0.12);
}

.hd-rail-btn svg {
  width: 18px;
  height: 18px;
}

.hd-rail-btn.is-next { inset-inline-end: -6px; }
.hd-rail-btn.is-back { inset-inline-start: -6px; }
.hd-rail-btn.is-back svg { transform: scaleX(-1); }
[dir='rtl'] .hd-rail-btn.is-back svg { transform: none; }

/* ---------- Aside cards ---------- */

.hd-card {
  padding: 16px 18px 18px;
  border-radius: var(--hd-radius);
  border: 1px solid var(--hd-line);
  background: var(--hd-card);
  box-shadow: var(--hd-shadow);
  min-width: 0;
}

.hd-card-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 8px;
}

.hd-card-head h2 {
  margin: 0;
  font-family: var(--font-display);
  font-size: 0.98rem;
  font-weight: 700;
  color: var(--hd-ink);
}

.hd-sales-value {
  display: block;
  margin-top: 4px;
  font-family: var(--font-display);
  font-size: 1.75rem;
  font-weight: 700;
  letter-spacing: -0.02em;
  color: var(--hd-primary);
  line-height: 1.15;
}

.hd-range {
  width: 7.5rem;
  flex-shrink: 0;
}

.hd-range .mesa-select-trigger {
  min-height: 34px !important;
  height: 34px;
  padding: 0 8px 0 10px !important;
  border-radius: 9px !important;
  font-size: 0.8rem !important;
}

.hd-chart-box {
  position: relative;
  margin: 8px 0 14px;
}

.hd-chart {
  width: 100%;
  min-height: 150px;
}

.hd-chart svg {
  display: block;
  overflow: visible;
}

.hd-chart-grid {
  stroke: #edf2ef;
  stroke-width: 1;
}

.hd-chart-axis {
  fill: #8a9a94;
  font-size: 10px;
  font-family: var(--font-body);
}

.hd-chart-line {
  fill: none;
  stroke: #1f9d6b;
  stroke-width: 2.2;
  stroke-linejoin: round;
  stroke-linecap: round;
}

.hd-chart-dot {
  fill: #fff;
  stroke: #1f9d6b;
  stroke-width: 2;
}

.hd-chart-empty {
  position: absolute;
  inset: 0 0 22px 40px;
  display: grid;
  place-items: center;
  margin: 0;
  font-size: 0.8rem;
  font-weight: 600;
  color: var(--hd-muted);
}

.hd-sales-stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

.hd-sales-stats > div {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
  padding: 10px 12px;
  border-radius: 10px;
  border: 1px solid var(--tone-line);
  background: var(--tone-soft);
}

.hd-sales-stats strong {
  font-family: var(--font-display);
  font-size: 1.3rem;
  font-weight: 700;
  color: var(--tone);
  line-height: 1.1;
}

.hd-sales-stats span {
  font-size: 0.74rem;
  color: var(--hd-muted);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* Recent orders */
.hd-orders-list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.hd-orders-list > li + li {
  border-top: 1px solid #eef2f0;
}

.hd-order {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto auto;
  align-items: center;
  gap: 10px;
  padding: 10px 2px;
  border-radius: 8px;
}

.hd-order:hover {
  background: #f7faf8;
}

.hd-order-id {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.hd-order-id strong {
  font-size: 0.82rem;
  font-weight: 700;
  color: var(--hd-ink);
}

.hd-order-id small {
  font-size: 0.72rem;
  color: var(--hd-muted);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.hd-order-time {
  font-size: 0.74rem;
  color: var(--hd-muted);
  white-space: nowrap;
}

.hd-order-amt {
  font-size: 0.8rem;
  font-weight: 700;
  color: var(--hd-ink);
  white-space: nowrap;
}

.hd-status {
  justify-self: end;
  padding: 3px 8px;
  border-radius: 999px;
  font-size: 0.68rem;
  font-weight: 700;
  white-space: nowrap;
  background: #eef2f0;
  color: #4a5963;
}

.hd-status.is-completed { background: #e3f6ec; color: #0f7a52; }
.hd-status.is-kitchen { background: #e6f0ff; color: #2b62c4; }
.hd-status.is-preparing { background: #fff0db; color: #b85a07; }
.hd-status.is-ready { background: #def6f4; color: #0b7c76; }
.hd-status.is-billing { background: #f1e9ff; color: #6d3fcf; }
.hd-status.is-onTheWay { background: #e6f0ff; color: #2b62c4; }

/* Skeletons */
.hd-skel {
  display: inline-block;
  height: 0.9em;
  border-radius: 6px;
  background: linear-gradient(90deg, #eef2f0 25%, #e1e8e4 37%, #eef2f0 63%);
  background-size: 400% 100%;
  animation: hd-shimmer 1.4s ease infinite;
}

.hd-skel-value {
  display: block;
  width: 150px;
  height: 30px;
  margin-top: 6px;
}

.hd-skel-kpi {
  width: 120px;
  height: 1.4rem;
  vertical-align: middle;
}

.hd-skel-chart {
  display: block;
  width: 100%;
  height: 150px;
  margin: 8px 0 14px;
}

.hd-skel-row {
  display: flex;
  justify-content: space-between;
  padding: 14px 2px;
}

@keyframes hd-shimmer {
  0% { background-position: 100% 50%; }
  100% { background-position: 0 50%; }
}

@media (prefers-reduced-motion: reduce) {
  .hd-skel { animation: none; }
  .hd-kpi,
  .hd-tile,
  .hd-live { transition: none; }
}

/* ---------- Responsive ---------- */

/* Full HD — larger tiles so a full service row spans the column */
@media (min-width: 1800px) {
  .hd-tiles {
    grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
  }

  .hd-tile {
    min-height: 96px;
  }
}

/* Laptop — give KPI figures the room the chevron would take */
@media (max-width: 1439px) {
  .hd-kpi {
    gap: 12px;
    padding: 14px;
  }

  .hd-kpi-icon {
    width: 42px;
    height: 42px;
  }

  .hd-kpi-go {
    display: none;
  }
}

/* Analytics column drops below the main content before it squeezes it */
@media (max-width: 1279px) {
  .hd-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .hd-aside {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: start;
  }
}

/* Tablet */
@media (max-width: 1199px) {
  .hd-kpis {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* Phone */
@media (max-width: 767px) {
  .hd {
    --hd-gap: 16px;
  }

  .hd-main {
    padding: 16px 14px 24px;
  }

  .hd-kpis {
    grid-template-columns: minmax(0, 1fr);
    gap: 10px;
  }

  .hd-kpi {
    padding: 12px 14px;
  }

  .hd-kpi-icon {
    width: 42px;
    height: 42px;
  }

  .hd-kpi-value {
    font-size: 1.4rem;
  }

  .hd-tiles {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
  }

  .hd-tile {
    flex-direction: row;
    justify-content: flex-start;
    gap: 10px;
    min-height: 56px;
    padding: 8px 32px 8px 10px;
    padding-inline: 10px 32px;
    text-align: start;
  }

  .hd-tile-icon {
    width: 36px;
    height: 36px;
    flex-shrink: 0;
  }

  .hd-tile-badge {
    top: 50%;
    transform: translateY(-50%);
    inset-inline-end: 8px;
  }

  .hd-lives {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }

  .hd-aside {
    grid-template-columns: minmax(0, 1fr);
  }

  .hd-day {
    width: 100%;
    justify-content: center;
  }
}

@media (max-width: 380px) {
  .hd-lives {
    grid-template-columns: minmax(0, 1fr);
  }

  .hd-order {
    grid-template-columns: minmax(0, 1fr) auto auto;
  }

  .hd-order-time {
    display: none;
  }
}
/* Dashboard header — single grid system for desktop + responsive */

.zk-dash-header.zk-dash-header-bar {
  --dash-green: #05472a;
  --dash-green-top: #0a5f3a;
  --dash-control-border: rgba(255, 255, 255, 0.42);
  --dash-control-bg: rgba(255, 255, 255, 0.1);
  --dash-control-radius: 8px;
  --dash-control-height: 40px;
  --dash-header-gap: 0.7rem;

  margin: 0;
  padding: 0.65rem 1rem;
  border-radius: 0;
  background: linear-gradient(180deg, var(--dash-green-top) 0%, var(--dash-green) 100%);
  border: none;
  border-bottom: 1px solid rgba(0, 0, 0, 0.12);
  box-shadow: none;
  color: #fff;
  display: grid !important;
  /* Left: brand · search | spacer | Right: branch · clock · tools */
  grid-template-columns: max-content 14rem minmax(0, 1fr) minmax(9rem, max-content) auto auto;
  grid-template-areas: 'brand search . branch clock tools';
  align-items: center;
  justify-content: stretch;
  gap: 0.55rem 0.75rem;
  min-width: 0;
  width: 100%;
  position: relative;
  z-index: 40;
  isolation: isolate;
  top: auto;
}

.zk-dash-header.zk-dash-header-bar::after {
  display: none !important;
  content: none;
}

.zk-dash-header-actions {
  display: contents;
}

.zk-dash-brand {
  grid-area: brand;
  flex: none;
  display: flex;
  align-items: center;
  gap: 0.65rem;
  min-width: 0;
  max-width: 12.5rem;
  color: #fff;
  text-decoration: none;
}

.zk-dash-header .zk-dash-mark {
  display: grid;
  flex-shrink: 0;
  width: 2.35rem;
  height: 2.35rem;
  border-radius: 6px;
  background: rgba(0, 0, 0, 0.22);
  border: 1px solid rgba(255, 255, 255, 0.28);
  color: #fff;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.12);
}

.zk-dash-header .zk-dash-mark.brand-mark-img {
  background: #fff;
  padding: 3px;
  border: none;
}

.zk-dash-header .zk-dash-mark .brand-mark-letters {
  color: #fff;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.06em;
}

.zk-dash-brand > div {
  min-width: 0;
}

.zk-dash-brand strong {
  color: #fff;
  font-family: var(--font-display);
  font-size: 1rem;
  font-weight: 750;
  letter-spacing: -0.02em;
  line-height: 1.15;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  display: block;
}

.zk-dash-brand small {
  color: rgba(255, 255, 255, 0.82);
  font-size: 0.7rem;
  font-weight: 600;
  margin-top: 0.12rem;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  display: block;
}

.zk-dash-header.zk-dash-header-bar .zk-dash-search {
  grid-area: search;
  flex: none;
  min-width: 0;
  max-width: 14rem;
  width: 100%;
  justify-self: start;
  display: flex;
  align-items: center;
  background: #fff;
  border-radius: var(--dash-control-radius);
  padding: 0 0.7rem 0 0.65rem;
  gap: 0.45rem;
  border: none;
  box-shadow: none;
  min-height: var(--dash-control-height);
}

.zk-dash-search svg {
  color: #9aa8a2;
  width: 1.05rem;
  height: 1.05rem;
  flex-shrink: 0;
}

.zk-dash-search input {
  font-size: 0.9rem;
  font-weight: 550;
  color: var(--ink);
  padding: 0;
  min-width: 0;
  line-height: 1.2;
  width: 100%;
}

.zk-dash-search input::placeholder {
  color: #a0ada7;
}

.zk-dash-branch {
  grid-area: branch;
  min-width: 0;
  justify-self: end;
  max-width: 14rem;
}

.zk-dash-header .mesa-select-chrome {
  max-width: none;
  width: 100%;
}

.zk-dash-header .mesa-select-chrome .mesa-select-trigger {
  color: #fff;
  background: var(--dash-control-bg);
  border: 1px solid var(--dash-control-border);
  border-radius: var(--dash-control-radius);
  min-height: var(--dash-control-height);
  height: var(--dash-control-height);
  padding: 0 0.5rem 0 0.7rem;
  font-size: 0.76rem;
  font-weight: 650;
  display: flex;
  align-items: center;
  width: 100%;
}

.zk-dash-header .mesa-select-chrome .mesa-select-trigger:hover,
.zk-dash-header .mesa-select-chrome .mesa-select-trigger:focus-visible {
  background: rgba(255, 255, 255, 0.16);
  outline: none;
}

.zk-dash-header .mesa-select-chrome .mesa-select-caret {
  width: 1rem;
  height: 1rem;
  opacity: 0.9;
}

.zk-dash-clock {
  grid-area: clock;
  flex: none;
  text-align: right;
  min-width: 4.25rem;
  padding: 0;
  line-height: 1.1;
  justify-self: end;
}

.zk-dash-clock span {
  display: block;
  font-size: 0.66rem;
  font-weight: 700;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.88);
}

.zk-dash-clock strong {
  display: block;
  margin-top: 0.06rem;
  font-size: 0.88rem;
  font-weight: 700;
  color: #fff;
}

.zk-dash-end-tools {
  grid-area: tools;
  justify-self: end;
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  flex-wrap: nowrap;
}

.zk-dash-header .mesa-sync-chip {
  color: #fff;
  background: var(--dash-control-bg);
  border: 1px solid var(--dash-control-border);
  border-radius: var(--dash-control-radius);
  min-height: var(--dash-control-height);
  height: var(--dash-control-height);
  padding: 0 0.75rem;
  font-size: 0.76rem;
  font-weight: 700;
  gap: 0.38rem;
  display: inline-flex;
  align-items: center;
}

.zk-dash-header .mesa-sync-chip.online,
.zk-dash-header .mesa-sync-chip.syncing {
  background: var(--dash-control-bg);
  border-color: var(--dash-control-border);
  color: #fff;
}

.zk-dash-header .mesa-sync-chip.offline {
  background: rgba(180, 35, 24, 0.5);
  border-color: rgba(255, 150, 140, 0.45);
  color: #ffecea;
}

.zk-dash-header .mesa-sync-chip.poison {
  background: rgba(120, 18, 14, 0.55);
  border-color: rgba(255, 120, 110, 0.5);
}

.zk-dash-header .mesa-sync-chip .mesa-sync-dot {
  width: 0.5rem;
  height: 0.5rem;
  box-shadow: 0 0 0 3px rgba(110, 231, 168, 0.28);
}

.zk-dash-header .mesa-sync-chip.online .mesa-sync-dot,
.zk-dash-header .mesa-sync-chip.syncing .mesa-sync-dot {
  background: #6ee7a8;
}

.zk-dash-header .mesa-sync-chip.offline .mesa-sync-dot,
.zk-dash-header .mesa-sync-chip.poison .mesa-sync-dot {
  background: #ff7b7b;
}

.zk-dash-icon-btn {
  color: #fff;
  background: transparent;
  border: none;
  border-radius: var(--dash-control-radius);
  width: var(--dash-control-height);
  height: var(--dash-control-height);
  min-height: var(--dash-control-height);
  padding: 0;
  flex-shrink: 0;
}

.zk-dash-icon-btn:hover,
.zk-dash-icon-btn:focus-visible {
  background: rgba(255, 255, 255, 0.12);
  outline: none;
}

.zk-dash-icon-btn svg {
  width: 19px;
  height: 19px;
}

.zk-dash-note-badge {
  background: #e03131;
  top: 2px;
  right: 2px;
  min-width: 1.05rem;
  height: 1.05rem;
  line-height: 1.05rem;
  font-size: 0.62rem;
  font-weight: 800;
  box-shadow: 0 2px 5px rgba(180, 35, 24, 0.4);
}

/* Keep EN | عربي order stable under page dir=rtl */
.mesa-lang-switch,
.zk-dash-header .mesa-lang-chrome {
  direction: ltr;
  unicode-bidi: isolate;
}

.zk-dash-header .mesa-lang-chrome {
  background: var(--dash-control-bg);
  border: 1px solid var(--dash-control-border);
  border-radius: var(--dash-control-radius);
  padding: 3px;
  min-height: var(--dash-control-height);
  height: var(--dash-control-height);
  display: inline-flex;
  align-items: center;
  gap: 2px;
  flex-shrink: 0;
}

.zk-dash-header .mesa-lang-chrome button {
  color: rgba(255, 255, 255, 0.78);
  border: none;
  background: transparent;
  border-radius: 5px;
  min-height: calc(var(--dash-control-height) - 6px);
  min-width: 2.1rem;
  padding: 0 0.55rem;
  font-size: 0.74rem;
  font-weight: 700;
  cursor: pointer;
}

.zk-dash-header .mesa-lang-chrome button.on {
  color: var(--dash-green);
  background: #fff;
  box-shadow: none;
}

.zk-dash-profile {
  flex-shrink: 0;
}

.zk-dash-profile-btn {
  color: #fff;
  background: var(--dash-control-bg);
  border: 1px solid var(--dash-control-border);
  border-radius: var(--dash-control-radius);
  min-height: var(--dash-control-height);
  height: var(--dash-control-height);
  max-width: 11rem;
  padding: 0.15rem 0.45rem 0.15rem 0.25rem;
  gap: 0.4rem;
  display: inline-flex;
  align-items: center;
}

.zk-dash-profile-btn:hover,
.zk-dash-profile-btn:focus-visible {
  background: rgba(255, 255, 255, 0.16);
  outline: none;
}

.zk-dash-profile-btn em {
  color: var(--dash-green);
  background: #fff;
  border-radius: 5px;
  width: 1.55rem;
  height: 1.55rem;
  font-size: 0.68rem;
  font-weight: 800;
}

.zk-dash-profile-btn strong {
  color: #fff;
  font-size: 0.78rem;
  font-weight: 750;
}

.zk-dash-profile-btn small {
  color: rgba(255, 255, 255, 0.76);
  font-size: 0.64rem;
}

.zk-dash-profile-btn svg {
  color: rgba(255, 255, 255, 0.9);
  width: 0.95rem;
  height: 0.95rem;
}

.zk-dash-note-pop,
.zk-dash-profile-menu {
  border-radius: 12px;
  border: 1px solid var(--line);
  box-shadow: 0 12px 32px rgba(18, 32, 28, 0.14);
}

.zk-dash-note-pop a {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
  align-items: flex-start;
}

.zk-dash-note-pop a small {
  font-size: 0.78rem;
  font-weight: 500;
  color: var(--muted);
}

.zk-dash:not(.zk-dash-home) .zk-dash-header.zk-dash-header-bar {
  margin: 0;
  width: 100%;
  border-radius: 0;
}

/* Laptop — drop clock, keep one row */
@media (max-width: 1280px) {
  .zk-dash-header.zk-dash-header-bar {
    grid-template-columns: max-content 14rem minmax(0, 1fr) minmax(8rem, max-content) auto;
    grid-template-areas: 'brand search . branch tools';
  }

  .zk-dash-clock {
    display: none;
  }
}

/* Tablet — compact stacked rows */
@media (max-width: 960px) {
  .zk-dash-header.zk-dash-header-bar {
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-areas:
      'brand tools'
      'search search'
      'branch branch';
    padding: 0.6rem 0.7rem 0.65rem;
    gap: 0.45rem;
    column-gap: 0.55rem;
  }

  .zk-dash-brand {
    max-width: none;
    align-self: center;
  }

  .zk-dash-brand small {
    display: none;
  }

  .zk-dash-header.zk-dash-header-bar .zk-dash-search {
    max-width: none;
    width: 100%;
    justify-self: stretch;
  }

  .zk-dash-branch {
    justify-self: stretch;
    max-width: none;
    width: 100%;
  }

  .zk-dash-end-tools {
    gap: 0.4rem;
  }
}

/* Phone — tighter controls */
@media (max-width: 720px) {
  .zk-dash-header.zk-dash-header-bar {
    --dash-control-height: 36px;
    padding: 0.55rem 0.65rem 0.6rem;
    gap: 0.4rem;
    column-gap: 0.45rem;
  }

  .zk-dash-brand strong {
    font-size: 0.92rem;
    line-height: 1.2;
  }

  .zk-dash-end-tools {
    gap: 0.32rem;
  }

  .zk-dash-header .mesa-lang-chrome {
    padding: 2px;
  }

  .zk-dash-header .mesa-lang-chrome button {
    min-height: calc(var(--dash-control-height) - 4px);
    height: calc(var(--dash-control-height) - 4px);
    min-width: 1.85rem;
    padding: 0 0.42rem;
    font-size: 0.7rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }

  .zk-dash-profile-btn {
    width: var(--dash-control-height);
    min-width: var(--dash-control-height);
    max-width: var(--dash-control-height);
    padding: 0;
    justify-content: center;
  }

  .zk-dash-profile-btn em {
    width: 1.45rem;
    height: 1.45rem;
    font-size: 0.62rem;
  }

  .zk-dash-profile-btn svg,
  .zk-dash-profile-btn > span {
    display: none;
  }

  .zk-dash-header .mesa-sync-chip {
    width: var(--dash-control-height);
    padding: 0;
    justify-content: center;
  }

  .zk-dash-header .mesa-sync-chip .zk-dash-sync-text {
    display: none;
  }

  .zk-dash-search input {
    font-size: 0.85rem;
  }
}
/* Hub footer — back left | keyboard true-center | main menu right */

.zk-hub-foot {
  display: flex !important;
  position: relative;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 0.75rem;
  box-sizing: border-box;
}

.zk-hub-foot-leading {
  position: relative;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  gap: 0.85rem;
  min-width: 0;
  flex: 0 1 auto;
}

.zk-hub-foot-center {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  z-index: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.85rem;
  min-width: 0;
  pointer-events: none;
}

.zk-hub-foot-center > * {
  pointer-events: auto;
}

.zk-hub-foot > .zk-hub-home,
.zk-hub-foot > a.zk-hub-home {
  position: relative;
  z-index: 2;
  flex: 0 0 auto;
  margin-inline-start: auto;
}

/* Reset native <button> so it matches Link.zk-hub-back on dark footer */
.zk-hub-foot .zk-hub-back,
button.zk-hub-back {
  appearance: none;
  -webkit-appearance: none;
  margin: 0;
  border: 0;
  background: transparent;
  color: #dce5e0;
  cursor: pointer;
  font: inherit;
  font-weight: 650;
  line-height: 1;
  min-height: var(--touch-min, 2.75rem);
  padding: 0.45rem 0.35rem;
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  text-decoration: none;
  white-space: nowrap;
  border-radius: 10px;
}

.zk-hub-foot .zk-hub-back:hover,
button.zk-hub-back:hover {
  color: #fff;
  background: rgba(255, 255, 255, 0.08);
}

.zk-hub-foot .zk-hub-back:focus-visible,
button.zk-hub-back:focus-visible {
  outline: 2px solid rgba(255, 255, 255, 0.45);
  outline-offset: 2px;
}

[dir='rtl'] .zk-hub-back-arrow {
  display: inline-block;
  transform: scaleX(-1);
}

@media (max-width: 768px) {
  .zk-hub-foot {
    gap: 0.5rem;
    padding: 0.55rem 0.75rem;
  }

  .zk-hub-foot-center .zk-hub-kbd span {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
  }
}
/* Side nav — keep icons and labels centered (long labels e.g. Drive Thru) */

.side-nav .nav-links {
  align-items: stretch;
  width: 100%;
}

.side-nav .nav-link {
  width: 100%;
  justify-items: center;
  text-align: center;
}

.side-nav .nav-link svg {
  margin-inline: auto;
}

.side-nav .nav-link strong {
  display: block;
  width: 100%;
  max-width: 100%;
  text-align: center;
  line-height: 1.15;
  overflow-wrap: break-word;
  word-break: keep-all;
}
/* -- Accounts / Expenses desk (matches Vendors shell) ---------------- */

.app-shell:has(.zk-acct) .main-stage {
  background: #eef3f0;
  flex-direction: column;
  max-width: none;
  height: 100%;
  min-height: 0;
  padding: 0;
  display: flex;
  overflow: hidden;
}

.app-shell:has(.zk-acct) .main-stage > .zk-acct {
  flex: 1 1 auto;
  width: 100%;
  max-width: 100%;
  height: 100%;
  min-height: 0;
  min-width: 0;
}

.zk-acct {
  background:
    radial-gradient(720px 340px at 0 0, rgba(31, 107, 92, 0.12), transparent 55%),
    radial-gradient(560px 280px at 100% 8%, rgba(25, 113, 194, 0.08), transparent 50%),
    linear-gradient(180deg, #eef3f0 0%, #e6ece8 100%);
  flex-direction: column;
  gap: 0;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  height: 100%;
  min-height: 0;
  display: flex;
  overflow: hidden;
}

.zk-acct .zk-dash-header.zk-dash-header-bar {
  z-index: 30;
  isolation: isolate;
  flex-shrink: 0;
  min-width: 0;
  margin: 0;
  width: 100%;
  border-radius: 0;
  position: relative;
}

.zk-acct .zk-dash-brand {
  color: inherit;
  min-width: 0;
  text-decoration: none;
}

.zk-acct > .zk-hub-foot {
  z-index: 20;
  flex-shrink: 0;
  margin-top: 0;
  position: relative;
}

.acct-page-inner {
  overscroll-behavior: contain;
  flex-direction: column;
  flex: 1 1 auto;
  gap: 0.85rem;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  min-height: 0;
  margin: 0;
  padding: 0.85rem 1rem 0.5rem;
  display: flex;
  overflow: hidden;
  box-sizing: border-box;
}

.acct-hero {
  color: #f3fbf7;
  background: linear-gradient(135deg, #0b3d2e 0%, #1f6b5c 45%, #1971c2 100%);
  border-radius: 16px;
  flex-wrap: wrap;
  flex-shrink: 0;
  justify-content: space-between;
  align-items: center;
  gap: 0.75rem 1rem;
  padding: 0.85rem 1rem;
  display: flex;
  position: relative;
  z-index: 1;
  box-shadow: 0 10px 24px rgba(11, 61, 46, 0.2);
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

.acct-hero-brand {
  align-items: center;
  gap: 0.7rem;
  min-width: 0;
  flex: 1 1 12rem;
  display: flex;
}

.acct-hero-copy {
  min-width: 0;
}

.acct-hero-mark {
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 12px;
  display: grid;
  place-items: center;
  font-size: 1.15rem;
  background: rgba(255, 255, 255, 0.14);
  border: 1px solid rgba(255, 255, 255, 0.28);
  flex-shrink: 0;
}

.acct-hero-brand h1 {
  font-family: var(--font-display);
  margin: 0;
  font-size: clamp(1.05rem, 2.2vw, 1.25rem);
  font-weight: 750;
  line-height: 1.2;
}

.acct-hero-brand p {
  opacity: 0.9;
  margin: 0.15rem 0 0;
  font-size: 0.78rem;
  line-height: 1.35;
  max-width: 36rem;
}

.acct-hero-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 0.45rem;
  flex: 0 1 auto;
  max-width: 100%;
}

.acct-hero-actions .btn {
  white-space: nowrap;
  font-weight: 700;
}

/* High contrast on dark gradient hero */
.acct-hero-actions .btn-ghost,
.acct-hero-actions a.btn-ghost {
  color: #fff !important;
  background: transparent !important;
  border: 1.5px solid #fff !important;
  box-shadow: none;
}

.acct-hero-actions .btn-ghost:hover,
.acct-hero-actions a.btn-ghost:hover {
  color: #0b3d2e !important;
  background: #fff !important;
  border-color: #fff !important;
}

.acct-hero-actions .btn-teal,
.acct-hero-actions .btn-primary,
.acct-hero-actions button.btn-teal {
  color: #0b3d2e !important;
  background: #fff !important;
  border: 1.5px solid #fff !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
}

.acct-hero-actions .btn-teal:hover,
.acct-hero-actions .btn-primary:hover,
.acct-hero-actions button.btn-teal:hover {
  color: #0b3d2e !important;
  background: #e8f6f0 !important;
}

.acct-hero-actions .btn-teal:disabled,
.acct-hero-actions button.btn-teal:disabled {
  color: rgba(11, 61, 46, 0.45) !important;
  background: rgba(255, 255, 255, 0.72) !important;
  border-color: rgba(255, 255, 255, 0.72) !important;
  box-shadow: none;
  cursor: not-allowed;
}

.zk-acct-body {
  flex: 1 1 auto;
  display: grid;
  grid-template-columns: minmax(220px, 260px) minmax(0, 1fr);
  gap: 0.85rem;
  align-items: stretch;
  min-height: 0;
  min-width: 0;
  width: 100%;
  max-width: 100%;
  overflow: hidden;
}

/* Tablet / phone — same shell treatment as Vendors */
@media (max-width: 1100px) {
  .app-shell:has(.zk-acct) {
    height: 100% !important;
    max-height: 100dvh !important;
    overflow: hidden !important;
    grid-template-columns: 1fr !important;
  }

  .app-shell:has(.zk-acct) .side-nav {
    display: none !important;
  }

  .app-shell:has(.zk-acct) .main-stage {
    height: 100% !important;
    min-height: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow: hidden !important;
  }

  .zk-acct {
    height: 100% !important;
    min-height: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow: hidden !important;
  }

  .zk-acct > .acct-page-inner {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
    touch-action: pan-y;
    padding-bottom: calc(5.5rem + env(safe-area-inset-bottom, 0px)) !important;
  }

  .zk-acct > .zk-hub-foot {
    flex-shrink: 0 !important;
    position: fixed !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    z-index: 40 !important;
    margin-top: 0 !important;
    padding-bottom: env(safe-area-inset-bottom, 0px);
  }

  .acct-hero {
    position: relative !important;
    top: auto !important;
    z-index: 1 !important;
    width: 100%;
  }

  .acct-hero-actions {
    width: 100%;
    justify-content: stretch;
  }

  .acct-hero-actions .btn {
    flex: 1 1 auto;
    justify-content: center;
  }

  .zk-acct-body {
    display: flex !important;
    flex-direction: column !important;
    flex: 0 0 auto !important;
    min-height: 0 !important;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    gap: 0.75rem;
    width: 100% !important;
  }

  .zk-acct-side {
    order: -1;
    position: sticky !important;
    top: 0 !important;
    flex: 0 0 auto !important;
    height: auto !important;
    max-height: none !important;
    align-self: stretch !important;
    width: 100% !important;
    max-width: 100% !important;
    z-index: 8;
    padding: 0.75rem;
    gap: 0.55rem;
    box-sizing: border-box;
    overflow: hidden !important;
    background: #fff !important;
    isolation: isolate;
    box-shadow: 0 8px 16px rgba(16, 40, 28, 0.1);
  }

  .zk-acct-side-head small,
  .zk-acct-side-note {
    display: none;
  }

  .zk-acct-nav {
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    gap: 0.35rem;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-x: contain;
    touch-action: pan-x;
    padding-bottom: 0;
    scrollbar-width: none; /* Firefox */
    -ms-overflow-style: none; /* legacy Edge */
  }

  .zk-acct-nav::-webkit-scrollbar {
    display: none; /* Chrome / Safari / Edge */
    width: 0;
    height: 0;
  }

  .zk-acct-nav-link {
    flex: 0 0 auto !important;
    min-width: 7.25rem;
    max-width: 10rem;
    grid-template-columns: auto 1fr;
    padding: 0.5rem 0.55rem;
    gap: 0.4rem;
  }

  .zk-acct-nav-copy small {
    display: none !important;
  }

  .zk-acct-nav-copy strong {
    font-size: 0.78rem;
    line-height: 1.2;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  .zk-acct-nav-icon {
    width: 1.75rem;
    height: 1.75rem;
    font-size: 0.85rem;
    border-radius: 8px;
  }

  .zk-acct-main {
    order: 1;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    flex: 0 0 auto !important;
    min-height: 0 !important;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    padding: 0 !important;
    box-sizing: border-box;
  }

  /* Sticky side nav already pins at top — table headers must not also stick or they overlap */
  .acct-gl-table th,
  .zk-exp-table thead,
  .zk-exp-table thead th {
    position: static !important;
    top: auto !important;
    z-index: auto !important;
    box-shadow: none !important;
  }

  .zk-acct-main-body {
    gap: 0.75rem;
  }

  .zk-acct-main-body > .acct-gl-panel,
  .zk-acct-main-body > .zk-exp-panel {
    padding: 0.75rem;
  }

  .zk-exp-panel {
    flex: none !important;
    min-height: 0 !important;
    width: 100%;
    max-width: 100%;
    overflow: visible !important;
  }

  .zk-exp-table thead {
    position: static !important;
    top: auto !important;
  }

  .zk-exp-table-wrap {
    flex: none !important;
    width: 100%;
    max-width: 100%;
    overflow-x: auto !important;
    overflow-y: visible !important;
    -webkit-overflow-scrolling: touch;
  }

  .zk-exp-metrics {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 720px) {
  .zk-acct > .acct-page-inner {
    margin: 0 !important;
    padding: 0.55rem 0.55rem 0.35rem !important;
    padding-bottom: calc(5.5rem + env(safe-area-inset-bottom, 0px)) !important;
    gap: 0.65rem !important;
  }

  .acct-hero {
    padding: 0.65rem 0.75rem !important;
    border-radius: 12px !important;
  }

  .acct-hero-brand h1 {
    font-size: 1.05rem !important;
  }

  .acct-hero-brand p {
    font-size: 0.7rem !important;
  }

  .zk-acct-nav-link {
    grid-template-columns: 1fr;
    justify-items: center;
    text-align: center;
    padding: 0.45rem 0.35rem;
    gap: 0.25rem;
  }

  .zk-acct-nav-copy strong {
    font-size: 0.68rem;
    white-space: normal;
  }

  .zk-exp-metrics {
    grid-template-columns: 1fr !important;
    gap: 0.55rem;
  }

  .zk-exp-pager {
    flex-direction: column;
    align-items: stretch;
    gap: 0.55rem;
  }

  .zk-exp-pager-actions {
    justify-content: center;
  }

  /* Stack expense rows as cards — full type names, no clipped columns */
  .zk-exp-table {
    table-layout: auto !important;
    min-width: 0 !important;
    width: 100% !important;
    border-collapse: separate;
    border-spacing: 0 0.65rem;
  }

  .zk-exp-table colgroup {
    display: none;
  }

  .zk-exp-table thead {
    display: none;
  }

  .zk-exp-table tbody {
    display: flex;
    flex-direction: column;
    gap: 0;
  }

  .zk-exp-table tbody tr {
    display: grid;
    grid-template-columns: 1fr auto;
    grid-template-areas:
      'date action'
      'type type'
      'invoice paid'
      'narration narration'
      'amount amount';
    gap: 0.35rem 0.65rem;
    padding: 0.85rem 0.9rem;
    border: 1px solid var(--line);
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 4px 12px rgba(16, 40, 28, 0.04);
  }

  .zk-exp-table tbody tr td {
    border: 0 !important;
    padding: 0 !important;
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: unset !important;
    max-width: none !important;
  }

  .zk-exp-table tbody tr .zk-exp-td-date {
    grid-area: date;
    font-weight: 700;
    color: var(--ink);
  }

  .zk-exp-table tbody tr .zk-exp-td-invoice {
    grid-area: invoice;
    color: var(--muted);
    font-size: 0.82rem;
  }

  .zk-exp-table tbody tr .zk-exp-td-invoice::before {
    content: 'Invoice ';
    font-weight: 650;
  }

  .zk-exp-table tbody tr .zk-exp-td-type {
    grid-area: type;
  }

  .zk-exp-table tbody tr .zk-exp-type-pill {
    max-width: 100%;
    white-space: normal;
  }

  .zk-exp-table tbody tr .zk-exp-narration {
    grid-area: narration;
    white-space: normal !important;
    color: var(--ink-soft);
    font-size: 0.86rem;
    line-height: 1.4;
  }

  .zk-exp-table tbody tr .zk-exp-td-paid {
    grid-area: paid;
    text-align: end;
    font-size: 0.82rem;
  }

  .zk-exp-table tbody tr .zk-exp-amt {
    grid-area: amount;
    text-align: start !important;
    font-size: 1.05rem;
    padding-top: 0.2rem !important;
  }

  .zk-exp-table tbody tr .zk-exp-td-action {
    grid-area: action;
    width: auto !important;
    justify-self: end;
  }

  .zk-exp-table tbody tr.zk-exp-empty-row,
  .zk-exp-table tbody tr:has(.zk-exp-empty) {
    display: block;
    box-shadow: none;
    border-style: dashed;
  }
}

.zk-acct-side {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  padding: 1rem;
  border-radius: 16px;
  border: 1px solid #e8eeea;
  background: #fff;
  box-shadow: 0 8px 20px rgba(16, 40, 28, 0.04);
  align-self: stretch;
  position: relative;
  height: 100%;
  max-height: 100%;
  min-height: 0;
  overflow: auto;
  min-width: 0;
  z-index: 2;
}

.zk-acct-side-head {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
  padding-bottom: 0.65rem;
  border-bottom: 1px solid var(--line);
}

.zk-acct-kicker {
  margin: 0;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--muted);
}

.zk-acct-side-head strong {
  font-family: var(--font-display);
  font-size: 1.05rem;
}

.zk-acct-side-head small,
.zk-acct-sub {
  margin: 0;
  color: var(--muted);
  font-size: 0.88rem;
  line-height: 1.45;
}

.zk-acct-nav {
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
}

.zk-acct-nav-link {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 0.65rem;
  align-items: center;
  padding: 0.65rem 0.7rem;
  border-radius: 12px;
  border: 1px solid transparent;
  background: var(--surface-2);
  color: inherit;
  text-decoration: none;
  transition:
    border-color 0.15s ease,
    background 0.15s ease,
    box-shadow 0.15s ease;
}

.zk-acct-nav-link:hover {
  border-color: color-mix(in srgb, var(--teal) 30%, var(--line));
  background: #fff;
}

@supports not (color: color-mix(in srgb, red 50%, blue)) {

.zk-acct-nav-link:hover {
  border-color: #9ebbb3;
}
}

.zk-acct-nav-link.active {
  border-color: var(--teal);
  background: var(--teal-soft);
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--teal) 16%, transparent);
}

@supports not (color: color-mix(in srgb, red 50%, blue)) {

.zk-acct-nav-link.active {
  box-shadow: 0 0 0 1px rgba(31, 107, 92, 0.16);
}
}

.zk-acct-nav-icon {
  width: 2.1rem;
  height: 2.1rem;
  border-radius: 10px;
  display: grid;
  place-items: center;
  font-size: 1rem;
  background: #fff;
  border: 1px solid color-mix(in srgb, var(--teal) 18%, var(--line));
}

@supports not (color: color-mix(in srgb, red 50%, blue)) {

.zk-acct-nav-icon {
  border: 1px solid #b4c8c2;
}
}

.zk-acct-nav-copy {
  display: flex;
  flex-direction: column;
  gap: 0.1rem;
  min-width: 0;
}

.zk-acct-nav-copy strong {
  font-size: 0.92rem;
}

.zk-acct-nav-copy small {
  font-size: 0.75rem;
  color: var(--muted);
  line-height: 1.3;
}

.zk-acct-side-note {
  margin: 0;
  padding: 0.55rem 0.65rem;
  border-radius: 10px;
  font-size: 0.78rem;
  line-height: 1.4;
  color: var(--muted);
  background: var(--surface-2);
  border: 1px dashed var(--line);
}

.zk-acct-cross-link {
  margin-top: 0.35rem;
  border-style: dashed !important;
  background: transparent !important;
}

.zk-acct-cross-link:hover {
  background: #fff !important;
}


.zk-acct-main {
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
  min-width: 0;
  min-height: 0;
  height: 100%;
  max-height: 100%;
  flex: 1 1 auto;
  background: transparent;
  border: 0;
  border-radius: 0;
  padding: 0;
  box-shadow: none;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
}

.zk-acct-main-body {
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
  min-width: 0;
  flex: 0 0 auto;
}

.zk-acct-main-body > .zk-exp-panel,
.zk-acct-main-body > .acct-gl-panel,
.zk-acct-main-body > .acct-hub {
  background: #fff;
  border: 1px solid #e8eeea;
  border-radius: 16px;
  box-shadow: 0 8px 20px rgba(16, 40, 28, 0.04);
}

.zk-acct-main-body > .acct-gl-panel,
.zk-acct-main-body > .zk-exp-panel {
  padding: 1rem;
}

.zk-acct-main-body > .acct-hub {
  padding: 0;
  background: transparent;
  border: 0;
  box-shadow: none;
}

.zk-acct-body.is-hub .zk-acct-main {
  background: transparent;
  border: 0;
  box-shadow: none;
  padding: 0;
}

.acct-hub {
  display: flex;
  flex-direction: column;
  gap: 1.35rem;
  width: 100%;
  min-width: 0;
}

.acct-hub-section-head {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
  margin-bottom: 0.75rem;
}

.acct-hub-section-head h2 {
  margin: 0;
  font-family: var(--font-display);
  font-size: clamp(1.05rem, 2.4vw, 1.2rem);
  font-weight: 750;
  letter-spacing: -0.02em;
  color: var(--ink);
}

.acct-hub-section-head p {
  margin: 0;
  color: var(--muted);
  font-size: 0.9rem;
  line-height: 1.45;
}

.acct-hub-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(15.5rem, 1fr));
  gap: 0.75rem;
}

.acct-hub-grid.related {
  grid-template-columns: repeat(auto-fill, minmax(14rem, 1fr));
}

.acct-hub-card {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 0.75rem;
  min-height: 5.1rem;
  padding: 0.95rem 1rem;
  border-radius: 14px;
  text-decoration: none;
  color: inherit;
  background: #fff;
  border: 1px solid #e2eae5;
  box-shadow: 0 10px 22px rgba(16, 40, 28, 0.05);
  transition: transform 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease;
  box-sizing: border-box;
}

.acct-hub-card:hover {
  transform: translateY(-2px);
  border-color: color-mix(in srgb, var(--teal) 35%, #d5ddd8);
  box-shadow: 0 14px 28px rgba(16, 40, 28, 0.09);
}

@supports not (color: color-mix(in srgb, red 50%, blue)) {

.acct-hub-card:hover {
  border-color: #95b5ad;
}
}

.acct-hub-card.is-related {
  min-height: 4.4rem;
  padding: 0.8rem 0.9rem;
  background: #f7faf8;
}

.acct-hub-card-icon {
  width: 2.65rem;
  height: 2.65rem;
  border-radius: 12px;
  display: grid;
  place-items: center;
  flex-shrink: 0;
}

.acct-hub-card-icon svg {
  width: 1.3rem;
  height: 1.3rem;
}

.acct-hub-card.tone-teal .acct-hub-card-icon {
  background: #d8ebe5;
  color: #1f6b5c;
}
.acct-hub-card.tone-amber .acct-hub-card-icon {
  background: #f6e7c8;
  color: #b7791f;
}
.acct-hub-card.tone-rose .acct-hub-card-icon {
  background: #f8d7d3;
  color: #b42318;
}
.acct-hub-card.tone-ocean .acct-hub-card-icon {
  background: #d6e6f5;
  color: #1971c2;
}
.acct-hub-card.tone-violet .acct-hub-card-icon {
  background: #e6dbf7;
  color: #7048e8;
}
.acct-hub-card.tone-lime .acct-hub-card-icon {
  background: #d8f0e2;
  color: #1f7a45;
}

.acct-hub-card-copy {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
  min-width: 0;
}

.acct-hub-card-copy strong {
  font-size: 0.98rem;
  font-weight: 750;
  letter-spacing: -0.01em;
  color: var(--ink);
}

.acct-hub-card-copy small {
  color: var(--muted);
  font-size: 0.8rem;
  line-height: 1.35;
}

.acct-hub-card-go {
  color: var(--teal);
  font-weight: 700;
  opacity: 0.7;
}

@media (max-width: 720px) {
  .acct-hub-grid,
  .acct-hub-grid.related {
    grid-template-columns: 1fr;
  }

  .acct-hub-card {
    min-height: 0;
  }

  .zk-acct-body.is-hub .zk-acct-side {
    display: none;
  }
}

.zk-acct-add {
  width: 2.5rem;
  height: 2.5rem;
  border: 1px solid #fff;
  border-radius: 999px;
  background: #fff;
  color: #1b4332;
  font-size: 1.35rem;
  line-height: 1;
  cursor: pointer;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
  transition: transform 0.12s ease, box-shadow 0.12s ease;
}

.zk-acct-add:hover {
  transform: translateY(-1px);
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.16);
}

/* Expense details — metrics + table */

.zk-exp-metrics {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.75rem;
  width: 100%;
  min-width: 0;
}

.zk-exp-metric {
  padding: 0.85rem 1rem;
  border-radius: 14px;
  border: 1px solid var(--line);
  background: var(--panel);
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

.zk-exp-metric span {
  font-size: 0.78rem;
  font-weight: 600;
  color: var(--muted);
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.zk-exp-metric strong {
  font-family: var(--font-display);
  font-size: 1.35rem;
  color: var(--ink);
}

.zk-exp-metric.accent strong {
  color: var(--accent-deep);
}

.zk-exp-toolbar {
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  gap: 0.55rem;
  align-items: stretch;
  justify-content: stretch;
  padding: 0.65rem 0.85rem;
  border-radius: 10px;
  border: 1px solid var(--line);
  background: var(--surface-2);
  width: 100%;
  box-sizing: border-box;
  flex: none;
  height: auto;
}

.zk-exp-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  align-items: flex-end;
  align-content: flex-start;
  width: 100%;
  flex: none;
  height: auto;
}

.zk-exp-toolbar .mesa-select,
.zk-exp-filters .mesa-select {
  flex: 0 1 10.5rem;
  min-width: min(10.5rem, 100%);
  max-width: 16rem;
  height: auto;
  align-self: flex-end;
}

.zk-exp-filters .mesa-select-field,
.zk-exp-filters .mesa-select-trigger {
  width: 100%;
  min-width: 0;
  max-width: 100%;
}

.zk-exp-date-field {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
  flex: 0 1 8.5rem;
  min-width: min(8.5rem, 100%);
  max-width: 12rem;
  height: auto;
}

.zk-exp-date-field span {
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--muted);
}

.zk-exp-date-input {
  width: 100%;
  min-height: 2.35rem;
  box-sizing: border-box;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: #fff;
  padding: 0.4rem 0.55rem;
  font: inherit;
  color: var(--ink);
}

.zk-exp-custom-range {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  width: 100%;
  margin-top: 0.15rem;
  padding-top: 0.55rem;
  border-top: 1px dashed color-mix(in srgb, var(--line) 80%, transparent);
}

@supports not (color: color-mix(in srgb, red 50%, blue)) {

.zk-exp-custom-range {
  border-top: 1px dashed rgba(213, 221, 216, 0.8);
}
}

.zk-exp-custom-range .zk-exp-date-field {
  flex: 1 1 9rem;
  max-width: 14rem;
}

.zk-exp-filter-clear {
  appearance: none;
  margin: 0;
  min-height: 2.35rem;
  padding: 0.4rem 0.85rem;
  border-radius: 10px;
  border: 1px solid color-mix(in srgb, var(--teal) 35%, var(--line));
  background: #fff;
  color: var(--teal);
  font: inherit;
  font-size: 0.8rem;
  font-weight: 700;
  cursor: pointer;
  white-space: nowrap;
  align-self: flex-end;
}

@supports not (color: color-mix(in srgb, red 50%, blue)) {

.zk-exp-filter-clear {
  border: 1px solid #95b5ad;
}
}

.zk-exp-filter-clear:hover {
  background: var(--teal-soft);
}

@media (max-width: 900px) {
  .zk-exp-toolbar {
    padding: 0.55rem 0.65rem;
  }

  .zk-exp-filters {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.45rem;
    align-items: stretch;
  }

  .zk-exp-toolbar .mesa-select,
  .zk-exp-filters .mesa-select,
  .zk-exp-date-field {
    flex: none;
    width: 100%;
    min-width: 0;
    max-width: none;
    align-self: stretch;
  }

  .zk-exp-filters .mesa-select:nth-child(1),
  .zk-exp-filters .mesa-select:nth-child(2),
  .zk-exp-filters .mesa-select:nth-child(3) {
    grid-column: span 1;
  }

  .zk-exp-filter-clear {
    grid-column: 1 / -1;
    width: 100%;
    align-self: stretch;
  }
}

@media (max-width: 560px) {
  .zk-exp-filters {
    grid-template-columns: 1fr;
    gap: 0.4rem;
  }

  .zk-exp-toolbar .mesa-select,
  .zk-exp-filters .mesa-select,
  .zk-exp-date-field,
  .zk-exp-filters .mesa-select-field,
  .zk-exp-filters .mesa-select-trigger,
  .zk-exp-date-input {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    flex: none !important;
    height: auto !important;
  }

  .zk-exp-filters .mesa-select-trigger {
    min-height: 2.35rem;
  }

  .zk-exp-date-field span {
    font-size: 0.62rem;
  }

  .zk-exp-custom-range {
    flex-direction: column;
  }

  .zk-exp-custom-range .zk-exp-date-field {
    max-width: none;
    width: 100%;
  }
}

.zk-exp-search {
  flex: 1 1 200px;
  display: flex;
  align-items: center;
  gap: 0.45rem;
  padding: 0.45rem 0.65rem;
  border-radius: 10px;
  border: 1px solid var(--line);
  background: var(--surface-2);
}

.zk-exp-search input {
  flex: 1;
  border: none;
  background: transparent;
  font: inherit;
  min-width: 0;
}

.zk-exp-pager {
  color: var(--muted);
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 0.75rem;
  padding: 0.65rem 0.15rem 0.1rem;
  font-size: 0.8rem;
  border-top: 1px solid color-mix(in srgb, var(--line) 80%, transparent);
  margin-top: 0.35rem;
}

@supports not (color: color-mix(in srgb, red 50%, blue)) {

.zk-exp-pager {
  border-top: 1px solid rgba(213, 221, 216, 0.8);
}
}

.zk-exp-pager-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.28rem;
}

.zk-exp-page-group {
  display: inline-flex;
  align-items: center;
  gap: 0.28rem;
}

.zk-exp-page-gap {
  padding: 0 0.1rem;
  font-weight: 700;
  color: var(--muted);
}

.zk-exp-page-btn {
  color: #1b4332;
  cursor: pointer;
  background: #fff;
  border: 1px solid #d8e2dc;
  border-radius: 8px;
  min-width: 2rem;
  height: 2rem;
  padding: 0 0.55rem;
  font-size: 0.78rem;
  font-weight: 700;
}

.zk-exp-page-btn.on {
  color: #fff;
  background: #1b4332;
  border-color: #1b4332;
}

.zk-exp-page-btn:disabled {
  opacity: 0.4;
  cursor: not-allowed;
}

.zk-exp-search input:focus {
  outline: none;
}

.zk-exp-panel {
  border-radius: 10px;
  border: 1px solid var(--line);
  background: var(--panel);
  box-shadow: none;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  min-height: 280px;
}

.zk-exp-table-wrap {
  overflow: auto;
  flex: 1 1 auto;
}

.zk-exp-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  font-size: 0.9rem;
  table-layout: fixed;
}

.zk-exp-table col.col-date {
  width: 8.25rem;
}

.zk-exp-table col.col-invoice {
  width: 4.75rem;
}

.zk-exp-table col.col-type {
  width: 12rem;
}

.zk-exp-table col.col-paid {
  width: 6.5rem;
}

.zk-exp-table col.col-amt {
  width: 7.25rem;
}

.zk-exp-table col.col-action {
  width: 3.5rem;
}

.zk-exp-table thead {
  position: sticky;
  top: 0;
  z-index: 1;
  background: color-mix(in srgb, var(--teal-soft) 55%, #fff);
}

@supports not (color: color-mix(in srgb, red 50%, blue)) {

.zk-exp-table thead {
  background: #eaf4f1;
}
}

.zk-exp-table th {
  padding: 0.65rem 0.75rem;
  text-align: start;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--ink-soft);
  border-bottom: 1px solid var(--line);
  white-space: nowrap;
}

.zk-exp-table th.zk-exp-th-amt,
.zk-exp-table td.zk-exp-amt {
  text-align: end;
}

.zk-exp-table th.zk-exp-th-action,
.zk-exp-table td.zk-exp-td-action {
  text-align: center;
  padding-inline: 0.4rem;
  width: 3.5rem;
}

.zk-exp-table td {
  padding: 0.7rem 0.75rem;
  border-bottom: 1px solid color-mix(in srgb, var(--line) 70%, transparent);
  vertical-align: middle;
}

@supports not (color: color-mix(in srgb, red 50%, blue)) {

.zk-exp-table td {
  border-bottom: 1px solid rgba(213, 221, 216, 0.7);
}
}

.zk-exp-table tbody tr {
  cursor: pointer;
  transition: background 0.12s ease;
}

.zk-exp-table tbody tr:hover {
  background: var(--surface-2);
}

.zk-exp-table tbody tr.selected {
  background: var(--teal-soft);
}

.zk-exp-table tbody tr:last-child td {
  border-bottom: none;
}

.zk-exp-amt {
  font-weight: 700;
  color: var(--accent-deep);
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}

.zk-exp-td-type {
  min-width: 0;
}

.zk-exp-type-pill {
  display: inline-flex;
  align-items: center;
  max-width: 100%;
  box-sizing: border-box;
  padding: 0.28rem 0.7rem;
  border-radius: 999px;
  font-size: 0.78rem;
  font-weight: 650;
  line-height: 1.3;
  background: color-mix(in srgb, var(--teal-soft) 70%, #fff);
  border: 1px solid color-mix(in srgb, var(--teal) 22%, var(--line));
  color: var(--ink);
  white-space: normal;
  overflow: visible;
  overflow-wrap: anywhere;
  text-align: start;
}

@supports not (color: color-mix(in srgb, red 50%, blue)) {

.zk-exp-type-pill {
  background: #e4f1ed;
  border: 1px solid #adc4bd;
}
}

.zk-exp-narration {
  max-width: none;
  color: var(--ink-soft);
  line-height: 1.35;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.zk-exp-td-paid {
  color: var(--ink-soft);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.zk-exp-td-date,
.zk-exp-td-invoice {
  white-space: nowrap;
}

.zk-exp-empty {
  padding: 2.5rem 1.5rem;
  text-align: center;
  color: var(--muted);
}

.zk-exp-empty strong {
  display: block;
  font-size: 1.05rem;
  color: var(--ink);
  margin-bottom: 0.35rem;
}

.zk-exp-edit-btn {
  width: 2.25rem;
  height: 2.25rem;
  margin: 0 auto;
  border-radius: 10px;
  border: 1px solid color-mix(in srgb, var(--teal) 28%, var(--line));
  background: color-mix(in srgb, var(--teal-soft) 80%, #fff);
  cursor: pointer;
  display: inline-grid;
  place-items: center;
  color: var(--teal);
  vertical-align: middle;
  transition:
    background 0.12s ease,
    border-color 0.12s ease,
    color 0.12s ease,
    transform 0.12s ease,
    box-shadow 0.12s ease;
}

@supports not (color: color-mix(in srgb, red 50%, blue)) {

.zk-exp-edit-btn {
  border: 1px solid #a2bdb5;
  background: #e0efea;
}
}

.zk-exp-edit-btn svg {
  display: block;
  width: 1rem;
  height: 1rem;
}

.zk-exp-edit-btn:hover {
  border-color: var(--teal);
  background: var(--teal);
  color: #fff;
  box-shadow: 0 4px 10px color-mix(in srgb, var(--teal) 28%, transparent);
  transform: translateY(-1px);
}

@supports not (color: color-mix(in srgb, red 50%, blue)) {

.zk-exp-edit-btn:hover {
  box-shadow: 0 4px 10px rgba(31, 107, 92, 0.28);
}
}

.zk-exp-edit-btn:focus-visible {
  outline: 2px solid var(--teal);
  outline-offset: 2px;
}

/* Expense form sheet */

.zk-exp-sheet-wrap {
  position: fixed;
  inset: 0;
  z-index: 120;
  display: grid;
  place-items: center;
  padding: 1rem;
  background: #12201c59;
  backdrop-filter: blur(3px);
}

.zk-exp-sheet {
  width: min(720px, 100%);
  max-height: min(90vh, 720px);
  overflow: auto;
  border-radius: calc(var(--radius) + 2px);
  border: 1px solid var(--line);
  background: var(--panel);
  box-shadow: 0 24px 60px #12201c2e;
}

.zk-exp-sheet-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 1rem 1.25rem;
  border-bottom: 1px solid var(--line);
  background: var(--surface-2);
}

.zk-exp-sheet-close {
  width: 2.25rem;
  height: 2.25rem;
  border-radius: 999px;
  border: 1px solid var(--line);
  background: #fff;
  color: var(--muted);
  font-size: 1rem;
  line-height: 1;
  cursor: pointer;
  flex-shrink: 0;
  transition:
    border-color 0.12s ease,
    color 0.12s ease,
    background 0.12s ease;
}

.zk-exp-sheet-close:hover {
  border-color: var(--teal);
  color: var(--teal);
  background: var(--teal-soft);
}

.zk-exp-form {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem 1.1rem;
  padding: 1.15rem 1.25rem 1.25rem;
}

@media (max-width: 640px) {
  .zk-exp-form {
    grid-template-columns: 1fr;
  }
}

.zk-exp-field {
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
  min-width: 0;
}

.zk-exp-form label.zk-exp-span2 {
  grid-column: 1 / -1;
}

.zk-exp-label {
  display: inline-flex;
  align-items: center;
  gap: 0.2rem;
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  color: var(--ink-soft);
  line-height: 1.25;
}

.zk-exp-label .mesa-req {
  margin: 0;
  font-style: normal;
  font-weight: 700;
}

.zk-exp-input,
.zk-exp-form .mesa-select-trigger {
  width: 100%;
  min-height: var(--touch-min);
  border: 1px solid color-mix(in srgb, var(--line) 85%, var(--ink-soft));
  border-radius: 11px;
  padding: 0.55rem 0.8rem;
  font: inherit;
  color: var(--ink);
  background: #fff;
  box-sizing: border-box;
  transition:
    border-color 0.12s ease,
    box-shadow 0.12s ease;
}

@supports not (color: color-mix(in srgb, red 50%, blue)) {

.zk-exp-input,
.zk-exp-form .mesa-select-trigger {
  border: 1px solid #bbc5c0;
}
}

.zk-exp-form .mesa-select {
  width: 100%;
}

.zk-exp-form .mesa-select-trigger {
  display: flex;
  align-items: center;
  justify-content: space-between;
  text-align: start;
}

.zk-exp-input:focus,
.zk-exp-form .mesa-select.open .mesa-select-trigger,
.zk-exp-form .mesa-select-trigger:focus-visible {
  outline: none;
  border-color: var(--teal);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--teal) 14%, transparent);
}

@supports not (color: color-mix(in srgb, red 50%, blue)) {

.zk-exp-input:focus,
.zk-exp-form .mesa-select.open .mesa-select-trigger,
.zk-exp-form .mesa-select-trigger:focus-visible {
  box-shadow: 0 0 0 3px rgba(31, 107, 92, 0.14);
}
}

.zk-exp-input-amount {
  font-size: 1.05rem;
  font-weight: 700;
  font-family: var(--font-display);
  color: var(--accent-deep);
}

.zk-exp-narration-input {
  min-height: 6.5rem;
  resize: vertical;
  line-height: 1.45;
  padding-top: 0.65rem;
  padding-bottom: 0.65rem;
}

.zk-exp-sheet-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 0.55rem;
  padding: 0.9rem 1.25rem 1.15rem;
  border-top: 1px solid var(--line);
  background: var(--surface-2);
}

.zk-exp-btn-left {
  margin-right: auto;
}

.zk-exp-sheet-head h2 {
  margin: 0;
  font-family: var(--font-display);
  font-size: 1.15rem;
}

.zk-exp-btn {
  min-height: var(--touch-min);
  padding: 0.55rem 1.1rem;
  border-radius: 10px;
  border: 1px solid var(--line);
  background: #fff;
  font: inherit;
  font-weight: 600;
  cursor: pointer;
}

.zk-exp-btn.primary {
  border-color: var(--teal);
  background: var(--teal);
  color: #fff;
}

.zk-exp-btn.danger {
  border-color: var(--danger);
  color: var(--danger);
  background: var(--danger-soft);
}

/* Expense types editor — stacked fields, full-width controls */
.zk-exp-type-form {
  display: flex;
  flex-direction: column;
  gap: 0.9rem;
  padding: 1rem 1.1rem 1.15rem;
  min-width: 0;
}

.zk-exp-type-form > h2 {
  margin: 0 0 0.15rem;
  font-family: var(--font-display);
  font-size: 1.15rem;
  font-weight: 750;
}

.zk-exp-type-form .zk-exp-field {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  grid-template-columns: none !important;
  gap: 0.4rem !important;
  width: 100%;
  min-width: 0;
  font-size: inherit;
  font-weight: inherit;
  color: inherit;
}

.zk-exp-type-form .zk-exp-label {
  display: inline-flex;
  align-items: center;
  gap: 0.2rem;
}

.zk-exp-type-form .zk-exp-input,
.zk-exp-type-form textarea.zk-exp-input,
.zk-exp-type-form .mesa-select,
.zk-exp-type-form .mesa-select-trigger {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  flex: none !important;
  box-sizing: border-box;
}

.zk-exp-type-form textarea.zk-exp-input {
  min-height: 6.5rem !important;
  height: auto !important;
  resize: vertical;
  line-height: 1.45;
  font: inherit;
  display: block;
  padding-top: 0.65rem;
  padding-bottom: 0.65rem;
}

.zk-exp-type-form .mesa-select-trigger {
  min-height: var(--touch-min);
}

.zk-exp-type-actions {
  margin-top: 0.35rem;
  padding: 0.85rem 0 0 !important;
  border-top: 1px solid var(--line) !important;
  background: transparent !important;
}

@media (max-width: 720px) {
  .zk-exp-type-actions {
    display: grid !important;
    grid-template-columns: 1fr;
    justify-content: stretch !important;
    align-items: stretch !important;
    gap: 0.5rem !important;
    width: 100%;
  }

  .zk-exp-type-actions .zk-exp-btn {
    width: 100%;
    justify-self: stretch;
    margin: 0;
  }

  .zk-exp-type-actions .zk-exp-btn-left {
    margin-right: 0;
  }
}

/* GL export / COA / AP */
.acct-gl-panel {
  display: grid;
  gap: 1rem;
  min-width: 0;
}

.acct-gl-lead {
  margin: 0;
  opacity: 0.78;
  max-width: 52rem;
  line-height: 1.45;
}

.acct-gl-card {
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 1rem 1.1rem;
  background: color-mix(in srgb, var(--panel, #fff) 96%, #eef3f0);
  min-width: 0;
}

@supports not (color: color-mix(in srgb, red 50%, blue)) {

.acct-gl-card {
  background: #fefffe;
}
}

.acct-gl-card h3 {
  margin: 0 0 0.75rem;
  font-size: 1.05rem;
}

.acct-gl-card-head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem 0.75rem;
  margin-bottom: 0.35rem;
}

.acct-gl-card-head h3 {
  margin: 0;
}

.acct-gl-muted {
  margin: 0 0 0.75rem;
  opacity: 0.7;
  font-size: 0.92rem;
}

.acct-gl-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: 0.75rem 1rem;
}

.acct-gl-field {
  display: grid;
  gap: 0.35rem;
  font-size: 0.9rem;
  min-width: 0;
}

.acct-gl-field span {
  opacity: 0.8;
}

.acct-gl-field input[type='date'] {
  min-height: var(--touch-min, 44px);
  border: 1px solid var(--line);
  border-radius: 10px;
  padding: 0.4rem 0.65rem;
  background: #fff;
  color: inherit;
  font: inherit;
  width: 100%;
  box-sizing: border-box;
}

.acct-gl-toolbar {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem 1rem;
  align-items: end;
}

.acct-gl-check {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  min-height: var(--touch-min, 44px);
  font-size: 0.92rem;
}

.acct-gl-stats {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
  gap: 0.65rem;
}

.acct-gl-stats > div,
.acct-gl-summary-grid > div {
  border: 1px solid var(--line);
  border-radius: 10px;
  padding: 0.65rem 0.75rem;
  display: grid;
  gap: 0.2rem;
  background: #fff;
  min-width: 0;
}

.acct-gl-stats em,
.acct-gl-summary-grid span {
  font-style: normal;
  opacity: 0.7;
  font-size: 0.82rem;
}

.acct-gl-stats strong.ok {
  color: var(--teal, #0d9488);
}

.acct-gl-stats strong.warn {
  color: var(--amber, #d97706);
}

.acct-gl-summary-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
  gap: 0.65rem;
}

.acct-gl-table-wrap {
  overflow: auto;
  max-height: min(28rem, 55dvh);
  -webkit-overflow-scrolling: touch;
  border: 1px solid var(--line);
  border-radius: 10px;
}

.acct-gl-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.9rem;
  min-width: 640px;
}

.acct-gl-table th,
.acct-gl-table td {
  text-align: start;
  padding: 0.5rem 0.65rem;
  border-bottom: 1px solid var(--line);
  white-space: nowrap;
}

.acct-gl-table th {
  color: #4a5c54;
  font-weight: 650;
  position: sticky;
  top: 0;
  background: #f3f7f5;
  background-clip: padding-box;
  z-index: 2;
  box-shadow: inset 0 -1px 0 var(--line);
  /* Never use opacity here — it makes sticky bg see-through over scrolled rows */
}

.acct-gl-stat-inline {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  align-items: baseline;
  margin-inline-start: auto;
}

.acct-gl-stat-inline em {
  font-style: normal;
  opacity: 0.7;
}

@media (max-width: 720px) {
  .acct-gl-toolbar {
    flex-direction: column;
    align-items: stretch;
  }

  .acct-gl-field {
    width: 100%;
  }

  .acct-gl-stats,
  .acct-gl-summary-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .acct-gl-card {
    padding: 0.85rem;
  }

  .acct-gl-table {
    font-size: 0.82rem;
    min-width: 560px;
  }

  .acct-gl-stat-inline {
    margin-inline-start: 0;
    width: 100%;
  }
}

@media (max-width: 420px) {
  .acct-gl-stats,
  .acct-gl-summary-grid {
    grid-template-columns: 1fr;
  }
}
/* Drive Thru counter desk — header/footer aligned with app shell */

.app-shell:has(.zk-dt) .main-stage {
  background: #eef1f7;
  flex-direction: column;
  max-width: none;
  height: 100%;
  min-height: 0;
  padding: 0;
  display: flex;
  overflow: hidden;
}

.app-shell:has(.zk-dt):not(.counter-mode) .main-stage {
  min-height: 0;
}

.zk-dt {
  background:
    radial-gradient(720px 320px at 100% 0, rgba(132, 94, 247, 0.14), transparent 55%),
    linear-gradient(180deg, #eef1f7 0%, #e6eaf2 100%);
  flex-direction: column;
  flex: 1 1 auto;
  gap: 0;
  min-width: 0;
  height: 100%;
  min-height: 0;
  display: flex;
  overflow: hidden;
}

.zk-dt .zk-dash-header.zk-dash-header-bar {
  flex-shrink: 0;
  margin: 0;
  width: 100%;
  border-radius: 0;
}

.zk-dt > .dt-page {
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
  padding: 0.65rem 0.85rem 0.5rem;
  overflow: hidden;
  background: transparent;
  grid-template-rows: none;
  min-height: 0;
}

.zk-dt > .zk-hub-foot {
  z-index: 5;
  flex-shrink: 0;
  margin-top: 0;
  width: 100%;
  border-radius: 0;
  min-height: 3.25rem;
  padding: 0.65rem 1rem;
}

.zk-dt .dt-foot-meta {
  color: rgba(232, 238, 242, 0.88);
  font-size: 0.88rem;
  font-weight: 650;
  white-space: nowrap;
}

/* In-page toolbar */
.dt-toolbar {
  color: #f8f4ff;
  background: linear-gradient(135deg, #5f3dc4 0%, #7048e8 52%, #845ef7 100%);
  border-radius: 10px;
  flex-shrink: 0;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 0.65rem;
  padding: 0.75rem 0.95rem;
  display: flex;
  box-shadow: 0 8px 20px rgba(95, 61, 196, 0.18);
}

.dt-toolbar-brand {
  align-items: center;
  gap: 0.7rem;
  min-width: 0;
  display: flex;
}

.dt-hero-mark {
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 10px;
  display: grid;
  place-items: center;
  flex-shrink: 0;
  background: rgba(255, 255, 255, 0.16);
  border: 1px solid rgba(255, 255, 255, 0.28);
}

.dt-hero-mark svg {
  width: 1.25rem;
  height: 1.25rem;
}

.dt-toolbar-brand h1 {
  margin: 0;
  font-family: var(--font-display);
  font-size: 1.15rem;
  font-weight: 750;
  letter-spacing: -0.02em;
}

.dt-toolbar-brand p {
  margin: 0.12rem 0 0;
  font-size: 0.78rem;
  color: rgba(248, 244, 255, 0.82);
}

.dt-toolbar-actions {
  flex-wrap: wrap;
  align-items: center;
  gap: 0.45rem;
  display: flex;
}

.dt-clock {
  font-size: 0.78rem;
  font-weight: 650;
  color: rgba(248, 244, 255, 0.92);
  padding: 0.35rem 0.65rem;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.22);
}

.dt-pill {
  border-radius: 8px;
  padding: 0.35rem 0.65rem;
  font-size: 0.74rem;
  font-weight: 700;
  background: rgba(255, 255, 255, 0.16);
  border: 1px solid rgba(255, 255, 255, 0.24);
}

.dt-pill.closed {
  background: rgba(120, 30, 30, 0.45);
  border-color: rgba(255, 160, 160, 0.35);
}

.dt-new-btn {
  min-height: 2.35rem;
  padding-inline: 0.85rem;
}

/* Shell fills remaining height */
.zk-dt .dt-shell {
  flex: 1 1 auto;
  min-height: 0;
  padding: 0;
  overflow: hidden;
  grid-template-columns: 7.5rem minmax(240px, 0.95fr) minmax(300px, 1.2fr);
}

@media (max-width: 980px) {
  .zk-dt > .dt-page {
    padding: 0.55rem 0.55rem 0.4rem;
    overflow: auto;
  }

  .zk-dt .dt-shell {
    overflow: visible;
  }
}

@media (max-width: 720px) {
  .dt-toolbar {
    border-radius: 0;
    margin-inline: -0.55rem;
    width: calc(100% + 1.1rem);
  }
}

/* Ticket line list — compact cards, no horizontal scroll */
.zk-dt .dt-lines {
  overflow-x: hidden !important;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}

.zk-dt .dt-lines-head {
  grid-template-columns: minmax(0, 1fr) 4.75rem !important;
  gap: 0.5rem !important;
}

.zk-dt .dt-lines-head .num {
  text-align: right;
}

.zk-dt .dt-group {
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
  padding: 0.4rem;
}

.zk-dt .dt-line {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: stretch !important;
  gap: 0.45rem !important;
  padding: 0.55rem 0.55rem 0.55rem 0.65rem !important;
  margin: 0;
  border: 1px solid #d5dde8 !important;
  border-radius: 12px !important;
  background: #fff;
  box-shadow: 0 2px 8px rgba(18, 32, 28, 0.04);
}

.zk-dt .dt-line.sent {
  background: var(--surface-2);
  opacity: 0.94;
}

.zk-dt .dt-line-body {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
}

.zk-dt .dt-line-top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.65rem;
}

.zk-dt .dt-line-name {
  margin: 0;
  font-size: 0.9rem;
  font-weight: 750;
  color: var(--ink);
  line-height: 1.25;
  word-break: break-word;
}

.zk-dt .dt-line-total {
  flex-shrink: 0;
  font-family: var(--font-display);
  font-size: 0.92rem;
  font-weight: 800;
  color: var(--ink);
  white-space: nowrap;
}

.zk-dt .dt-line-bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.45rem;
  flex-wrap: wrap;
}

.zk-dt .dt-line-meta {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.35rem;
  min-width: 0;
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 650;
}

.zk-dt .dt-line-badge {
  border-radius: 999px;
  padding: 0.1rem 0.4rem;
  font-size: 0.64rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  background: color-mix(in srgb, var(--danger) 12%, #fff);
  color: var(--danger);
}

@supports not (color: color-mix(in srgb, red 50%, blue)) {

.zk-dt .dt-line-badge {
  background: #f6e5e3;
}
}

.zk-dt .dt-line-badge.sent {
  background: color-mix(in srgb, var(--ok) 14%, #fff);
  color: var(--ok);
}

@supports not (color: color-mix(in srgb, red 50%, blue)) {

.zk-dt .dt-line-badge.sent {
  background: #e0ece5;
}
}

.zk-dt .dt-line-note {
  color: #5f3dc4;
  font-weight: 700;
}

.zk-dt .dt-line .qty-controls.dt-qty {
  justify-content: flex-end;
  flex-shrink: 0;
  gap: 0.25rem;
}

.zk-dt .dt-line .qty-controls.dt-qty button {
  width: 1.5rem;
  height: 1.5rem;
  font-size: 0.85rem;
}

.zk-dt .dt-line .qty-controls.dt-qty .qty-input {
  width: 2.1rem;
  min-width: 2.1rem;
  height: 1.5rem;
  font-size: 0.82rem;
}

.zk-dt .dt-line-remove {
  appearance: none;
  align-self: center;
  width: 2.35rem;
  height: 2.35rem;
  border: none;
  border-radius: 10px;
  background: var(--danger-soft);
  color: var(--danger);
  cursor: pointer;
  display: grid;
  place-items: center;
  padding: 0;
  flex-shrink: 0;
}

.zk-dt .dt-line-remove .qs-ico {
  width: 1rem;
  height: 1rem;
}

.zk-dt .dt-line-remove:hover:not(:disabled) {
  background: color-mix(in srgb, var(--danger) 18%, #fff);
}

@supports not (color: color-mix(in srgb, red 50%, blue)) {

.zk-dt .dt-line-remove:hover:not(:disabled) {
  background: #f2d7d5;
}
}

.zk-dt .dt-line-remove:disabled {
  opacity: 0.35;
  cursor: not-allowed;
}
/* Quick Serve layout — desktop split panels, mobile tab views */

.app-shell:has(.zk-qs) {
  height: 100% !important;
  max-height: 100dvh !important;
  overflow: hidden !important;
  grid-template-rows: auto minmax(0, 1fr) !important;
  animation: none !important;
}

.app-shell:has(.zk-qs) .main-stage {
  background: #eef3f0;
  flex-direction: column;
  max-width: none;
  height: 100% !important;
  min-height: 0 !important;
  max-height: 100% !important;
  padding: 0 !important;
  display: flex !important;
  overflow: hidden !important;
}

.zk-qs {
  background:
    radial-gradient(700px 320px at 0 0, #2aa35f24, #0000 55%),
    radial-gradient(560px 280px at 100% 10%, #c45c2614, #0000 50%),
    linear-gradient(#eef3f0 0%, #e6ece8 100%);
  flex-direction: column;
  flex: 1 1 0 !important;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  height: 100% !important;
  min-height: 0 !important;
  max-height: 100% !important;
  display: flex !important;
  overflow: hidden !important;
}

.zk-qs .zk-dash-header.zk-dash-header-bar {
  flex-shrink: 0 !important;
  margin: 0 !important;
  width: 100%;
  border-radius: 0;
  position: relative;
  z-index: 50;
}

.zk-qs > .qs-page {
  flex: 1 1 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0.65rem 0.85rem 0.5rem;
  gap: 0.55rem;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.zk-qs .qs-chrome {
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
}

.zk-qs .qs-toolbar,
.zk-qs .qs-tools {
  flex-shrink: 0;
}

/* Desktop — menu | ticket */
.zk-qs .qs-desk {
  flex: 1 1 0;
  min-height: 0;
  display: grid !important;
  grid-template-columns: minmax(0, 1.35fr) minmax(280px, 0.85fr);
  gap: 0.75rem;
  overflow: hidden;
}

.zk-qs .qs-menu-panel,
.zk-qs .qs-ticket-panel {
  min-height: 0;
  min-width: 0;
  height: 100%;
  max-height: 100%;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  position: static !important;
}

.zk-qs .qs-menu-panel .mp-root {
  flex: 1 1 0;
  min-height: 0;
  height: 100%;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.zk-qs .qs-menu-panel .mp-toolbar {
  flex-shrink: 0;
}

.zk-qs .qs-menu-panel .mp-body {
  flex: 1 1 0;
  min-height: 0;
  overflow: hidden;
  display: flex;
}

.zk-qs .qs-menu-panel .mp-nav {
  flex-shrink: 0;
  overflow: auto;
}

.zk-qs .qs-menu-panel .mp-items {
  flex: 1 1 0;
  min-height: 0;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}

.zk-qs .qs-menu-panel .mp-grid {
  grid-template-columns: repeat(auto-fill, minmax(168px, 1fr));
  gap: 0.45rem;
}

.zk-qs .qs-lines {
  flex: 1 1 0;
  min-height: 0;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
  display: flex;
  flex-direction: column;
  gap: 0.45rem;
}

/* Desktop polish */
.zk-qs:not(.qs-mobile) .qs-ticket-panel {
  display: flex;
  flex-direction: column;
}

.zk-qs:not(.qs-mobile) .qs-ticket-actions {
  margin-top: auto;
  padding-top: 0.55rem;
  border-top: 1px solid var(--line);
}

.zk-qs .qs-menu-panel .mp-item-wrap {
  transition: box-shadow 0.15s ease, transform 0.15s ease;
}

.zk-qs .qs-menu-panel .mp-item-wrap:active {
  transform: scale(0.985);
}

.zk-qs .order-line {
  transition: background 0.15s ease;
}

/* Ticket line items — compact row with quick remove */
.zk-qs .qs-line {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: stretch;
  gap: 0.45rem;
  padding: 0.55rem 0.55rem 0.55rem 0.65rem;
  border-radius: 12px;
  background: #fff;
  border: 1px solid color-mix(in srgb, var(--line) 88%, #fff);
  box-shadow: 0 2px 8px rgba(18, 32, 28, 0.04);
}
@supports not (color: color-mix(in srgb, red 50%, blue)) {
.zk-qs .qs-line {
  border: 1px solid #dae1dd;
}
}

.zk-qs .qs-line.sent {
  background: var(--surface-2);
  opacity: 0.92;
}

.zk-qs .qs-line-main {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
}

.zk-qs .qs-line-top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.65rem;
}

.zk-qs .qs-line-name {
  margin: 0;
  font-size: 0.9rem;
  font-weight: 750;
  color: var(--ink);
  line-height: 1.25;
  word-break: break-word;
}

.zk-qs .qs-line-total {
  flex-shrink: 0;
  font-family: var(--font-display);
  font-size: 0.92rem;
  font-weight: 800;
  color: var(--ink);
  white-space: nowrap;
}

.zk-qs .qs-line-bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  flex-wrap: wrap;
}

.zk-qs .qs-line-meta {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.35rem;
  min-width: 0;
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 650;
}

.zk-qs .qs-line-badge {
  border-radius: 999px;
  padding: 0.1rem 0.4rem;
  font-size: 0.64rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  background: color-mix(in srgb, var(--warn) 14%, #fff);
  color: var(--warn);
}

@supports not (color: color-mix(in srgb, red 50%, blue)) {

.zk-qs .qs-line-badge {
  background: #f5ece0;
}
}

.zk-qs .qs-line-badge.sent {
  background: color-mix(in srgb, var(--teal) 14%, #fff);
  color: var(--teal);
}

@supports not (color: color-mix(in srgb, red 50%, blue)) {

.zk-qs .qs-line-badge.sent {
  background: #e0eae8;
}
}

.zk-qs .qs-line-note {
  color: #14663a;
  font-weight: 700;
}

.zk-qs .qs-line-qty {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  flex-shrink: 0;
}

.zk-qs .qs-line-qty-btn {
  appearance: none;
  width: 1.75rem;
  height: 1.75rem;
  border: none;
  border-radius: 999px;
  background: var(--teal-soft);
  color: var(--teal);
  font: inherit;
  font-size: 1rem;
  font-weight: 800;
  line-height: 1;
  cursor: pointer;
  display: grid;
  place-items: center;
  padding: 0;
}

.zk-qs .qs-line-qty-btn:hover:not(:disabled) {
  background: color-mix(in srgb, var(--teal) 22%, #fff);
}

@supports not (color: color-mix(in srgb, red 50%, blue)) {

.zk-qs .qs-line-qty-btn:hover:not(:disabled) {
  background: #cededb;
}
}

.zk-qs .qs-line-qty-btn:disabled {
  opacity: 0.4;
  cursor: not-allowed;
}

.zk-qs .qs-line-qty-val {
  min-width: 1.35rem;
  text-align: center;
  font-size: 0.88rem;
  font-weight: 800;
  color: var(--ink);
}

.zk-qs .qs-line-remove {
  appearance: none;
  align-self: center;
  width: 2.35rem;
  height: 2.35rem;
  border: none;
  border-radius: 10px;
  background: var(--danger-soft);
  color: var(--danger);
  cursor: pointer;
  display: grid;
  place-items: center;
  padding: 0;
  flex-shrink: 0;
  transition: background 0.15s ease, transform 0.12s ease;
}

.zk-qs .qs-line-remove .qs-ico {
  width: 1rem;
  height: 1rem;
}

.zk-qs .qs-line-remove:hover:not(:disabled) {
  background: color-mix(in srgb, var(--danger) 18%, #fff);
}

@supports not (color: color-mix(in srgb, red 50%, blue)) {

.zk-qs .qs-line-remove:hover:not(:disabled) {
  background: #f2d7d5;
}
}

.zk-qs .qs-line-remove:active:not(:disabled) {
  transform: scale(0.94);
}

.zk-qs .qs-line-remove:disabled {
  opacity: 0.35;
  cursor: not-allowed;
}

.zk-qs .qs-toolbar-compact {
  padding: 0.45rem 0.65rem !important;
  border-radius: 10px !important;
  gap: 0.5rem !important;
}

.zk-qs .qs-toolbar-compact .qs-hero-mark {
  width: 2rem;
  height: 2rem;
  border-radius: 9px;
}

.zk-qs .qs-toolbar-compact .qs-toolbar-brand p {
  margin: 0;
  font-size: 0.84rem;
  font-weight: 750;
  color: #fff;
}

.zk-qs .qs-toolbar-compact .qs-toolbar-actions {
  flex-wrap: nowrap;
  width: auto !important;
}

.zk-qs .qs-toolbar-compact .qs-new-btn {
  min-height: 2.25rem;
  padding: 0.35rem 0.65rem;
  font-size: 0.78rem;
}

.zk-qs .qs-tools-compact {
  padding: 0.35rem 0.4rem !important;
  gap: 0.3rem !important;
}

.zk-qs .qs-tools-compact .qs-tool {
  min-width: 2.65rem;
  min-height: 2.65rem;
  padding: 0.45rem !important;
  justify-content: center;
}

.zk-qs .qs-tools-compact .qs-tool .qs-ico {
  width: 1.05rem;
  height: 1.05rem;
}

.zk-qs .qs-tools-compact .qs-tool-label {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.zk-qs .qs-tools-compact .qs-tool {
  position: relative;
}

/* Open orders queue — explains Home badge count */
.zk-qs .qs-rail-wrap {
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
}

.zk-qs .qs-rail-hint {
  background: color-mix(in srgb, var(--ok) 10%, #fff);
  border: 1px solid color-mix(in srgb, var(--ok) 22%, var(--line));
  border-radius: 12px;
  padding: 0.55rem 0.75rem;
  font-size: 0.78rem;
  line-height: 1.45;
  color: var(--ink-soft);
}

@supports not (color: color-mix(in srgb, red 50%, blue)) {

.zk-qs .qs-rail-hint {
  background: #e9f2ec;
  border: 1px solid #adc7b8;
}
}

.zk-qs .qs-rail-hint strong {
  color: #14663a;
  font-weight: 750;
}

.zk-qs .qs-rail-hint-sub {
  margin: 0.25rem 0 0;
  color: var(--muted);
  font-size: 0.72rem;
}

.zk-qs .qs-rail-hint a {
  color: var(--teal);
  font-weight: 750;
  text-decoration: none;
}

.zk-qs .qs-rail-hint a:hover {
  text-decoration: underline;
}

.zk-qs .qs-rail {
  background: var(--panel);
  border: 1px solid #d5ddd8e6;
  border-radius: 14px;
  box-shadow: var(--shadow);
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 0.65rem;
  padding: 0.55rem 0.7rem;
}

.zk-qs .qs-rail-head {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  flex-shrink: 0;
}

.zk-qs .qs-rail-head h2 {
  margin: 0;
  font-size: 0.82rem;
  font-weight: 800;
  white-space: nowrap;
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
}

.zk-qs .qs-rail-head h2 .qs-ico {
  color: var(--ok);
}

.zk-qs .qs-rail-count {
  min-width: 1.65rem;
  height: 1.65rem;
  border-radius: 999px;
  background: var(--accent);
  color: #fff;
  font-size: 0.72rem;
  font-weight: 800;
  display: inline-grid;
  place-items: center;
  padding: 0 0.35rem;
}

.zk-qs .qs-rail-scroll {
  display: flex;
  align-items: stretch;
  gap: 0.45rem;
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  padding-bottom: 2px;
}

.zk-qs .qs-rail-card {
  border: 1px solid #d5ddd8f2;
  border-radius: 12px;
  background: #f8faf9;
  color: inherit;
  flex-shrink: 0;
  min-width: 10.5rem;
  max-width: 14rem;
  display: flex;
  align-items: stretch;
  overflow: hidden;
}

.zk-qs .qs-rail-card-main {
  appearance: none;
  border: none;
  background: transparent;
  color: inherit;
  font: inherit;
  cursor: pointer;
  flex: 1 1 auto;
  min-width: 0;
  padding: 0.45rem 0.35rem 0.45rem 0.65rem;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  text-align: start;
}

.zk-qs .qs-rail-remove {
  appearance: none;
  border: none;
  border-left: 1px solid color-mix(in srgb, var(--line) 80%, transparent);
  background: transparent;
  color: var(--muted);
  font: inherit;
  cursor: pointer;
  flex-shrink: 0;
  width: 2.35rem;
  min-height: 100%;
  display: grid;
  place-items: center;
  position: relative;
  transition: background 0.12s ease, color 0.12s ease;
}

@supports not (color: color-mix(in srgb, red 50%, blue)) {

.zk-qs .qs-rail-remove {
  border-left: 1px solid rgba(213, 221, 216, 0.8);
}
}

.zk-qs .qs-rail-remove .qs-ico {
  width: 1rem;
  height: 1rem;
}

.zk-qs .qs-rail-remove-tip {
  position: absolute;
  bottom: calc(100% + 0.35rem);
  right: 0;
  z-index: 20;
  pointer-events: none;
  white-space: nowrap;
  padding: 0.28rem 0.45rem;
  border-radius: 7px;
  background: #24312c;
  color: #f3f7f5;
  font-size: 0.64rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  opacity: 0;
  transform: translateY(0.2rem);
  transition: opacity 0.14s ease, transform 0.14s ease;
  box-shadow: 0 4px 10px rgba(18, 32, 28, 0.18);
}

.zk-qs .qs-rail-remove-tip::after {
  content: '';
  position: absolute;
  top: 100%;
  right: 0.55rem;
  border: 5px solid transparent;
  border-top-color: #24312c;
}

.zk-qs .qs-rail-remove:hover:not(:disabled) .qs-rail-remove-tip,
.zk-qs .qs-rail-remove:focus-visible:not(:disabled) .qs-rail-remove-tip {
  opacity: 1;
  transform: translateY(0);
}

.zk-qs .qs-rail-remove:hover:not(:disabled) {
  background: var(--danger-soft);
  color: var(--danger);
}

.zk-qs .qs-rail-remove:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}

.zk-qs .qs-rail-card.selected {
  border-color: var(--ok);
  background: linear-gradient(#d8f0e2 0%, #fff 75%);
  box-shadow: 0 4px 12px rgba(31, 122, 67, 0.15);
}

.zk-qs .qs-rail-card.draft {
  opacity: 0.72;
  border-style: dashed;
}

.zk-qs .qs-rail-no {
  width: 2.1rem;
  height: 2.1rem;
  border-radius: 10px;
  background: var(--ok-soft);
  color: var(--ok);
  font-size: 0.72rem;
  font-weight: 800;
  display: grid;
  place-items: center;
  flex-shrink: 0;
}

.zk-qs .qs-rail-copy {
  flex: 1;
  min-width: 0;
  display: grid;
  gap: 0.12rem;
}

.zk-qs .qs-rail-copy strong,
.zk-qs .qs-rail-guest {
  font-size: 0.8rem;
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.zk-qs .qs-rail-guest {
  color: var(--ink);
  font-weight: 800;
}

.zk-qs .qs-rail-meta {
  font-size: 0.68rem;
  color: var(--muted);
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.zk-qs .qs-rail-meta .qs-rail-status {
  display: inline;
}

.zk-qs .qs-chip.guest {
  background: var(--teal-soft);
  color: var(--teal);
  font-weight: 750;
}

.zk-qs .qs-rail-status {
  font-size: 0.68rem;
  font-weight: 800;
  font-style: normal;
  text-transform: uppercase;
}

.zk-qs .qs-rail-status.muted {
  color: var(--muted);
}

.zk-qs .qs-rail-status.amber {
  color: var(--warn);
}

.zk-qs .qs-rail-status.teal {
  color: var(--teal);
}

.zk-qs .qs-rail-amt {
  font-size: 0.78rem;
  font-weight: 800;
  color: var(--ink);
  white-space: nowrap;
}

.zk-qs .qs-rail-add {
  appearance: none;
  border: 1px dashed color-mix(in srgb, var(--ok) 40%, var(--line));
  border-radius: 12px;
  background: #f0faf4;
  color: var(--ok);
  font: inherit;
  font-size: 0.72rem;
  font-weight: 800;
  cursor: pointer;
  flex-shrink: 0;
  min-width: 4.2rem;
  padding: 0.45rem 0.55rem;
  display: grid;
  place-items: center;
  gap: 0.15rem;
}

@supports not (color: color-mix(in srgb, red 50%, blue)) {

.zk-qs .qs-rail-add {
  border: 1px dashed #8cb59d;
}
}

.zk-qs .qs-rail-add:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

.zk-qs .qs-rail-empty {
  align-self: center;
  padding: 0 0.4rem;
  color: var(--muted);
  font-size: 0.8rem;
  white-space: nowrap;
}

.zk-qs .qs-foot-link {
  color: rgba(232, 238, 242, 0.95);
  font-size: 0.82rem;
  font-weight: 700;
  text-decoration: none;
  padding: 0.35rem 0.65rem;
  border-radius: 8px;
  border: 1px solid rgba(255, 255, 255, 0.22);
}

.zk-qs .qs-foot-link:hover {
  background: rgba(255, 255, 255, 0.08);
}

@media (max-width: 960px) {
  .zk-qs .qs-rail-hint {
    font-size: 0.72rem;
    padding: 0.45rem 0.6rem;
  }

  .zk-qs .qs-rail-hint-sub {
    display: none;
  }

  .zk-qs .qs-rail-wrap {
    flex-shrink: 0;
  }

  .zk-qs .qs-rail {
    grid-template-columns: 1fr;
    gap: 0.45rem;
  }

  .zk-qs .qs-rail-head {
    justify-content: space-between;
    width: 100%;
  }
}

.zk-qs > .zk-hub-foot {
  z-index: 55;
  flex-shrink: 0 !important;
  margin-top: 0 !important;
  width: 100%;
  border-radius: 0;
}

.zk-qs .qs-mobile-tabs,
.zk-qs .qs-mobile-cart {
  display: none;
}

/* Tablet — stack panels; mobile overrides scroll below */
@media (max-width: 1200px) and (min-width: 961px) {
  .zk-qs > .qs-page {
    overflow-y: auto !important;
    overflow-x: hidden !important;
    -webkit-overflow-scrolling: touch;
  }

  .zk-qs .qs-desk {
    grid-template-columns: 1fr !important;
    height: auto;
    flex: 1 1 auto;
    overflow: visible;
  }

  .zk-qs .qs-menu-panel,
  .zk-qs .qs-ticket-panel {
    height: auto !important;
    max-height: none !important;
  }

  .zk-qs .qs-menu-panel .mp-items {
    max-height: 28rem;
    overflow-y: auto !important;
  }

  .zk-qs .qs-lines {
    max-height: 14rem;
    overflow-y: auto !important;
  }
}

/* Mobile — tabs, fixed header, one panel at a time */
@media (max-width: 960px) {
  .app-shell:has(.zk-qs) {
    grid-template-columns: 1fr !important;
    grid-template-rows: minmax(0, 1fr) !important;
  }

  .app-shell:has(.zk-qs) .side-nav {
    display: none !important;
  }

  .zk-qs .zk-dash-header.zk-dash-header-bar {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 90 !important;
    box-shadow: 0 4px 14px rgba(5, 71, 42, 0.2);
  }

  .zk-qs .zk-dash-header .zk-dash-search {
    display: none !important;
  }

  .zk-qs > .zk-hub-foot {
    position: fixed !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    z-index: 80 !important;
    margin-top: 0 !important;
    padding-bottom: env(safe-area-inset-bottom, 0px);
  }

  .zk-qs > .qs-page {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    padding-top: calc(var(--qs-head-h, 7.5rem) + 0.35rem);
    padding-inline: 0.5rem;
    padding-bottom: calc(
      var(--qs-foot-h, 4.75rem) + var(--qs-cart-h, 0px) + env(safe-area-inset-bottom, 0px) + 0.75rem
    );
    overflow-x: hidden !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
    touch-action: pan-y;
  }

  .zk-qs .qs-chrome {
    flex-shrink: 0;
    gap: 0.35rem;
  }

  .zk-qs .qs-tools {
    flex-wrap: nowrap;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
  }

  .zk-qs .qs-tool {
    flex: 0 0 auto;
  }

  .zk-qs .qs-mobile-tabs {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.35rem;
    padding: 0.2rem;
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.72);
    border: 1px solid color-mix(in srgb, var(--teal) 18%, var(--line));
    box-shadow: 0 4px 14px rgba(18, 32, 28, 0.06);
  }

  @supports not (color: color-mix(in srgb, red 50%, blue)) {

  .zk-qs .qs-mobile-tabs {
    border: 1px solid #b4c8c2;
  }
  }

  .zk-qs .qs-mobile-tabs button {
    appearance: none;
    border: none;
    border-radius: 11px;
    background: transparent;
    color: var(--ink-soft);
    font: inherit;
    font-size: 0.82rem;
    font-weight: 750;
    min-height: 2.65rem;
    padding: 0.45rem 0.55rem;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    position: relative;
    transition: background 0.15s ease, color 0.15s ease, box-shadow 0.15s ease;
  }

  .zk-qs .qs-mobile-tabs button .qs-ico {
    width: 1rem;
    height: 1rem;
    opacity: 0.85;
  }

  .zk-qs .qs-mobile-tabs button.on {
    background: linear-gradient(135deg, #14663a, #2aa35f);
    color: #fff;
    box-shadow: 0 4px 12px rgba(31, 107, 92, 0.28);
  }

  .zk-qs .qs-mobile-tabs button.on .qs-ico {
    opacity: 1;
  }

  .zk-qs .qs-mobile-tabs-badge {
    position: absolute;
    top: 0.2rem;
    right: 0.35rem;
    min-width: 1.1rem;
    height: 1.1rem;
    padding: 0 0.25rem;
    border-radius: 999px;
    background: var(--accent);
    color: #fff;
    font-size: 0.62rem;
    font-weight: 800;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
  }

  .zk-qs .qs-mobile-tabs button.on .qs-mobile-tabs-badge {
    background: #fff;
    color: var(--teal);
  }

  .zk-qs .qs-mobile-tabs-meta {
    font-size: 0.7rem;
    font-weight: 700;
    opacity: 0.88;
    margin-inline-start: 0.1rem;
  }

  .zk-qs .qs-desk {
    display: flex !important;
    flex-direction: column;
    flex: 0 0 auto !important;
    min-height: 0 !important;
    height: auto !important;
    overflow: visible !important;
  }

  .zk-qs .qs-menu-panel,
  .zk-qs .qs-ticket-panel {
    flex: 0 0 auto !important;
    min-height: 0 !important;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    padding: 0.45rem 0.5rem;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
  }

  .zk-qs .qs-menu-panel .mp-root {
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
  }

  .zk-qs .qs-menu-panel .mp-body {
    display: flex !important;
    flex-direction: column !important;
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
    width: 100%;
    max-width: 100%;
    min-width: 0;
  }

  .zk-qs .qs-menu-panel .mp-toolbar {
    flex-shrink: 0;
  }

  .zk-qs .qs-menu-panel .mp-nav {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    min-height: 2.75rem !important;
    border-right: none;
    border-bottom: 1px solid var(--line);
    overflow-x: auto !important;
    overflow-y: hidden !important;
    -webkit-overflow-scrolling: touch;
    padding: 0.3rem;
    background: var(--surface-2);
  }

  .zk-qs .qs-menu-panel .mp-nav-block {
    display: flex !important;
    flex: 0 0 auto;
    flex-direction: row;
    align-items: center;
    gap: 0.12rem;
  }

  .zk-qs .qs-menu-panel .mp-nav-subs {
    display: flex !important;
    flex: 0 0 auto;
    flex-direction: row;
    gap: 0.12rem;
  }

  .zk-qs .qs-menu-panel .mp-nav-split {
    display: none !important;
  }

  .zk-qs .qs-menu-panel .mp-main-btn,
  .zk-qs .qs-menu-panel .mp-sub-btn {
    flex: 0 0 auto;
    width: auto !important;
    white-space: nowrap;
    min-height: 2.1rem;
    padding: 0.4rem 0.6rem;
  }

  .zk-qs .qs-menu-panel .mp-items {
    flex: 0 0 auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: visible !important;
    overflow-y: visible !important;
    padding: 0.4rem 0.15rem 0.5rem;
    width: 100%;
    max-width: 100%;
    min-width: 0;
  }

  .zk-qs .qs-lines {
    flex: 1 1 0 !important;
    min-height: 6rem !important;
    max-height: none !important;
    overflow-y: auto !important;
  }

  .zk-qs .qs-menu-panel .mp-grid {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 0.45rem !important;
    width: 100%;
    max-width: 100%;
  }

  .zk-qs .qs-menu-panel .mp-item-wrap {
    grid-template-columns: minmax(0, 1fr) auto auto !important;
    padding: 0.65rem 0.55rem !important;
    border-radius: 12px !important;
    min-height: var(--touch-min);
    min-width: 0 !important;
    max-width: 100% !important;
  }

  .zk-qs .qs-line {
    padding: 0.5rem 0.45rem 0.5rem 0.55rem;
    gap: 0.35rem;
  }

  .zk-qs .qs-line-remove {
    width: 2.5rem;
    height: 2.5rem;
  }

  .zk-qs .qs-line-qty-btn {
    width: 2rem;
    height: 2rem;
  }

  .zk-qs .qs-ticket-actions {
    flex-shrink: 0;
    position: static !important;
    box-shadow: none;
    background: transparent;
    gap: 0.45rem;
  }

  .zk-qs .qs-ticket-actions .btn {
    min-height: var(--touch-min);
    font-size: 0.9rem;
  }

  .zk-qs .qs-mobile-cart {
    position: fixed;
    left: 0.5rem;
    right: 0.5rem;
    bottom: calc(var(--qs-foot-h, 3rem) + env(safe-area-inset-bottom, 0px) + 0.35rem);
    z-index: 85;
    display: flex;
    gap: 0.4rem;
    flex-shrink: 0;
    margin: 0;
    width: auto;
    animation: qs-cart-in 0.25s ease;
  }

  .zk-qs .qs-mobile-cart.pulse {
    animation: qs-cart-pulse 0.65s ease;
  }

  .zk-qs .qs-mobile-cart-main {
    flex: 1 1 auto;
    min-width: 0;
    appearance: none;
    border: none;
    border-radius: 14px;
    background: linear-gradient(135deg, #14663a 0%, #1f8a4c 55%, #2aa35f 100%);
    color: #fff;
    font: inherit;
    cursor: pointer;
    min-height: 3rem;
    padding: 0.55rem 0.85rem;
    display: grid;
    grid-template-columns: 1fr auto;
    grid-template-rows: auto auto;
    align-items: center;
    gap: 0.05rem 0.65rem;
    text-align: start;
    box-shadow: 0 10px 24px rgba(22, 122, 67, 0.32);
  }

  .zk-qs .qs-mobile-cart-count {
    font-size: 0.78rem;
    font-weight: 700;
    opacity: 0.92;
  }

  .zk-qs .qs-mobile-cart-total {
    grid-row: 1 / span 2;
    grid-column: 2;
    font-family: var(--font-display);
    font-size: 1.1rem;
    font-weight: 800;
  }

  .zk-qs .qs-mobile-cart-hint {
    font-size: 0.68rem;
    font-weight: 650;
    opacity: 0.82;
  }

  .zk-qs .qs-mobile-cart-settle {
    flex: 0 0 auto;
    appearance: none;
    border: none;
    border-radius: 14px;
    background: #fff;
    color: var(--teal);
    font: inherit;
    font-size: 0.82rem;
    font-weight: 800;
    min-width: 4.5rem;
    min-height: 3rem;
    padding: 0.45rem 0.65rem;
    cursor: pointer;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.15rem;
    box-shadow: 0 8px 18px rgba(18, 32, 28, 0.12);
  }

  .zk-qs .qs-mobile-cart-settle .qs-ico {
    width: 1.05rem;
    height: 1.05rem;
  }

  .zk-qs .qs-mobile-cart-settle:disabled {
    opacity: 0.55;
    cursor: not-allowed;
  }
}

@keyframes qs-cart-in {
  from {
    opacity: 0;
    transform: translateY(0.75rem);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes qs-cart-pulse {
  0%,
  100% {
    transform: scale(1);
  }
  40% {
    transform: scale(1.02);
  }
}

@media (max-width: 720px) {
  .zk-qs > .qs-page {
    padding-inline: 0.4rem;
  }

  .zk-qs .qs-menu-panel .mp-toolbar {
    grid-template-columns: 1fr;
  }

  .zk-qs .qs-ticket-head {
    flex-direction: column;
    align-items: stretch;
  }

  .zk-qs .qs-type {
    width: 100%;
    min-width: 0;
  }
}
/* Kitchen / KDS — sticky chrome, scrollable board */

/* Active tab count: base used background:currentColor after color:#fff (invisible). */
.zk-kds .kds-tab.tone-board.on em { color: #fff; background: #c45c26; }
.zk-kds .kds-tab.tone-queued.on em { color: #fff; background: #e67700; }
.zk-kds .kds-tab.tone-cooking.on em { color: #fff; background: #d9480f; }
.zk-kds .kds-tab.tone-ready.on em { color: #fff; background: #2b8a3e; }

.app-shell:has(.zk-kds) {
  height: 100% !important;
  max-height: 100dvh !important;
  overflow: hidden !important;
}

.app-shell:has(.zk-kds) .main-stage {
  height: 100% !important;
  min-height: 0 !important;
  max-height: 100% !important;
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
  padding: 0 !important;
}

.app-shell:has(.zk-kds) .main-stage > .zk-kds {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  width: 100% !important;
  overflow: hidden !important;
}

.zk-kds.zk-dept {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  height: 100% !important;
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
}

.zk-kds .zk-dash-header.zk-dash-header-bar {
  flex-shrink: 0 !important;
}

.zk-kds > .kds-page-inner {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
  margin: 0.55rem 0.8rem 0.35rem !important;
}

.zk-kds .kds-hero,
.zk-kds .kds-filters {
  flex-shrink: 0 !important;
}

.zk-kds .kds-body {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  overflow: hidden !important;
  align-items: stretch !important;
}

.zk-kds .kds-tree {
  position: static !important;
  top: auto !important;
  min-height: 0 !important;
  height: 100% !important;
  overflow-y: auto !important;
  -webkit-overflow-scrolling: touch;
}

.zk-kds .kds-board {
  min-height: 0 !important;
  height: 100% !important;
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
}

.zk-kds .kds-board-head {
  flex-shrink: 0 !important;
}

.zk-kds .kds-empty,
.zk-kds .kds-grid {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  overflow-y: auto !important;
  -webkit-overflow-scrolling: touch;
}

.zk-kds > .zk-hub-foot {
  flex-shrink: 0 !important;
  position: relative !important;
  margin-top: 0 !important;
}

@media (max-width: 960px) {
  .app-shell:has(.zk-kds) {
    grid-template-columns: 1fr !important;
  }

  .app-shell:has(.zk-kds) .side-nav {
    display: none !important;
  }

  .app-shell:has(.zk-kds) .main-stage {
    min-height: 100dvh !important;
  }

  .zk-kds > .kds-page-inner {
    margin: 0.45rem 0.5rem 0.35rem !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
  }

  .zk-kds .kds-hero {
    padding: 0.65rem 0.75rem !important;
  }

  .zk-kds .kds-filters {
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch;
  }

  .zk-kds .kds-tab {
    flex: 0 0 auto;
    white-space: nowrap;
  }

  .zk-kds .kds-body {
    flex: 0 0 auto !important;
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
    display: flex !important;
    flex-direction: column !important;
    grid-template-columns: 1fr !important;
    gap: 0.65rem !important;
  }

  .zk-kds .kds-tree,
  .zk-kds .kds-board {
    height: auto !important;
    overflow: visible !important;
    display: block !important;
  }

  .zk-kds .kds-empty,
  .zk-kds .kds-grid {
    overflow: visible !important;
    flex: none !important;
  }
}

@media (max-width: 720px) {
  .zk-kds .kds-hero-stats .kds-stat em {
    display: none;
  }
}

.zk-kds .kds-line {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  align-items: stretch;
}
.zk-kds .kds-line-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
}
.zk-kds .kds-line-actions .btn {
  min-height: 2.1rem;
  padding: 0.25rem 0.65rem;
  font-size: 0.8rem;
}
.zk-kds .kds-line.status-ready {
  opacity: 0.72;
}
.zk-kds .kds-boards {
  margin-bottom: 0.35rem;
  gap: 0.35rem;
}
.zk-kds .kds-tree-hint {
  margin: 0;
  font-size: 0.75rem;
  opacity: 0.75;
  padding: 0.75rem;
}
/* Inventory / stock — mobile page scroll; table area must not trap touch */

@media (max-width: 1100px) {
  .app-shell:has(.zk-stock) {
    height: 100% !important;
    max-height: 100dvh !important;
    overflow: hidden !important;
    grid-template-columns: 1fr !important;
  }

  .app-shell:has(.zk-stock) .side-nav {
    display: none !important;
  }

  .app-shell:has(.zk-stock) .main-stage {
    height: 100% !important;
    min-height: 0 !important;
    overflow: hidden !important;
  }

  .zk-stock {
    height: 100% !important;
    min-height: 0 !important;
    overflow: hidden !important;
    display: flex !important;
    flex-direction: column !important;
  }

  .zk-stock .zk-dash-header.zk-dash-header-bar {
    flex-shrink: 0 !important;
  }

  /* Only this element scrolls the page on mobile */
  .zk-stock > .stk-page-inner {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
    touch-action: pan-y;
    /* Footer stays in flow below — no overlap, last card fully visible */
    padding-bottom: 0.85rem !important;
    margin-bottom: 0 !important;
  }

  .zk-stock > .stk-page-inner::after {
    content: none;
  }

  /* Keep footer in document flow (not fixed) so content never sits under it */
  .zk-stock > .zk-hub-foot {
    flex-shrink: 0 !important;
    position: relative !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    z-index: 20 !important;
    margin-top: 0 !important;
    width: 100% !important;
    padding-bottom: env(safe-area-inset-bottom, 0px);
  }

  .stk-layout {
    display: flex !important;
    flex-direction: column !important;
    gap: 0.85rem !important;
    min-height: 0 !important;
    height: auto !important;
    overflow: visible !important;
  }

  .stk-main {
    flex: 0 0 auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: visible !important;
  }

  /* Do not create a nested scrollport — parent page scrolls */
  .stk-main-scroll {
    flex: none !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: visible !important;
    margin: 0 !important;
    padding: 0 !important;
    overscroll-behavior: auto !important;
    touch-action: pan-y;
  }

  .stk-table-wrap {
    overflow: visible !important;
    overscroll-behavior: auto !important;
    touch-action: pan-y;
  }

  .stk-side {
    flex: 0 0 auto !important;
    max-height: none !important;
    overflow: visible !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 0.85rem !important;
  }

  .stk-alert-list,
  .stk-po-list,
  .stk-recipe-list {
    max-height: none !important;
    overflow: visible !important;
  }

  .stk-side > .stk-panel:last-child {
    margin-bottom: 0.35rem !important;
  }
}

@media (max-width: 720px) {
  .zk-stock > .stk-page-inner {
    margin: 0.45rem 0.5rem 0.35rem !important;
    gap: 0.65rem !important;
  }

  .stk-hero-stats .stk-stat em {
    display: none;
  }

  .stk-toolbar {
    gap: 0.45rem !important;
    margin-bottom: 0.65rem !important;
  }

  .stk-search {
    flex: 0 0 auto !important;
    width: 100% !important;
    min-height: 44px !important;
    max-height: 44px !important;
    padding: 0 0.65rem !important;
  }

  .stk-search input {
    min-height: 0 !important;
    padding: 0 !important;
    line-height: 1.25 !important;
  }

  .stk-search .inv-ico,
  .stk-search svg {
    flex-shrink: 0 !important;
    width: 1.1rem !important;
    height: 1.1rem !important;
  }

  .stk-filters {
    width: 100% !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 0.15rem !important;
  }

  .stk-filter {
    flex: 0 0 auto !important;
    white-space: nowrap !important;
  }

  .stk-sort {
    flex: 0 0 auto !important;
    width: 100% !important;
    min-height: 44px !important;
    max-height: 44px !important;
  }

  .stk-hero {
    padding: 0.65rem 0.75rem !important;
    gap: 0.5rem !important;
  }

  .stk-hero-actions {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 0.35rem !important;
  }

  .stk-hero-actions .stk-link-btn {
    justify-content: center !important;
    min-height: 2rem !important;
    padding: 0.3rem 0.35rem !important;
    font-size: 0.7rem !important;
    gap: 0.22rem !important;
    border-radius: 8px !important;
    line-height: 1.15 !important;
    text-align: center;
  }

  .stk-hero-actions .stk-link-btn.primary {
    grid-column: auto !important;
  }

  .stk-hero-actions .stk-link-btn .inv-ico,
  .stk-hero-actions .stk-link-btn svg {
    width: 0.95rem !important;
    height: 0.95rem !important;
    flex-shrink: 0 !important;
  }

  /* Stack rows as cards — no wide table / no nested horizontal scroll trap */
  .stk-table-wrap {
    border: 0 !important;
    overflow: visible !important;
  }

  .stk-table {
    min-width: 0 !important;
    width: 100% !important;
    border-collapse: separate !important;
    border-spacing: 0 0.55rem !important;
  }

  .stk-table thead {
    display: none !important;
  }

  .stk-table tbody tr {
    background: #fff !important;
    border: 1px solid #d9e3dc !important;
    border-radius: 12px !important;
    display: grid !important;
    grid-template-columns: 1fr auto !important;
    gap: 0.35rem 0.55rem !important;
    padding: 0.7rem 0.75rem !important;
    box-shadow: 0 4px 12px #12201c0a;
  }

  .stk-table tbody tr.is-low {
    background: linear-gradient(90deg, #fff5f5, #fff) !important;
    border-color: #ffc9c9 !important;
  }

  .stk-table tbody td {
    border: 0 !important;
    padding: 0 !important;
    display: block !important;
    min-width: 0 !important;
  }

  /* Item */
  .stk-table tbody td:nth-child(1) {
    grid-column: 1 / -1;
  }

  /* Category */
  .stk-table tbody td:nth-child(2) {
    grid-column: 1;
    align-self: center;
  }

  /* Vendor — clip cleanly, no horizontal page drag */
  .stk-table tbody td:nth-child(3) {
    grid-column: 1 / -1;
  }

  .stk-vendor-cell {
    min-width: 0 !important;
    max-width: none !important;
  }

  .stk-vendor-name,
  .stk-vendor {
    max-width: none !important;
  }

  /* Level bar */
  .stk-table tbody td:nth-child(4) {
    grid-column: 1 / -1;
  }

  /* On hand */
  .stk-table tbody td:nth-child(5) {
    grid-column: 1;
    font-size: 0.9rem;
  }

  /* Locations — hide on very narrow */
  .stk-table tbody td:nth-child(6) {
    display: none !important;
  }

  /* Reorder */
  .stk-table tbody td:nth-child(7) {
    grid-column: 2;
    justify-self: end;
    text-align: end;
    font-size: 0.78rem;
    color: var(--muted);
  }

  /* Status */
  .stk-table tbody td:nth-child(8) {
    grid-column: 2;
    grid-row: 2;
    justify-self: end;
    align-self: center;
  }

  /* Cost */
  .stk-table tbody td:nth-child(9) {
    grid-column: 1;
    font-size: 0.82rem;
    color: var(--muted);
  }

  /* Adjust */
  .stk-table tbody td:nth-child(10) {
    grid-column: 1 / -1;
  }

  .stk-adjust-btn {
    width: 100% !important;
    justify-content: center !important;
    min-height: 2.25rem !important;
  }

  .stk-main-scroll .stk-table th {
    position: static !important;
  }
}

/* Stock receiving — view posted receipt banner */
.recv-view-banner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.65rem 0.85rem;
  margin: 0 0 0.85rem;
  padding: 0.7rem 0.85rem;
  border-radius: 12px;
  border: 1px solid color-mix(in srgb, var(--warn, #b7791f) 35%, #e8dcc0);
  background: color-mix(in srgb, var(--warn-soft, #f6e7c8) 70%, #fff);
}
@supports not (color: color-mix(in srgb, red 50%, blue)) {
.recv-view-banner {
  border: 1px solid #d7b988;
  background: #f9eed9;
}
}

.recv-view-banner p {
  flex: 1 1 12rem;
  margin: 0;
  font-size: 0.86rem;
  line-height: 1.35;
  color: #5c4a1f;
}

.recv-modal-lead {
  margin: 0 0 0.65rem;
  padding: 0 0.1rem;
  font-size: 0.86rem;
  line-height: 1.4;
  color: var(--muted, #5f7169);
}
/* Purchase orders — mobile scroll, compact hero actions, fixed search height */

@media (max-width: 1100px) {
  .app-shell:has(.zk-po) {
    height: 100% !important;
    max-height: 100dvh !important;
    overflow: hidden !important;
    grid-template-columns: 1fr !important;
  }

  .app-shell:has(.zk-po) .side-nav {
    display: none !important;
  }

  .app-shell:has(.zk-po) .main-stage {
    height: 100% !important;
    min-height: 0 !important;
    overflow: hidden !important;
  }

  .zk-po {
    height: 100% !important;
    min-height: 0 !important;
    overflow: hidden !important;
    display: flex !important;
    flex-direction: column !important;
  }

  .zk-po .zk-dash-header.zk-dash-header-bar {
    flex-shrink: 0 !important;
  }

  .zk-po > .po-page-inner {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
    padding-bottom: calc(4.5rem + env(safe-area-inset-bottom, 0px)) !important;
  }

  .zk-po > .zk-hub-foot {
    flex-shrink: 0 !important;
    position: fixed !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    z-index: 40 !important;
    margin-top: 0 !important;
    padding-bottom: env(safe-area-inset-bottom, 0px);
  }

  .po-layout {
    display: flex !important;
    flex-direction: column !important;
    gap: 0.85rem !important;
  }

  .po-side {
    max-height: none !important;
    overflow: visible !important;
  }
}

@media (max-width: 720px) {
  .zk-po > .po-page-inner {
    margin: 0.45rem 0.5rem 0.35rem !important;
    gap: 0.65rem !important;
  }

  .po-hero {
    padding: 0.65rem 0.75rem !important;
    gap: 0.5rem !important;
  }

  .po-hero-brand h1 {
    font-size: 1rem !important;
  }

  .po-hero-brand p {
    font-size: 0.7rem !important;
  }

  .po-hero-mark {
    width: 2rem !important;
    height: 2rem !important;
  }

  .po-stat {
    padding: 0.32rem 0.35rem !important;
    font-size: 0.68rem !important;
  }

  .po-stat em {
    display: none;
  }

  .po-hero-actions {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 0.35rem !important;
  }

  .po-hero-actions .po-link-btn {
    justify-content: center !important;
    min-height: 2rem !important;
    padding: 0.3rem 0.35rem !important;
    font-size: 0.7rem !important;
    gap: 0.22rem !important;
    border-radius: 8px !important;
    line-height: 1.15 !important;
    text-align: center;
  }

  .po-hero-actions .po-link-btn.primary {
    grid-column: auto !important;
  }

  .po-hero-actions .po-link-btn .po-ico,
  .po-hero-actions .po-link-btn svg {
    width: 0.95rem !important;
    height: 0.95rem !important;
    flex-shrink: 0 !important;
  }

  .po-toolbar {
    gap: 0.45rem !important;
    margin-bottom: 0.65rem !important;
  }

  /* flex:auto / flex:220px both grow in column toolbar */
  .po-search {
    flex: 0 0 auto !important;
    width: 100% !important;
    min-height: 40px !important;
    max-height: 40px !important;
    padding: 0 0.65rem !important;
  }

  .po-search input {
    min-height: 0 !important;
    padding: 0 !important;
    line-height: 1.25 !important;
  }

  .po-search .po-ico,
  .po-search svg {
    flex-shrink: 0 !important;
    width: 1.05rem !important;
    height: 1.05rem !important;
  }

  .po-filters {
    width: 100% !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 0.15rem !important;
  }

  .po-filter {
    flex: 0 0 auto !important;
    white-space: nowrap !important;
  }
}

/* —— New PO modal form (aligned controls) —— */
.po-modal.modal-card {
  width: min(560px, calc(100vw - 1.5rem)) !important;
  max-height: min(90dvh, 760px) !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
  padding: 1rem 1.1rem 1rem !important;
  overflow: hidden !important;
}

.po-modal > .section-head {
  flex-shrink: 0;
  margin-bottom: 0.85rem !important;
}

.po-modal-body {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  min-height: 0;
  overflow: auto;
  padding-inline-end: 0.15rem;
}

.po-modal .po-field {
  display: grid;
  gap: 0.35rem;
}

.po-modal .po-field > .field-label {
  margin: 0 !important;
}

.po-modal .po-control-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 2.5rem;
  gap: 0.45rem;
  align-items: stretch;
}

.po-modal .po-control-row > .mesa-select,
.po-modal .po-control-row > .mesa-select-field {
  min-width: 0;
  width: 100%;
}

.po-modal .po-control-row .mesa-select-trigger,
.po-modal .po-draft-row .mesa-select-trigger,
.po-modal .po-draft-input.search,
.po-modal .po-icon-btn {
  min-height: 42px !important;
  height: 42px !important;
  box-sizing: border-box !important;
}

.po-modal .po-icon-btn {
  width: 2.5rem !important;
  min-width: 2.5rem !important;
  margin: 0 !important;
  padding: 0 !important;
  border-radius: 10px !important;
  display: grid !important;
  place-items: center !important;
  font-size: 1.2rem !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  cursor: pointer;
  flex-shrink: 0;
}

.po-modal .po-icon-btn-add {
  color: #fff !important;
  border: 0 !important;
  background: linear-gradient(#2a8573, #1f6b5c) !important;
  box-shadow: 0 4px 10px #1f6b5c33;
}

.po-modal .po-icon-btn-add:hover {
  filter: brightness(1.06);
}

.po-modal .po-icon-btn-remove {
  color: var(--muted) !important;
  background: #fff !important;
  border: 1px solid var(--line) !important;
  box-shadow: none !important;
  font-size: 0.95rem !important;
}

.po-modal .po-icon-btn-remove:hover {
  color: var(--danger) !important;
  border-color: color-mix(in srgb, var(--danger) 35%, var(--line)) !important;
  background: var(--danger-soft) !important;
}

@supports not (color: color-mix(in srgb, red 50%, blue)) {

.po-modal .po-icon-btn-remove:hover {
  border-color: #c99c95 !important;
}
}

.po-modal .po-check {
  display: flex;
  align-items: flex-start;
  gap: 0.55rem;
  margin: 0 !important;
  padding: 0.55rem 0.65rem;
  border-radius: 10px;
  background: #f4f7f5;
  border: 1px solid #e4ebe7;
  font-size: 0.86rem;
  color: var(--ink-soft);
  cursor: pointer;
}

.po-modal .po-check input {
  margin-top: 0.15rem;
  flex-shrink: 0;
}

.po-modal .po-field-hint,
.po-modal .po-side-hint {
  margin: 0 !important;
  font-size: 0.78rem;
  line-height: 1.35;
  color: var(--muted);
}

.po-modal .po-lines {
  display: flex;
  flex-direction: column;
  gap: 0.45rem;
  margin-top: 0.15rem;
}

.po-modal .po-lines-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
}

.po-modal .po-lines-head strong {
  font-size: 0.95rem;
  font-weight: 750;
  color: var(--ink);
}

.po-modal .po-draft-head {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 2.5rem 4.75rem 5.25rem 2.5rem !important;
  gap: 0.45rem !important;
  padding: 0 0.1rem 0.15rem !important;
  margin: 0 !important;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--muted);
  font-size: 0.68rem;
  font-weight: 750;
}

.po-modal .po-draft-row {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 2.5rem 4.75rem 5.25rem 2.5rem !important;
  grid-template-areas: none !important;
  align-items: stretch !important;
  gap: 0.45rem !important;
  width: 100% !important;
  margin: 0 0 0.15rem !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
}

.po-modal .po-draft-row > .po-draft-item {
  grid-area: auto !important;
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
}

.po-modal .po-draft-row > .po-draft-item .mesa-select-field,
.po-modal .po-draft-row > .po-draft-item .mesa-select {
  width: 100%;
  min-width: 0;
}

.po-modal .po-draft-input {
  width: 100% !important;
  max-width: none !important;
  text-align: center;
  font-variant-numeric: tabular-nums;
  border-radius: 10px !important;
  padding: 0 0.4rem !important;
  margin: 0 !important;
  flex: none !important;
}

.po-modal .po-add-line {
  align-self: stretch;
  justify-content: center;
  margin-top: 0.15rem;
}

.po-modal .po-modal-actions {
  margin-top: 0.35rem;
  padding-top: 0.35rem;
  border-top: 1px solid var(--line);
}

.po-modal .po-modal-actions .btn {
  width: 100%;
}

@media (max-width: 560px) {
  .po-modal .po-draft-head {
    display: none !important;
  }

  .po-modal .po-draft-row {
    grid-template-columns: minmax(0, 1fr) 2.5rem 2.5rem !important;
    grid-template-areas:
      "item add remove"
      "qty qty cost" !important;
    gap: 0.4rem !important;
    padding: 0.55rem !important;
    background: #f7faf8 !important;
    border: 1px solid #e8eeea !important;
    border-radius: 12px !important;
  }

  .po-modal .po-draft-row > .po-draft-item {
    grid-area: item !important;
  }

  .po-modal .po-draft-row > .po-icon-btn-add {
    grid-area: add !important;
  }

  .po-modal .po-draft-row > .po-icon-btn-remove {
    grid-area: remove !important;
  }

  .po-modal .po-draft-row > .po-draft-qty {
    grid-area: qty !important;
  }

  .po-modal .po-draft-row > .po-draft-cost {
    grid-area: cost !important;
  }
}

/* legacy class aliases used elsewhere */
.po-side-empty .po-side-link {
  display: inline-block;
  margin-top: 0.35rem;
  margin-inline-end: 0.65rem;
  background: none;
  border: 0;
  padding: 0;
  color: var(--teal);
  font: inherit;
  font-weight: 700;
  cursor: pointer;
  text-decoration: underline;
}
/* Masters desk — mobile page scroll so categories / menu items stay reachable */

@media (max-width: 1100px) {
  .app-shell:has(.zk-mst-desk) {
    height: 100% !important;
    max-height: 100dvh !important;
    overflow: hidden !important;
    grid-template-columns: 1fr !important;
  }

  .app-shell:has(.zk-mst-desk) .side-nav {
    display: none !important;
  }

  .app-shell:has(.zk-mst-desk) .main-stage {
    height: 100% !important;
    min-height: 0 !important;
    overflow: hidden !important;
  }

  .zk-mst-desk {
    height: 100% !important;
    min-height: 0 !important;
    overflow: hidden !important;
    display: flex !important;
    flex-direction: column !important;
  }

  .zk-mst-desk .zk-dash-header.zk-dash-header-bar {
    flex-shrink: 0 !important;
  }

  .zk-mst-desk > .mst-page-inner {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
    padding-bottom: calc(4.5rem + env(safe-area-inset-bottom, 0px)) !important;
  }

  .zk-mst-desk > .zk-hub-foot {
    flex-shrink: 0 !important;
    position: fixed !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    z-index: 40 !important;
    margin-top: 0 !important;
    padding-bottom: env(safe-area-inset-bottom, 0px);
  }

  .mst-page-inner {
    overflow: visible !important;
  }

  .mst-board {
    flex: 0 0 auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: visible !important;
  }

  .mst-table-wrap {
    flex: none !important;
    min-height: 0 !important;
    overflow-x: auto !important;
    overflow-y: visible !important;
    -webkit-overflow-scrolling: touch;
  }
}

@media (max-width: 720px) {
  .zk-mst-desk > .mst-page-inner {
    margin: 0.45rem 0.5rem 0.35rem !important;
    gap: 0.65rem !important;
  }

  .mst-hero {
    padding: 0.65rem 0.75rem !important;
    gap: 0.5rem !important;
  }

  .mst-hero-brand h1 {
    font-size: 1rem !important;
  }

  .mst-hero-brand p {
    font-size: 0.7rem !important;
  }

  .mst-hero-mark {
    width: 2rem !important;
    height: 2rem !important;
  }

  .mst-stat em {
    display: none;
  }

  .mst-stat {
    padding: 0.32rem 0.45rem !important;
  }

  .mst-toolbar {
    gap: 0.45rem !important;
  }

  .mst-filters {
    gap: 0.4rem !important;
    padding: 0.45rem 0.5rem !important;
  }

  /* flex:13rem grows in stacked grid and stretches the search tall */
  .mst-filters .mst-search {
    flex: 0 0 auto !important;
    width: 100% !important;
    min-height: 40px !important;
    max-height: 40px !important;
    padding: 0 0.65rem !important;
  }

  .mst-filters .mst-search input {
    min-height: 0 !important;
    padding: 0 !important;
    line-height: 1.25 !important;
    font-size: 0.86rem !important;
  }

  .mst-filters .mst-search .mst-ico,
  .mst-filters .mst-search svg {
    flex-shrink: 0 !important;
    width: 1.05rem !important;
    height: 1.05rem !important;
  }

  .mst-status-pills {
    width: 100% !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 0.1rem !important;
  }

  .mst-pill {
    flex: 0 0 auto !important;
    white-space: nowrap !important;
  }

  .mst-add-btn {
    min-height: 2.25rem !important;
    padding: 0.4rem 0.75rem !important;
    font-size: 0.82rem !important;
  }
}

/* Custom options editor (variations + addon groups) */
.mst-customizer-editor {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.mst-cz-section {
  border: 1px solid var(--line, #d5ddd8);
  border-radius: 10px;
  padding: 0.65rem 0.7rem;
  background: #f8faf9;
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
}

.mst-cz-head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.4rem;
}

.mst-cz-head > .mst-input {
  flex: 1 1 8rem;
  min-width: 0;
}

.mst-cz-minmax {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  font-size: 0.72rem;
  font-weight: 700;
  color: var(--muted, #5f7169);
}

.mst-cz-minmax .mst-input {
  width: 3.4rem;
  min-width: 3.4rem;
}

.mst-addon-master-attach {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
}

.mst-addon-master-attach .mst-btn .muted {
  font-weight: 600;
  opacity: 0.75;
}

.mst-cz-col-labels {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 5.5rem 2.2rem;
  gap: 0.35rem;
  font-size: 0.68rem;
  font-weight: 750;
  color: var(--muted, #5f7169);
  padding: 0 0.1rem;
}

.mst-topping-group .mst-recipe-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 5.5rem 2.2rem;
  gap: 0.35rem;
  align-items: center;
}

.mst-cat-cell {
  display: flex;
  flex-direction: column;
  gap: 0.08rem;
  min-width: 0;
  line-height: 1.2;
}

.mst-cat-cell strong {
  font-size: 0.82rem;
  font-weight: 800;
  color: var(--ink, #12201c);
}

.mst-cat-cell span {
  font-size: 0.72rem;
  font-weight: 650;
  color: var(--muted, #5f7169);
}

.mst-type-pill {
  display: inline-flex;
  align-items: center;
  font-size: 0.68rem;
  font-weight: 800;
  border-radius: 999px;
  padding: 0.16rem 0.45rem;
}

.mst-type-pill.main {
  color: #0f766e;
  background: #d8ebe5;
}

.mst-type-pill.sub {
  color: #0369a1;
  background: #e0f2fe;
}

/* Menu details (products) — stable height on cold refresh + readable category tree */
html:has(.zk-products),
body:has(.zk-products),
#root:has(.zk-products) {
  height: 100%;
  overflow: hidden;
}

.app-shell.settings-mode:has(.zk-products) {
  width: 100%;
  height: 100% !important;
  min-height: 100% !important;
  max-height: 100% !important;
  overflow: hidden !important;
  grid-template-columns: 1fr !important;
}

.app-shell.settings-mode:has(.zk-products) .main-stage {
  flex: 1 1 auto;
  width: 100%;
  height: 100% !important;
  min-height: 0 !important;
  max-height: none !important;
  padding: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
}

.app-shell.settings-mode .main-stage > .zk-products {
  flex: 1 1 auto !important;
  width: 100% !important;
  min-width: 0 !important;
  height: 100% !important;
  min-height: 0 !important;
  max-height: none !important;
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
  grid-template-rows: none !important;
}

.zk-products > .zk-hub-top,
.zk-products > .zk-products-bar,
.zk-products > .zk-products-lead,
.zk-products > .zk-products-search {
  flex-shrink: 0;
}

.zk-products > .zk-hub-top {
  position: sticky;
  top: 0;
  z-index: 20;
}

.zk-products > .zk-products-body {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  overflow: hidden !important;
  display: grid !important;
  grid-template-columns: minmax(220px, 280px) minmax(0, 1fr) !important;
  gap: 0.85rem;
  padding: 0.85rem 1rem 1rem;
}

.zk-products .zk-products-tree {
  min-width: 220px !important;
  width: auto !important;
  overflow: auto !important;
}

.zk-products .zk-products-list {
  min-width: 0 !important;
  overflow: auto !important;
}

.zk-products > .zk-hub-foot {
  flex-shrink: 0;
}

@media (max-width: 900px) {
  .zk-products > .zk-products-body {
    grid-template-columns: 1fr !important;
    overflow: auto !important;
  }

  .zk-products .zk-products-tree {
    min-width: 0 !important;
    max-height: 10rem;
  }
}

.mst-cz-enable-row {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem;
  margin-bottom: 0.35rem;
}

.mst-cz-enable-row .mst-hint {
  margin: 0.2rem 0 0;
  max-width: 28rem;
}

.zk-cz-in-products {
  margin: 0;
  padding: 0.25rem 0 0.5rem;
  background: transparent;
  border: 0;
}

.zk-cz-in-products .mst-input,
.zk-cz-in-products .search {
  width: 100%;
  box-sizing: border-box;
}

.zk-products-options-jump {
  appearance: none;
  display: block;
  width: 100%;
  margin-top: 0.65rem;
  text-align: start;
  cursor: pointer;
  font: inherit;
  font-size: 0.82rem;
  font-weight: 700;
  color: #0f766e;
  background: #e7f5f1;
  border: 1px solid #b7e0d5;
  border-radius: 10px;
  padding: 0.55rem 0.75rem;
}

.zk-products-options-jump:hover {
  background: #d8ebe5;
}

.zk-product-popular {
  position: absolute;
  top: 0.15rem;
  inset-inline-end: 0.15rem;
  z-index: 2;
  display: inline-grid;
  place-items: center;
  width: auto;
  height: auto;
  padding: 0;
  border: none;
  border-radius: 0;
  color: #e03131;
  background: transparent;
  box-shadow: none;
  filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.4));
  pointer-events: none;
}

.zk-product-popular svg {
  display: block;
  width: 1.65rem;
  height: 1.65rem;
}

.zk-product-card.has-photo .zk-product-popular {
  color: #fa5252;
  background: transparent;
  border: none;
}

/* Roles — Screens / Actions bulk select */
.zk-access-h-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.35rem 0.75rem;
  margin: 1.1rem 0 0.5rem;
}

.zk-access-h-row .zk-access-h {
  margin: 0;
}

.zk-access-bulk {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 0.35rem;
}

.zk-access-bulk-btn {
  appearance: none;
  margin: 0;
  padding: 0.28rem 0.65rem;
  border-radius: 999px;
  border: 1px solid color-mix(in srgb, var(--teal) 35%, var(--line));
  background: color-mix(in srgb, var(--teal-soft) 70%, #fff);
  color: var(--teal);
  font: inherit;
  font-size: 0.72rem;
  font-weight: 750;
  cursor: pointer;
}

@supports not (color: color-mix(in srgb, red 50%, blue)) {

.zk-access-bulk-btn {
  border: 1px solid #95b5ad;
  background: #e4f1ed;
}
}

.zk-access-bulk-btn:hover {
  background: var(--teal-soft);
  border-color: var(--teal);
}
/* Vendors — page scroll, unstick hero, compact search + action buttons */

@media (max-width: 1100px) {
  .app-shell:has(.zk-vnd) {
    height: 100% !important;
    max-height: 100dvh !important;
    overflow: hidden !important;
    grid-template-columns: 1fr !important;
  }

  .app-shell:has(.zk-vnd) .side-nav {
    display: none !important;
  }

  .app-shell:has(.zk-vnd) .main-stage {
    height: 100% !important;
    min-height: 0 !important;
    overflow: hidden !important;
  }

  .zk-vnd {
    height: 100% !important;
    min-height: 0 !important;
    overflow: hidden !important;
    display: flex !important;
    flex-direction: column !important;
  }

  .zk-vnd .zk-dash-header.zk-dash-header-bar {
    flex-shrink: 0 !important;
  }

  .zk-vnd > .vnd-page-inner {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
    touch-action: pan-y;
    padding-bottom: calc(7.25rem + env(safe-area-inset-bottom, 0px)) !important;
  }

  .zk-vnd > .zk-hub-foot {
    flex-shrink: 0 !important;
    position: fixed !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    z-index: 40 !important;
    margin-top: 0 !important;
    padding-bottom: env(safe-area-inset-bottom, 0px);
  }

  /* Hero scrolls with page — not sticky */
  .vnd-hero {
    position: relative !important;
    top: auto !important;
    z-index: 1 !important;
  }

  .vnd-main {
    overflow: visible !important;
  }

  .vnd-table-wrap {
    overflow-x: auto !important;
    overflow-y: visible !important;
    -webkit-overflow-scrolling: touch;
    touch-action: pan-x pan-y;
  }
}

@media (max-width: 720px) {
  .zk-vnd > .vnd-page-inner {
    margin: 0.45rem 0.5rem 0.35rem !important;
    gap: 0.65rem !important;
  }

  .vnd-hero {
    padding: 0.65rem 0.75rem !important;
    gap: 0.5rem !important;
  }

  .vnd-hero-brand h1 {
    font-size: 1rem !important;
  }

  .vnd-hero-brand p {
    font-size: 0.7rem !important;
  }

  .vnd-hero-mark {
    width: 2rem !important;
    height: 2rem !important;
  }

  .vnd-stat em {
    display: none;
  }

  .vnd-stat {
    padding: 0.32rem 0.35rem !important;
    font-size: 0.68rem !important;
    justify-content: center !important;
  }

  .vnd-hero-actions {
    grid-template-columns: 1fr 1fr !important;
    gap: 0.35rem !important;
  }

  .vnd-hero-actions .vnd-link-btn {
    justify-content: center !important;
    min-height: 2rem !important;
    padding: 0.3rem 0.4rem !important;
    font-size: 0.7rem !important;
    gap: 0.22rem !important;
    border-radius: 8px !important;
    line-height: 1.15 !important;
  }

  .vnd-hero-actions .vnd-link-btn.primary {
    grid-column: 1 / -1 !important;
    min-height: 2.15rem !important;
  }

  .vnd-hero-actions .vnd-link-btn .vnd-ico,
  .vnd-hero-actions .vnd-link-btn svg {
    width: 0.95rem !important;
    height: 0.95rem !important;
    flex-shrink: 0 !important;
  }

  .vnd-toolbar {
    gap: 0.45rem !important;
    margin-bottom: 0.65rem !important;
  }

  /* flex:200px grows tall in stacked toolbar */
  .vnd-search {
    flex: 0 0 auto !important;
    width: 100% !important;
    min-height: 40px !important;
    max-height: 40px !important;
    padding: 0 0.65rem !important;
  }

  .vnd-search input {
    min-height: 0 !important;
    padding: 0 !important;
    line-height: 1.25 !important;
  }

  .vnd-search .vnd-ico,
  .vnd-search svg {
    flex-shrink: 0 !important;
    width: 1.05rem !important;
    height: 1.05rem !important;
  }

  .vnd-filters {
    width: 100% !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 0.15rem !important;
  }

  .vnd-filter {
    flex: 0 0 auto !important;
    white-space: nowrap !important;
  }

  .vnd-pick,
  .vnd-sort {
    flex: 0 0 auto !important;
    width: 100% !important;
    min-height: 40px !important;
    max-height: 44px !important;
  }
}
/* CRM — keep customer table rows visible; page scrolls on narrow viewports */

/* Nested max-height + overflow inside flex/grid collapses the body on some widths */
.crm-table-wrap {
  max-height: none;
  overflow-x: auto;
  overflow-y: visible;
  -webkit-overflow-scrolling: touch;
  touch-action: pan-x pan-y;
}

.crm-board {
  min-height: auto;
  align-content: start;
}

.crm-table {
  min-width: 40rem;
}

.crm-table tbody tr {
  height: auto;
}

.crm-table th,
.crm-table td {
  height: auto;
  white-space: nowrap;
}

.crm-name-text strong,
.crm-name-text span {
  white-space: nowrap;
}

@media (max-width: 1100px) {
  .app-shell:has(.zk-crm-desk) {
    height: 100% !important;
    max-height: 100dvh !important;
    overflow: hidden !important;
  }

  .app-shell:has(.zk-crm-desk) .main-stage {
    height: 100% !important;
    min-height: 0 !important;
    overflow: hidden !important;
  }

  .zk-crm-desk {
    height: 100% !important;
    min-height: 0 !important;
    overflow: hidden !important;
    display: flex !important;
    flex-direction: column !important;
  }

  .zk-crm-desk .zk-dash-header {
    flex-shrink: 0 !important;
  }

  .zk-crm-desk > .crm-page-inner {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
    touch-action: pan-y;
    padding-bottom: calc(7.25rem + env(safe-area-inset-bottom, 0px)) !important;
  }

  .zk-crm-desk > .zk-hub-foot {
    flex-shrink: 0 !important;
    position: fixed !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    z-index: 40 !important;
    margin-top: 0 !important;
    padding-bottom: env(safe-area-inset-bottom, 0px);
  }

  .crm-hero {
    position: relative !important;
    top: auto !important;
    z-index: 1 !important;
  }

  .crm-table-wrap {
    max-height: none !important;
    overflow-x: auto !important;
    overflow-y: visible !important;
  }
}

@media (max-width: 768px) {
  .zk-crm-desk > .crm-page-inner {
    margin: 0.45rem 0.5rem 0.35rem !important;
    gap: 0.65rem !important;
  }

  .crm-board {
    padding: 0.75rem 0.7rem 0.85rem !important;
    gap: 0.7rem !important;
  }

  .crm-table {
    min-width: 36rem;
  }

  .crm-table th,
  .crm-table td {
    padding: 0.55rem 0.5rem !important;
    font-size: 0.82rem;
  }

  .crm-avatar {
    width: 1.85rem !important;
    height: 1.85rem !important;
    font-size: 0.78rem !important;
  }

  .crm-stat em {
    display: none;
  }

  .crm-toolbar {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .crm-count {
    justify-self: start;
  }

  .crm-add-btn {
    width: 100%;
  }
}
/* Payments / settle queue — keep app sidebar; fix header; page scroll; mobile cards */

/* Don’t hide .side-nav — desktop uses the 92px rail; ≤720px uses the top icon bar from mesa-base */

.app-shell:has(.zk-pay) .main-stage {
  background: #eef3f0 !important;
  flex-direction: column !important;
  padding: 0 !important;
  display: flex !important;
  overflow: hidden !important;
  min-height: 0 !important;
}

.zk-pay {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  height: 100% !important;
  max-height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  grid-template-rows: none !important;
  overflow: hidden !important;
}

/* Full-bleed header — no inset margin that clips brand on narrow screens */
.zk-pay .zk-dash-header.zk-dash-header-bar {
  flex-shrink: 0 !important;
  margin: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  border-radius: 0 !important;
  min-width: 0 !important;
}

.zk-pay .zk-dash-brand {
  min-width: 0 !important;
  overflow: hidden !important;
}

.zk-pay .zk-dash-brand strong {
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

.zk-pay > .pay-page {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  height: auto !important;
  max-height: none !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
  touch-action: pan-y;
  display: flex !important;
  flex-direction: column !important;
  grid-template-columns: 1fr !important;
  margin: 0.55rem 0.65rem 0.35rem !important;
  padding-bottom: 0.5rem !important;
}

.zk-pay > .zk-hub-foot {
  flex-shrink: 0 !important;
  position: relative !important;
  left: auto !important;
  right: auto !important;
  bottom: auto !important;
  z-index: 20 !important;
  margin-top: 0 !important;
  width: 100% !important;
  align-items: center !important;
  padding: 0.7rem 1.5rem calc(0.7rem + env(safe-area-inset-bottom, 0px)) !important;
  box-sizing: border-box !important;
}

.pay-desk {
  flex: 0 0 auto !important;
  min-height: 0 !important;
  height: auto !important;
  overflow: visible !important;
  display: flex !important;
  flex-direction: column !important;
}

.pay-queue {
  flex: 0 0 auto !important;
  min-height: 0 !important;
  max-height: none !important;
  overflow: visible !important;
  overscroll-behavior: auto !important;
  touch-action: pan-y;
}

.pay-rail {
  flex: 0 0 auto !important;
  min-height: 0 !important;
  max-height: none !important;
  overflow: visible !important;
}

.pay-list {
  overflow: visible !important;
}

.pay-list-head {
  position: static !important;
}

@media (max-width: 860px) {
  .pay-desk-head {
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 0.55rem !important;
  }

  .pay-cashier {
    align-self: flex-start !important;
    font-size: 0.75rem !important;
    padding: 0.35rem 0.6rem !important;
  }

  .pay-list-head {
    display: none !important;
  }

  .pay-list {
    display: flex !important;
    flex-direction: column !important;
    gap: 0.55rem !important;
    border: 0 !important;
    background: transparent !important;
    overflow: visible !important;
  }

  .pay-list-row {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    grid-template-areas:
      'title badge'
      'meta meta'
      'amount amount'
      'actions actions' !important;
    gap: 0.4rem 0.65rem !important;
    padding: 0.8rem 0.85rem !important;
    border: 1px solid var(--line) !important;
    border-radius: 12px !important;
    border-inline-start-width: 3px !important;
    background: #fff !important;
    min-width: 0 !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }

  .pay-list-title {
    grid-area: title !important;
    min-width: 0 !important;
    font-size: 0.95rem !important;
  }

  .pay-list-meta {
    grid-area: meta !important;
    min-width: 0 !important;
    overflow-wrap: anywhere;
  }

  .pay-list-row .pay-badge {
    grid-area: badge !important;
    justify-self: end !important;
    max-width: 100%;
  }

  .pay-list-amount {
    grid-area: amount !important;
    text-align: start !important;
    font-size: 1.05rem !important;
  }

  .pay-list-actions {
    grid-area: actions !important;
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: stretch !important;
    align-items: stretch !important;
    gap: 0.4rem !important;
    width: 100% !important;
    min-width: 0 !important;
  }

  .pay-list-actions .btn,
  .pay-list-actions .pay-action-btn {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    justify-content: center !important;
    white-space: nowrap !important;
    min-height: 2.35rem !important;
    padding: 0.4rem 0.55rem !important;
    font-size: 0.82rem !important;
  }
}

@media (max-width: 720px) {
  .zk-pay > .pay-page {
    margin: 0.4rem 0.45rem 0.25rem !important;
    border-radius: 12px !important;
  }

  .pay-desk-head {
    padding: 0.75rem 0.75rem 0.6rem !important;
  }

  .pay-desk-head h2 {
    font-size: 1.05rem !important;
  }

  .pay-sub {
    font-size: 0.82rem !important;
  }

  .pay-queue {
    padding: 0.65rem 0.65rem 0.85rem !important;
  }

  .pay-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .pay-metric {
    padding: 0.55rem 0.65rem !important;
    gap: 0.4rem !important;
    min-width: 0 !important;
  }

  .pay-metric > div {
    min-width: 0 !important;
  }

  .pay-metric strong {
    font-size: 0.95rem !important;
    overflow-wrap: anywhere;
  }

  .pay-metric span {
    font-size: 0.7rem !important;
  }

  .pay-metric-ico {
    width: 1.7rem !important;
    height: 1.7rem !important;
  }

  .pay-list-row {
    padding: 0.7rem 0.75rem !important;
  }

  .pay-list-actions .btn,
  .pay-list-actions .pay-action-btn {
    flex: 1 1 calc(50% - 0.2rem) !important;
  }

  .pay-rail {
    padding: 0.85rem 0.75rem !important;
    gap: 0.75rem !important;
  }

  .pay-floor-btn {
    width: 100% !important;
    justify-content: center !important;
  }
}

@media (max-width: 380px) {
  .pay-list-actions .btn,
  .pay-list-actions .pay-action-btn {
    flex: 1 1 100% !important;
  }
}

/* ---- Metric cards: color, icons, alignment ---- */
.zk-pay .pay-metrics {
  gap: 0.55rem !important;
  padding: 0.65rem 0.75rem !important;
  border-block: none !important;
  background: transparent !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

.zk-pay .pay-metric {
  display: flex !important;
  align-items: center !important;
  gap: 0.65rem !important;
  min-width: 0 !important;
  padding: 0.75rem 0.85rem !important;
  border: 1px solid #e2eae5 !important;
  border-inline-end: 1px solid #e2eae5 !important;
  border-radius: 14px !important;
  background: #fff !important;
  box-shadow: 0 4px 14px rgba(18, 32, 28, 0.04);
}

.zk-pay .pay-metric > div {
  display: flex;
  flex-direction: column;
  gap: 0.12rem;
  min-width: 0;
}

.zk-pay .pay-metric strong {
  margin: 0;
  font-family: var(--font-display);
  font-size: 1.15rem;
  font-weight: 750;
  line-height: 1.15;
  color: var(--ink);
  font-variant-numeric: tabular-nums;
}

.zk-pay .pay-metric span:not(.pay-metric-ico) {
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 700;
  line-height: 1.25;
}

.zk-pay .pay-metric-ico {
  width: 2.35rem !important;
  height: 2.35rem !important;
  border-radius: 11px !important;
  place-items: center;
  display: grid;
  flex-shrink: 0;
}

.zk-pay .pay-metric-ico .pay-ico {
  width: 1.15rem;
  height: 1.15rem;
}

.zk-pay .pay-metric.tone-ready .pay-metric-ico {
  color: #1f7a45;
  background: #e6f6ec;
}

.zk-pay .pay-metric.tone-dining .pay-metric-ico {
  color: #1f6b5c;
  background: #d8ebe5;
}

.zk-pay .pay-metric.tone-takeaway .pay-metric-ico {
  color: #1971c2;
  background: #e7f1fb;
}

.zk-pay .pay-metric.tone-total,
.zk-pay .pay-metric.highlight {
  background: linear-gradient(145deg, #f3faf7 0%, #e7f3ee 100%) !important;
  border-color: color-mix(in srgb, var(--teal) 28%, #e2eae5) !important;
}

@supports not (color: color-mix(in srgb, red 50%, blue)) {

.zk-pay .pay-metric.tone-total,
.zk-pay .pay-metric.highlight {
  border-color: #abc6bf !important;
}
}

.zk-pay .pay-metric.tone-total .pay-metric-ico,
.zk-pay .pay-metric.highlight .pay-metric-ico {
  color: #0b3d2e;
  background: #cfe6dc;
}

.zk-pay .pay-metric.tone-total strong {
  color: var(--teal);
  font-size: 1.05rem;
}

/* ---- Settle methods ---- */
.zk-pay .pay-rail-copy h2 {
  font-size: 1.1rem;
}

.zk-pay .pay-methods {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 0.45rem !important;
}

.zk-pay .pay-methods .pay-method {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.5rem !important;
  min-height: 2.55rem;
  padding: 0.55rem 0.7rem !important;
  border-radius: 11px !important;
  border: 1px solid #e0e8e3 !important;
  background: #fff !important;
  color: var(--ink) !important;
  font-size: 0.8rem !important;
  font-weight: 700 !important;
  box-shadow: 0 2px 8px rgba(18, 32, 28, 0.03);
}

.zk-pay .pay-methods .pay-method .pay-ico {
  width: 1.1rem !important;
  height: 1.1rem !important;
  flex-shrink: 0;
}

.zk-pay .pay-method.tone-cash .pay-ico { color: #1f7a45; }
.zk-pay .pay-method.tone-mada .pay-ico { color: #0b3d2e; }
.zk-pay .pay-method.tone-card .pay-ico { color: #1971c2; }
.zk-pay .pay-method.tone-wallet .pay-ico { color: #5c7cfa; }
.zk-pay .pay-method.tone-stc .pay-ico { color: #c45c26; }
.zk-pay .pay-method.tone-split .pay-ico { color: #862e9c; }

.zk-pay .pay-empty {
  border: 1px dashed #cfd8d2;
  border-radius: 14px;
  background: #f7faf8;
  margin: 0.35rem 0;
  padding: 1.5rem 1rem;
}

.zk-pay .pay-section-empty {
  display: grid;
  justify-items: center;
  gap: 0.35rem;
  margin: 0.15rem 0 0.35rem;
  padding: 1.35rem 1rem;
  border: 1px dashed #d5ddd8;
  border-radius: 12px;
  background: #f8faf9;
  text-align: center;
  color: #6b7c74;
}

.zk-pay .pay-section-empty .pay-ico {
  width: 1.55rem;
  height: 1.55rem;
  color: #9aa8a1;
  margin-bottom: 0.15rem;
}

.zk-pay .pay-section-empty strong {
  font-size: 0.95rem;
  font-weight: 800;
  color: #2f3d37;
}

.zk-pay .pay-section-empty span {
  max-width: 28rem;
  font-size: 0.82rem;
  line-height: 1.4;
}

.zk-pay .pay-guide li:before {
  border-radius: 999px !important;
}

@media (max-width: 1100px) {
  .zk-pay > .pay-page {
    grid-template-columns: 1fr !important;
  }

  .zk-pay .pay-rail {
    border-inline-start: 0 !important;
    border-top: 1px solid var(--line) !important;
  }
}

@media (max-width: 860px) {
  .zk-pay .pay-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 720px) {
  .zk-pay .pay-metrics {
    grid-template-columns: 1fr 1fr !important;
    gap: 0.45rem !important;
    padding: 0.55rem !important;
  }

  .zk-pay .pay-metric {
    padding: 0.65rem 0.7rem !important;
    gap: 0.5rem !important;
  }

  .zk-pay .pay-metric-ico {
    width: 2rem !important;
    height: 2rem !important;
    border-radius: 9px !important;
  }

  .zk-pay .pay-metric strong {
    font-size: 1rem !important;
  }

  .zk-pay .pay-methods {
    grid-template-columns: 1fr !important;
  }

  .zk-pay .pay-methods .pay-method {
    width: 100%;
    justify-content: flex-start;
  }

  .zk-pay .pay-rail {
    padding: 0.85rem 0.75rem 1rem !important;
  }
}

@media (max-width: 420px) {
  .zk-pay .pay-metrics {
    grid-template-columns: 1fr !important;
  }
}

/* ---- Settle / split bill (overrides + UX) ---- */
.settle-remain.over {
  color: #9b1c1c;
  background: linear-gradient(180deg, #fff1f0, #fde8e6);
  border: 1px solid #f0b8b4;
  box-shadow: inset 0 0 0 1px #fff8f7;
}

.settle-remain-copy {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.4rem 0.55rem;
  min-width: 0;
  line-height: 1.3;
}

.settle-over-badge {
  display: inline-flex;
  align-items: center;
  padding: 0.18rem 0.55rem;
  border-radius: 999px;
  background: #c62828;
  color: #fff;
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.settle-split-summary {
  margin: -0.25rem 0 0;
  color: var(--muted, #5f7169);
  font-size: 0.8rem;
  font-weight: 650;
}

.settle-split-summary strong {
  color: var(--ink, #12201c);
}

.settle-split-hint {
  margin: 0;
  padding: 0.65rem 0.75rem;
  border-radius: 10px;
  background: #f4f7f5;
  color: var(--muted, #5f7169);
  font-size: 0.8rem;
  font-weight: 650;
}

.settle-split-fill {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
}

.settle-split-fill button {
  appearance: none;
  margin: 0;
  padding: 0.35rem 0.7rem;
  border: 1px dashed #c5d0c8;
  border-radius: 999px;
  background: #fff;
  color: var(--teal, #1f6b5c);
  font: inherit;
  font-size: 0.75rem;
  font-weight: 750;
  cursor: pointer;
}

.settle-split-fill button:hover:not(:disabled) {
  border-style: solid;
  border-color: var(--teal, #1f6b5c);
}

.settle-split-fill button:disabled,
.settle-split-rest button:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}

.settle-split-add {
  grid-template-columns: minmax(7.5rem, 1.35fr) minmax(5.5rem, 7.5rem) auto !important;
  align-items: center !important;
  gap: 0.5rem !important;
}

.settle-split-add > .mesa-select,
.settle-split-add > .mesa-select-field {
  min-width: 0;
  width: 100%;
  height: 100%;
}

.settle-split-add .mesa-select-trigger,
.settle-split-add .search,
.settle-split-add > .btn {
  box-sizing: border-box;
  min-height: 2.75rem;
  height: 2.75rem;
  margin: 0;
}

.settle-split-add .mesa-select-trigger {
  display: flex;
  align-items: center;
  width: 100%;
  padding-block: 0;
}

.settle-split-add .search {
  width: 100%;
  padding-block: 0 0;
  line-height: 1.2;
}

.settle-split-add > .btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding-inline: 1rem;
  white-space: nowrap;
}

.settle-pay-list li {
  gap: 0.5rem;
}

.settle-voucher-note {
  color: var(--teal);
  font-weight: 700;
}

.settle-voucher-chip {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.45rem 0.75rem;
  margin: 0.65rem 0 0;
  padding: 0.65rem 0.85rem;
  border-radius: 12px;
  border: 1.5px solid color-mix(in srgb, var(--teal) 55%, var(--line));
  background: linear-gradient(
    135deg,
    color-mix(in srgb, var(--teal-soft) 88%, #fff),
    color-mix(in srgb, var(--ok-soft) 70%, #fff)
  );
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--teal) 12%, transparent);
}

@supports not (color: color-mix(in srgb, red 50%, blue)) {

.settle-voucher-chip {
  border: 1.5px solid #719e94;
  background: linear-gradient(
    135deg,
    #ddede8,
    #e4f5eb
  );
  box-shadow: inset 0 0 0 1px rgba(31, 107, 92, 0.12);
}
}

.settle-voucher-chip-label {
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--teal);
}

.settle-voucher-chip strong {
  flex: 1 1 auto;
  font-size: 0.95rem;
  color: var(--ink);
}

.settle-voucher-chip-clear {
  border: 1px solid color-mix(in srgb, var(--teal) 35%, var(--line));
  background: #fff;
  color: var(--teal);
  border-radius: 999px;
  padding: 0.28rem 0.7rem;
  font-size: 0.8rem;
  font-weight: 600;
  cursor: pointer;
}

@supports not (color: color-mix(in srgb, red 50%, blue)) {

.settle-voucher-chip-clear {
  border: 1px solid #95b5ad;
}
}

.settle-voucher-chip-clear:hover {
  background: var(--teal-soft);
}

.settle-method-applied {
  box-shadow:
    0 0 0 2px color-mix(in srgb, var(--teal) 35%, transparent),
    0 8px 18px color-mix(in srgb, var(--teal) 22%, transparent);
  outline: 2px solid color-mix(in srgb, #fff 40%, transparent);
  outline-offset: -3px;
}

@supports not (color: color-mix(in srgb, red 50%, blue)) {

.settle-method-applied {
  box-shadow:
    0 0 0 2px rgba(31, 107, 92, 0.35),
    0 8px 18px rgba(31, 107, 92, 0.22);
  outline: 2px solid rgba(255, 255, 255, 0.4);
}
}

.fvp-info.is-applied {
  border-color: color-mix(in srgb, var(--teal) 55%, var(--line));
  background: linear-gradient(
    160deg,
    color-mix(in srgb, var(--teal-soft) 90%, #fff),
    #fff 55%
  );
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--teal) 18%, transparent);
}

@supports not (color: color-mix(in srgb, red 50%, blue)) {

.fvp-info.is-applied {
  border-color: #719e94;
  background: linear-gradient(
    160deg,
    #dcede8,
    #fff 55%
  );
  box-shadow: 0 0 0 2px rgba(31, 107, 92, 0.18);
}
}

.fvp-applied-tag {
  grid-column: 1 / -1;
  margin: 0.35rem 0 0;
  font-size: 0.8rem;
  font-weight: 700;
  color: var(--teal);
  letter-spacing: 0.02em;
}

@media (max-width: 520px) {
  .settle-split-add {
    grid-template-columns: 1fr !important;
  }

  .settle-split-add > .btn {
    width: 100%;
  }

  .settle-remain {
    flex-wrap: wrap;
    gap: 0.35rem 0.75rem;
  }
}

/* Flash toast — compact card, physical top-right */

.flash-toast-host {
  position: fixed;
  top: max(0.75rem, env(safe-area-inset-top, 0px));
  right: max(0.85rem, env(safe-area-inset-right, 0px));
  left: auto;
  z-index: 10050;
  pointer-events: none;
  width: fit-content;
  max-width: min(22rem, calc(100vw - 1.5rem));
  transform: none;
}

html[dir='rtl'] .flash-toast-host {
  right: auto;
  left: max(0.85rem, env(safe-area-inset-left, 0px));
}

.flash-toast-host.show .flash-toast {
  animation: flash-toast-in 0.28s cubic-bezier(0.22, 1, 0.36, 1) both;
}

.flash-toast-host.hide .flash-toast {
  animation: flash-toast-out 0.2s ease both;
}

.flash-toast {
  pointer-events: auto;
  box-sizing: border-box;
  width: fit-content;
  max-width: min(22rem, calc(100vw - 1.5rem));
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.7rem;
  padding: 0.7rem 0.75rem 0.7rem 0.8rem;
  border-radius: 16px;
  border: 1px solid transparent;
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.65) inset,
    0 10px 28px rgba(18, 32, 28, 0.14),
    0 2px 6px rgba(18, 32, 28, 0.06);
  cursor: pointer;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

.flash-toast.ok {
  color: #12201c;
  background: linear-gradient(165deg, #f4fbf6 0%, #e8f4ee 100%);
  border-color: color-mix(in srgb, var(--ok, #1f7a45) 28%, #cfe3d6);
}

@supports not (color: color-mix(in srgb, red 50%, blue)) {

.flash-toast.ok {
  border-color: #9ec6ad;
}
}

.flash-toast.err {
  color: #3b1410;
  background: linear-gradient(165deg, #fff8f7 0%, #fdeceb 100%);
  border-color: color-mix(in srgb, var(--danger, #b42318) 28%, #f0c2bc);
}

@supports not (color: color-mix(in srgb, red 50%, blue)) {

.flash-toast.err {
  border-color: #df958e;
}
}

.flash-toast-icon {
  width: 2.15rem;
  height: 2.15rem;
  border-radius: 999px;
  display: grid;
  place-items: center;
  flex-shrink: 0;
  box-shadow: 0 1px 2px rgba(18, 32, 28, 0.08);
}

.flash-toast-icon svg {
  width: 1.1rem;
  height: 1.1rem;
}

.flash-toast.ok .flash-toast-icon {
  background: #1f7a45;
  color: #fff;
}

.flash-toast.err .flash-toast-icon {
  background: #b42318;
  color: #fff;
}

.flash-toast-copy {
  min-width: 0;
  display: grid;
  gap: 0.1rem;
}

.flash-toast-kicker {
  margin: 0;
  font-size: 0.68rem;
  font-weight: 750;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  opacity: 0.72;
}

.flash-toast.ok .flash-toast-kicker {
  color: #1f7a45;
}

.flash-toast.err .flash-toast-kicker {
  color: #b42318;
}

.flash-toast-copy strong {
  display: block;
  margin: 0;
  font-family: var(--font-body, inherit);
  font-size: 0.9rem;
  font-weight: 700;
  line-height: 1.35;
  word-break: break-word;
  color: inherit;
}

.flash-toast-copy p {
  margin: 0;
  font-size: 0.82rem;
  font-weight: 600;
  line-height: 1.35;
  opacity: 0.78;
  word-break: break-word;
}

.flash-toast-close {
  appearance: none;
  border: 0;
  margin: 0;
  padding: 0;
  width: 1.85rem;
  height: 1.85rem;
  border-radius: 999px;
  background: rgba(18, 32, 28, 0.06);
  color: #5f7169;
  font-size: 1.15rem;
  line-height: 1;
  cursor: pointer;
  display: grid;
  place-items: center;
  flex-shrink: 0;
}

.flash-toast.err .flash-toast-close {
  background: rgba(180, 35, 24, 0.08);
  color: #8a2b22;
}

.flash-toast-close:hover {
  background: rgba(18, 32, 28, 0.12);
  color: #12201c;
}

@keyframes flash-toast-in {
  from {
    opacity: 0;
    transform: translateX(0.85rem) scale(0.98);
  }
  to {
    opacity: 1;
    transform: none;
  }
}

@keyframes flash-toast-out {
  from {
    opacity: 1;
    transform: none;
  }
  to {
    opacity: 0;
    transform: translateX(0.55rem) scale(0.98);
  }
}

html[dir='rtl'] .flash-toast-host.show .flash-toast {
  animation-name: flash-toast-in-rtl;
}

html[dir='rtl'] .flash-toast-host.hide .flash-toast {
  animation-name: flash-toast-out-rtl;
}

@keyframes flash-toast-in-rtl {
  from {
    opacity: 0;
    transform: translateX(-0.85rem) scale(0.98);
  }
  to {
    opacity: 1;
    transform: none;
  }
}

@keyframes flash-toast-out-rtl {
  from {
    opacity: 1;
    transform: none;
  }
  to {
    opacity: 0;
    transform: translateX(-0.55rem) scale(0.98);
  }
}

@media (max-width: 960px) {
  .flash-toast-host {
    top: auto;
    bottom: calc(max(0.85rem, env(safe-area-inset-bottom, 0px)) + 3.5rem);
    right: max(0.65rem, env(safe-area-inset-right, 0px));
    left: auto;
    max-width: min(20rem, calc(100vw - 1.25rem));
  }

  html[dir='rtl'] .flash-toast-host {
    right: auto;
    left: max(0.65rem, env(safe-area-inset-left, 0px));
  }

  .flash-toast {
    max-width: min(20rem, calc(100vw - 1.25rem));
  }

  .flash-toast-host.show .flash-toast {
    animation-name: flash-toast-in-mobile;
  }

  .flash-toast-host.hide .flash-toast {
    animation-name: flash-toast-out-mobile;
  }
}

@keyframes flash-toast-in-mobile {
  from {
    opacity: 0;
    transform: translateY(0.7rem) scale(0.98);
  }
  to {
    opacity: 1;
    transform: none;
  }
}

@keyframes flash-toast-out-mobile {
  from {
    opacity: 1;
    transform: none;
  }
  to {
    opacity: 0;
    transform: translateY(0.45rem) scale(0.98);
  }
}

/* Legacy modal styles — keep hidden if old class names linger */
.flash-popup {
  display: none !important;
}
/* Editable quantity stepper — shared across POS ticket modules */

.qty-controls {
  align-items: center;
  gap: 0.35rem;
  display: inline-flex;
}

.qty-controls button {
  width: 1.75rem;
  height: 1.75rem;
  box-shadow: none;
  background: var(--teal-soft);
  color: var(--teal);
  border: 0;
  border-radius: 999px;
  font: inherit;
  font-size: 1rem;
  font-weight: 800;
  line-height: 1;
  cursor: pointer;
  display: grid;
  place-items: center;
  padding: 0;
  flex-shrink: 0;
}

.qty-controls button:hover:not(:disabled) {
  background: color-mix(in srgb, var(--teal) 22%, #fff);
}

@supports not (color: color-mix(in srgb, red 50%, blue)) {

.qty-controls button:hover:not(:disabled) {
  background: #cededb;
}
}

.qty-controls button:disabled {
  opacity: 0.4;
  cursor: not-allowed;
}

.qty-controls .qty-input {
  width: 2.35rem;
  min-width: 2.35rem;
  height: 1.75rem;
  padding: 0 0.15rem;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  color: var(--ink);
  font: inherit;
  font-size: 0.88rem;
  font-weight: 800;
  text-align: center;
  appearance: textfield;
  -moz-appearance: textfield;
}

.qty-controls .qty-input:focus {
  outline: none;
  border-color: var(--teal);
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--teal) 22%, transparent);
}

@supports not (color: color-mix(in srgb, red 50%, blue)) {

.qty-controls .qty-input:focus {
  box-shadow: 0 0 0 2px rgba(31, 107, 92, 0.22);
}
}

.qty-controls .qty-input:disabled {
  opacity: 0.55;
  cursor: not-allowed;
  background: var(--surface-2);
}

.qty-controls .qty-input::-webkit-outer-spin-button,
.qty-controls .qty-input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

/* Quick Serve line qty — match compact card layout */
.zk-qs .qs-line-qty.qty-controls button {
  width: 1.75rem;
  height: 1.75rem;
}

.zk-qs .qs-line-qty.qty-controls .qty-input {
  width: 2.5rem;
  min-width: 2.5rem;
  height: 1.85rem;
  font-size: 0.9rem;
}

@media (max-width: 960px) {
  .qty-controls button {
    width: 2rem;
    height: 2rem;
  }

  .qty-controls .qty-input {
    width: 2.65rem;
    min-width: 2.65rem;
    height: 2rem;
    font-size: 16px;
  }

  .zk-qs .qs-line-qty.qty-controls button {
    width: 2rem;
    height: 2rem;
  }

  .zk-qs .qs-line-qty.qty-controls .qty-input {
    width: 2.75rem;
    min-width: 2.75rem;
    height: 2rem;
  }
}

/* Dine-in order table — qty column wide enough for stepper */
.dine-order-head {
  grid-template-columns: minmax(0, 1fr) 7.25rem 4.75rem 3.25rem !important;
}

.dine-order-table th:nth-child(2),
.dine-order-table td:nth-child(2) {
  width: 7.25rem !important;
  min-width: 7.25rem;
  max-width: 7.25rem;
  padding-inline: 0.25rem !important;
  overflow: visible;
}

.dine-order-table th:nth-child(3),
.dine-order-table td:nth-child(3) {
  width: 4.75rem !important;
  min-width: 4.75rem;
}

.dine-order-table .qty-controls,
.dine-order-table td.num .qty-controls {
  justify-content: center !important;
  width: 100%;
  max-width: 100%;
}

.dine-order-table .qty-controls.dine-qty {
  gap: 0.25rem;
}

.dine-order-table .qty-controls.dine-qty button {
  width: 1.45rem;
  height: 1.45rem;
  font-size: 0.85rem;
}

.dine-order-table .qty-controls.dine-qty .qty-input {
  width: 2rem;
  min-width: 2rem;
  height: 1.45rem;
  font-size: 0.8rem;
  padding: 0 0.1rem;
}

.dine-line-note-row {
  display: flex;
  align-items: flex-start;
  gap: 0.4rem;
  margin-top: 0.28rem;
  max-width: 100%;
}

.dine-line-note {
  flex: 1 1 auto;
  min-width: 0;
  font-size: 0.72rem;
  line-height: 1.3;
  color: #5c6b66;
  font-weight: 600;
}

.dine-line-note.muted {
  color: #94a3b8;
  font-weight: 500;
}

.dine-line-note-btn {
  flex: 0 0 auto;
  margin: 0;
  padding: 0.15rem 0.45rem;
  border-radius: 6px;
  border: 1px solid #c5d0ca;
  background: #fff;
  color: #1f6b5c;
  font-size: 0.68rem;
  font-weight: 700;
  line-height: 1.2;
  cursor: pointer;
  white-space: nowrap;
}

.dine-line-note-btn:hover {
  background: #d8ebe5;
  border-color: #1f6b5c;
}

/* Note / text prompt suggestion chips */
.text-prompt-card .text-prompt-suggestions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  margin: 0.65rem 0 0.15rem;
}

.text-prompt-card .text-prompt-chip {
  margin: 0;
  padding: 0.35rem 0.7rem;
  border-radius: 999px;
  border: 1px solid #d5ddd8;
  background: #f4f7f5;
  color: #2a3b35;
  font: inherit;
  font-size: 0.78rem;
  font-weight: 650;
  line-height: 1.2;
  cursor: pointer;
  white-space: nowrap;
}

.text-prompt-card .text-prompt-chip:hover {
  background: #d8ebe5;
  border-color: #1f6b5c;
  color: #1f6b5c;
}

.text-prompt-card .text-prompt-chip.active {
  background: #1f6b5c;
  border-color: #1f6b5c;
  color: #fff;
}
/* Dine ticket popup — tablet side-by-side + phone bottom sheet */

.dine-order-sheet-handle {
  display: none;
}

.dine-order-sheet-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  flex-shrink: 0;
  padding: 0.15rem 0.1rem 0.45rem;
}

.dine-order-sheet-head strong {
  font-size: 0.98rem;
  font-weight: 800;
  color: #12201c;
}

.dine-order-clear {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  margin: 0;
  padding: 0.28rem 0.55rem;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: #5f7169;
  font: inherit;
  font-size: 0.78rem;
  font-weight: 700;
  cursor: pointer;
}

.dine-order-clear svg {
  width: 0.95rem;
  height: 0.95rem;
}

.dine-order-clear:hover:not(:disabled) {
  color: #b42318;
  background: #fdf2f0;
}

.dine-order-clear:disabled {
  opacity: 0.4;
  cursor: not-allowed;
}

.dine-order-sheet-body {
  display: flex;
  flex-direction: column;
  min-height: 0;
  flex: 1 1 auto;
}

.dine-order-cards {
  display: flex;
  flex-direction: column;
  gap: 0;
  min-height: 0;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  padding: 0 0.1rem 0.35rem;
}

.dine-order-item {
  display: flex;
  flex-direction: column;
  gap: 0.45rem;
  padding: 0.7rem 0.15rem;
  border-bottom: 1px solid #e4ebe7;
}

.dine-order-item:last-child {
  border-bottom: 0;
}

.dine-order-item-top {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  min-width: 0;
}

.dine-order-item-thumb {
  flex: 0 0 auto;
  width: 2.75rem;
  height: 2.75rem;
  border-radius: 10px;
  background: var(--teal-soft, #d8ebe5);
  color: var(--teal, #1f6b5c);
  overflow: hidden;
  display: grid;
  place-items: center;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: -0.02em;
  line-height: 1;
  user-select: none;
}

.dine-order-item-thumb.has-photo {
  background: #fff;
  border: 1px solid #d5ddd8;
  color: transparent;
}

.dine-order-item-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.dine-order-item-info {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 0.12rem;
}

.dine-order-item-name {
  font-size: 0.95rem;
  font-weight: 800;
  line-height: 1.2;
  color: #12201c;
  overflow-wrap: anywhere;
}

.dine-order-item-opts {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.28rem;
  margin: 0.15rem 0 0.05rem;
}

.dine-opt-badge {
  display: inline-flex;
  align-items: center;
  max-width: 100%;
  padding: 0.16rem 0.55rem;
  border-radius: 999px;
  font-size: 0.68rem;
  font-weight: 750;
  line-height: 1.25;
  letter-spacing: 0.01em;
  overflow-wrap: anywhere;
}

.dine-opt-badge.size {
  background: #1f6b5c;
  color: #fff;
}

.dine-opt-badge.addon {
  background: #e7f3ee;
  color: #1a5c4f;
  border: 1px solid #c5ddd4;
}

.dine-order-item-price {
  font-size: 0.8rem;
  font-weight: 700;
  color: #1f6b5c;
}

.dine-order-item-tax {
  font-size: 0.72rem;
  font-weight: 700;
  color: #3d5c52;
  line-height: 1.25;
}

.dine-order-item-tax em {
  font-style: normal;
  font-weight: 800;
  color: #1f6b5c;
}

.dine-order-item-tax.is-default {
  color: #6a7f76;
}

.dine-order-item-mid {
  display: flex;
  align-items: center;
  gap: 0.55rem;
}

.dine-order-item-total {
  flex: 1 1 auto;
  font-size: 0.92rem;
  font-weight: 800;
  color: #12201c;
  text-align: end;
  white-space: nowrap;
}

.dine-order-item .dine-void-btn {
  flex: 0 0 auto;
  margin: 0;
  padding: 0.28rem 0.7rem;
  border-radius: 999px;
  border: 1px solid #f0c2bc;
  background: #fdf2f0;
  color: #b42318;
  font-size: 0.72rem;
  font-weight: 750;
  cursor: pointer;
}

.dine-order-item-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.4rem;
}

.dine-order-item-status {
  font-size: 0.72rem;
  font-weight: 650;
  color: #8a5a10;
}

.dine-order-item-status.sent {
  color: #1f7a45;
}

.dine-order-item-note {
  margin: 0;
  padding: 0.4rem 0.6rem;
  border-radius: 10px;
  border: 1px dashed #c5d0ca;
  background: #f7faf8;
  color: #3d524a;
  font-size: 0.76rem;
  font-weight: 600;
  line-height: 1.35;
}

.dine-order-sheet-count {
  display: none;
}

.dine-ticket-popup .ticket-popup-order .totals .grand {
  margin-top: 0.25rem;
  padding: 0.55rem 0.65rem;
  border-radius: 12px;
  background: #e7f3ee;
}

.dine-ticket-popup .ticket-popup-order .totals .grand span {
  font-weight: 800;
}

/* Tax/totals update in place — no fade/remount flash on sync or qty change */
.dine-ticket-popup .ticket-popup-order .totals,
.dine-ticket-popup .ticket-popup-order .totals-vat-row,
.dine-ticket-popup .dine-order-item-tax {
  animation: none !important;
  transition: none !important;
}

/* ---- Tablet / desktop: large centered 3-pane popup ---- */
@media (min-width: 721px) {
  .ticket-backdrop.ticket-backdrop {
    overflow: hidden !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 1.5vh 1.25vw !important;
  }

  /* Beat mesa-base height/width caps (860px / 1400px) on large screens */
  .dine-ticket-popup.ticket-popup,
  .ticket-popup.dine-ticket-popup {
    width: min(98vw, 1680px) !important;
    max-width: 1680px !important;
    height: 94dvh !important;
    max-height: 96dvh !important;
    min-height: 0 !important;
    border-radius: 22px !important;
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
  }

  .dine-ticket-popup .dine-ticket-layout {
    display: grid !important;
    grid-template-columns: 7.6rem minmax(0, 1fr) !important;
    grid-template-rows: minmax(0, 1fr) !important;
    flex: 1 1 auto !important;
    min-height: 0 !important;
    gap: 0.55rem !important;
    padding: 0.55rem 0.65rem 0.65rem !important;
    overflow: hidden !important;
  }

  .dine-ticket-popup .dine-ticket-actions {
    display: grid !important;
  }

  .dine-ticket-popup .ticket-popup-body {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(320px, 380px) !important;
    grid-template-rows: none !important;
    min-height: 0 !important;
    height: 100% !important;
    overflow: hidden !important;
  }

  .dine-ticket-popup .ticket-popup-menu {
    min-height: 0 !important;
    overflow: hidden !important;
    display: flex !important;
    flex-direction: column !important;
  }

  .dine-ticket-popup .ticket-popup-menu .mp-root {
    min-height: 0;
    flex: 1 1 auto;
    overflow: hidden;
  }

  .dine-ticket-popup .ticket-popup-order {
    position: static !important;
    min-height: 0 !important;
    height: 100% !important;
    max-height: none !important;
    overflow: hidden !important;
    display: flex !important;
    flex-direction: column !important;
    background: #fff;
    border-inline-start: 1px solid var(--line, #d5ddd8);
    border-radius: 0 !important;
    box-shadow: none !important;
  }

  .dine-ticket-popup .dine-order-sheet-body {
    flex: 1 1 auto;
    min-height: 0;
    overflow: hidden;
    display: flex;
    flex-direction: column;
  }

  .dine-ticket-popup .dine-order-panel {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    overflow: hidden !important;
    display: flex !important;
    flex-direction: column !important;
  }

  .dine-ticket-popup .dine-order-cards {
    flex: 1 1 auto;
    min-height: 0;
  }

  .dine-ticket-popup .ticket-popup-order .ticket-footer {
    flex-shrink: 0;
    overflow: auto;
    max-height: 48%;
  }

  .dine-order-sheet-handle {
    display: none !important;
  }
}

/* Wide desktop: fill almost the whole viewport like the design mock */
@media (min-width: 1100px) {
  .ticket-backdrop.ticket-backdrop {
    padding: 1.25vh 1vw !important;
  }

  .dine-ticket-popup.ticket-popup,
  .ticket-popup.dine-ticket-popup {
    width: min(98.5vw, 1760px) !important;
    max-width: 1760px !important;
    height: 95dvh !important;
    max-height: 97dvh !important;
  }

  .dine-ticket-popup .ticket-popup-body {
    grid-template-columns: minmax(0, 1fr) minmax(340px, 400px) !important;
  }
}

/* Narrow tablet: keep side-by-side, hide left rail to save space */
@media (min-width: 721px) and (max-width: 980px) {
  .dine-ticket-popup .dine-ticket-layout {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .dine-ticket-popup .dine-ticket-actions {
    display: none !important;
  }

  .dine-ticket-popup .ticket-popup-body {
    grid-template-columns: minmax(0, 1.1fr) minmax(280px, 340px) !important;
  }
}

/* ---- Phone only: menu + scrollable bottom sheet ---- */
@media (max-width: 720px) {
  .ticket-backdrop.ticket-backdrop {
    padding: 0 !important;
    align-items: stretch !important;
    justify-content: stretch !important;
    overflow: hidden !important;
  }

  .dine-ticket-popup.ticket-popup {
    width: 100vw !important;
    max-width: 100vw !important;
    height: 100dvh !important;
    max-height: 100dvh !important;
    min-height: 100dvh !important;
    margin: 0 !important;
    border-radius: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
  }

  .dine-ticket-popup .dine-ticket-layout {
    display: flex !important;
    flex-direction: column !important;
    grid-template-columns: none !important;
    grid-template-rows: none !important;
    flex: 1 1 auto !important;
    min-height: 0 !important;
    gap: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
  }

  .dine-ticket-popup .dine-ticket-actions {
    display: none !important;
  }

  .dine-ticket-popup .ticket-popup-body {
    display: flex !important;
    flex-direction: column !important;
    grid-template-columns: none !important;
    grid-template-rows: none !important;
    flex: 1 1 auto !important;
    min-height: 0 !important;
    height: auto !important;
    overflow: hidden !important;
    position: relative;
  }

  .dine-ticket-popup .ticket-popup-menu {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    overflow: hidden !important;
    border: 0 !important;
    padding: 0.35rem 0.45rem calc(38dvh + 0.5rem) !important;
    display: flex !important;
    flex-direction: column !important;
  }

  .dine-ticket-popup .ticket-popup-menu .mp-root {
    flex: 1 1 auto;
    min-height: 0;
    overflow: hidden;
    display: flex;
    flex-direction: column;
  }

  .dine-ticket-popup .ticket-popup-menu .mp-body {
    display: flex !important;
    flex-direction: column !important;
    grid-template-columns: none !important;
    flex: 1 1 auto;
    min-height: 0;
    overflow: hidden;
  }

  .dine-ticket-popup .ticket-popup-menu .mp-nav {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center;
    gap: 0.35rem;
    max-height: none !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    border-right: 0 !important;
    border-bottom: 1px solid #d5ddd8;
    background: #fff;
    padding: 0.35rem 0.15rem 0.5rem;
    flex-shrink: 0;
    -webkit-overflow-scrolling: touch;
  }

  .dine-ticket-popup .ticket-popup-menu .mp-nav-split {
    display: none;
  }

  .dine-ticket-popup .ticket-popup-menu .mp-nav-block {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    gap: 0.35rem;
    flex-shrink: 0;
  }

  .dine-ticket-popup .ticket-popup-menu .mp-nav-subs {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    gap: 0.3rem;
  }

  .dine-ticket-popup .ticket-popup-menu .mp-main-btn,
  .dine-ticket-popup .ticket-popup-menu .mp-sub-btn {
    flex-shrink: 0;
    white-space: nowrap;
    border-radius: 999px;
    padding: 0.4rem 0.7rem;
  }

  .dine-ticket-popup .ticket-popup-menu .mp-items {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 0.5rem;
  }

  .dine-ticket-popup .ticket-popup-order {
    position: absolute !important;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 5;
    height: 38dvh !important;
    max-height: 38dvh !important;
    min-height: 11rem;
    margin: 0 !important;
    padding: 0.15rem 0.55rem calc(0.45rem + env(safe-area-inset-bottom, 0px)) !important;
    border: 0 !important;
    border-radius: 18px 18px 0 0 !important;
    background: #fff !important;
    box-shadow: 0 -10px 32px rgba(18, 32, 28, 0.16);
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
    transition: height 0.22s ease, max-height 0.22s ease;
  }

  .dine-ticket-popup .ticket-popup-order.is-expanded,
  .dine-ticket-popup.sheet-expanded .ticket-popup-order {
    height: min(82dvh, 720px) !important;
    max-height: 82dvh !important;
  }

  .dine-ticket-popup.sheet-expanded .ticket-popup-menu {
    padding-bottom: calc(82dvh + 0.5rem) !important;
  }

  .dine-order-sheet-handle {
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 1.15rem;
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    cursor: pointer;
    flex-shrink: 0;
  }

  .dine-order-sheet-handle::before {
    content: '';
    width: 2.4rem;
    height: 0.28rem;
    border-radius: 999px;
    background: #c5d0ca;
  }

  .dine-ticket-popup .dine-order-sheet-head {
    flex-shrink: 0;
  }

  /* ONE scroll area: items + totals + all action buttons */
  .dine-ticket-popup .dine-order-sheet-body {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
    display: flex !important;
    flex-direction: column !important;
  }

  .dine-ticket-popup .dine-order-panel {
    flex: 0 0 auto !important;
    min-height: 0 !important;
    overflow: visible !important;
    max-height: none !important;
  }

  .dine-ticket-popup .dine-order-cards {
    flex: 0 0 auto !important;
    overflow: visible !important;
    max-height: none !important;
  }

  .dine-ticket-popup .ticket-popup-order .ticket-footer {
    flex: 0 0 auto !important;
    max-height: none !important;
    overflow: visible !important;
    padding: 0.45rem 0 0.25rem;
    border-top: 1px solid #d5ddd8;
  }

  .dine-ticket-popup .ticket-popup-order .totals .grand {
    background: #e7f3ee;
  }

  .dine-ticket-popup .ticket-popup-order .action-row-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 0.4rem !important;
  }

  .dine-ticket-popup .ticket-popup-order .action-row-3 .btn {
    min-height: 2.75rem;
    font-size: 0.76rem;
    padding: 0.45rem 0.3rem;
  }
}


/* Merged table status (source after merge — not free) */
.status-pill.merged {
  color: #fff;
  background: #5c4d7a;
}
.dine-stat-pill.merged {
  color: #5c4d7a;
  background: #efeaf6;
}
.dine-stat-pill.merged i {
  background: #5c4d7a;
}
.table-tile.merged,
.dine-table-tile.merged {
  border-color: color-mix(in srgb, #5c4d7a 45%, var(--line, #d5ddd8));
  background: linear-gradient(165deg, #faf8fc, #efeaf6);
}
@supports not (color: color-mix(in srgb, red 50%, blue)) {
.table-tile.merged,
.dine-table-tile.merged {
  border-color: #9f9cae;
}
}


/* Merge / transfer pick — area sections */
.dine-pick-areas {
  display: grid;
  gap: 0.85rem;
}
.dine-pick-area {
  display: grid;
  gap: 0.45rem;
}
.dine-pick-area-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 0.5rem;
  padding: 0.15rem 0.1rem;
  border-bottom: 1px solid #e4ebe7;
}
.dine-pick-area-head h3 {
  margin: 0;
  font-family: var(--font-display, inherit);
  font-size: 0.92rem;
  font-weight: 800;
  color: var(--ink, #12201c);
}
.dine-pick-area-head span {
  color: var(--muted, #5f7169);
  font-size: 0.72rem;
  font-weight: 700;
}


/* Host table with linked merges */
.dine-table-tile.has-merge {
  border-color: color-mix(in srgb, #5c4d7a 55%, var(--line, #d5ddd8));
  box-shadow: inset 0 0 0 1px #5c4d7a22;
}
@supports not (color: color-mix(in srgb, red 50%, blue)) {
.dine-table-tile.has-merge {
  border-color: #928ea4;
}
}
.dine-merge-banner {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 0.45rem 0.55rem;
  margin: 0.55rem 0.85rem 0.45rem;
  padding: 0.5rem 0.85rem 0.5rem 0.85rem;
  border: 1px solid #c9bddb;
  border-radius: 12px;
  background:
    radial-gradient(120% 140% at 0% 0%, #ffffffaa 0%, transparent 45%),
    linear-gradient(165deg, #f4effa 0%, #ebe3f5 100%);
  color: #3d3358;
  box-shadow:
    0 1px 0 #ffffffcc inset,
    0 4px 12px #5c4d7a14;
  min-width: 0;
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin;
}
.dine-merge-banner-text {
  flex: 0 1 auto;
  min-width: 0;
  margin: 0;
  font-size: 0.78rem;
  font-weight: 750;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.dine-merge-badge {
  flex: 0 0 auto;
  margin-inline-end: 0.1rem;
  padding: 0.2rem 0.55rem;
  border-radius: 999px;
  background: #5c4d7a;
  color: #fff;
  font-size: 0.62rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  box-shadow: 0 1px 0 #ffffff33 inset;
}
.dine-merge-chips {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 0.28rem;
  margin-inline-start: 0;
  flex: 0 0 auto;
}
.dine-merge-chip {
  padding: 0.18rem 0.5rem;
  border-radius: 999px;
  background: #5c4d7a;
  color: #fff;
  font-size: 0.68rem;
  font-weight: 750;
  white-space: nowrap;
}
.dine-merge-chip.host {
  background: #1f6b5c;
}
.iso-status-chip.has-merge {
  background: #5c4d7a !important;
  border-color: #463a5e !important;
  color: #fff !important;
}
@media (max-width: 720px) {
  .dine-merge-banner {
    margin: 0.45rem 0.55rem 0.35rem;
    padding: 0.4rem 0.55rem;
    gap: 0.35rem;
  }
  .dine-merge-banner-text {
    font-size: 0.72rem;
  }
}


/* Clear accidentally occupied empty table — sits in footer row */
.dine-clear-empty {
  appearance: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  margin-left: auto;
  padding: 0.2rem 0.5rem;
  border: 1px solid #f0b8b4;
  border-radius: 999px;
  background: #fdf2f0;
  color: #b42318;
  font-size: 0.62rem;
  font-weight: 800;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  line-height: 1.2;
  white-space: nowrap;
  cursor: pointer;
  flex: 0 0 auto;
}
.dine-clear-empty:hover {
  background: #f8d7d3;
}
.dine-table-tile .table-foot.with-clear {
  align-items: center;
  gap: 0.35rem;
}
.dine-ticket-actions .dine-ticket-clear-empty {
  color: #b42318;
  border-color: #f0b8b4;
  background: #fdf2f0;
}

.dine-server-banner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.45rem 0.75rem;
  margin: 0 0 0.65rem;
  padding: 0.65rem 0.85rem;
  border-radius: 12px;
  background: linear-gradient(135deg, #d8ebe5, #e7f5ff);
  border: 1px solid #b9d6ce;
  color: #0b3d2e;
}

.dine-server-banner strong {
  font-size: 0.92rem;
  font-weight: 800;
}

.dine-server-banner span {
  flex: 1 1 12rem;
  font-size: 0.84rem;
  line-height: 1.35;
  color: #2a3b35;
}

.dine-server-banner-link {
  margin-inline-start: auto;
  font-size: 0.82rem;
  font-weight: 750;
  color: #1f6b5c;
  text-decoration: none;
  white-space: nowrap;
}

.dine-server-banner-link:hover {
  text-decoration: underline;
}

@media (max-width: 720px) {
  .dine-server-banner {
    padding: 0.6rem 0.75rem;
  }

  .dine-server-banner-link {
    width: 100%;
    margin-inline-start: 0;
  }
}

/* Takeaway order panel reuses Floor line cards */
.ta-order .ta-lines.dine-order-cards {
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
  overflow: auto;
  min-height: 0;
  padding: 0.15rem 0.1rem 0.35rem;
}

.ta-order .dine-order-item {
  background: #fff;
}

.ta-order .ta-totals .totals-vat-row,
.ta-order .dine-order-item-tax {
  animation: none !important;
  transition: none !important;
}

/* Delivery order panel reuses Floor line cards */
.dl-order .dl-lines.dine-order-cards {
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
  overflow: auto;
  min-height: 0;
  padding: 0.15rem 0.1rem 0.35rem;
}

.dl-order .dine-order-item {
  background: #fff;
}

.dl-order .dl-totals .totals-vat-row,
.dl-order .dine-order-item-tax {
  animation: none !important;
  transition: none !important;
}

/* -- Modern floor table cards (list view) -------------------- */
.zk-dine .dine-table-grid {
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: 0.55rem;
}

.dine-table-tile.dine-table-card {
  width: auto;
  max-width: none;
  min-height: 0;
  gap: 0;
  padding: 0;
  text-align: start;
  border-radius: 14px;
  border: 1px solid #e6ebe8;
  background: #fff;
  box-shadow: 0 6px 14px #12201c10;
  overflow: visible;
  transition: transform 0.14s ease, box-shadow 0.14s ease, border-color 0.14s ease;
}

.dine-table-tile.dine-table-card:hover {
  transform: translateY(-1px);
  box-shadow: 0 10px 18px #12201c14;
}

.dine-table-tile.dine-table-card.selected {
  box-shadow: 0 0 0 2px #1f6b5c, 0 10px 18px #1f6b5c20;
}

.dine-table-tile.dine-table-card.has-merge {
  border-color: #d5cce4;
}

.dine-tc-hero {
  position: relative;
  display: grid;
  place-items: center;
  min-height: 3.6rem;
  padding: 0.45rem 0.45rem 0.35rem;
  border-radius: 13px 13px 0 0;
  overflow: hidden;
  background:
    radial-gradient(circle at 18% 30%, #ffffffaa 0%, transparent 42%),
    radial-gradient(circle at 88% 78%, #ffffff88 0%, transparent 40%),
    radial-gradient(circle at 70% 20%, #ffffff66 0%, transparent 36%),
    linear-gradient(165deg, #f4e4d4 0%, #f7ebe0 55%, #f3dfd0 100%);
}

.dine-tc-hero.status-occupied {
  background:
    radial-gradient(circle at 18% 30%, #ffffffaa 0%, transparent 42%),
    radial-gradient(circle at 88% 78%, #ffffff88 0%, transparent 40%),
    linear-gradient(165deg, #d8ebe5 0%, #e8f4ef 55%, #d4e8e1 100%);
}

.dine-tc-hero.status-free {
  background:
    radial-gradient(circle at 18% 30%, #ffffffaa 0%, transparent 42%),
    radial-gradient(circle at 88% 78%, #ffffff88 0%, transparent 40%),
    linear-gradient(165deg, #e4f4eb 0%, #eef9f2 55%, #dcf0e4 100%);
}

.dine-tc-hero.status-billing {
  background:
    radial-gradient(circle at 18% 30%, #ffffffaa 0%, transparent 42%),
    radial-gradient(circle at 88% 78%, #ffffff88 0%, transparent 40%),
    linear-gradient(165deg, #f4e4d4 0%, #f7ebe0 55%, #f3dfd0 100%);
}

.dine-tc-hero.status-reserved {
  background:
    radial-gradient(circle at 18% 30%, #ffffffaa 0%, transparent 42%),
    radial-gradient(circle at 88% 78%, #ffffff88 0%, transparent 40%),
    linear-gradient(165deg, #dceaf8 0%, #eaf3fc 55%, #d4e4f4 100%);
}

.dine-tc-hero.status-merged {
  background:
    radial-gradient(circle at 18% 30%, #ffffffaa 0%, transparent 42%),
    radial-gradient(circle at 88% 78%, #ffffff88 0%, transparent 40%),
    linear-gradient(165deg, #e9e2f2 0%, #f3eef8 55%, #e2d8ef 100%);
}

.dine-tc-hero-icon {
  display: grid;
  place-items: center;
}

.dine-tc-hero-icon svg {
  width: 2.35rem;
  height: 2.35rem;
  filter: drop-shadow(0 3px 5px #12201c18);
}

.dine-tc-chip {
  position: absolute;
  top: 0.35rem;
  inset-inline-end: 0.35rem;
  display: inline-flex;
  align-items: center;
  gap: 0.18rem;
  padding: 0.14rem 0.4rem;
  border-radius: 7px;
  background: #1f6b5c;
  color: #fff;
  font-size: 0.58rem;
  font-weight: 800;
  letter-spacing: 0.01em;
  box-shadow: 0 2px 6px #12201c18;
  max-width: 48%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.dine-tc-chip.billing {
  background: #e0702a;
}

.dine-tc-chip.free {
  background: #15803d;
}

.dine-tc-chip.reserved {
  background: #2563eb;
}

.dine-tc-chip.merged {
  background: #5c4d7a;
}

.dine-tc-chip-ico {
  display: inline-grid;
  place-items: center;
}

.dine-tc-chip-ico svg {
  width: 0.68rem;
  height: 0.68rem;
}

.dine-tc-body {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0.28rem;
  padding: 0.45rem 0.55rem 0.55rem;
}

.dine-tc-identity {
  display: flex;
  align-items: baseline;
  flex-wrap: nowrap;
  gap: 0.4rem;
  min-width: 0;
  width: 100%;
}

.dine-tc-title {
  font-family: var(--font-display);
  font-size: 0.92rem;
  font-weight: 800;
  letter-spacing: -0.02em;
  color: #1a2430;
  line-height: 1.15;
  flex: 0 0 auto;
}

.dine-tc-area {
  display: inline-flex;
  align-items: center;
  gap: 0.18rem;
  min-width: 0;
  margin-top: 0;
  color: #6b7c75;
  font-size: 0.65rem;
  font-weight: 650;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.dine-tc-area::before {
  content: '';
  width: 1px;
  height: 0.75em;
  background: #d5ddd8;
  flex-shrink: 0;
  margin-inline-end: 0.12rem;
}

.dine-tc-area svg {
  color: #9a7344;
  flex-shrink: 0;
  width: 0.7rem;
  height: 0.7rem;
}

.dine-tc-area.muted {
  color: #7a8b84;
}

.dine-tc-pills {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 0.28rem;
  width: 100%;
  overflow: visible;
}

.dine-tc-pill {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 0.18rem;
  flex: 0 1 auto;
  min-width: 0;
  max-width: 100%;
  padding: 0.14rem 0.38rem;
  border-radius: 999px;
  font-size: 0.55rem;
  font-weight: 750;
  line-height: 1.1;
  white-space: nowrap;
  overflow: visible;
  background: #e8f3ef;
  color: #1f6b5c;
}

.dine-tc-pill svg {
  width: 0.68rem;
  height: 0.68rem;
  flex-shrink: 0;
}

.dine-tc-pill.billing {
  background: #fde8d8;
  color: #c45c26;
}

.dine-tc-pill.occupied {
  background: #dff0ea;
  color: #1f6b5c;
}

.dine-tc-pill.free {
  background: #dcfce7;
  color: #166534;
}

.dine-tc-pill.reserved {
  background: #dbeafe;
  color: #1d4ed8;
}

.dine-tc-pill.merged {
  background: #eee8f6;
  color: #5c4d7a;
}

.dine-tc-tip {
  position: absolute;
  left: 50%;
  bottom: calc(100% + 0.45rem);
  transform: translateX(-50%) translateY(2px);
  z-index: 30;
  pointer-events: none;
  opacity: 0;
  visibility: hidden;
  padding: 0.32rem 0.55rem;
  border-radius: 8px;
  background: #2a2438;
  color: #fff;
  font-size: 0.62rem;
  font-weight: 750;
  letter-spacing: 0.02em;
  line-height: 1.2;
  white-space: nowrap;
  box-shadow: 0 8px 18px #12201c28;
  transition: opacity 0.14s ease, transform 0.14s ease, visibility 0.14s ease;
}

.dine-tc-tip::after {
  content: '';
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  border: 5px solid transparent;
  border-top-color: #2a2438;
}

.dine-tc-pill.has-tip:hover .dine-tc-tip,
.dine-tc-pill.has-tip:focus-within .dine-tc-tip {
  opacity: 1;
  visibility: visible;
  transform: translateX(-50%) translateY(0);
}

.dine-tc-stats {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
  margin-top: 0.05rem;
  padding-top: 0.35rem;
  border-top: 1px solid #e8eeea;
}

.dine-tc-stat {
  display: flex;
  align-items: flex-start;
  gap: 0.28rem;
  padding: 0.05rem 0.2rem 0.05rem 0;
  min-width: 0;
}

.dine-tc-stat + .dine-tc-stat {
  border-inline-start: 1px solid #e8eeea;
  padding-inline-start: 0.4rem;
}

.dine-tc-stat-ico {
  flex: 0 0 auto;
  width: 1.2rem;
  height: 1.2rem;
  border-radius: 999px;
  display: grid;
  place-items: center;
  color: #1f6b5c;
  background: #dff0ea;
  margin-top: 0.02rem;
}

.dine-tc-stat-ico.plus {
  background: #d8f0e2;
  color: #0f766e;
}

.dine-tc-stat-ico.muted {
  background: #eef2f0;
  color: #6b7c75;
}

.dine-tc-stat-ico svg {
  width: 0.68rem;
  height: 0.68rem;
}

.dine-tc-stat-copy {
  display: flex;
  flex-direction: column;
  gap: 0.02rem;
  min-width: 0;
}

.dine-tc-stat-copy strong {
  font-size: 0.68rem;
  font-weight: 800;
  color: #1a2430;
  line-height: 1.15;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.dine-tc-stat-copy strong.accent {
  color: #0f766e;
}

.dine-tc-stat-copy small {
  font-size: 0.55rem;
  color: #7a8b84;
  font-weight: 600;
  line-height: 1.2;
}

.dine-tc-stat-copy .dine-clear-empty {
  margin-left: 0;
  align-self: flex-start;
  margin-top: 0.1rem;
  font-size: 0.55rem;
  padding: 0.12rem 0.35rem;
}

.dine-tc-items {
  display: inline-flex;
  align-self: flex-start;
  padding: 0.1rem 0.38rem;
  border-radius: 999px;
  background: #eef5f2;
  color: #1f6b5c;
  font-size: 0.58rem;
  font-weight: 750;
}

.dine-tc-cta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.35rem;
  width: 100%;
  margin-top: 0.1rem;
  padding: 0.42rem 0.6rem;
  border-radius: 999px;
  background: #e4f3ec;
  color: #0f5c4d;
  font-size: 0.68rem;
  font-weight: 800;
  line-height: 1.15;
  box-shadow: none;
}

.dine-table-tile.dine-table-card.free .dine-tc-cta,
.dine-table-tile.dine-table-card.billing .dine-tc-cta,
.dine-table-tile.dine-table-card.merged .dine-tc-cta,
.dine-table-tile.dine-table-card.occupied .dine-tc-cta {
  background: #e4f3ec;
  color: #0f5c4d;
  box-shadow: none;
}

.dine-table-tile.dine-table-card.billing .dine-tc-cta {
  background: #fdeee4;
  color: #9a4318;
}

.dine-table-tile.dine-table-card.merged .dine-tc-cta {
  background: #efeaf6;
  color: #5c4d7a;
}

.dine-tc-cta-chevron {
  font-size: 0.95rem;
  font-weight: 500;
  line-height: 1;
  opacity: 0.85;
}

html[dir='rtl'] .dine-tc-cta-chevron {
  transform: scaleX(-1);
}

@media (max-width: 720px) {
  .zk-dine .dine-table-grid {
    grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
    gap: 0.45rem;
  }

  .dine-table-tile.dine-table-card {
    border-radius: 12px;
  }

  .dine-tc-hero {
    min-height: 3.1rem;
    padding: 0.35rem;
  }

  .dine-tc-hero-icon svg {
    width: 2rem;
    height: 2rem;
  }

  .dine-tc-body {
    padding: 0.4rem 0.45rem 0.45rem;
    gap: 0.22rem;
  }

  .dine-tc-title {
    font-size: 0.86rem;
  }

  .dine-tc-cta {
    padding: 0.38rem 0.5rem;
    font-size: 0.62rem;
  }
}

@media (max-width: 420px) {
  .zk-dine .dine-table-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* Extra Charges — full-width cards + centered edit popup */

.app-shell:has(.zk-et) .main-stage {
  overflow: hidden;
  min-height: 0;
}

.zk-et {
  --et-ink: #12201c;
  --et-muted: #5f7169;
  --et-line: #d5ddd8;
  --et-teal: #1f6b5c;
  --et-teal-soft: #d8ebe5;
  --et-panel: #fff;
  display: grid;
  grid-template-rows: auto auto minmax(0, 1fr) auto;
  min-height: 0;
  height: 100%;
  max-height: 100%;
  overflow: hidden;
  background:
    radial-gradient(700px 320px at 0 0, color-mix(in srgb, var(--et-teal) 12%, transparent), transparent 55%),
    linear-gradient(#eef3f0 0%, #e6ece8 100%);
}

@supports not (color: color-mix(in srgb, red 50%, blue)) {

.zk-et {
  background:
    radial-gradient(700px 320px at 0 0, rgba(31, 107, 92, 0.12), transparent 55%),
    linear-gradient(#eef3f0 0%, #e6ece8 100%);
}
}

.zk-et-bar {
  display: grid;
  grid-template-columns: minmax(4.5rem, auto) minmax(0, 1fr) minmax(4.5rem, auto);
  align-items: center;
  gap: 0.45rem;
  margin: 0.75rem 1rem 0;
  padding: 0.55rem 0.85rem;
  background: var(--et-panel);
  border: 1px solid var(--et-line);
  border-radius: 14px;
  flex-shrink: 0;
}

.zk-et-bar h1 {
  grid-column: 2;
  justify-self: center;
  margin: 0;
  max-width: 100%;
  font-family: var(--font-display);
  font-size: clamp(1.05rem, 2.2vw, 1.25rem);
  font-weight: 800;
  text-align: center;
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}

.zk-et-bar-actions {
  grid-column: 3;
  justify-self: end;
  display: flex;
  align-items: center;
  gap: 0.45rem;
  min-width: 0;
}

.zk-et-starter {
  appearance: none;
  margin: 0;
  padding: 0.4rem 0.75rem;
  border: 1px solid #c5d0c8;
  border-radius: 999px;
  background: #f4f7f5;
  color: var(--et-muted);
  font: inherit;
  font-size: 0.78rem;
  font-weight: 700;
  white-space: nowrap;
  cursor: pointer;
}

.zk-et-body,
.zk-et-body-solo {
  display: block;
  min-height: 0;
  padding: 0.75rem 1rem 1rem;
  overflow: hidden;
}

.zk-et-list {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(12rem, 1fr));
  align-content: start;
  align-items: stretch;
  gap: 0.75rem;
  height: 100%;
  min-height: 0;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
  padding: 0.15rem;
}

.zk-et-tile {
  appearance: none;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.28rem;
  min-height: 6rem;
  margin: 0;
  padding: 0.9rem 1rem;
  border: 1px solid var(--et-line);
  border-radius: 14px;
  background: linear-gradient(165deg, #fff, #f3f7f5);
  color: var(--et-ink);
  font: inherit;
  text-align: left;
  cursor: pointer;
  transition: border-color 0.15s ease, box-shadow 0.15s ease, transform 0.12s ease;
}

.zk-et-tile:hover {
  border-color: color-mix(in srgb, var(--et-teal) 45%, var(--et-line));
  box-shadow: 0 8px 20px #12201c12;
  transform: translateY(-1px);
}

@supports not (color: color-mix(in srgb, red 50%, blue)) {

.zk-et-tile:hover {
  border-color: #83aaa0;
}
}

.zk-et-tile:focus-visible {
  outline: 2px solid var(--et-teal);
  outline-offset: 2px;
}

.zk-et-tile.off {
  opacity: 0.72;
}

.zk-et-tile strong {
  font-size: 0.98rem;
  font-weight: 800;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.zk-et-tile small {
  color: var(--et-muted);
  font-size: 0.78rem;
  font-weight: 650;
  line-height: 1.3;
}

.zk-et-tile-badge {
  margin-top: auto;
  padding: 0.18rem 0.5rem;
  border-radius: 999px;
  background: var(--et-teal-soft);
  color: var(--et-teal);
  font-size: 0.68rem;
  font-weight: 750;
}

.zk-et-tile-badge.off {
  background: #e8ece9;
  color: var(--et-muted);
}

.zk-et-empty {
  display: grid;
  gap: 0.45rem;
  align-content: start;
  justify-items: start;
  grid-column: 1 / -1;
  padding: 1.5rem 1.1rem;
  color: var(--et-muted);
}

.zk-et-empty strong {
  color: var(--et-ink);
  font-size: 1rem;
}

.zk-et-empty-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-top: 0.35rem;
}

/* ---- Centered edit popup ---- */
.zk-et-modal {
  position: fixed;
  inset: 0;
  z-index: 80;
  display: grid;
  place-items: center;
  padding: max(1rem, env(safe-area-inset-top, 0px)) 1rem max(1rem, env(safe-area-inset-bottom, 0px));
  background: rgba(18, 32, 28, 0.48);
  backdrop-filter: blur(2px);
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}

.zk-et-sheet {
  width: min(100%, 28rem);
  margin: auto;
  padding: 1.15rem 1.2rem 1.2rem;
  border: 1px solid var(--et-line);
  border-radius: 18px;
  background: var(--et-panel);
  box-shadow: 0 22px 48px rgba(18, 32, 28, 0.22);
  display: grid;
  gap: 0;
  animation: zk-et-pop 0.18s ease-out;
}

@keyframes zk-et-pop {
  from {
    opacity: 0;
    transform: translateY(10px) scale(0.98);
  }
  to {
    opacity: 1;
    transform: none;
  }
}

.zk-et-sheet-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem;
  margin-bottom: 1rem;
  padding-bottom: 0.85rem;
  border-bottom: 1px solid #e4ebe7;
}

.zk-et-kicker {
  margin: 0 0 0.2rem;
  color: var(--et-muted);
  font-size: 0.7rem;
  font-weight: 750;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.zk-et-sheet-head h2 {
  margin: 0;
  font-family: var(--font-display);
  font-size: 1.2rem;
  font-weight: 800;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.zk-et-sheet-close {
  appearance: none;
  flex: 0 0 auto;
  width: 2.25rem;
  height: 2.25rem;
  margin: 0;
  padding: 0;
  border: 1px solid var(--et-line);
  border-radius: 999px;
  background: #f4f7f5;
  color: var(--et-muted);
  font: inherit;
  font-size: 1rem;
  line-height: 1;
  cursor: pointer;
}

.zk-et-sheet-close:hover {
  color: var(--et-ink);
  border-color: #b7c4bd;
}

.zk-et-form-fields {
  display: grid;
  gap: 0.85rem;
}

.zk-et-form-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.75rem;
  align-items: start;
}

.zk-et-sheet label {
  display: grid;
  gap: 0.35rem;
  margin: 0;
  font-size: 0.82rem;
  font-weight: 750;
  color: var(--et-ink);
}

.zk-et-label-text {
  display: inline-flex;
  align-items: baseline;
  gap: 0.2rem;
  line-height: 1.2;
}

.zk-et-label-text .mesa-req {
  color: #c62828;
  font-style: normal;
  font-weight: 800;
}

.zk-et-sheet label .search,
.zk-et-sheet label input,
.zk-et-sheet .mesa-select,
.zk-et-sheet .mesa-select-trigger {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

.zk-et-sheet .zk-et-status {
  max-width: none;
}

.zk-et-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-top: 1.1rem;
  padding-top: 0.95rem;
  border-top: 1px solid #e4ebe7;
}

.zk-et-action {
  appearance: none;
  flex: 1 1 auto;
  min-width: 5.5rem;
  margin: 0;
  padding: 0.72rem 1rem;
  border: 1px solid #c5d0c8;
  border-radius: 12px;
  background: linear-gradient(#f4f6f5, #e4eae6);
  color: var(--et-ink);
  font: inherit;
  font-weight: 750;
  cursor: pointer;
}

.zk-et-action.primary {
  flex: 1.35 1 auto;
  color: #fff;
  background: var(--et-teal);
  border-color: var(--et-teal);
}

.zk-et-action.danger {
  color: #b42318;
  background: #fdf2f0;
  border-color: #f0c2bc;
}

/* ---- Responsive ---- */
@media (max-width: 900px) {
  .zk-et-bar {
    margin: 0.55rem 0.75rem 0;
  }

  .zk-et-body,
  .zk-et-body-solo {
    padding: 0.65rem 0.75rem 0.85rem;
  }

  .zk-et-list {
    grid-template-columns: repeat(auto-fill, minmax(10.5rem, 1fr));
  }
}

@media (max-width: 640px) {
  .zk-et-bar {
    margin: 0.45rem 0.55rem 0;
    padding: 0.45rem 0.6rem;
  }

  .zk-et-starter {
    display: none;
  }

  .zk-et-body,
  .zk-et-body-solo {
    padding: 0.55rem 0.55rem 0.65rem;
  }

  .zk-et-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.55rem;
  }

  .zk-et-tile {
    min-height: 5.4rem;
    padding: 0.75rem 0.8rem;
  }

  .zk-et-modal {
    align-items: end;
    padding: 0;
    background: rgba(18, 32, 28, 0.4);
  }

  .zk-et-sheet {
    width: 100%;
    max-width: none;
    border-radius: 18px 18px 0 0;
    padding: 1rem 1rem calc(1rem + env(safe-area-inset-bottom, 0px));
    animation: zk-et-sheet-up 0.2s ease-out;
  }

  @keyframes zk-et-sheet-up {
    from {
      transform: translateY(100%);
    }
    to {
      transform: none;
    }
  }

  .zk-et-form-row {
    grid-template-columns: 1fr;
  }

  .zk-et-action {
    flex: 1 1 calc(50% - 0.35rem);
  }

  .zk-et-action.primary {
    flex: 1 1 100%;
    order: -1;
  }
}

@media (max-width: 420px) {
  .zk-et-list {
    grid-template-columns: 1fr;
  }
}

.zk-et-tax {
  display: grid;
  gap: 0.45rem;
  padding-top: 0.25rem;
}

.zk-et-tax-hint {
  margin: 0;
  font-size: 0.78rem;
  line-height: 1.35;
  color: var(--et-muted);
}

.zk-et-tax-empty {
  font-size: 0.82rem;
  color: var(--et-muted);
}

.zk-et-tax-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 0.35rem;
}

.zk-et-tax-row {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.55rem;
  padding: 0.55rem 0.7rem;
  border: 1px solid var(--et-line);
  border-radius: 12px;
  background: #f7faf8;
  cursor: pointer;
}

.zk-et-tax-row.on {
  border-color: color-mix(in srgb, var(--et-teal) 45%, var(--et-line));
  background: var(--et-teal-soft);
}

@supports not (color: color-mix(in srgb, red 50%, blue)) {

.zk-et-tax-row.on {
  border-color: #83aaa0;
}
}

.zk-et-tax-name {
  font-weight: 650;
  color: var(--et-ink);
}

.zk-et-tax-pct {
  font-variant-numeric: tabular-nums;
  font-weight: 700;
  color: var(--et-teal);
}
/* Delivery riders — responsive card grid + centered edit sheet */

.app-shell:has(.zk-riders) .main-stage {
  overflow: hidden;
  min-height: 0;
}

.zk-riders {
  --rd-ink: #12201c;
  --rd-muted: #5f7169;
  --rd-line: #d5ddd8;
  --rd-teal: #1f6b5c;
  --rd-teal-soft: #d8ebe5;
  --rd-panel: #fff;
  display: grid;
  grid-template-rows: auto auto minmax(0, 1fr) auto;
  min-height: 0;
  height: 100%;
  max-height: 100%;
  overflow: hidden;
  background:
    radial-gradient(700px 320px at 0 0, color-mix(in srgb, var(--rd-teal) 12%, transparent), transparent 55%),
    linear-gradient(#eef3f0 0%, #e6ece8 100%);
}

@supports not (color: color-mix(in srgb, red 50%, blue)) {

.zk-riders {
  background:
    radial-gradient(700px 320px at 0 0, rgba(31, 107, 92, 0.12), transparent 55%),
    linear-gradient(#eef3f0 0%, #e6ece8 100%);
}
}

.zk-riders-bar {
  display: grid;
  grid-template-columns: minmax(4.5rem, auto) minmax(0, 1fr) minmax(4.5rem, auto);
  align-items: center;
  gap: 0.45rem;
  margin: 0.75rem 1rem 0;
  padding: 0.55rem 0.85rem;
  background: var(--rd-panel);
  border: 1px solid var(--rd-line);
  border-radius: 14px;
  flex-shrink: 0;
}

.zk-riders-bar h1 {
  grid-column: 2;
  justify-self: center;
  margin: 0;
  max-width: 100%;
  font-family: var(--font-display);
  font-size: clamp(1.05rem, 2.2vw, 1.25rem);
  font-weight: 800;
  text-align: center;
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}

.zk-riders-bar-actions {
  grid-column: 3;
  justify-self: end;
  display: flex;
  align-items: center;
  gap: 0.45rem;
  min-width: 0;
}

.zk-riders-starter {
  appearance: none;
  margin: 0;
  padding: 0.4rem 0.75rem;
  border: 1px solid #c5d0c8;
  border-radius: 999px;
  background: #f4f7f5;
  color: var(--rd-muted);
  font: inherit;
  font-size: 0.78rem;
  font-weight: 700;
  white-space: nowrap;
  cursor: pointer;
}

.zk-riders-body {
  min-height: 0;
  padding: 0.75rem 1rem 1rem;
  overflow: hidden;
}

.zk-riders-list {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(14.5rem, 1fr));
  align-content: start;
  gap: 0.75rem;
  height: 100%;
  min-height: 0;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
  padding: 0.15rem;
}

.zk-rider-tile {
  appearance: none;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.7rem;
  min-height: 4.6rem;
  margin: 0;
  padding: 0.85rem 0.95rem;
  border: 1px solid var(--rd-line);
  border-radius: 14px;
  background: linear-gradient(165deg, #fff, #f3f7f5);
  color: var(--rd-ink);
  font: inherit;
  text-align: start;
  cursor: pointer;
  transition: border-color 0.15s ease, box-shadow 0.15s ease, transform 0.12s ease;
}

.zk-rider-tile:hover {
  border-color: color-mix(in srgb, var(--rd-teal) 45%, var(--rd-line));
  box-shadow: 0 8px 20px #12201c12;
  transform: translateY(-1px);
}

@supports not (color: color-mix(in srgb, red 50%, blue)) {

.zk-rider-tile:hover {
  border-color: #83aaa0;
}
}

.zk-rider-tile.selected {
  border-color: var(--rd-teal);
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--rd-teal) 22%, transparent);
}

@supports not (color: color-mix(in srgb, red 50%, blue)) {

.zk-rider-tile.selected {
  box-shadow: 0 0 0 2px rgba(31, 107, 92, 0.22);
}
}

.zk-rider-tile.off {
  opacity: 0.72;
}

.zk-rider-avatar {
  display: grid;
  place-items: center;
  width: 2.45rem;
  height: 2.45rem;
  border-radius: 999px;
  background: var(--rd-teal-soft);
  color: var(--rd-teal);
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.02em;
}

.zk-rider-avatar.lg {
  width: 2.85rem;
  height: 2.85rem;
  font-size: 0.88rem;
}

.zk-rider-copy {
  display: grid;
  gap: 0.15rem;
  min-width: 0;
}

.zk-rider-copy strong {
  font-size: 0.95rem;
  font-weight: 780;
  line-height: 1.25;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.zk-rider-copy small {
  color: var(--rd-muted);
  font-size: 0.78rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.zk-rider-badge {
  flex-shrink: 0;
  padding: 0.22rem 0.5rem;
  border-radius: 999px;
  background: color-mix(in srgb, var(--rd-teal) 14%, #fff);
  color: var(--rd-teal);
  font-size: 0.65rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

@supports not (color: color-mix(in srgb, red 50%, blue)) {

.zk-rider-badge {
  background: #e0eae8;
}
}

.zk-rider-badge.off {
  background: #ecefee;
  color: #7a8a82;
}

.zk-riders-empty {
  grid-column: 1 / -1;
  display: grid;
  gap: 0.35rem;
  place-content: center;
  justify-items: center;
  min-height: 12rem;
  padding: 1.5rem 1rem;
  text-align: center;
  color: var(--rd-muted);
}

.zk-riders-empty strong {
  color: var(--rd-ink);
  font-size: 1.05rem;
}

.zk-riders-empty-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  justify-content: center;
  margin-top: 0.65rem;
}

/* ---- Centered edit sheet ---- */
.zk-riders-modal {
  position: fixed;
  inset: 0;
  z-index: 80;
  display: grid;
  place-items: center;
  padding: max(1rem, env(safe-area-inset-top, 0px)) 1rem max(1rem, env(safe-area-inset-bottom, 0px));
  background: rgba(18, 32, 28, 0.48);
  backdrop-filter: blur(2px);
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}

.zk-riders-sheet {
  width: min(100%, 26rem);
  margin: auto;
  padding: 1.15rem 1.2rem 1.2rem;
  border: 1px solid var(--rd-line);
  border-radius: 18px;
  background: var(--rd-panel);
  box-shadow: 0 22px 48px rgba(18, 32, 28, 0.22);
  animation: zk-riders-pop 0.18s ease-out;
}

@keyframes zk-riders-pop {
  from {
    opacity: 0;
    transform: translateY(10px) scale(0.98);
  }
  to {
    opacity: 1;
    transform: none;
  }
}

.zk-riders-sheet-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem;
  margin-bottom: 1rem;
  padding-bottom: 0.85rem;
  border-bottom: 1px solid #e4ebe7;
}

.zk-riders-sheet-title {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  min-width: 0;
}

.zk-riders-kicker {
  margin: 0 0 0.2rem;
  color: var(--rd-muted);
  font-size: 0.7rem;
  font-weight: 750;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.zk-riders-sheet-head h2 {
  margin: 0;
  font-family: var(--font-display);
  font-size: 1.2rem;
  font-weight: 800;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.zk-riders-sheet-close {
  appearance: none;
  flex: 0 0 auto;
  width: 2.25rem;
  height: 2.25rem;
  margin: 0;
  padding: 0;
  border: 1px solid var(--rd-line);
  border-radius: 999px;
  background: #f4f7f5;
  color: var(--rd-muted);
  font: inherit;
  font-size: 1rem;
  line-height: 1;
  cursor: pointer;
}

.zk-riders-sheet-close:hover {
  color: var(--rd-ink);
  border-color: #b7c4bd;
}

.zk-riders-form-fields {
  display: grid;
  gap: 0.85rem;
}

.zk-riders-sheet label {
  display: grid;
  gap: 0.35rem;
  margin: 0;
  font-size: 0.82rem;
  font-weight: 750;
  color: var(--rd-ink);
}

.zk-riders-label-text {
  display: inline-flex;
  align-items: baseline;
  gap: 0.2rem;
  line-height: 1.2;
}

.zk-riders-label-text .mesa-req {
  color: #c62828;
  font-style: normal;
  font-weight: 800;
}

.zk-riders-sheet label .search,
.zk-riders-sheet label input,
.zk-riders-sheet .mesa-select,
.zk-riders-sheet .mesa-select-trigger {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

.zk-riders-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-top: 1.1rem;
  padding-top: 0.95rem;
  border-top: 1px solid #e4ebe7;
}

.zk-riders-action {
  appearance: none;
  flex: 1 1 auto;
  min-width: 5.5rem;
  min-height: 2.75rem;
  margin: 0;
  padding: 0.72rem 1rem;
  border: 1px solid #c5d0c8;
  border-radius: 12px;
  background: linear-gradient(#f4f6f5, #e4eae6);
  color: var(--rd-ink);
  font: inherit;
  font-weight: 750;
  cursor: pointer;
}

.zk-riders-action.primary {
  flex: 1.35 1 auto;
  color: #fff;
  background: var(--rd-teal);
  border-color: var(--rd-teal);
}

.zk-riders-action.danger {
  color: #b42318;
  background: #fdf2f0;
  border-color: #f0c2bc;
}

@media (max-width: 900px) {
  .zk-riders-bar {
    margin: 0.55rem 0.75rem 0;
  }

  .zk-riders-body {
    padding: 0.65rem 0.75rem 0.85rem;
  }

  .zk-riders-list {
    grid-template-columns: repeat(auto-fill, minmax(12.5rem, 1fr));
  }
}

@media (max-width: 640px) {
  .zk-riders-bar {
    margin: 0.45rem 0.55rem 0;
    padding: 0.45rem 0.6rem;
  }

  .zk-riders-bar-actions .zk-riders-starter {
    display: none;
  }

  .zk-riders-body {
    padding: 0.5rem 0.55rem 0.75rem;
  }

  .zk-riders-list {
    grid-template-columns: 1fr;
    gap: 0.55rem;
  }

  .zk-rider-tile {
    min-height: 4.25rem;
    padding: 0.75rem 0.85rem;
  }

  .zk-riders-modal {
    align-items: end;
    padding: 0;
    background: rgba(18, 32, 28, 0.4);
  }

  .zk-riders-sheet {
    width: 100%;
    max-width: none;
    margin: 0;
    border-radius: 18px 18px 0 0;
    padding: 1rem 1rem calc(1rem + env(safe-area-inset-bottom, 0px));
    max-height: min(92vh, 100%);
    overflow: auto;
  }

  .zk-riders-actions {
    position: sticky;
    bottom: 0;
    background: linear-gradient(180deg, transparent, #fff 28%);
    padding-bottom: 0.15rem;
  }

  .zk-riders-action {
    min-height: 2.9rem;
  }
}

@media (max-width: 420px) {
  .zk-riders-actions {
    flex-direction: column;
  }

  .zk-riders-action {
    width: 100%;
  }
}
/* Delivery ticket desk header — compact, minimal vertical gaps */

.dl-work-panel.has-ticket {
  min-width: 0;
  gap: 0.35rem !important;
  padding: 0.45rem 0.55rem 0.55rem !important;
}

.dl-work-head {
  display: flex !important;
  flex-direction: column;
  align-items: stretch;
  gap: 0.15rem;
  padding: 0 0 0.3rem;
  border-bottom: 1px solid var(--line);
  margin: 0 0 0.1rem;
}

.dl-work-head-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.35rem 0.5rem;
  min-width: 0;
}

.dl-work-head-row > .dl-back {
  flex: 0 0 auto;
  align-self: center;
  padding: 0.22rem 0.45rem;
  font-size: 0.75rem;
  min-height: 0;
}

.dl-work-title-block {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.25rem 0.4rem;
  min-width: 0;
  flex: 1 1 10rem;
}

.dl-work-head h2 {
  margin: 0 !important;
  font-size: clamp(0.98rem, 1.8vw, 1.12rem);
  line-height: 1.1;
  white-space: nowrap;
}

.dl-work-tags {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.25rem;
  min-width: 0;
}

.dl-channel-inline {
  display: inline-flex !important;
  align-items: center;
  gap: 0.35rem;
  min-width: 0;
  width: auto;
  margin: 0;
  flex: 0 0 auto;
  text-transform: uppercase;
  color: var(--muted);
  font-size: 0.64rem;
  font-weight: 750;
  letter-spacing: 0.03em;
}

.dl-channel-inline > span {
  line-height: 1;
  white-space: nowrap;
}

.dl-channel-inline .mesa-select,
.dl-channel-inline .mesa-select-field {
  width: auto !important;
  min-width: 0 !important;
  max-width: 12.5rem;
  flex: 0 0 auto;
}

.dl-channel-inline .mesa-select-trigger {
  width: auto !important;
  min-width: 9.5rem !important;
  max-width: 12.5rem !important;
  min-height: 2.15rem !important;
  height: 2.15rem !important;
  padding: 0 0.55rem !important;
  border-radius: 10px !important;
  font-size: 0.78rem !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  box-shadow: inset 0 0 0 1px var(--line) !important;
  background: #fff !important;
}

.dl-channel-inline .mesa-select-value {
  font-size: 0.78rem;
  line-height: 1.1;
}

.dl-channel-inline .mesa-select-caret {
  width: 0.9rem !important;
  height: 0.9rem !important;
}

.dl-work-tools {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.28rem;
  min-width: 0;
  flex: 0 1 auto;
  margin-inline-start: 0;
}

.dl-tool {
  min-height: 2.15rem;
  padding: 0.3rem 0.55rem;
  white-space: nowrap;
  font-size: 0.78rem;
}

.dl-tool svg {
  width: 0.95rem;
  height: 0.95rem;
  flex-shrink: 0;
}

.dl-work-addr {
  margin: 0 !important;
  padding: 0;
  color: var(--muted);
  font-size: 0.8rem;
  line-height: 1.25;
  min-width: 0;
}

.dl-work-panel.has-ticket > .dl-note {
  margin: 0;
  padding: 0.25rem 0.15rem;
}

@media (max-width: 1100px) {
  .dl-work-title-block {
    flex: 1 1 100%;
    order: 2;
  }

  .dl-channel-inline {
    order: 3;
    flex: 0 1 auto;
  }

  .dl-work-tools {
    order: 4;
    flex: 1 1 auto;
  }

  .dl-work-head-row > .dl-back {
    order: 1;
  }
}

@media (max-width: 640px) {
  .dl-channel-inline {
    flex: 1 1 100%;
  }

  .dl-channel-inline .mesa-select,
  .dl-channel-inline .mesa-select-field,
  .dl-channel-inline .mesa-select-trigger {
    width: 100% !important;
    max-width: none !important;
  }

  .dl-work-tools {
    flex: 1 1 100%;
    display: grid;
    grid-template-columns: 1fr 1fr;
  }

  .dl-tool {
    justify-content: center;
    width: 100%;
  }

  .dl-tool.danger {
    grid-column: 1 / -1;
  }
}
.zk-bev-tools {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
  justify-content: flex-start;
  width: 100%;
}

.zk-bev-scope {
  display: inline-flex;
  flex-shrink: 0;
  gap: 0.25rem;
}

.zk-bev-scope .zk-tax-tool.on {
  background: var(--teal);
  color: #fff;
  border-color: var(--teal);
}

.zk-bev-hint {
  margin: 0 1rem 0.75rem;
  padding: 0.75rem 1rem;
  border-radius: 12px;
  background: color-mix(in srgb, var(--warn-soft) 80%, #fff);
  color: var(--ink-soft);
  font-size: 0.92rem;
  line-height: 1.45;
}

@supports not (color: color-mix(in srgb, red 50%, blue)) {

.zk-bev-hint {
  background: #f8ecd3;
}
}

.zk-bev-search {
  flex: 1 1 160px;
  min-width: min(160px, 100%);
  max-width: 280px;
  border: 1px solid var(--line);
  border-radius: 10px;
  padding: 0.55rem 0.75rem;
  font: inherit;
  background: var(--panel);
  box-sizing: border-box;
}

.zk-bev-price-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.85rem 1rem;
  padding: 1rem 1rem 0.85rem;
}

.zk-bev-price-toolbar-copy h3 {
  margin: 0;
  font-size: 1.05rem;
}

.zk-bev-price-toolbar-copy p {
  margin: 0.2rem 0 0;
  color: var(--muted);
  font-size: 0.9rem;
}

.zk-bev-price-toolbar .zk-bev-tools {
  flex: 1 1 280px;
  justify-content: flex-end;
}

.zk-bev-save-btn {
  flex: 0 0 auto;
  white-space: nowrap;
}

.zk-bev-empty {
  display: grid;
  place-items: center;
  gap: 0.55rem;
  margin: 0.5rem 1rem 1.1rem;
  padding: 1.75rem 1.25rem;
  border: 1.5px dashed color-mix(in srgb, var(--line) 80%, #9ab);
  border-radius: 14px;
  background: #fbfcfb;
  text-align: center;
}

@supports not (color: color-mix(in srgb, red 50%, blue)) {

.zk-bev-empty {
  border: 1.5px dashed #c9d3d2;
}
}

.zk-bev-empty strong {
  font-size: 1.05rem;
}

.zk-bev-empty p {
  margin: 0;
  max-width: 34rem;
  color: var(--muted);
  line-height: 1.45;
}

.zk-bev-confirm-body {
  padding: 0 0.15rem 0.35rem;
}

.zk-bev-confirm-body p {
  margin: 0;
  color: var(--ink-soft);
  line-height: 1.5;
}

.zk-bev-price-card .zk-tax-list-head {
  align-items: center;
  gap: 0.75rem;
  flex-wrap: wrap;
}

.zk-bev-table-wrap {
  overflow: auto;
  max-height: min(62vh, 720px);
  border-top: 1px solid var(--line);
  -webkit-overflow-scrolling: touch;
}

.zk-bev-table {
  width: 100%;
  min-width: 520px;
  border-collapse: collapse;
  font-size: 0.95rem;
}

.zk-bev-table th,
.zk-bev-table td {
  padding: 0.65rem 0.75rem;
  border-bottom: 1px solid var(--line);
  text-align: left;
  white-space: nowrap;
}

.zk-bev-table th {
  position: sticky;
  top: 0;
  background: var(--surface-2);
  z-index: 1;
  font-weight: 650;
}

.zk-bev-table .mono {
  font-variant-numeric: tabular-nums;
  color: var(--muted);
}

.zk-bev-table .muted {
  color: var(--muted);
}

.zk-bev-def {
  color: var(--teal);
  font-weight: 600;
  font-size: 0.8em;
}

.zk-bev-price-input {
  width: 5.5rem;
  max-width: 100%;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 0.45rem 0.55rem;
  font: inherit;
  background: #fff;
  box-sizing: border-box;
}

.zk-bev .zk-tax-check-row {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.zk-bev-sheet {
  width: min(520px, calc(100vw - 2rem));
  max-height: min(88vh, 720px);
  overflow: auto;
}

.zk-bev-sheet .zk-tax-form {
  width: 100%;
  box-sizing: border-box;
}

.zk-bev-sheet .zk-tax-form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.85rem 1rem;
  width: 100%;
  align-items: start;
}

.zk-bev-sheet .zk-tax-form-grid > label {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  min-width: 0;
  width: 100%;
  font-weight: 650;
}

.zk-bev-sheet .zk-tax-form-grid label > span {
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  line-height: 1.2;
}

.zk-bev-sheet .zk-tax-form-grid input.search {
  width: 100%;
  box-sizing: border-box;
  min-height: 44px;
  margin: 0;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: #fff;
  padding: 0.55rem 0.75rem;
  font: inherit;
  color: var(--ink);
}

.zk-bev-sheet .zk-tax-form-grid input.search:focus {
  outline: none;
  border-color: var(--teal);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--teal) 22%, transparent);
}

@supports not (color: color-mix(in srgb, red 50%, blue)) {

.zk-bev-sheet .zk-tax-form-grid input.search:focus {
  box-shadow: 0 0 0 3px rgba(31, 107, 92, 0.22);
}
}

.zk-bev-sheet .zk-tax-form-flags {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.65rem;
  margin-top: 1rem;
  width: 100%;
}

.zk-bev-sheet .zk-tax-check {
  width: 100% !important;
  max-width: none;
  box-sizing: border-box;
  align-items: center !important;
  margin: 0;
}

.zk-bev-sheet .zk-tax-check > span {
  min-width: 0;
}

.zk-bev-sheet .zk-tax-check span small {
  display: block;
  text-transform: none;
  letter-spacing: 0;
  font-weight: 550;
  line-height: 1.35;
}

.zk-bev-sheet .zk-vendors-actions {
  width: 100%;
  box-sizing: border-box;
}

/* Keep wide price grid scrolling inside the card — do not widen the page */
.zk-bev,
.zk-bev .zk-tax-body,
.zk-bev .zk-tax-hero,
.zk-bev .zk-tax-hero-copy,
.zk-bev .zk-tax-hero-meta,
.zk-bev .zk-tax-list-card,
.zk-bev-price-card,
.zk-bev-price-toolbar,
.zk-bev-tools {
  min-width: 0;
  max-width: 100%;
}

.zk-bev {
  overflow-x: clip;
}

.zk-bev .zk-tax-body {
  width: 100%;
  box-sizing: border-box;
}

.zk-bev .zk-tax-hero-meta {
  width: 100%;
}

.zk-bev .zk-tax-stats {
  min-width: 0;
  width: 100%;
  box-sizing: border-box;
}

.zk-bev .zk-tax-stats > div {
  min-width: 0;
}

.zk-bev-table-wrap {
  width: 100%;
  max-width: 100%;
  overflow-x: auto;
  overscroll-behavior-x: contain;
}

.zk-bev-tools .mesa-select,
.zk-bev-tools .mesa-select-field,
.zk-bev-tools .mesa-select-trigger {
  width: 100%;
  min-width: 0;
  max-width: 100%;
}

@media (max-width: 900px) {
  .zk-bev-price-toolbar {
    flex-direction: column;
    align-items: stretch;
    padding: 0.85rem 0.15rem 0.75rem;
  }

  .zk-bev-price-toolbar .zk-bev-tools {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.55rem;
    justify-content: stretch;
    flex: 1 1 auto;
    width: 100%;
  }

  .zk-bev-price-toolbar .zk-bev-tools > * {
    width: 100%;
    min-width: 0;
    max-width: 100%;
  }

  .zk-bev-search {
    max-width: none;
    width: 100%;
    flex: none;
  }

  .zk-bev-save-btn {
    width: 100%;
    justify-content: center;
  }

  .zk-bev .zk-tax-hero {
    grid-template-columns: 1fr;
    padding: 0.9rem 0.85rem;
  }

  .zk-bev .zk-tax-hero-meta {
    justify-items: stretch;
  }

  .zk-bev .zk-tax-pill {
    justify-self: start;
    max-width: 100%;
  }
}

@media (max-width: 560px) {
  .zk-bev .zk-tax-bar {
    margin: 0.65rem 0.65rem 0;
    padding: 0.55rem 0.75rem;
  }

  .zk-bev .zk-tax-body {
    padding: 0.65rem 0.65rem 1rem;
    gap: 0.65rem;
  }

  .zk-bev .zk-tax-hero {
    padding: 0.8rem 0.75rem;
    border-radius: 14px;
  }

  .zk-bev .zk-tax-hero-copy h2 {
    font-size: 1.15rem;
  }

  .zk-bev .zk-tax-hero-copy p {
    font-size: 0.84rem;
    overflow-wrap: anywhere;
  }

  .zk-bev .zk-tax-stats {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.3rem;
  }

  .zk-bev .zk-tax-stats > div {
    padding: 0.45rem 0.2rem;
  }

  .zk-bev .zk-tax-stats span {
    font-size: 0.56rem;
    letter-spacing: 0.02em;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .zk-bev .zk-tax-stats strong {
    font-size: 0.95rem;
  }

  .zk-bev .zk-tax-list-card {
    padding: 0.75rem 0.65rem 0.85rem;
    border-radius: 14px;
  }

  .zk-bev-price-toolbar {
    padding: 0.55rem 0 0.65rem;
  }

  .zk-bev-sheet .zk-tax-form-grid {
    grid-template-columns: 1fr;
  }

  .zk-bev-scope {
    width: 100%;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.35rem;
  }

  .zk-bev-scope .zk-tax-tool {
    flex: none;
    width: 100%;
    justify-content: center;
    text-align: center;
  }

  .zk-bev-price-input {
    width: 4.5rem;
  }

  .zk-bev-table {
    min-width: 460px;
    font-size: 0.88rem;
  }

  .zk-bev-table th,
  .zk-bev-table td {
    padding: 0.5rem 0.45rem;
  }

  .zk-bev-hint,
  .zk-bev-empty {
    margin-inline: 0;
  }
}
/* Addons master — responsive cards + sheet */

.zk-addons,
.zk-addons .zk-tax-body,
.zk-addons .zk-tax-hero,
.zk-addons .zk-tax-list-card {
  min-width: 0;
  max-width: 100%;
}

.zk-addons {
  overflow-x: clip;
}

.zk-addons .zk-tax-list-head {
  flex-wrap: wrap;
  align-items: center;
}

.zk-addons-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 280px), 1fr));
  gap: 0.75rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.zk-addon-card {
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
  min-width: 0;
  height: 100%;
  padding: 0.85rem 0.9rem;
  border-radius: 16px;
  border: 1px solid #dce5e0;
  background: #f7faf8;
  box-sizing: border-box;
  transition:
    border-color 0.15s ease,
    background 0.15s ease,
    box-shadow 0.15s ease;
}

.zk-addon-card.on {
  background: color-mix(in srgb, var(--teal-soft, #d8ebe5) 55%, #fff);
  border-color: color-mix(in srgb, var(--teal, #1f6b5c) 28%, #dce5e0);
}

@supports not (color: color-mix(in srgb, red 50%, blue)) {

.zk-addon-card.on {
  background: #eaf4f1;
  border-color: #a7c3bb;
}
}

.zk-addon-card-main {
  appearance: none;
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  flex: 1 1 auto;
  width: 100%;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  text-align: start;
  cursor: pointer;
  min-width: 0;
}

.zk-addon-card-count {
  flex: 0 0 auto;
  width: 2.6rem;
  height: 2.6rem;
  border-radius: 12px;
  display: grid;
  place-items: center;
  background: var(--teal, #1f6b5c);
  color: #fff;
  font-size: 1rem;
  font-weight: 800;
  font-variant-numeric: tabular-nums;
  line-height: 1;
}

.zk-addon-card-body {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
}

.zk-addon-card-body strong {
  font-size: 1rem;
  font-weight: 800;
  color: #12201c;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.zk-addon-card-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 0.3rem;
}

.zk-addon-card-badges .zk-tax-badge {
  font-size: 0.68rem;
}

.zk-addon-card-opts {
  margin: 0;
  color: var(--muted, #5f7169);
  font-size: 0.82rem;
  line-height: 1.4;
  overflow-wrap: anywhere;
}

.zk-addon-card-edit {
  appearance: none;
  align-self: stretch;
  margin: 0;
  min-height: 2.35rem;
  padding: 0.45rem 0.85rem;
  border-radius: 10px;
  border: 1px solid #d0dbd4;
  background: #fff;
  color: #2a3a34;
  font: inherit;
  font-size: 0.82rem;
  font-weight: 750;
  cursor: pointer;
}

.zk-addon-card-edit:hover {
  border-color: var(--teal, #1f6b5c);
  color: var(--teal, #1f6b5c);
  background: #fff;
}

.zk-addons .zk-addon-options {
  margin-top: 1rem;
  display: flex;
  flex-direction: column;
  gap: 0.45rem;
}

.zk-addons .zk-addon-option-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 5.5rem auto auto;
  gap: 0.4rem;
  align-items: center;
}

.zk-addons .zk-addon-option-row .search {
  width: 100%;
  min-width: 0;
  box-sizing: border-box;
}

.zk-addons .zk-addon-option-row .muted {
  font-size: 0.78rem;
  white-space: nowrap;
}

.zk-addons .zk-vendors-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  justify-content: flex-end;
  margin-top: 1rem;
}

.zk-addons .zk-vendors-actions .zk-vendors-action.danger {
  margin-inline-end: auto;
}

@media (max-width: 900px) {
  .zk-addons .zk-tax-hero {
    grid-template-columns: 1fr !important;
  }

  .zk-addons .zk-tax-hero-meta {
    justify-items: stretch;
    width: 100%;
  }

  .zk-addons .zk-tax-pill {
    justify-self: start;
  }

  .zk-addons .zk-tax-stats {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    width: 100%;
  }

  .zk-addons .zk-tax-list-head {
    flex-direction: column;
    align-items: stretch;
  }

  .zk-addons .zk-tax-list-tools {
    width: 100%;
  }

  .zk-addons .zk-tax-list-tools .zk-tax-tool {
    width: 100%;
    justify-content: center;
  }

  .zk-addons .zk-tax-form-grid {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 560px) {
  .zk-addons .zk-tax-body {
    padding: 0.65rem 0.65rem 1rem;
  }

  .zk-addons .zk-tax-bar {
    margin-inline: 0.65rem;
  }

  .zk-addons .zk-tax-form-grid {
    grid-template-columns: 1fr;
  }

  .zk-addons-grid {
    grid-template-columns: 1fr;
    gap: 0.65rem;
  }

  .zk-addon-card {
    padding: 0.75rem 0.8rem;
  }

  .zk-addons .zk-bev-sheet {
    width: min(100vw - 1rem, 520px);
    max-height: min(92vh, 720px);
    border-radius: 16px 16px 0 0;
  }

  .zk-addons .zk-addon-option-row {
    grid-template-columns: 1fr 1fr;
    grid-template-areas:
      'name name'
      'price money'
      'remove remove';
  }

  .zk-addons .zk-addon-option-row > .search:first-child {
    grid-area: name;
  }

  .zk-addons .zk-addon-option-row > .search:nth-child(2) {
    grid-area: price;
  }

  .zk-addons .zk-addon-option-row > .muted {
    grid-area: money;
    justify-self: end;
  }

  .zk-addons .zk-addon-option-row > .mst-btn {
    grid-area: remove;
    width: 100%;
  }

  .zk-addons .zk-vendors-actions {
    flex-direction: column-reverse;
  }

  .zk-addons .zk-vendors-actions .zk-vendors-action,
  .zk-addons .zk-vendors-actions .zk-vendors-action.danger {
    width: 100%;
    margin: 0;
    justify-content: center;
  }
}
/* e-Bill / receipt modal item columns */

/* Tall bills: keep header fixed, scroll receipt body */
.modal-backdrop:has(.receipt-card) {
  align-items: center;
  justify-items: center;
  overflow: auto;
  overscroll-behavior: contain;
  padding: 1rem;
}

.modal-card.receipt-card {
  width: min(420px, 100%);
  max-height: min(90dvh, 860px);
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  overflow: hidden;
  padding: 1rem;
}

.modal-card.receipt-card > .section-head {
  flex: 0 0 auto;
  margin: 0;
}

.modal-card.receipt-card > .action-row {
  flex: 0 0 auto;
  margin: 0;
}

.modal-card.receipt-card > .receipt-print-status {
  flex: 0 0 auto;
  margin: 0;
  padding: 0.5rem 0.7rem;
  border-radius: 10px;
  font-size: 0.8rem;
  font-weight: 600;
  line-height: 1.35;
  text-align: center;
  overflow-wrap: anywhere;
  background: #f5f8f6;
  color: #33463f;
  border: 1px solid #dfe8e3;
}

.modal-card.receipt-card > .receipt-print-status.st-done {
  background: #e6f4ef;
  color: #004d3a;
  border-color: #b9dccf;
}

.modal-card.receipt-card > .receipt-print-status.st-failed {
  background: #fdecec;
  color: #9b1c1c;
  border-color: #f3c4c4;
}

.modal-card.receipt-card .receipt-body {
  flex: 1 1 auto;
  min-height: 0;
  overflow-x: hidden;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
}

/* Compact receipt preview: smaller type so bilingual names fit on one line each */
.modal-card.receipt-card .receipt-body {
  font-size: 0.8rem;
  padding: 0.9rem 0.85rem 0.85rem;
}

.modal-card.receipt-card .receipt-brand {
  font-size: 1rem !important;
  margin-bottom: 0.35rem !important;
}

.modal-card.receipt-card .receipt-body p {
  font-size: 0.74rem;
  margin: 0.1rem 0;
}

.modal-card.receipt-card .receipt-line {
  font-size: 0.8rem;
  margin: 0.22rem 0;
}

.receipt-lines {
  display: flex;
  flex-direction: column;
  gap: 0.3rem;
  margin: 0.6rem 0 0.4rem;
  padding-bottom: 0.4rem;
  border-bottom: 1px dashed var(--line);
}

.receipt-line-head,
.receipt-line-cols {
  display: grid;
  /* Wider item column + compact type so bilingual names stay on one line each */
  grid-template-columns: minmax(0, 1.8fr) 2rem 4.5rem 5rem;
  gap: 0.35rem;
  align-items: start;
  font-size: 0.8rem;
  line-height: 1.3;
}

.receipt-line-head {
  font-size: 0.66rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--muted);
  padding-bottom: 0.25rem;
  border-bottom: 1px solid var(--line);
  margin-bottom: 0.15rem;
}

.receipt-line-cols .r-item {
  min-width: 0;
  word-break: break-word;
  display: flex;
  flex-direction: column;
  gap: 0.1rem;
  font-size: 0.8rem;
}

.receipt-line-cols .r-item-en {
  display: block;
  font-size: inherit;
}

.receipt-line-cols .r-item-ar {
  display: block;
  font-size: inherit;
  font-weight: 400;
  color: var(--ink-soft, #2a3b35);
  line-height: 1.2;
}

.receipt-line-head .r-qty,
.receipt-line-head .r-rate,
.receipt-line-head .r-total,
.receipt-line-cols .r-qty,
.receipt-line-cols .r-rate,
.receipt-line-cols .r-total {
  text-align: end;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

.receipt-line-cols .r-total {
  font-weight: 650;
}

[dir='rtl'] .receipt-line-head .r-qty,
[dir='rtl'] .receipt-line-head .r-rate,
[dir='rtl'] .receipt-line-head .r-total,
[dir='rtl'] .receipt-line-cols .r-qty,
[dir='rtl'] .receipt-line-cols .r-rate,
[dir='rtl'] .receipt-line-cols .r-total {
  text-align: start;
}

.receipt-bill-total {
  border-top: 1px dashed var(--line);
  margin-top: 0.35rem;
  padding-top: 0.35rem;
  font-weight: 600;
}

.receipt-vat-hint {
  font-size: 0.75em;
  font-weight: 600;
  text-decoration: none;
  opacity: 0.65;
  cursor: help;
}

.receipt-vat-row[title] {
  cursor: help;
}

.receipt-bill-no {
  font-weight: 800;
  font-size: 1.05em;
  letter-spacing: 0.02em;
}

.receipt-meta-strong {
  font-weight: 700;
}

.receipt-meta-row {
  display: flex;
  justify-content: space-between;
  gap: 0.75rem;
  width: 100%;
}

/* Phase 2 QR carries ~500 chars (≈90 modules); 120px is unreadable by phone cameras */
.receipt-zatca img.qr-dense {
  width: 240px;
  height: 240px;
  max-width: 100%;
  padding: 0;
}

/* ZATCA QR placeholder while the Phase 2 report is in flight */
.receipt-zatca-wait {
  width: 120px;
  height: 120px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  border: 1px dashed var(--line, #cbd5d1);
  border-radius: 8px;
  background: #f8faf9;
  color: #64706b;
  text-align: center;
  padding: 0.5rem;
  box-sizing: border-box;
}

.receipt-zatca-wait small {
  font-size: 0.68rem;
  line-height: 1.25;
}

.receipt-zatca-spinner {
  width: 22px;
  height: 22px;
  border-radius: 50%;
  border: 2.5px solid #cfe3da;
  border-top-color: #0f7a5a;
  animation: receipt-zatca-spin 0.9s linear infinite;
}

@keyframes receipt-zatca-spin {
  to {
    transform: rotate(360deg);
  }
}
/* Customer Search — centered modal on all viewports (esp. mobile) */
.cs-backdrop.modal-backdrop {
  z-index: 80;
  display: flex !important;
  align-items: center;
  justify-content: center;
  place-items: unset;
  box-sizing: border-box;
  padding: max(0.75rem, env(safe-area-inset-top, 0px))
    max(0.75rem, env(safe-area-inset-right, 0px))
    max(0.75rem, env(safe-area-inset-bottom, 0px))
    max(0.75rem, env(safe-area-inset-left, 0px));
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}

.cs-backdrop .cs-shell {
  width: min(980px, calc(100% - 0px));
  max-width: 100%;
  max-height: min(92vh, calc(100dvh - 1.5rem));
  margin: auto;
  box-sizing: border-box;
  flex-shrink: 0;
}

@media (max-width: 800px) {
  .cs-backdrop.modal-backdrop {
    padding: 0.75rem;
    align-items: center;
    justify-content: center;
  }

  .cs-backdrop .cs-shell {
    width: 100%;
    max-width: 100%;
    max-height: calc(100dvh - 1.5rem);
    border-radius: 16px;
    padding: 0.75rem 0.8rem 0.85rem;
    gap: 0.6rem;
  }

  .cs-head {
    gap: 0.5rem;
    align-items: flex-start;
  }

  .cs-head h2 {
    font-size: 1.05rem;
  }

  .cs-head p {
    font-size: 0.8rem;
    line-height: 1.35;
  }

  .cs-layout {
    grid-template-columns: 1fr;
    min-height: 0;
    gap: 0.65rem;
  }

  .cs-rail {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.4rem;
  }

  .cs-rail-btn {
    min-width: 0;
    padding: 0.55rem 0.4rem;
    font-size: 0.72rem;
  }

  .cs-table-wrap {
    max-height: min(36dvh, 240px);
  }

  .cs-form,
  .cs-account {
    grid-template-columns: 1fr;
  }

  .cs-form-actions {
    justify-content: stretch;
  }

  .cs-form-actions .cs-rail-btn {
    flex: 1;
    min-width: 0;
  }
}

@media (max-width: 420px) {
  .cs-backdrop.modal-backdrop {
    padding: 0.5rem;
  }

  .cs-backdrop .cs-shell {
    max-height: calc(100dvh - 1rem);
    border-radius: 14px;
  }

  .cs-rail {
    grid-template-columns: 1fr 1fr;
  }
}
/* Reports — same full-bleed shell as Expenses / Payments (kill default main-stage padding) */

.app-shell:has(.zk-rpt) .main-stage {
  background: #eef3f0 !important;
  flex-direction: column !important;
  max-width: none !important;
  height: 100% !important;
  min-height: 0 !important;
  padding: 0 !important;
  display: flex !important;
  overflow: hidden !important;
}

.app-shell:has(.zk-rpt) .main-stage > .zk-rpt {
  flex: 1 1 auto;
  width: 100%;
  max-width: 100%;
  height: 100%;
  min-height: 0;
  min-width: 0;
}

.zk-rpt {
  --rpt-ink: var(--ink, #12201c);
  --rpt-muted: var(--muted, #5f7169);
  --rpt-line: var(--line, #d5ddd8);
  --rpt-card: var(--panel, #fff);
  --rpt-teal: var(--teal, #1f6b5c);
  --rpt-ocean: #1a6b8a;
  --rpt-amber: var(--warn, #b7791f);
  --rpt-rose: var(--danger, #b42318);
  --rpt-violet: #6b4f9a;
  --rpt-lime: var(--ok, #1f7a45);
  --rpt-slate: #4a5a56;
  display: flex;
  flex-direction: column;
  min-height: 0;
  height: 100%;
  overflow: hidden;
  max-width: 100%;
  color: var(--rpt-ink);
  background: var(--surface, #eef2ef);
}

.zk-rpt > .zk-dash-header.zk-dash-header-bar {
  flex-shrink: 0;
  margin: 0 !important;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  border-radius: 0 !important;
  min-width: 0;
}

.zk-rpt > .rpt-page {
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  margin: 0.75rem 1rem 0.5rem;
  overflow: hidden;
  max-width: 100%;
  box-sizing: border-box;
}

.zk-rpt > .zk-hub-foot {
  flex-shrink: 0;
  position: relative;
  left: auto;
  right: auto;
  bottom: auto;
  width: 100%;
  margin-top: 0;
  z-index: 20;
  align-items: center;
  padding: 0.7rem 1.5rem calc(0.7rem + env(safe-area-inset-bottom, 0px)) !important;
  box-sizing: border-box;
}

.rpt-hero,
.rpt-toolbar,
.rpt-metrics,
.rpt-tabs {
  flex-shrink: 0;
  min-width: 0;
  max-width: 100%;
}

.rpt-body {
  flex: 1 1 auto;
  min-height: 0;
  overflow: auto;
  overflow-x: hidden;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
  padding-bottom: 0.35rem;
}

.rpt-hero {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
  padding: 0.95rem 1.1rem;
  border-radius: var(--radius, 18px);
  background: var(--rpt-card);
  border: 1px solid var(--rpt-line);
  box-shadow: var(--shadow, 0 18px 40px #12201c14);
}

.rpt-hero-copy {
  display: grid;
  grid-template-columns: auto 1fr;
  grid-template-areas:
    'back back'
    'mark title';
  align-items: center;
  column-gap: 0.85rem;
  row-gap: 0.35rem;
  min-width: 0;
  flex: 1 1 16rem;
}

.rpt-hero-copy > .rpt-back {
  grid-area: back;
  flex: none;
  width: auto;
  justify-self: start;
}

.rpt-hero-copy > .rpt-hero-mark {
  grid-area: mark;
}

.rpt-hero-copy > div {
  grid-area: title;
  min-width: 0;
}

.rpt-hero-mark {
  flex: 0 0 auto;
  width: 2.75rem;
  height: 2.75rem;
  border-radius: 0.9rem;
  display: grid;
  place-items: center;
  background: var(--teal-soft, #d8ebe5);
  color: var(--rpt-teal);
}

.rpt-hero-mark svg {
  width: 1.35rem;
  height: 1.35rem;
}

.rpt-hero h1 {
  margin: 0;
  font-size: clamp(1.25rem, 2vw, 1.55rem);
  font-weight: 750;
  letter-spacing: -0.02em;
  font-family: var(--font-display);
}

.rpt-hero p {
  margin: 0.2rem 0 0;
  color: var(--rpt-muted);
  font-size: 0.88rem;
}

.rpt-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  align-items: center;
  justify-content: flex-end;
}

.rpt-range {
  padding: 0.4rem 0.7rem;
  border-radius: 999px;
  background: var(--teal-soft, #d8ebe5);
  color: var(--rpt-teal);
  font-size: 0.82rem;
  font-weight: 700;
}

.rpt-btn {
  border: 1px solid var(--rpt-line);
  background: #fff;
  color: var(--rpt-ink);
  border-radius: 999px;
  padding: 0.45rem 0.9rem;
  font: inherit;
  font-size: 0.84rem;
  font-weight: 650;
  cursor: pointer;
  min-height: var(--touch-min, 44px);
}

.rpt-btn:disabled {
  opacity: 0.55;
  cursor: wait;
}

.rpt-btn.primary {
  background: var(--rpt-teal);
  border-color: var(--rpt-teal);
  color: #fff;
}

.rpt-toolbar {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
  align-items: center;
}

.rpt-period {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.3rem;
  padding: 0.22rem;
  border-radius: 999px;
  background: var(--rpt-card);
  border: 1px solid var(--rpt-line);
  min-height: 2.85rem;
  box-sizing: border-box;
}

.rpt-period button {
  border: 0;
  background: transparent;
  color: var(--rpt-muted);
  padding: 0.42rem 0.8rem;
  border-radius: 999px;
  font: inherit;
  font-size: 0.84rem;
  font-weight: 650;
  cursor: pointer;
  min-height: 2.4rem;
  line-height: 1.2;
}

.rpt-period button.on {
  background: var(--rpt-teal);
  color: #fff;
}

.rpt-period .rpt-custom {
  display: inline-flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 0.45rem 0.7rem;
  margin-inline-start: 0.15rem;
  padding: 0 0.15rem 0 0.35rem;
  min-height: 2.4rem;
  border: 0;
  border-inline-start: 1px solid var(--rpt-line);
  border-radius: 0;
  background: transparent;
  box-sizing: border-box;
}

.rpt-period .rpt-custom label {
  display: inline-flex;
  flex-direction: row;
  align-items: center;
  gap: 0.4rem;
  margin: 0;
  font-size: 0.78rem;
  font-weight: 700;
  color: var(--rpt-muted);
  white-space: nowrap;
  line-height: 1;
}

.rpt-period .rpt-custom input {
  appearance: none;
  -webkit-appearance: none;
  min-width: 9.5rem;
  width: auto;
  height: 2.4rem;
  min-height: 2.4rem;
  margin: 0;
  padding: 0 0.65rem;
  border: 1px solid var(--rpt-line);
  border-radius: 999px;
  background: #fff;
  color: var(--rpt-ink);
  font: inherit;
  font-size: 0.84rem;
  font-weight: 600;
  line-height: 1;
  box-sizing: border-box;
  flex: none;
  box-shadow: none;
}

.rpt-period .rpt-custom input:focus {
  outline: 2px solid color-mix(in srgb, var(--rpt-teal) 35%, transparent);
  outline-offset: 1px;
}

@supports not (color: color-mix(in srgb, red 50%, blue)) {

.rpt-period .rpt-custom input:focus {
  outline: 2px solid rgba(31, 107, 92, 0.35);
}
}

.rpt-metrics {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(10.5rem, 1fr));
  gap: 0.65rem;
}

.rpt-metric {
  background: var(--rpt-card);
  border: 1px solid var(--rpt-line);
  border-radius: 14px;
  padding: 0.9rem 1rem;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: flex-start;
  gap: 0.45rem;
  min-height: 5rem;
  box-shadow: 0 8px 20px #12201c0a;
  box-sizing: border-box;
}

.rpt-metric span {
  font-size: 0.74rem;
  color: var(--rpt-muted);
  font-weight: 650;
  line-height: 1.3;
  min-height: 1.95em;
}

.rpt-metric strong {
  font-size: 1.08rem;
  font-weight: 750;
  letter-spacing: -0.02em;
  line-height: 1.2;
  word-break: break-word;
}

.rpt-metric.tone-teal strong { color: var(--rpt-teal); }
.rpt-metric.tone-ocean strong { color: var(--rpt-ocean); }
.rpt-metric.tone-amber strong { color: var(--rpt-amber); }
.rpt-metric.tone-rose strong { color: var(--rpt-rose); }
.rpt-metric.tone-violet strong { color: var(--rpt-violet); }
.rpt-metric.tone-lime strong { color: var(--rpt-lime); }
.rpt-metric.tone-slate strong { color: var(--rpt-slate); }

.rpt-tabs {
  display: flex;
  gap: 0.3rem;
  overflow-x: auto;
  scrollbar-width: thin;
  border-bottom: 1px solid var(--rpt-line);
}

.rpt-tabs button {
  flex: 0 0 auto;
  border: 0;
  background: transparent;
  color: var(--rpt-muted);
  padding: 0.55rem 0.85rem;
  border-bottom: 2px solid transparent;
  margin-bottom: -1px;
  font: inherit;
  font-weight: 650;
  cursor: pointer;
  white-space: nowrap;
  min-height: var(--touch-min, 44px);
}

.rpt-tabs button.on {
  color: var(--rpt-teal);
  border-bottom-color: var(--rpt-teal);
}

.rpt-panel {
  background: var(--rpt-card);
  border: 1px solid var(--rpt-line);
  border-radius: var(--radius, 18px);
  padding: 1rem 1.1rem 1.2rem;
  box-shadow: var(--shadow, 0 18px 40px #12201c14);
}

.rpt-panel-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 0.75rem;
  margin-bottom: 0.85rem;
}

.rpt-panel-head h2,
.rpt-subhead,
.rpt-split h3 {
  margin: 0;
  font-size: 1rem;
  font-weight: 700;
}

.rpt-subhead {
  margin: 1.1rem 0 0.65rem;
}

.rpt-profit {
  font-weight: 750;
  color: var(--rpt-lime);
}

.rpt-profit.neg {
  color: var(--rpt-rose);
}

.rpt-cogs-hint {
  margin: 0 0 0.65rem;
}

.rpt-spark {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(1.5rem, 1fr);
  gap: 0.3rem;
  align-items: end;
  height: 9.5rem;
  padding: 0.35rem 0 0;
  overflow-x: auto;
}

.rpt-spark-col {
  display: grid;
  grid-template-rows: 1fr auto;
  height: 100%;
  min-width: 0;
  justify-items: center;
  gap: 0.3rem;
}

.rpt-spark-col i {
  align-self: end;
  width: 70%;
  max-width: 1.4rem;
  border-radius: 0.35rem 0.35rem 0.15rem 0.15rem;
  background: linear-gradient(180deg, #2a9b86, var(--rpt-teal));
  min-height: 4px;
}

.rpt-spark-col em {
  font-style: normal;
  font-size: 0.62rem;
  color: var(--rpt-muted);
  white-space: nowrap;
}

.rpt-split {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.1rem;
  margin-top: 1.1rem;
  padding-top: 0.9rem;
  border-top: 1px solid var(--rpt-line);
}

.rpt-bars {
  list-style: none;
  margin: 0.65rem 0 0;
  padding: 0;
  display: grid;
  gap: 0.65rem;
}

.rpt-bar-head {
  display: flex;
  justify-content: space-between;
  gap: 0.75rem;
  font-size: 0.88rem;
}

.rpt-bar-head strong {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-weight: 650;
}

.rpt-bar-track {
  height: 0.4rem;
  border-radius: 999px;
  background: rgba(18, 32, 28, 0.08);
  overflow: hidden;
  margin-top: 0.25rem;
}

.rpt-bar-track i {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--rpt-teal), #2a9b86);
}

.rpt-bar-meta {
  display: block;
  margin-top: 0.15rem;
  color: var(--rpt-muted);
}

.rpt-table-block {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  min-width: 0;
}

.rpt-table-wrap {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin;
}

.rpt-pager {
  color: var(--rpt-muted);
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 0.75rem;
  padding: 0.65rem 0.15rem 0.1rem;
  font-size: 0.8rem;
  border-top: 1px solid color-mix(in srgb, var(--rpt-line) 80%, transparent);
  margin-top: 0.2rem;
}

@supports not (color: color-mix(in srgb, red 50%, blue)) {

.rpt-pager {
  border-top: 1px solid rgba(213, 221, 216, 0.8);
}
}

.rpt-pager-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.28rem;
}

.rpt-page-group {
  display: inline-flex;
  align-items: center;
  gap: 0.28rem;
}

.rpt-page-gap {
  padding: 0 0.1rem;
  font-weight: 700;
  color: var(--rpt-muted);
}

.rpt-page-btn {
  color: #1b4332;
  cursor: pointer;
  background: #fff;
  border: 1px solid #d8e2dc;
  border-radius: 8px;
  min-width: 2rem;
  height: 2rem;
  padding: 0 0.55rem;
  font-size: 0.78rem;
  font-weight: 700;
}

.rpt-page-btn.on {
  color: #fff;
  background: #1b4332;
  border-color: #1b4332;
}

.rpt-page-btn:disabled {
  opacity: 0.4;
  cursor: not-allowed;
}

.rpt-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.9rem;
  min-width: 36rem;
}

.rpt-table th,
.rpt-table td {
  text-align: start;
  padding: 0.65rem 0.55rem;
  border-bottom: 1px solid var(--rpt-line);
  vertical-align: middle;
}

.rpt-table th {
  color: var(--rpt-muted);
  font-weight: 650;
  font-size: 0.74rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  background: color-mix(in srgb, var(--rpt-card) 88%, var(--rpt-line));
  position: sticky;
  top: 0;
  z-index: 1;
}

@supports not (color: color-mix(in srgb, red 50%, blue)) {

.rpt-table th {
  background: #fafbfa;
}
}

.rpt-table tbody tr:hover {
  background: color-mix(in srgb, var(--rpt-teal) 5%, transparent);
}

@supports not (color: color-mix(in srgb, red 50%, blue)) {

.rpt-table tbody tr:hover {
  background: rgba(31, 107, 92, 0.05);
}
}

.rpt-row-warn {
  background: color-mix(in srgb, var(--rpt-rose) 6%, transparent);
}

@supports not (color: color-mix(in srgb, red 50%, blue)) {

.rpt-row-warn {
  background: rgba(180, 35, 24, 0.06);
}
}

.rpt-pill {
  display: inline-block;
  margin-inline-start: 0.4rem;
  padding: 0.1rem 0.45rem;
  border-radius: 999px;
  font-size: 0.68rem;
  font-style: normal;
  font-weight: 700;
  vertical-align: middle;
  background: color-mix(in srgb, var(--rpt-amber) 18%, #fff);
  color: var(--rpt-amber);
}

@supports not (color: color-mix(in srgb, red 50%, blue)) {

.rpt-pill {
  background: #f2e7d7;
}
}

.rpt-pill.warn {
  background: color-mix(in srgb, var(--rpt-rose) 16%, #fff);
  color: var(--rpt-rose);
}

@supports not (color: color-mix(in srgb, red 50%, blue)) {

.rpt-pill.warn {
  background: #f3dcda;
}
}

.rpt-pill.status-draft,
.rpt-pill.status-requested {
  background: color-mix(in srgb, var(--rpt-slate) 14%, #fff);
  color: var(--rpt-slate);
}

@supports not (color: color-mix(in srgb, red 50%, blue)) {

.rpt-pill.status-draft,
.rpt-pill.status-requested {
  background: #e6e8e7;
}
}

.rpt-pill.status-ordered,
.rpt-pill.status-in_transit {
  background: color-mix(in srgb, var(--rpt-ocean) 16%, #fff);
  color: var(--rpt-ocean);
}

@supports not (color: color-mix(in srgb, red 50%, blue)) {

.rpt-pill.status-ordered,
.rpt-pill.status-in_transit {
  background: #dae7ec;
}
}

.rpt-pill.status-partial {
  background: color-mix(in srgb, var(--rpt-amber) 18%, #fff);
  color: var(--rpt-amber);
}

@supports not (color: color-mix(in srgb, red 50%, blue)) {

.rpt-pill.status-partial {
  background: #f2e7d7;
}
}

.rpt-pill.status-received,
.rpt-pill.status-completed {
  background: color-mix(in srgb, var(--rpt-lime) 16%, #fff);
  color: var(--rpt-lime);
}

@supports not (color: color-mix(in srgb, red 50%, blue)) {

.rpt-pill.status-received,
.rpt-pill.status-completed {
  background: #dbeae1;
}
}

.rpt-pill.status-cancelled {
  background: color-mix(in srgb, var(--rpt-rose) 16%, #fff);
  color: var(--rpt-rose);
}

@supports not (color: color-mix(in srgb, red 50%, blue)) {

.rpt-pill.status-cancelled {
  background: #f3dcda;
}
}

.rpt-mini-bar {
  margin-top: 0.3rem;
  height: 0.28rem;
  border-radius: 999px;
  background: rgba(18, 32, 28, 0.07);
  overflow: hidden;
}

.rpt-mini-bar i {
  display: block;
  height: 100%;
  background: var(--rpt-teal);
}

.rpt-pnl-cards {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.65rem;
}

.rpt-pnl-cards article {
  border: 1px solid var(--rpt-line);
  border-radius: 0.9rem;
  padding: 0.85rem 0.95rem;
  display: grid;
  gap: 0.3rem;
  background: var(--surface-2, #f7f9f7);
}

.rpt-pnl-cards article span {
  color: var(--rpt-muted);
  font-size: 0.78rem;
}

.rpt-pnl-cards article strong {
  font-size: 1.15rem;
}

.rpt-pnl-cards article.pos {
  background: var(--ok-soft, #d8f0e2);
}

.rpt-pnl-cards article.neg {
  background: var(--danger-soft, #f8d7d3);
}

.rpt-pnl-cards small a {
  color: var(--rpt-teal);
}

.rpt-pnl-sheet {
  width: 100%;
  border: 1px solid var(--rpt-line);
  border-radius: 14px;
  background: #fff;
  padding: 1rem 1.1rem 1.15rem;
  overflow-x: auto;
}

.rpt-pnl-period {
  margin: 0 0 0.85rem;
  text-align: center;
  font-size: 0.95rem;
  color: var(--rpt-ink);
}

.rpt-pnl-period strong {
  font-weight: 750;
}

.rpt-pnl-classic {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.92rem;
  min-width: 32rem;
}

.rpt-pnl-classic th,
.rpt-pnl-classic td {
  border: 1px solid #c9d4ce;
  padding: 0.55rem 0.7rem;
  vertical-align: middle;
}

.rpt-pnl-classic thead th {
  background: #f3f7f5;
  color: var(--rpt-muted);
  font-size: 0.74rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  text-align: start;
}

.rpt-pnl-classic thead th:nth-child(2),
.rpt-pnl-classic thead th:nth-child(3),
.rpt-pnl-classic td:nth-child(2),
.rpt-pnl-classic td:nth-child(3) {
  text-align: end;
  width: 9.5rem;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}

.rpt-pnl-classic td:first-child {
  text-align: start;
}

.rpt-pnl-section td {
  background: color-mix(in srgb, var(--rpt-teal) 8%, #fff);
  font-size: 0.95rem;
}

@supports not (color: color-mix(in srgb, red 50%, blue)) {

.rpt-pnl-section td {
  background: #edf3f2;
}
}

.rpt-pnl-item td:first-child {
  padding-inline-start: 1.35rem;
}

.rpt-pnl-item.is-deduct td:nth-child(2) {
  color: #9a4318;
}

.rpt-pnl-item.is-muted td {
  color: var(--rpt-muted);
  font-style: italic;
}

.rpt-pnl-total td {
  background: #f7faf8;
}

.rpt-pnl-spacer td {
  border-left: 0;
  border-right: 0;
  height: 0.7rem;
  padding: 0;
  background: transparent;
  border-color: transparent #c9d4ce;
}

.rpt-pnl-result td {
  background: color-mix(in srgb, var(--rpt-teal) 14%, #fff);
}

@supports not (color: color-mix(in srgb, red 50%, blue)) {

.rpt-pnl-result td {
  background: #e0eae8;
}
}

.rpt-pnl-result td:nth-child(3) {
  color: #1f7a45;
  font-size: 1rem;
}

.rpt-pnl-result.is-neg td:nth-child(3) {
  color: #b42318;
}

.rpt-table th:last-child,
.rpt-table td:last-child {
  text-align: end;
}

.rpt-empty {
  display: grid;
  gap: 0.3rem;
  place-items: center;
  text-align: center;
  padding: 2.2rem 1rem;
  color: var(--rpt-muted);
}

.rpt-empty strong {
  color: var(--rpt-ink);
  font-size: 1rem;
}

.rpt-muted {
  color: var(--rpt-muted);
  margin: 0.4rem 0 0;
  font-size: 0.86rem;
}

.rpt-panel-lead {
  margin: -0.15rem 0 0.75rem;
  line-height: 1.4;
}

@media (max-width: 1100px) {
  .rpt-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 960px) {
  .zk-rpt > .rpt-page {
    margin: 0.5rem 0.55rem 0.35rem;
    gap: 0.65rem;
    overflow-x: hidden;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-y: contain;
    padding-bottom: 0.5rem;
  }

  .zk-rpt > .rpt-page > .rpt-body {
    flex: none;
    min-height: auto;
    overflow: visible;
  }

  .rpt-tabs {
    flex-wrap: nowrap;
    overflow-x: auto;
    overflow-y: hidden;
    scrollbar-width: none;
  }

  .rpt-tabs::-webkit-scrollbar {
    display: none;
  }

  .rpt-split,
  .rpt-pnl-cards {
    grid-template-columns: 1fr;
  }

  .rpt-spark {
    height: 8rem;
  }

  .rpt-hero {
    padding: 0.8rem 0.9rem;
  }
}

@media (max-width: 560px) {
  .rpt-metrics {
    grid-template-columns: 1fr;
  }

  .rpt-period {
    width: 100%;
  }

  .rpt-period button {
    flex: 1 1 auto;
    text-align: center;
  }

  .rpt-period .rpt-custom {
    width: 100%;
    flex-wrap: wrap;
    margin-inline-start: 0;
    padding: 0.35rem 0.15rem 0.15rem;
    border-inline-start: 0;
    border-top: 1px solid var(--rpt-line);
  }

  .rpt-period .rpt-custom label {
    flex: 1 1 9rem;
  }

  .rpt-period .rpt-custom input {
    flex: 1 1 auto;
    width: 100%;
    min-width: 0;
  }

  .rpt-hero-actions {
    width: 100%;
  }

  .rpt-btn {
    flex: 1 1 auto;
  }
}

html[dir='rtl'] .rpt-tabs {
  direction: rtl;
}

/* All Reports hub — category sidebar + report list */
.zk-rpt.is-hub > .rpt-hub {
  flex: 1 1 auto;
  min-height: 0;
  display: grid;
  grid-template-columns: minmax(13.5rem, 16.5rem) minmax(0, 1fr);
  gap: 0;
  margin: 0;
  overflow: hidden;
  background: #f4f6f5;
  border-top: 1px solid var(--rpt-line);
}

.rpt-hub-side {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  padding: 0.85rem 0.65rem 1rem;
  background: #fff;
  border-inline-end: 1px solid var(--rpt-line);
  overflow: auto;
  min-height: 0;
}

.rpt-hub-side-kicker {
  margin: 0.55rem 0.55rem 0.25rem;
  font-size: 0.68rem;
  font-weight: 750;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--rpt-muted);
}

.rpt-hub-nav {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
}

.rpt-hub-nav button {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 0.45rem;
  width: 100%;
  margin: 0;
  padding: 0.55rem 0.6rem;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: var(--rpt-ink);
  font: inherit;
  font-size: 0.88rem;
  font-weight: 650;
  text-align: start;
  cursor: pointer;
}

.rpt-hub-nav button:hover {
  background: #eef3f0;
}

.rpt-hub-nav button.on {
  background: color-mix(in srgb, var(--rpt-teal) 14%, #fff);
  color: var(--rpt-teal);
}

@supports not (color: color-mix(in srgb, red 50%, blue)) {

.rpt-hub-nav button.on {
  background: #e0eae8;
}
}

.rpt-hub-nav em {
  font-style: normal;
  font-size: 0.75rem;
  font-weight: 700;
  color: var(--rpt-muted);
  min-width: 1.25rem;
  text-align: end;
}

.rpt-hub-nav button.on em {
  color: var(--rpt-teal);
}

.rpt-hub-nav-ico {
  width: 1.1rem;
  text-align: center;
  opacity: 0.75;
}

.rpt-hub-nav-folder {
  width: 0.85rem;
  height: 0.7rem;
  border-radius: 2px;
  border: 1.5px solid currentColor;
  opacity: 0.55;
}

.rpt-hub-main {
  display: flex;
  flex-direction: column;
  min-width: 0;
  min-height: 0;
  padding: 1rem 1.15rem 0.75rem;
  overflow: hidden;
}

.rpt-hub-head {
  flex-shrink: 0;
  margin-bottom: 0.85rem;
}

.rpt-hub-head h1 {
  margin: 0;
  display: flex;
  align-items: center;
  gap: 0.55rem;
  font-family: var(--font-display);
  font-size: clamp(1.2rem, 2.5vw, 1.45rem);
  font-weight: 750;
  letter-spacing: -0.02em;
}

.rpt-hub-count {
  display: inline-grid;
  place-items: center;
  min-width: 1.6rem;
  height: 1.35rem;
  padding: 0 0.4rem;
  border-radius: 999px;
  background: color-mix(in srgb, var(--rpt-teal) 16%, #fff);
  color: var(--rpt-teal);
  font-size: 0.78rem;
  font-weight: 800;
}

@supports not (color: color-mix(in srgb, red 50%, blue)) {

.rpt-hub-count {
  background: #dbe7e5;
}
}

.rpt-hub-head p {
  margin: 0.35rem 0 0;
  color: var(--rpt-muted);
  font-size: 0.9rem;
}

.rpt-hub-table-wrap {
  flex: 1 1 auto;
  min-height: 0;
  overflow: auto;
  background: #fff;
  border: 1px solid var(--rpt-line);
  border-radius: 12px;
}

.rpt-hub-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.9rem;
}

.rpt-hub-table th {
  position: sticky;
  top: 0;
  z-index: 1;
  padding: 0.7rem 0.9rem;
  text-align: start;
  font-size: 0.72rem;
  font-weight: 750;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--rpt-muted);
  background: #f7faf8;
  border-bottom: 1px solid var(--rpt-line);
}

.rpt-hub-table td {
  padding: 0.85rem 0.9rem;
  border-bottom: 1px solid #e8eeea;
  vertical-align: middle;
  color: var(--rpt-ink);
}

.rpt-hub-table tr:last-child td {
  border-bottom: 0;
}

.rpt-hub-table tbody tr:hover td {
  background: #f7faf8;
}

.rpt-hub-name {
  display: flex;
  align-items: center;
  gap: 0.35rem;
  min-width: 0;
}

.rpt-fav {
  flex-shrink: 0;
  width: 1.75rem;
  height: 1.75rem;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 6px;
  background: transparent;
  color: #b7c4bd;
  font-size: 0.95rem;
  cursor: pointer;
  line-height: 1;
}

.rpt-fav:hover,
.rpt-fav.on {
  color: #e67700;
  background: #fff4e6;
}

.rpt-hub-link {
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--rpt-teal);
  font: inherit;
  font-weight: 700;
  text-align: start;
  cursor: pointer;
}

.rpt-hub-link:hover {
  text-decoration: underline;
}

.rpt-back {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  margin: 0;
  padding: 0.15rem 0;
  border: 0;
  background: transparent;
  color: var(--rpt-teal);
  font: inherit;
  font-size: 0.82rem;
  font-weight: 700;
  cursor: pointer;
}

.zk-rpt.is-detail .rpt-hero {
  align-items: center;
}

.zk-rpt.is-detail .rpt-metrics {
  grid-template-columns: repeat(auto-fit, minmax(10.5rem, 1fr));
}

.zk-rpt.is-detail .rpt-tabs {
  display: none !important;
}

.zk-rpt.is-daily > .rpt-page.rpt-daily {
  flex: 1 1 auto;
  min-height: 0;
  overflow: auto;
  padding: 0.85rem 1.15rem 1.25rem;
  background: #f5f8f6;
}

.zk-rpt.is-detail .rpt-page {
  gap: 0.75rem;
}

.zk-rpt.is-detail .rpt-hero-actions {
  align-items: center;
  flex-wrap: wrap;
  justify-content: flex-end;
}

@media (max-width: 900px) {
  .zk-rpt.is-hub > .rpt-hub {
    grid-template-columns: 1fr;
    overflow: auto;
  }

  .rpt-hub-side {
    border-inline-end: 0;
    border-bottom: 1px solid var(--rpt-line);
    max-height: none;
  }

  .rpt-hub-nav {
    flex-direction: row;
    flex-wrap: wrap;
  }

  .rpt-hub-nav button {
    flex: 1 1 auto;
    min-width: 8.5rem;
  }

  .rpt-hub-nav em {
    display: none;
  }

  .rpt-hub-main {
    overflow: visible;
  }
}

@media print {
  /* App shell clips to viewport (overflow:hidden + height:100%) — unclip for print */
  html:has(.zk-rpt),
  html:has(.zk-rpt) body,
  html:has(.zk-rpt) #root {
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    background: #fff !important;
  }

  html:has(.zk-rpt) body {
    background: #fff !important;
  }

  .side-nav,
  .topbar,
  .dash-header,
  .zk-dash-header,
  .zk-hub-foot,
  .flash-toast,
  .no-print {
    display: none !important;
  }

  .app-shell:has(.zk-rpt) {
    display: block !important;
    grid-template-columns: none !important;
    height: auto !important;
    max-height: none !important;
    min-height: 0 !important;
    overflow: visible !important;
    width: 100% !important;
  }

  .app-shell:has(.zk-rpt) .main-stage,
  .app-shell:has(.zk-rpt) .main-stage > .zk-rpt,
  .zk-rpt,
  .zk-rpt > .rpt-page,
  .zk-rpt .rpt-body,
  .zk-rpt .rpt-panel {
    display: block !important;
    flex: none !important;
    height: auto !important;
    max-height: none !important;
    min-height: 0 !important;
    overflow: visible !important;
    position: static !important;
  }

  .app-shell:has(.zk-rpt) .main-stage {
    padding: 0 !important;
    margin: 0 !important;
    max-width: none !important;
    background: #fff !important;
  }

  .zk-rpt {
    background: #fff !important;
    color: #12201c !important;
  }

  .rpt-page {
    margin: 0 !important;
    gap: 0.75rem !important;
  }

  .rpt-hero {
    break-inside: avoid;
    box-shadow: none !important;
  }

  .rpt-metrics {
    break-inside: avoid;
  }

  .rpt-metric,
  .rpt-panel,
  .rpt-pnl-cards article {
    break-inside: avoid;
    box-shadow: none !important;
  }

  .rpt-spark-col i,
  .rpt-bar-track i {
    print-color-adjust: exact;
    -webkit-print-color-adjust: exact;
  }

  .rpt-metric,
  .rpt-panel,
  .rpt-hero {
    print-color-adjust: exact;
    -webkit-print-color-adjust: exact;
  }
}
/* Barcode POS — scan → cart → settle */

.app-shell:has(.zk-bc) .main-stage {
  background: #eef3f0 !important;
  flex-direction: column !important;
  max-width: none !important;
  height: 100% !important;
  min-height: 0 !important;
  padding: 0 !important;
  display: flex !important;
  overflow: hidden !important;
}

.app-shell:has(.zk-bc) .main-stage > .zk-bc {
  flex: 1 1 auto;
  width: 100%;
  max-width: 100%;
  height: 100%;
  min-height: 0;
  min-width: 0;
}

.zk-bc {
  display: flex;
  flex-direction: column;
  height: 100%;
  min-height: 0;
  overflow: hidden;
  background: var(--surface, #eef2ef);
  color: var(--ink, #12201c);
}

.zk-bc > .zk-dash-header.zk-dash-header-bar {
  flex-shrink: 0;
  margin: 0 !important;
  border-radius: 0 !important;
}

.zk-bc > .bc-page {
  flex: 1 1 auto;
  min-height: 0;
  overflow: auto;
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
  padding: 0.75rem 1rem 0.5rem;
  box-sizing: border-box;
}

.zk-bc > .zk-hub-foot {
  flex-shrink: 0;
  position: relative;
  width: 100%;
  margin-top: 0;
  padding: 0.7rem 1.5rem calc(0.7rem + env(safe-area-inset-bottom, 0px)) !important;
  box-sizing: border-box;
}

.bc-hero {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
  padding: 0.9rem 1.05rem;
  border-radius: 16px;
  background: #fff;
  border: 1px solid var(--line, #d5ddd8);
  box-shadow: var(--shadow, 0 18px 40px #12201c14);
}

.bc-hero-copy {
  display: flex;
  align-items: center;
  gap: 0.85rem;
  min-width: 0;
}

.bc-hero-mark {
  width: 2.75rem;
  height: 2.75rem;
  border-radius: 0.9rem;
  display: grid;
  place-items: center;
  background: #e8edf2;
  color: #343a40;
}

.bc-hero-mark svg {
  width: 1.35rem;
  height: 1.35rem;
}

.bc-hero h1 {
  margin: 0;
  font-size: 1.35rem;
  font-weight: 750;
}

.bc-hero p {
  margin: 0.15rem 0 0;
  color: var(--muted, #5f7169);
  font-size: 0.9rem;
}

.bc-hero-actions {
  display: flex;
  align-items: center;
  gap: 0.55rem;
}

.bc-pill.closed {
  padding: 0.35rem 0.65rem;
  border-radius: 999px;
  background: #f8d7d3;
  color: #b42318;
  font-size: 0.78rem;
  font-weight: 700;
}

.bc-scan-card {
  background: #fff;
  border: 1px solid var(--line, #d5ddd8);
  border-radius: 16px;
  padding: 0.95rem 1.05rem;
  box-shadow: var(--shadow, 0 18px 40px #12201c14);
}

.bc-scan-label {
  display: block;
  font-weight: 700;
  margin-bottom: 0.45rem;
}

.bc-scan-row {
  display: flex;
  gap: 0.55rem;
  align-items: stretch;
}

.bc-scan-input {
  flex: 1 1 auto;
  min-width: 0;
  min-height: 3rem;
  border: 2px solid #1f6b5c;
  border-radius: 12px;
  padding: 0.65rem 0.9rem;
  font-size: 1.15rem;
  font-weight: 650;
  letter-spacing: 0.04em;
}

.bc-scan-input:focus {
  outline: none;
  box-shadow: 0 0 0 3px rgba(31, 107, 92, 0.2);
}

.bc-scan-help,
.bc-muted {
  margin: 0.45rem 0 0;
  color: var(--muted, #5f7169);
  font-size: 0.86rem;
}

.bc-last-hit {
  margin: 0.55rem 0 0;
  font-weight: 700;
  color: #1f7a45;
}

.bc-desk {
  display: grid;
  grid-template-columns: minmax(0, 1.6fr) minmax(14rem, 0.9fr);
  gap: 0.85rem;
  align-items: start;
}

.bc-ticket,
.bc-queue {
  background: #fff;
  border: 1px solid var(--line, #d5ddd8);
  border-radius: 16px;
  padding: 0.9rem 1rem;
  box-shadow: var(--shadow, 0 18px 40px #12201c14);
}

.bc-ticket-head {
  display: flex;
  justify-content: space-between;
  gap: 0.75rem;
  align-items: flex-start;
  margin-bottom: 0.75rem;
}

.bc-ticket-head strong {
  display: block;
}

.bc-ticket-head span {
  color: var(--muted, #5f7169);
  font-size: 0.85rem;
}

.bc-empty {
  display: grid;
  gap: 0.25rem;
  padding: 1.25rem 0.5rem;
  text-align: center;
  color: var(--muted, #5f7169);
}

.bc-lines {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 0.65rem;
}

.bc-lines li {
  display: flex;
  justify-content: space-between;
  gap: 0.75rem;
  align-items: center;
  padding: 0.55rem 0;
  border-bottom: 1px solid var(--line, #d5ddd8);
}

.bc-lines li strong {
  display: block;
}

.bc-lines li small {
  display: block;
  color: var(--muted, #5f7169);
}

.bc-lines li em {
  display: block;
  font-style: normal;
  font-weight: 700;
  margin-top: 0.2rem;
}

.bc-totals {
  display: grid;
  gap: 0.35rem;
  margin-top: 0.85rem;
  padding-top: 0.75rem;
  border-top: 1px solid var(--line, #d5ddd8);
}

.bc-totals > div {
  display: flex;
  justify-content: space-between;
  gap: 0.75rem;
}

.bc-totals .bc-total {
  font-size: 1.05rem;
}

.bc-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-top: 0.85rem;
}

.bc-queue h2 {
  margin: 0 0 0.65rem;
  font-size: 1rem;
}

.bc-queue ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 0.4rem;
}

.bc-queue button {
  width: 100%;
  text-align: start;
  border: 1px solid var(--line, #d5ddd8);
  background: #f7f9f7;
  border-radius: 12px;
  padding: 0.65rem 0.75rem;
  cursor: pointer;
  font: inherit;
}

.bc-queue button.on {
  border-color: #1f6b5c;
  background: #d8ebe5;
}

.bc-queue button strong {
  display: block;
}

.bc-queue button span {
  color: var(--muted, #5f7169);
  font-size: 0.82rem;
}

.bc-queue-link {
  display: inline-block;
  margin-top: 0.85rem;
  color: #1f6b5c;
  font-weight: 650;
  text-decoration: none;
}

@media (max-width: 960px) {
  .bc-desk {
    grid-template-columns: 1fr;
  }

  .zk-bc > .bc-page {
    padding: 0.55rem 0.65rem 0.45rem;
  }
}
/* Access denied — centered card, mobile-first */

.app-shell:has(.zk-access-denied) .main-stage {
  padding: 0 !important;
  display: flex !important;
  overflow: auto !important;
  min-height: 0;
}

.zk-access-denied {
  flex: 1 1 auto;
  width: 100%;
  min-height: 100%;
  display: grid;
  place-items: center;
  padding: max(1rem, env(safe-area-inset-top, 0px)) 1rem
    max(1.25rem, env(safe-area-inset-bottom, 0px));
  box-sizing: border-box;
  background:
    radial-gradient(640px 280px at 12% 0%, rgba(31, 107, 92, 0.1), transparent 55%),
    radial-gradient(520px 240px at 100% 8%, rgba(180, 35, 24, 0.06), transparent 50%),
    linear-gradient(180deg, #eef3f0 0%, #e6ece8 100%);
}

.zk-access-denied-card {
  width: min(100%, 26rem);
  margin: 0 auto;
  padding: 1.35rem 1.25rem 1.25rem;
  border-radius: 18px;
  background: #fff;
  border: 1px solid var(--line, #d5ddd8);
  box-shadow: var(--shadow, 0 18px 40px #12201c14);
  text-align: center;
  box-sizing: border-box;
}

.zk-access-denied-mark {
  width: 3rem;
  height: 3rem;
  margin: 0 auto 0.85rem;
  border-radius: 999px;
  display: grid;
  place-items: center;
  background: #f8d7d3;
  color: #b42318;
}

.zk-access-denied-mark svg {
  width: 1.45rem;
  height: 1.45rem;
}

.zk-access-denied-title {
  display: block;
  font-family: var(--font-display);
  font-size: clamp(1.2rem, 3.5vw, 1.45rem);
  font-weight: 750;
  color: var(--ink, #12201c);
  letter-spacing: -0.02em;
}

.zk-access-denied-lead {
  margin: 0.55rem 0 0;
  color: var(--ink-soft, #2a3b35);
  font-size: 0.98rem;
  line-height: 1.45;
  font-weight: 650;
}

.zk-access-denied-hint {
  margin: 0.45rem 0 0;
  color: var(--muted, #5f7169);
  font-size: 0.88rem;
  line-height: 1.5;
}

.zk-access-denied-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.55rem;
  margin-top: 1.25rem;
}

.zk-access-denied-btn {
  min-height: var(--touch-min, 44px);
  min-width: 8.5rem;
  justify-content: center;
}

@media (max-width: 560px) {
  .zk-access-denied {
    place-items: end center;
    padding-bottom: max(1.5rem, env(safe-area-inset-bottom, 0px));
  }

  .zk-access-denied-card {
    width: 100%;
    border-radius: 18px 18px 14px 14px;
    padding: 1.2rem 1rem 1.1rem;
  }

  .zk-access-denied-actions {
    flex-direction: column;
    align-items: stretch;
  }

  .zk-access-denied-btn {
    width: 100%;
    min-width: 0;
  }
}
/* Channel honesty badges (Demo / Needs API key / Live) */
.ol-honesty {
  display: inline-flex;
  align-items: center;
  margin-inline-start: 0.25rem;
  padding: 0.1rem 0.4rem;
  border-radius: 999px;
  font-size: 0.62rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  line-height: 1.2;
  white-space: nowrap;
}

.ol-honesty-demo {
  color: var(--muted);
  background: color-mix(in srgb, var(--line) 55%, #fff);
  border: 1px solid var(--line);
}

@supports not (color: color-mix(in srgb, red 50%, blue)) {

.ol-honesty-demo {
  background: #e8ecea;
}
}

.ol-honesty-needs_key {
  color: var(--warn);
  background: var(--warn-soft);
  border: 1px solid color-mix(in srgb, var(--warn) 35%, var(--line));
}

@supports not (color: color-mix(in srgb, red 50%, blue)) {

.ol-honesty-needs_key {
  border: 1px solid #cbba97;
}
}

.ol-honesty-live {
  color: var(--ok);
  background: var(--ok-soft);
  border: 1px solid color-mix(in srgb, var(--ok) 35%, var(--line));
}

@supports not (color: color-mix(in srgb, red 50%, blue)) {

.ol-honesty-live {
  border: 1px solid #95baa5;
}
}

.ol-channel-tab .ol-honesty {
  margin: 0.15rem 0 0;
}
/* Guest QR storefront — public /order/:branchId */

.zk-guest {
  min-height: 100dvh;
  background:
    radial-gradient(120% 80% at 10% -10%, color-mix(in srgb, var(--teal, #0d9488) 18%, transparent), transparent 55%),
    radial-gradient(90% 60% at 100% 0%, color-mix(in srgb, var(--amber, #d97706) 12%, transparent), transparent 50%),
    var(--bg, #f4f6f8);
  color: var(--ink, #1a1f24);
  padding: 1rem 1rem 2rem;
}

@supports not (color: color-mix(in srgb, red 50%, blue)) {

.zk-guest {
  background:
    radial-gradient(120% 80% at 10% -10%, rgba(31, 107, 92, 0.18), transparent 55%),
    radial-gradient(90% 60% at 100% 0%, transparent, transparent 50%),
    var(--bg, #f4f6f8);
}
}

.zk-guest-shell {
  max-width: 42rem;
  margin: 0 auto;
}

.zk-guest-hero {
  display: flex;
  align-items: flex-start;
  gap: 0.85rem;
  margin-bottom: 1rem;
  padding: 1rem 1.1rem;
  border-radius: 1rem;
  background: color-mix(in srgb, var(--panel, #fff) 92%, transparent);
  border: 1px solid var(--line, #e2e8f0);
  box-shadow: 0 10px 30px color-mix(in srgb, #0f172a 6%, transparent);
}

@supports not (color: color-mix(in srgb, red 50%, blue)) {

.zk-guest-hero {
  background: rgba(255, 255, 255, 0.92);
  box-shadow: 0 10px 30px rgba(15, 23, 42, 0.06);
}
}

.zk-guest-mark {
  width: 2.75rem;
  height: 2.75rem;
  border-radius: 0.85rem;
  display: grid;
  place-items: center;
  background: linear-gradient(145deg, #0f766e, #14b8a6);
  color: #fff;
  font-weight: 800;
  letter-spacing: 0.02em;
  flex: 0 0 auto;
}

.zk-guest-hero h1 {
  margin: 0;
  font-size: 1.35rem;
  line-height: 1.2;
}

.zk-guest-hero p {
  margin: 0.3rem 0 0;
  opacity: 0.75;
  font-size: 0.92rem;
}

.zk-guest-warn {
  margin: 0.65rem 0 0;
  color: #b42318;
  font-size: 0.88rem;
}

.zk-guest-cats {
  display: flex;
  gap: 0.45rem;
  flex-wrap: wrap;
  margin-bottom: 0.85rem;
}

.zk-guest-menu {
  display: grid;
  gap: 0.45rem;
  margin-bottom: 1rem;
}

.zk-guest-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 0.75rem;
  text-align: start;
  width: 100%;
  min-height: 3rem;
  padding: 0.7rem 0.9rem;
  border-radius: 0.85rem;
  border: 1px solid var(--line, #e2e8f0);
  background: var(--panel, #fff);
  color: inherit;
  font: inherit;
  cursor: pointer;
}

.zk-guest-item:active {
  transform: scale(0.99);
}

.zk-guest-item strong {
  white-space: nowrap;
}

.zk-guest-cart {
  border-radius: 1rem;
  border: 1px solid var(--line, #e2e8f0);
  background: var(--panel, #fff);
  padding: 1rem;
  box-shadow: 0 12px 28px color-mix(in srgb, #0f172a 5%, transparent);
}

@supports not (color: color-mix(in srgb, red 50%, blue)) {

.zk-guest-cart {
  box-shadow: 0 12px 28px rgba(15, 23, 42, 0.05);
}
}

.zk-guest-cart h2 {
  margin: 0 0 0.5rem;
  font-size: 1.1rem;
}

.zk-guest-cart ul {
  margin: 0 0 0.75rem;
  padding-inline-start: 1.1rem;
}

.zk-guest-field {
  display: block;
  margin-top: 0.55rem;
  font-size: 0.85rem;
  font-weight: 600;
}

.zk-guest-field input {
  display: block;
  width: 100%;
  margin-top: 0.25rem;
  min-height: 2.75rem;
  border-radius: 0.7rem;
  border: 1px solid var(--line, #cbd5e1);
  padding: 0.55rem 0.75rem;
  font: inherit;
  background: #fff;
}

.zk-guest-submit {
  margin-top: 0.85rem;
  width: 100%;
  min-height: 3rem;
}

.zk-guest-center {
  text-align: center;
  padding: 2.5rem 1.25rem;
}

.zk-guest-center h1 {
  margin: 0 0 0.5rem;
}

.zk-guest-center p {
  margin: 0 0 1rem;
  opacity: 0.8;
}

.zk-guest-center .btn + .btn,
.zk-guest-center a {
  margin-top: 0.5rem;
}

@media (max-width: 480px) {
  .zk-guest {
    padding: 0.75rem 0.75rem 1.5rem;
  }
  .zk-guest-hero {
    padding: 0.85rem;
  }
}
/* Card / SoftPOS settings — full-height hub shell (desktop + mobile) */

.zk-softpos {
  min-height: 0;
}

.zk-softpos > .zk-hub-top,
.zk-softpos > .zk-hub-foot {
  flex-shrink: 0;
}

.zk-softpos-body {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  align-content: stretch;
  min-height: 0;
  max-width: 920px;
  width: 100%;
  margin-inline: auto;
  box-sizing: border-box;
}

.zk-softpos-pagehead h1 {
  margin: 0;
  font-family: var(--font-display);
  font-size: clamp(1.35rem, 2.2vw, 1.75rem);
  font-weight: 700;
  color: var(--ink);
}

.zk-softpos-pagehead p {
  margin: 0.35rem 0 0;
  max-width: 48rem;
  color: var(--muted);
  line-height: 1.45;
  font-size: 0.95rem;
}

.zk-softpos-card {
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  padding: clamp(1rem, 2.5vw, 1.5rem);
  display: flex;
  flex-direction: column;
  gap: 1rem;
  min-width: 0;
}

.zk-softpos-locked {
  align-items: flex-start;
  gap: 0.75rem;
}

.zk-softpos-locked p {
  margin: 0;
  color: var(--muted);
}

.zk-softpos-status-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.85rem;
}

.zk-softpos-stat {
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
  min-width: 0;
  padding: 0.85rem 1rem;
  border-radius: 14px;
  background: var(--surface-2);
  border: 1px solid var(--line);
}

.zk-softpos-stat > span {
  font-size: 0.78rem;
  font-weight: 650;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: var(--muted);
}

.zk-softpos-stat > strong {
  font-size: 1rem;
  word-break: break-word;
}

.zk-softpos-stat-switch {
  justify-content: space-between;
}

.zk-softpos-pill {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  max-width: 100%;
  padding: 0.28rem 0.65rem;
  border-radius: 999px;
  font-size: 0.9rem;
  font-weight: 700;
}

.zk-softpos-pill.ok {
  background: var(--ok-soft);
  color: var(--ok);
}

.zk-softpos-pill.warn {
  background: var(--warn-soft);
  color: var(--warn);
}

.zk-softpos-pill.danger {
  background: var(--danger-soft);
  color: var(--danger);
}

.zk-softpos-note {
  margin: 0;
  font-size: 0.88rem;
  line-height: 1.45;
  color: var(--muted);
}

.zk-softpos-desktop-hint {
  padding: 0.65rem 0.85rem;
  border-radius: 12px;
  background: var(--teal-soft);
  color: var(--teal);
  border: 1px solid color-mix(in srgb, var(--teal) 22%, transparent);
}

@supports not (color: color-mix(in srgb, red 50%, blue)) {

.zk-softpos-desktop-hint {
  border: 1px solid rgba(31, 107, 92, 0.22);
}
}

.zk-softpos-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
}

.zk-softpos-actions .zk-co-btn {
  min-height: var(--touch-min);
  padding: 0.65rem 1.1rem;
}

.zk-softpos-test-result {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  padding: 0.85rem 1rem;
  border-radius: 12px;
  border: 1px solid var(--line);
  font-size: 0.9rem;
}

.zk-softpos-test-result.ok {
  background: var(--ok-soft);
  border-color: color-mix(in srgb, var(--ok) 28%, transparent);
}

@supports not (color: color-mix(in srgb, red 50%, blue)) {

.zk-softpos-test-result.ok {
  border-color: rgba(31, 122, 69, 0.28);
}
}

.zk-softpos-test-result.fail {
  background: var(--danger-soft);
  border-color: color-mix(in srgb, var(--danger) 28%, transparent);
}

@supports not (color: color-mix(in srgb, red 50%, blue)) {

.zk-softpos-test-result.fail {
  border-color: rgba(180, 35, 24, 0.28);
}
}

.settle-card-busy {
  margin: 0.35rem 0 0;
  font-size: 0.9rem;
  font-weight: 650;
  color: var(--teal);
}

.settle-card-error {
  margin: 0.35rem 0 0;
  font-size: 0.9rem;
  font-weight: 650;
  color: var(--danger);
}

.settle-softpos-hint {
  opacity: 0.85;
  font-size: 0.88rem !important;
}

@media (max-width: 900px) {
  .zk-softpos-status-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 768px) {
  .zk-softpos-body {
    padding-inline: 0.15rem;
    max-width: none;
  }

  .zk-softpos-actions {
    flex-direction: column;
  }

  .zk-softpos-actions .zk-co-btn {
    width: 100%;
  }

  .zk-softpos > .zk-hub-top {
    min-height: 3.25rem;
    padding: 0.65rem 0.85rem;
    gap: 0.45rem;
  }

  .zk-softpos > .zk-hub-foot {
    padding: 0.55rem 0.75rem;
  }
}

@media (min-width: 1100px) {
  .zk-softpos-body {
    padding-block: 1.15rem 1.35rem;
  }

  .zk-softpos-card {
    padding: 1.65rem 1.75rem;
  }
}
/* Menu Timetable — fixed action dock + responsive transfer lists */

.zk-mt {
  min-height: 0;
  height: 100%;
  max-height: 100%;
  grid-template-rows: auto auto minmax(0, 1fr) auto;
  overflow: hidden;
}

.zk-mt > .zk-hub-top,
.zk-mt > .zk-hub-foot {
  flex-shrink: 0;
}

.zk-mt-bar {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.5rem 0.75rem;
  margin: 0.75rem clamp(0.65rem, 2vw, 1rem) 0;
  padding: 0.65rem 0.9rem;
  min-width: 0;
}

.zk-mt-bar h1 {
  grid-column: 1;
  justify-self: start;
  text-align: start;
  max-width: 100%;
}

.zk-mt-bar-actions {
  grid-column: 2;
  justify-self: end;
  display: flex;
  align-items: center;
  gap: 0.45rem;
  min-width: 0;
}

.zk-mt-grid-wrap {
  min-height: 0;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
  padding: 0.75rem clamp(0.65rem, 2vw, 1rem) 1rem;
}

/* Form shell: scroll body + docked actions (never overlay content) */
.zk-mt-form-wrap {
  display: flex !important;
  flex-direction: column;
  min-height: 0;
  height: 100%;
  overflow: hidden !important;
  padding: 0.75rem clamp(0.65rem, 2vw, 1rem) 0.65rem;
  gap: 0;
  align-content: stretch;
  grid-template-rows: none;
}

.zk-mt-form-scroll {
  flex: 1 1 auto;
  min-height: 0;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
  padding-bottom: 0.35rem;
}

.zk-mt-form {
  min-width: 0;
  align-self: stretch;
  margin: 0;
}

.zk-mt-hint {
  margin: 0;
  color: var(--muted);
  font-size: 0.82rem;
  font-weight: 600;
  line-height: 1.4;
}

.zk-mt-active {
  user-select: none;
  position: relative;
}

.zk-mt-active input {
  position: absolute;
  opacity: 0;
  width: 1px;
  height: 1px;
  pointer-events: none;
}

.zk-mt-active-pill {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.4rem 0.75rem;
  border-radius: 999px;
  border: 1px solid #c5d0c8;
  background: #eef3f0;
  color: var(--ink-soft);
  font-size: 0.88rem;
  font-weight: 750;
  transition: background 0.15s, border-color 0.15s, color 0.15s;
}

.zk-mt-active-pill::before {
  content: '';
  width: 0.85rem;
  height: 0.85rem;
  border-radius: 50%;
  border: 2px solid currentColor;
  box-sizing: border-box;
  opacity: 0.55;
}

.zk-mt-active.is-on .zk-mt-active-pill {
  color: var(--ok, #167a43);
  background: var(--ok-soft, #e6f6ec);
  border-color: color-mix(in srgb, var(--ok, #167a43) 35%, #fff);
}

@supports not (color: color-mix(in srgb, red 50%, blue)) {

.zk-mt-active.is-on .zk-mt-active-pill {
  border-color: #b1d0be;
}
}

.zk-mt-active.is-on .zk-mt-active-pill::before {
  opacity: 1;
  border: 0;
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none'%3E%3Ccircle cx='8' cy='8' r='8' fill='%23167a43'/%3E%3Cpath d='M4.5 8.2l2.2 2.2 4.8-4.8' stroke='%23fff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")
    center / contain no-repeat;
}

.zk-mt-tile-live {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  margin-top: 0.15rem;
  padding: 0.15rem 0.5rem;
  border-radius: 999px;
  font-size: 0.65rem;
  font-weight: 750;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  color: #126739;
  background: #d8f3e4;
}

.zk-mt-fields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.75rem 0.85rem;
}

.zk-mt-field {
  min-width: 0;
}

.zk-mt-field.full {
  grid-column: 1 / -1;
}

.zk-mt-input-icon {
  position: relative;
  display: grid;
  min-width: 0;
}

.zk-mt-input-icon > input {
  width: 100%;
  box-sizing: border-box;
  padding-inline-end: 2.5rem;
  min-height: var(--touch-min, 2.75rem);
}

.zk-mt-input-icon > svg {
  position: absolute;
  right: 0.75rem;
  top: 50%;
  transform: translateY(-50%);
  width: 1.15rem;
  height: 1.15rem;
  color: var(--muted);
  pointer-events: none;
}

[dir='rtl'] .zk-mt-input-icon > input {
  padding-inline-end: 0.75rem;
  padding-inline-start: 2.5rem;
}

[dir='rtl'] .zk-mt-input-icon > svg {
  right: auto;
  left: 0.75rem;
}

.zk-mt-transfer-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  align-items: stretch;
  gap: 0.65rem;
  min-width: 0;
}

.zk-mt-list {
  min-height: 9.5rem;
  max-height: min(14rem, 32vh);
}

.zk-mt-list-empty {
  min-height: 9.5rem;
}

.zk-mt-transfer-btns {
  align-content: center;
  gap: 0.45rem;
  display: grid;
  align-self: center;
}

.zk-mt-mini {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  min-height: 2.5rem;
}

.zk-mt-mini svg {
  width: 1rem;
  height: 1rem;
  flex-shrink: 0;
}

/* Docked footer — not sticky over scroll content */
.zk-mt-actions {
  position: static !important;
  flex: 0 0 auto;
  z-index: auto;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
  margin: 0;
  padding: 0.7rem 0.15rem 0.35rem;
  border-top: 1px solid #d5ddd8;
  background: linear-gradient(180deg, #eef3f0ee 0%, #eef3f0 40%);
  box-shadow: none;
}

.zk-mt-action {
  min-height: var(--touch-min, 2.75rem);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
}

.zk-mt-action svg {
  width: 1.05rem;
  height: 1.05rem;
  flex-shrink: 0;
}

@media (max-width: 960px) {
  .zk-mt-transfer-row {
    grid-template-columns: 1fr;
  }

  .zk-mt-transfer-btns {
    grid-template-columns: 1fr 1fr;
    order: 2;
  }

  .zk-mt-transfer-row > .zk-mt-list-panel:first-of-type {
    order: 1;
  }

  .zk-mt-transfer-row > .zk-mt-list-panel:last-of-type {
    order: 3;
  }

  .zk-mt-mini {
    width: 100%;
  }

  .zk-mt-list,
  .zk-mt-list-empty {
    max-height: min(12rem, 28vh);
  }
}

@media (max-width: 640px) {
  .zk-mt-fields {
    grid-template-columns: 1fr;
  }

  .zk-mt-form-head {
    flex-direction: column;
    align-items: stretch;
  }

  .zk-mt-active {
    align-self: flex-start;
  }

  .zk-mt-bar {
    margin-inline: 0.55rem;
    padding: 0.55rem 0.7rem;
  }

  .zk-mt-bar h1 {
    font-size: 1.1rem;
  }

  .zk-mt-grid {
    grid-template-columns: repeat(auto-fill, minmax(9.5rem, 1fr));
  }

  .zk-mt-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }

  .zk-mt-action.primary {
    grid-column: 1 / -1;
  }
}
/* Company & Branches page polish + ZATCA settings card (CompanyDetailsPage) */

/* ── ZATCA card ─────────────────────────────────────────────── */
.zk-zatca-card {
  display: grid;
  gap: 0.9rem;
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: linear-gradient(180deg, #f4f9f6 0%, var(--panel) 42%);
  padding: 0.95rem 1rem 1.05rem;
  box-shadow: 0 6px 16px #12201c0d;
}

.zk-zatca-head {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.6rem 0.85rem;
  min-width: 0;
}

.zk-zatca-head-copy {
  display: grid;
  gap: 0.2rem;
  min-width: 0;
  flex: 1 1 16rem;
}

.zk-zatca-head-copy strong {
  color: var(--ink);
  font-size: 0.95rem;
  font-weight: 800;
}

.zk-zatca-head-copy small {
  color: var(--muted);
  font-size: 0.78rem;
  line-height: 1.4;
  overflow-wrap: anywhere;
}

.zk-zatca-envchip {
  flex-shrink: 0;
  border: 1px solid var(--teal);
  color: var(--teal);
  background: var(--teal-soft);
  border-radius: 999px;
  padding: 0.3rem 0.75rem;
  font-size: 0.74rem;
  font-weight: 800;
  letter-spacing: 0.02em;
  white-space: nowrap;
}

.zk-zatca-envchip.prod {
  color: #7a3c00;
  border-color: #f0b26b;
  background: #fdf1e2;
}

.zk-zatca-envchip.sim {
  color: #1f4f8a;
  border-color: #9cc0ea;
  background: #eaf2fc;
}

/* ── titled blocks inside the card ──────────────────────────── */
.zk-zatca-block {
  display: grid;
  gap: 0.45rem;
  min-width: 0;
  border-top: 1px dashed var(--line);
  padding-top: 0.75rem;
}

.zk-zatca-block-title {
  color: var(--muted);
  font-size: 0.75rem;
  font-weight: 750;
  letter-spacing: 0.02em;
}

/* ── readiness checklist ────────────────────────────────────── */
.zk-zatca-checklist {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.4rem 1rem;
  min-width: 0;
}

.zk-zatca-checklist li {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  min-width: 0;
  color: var(--muted);
  font-size: 0.84rem;
  font-weight: 650;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.zk-zatca-checklist li i {
  flex-shrink: 0;
  width: 1.05rem;
  height: 1.05rem;
  border-radius: 50%;
  border: 1.5px solid var(--line);
  background: var(--surface-2);
  display: grid;
  place-items: center;
}

.zk-zatca-checklist li.done {
  color: var(--ink);
}

.zk-zatca-checklist li.done i {
  border-color: var(--ok);
  background: var(--ok);
}

.zk-zatca-checklist li.done i::before {
  content: '';
  width: 0.32rem;
  height: 0.55rem;
  border: solid #fff;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg) translateY(-1px);
}

.zk-zatca-checklist li.link a {
  color: var(--teal);
  font-weight: 750;
  text-decoration: none;
}

.zk-zatca-checklist li.link a:hover {
  text-decoration: underline;
}

/* ── credential status chips ────────────────────────────────── */
.zk-zatca-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  min-width: 0;
}

.zk-zatca-chip {
  border: 1px solid var(--line);
  color: var(--muted);
  background: var(--surface-2);
  border-radius: 999px;
  padding: 0.28rem 0.7rem;
  font-size: 0.74rem;
  font-weight: 750;
  white-space: nowrap;
}

.zk-zatca-chip.ok {
  color: #116b3f;
  border-color: #9ed9b9;
  background: #e7f6ee;
}

.zk-zatca-chip.ok::before {
  content: '✓ ';
}

.zk-zatca-chip.info {
  color: var(--teal);
  border-color: var(--teal);
  background: var(--teal-soft);
}

/* ── onboarding controls (env / OTP / generate) ─────────────── */
.zk-zatca-controls {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto;
  gap: 0.75rem 0.85rem;
  align-items: end;
  min-width: 0;
  border-top: 1px dashed var(--line);
  padding-top: 0.75rem;
}

.zk-zatca-cta {
  display: grid;
  min-width: 0;
}

.zk-zatca-cta .zk-co-btn {
  white-space: nowrap;
}

/* ── action buttons row ─────────────────────────────────────── */
.zk-zatca-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  min-width: 0;
}

/* ── advanced credentials ───────────────────────────────────── */
.zk-zatca-adv {
  display: grid;
  gap: 0.75rem;
  min-width: 0;
  border-top: 1px dashed var(--line);
  padding-top: 0.75rem;
}

/* ── responsive ─────────────────────────────────────────────── */
@media (width <= 860px) {
  .zk-zatca-checklist {
    grid-template-columns: minmax(0, 1fr);
  }

  .zk-zatca-controls {
    grid-template-columns: minmax(0, 1fr);
  }

  .zk-zatca-cta .zk-co-btn {
    width: 100%;
  }
}

@media (width <= 768px) {
  .zk-zatca-card {
    border-radius: 14px;
    padding: 0.8rem 0.75rem 0.9rem;
  }

  .zk-zatca-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .zk-zatca-actions .zk-co-btn {
    width: 100%;
    min-width: 0;
    padding-inline: 0.5rem;
    font-size: 0.85rem;
  }
}

@media (width <= 480px) {
  .zk-zatca-actions {
    grid-template-columns: minmax(0, 1fr);
  }

  .zk-zatca-head {
    flex-direction: column;
    align-items: flex-start;
  }
}

/* ── E-invoice queue page ───────────────────────────────────── */
.zk-zatca-q .zk-zatca-q-stage {
  place-items: stretch center;
  align-content: start;
  overflow: auto;
}

.zk-zatca-q-card {
  display: grid;
  gap: 1rem;
  width: min(1080px, 96vw);
  max-width: 1080px;
  min-width: 0;
  margin-inline: auto;
  padding: 1.25rem 1.35rem 1.4rem;
  border: 1px solid var(--line);
  border-radius: 20px;
  background: var(--panel);
  box-shadow: 0 18px 40px #12201c14;
}

.zk-zatca-q-head {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem 1.25rem;
  padding-bottom: 0.95rem;
  border-bottom: 1px solid #e6ece8;
}

.zk-zatca-q-head-copy {
  display: grid;
  gap: 0.3rem;
  min-width: 0;
  flex: 1 1 18rem;
}

.zk-zatca-q-kicker {
  margin: 0;
  color: #1b8a4c;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.zk-zatca-q-head h1 {
  margin: 0;
  font-family: var(--font-display);
  font-size: clamp(1.35rem, 2.2vw, 1.7rem);
  font-weight: 750;
  line-height: 1.15;
  color: var(--ink);
}

.zk-zatca-q-head-copy > p:last-child {
  margin: 0.15rem 0 0;
  max-width: 42rem;
  color: var(--ink-soft);
  font-size: 0.9rem;
  line-height: 1.45;
}

.zk-zatca-q-stats {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
  flex-shrink: 0;
}

.zk-zatca-q-stat {
  display: grid;
  gap: 0.1rem;
  min-width: 6.5rem;
  padding: 0.55rem 0.85rem;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: var(--surface-2);
}

.zk-zatca-q-stat strong {
  font-family: var(--font-display);
  font-size: 1.35rem;
  font-weight: 750;
  line-height: 1.1;
  color: var(--ink);
}

.zk-zatca-q-stat span {
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 700;
}

.zk-zatca-q-stat.warn {
  border-color: #f0b26b;
  background: #fdf1e2;
}

.zk-zatca-q-stat.warn strong {
  color: #7a3c00;
}

.zk-zatca-q-stat.ok {
  border-color: #9ed9b9;
  background: #e7f6ee;
}

.zk-zatca-q-stat.ok strong {
  color: #116b3f;
}

.zk-zatca-q-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.65rem 1rem;
}

.zk-zatca-q-filters {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  padding: 0.2rem;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: var(--surface-2);
}

.zk-zatca-q-filters button {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  min-height: 2.15rem;
  padding: 0.3rem 0.85rem;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: var(--muted);
  font: inherit;
  font-size: 0.84rem;
  font-weight: 750;
  cursor: pointer;
}

.zk-zatca-q-filters button.active {
  background: var(--panel);
  color: var(--ink);
  box-shadow: 0 1px 3px #12201c18;
}

.zk-zatca-q-filters button em {
  font-style: normal;
  border-radius: 999px;
  padding: 0.05rem 0.45rem;
  background: #12201c12;
  font-size: 0.72rem;
  font-weight: 800;
}

.zk-zatca-q-filters button.active em {
  background: var(--teal-soft);
  color: var(--teal);
}

.zk-zatca-q-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
}

.zk-zatca-q-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2.35rem;
  padding: 0.35rem 0.95rem;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--panel);
  color: var(--ink);
  font: inherit;
  font-size: 0.84rem;
  font-weight: 750;
  text-decoration: none;
  cursor: pointer;
  white-space: nowrap;
}

.zk-zatca-q-btn:hover {
  border-color: var(--teal);
  background: var(--teal-soft);
  color: var(--teal);
}

.zk-zatca-q-note {
  margin: 0;
  color: var(--muted);
  font-size: 0.82rem;
}

.zk-zatca-q-empty {
  display: grid;
  gap: 0.25rem;
  padding: 1.5rem 1rem;
  border: 1px dashed var(--line);
  border-radius: 14px;
  background: var(--surface-2);
  text-align: center;
}

.zk-zatca-q-empty strong {
  color: var(--ink);
  font-size: 0.95rem;
}

.zk-zatca-q-empty span {
  color: var(--muted);
  font-size: 0.85rem;
  line-height: 1.4;
}

.zk-zatca-q-empty.ok {
  border-color: #9ed9b9;
  background: #e7f6ee;
}

.zk-zatca-q-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 0.65rem;
  min-width: 0;
}

.zk-zatca-q-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0.75rem 1rem;
  align-items: start;
  min-width: 0;
  padding: 0.85rem 1rem;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: var(--surface-2);
}

.zk-zatca-q-row.status-failed {
  border-color: #efc2bc;
  background: linear-gradient(180deg, #fff8f7 0%, var(--surface-2) 55%);
}

.zk-zatca-q-row.status-pending,
.zk-zatca-q-row.status-queued {
  border-color: #f0d4a0;
  background: linear-gradient(180deg, #fffbf3 0%, var(--surface-2) 55%);
}

.zk-zatca-q-row.status-reported,
.zk-zatca-q-row.status-sandbox {
  border-color: #b8dfc8;
  background: linear-gradient(180deg, #f4fbf7 0%, var(--surface-2) 55%);
}

.zk-zatca-q-row-main {
  display: grid;
  gap: 0.4rem;
  min-width: 0;
}

.zk-zatca-q-row-top {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem 0.75rem;
}

.zk-zatca-q-badge {
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  padding: 0.22rem 0.65rem;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  border: 1px solid var(--line);
  background: #fff;
  color: var(--muted);
}

.zk-zatca-q-badge.status-failed {
  color: #9b1c1c;
  border-color: #f0b4ac;
  background: #fdecea;
}

.zk-zatca-q-badge.status-pending,
.zk-zatca-q-badge.status-queued {
  color: #7a3c00;
  border-color: #f0c98a;
  background: #fdf1e2;
}

.zk-zatca-q-badge.status-sandbox,
.zk-zatca-q-badge.status-reported {
  color: #116b3f;
  border-color: #9ed9b9;
  background: #e7f6ee;
}

.zk-zatca-q-amount {
  font-family: var(--font-display);
  font-size: 1.05rem;
  font-weight: 750;
  color: var(--ink);
}

.zk-zatca-q-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.25rem 0.85rem;
  color: var(--muted);
  font-size: 0.8rem;
  font-weight: 650;
}

.zk-zatca-q-meta span {
  overflow-wrap: anywhere;
}

.zk-zatca-q-err {
  display: grid;
  gap: 0.3rem;
  min-width: 0;
  margin-top: 0.15rem;
  padding: 0.55rem 0.7rem;
  border-radius: 10px;
  border: 1px solid #efc2bc;
  background: #fff;
}

.zk-zatca-q-err p {
  margin: 0;
  color: #9b1c1c;
  font-size: 0.84rem;
  font-weight: 700;
  line-height: 1.35;
}

.zk-zatca-q-err-toggle {
  justify-self: start;
  border: 0;
  padding: 0;
  background: none;
  color: var(--teal);
  font: inherit;
  font-size: 0.78rem;
  font-weight: 750;
  cursor: pointer;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.zk-zatca-q-err pre {
  margin: 0;
  max-height: 8rem;
  overflow: auto;
  padding: 0.45rem 0.5rem;
  border-radius: 8px;
  background: var(--surface-2);
  color: var(--ink-soft);
  font-family: ui-monospace, "Cascadia Mono", Consolas, monospace;
  font-size: 0.72rem;
  line-height: 1.4;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}

.zk-zatca-q-retry {
  align-self: center;
  min-width: 5.5rem;
  min-height: 2.5rem;
  padding: 0.4rem 1rem;
  border: 0;
  border-radius: 12px;
  background: var(--teal);
  color: #fff;
  font: inherit;
  font-size: 0.88rem;
  font-weight: 750;
  cursor: pointer;
}

.zk-zatca-q-retry:hover:not(:disabled) {
  filter: brightness(1.06);
}

.zk-zatca-q-retry:disabled {
  opacity: 0.65;
  cursor: wait;
}

@media (width <= 720px) {
  .zk-zatca-q-card {
    width: min(100%, 96vw);
    padding: 1rem 0.9rem 1.1rem;
    border-radius: 16px;
  }

  .zk-zatca-q-toolbar {
    flex-direction: column;
    align-items: stretch;
  }

  .zk-zatca-q-filters {
    justify-content: stretch;
  }

  .zk-zatca-q-filters button {
    flex: 1 1 auto;
    justify-content: center;
  }

  .zk-zatca-q-actions {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .zk-zatca-q-btn {
    padding-inline: 0.4rem;
    font-size: 0.78rem;
  }

  .zk-zatca-q-row {
    grid-template-columns: minmax(0, 1fr);
  }

  .zk-zatca-q-retry {
    width: 100%;
  }
}

@media (width <= 480px) {
  .zk-zatca-q-actions {
    grid-template-columns: minmax(0, 1fr);
  }

  .zk-zatca-q-stats {
    width: 100%;
  }

  .zk-zatca-q-stat {
    flex: 1 1 auto;
  }
}
.dev-license-badge {
  display: inline-block;
  padding: 0.15rem 0.55rem;
  border-radius: 999px;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  border: 1px solid #c5d0cb;
  background: #eef2ef;
  color: #2a3b35;
}

.dev-license-badge.st-active {
  background: #d8f0e2;
  border-color: #8fcdb0;
  color: #1f7a45;
}

.dev-license-badge.st-pending {
  background: #f6e7c8;
  border-color: #e0c58a;
  color: #8a5a10;
}

.dev-license-badge.st-expired,
.dev-license-badge.st-suspended {
  background: #f8d7d3;
  border-color: #e5a39c;
  color: #9b2c2c;
}

.dev-meta-hint {
  color: #5f7169;
  font-size: 0.85em;
}

.dev-license-editor {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  margin: 0 0 1.25rem;
  padding: 0.85rem 1rem;
  border: 1px solid #d5ddd8;
  border-radius: 12px;
  background: #f7f9f7;
}
.zk-prn-gallery-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem;
  flex-wrap: wrap;
}

.zk-prn-card-btn:disabled {
  opacity: 0.6;
  cursor: progress;
}

.zk-prn-badge.muted {
  background: #eceeed;
  color: #6b7570;
}

/* ---------- Printer management (zk-pm) ---------- */

.zk-prn,
.zk-pm-wizard,
.zk-pf-card {
  --pm-green: #007a5e;
  --pm-green-dark: #004d3a;
  --pm-bg: #f5f8f6;
  --pm-line: #dfe7e2;
  --pm-red: #c8372d;
  --pm-orange: #d18a12;
}

.zk-pm-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  min-height: 2.4rem;
  padding: 0.45rem 1rem;
  border: 1px solid var(--pm-line);
  border-radius: 12px;
  background: #fff;
  color: var(--pm-green-dark);
  font: inherit;
  font-weight: 700;
  font-size: 0.88rem;
  text-decoration: none;
  cursor: pointer;
  white-space: nowrap;
}
.zk-pm-btn:hover:not(:disabled) {
  border-color: var(--pm-green);
}
.zk-pm-btn.primary {
  background: var(--pm-green);
  border-color: var(--pm-green);
  color: #fff;
}
.zk-pm-btn.primary:hover:not(:disabled) {
  background: var(--pm-green-dark);
}
.zk-pm-btn.lg {
  min-height: 3rem;
  padding-inline: 1.6rem;
  font-size: 1rem;
}
.zk-pm-btn:disabled {
  opacity: 0.6;
  cursor: progress;
}

.zk-pm-muted {
  color: var(--ink-soft, #66736c);
}
.zk-pm-small {
  font-size: 0.82rem;
}

/* toolbar + filters */
.zk-pm-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  flex-wrap: wrap;
  margin-bottom: 0.85rem;
}
.zk-pm-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
}
.zk-pm-filter {
  min-height: 2.2rem;
  padding: 0.3rem 1rem;
  border: 1px solid var(--pm-line);
  border-radius: 999px;
  background: #fff;
  color: var(--ink, #1d2a24);
  font: inherit;
  font-weight: 650;
  font-size: 0.86rem;
  cursor: pointer;
}
.zk-pm-filter.on {
  background: var(--pm-green);
  border-color: var(--pm-green);
  color: #fff;
}

/* agent banner */
.zk-pm-banner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem 1rem;
  flex-wrap: wrap;
  margin-bottom: 0.85rem;
  padding: 0.85rem 1rem;
  border: 1px solid #f0d9a8;
  border-radius: 14px;
  background: #fff8e9;
}
.zk-pm-banner > div:first-child {
  display: grid;
  gap: 0.15rem;
  min-width: 0;
  flex: 1 1 18rem;
}
.zk-pm-banner span {
  color: #6b5320;
  font-size: 0.86rem;
}
.zk-pm-banner-actions {
  display: flex;
  gap: 0.5rem;
  flex-wrap: wrap;
}

/* table */
.zk-pm-table {
  border: 1px solid var(--pm-line);
  border-radius: 16px;
  background: #fff;
  overflow: visible;
}
.zk-pm-tr {
  display: grid;
  grid-template-columns:
    2.25rem minmax(8rem, 1.4fr) minmax(7rem, 1fr) minmax(5.5rem, 0.7fr)
    minmax(7rem, 1.2fr) minmax(7rem, 1fr) minmax(4.5rem, 0.6fr) 5.5rem;
  align-items: center;
  gap: 0.75rem;
  padding: 0.75rem 1rem;
  border-top: 1px solid var(--pm-line);
  min-width: 0;
}
.zk-pm-tr > * {
  min-width: 0;
}
.zk-pm-thead {
  border-top: 0;
  border-radius: 16px 16px 0 0;
  background: var(--pm-bg);
  color: var(--ink-soft, #66736c);
  font-size: 0.76rem;
  font-weight: 750;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}
.zk-pm-tr.is-off {
  opacity: 0.6;
}
.zk-pm-num {
  color: var(--ink-soft, #66736c);
  font-variant-numeric: tabular-nums;
}
.zk-pm-name strong {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.zk-pm-types {
  display: flex;
  flex-wrap: wrap;
  gap: 0.3rem;
}
.zk-pm-chip {
  padding: 0.12rem 0.55rem;
  border-radius: 999px;
  font-size: 0.74rem;
  font-weight: 750;
  background: #eef2ef;
  color: var(--pm-green-dark);
}
.zk-pm-chip.is-kot {
  background: #fff1df;
  color: #8a4f00;
}
.zk-pm-chip.is-bill {
  background: #e7f0ff;
  color: #1f4f9a;
}
.zk-pm-chip.is-receipt {
  background: #e3f4ee;
  color: var(--pm-green-dark);
}
.zk-pm-table .zk-pm-device {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}
.zk-pm-default {
  padding: 0.12rem 0.55rem;
  border-radius: 999px;
  background: var(--pm-green);
  color: #fff;
  font-size: 0.74rem;
  font-weight: 750;
}
.zk-pm-col-actions {
  justify-self: end;
}

.zk-pm-actions {
  position: relative;
  display: flex;
  gap: 0.25rem;
}
.zk-pm-icon-btn {
  display: inline-grid;
  place-items: center;
  width: 2.25rem;
  height: 2.25rem;
  border: 1px solid transparent;
  border-radius: 10px;
  background: transparent;
  color: var(--pm-green-dark);
  cursor: pointer;
}
.zk-pm-icon-btn:hover {
  background: var(--pm-bg);
  border-color: var(--pm-line);
}
.zk-pm-icon-btn svg {
  width: 1.15rem;
  height: 1.15rem;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.zk-pm-icon-btn svg circle {
  fill: currentColor;
  stroke: none;
}
.zk-pm-menu {
  position: absolute;
  inset-inline-end: 0;
  top: calc(100% + 0.25rem);
  z-index: 30;
  display: grid;
  min-width: 11rem;
  padding: 0.3rem;
  border: 1px solid var(--pm-line);
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 12px 30px rgba(0, 40, 30, 0.14);
}
.zk-pm-menu button {
  padding: 0.55rem 0.75rem;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: var(--ink, #1d2a24);
  font: inherit;
  font-size: 0.88rem;
  text-align: start;
  cursor: pointer;
}
.zk-pm-menu button:hover:not(:disabled) {
  background: var(--pm-bg);
}
.zk-pm-menu button:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
.zk-pm-menu button.danger {
  color: var(--pm-red);
}

/* status badge */
.zk-pm-status {
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.15rem 0.4rem;
  min-width: 0;
  font-size: 0.82rem;
  line-height: 1.3;
}
.zk-pm-status-dot {
  flex: 0 0 auto;
  width: 0.55rem;
  height: 0.55rem;
  border-radius: 50%;
  background: #9aa7a0;
}
.zk-pm-status-label {
  font-weight: 750;
  color: var(--ink-soft, #66736c);
}
.zk-pm-status-detail {
  flex-basis: 100%;
  padding-inline-start: 0.95rem;
  color: var(--ink-soft, #66736c);
  font-size: 0.74rem;
  overflow-wrap: anywhere;
}
.zk-pm-status.is-online .zk-pm-status-dot {
  background: var(--pm-green);
  box-shadow: 0 0 0 3px rgba(0, 122, 94, 0.18);
}
.zk-pm-status.is-online .zk-pm-status-label {
  color: var(--pm-green);
}
.zk-pm-status.is-warn .zk-pm-status-dot {
  background: var(--pm-orange);
  box-shadow: 0 0 0 3px rgba(209, 138, 18, 0.18);
}
.zk-pm-status.is-warn .zk-pm-status-label {
  color: #94600a;
}
.zk-pm-status.is-offline .zk-pm-status-dot {
  background: var(--pm-red);
  box-shadow: 0 0 0 3px rgba(200, 55, 45, 0.18);
}
.zk-pm-status.is-offline .zk-pm-status-label {
  color: #a32a21;
}

@media (max-width: 1000px) {
  .zk-pm-table {
    display: grid;
    gap: 0.6rem;
    border: 0;
    background: transparent;
  }
  .zk-pm-thead {
    display: none;
  }
  .zk-pm-tr {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto;
    gap: 0.55rem 0.75rem;
    padding: 0.85rem 1rem;
    border: 1px solid var(--pm-line);
    border-radius: 14px;
    background: #fff;
  }
  .zk-pm-num {
    display: none;
  }
  .zk-pm-name {
    grid-column: 1 / 3;
    grid-row: 1;
  }
  .zk-pm-col-actions {
    grid-column: 3;
    grid-row: 1;
  }
  .zk-pm-types {
    grid-column: 1 / -1;
  }
  .zk-pm-cell {
    display: grid;
    gap: 0.15rem;
  }
  .zk-pm-cell::before {
    content: attr(data-label);
    color: var(--ink-soft, #66736c);
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.03em;
    text-transform: uppercase;
  }
}

@media (max-width: 520px) {
  .zk-pm-tr {
    grid-template-columns: minmax(0, 1fr) auto;
  }
  .zk-pm-name {
    grid-column: 1;
  }
  .zk-pm-col-actions {
    grid-column: 2;
  }
  .zk-pm-cell {
    grid-column: 1 / -1;
  }
}

/* wizard */
.zk-pm-backdrop {
  z-index: 1200;
  padding: 1rem;
}
.modal-card.zk-pm-wizard {
  display: flex;
  flex-direction: column;
  width: min(760px, 100%);
  max-width: 100%;
  max-height: calc(100dvh - 2rem);
  padding: 0;
  border-radius: 16px;
  overflow: hidden;
  background: #fff;
}
.zk-pm-wizard-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem 1.25rem;
  background: var(--pm-green-dark);
  color: #fff;
}
.zk-pm-wizard-head h2 {
  margin: 0;
  min-width: 0;
  font-size: 1.1rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.zk-pm-close {
  flex: 0 0 auto;
  width: 2.25rem;
  height: 2.25rem;
  border: 0;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.12);
  color: #fff;
  font-size: 1.4rem;
  line-height: 1;
  cursor: pointer;
}
.zk-pm-steps {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 0.4rem;
  padding: 0.75rem 1.25rem;
  border-bottom: 1px solid var(--pm-line);
  background: var(--pm-bg);
}
.zk-pm-step {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  min-width: 0;
  padding: 0.4rem 0.5rem;
  border: 0;
  border-radius: 10px;
  background: transparent;
  color: var(--ink-soft, #66736c);
  font: inherit;
  font-size: 0.85rem;
  font-weight: 650;
  cursor: pointer;
}
.zk-pm-step:disabled {
  cursor: default;
  opacity: 0.55;
}
.zk-pm-step-no {
  display: inline-grid;
  place-items: center;
  flex: 0 0 auto;
  width: 1.6rem;
  height: 1.6rem;
  border-radius: 50%;
  border: 1.5px solid currentColor;
  font-size: 0.78rem;
  font-weight: 800;
}
.zk-pm-step-label {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.zk-pm-step.done {
  color: var(--pm-green);
}
.zk-pm-step.on {
  background: #fff;
  color: var(--pm-green-dark);
  box-shadow: 0 1px 4px rgba(0, 40, 30, 0.08);
}
.zk-pm-step.on .zk-pm-step-no {
  background: var(--pm-green);
  border-color: var(--pm-green);
  color: #fff;
}
.zk-pm-wizard-body {
  flex: 1 1 auto;
  min-height: 0;
  overflow-x: hidden;
  overflow-y: auto;
  padding: 1.1rem 1.25rem;
}
.zk-pm-form {
  display: grid;
  gap: 1rem;
  min-width: 0;
}
.zk-pm-field {
  display: grid;
  gap: 0.4rem;
  min-width: 0;
}
.zk-pm-field > span:first-child {
  font-weight: 700;
  font-size: 0.88rem;
  color: var(--ink, #1d2a24);
}
.zk-pm-field > span small {
  font-weight: 500;
  color: var(--ink-soft, #66736c);
}
.zk-pm-field input.search,
.zk-pm-inline input.search {
  width: 100%;
  min-width: 0;
}
.zk-pm-field-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  flex-wrap: wrap;
  font-weight: 700;
}
.zk-pm-seg {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
}
.zk-pm-seg-btn {
  min-height: 2.4rem;
  padding: 0.35rem 1rem;
  border: 1px solid var(--pm-line);
  border-radius: 12px;
  background: #fff;
  color: var(--ink, #1d2a24);
  font: inherit;
  font-weight: 650;
  font-size: 0.88rem;
  cursor: pointer;
}
.zk-pm-seg-btn.on {
  border-color: var(--pm-green);
  background: #e3f4ee;
  color: var(--pm-green-dark);
  box-shadow: inset 0 0 0 1px var(--pm-green);
}
.zk-pm-radios {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(10.5rem, 1fr));
  gap: 0.5rem;
}
.zk-pm-radio,
.zk-pm-devices .zk-pm-device {
  display: flex;
  align-items: flex-start;
  gap: 0.6rem;
  min-width: 0;
  padding: 0.7rem 0.8rem;
  border: 1px solid var(--pm-line);
  border-radius: 12px;
  background: #fff;
  cursor: pointer;
}
.zk-pm-radio input,
.zk-pm-device input {
  margin-top: 0.2rem;
  accent-color: var(--pm-green);
}
.zk-pm-radio > span,
.zk-pm-device-main {
  display: grid;
  gap: 0.1rem;
  min-width: 0;
  flex: 1 1 auto;
}
.zk-pm-radio small,
.zk-pm-device-main small {
  color: var(--ink-soft, #66736c);
  font-size: 0.78rem;
  overflow-wrap: anywhere;
}
.zk-pm-device-main strong {
  overflow-wrap: anywhere;
}
.zk-pm-radio.on,
.zk-pm-devices .zk-pm-device.on {
  border-color: var(--pm-green);
  background: #f1faf6;
  box-shadow: inset 0 0 0 1px var(--pm-green);
}
.zk-pm-devices {
  display: grid;
  gap: 0.5rem;
}
.zk-pm-toggles,
.zk-pm-checks {
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem 1.25rem;
}
.zk-pm-checks {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr));
}
.zk-pm-check {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.9rem;
  cursor: pointer;
}
.zk-pm-check input {
  width: 1.05rem;
  height: 1.05rem;
  accent-color: var(--pm-green);
}
.zk-pm-grid-2 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}
.zk-pm-narrow {
  max-width: 14rem;
}
.zk-pm-stepper {
  display: inline-flex;
  align-items: center;
  width: max-content;
  border: 1px solid var(--pm-line);
  border-radius: 12px;
  overflow: hidden;
}
.zk-pm-stepper button {
  width: 2.5rem;
  height: 2.4rem;
  border: 0;
  background: var(--pm-bg);
  color: var(--pm-green-dark);
  font: inherit;
  font-size: 1.1rem;
  font-weight: 800;
  cursor: pointer;
}
.zk-pm-stepper button:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}
.zk-pm-stepper output {
  min-width: 2.5rem;
  text-align: center;
  font-weight: 800;
}
.zk-pm-callout {
  display: grid;
  gap: 0.3rem;
  justify-items: start;
  margin: 0;
  padding: 0.8rem 1rem;
  border: 1px solid var(--pm-line);
  border-radius: 12px;
  background: var(--pm-bg);
  font-size: 0.88rem;
}
.zk-pm-callout.is-warn {
  border-color: #f0d9a8;
  background: #fff8e9;
  color: #6b5320;
}
.zk-pm-callout.is-ok {
  border-color: #b7e0cf;
  background: #ecf8f2;
  color: var(--pm-green-dark);
}
.zk-pm-callout.is-bad {
  border-color: #f1c4c0;
  background: #fdf0ef;
  color: #8f251d;
}
.zk-pm-test {
  justify-items: center;
  text-align: center;
  padding-block: 1rem;
}
.zk-pm-test .zk-pm-callout {
  justify-items: center;
  width: min(30rem, 100%);
}
.zk-pm-error {
  margin: 0.85rem 0 0;
  color: var(--pm-red);
  font-weight: 650;
  font-size: 0.88rem;
}
.zk-pm-wizard-foot {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex-wrap: wrap;
  padding: 0.85rem 1.25rem;
  border-top: 1px solid var(--pm-line);
  background: #fff;
}
.zk-pm-foot-spacer {
  flex: 1 1 auto;
}

@media (max-width: 600px) {
  .zk-pm-backdrop {
    padding: 0;
  }
  .modal-card.zk-pm-wizard {
    width: 100%;
    max-height: 100dvh;
    height: 100dvh;
    border-radius: 0;
  }
  .zk-pm-step-label {
    display: none;
  }
  .zk-pm-step {
    justify-content: center;
  }
  .zk-pm-grid-2 {
    grid-template-columns: minmax(0, 1fr);
  }
  .zk-pm-narrow {
    max-width: none;
  }
}

.zk-pm-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
}
.zk-pm-chips-scroll {
  max-height: 12rem;
  overflow-x: hidden;
  overflow-y: auto;
  padding: 0.15rem;
}
.zk-pm-chips .zk-pm-seg-btn {
  min-height: 2.2rem;
  padding: 0.3rem 0.8rem;
  font-size: 0.84rem;
}

/* assignment tab */
.zk-pm-assign {
  display: grid;
  gap: 1rem;
  min-width: 0;
}
.zk-pm-assign-table .zk-pm-tr {
  grid-template-columns:
    minmax(8rem, 1.3fr) minmax(6.5rem, 1fr) minmax(6rem, 1fr) minmax(6rem, 1fr)
    minmax(7rem, 1.3fr) 5rem;
}
.zk-pm-assign-table .zk-pm-name {
  display: grid;
  gap: 0.2rem;
  justify-items: start;
}
.zk-pm-assign-table .zk-pm-cell {
  overflow-wrap: anywhere;
  font-size: 0.88rem;
}
.zk-pm-tester-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr));
  gap: 0.75rem;
}
@media (max-width: 1000px) {
  .zk-pm-assign-table .zk-pm-tr {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto;
  }
  .zk-pm-assign-table .zk-pm-name {
    grid-column: 1 / 3;
  }
}
@media (max-width: 520px) {
  .zk-pm-assign-table .zk-pm-tr {
    grid-template-columns: minmax(0, 1fr) auto;
  }
  .zk-pm-assign-table .zk-pm-name {
    grid-column: 1;
  }
}

/* printer offline dialog */
.zk-pf-backdrop {
  z-index: 1300;
  padding: 1rem;
}
.modal-card.zk-pf-card {
  display: grid;
  gap: 0.75rem;
  width: min(480px, 100%);
  max-width: 100%;
  max-height: calc(100dvh - 2rem);
  overflow-x: hidden;
  overflow-y: auto;
  padding: 1.25rem;
  border-radius: 16px;
  border-top: 4px solid var(--pm-red);
  background: #fff;
}
.zk-pf-head {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
}
.zk-pf-icon {
  display: inline-grid;
  place-items: center;
  flex: 0 0 auto;
  width: 2.4rem;
  height: 2.4rem;
  border-radius: 50%;
  background: #fdecea;
  color: var(--pm-red);
  font-weight: 900;
  font-size: 1.2rem;
}
.zk-pf-head h2 {
  margin: 0;
  font-size: 1.15rem;
  color: var(--ink, #1d2a24);
}
.zk-pf-doc {
  margin: 0.15rem 0 0;
  color: var(--ink-soft, #66736c);
  font-size: 0.86rem;
  overflow-wrap: anywhere;
}
.zk-pf-hint,
.zk-pf-kept {
  margin: 0;
  font-size: 0.92rem;
}
.zk-pf-kept {
  color: var(--pm-green-dark);
  font-weight: 650;
}
.zk-pf-actions,
.zk-pf-pick {
  display: grid;
  gap: 0.5rem;
}
.zk-pf-cancel {
  color: var(--pm-red);
}
.zk-pf-option {
  display: grid;
  gap: 0.1rem;
  padding: 0.7rem 0.9rem;
  border: 1px solid var(--pm-line);
  border-radius: 12px;
  background: #fff;
  color: var(--ink, #1d2a24);
  font: inherit;
  text-align: start;
  cursor: pointer;
}
.zk-pf-option:hover:not(:disabled) {
  border-color: var(--pm-green);
  background: #f1faf6;
}
.zk-pf-option small {
  color: var(--ink-soft, #66736c);
  font-size: 0.78rem;
}
.zk-pf-more {
  margin: 0;
  text-align: center;
  color: var(--ink-soft, #66736c);
  font-size: 0.82rem;
}

/* agent panel */
.zk-pm-agent {
  display: grid;
  gap: 1rem;
  min-width: 0;
}
.zk-pm-card {
  display: grid;
  gap: 0.75rem;
  min-width: 0;
  padding: 1rem 1.15rem;
  border: 1px solid var(--pm-line);
  border-radius: 16px;
  background: #fff;
}
.zk-pm-card h3 {
  margin: 0;
  font-size: 1rem;
  color: var(--pm-green-dark);
}
.zk-pm-card-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  flex-wrap: wrap;
}
.zk-pm-kv {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem 1rem;
  flex-wrap: wrap;
  padding-top: 0.6rem;
  border-top: 1px solid var(--pm-line);
}
.zk-pm-kv > span:first-child {
  color: var(--ink-soft, #66736c);
}
.zk-pm-steps-list {
  display: grid;
  gap: 0.55rem;
  margin: 0;
  padding-inline-start: 1.25rem;
  line-height: 1.45;
}
.zk-pm-steps-list a {
  color: var(--pm-green);
  font-weight: 700;
}
.zk-pm-inline {
  display: flex;
  gap: 0.5rem;
  min-width: 0;
}
.zk-pm-inline input {
  flex: 1 1 auto;
}
/* Daily Sales Report — top section matches reference dashboard */
.zk-dsr {
  --dsr-bg: #f5f8f6;
  --dsr-primary: #008a68;
  --dsr-primary-soft: #e6f5f0;
  --dsr-dark: #111b4d;
  --dsr-muted: #64748b;
  --dsr-card: #ffffff;
  --dsr-border: #e2e8f0;
  --dsr-line: #eef2f0;
  --dsr-pos: #008a68;
  --dsr-neg: #dc2626;
  --dsr-info: #2563eb;
  --dsr-warn: #d97706;
  --dsr-rose: #e11d48;
  --dsr-violet: #7c3aed;
  --dsr-radius: 12px;
  --dsr-shadow: 0 1px 2px rgba(17, 27, 77, 0.04), 0 2px 8px rgba(17, 27, 77, 0.04);
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
  padding: 0.25rem 0 1.5rem;
  min-width: 0;
  width: 100%;
  color: var(--dsr-dark);
  font-family: inherit;
}

.zk-dsr * { box-sizing: border-box; }

.zk-dsr .sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* Compact top: header + filters + KPIs */
.zk-dsr-top {
  display: flex;
  flex-direction: column;
  gap: 0.7rem;
  min-width: 0;
}

/* ── Header ─────────────────────────────────────────── */
.zk-dsr-head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem 1rem;
}

.zk-dsr-head-copy {
  min-width: 0;
  flex: 1 1 14rem;
}

.zk-dsr-head h1 {
  margin: 0;
  font-size: 1.55rem;
  font-weight: 800;
  letter-spacing: -0.03em;
  color: var(--dsr-dark);
  line-height: 1.15;
}

.zk-dsr-head p {
  margin: 0.25rem 0 0;
  color: var(--dsr-muted);
  font-size: 0.8125rem;
  line-height: 1.4;
  max-width: 38rem;
}

.zk-dsr-head-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
  justify-content: flex-end;
}

.zk-dsr-control {
  display: block;
  min-width: 0;
  margin: 0;
}

.zk-dsr-control input,
.zk-dsr-field input {
  height: 2.375rem;
  border: 1px solid var(--dsr-border);
  border-radius: 8px;
  background: var(--dsr-card);
  color: var(--dsr-dark);
  padding: 0 0.8rem;
  font: inherit;
  font-size: 0.875rem;
  font-weight: 600;
  min-width: 8.5rem;
}

.zk-dsr-control input[type='date'],
.zk-dsr-date-field input[type='date'] {
  min-width: 9.5rem;
  cursor: pointer;
}

.zk-dsr-head-actions .zk-dsr-date-field {
  gap: 0.15rem;
}

.zk-dsr-head-actions .zk-dsr-date-field > span {
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--dsr-muted, #64748b);
}

.zk-dsr-field {
  display: grid;
  gap: 0.28rem;
  min-width: 0;
}

.zk-dsr-field > span {
  font-size: 0.72rem;
  font-weight: 650;
  color: var(--dsr-dark);
  letter-spacing: 0.01em;
}

.zk-dsr-control .mesa-select,
.zk-dsr-field .mesa-select {
  width: 100%;
  min-width: 8.75rem;
}

.zk-dsr-filter-selects .mesa-select {
  min-width: 9.5rem;
}

.zk-dsr .mesa-select-field .mesa-select-trigger {
  width: 100%;
  min-height: 2.375rem;
  height: 2.375rem;
  border-radius: 8px;
  padding: 0 0.75rem;
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--dsr-dark);
  background: #fff;
  box-shadow: inset 0 0 0 1px var(--dsr-border);
}

.zk-dsr .mesa-select-field .mesa-select-trigger:hover {
  box-shadow: inset 0 0 0 1px #cbd5e1;
}

.zk-dsr .mesa-select-field.open .mesa-select-trigger,
.zk-dsr .mesa-select-field .mesa-select-trigger:focus-visible {
  outline: none;
  box-shadow: inset 0 0 0 1.5px var(--dsr-primary), 0 0 0 3px rgba(0, 138, 104, 0.14);
}

.zk-dsr .mesa-select-caret {
  width: 1rem;
  height: 1rem;
  color: var(--dsr-muted);
  opacity: 1;
}

.zk-dsr-control input:focus,
.zk-dsr-field input:focus,
.zk-dsr-search:focus {
  outline: none;
  border-color: var(--dsr-primary);
  box-shadow: 0 0 0 3px rgba(0, 138, 104, 0.12);
}

/* Portal menu sits on body — style via data attribute on open menus from DSR context */
body:has(.zk-dsr) .mesa-select-menu {
  border: 1px solid var(--dsr-border, #e2e8f0);
  border-radius: 10px;
  padding: 0.35rem;
  box-shadow: 0 10px 28px rgba(17, 27, 77, 0.12);
}

body:has(.zk-dsr) .mesa-select-option {
  border-radius: 7px;
  padding: 0.45rem 0.65rem;
  font-size: 0.875rem;
  font-weight: 600;
  color: #111b4d;
}

body:has(.zk-dsr) .mesa-select-option.active,
body:has(.zk-dsr) .mesa-select-option.selected {
  background: #2563eb;
  color: #fff;
}

.zk-dsr-btn {
  height: 2.375rem;
  border: 1px solid var(--dsr-border);
  border-radius: 8px;
  background: var(--dsr-card);
  color: var(--dsr-dark);
  font: inherit;
  font-size: 0.875rem;
  font-weight: 700;
  padding: 0 1rem;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.45rem;
  white-space: nowrap;
  transition: background 0.15s, border-color 0.15s, color 0.15s;
}

.zk-dsr-btn:disabled { opacity: 0.7; cursor: not-allowed; }

.zk-dsr-btn.primary {
  background: var(--dsr-primary);
  border-color: var(--dsr-primary);
  color: #fff;
  box-shadow: 0 2px 8px rgba(0, 138, 104, 0.22);
}

.zk-dsr-btn.primary:hover:not(:disabled) { filter: brightness(1.06); }

.zk-dsr-btn.outline {
  border-color: color-mix(in srgb, var(--dsr-primary) 45%, var(--dsr-border));
  color: var(--dsr-primary);
  background: #fff;
}

@supports not (color: color-mix(in srgb, red 50%, blue)) {

.zk-dsr-btn.outline {
  border-color: #7cbeb3;
}
}

.zk-dsr-btn.outline:hover { background: var(--dsr-primary-soft); }

.zk-dsr-btn svg,
.zk-dsr-spinner {
  width: 1rem;
  height: 1rem;
  flex-shrink: 0;
}

.zk-dsr-spinner {
  border: 2px solid rgba(255, 255, 255, 0.35);
  border-top-color: #fff;
  border-radius: 50%;
  animation: dsr-spin 0.7s linear infinite;
  display: inline-block;
}

@keyframes dsr-spin {
  to { transform: rotate(360deg); }
}

/* ── Filter bar: quick left + selects right ─────────── */
.zk-dsr-filterbar {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: space-between;
  gap: 0.75rem 1.1rem;
  padding: 0.8rem 1rem;
  background: var(--dsr-card);
  border: 1px solid var(--dsr-border);
  border-radius: 10px;
  box-shadow: var(--dsr-shadow);
}

.zk-dsr-quick-block {
  display: grid;
  gap: 0.4rem;
  min-width: 0;
}

.zk-dsr-quick-label {
  font-size: 0.75rem;
  font-weight: 700;
  color: var(--dsr-dark);
}

.zk-dsr-quick {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  align-items: center;
}

.zk-dsr-chip {
  height: 2.2rem;
  padding: 0 0.8rem;
  border-radius: 7px;
  border: 1px solid var(--dsr-border);
  background: #fff;
  color: var(--dsr-dark);
  font: inherit;
  font-weight: 600;
  font-size: 0.8125rem;
  cursor: pointer;
  transition: all 0.15s;
}

.zk-dsr-chip:hover { border-color: #cbd5e1; }

.zk-dsr-chip.on {
  background: var(--dsr-primary-soft);
  border-color: var(--dsr-primary);
  color: var(--dsr-primary);
  font-weight: 700;
}

.zk-dsr-filter-selects {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
  align-items: flex-end;
}

.zk-dsr-filter-selects .zk-dsr-field {
  min-width: 9.25rem;
}

.zk-dsr-custom {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
  width: 100%;
  padding-top: 0.45rem;
  border-top: 1px dashed var(--dsr-line);
  margin-top: 0.15rem;
}

/* ── KPI cards ──────────────────────────────────────── */
.zk-dsr-kpis {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 0.7rem;
}

.zk-dsr-kpi {
  background: var(--dsr-card);
  border: 1px solid var(--dsr-border);
  border-radius: 11px;
  padding: 0.9rem 0.95rem;
  display: flex;
  align-items: flex-start;
  gap: 0.7rem;
  min-width: 0;
  min-height: 5.15rem;
  height: 100%;
  box-shadow: var(--dsr-shadow);
}

.zk-dsr-kpi-ico {
  width: 2.75rem;
  height: 2.75rem;
  border-radius: 999px;
  display: grid;
  place-items: center;
  flex-shrink: 0;
}

.zk-dsr-kpi-ico svg {
  width: 1.15rem;
  height: 1.15rem;
}

.zk-dsr-kpi-ico.teal { background: #e7f6f0; color: var(--dsr-primary); }
.zk-dsr-kpi-ico.blue { background: #e8f0fe; color: var(--dsr-info); }
.zk-dsr-kpi-ico.green { background: #e6f7f2; color: #0d9488; }
.zk-dsr-kpi-ico.amber { background: #fff6e5; color: var(--dsr-warn); }
.zk-dsr-kpi-ico.rose { background: #fde8ee; color: var(--dsr-rose); }
.zk-dsr-kpi-ico.violet { background: #f1e9fb; color: var(--dsr-violet); }

.zk-dsr-kpi-body {
  display: flex;
  flex-direction: column;
  gap: 0.12rem;
  min-width: 0;
  flex: 1;
}

.zk-dsr-kpi-label {
  font-size: 0.72rem;
  font-weight: 600;
  color: var(--dsr-muted);
  line-height: 1.2;
}

.zk-dsr-kpi-body strong {
  font-size: 1.15rem;
  font-weight: 800;
  letter-spacing: -0.025em;
  color: var(--dsr-dark);
  line-height: 1.2;
  overflow-wrap: anywhere;
}

.zk-dsr-delta {
  font-size: 0.7rem;
  font-weight: 700;
  margin-top: 0.1rem;
  line-height: 1.25;
  display: flex;
  flex-wrap: wrap;
  gap: 0.15rem 0.2rem;
  align-items: baseline;
}

.zk-dsr-delta.up { color: var(--dsr-pos); }
.zk-dsr-delta.down { color: var(--dsr-neg); }
.zk-dsr-delta span {
  color: var(--dsr-muted);
  font-weight: 600;
}

.zk-dsr-skel-kpi {
  min-height: 5.15rem;
}

/* ── Charts row ─────────────────────────────────────── */
.zk-dsr-charts {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(0, 1fr) minmax(0, 1fr);
  gap: 0.75rem;
}

.zk-dsr-card {
  background: var(--dsr-card);
  border: 1px solid var(--dsr-border);
  border-radius: var(--dsr-radius);
  padding: 1rem 1.1rem 1.05rem;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
  box-shadow: var(--dsr-shadow);
}

.zk-dsr-card-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
}

.zk-dsr-card-head h2 {
  margin: 0;
  font-size: 0.95rem;
  font-weight: 800;
  color: var(--dsr-dark);
}

.zk-dsr-card-head select {
  height: 2rem;
  border: 1px solid var(--dsr-border);
  border-radius: 8px;
  background: #fff;
  font: inherit;
  font-size: 0.78rem;
  font-weight: 650;
  padding: 0 0.55rem;
  color: var(--dsr-dark);
}

.zk-dsr-bars {
  display: grid;
  grid-template-columns: repeat(13, minmax(0, 1fr));
  align-items: end;
  gap: 0.4rem;
  height: 12.5rem;
  padding: 0.35rem 0.15rem 0;
  border-bottom: 1px solid var(--dsr-line);
}

.zk-dsr-bar-col {
  display: grid;
  grid-template-rows: 1fr auto;
  height: 100%;
  gap: 0.4rem;
  min-width: 0;
}

.zk-dsr-bar-track {
  display: flex;
  align-items: flex-end;
  height: 100%;
  min-height: 0;
  background: linear-gradient(180deg, transparent 0%, transparent 100%);
}

.zk-dsr-bar {
  width: 70%;
  margin-inline: auto;
  border-radius: 6px 6px 2px 2px;
  background: linear-gradient(180deg, #14a07a 0%, var(--dsr-primary) 100%);
  min-height: 3px;
  transition: height 0.28s ease;
}

.zk-dsr-bar.is-zero {
  background: #e5e7eb;
  min-height: 3px;
  height: 3px !important;
}

.zk-dsr-bar-col span {
  font-size: 0.62rem;
  font-weight: 700;
  color: var(--dsr-muted);
  text-align: center;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.zk-dsr-donut-wrap {
  display: grid;
  grid-template-columns: minmax(8rem, 9.25rem) minmax(0, 1fr);
  gap: 0.85rem;
  align-items: start;
  min-height: 0;
}

.zk-dsr-donut {
  width: 100%;
  aspect-ratio: 1;
  border-radius: 50%;
  position: relative;
  display: grid;
  place-items: center;
  box-shadow: inset 0 0 0 1px rgba(26, 28, 46, 0.04);
}

.zk-dsr-donut-hole {
  position: absolute;
  inset: 24%;
  border-radius: 50%;
  background: var(--dsr-card);
  display: grid;
  place-content: center;
  text-align: center;
  padding: 0.4rem;
  box-shadow: 0 0 0 1px var(--dsr-line);
}

.zk-dsr-donut-hole strong {
  font-size: 0.78rem;
  font-weight: 800;
  color: var(--dsr-dark);
  overflow-wrap: anywhere;
  line-height: 1.2;
}

.zk-dsr-donut-hole small {
  color: var(--dsr-muted);
  font-size: 0.65rem;
  font-weight: 700;
  margin-top: 0.15rem;
}

.zk-dsr-legend {
  display: grid;
  gap: 0.4rem;
  min-width: 0;
  max-height: 11.5rem;
  overflow-y: auto;
  padding-inline-end: 0.15rem;
}

.zk-dsr-legend button {
  display: grid;
  grid-template-columns: 0.5rem minmax(0, 1fr) auto;
  column-gap: 0.45rem;
  align-items: center;
  border: 0;
  background: transparent;
  padding: 0;
  text-align: start;
  font: inherit;
  cursor: pointer;
  color: inherit;
  min-width: 0;
}

.zk-dsr-legend i {
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 999px;
  flex-shrink: 0;
}

.zk-dsr-legend b {
  font-size: 0.78rem;
  font-weight: 700;
  color: var(--dsr-dark);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  min-width: 0;
}

.zk-dsr-legend em {
  font-style: normal;
  font-size: 0.7rem;
  font-weight: 650;
  color: var(--dsr-muted);
  white-space: nowrap;
  text-align: end;
  line-height: 1.25;
}

.zk-dsr-banner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.65rem;
  padding: 0.85rem 1rem;
  border-radius: var(--dsr-radius);
  border: 1px dashed #c9d4cd;
  background: #f8fbf9;
}

.zk-dsr-banner strong {
  display: block;
  font-size: 0.92rem;
  color: var(--dsr-dark);
}

.zk-dsr-banner p {
  margin: 0.15rem 0 0;
  color: var(--dsr-muted);
  font-size: 0.82rem;
}

/* ── Detail / table card ────────────────────────────── */
.zk-dsr-detail {
  background: var(--dsr-card);
  border: 1px solid var(--dsr-border);
  border-radius: 11px;
  padding: 0 0.15rem 0.85rem;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 0;
  box-shadow: var(--dsr-shadow);
}

.zk-dsr-detail-top {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.55rem 1rem;
  border-bottom: 1px solid var(--dsr-border);
  padding: 0 0.85rem;
}

.zk-dsr-tabs {
  display: flex;
  gap: 0;
  overflow-x: auto;
  min-width: 0;
  scrollbar-width: none;
}

.zk-dsr-tabs::-webkit-scrollbar { display: none; }

.zk-dsr-tabs button {
  border: 0;
  background: transparent;
  color: var(--dsr-dark);
  font: inherit;
  font-weight: 650;
  font-size: 0.84rem;
  padding: 0.9rem 0.85rem 0.75rem;
  cursor: pointer;
  white-space: nowrap;
  border-bottom: 2.5px solid transparent;
  margin-bottom: -1px;
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
}

.zk-dsr-tabs button svg {
  width: 1.05rem;
  height: 1.05rem;
  color: var(--dsr-muted);
}

.zk-dsr-tabs button.on {
  color: var(--dsr-primary);
  font-weight: 750;
  border-bottom-color: var(--dsr-primary);
}

.zk-dsr-tabs button.on svg { color: var(--dsr-primary); }

.zk-dsr-tools {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  align-items: center;
  padding: 0.55rem 0;
}

.zk-dsr-search-wrap {
  position: relative;
  display: flex;
  align-items: center;
}

.zk-dsr-search-wrap svg {
  position: absolute;
  inset-inline-start: 0.7rem;
  width: 0.95rem;
  height: 0.95rem;
  color: var(--dsr-muted);
  pointer-events: none;
}

.zk-dsr-search {
  height: 2.25rem;
  border: 1px solid var(--dsr-border);
  border-radius: 8px;
  background: #fff;
  color: var(--dsr-dark);
  padding: 0 0.75rem 0 2.1rem;
  font: inherit;
  font-size: 0.8125rem;
  font-weight: 550;
  min-width: min(15.5rem, 100%);
}

.zk-dsr-export,
.zk-dsr-more {
  position: relative;
}

.zk-dsr-export-btn {
  color: var(--dsr-primary);
  border-color: var(--dsr-border);
  background: #fff;
}

.zk-dsr-export-btn svg:first-child { color: var(--dsr-primary); }

.zk-dsr-export-btn .mesa-select-caret,
.zk-dsr-export-btn svg:last-child,
.zk-dsr-ico-btn svg:last-child {
  width: 0.85rem;
  height: 0.85rem;
  opacity: 0.75;
}

.zk-dsr-menu {
  position: absolute;
  top: calc(100% + 0.3rem);
  inset-inline-end: 0;
  z-index: 12;
  background: #fff;
  border: 1px solid var(--dsr-border);
  border-radius: 10px;
  box-shadow: 0 10px 28px rgba(17, 27, 77, 0.12);
  min-width: 9.5rem;
  padding: 0.3rem;
  display: grid;
}

.zk-dsr-menu button {
  border: 0;
  background: transparent;
  text-align: start;
  padding: 0.5rem 0.7rem;
  border-radius: 7px;
  font: inherit;
  font-weight: 650;
  font-size: 0.8125rem;
  color: var(--dsr-dark);
  cursor: pointer;
}

.zk-dsr-menu button:hover,
.zk-dsr-menu button.on {
  background: #eff6ff;
  color: #1d4ed8;
}

.zk-dsr-menu-sep {
  height: 1px;
  background: var(--dsr-border);
  margin: 0.25rem 0.2rem;
}

.zk-dsr-menu-label {
  padding: 0.35rem 0.7rem 0.15rem;
  font-size: 0.7rem;
  font-weight: 700;
  color: var(--dsr-muted);
}

.zk-dsr-ico-btn {
  min-width: 2.25rem;
  height: 2.25rem;
  padding: 0 0.45rem;
  gap: 0.15rem;
}

.zk-dsr-table-wrap {
  overflow-x: auto;
  overscroll-behavior-x: contain;
  margin: 0;
  border: 0;
  border-radius: 0;
}

.zk-dsr-table {
  width: 100%;
  border-collapse: collapse;
  min-width: 960px;
}

.zk-dsr-table th,
.zk-dsr-table td {
  padding: 0.65rem 0.75rem;
  border-bottom: 1px solid #eef2f6;
  text-align: start;
  font-size: 0.8125rem;
  white-space: nowrap;
  color: var(--dsr-dark);
}

.zk-dsr-table th {
  background: #f1f5f9;
  color: var(--dsr-dark);
  font-weight: 700;
  font-size: 0.72rem;
  letter-spacing: 0.01em;
  position: sticky;
  top: 0;
  z-index: 1;
}

.zk-dsr-table th.idx,
.zk-dsr-table td.idx {
  width: 2.5rem;
  color: var(--dsr-muted);
  font-weight: 600;
}

.zk-dsr-table th.num,
.zk-dsr-table td.num,
.zk-dsr-table tfoot td.num {
  text-align: end;
}

.zk-dsr-table th button {
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  font-weight: inherit;
  cursor: pointer;
  padding: 0;
  display: inline-flex;
  align-items: center;
  gap: 0.2rem;
}

.zk-dsr-table th button:hover { color: var(--dsr-primary); }

.zk-dsr-table td.name {
  font-weight: 700;
  color: var(--dsr-dark);
}

.zk-dsr-table td.muted,
.zk-dsr-table td.mesa-ltr-nums.muted {
  color: var(--dsr-muted);
  font-weight: 550;
}

.zk-dsr-table td.cashier .zk-dsr-avatar {
  margin-inline-end: 0.45rem;
  vertical-align: middle;
}

.zk-dsr-table tbody tr { cursor: pointer; }
.zk-dsr-table tbody tr:hover { background: #f8fafc; }

.zk-dsr-table tfoot td {
  font-weight: 800;
  background: #f8fafc;
  border-bottom: 0;
  color: var(--dsr-dark);
  border-top: 1px solid var(--dsr-border);
}

.zk-dsr-table-skel td { padding: 0.7rem 0.75rem; }

.zk-dsr-skel-line {
  display: block;
  height: 0.7rem;
  border-radius: 4px;
  background: linear-gradient(90deg, #eef1f4 25%, #f7f8fa 50%, #eef1f4 75%);
  background-size: 200% 100%;
  animation: dsr-shimmer 1.1s infinite linear;
}

.zk-dsr-avatar {
  width: 1.7rem;
  height: 1.7rem;
  border-radius: 999px;
  background: var(--dsr-primary-soft);
  color: var(--dsr-primary);
  display: inline-grid;
  place-items: center;
  font-size: 0.68rem;
  font-weight: 800;
  flex-shrink: 0;
}

.zk-dsr-foot {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 0.65rem;
  align-items: center;
  color: var(--dsr-muted);
  font-size: 0.8rem;
  font-weight: 600;
  padding: 0.75rem 0.95rem 0.15rem;
  border-top: 1px solid #eef2f6;
}

.zk-dsr-pager {
  display: flex;
  flex-wrap: wrap;
  gap: 0.28rem;
  align-items: center;
}

.zk-dsr-pager button {
  min-width: 2rem;
  height: 2rem;
  border-radius: 7px;
  border: 1px solid var(--dsr-border);
  background: #fff;
  cursor: pointer;
  font: inherit;
  font-weight: 700;
  font-size: 0.78rem;
  color: var(--dsr-dark);
}

.zk-dsr-pager button.on {
  background: var(--dsr-primary);
  border-color: var(--dsr-primary);
  color: #fff;
}

.zk-dsr-pager button:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}

.zk-dsr-pager button:focus-visible,
.zk-dsr-tabs button:focus-visible,
.zk-dsr-tools .zk-dsr-btn:focus-visible,
.zk-dsr-search:focus-visible {
  outline: 2px solid rgba(0, 138, 104, 0.35);
  outline-offset: 1px;
}

.zk-dsr-empty-inline {
  text-align: center;
  padding: 2.5rem 1rem;
  color: var(--dsr-muted);
  display: grid;
  gap: 0.45rem;
  justify-items: center;
}

.zk-dsr-empty-inline strong {
  color: var(--dsr-dark);
  font-size: 0.95rem;
}

.zk-dsr-empty-inline p {
  margin: 0;
  font-size: 0.82rem;
  max-width: 22rem;
}

.zk-dsr-error {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.65rem;
  padding: 0.75rem 1rem;
  border-radius: 10px;
  background: #fef2f2;
  border: 1px solid #fecaca;
  color: #991b1b;
}

.zk-dsr-error p {
  margin: 0;
  font-size: 0.875rem;
  font-weight: 700;
}

.zk-dsr-skel {
  background: linear-gradient(90deg, #eef1f4 25%, #f7f8fa 50%, #eef1f4 75%);
  background-size: 200% 100%;
  animation: dsr-shimmer 1.1s infinite linear;
  border-radius: 12px;
  min-height: 5.25rem;
  border: 1px solid var(--dsr-border);
}

@keyframes dsr-shimmer {
  0% { background-position: 200% 0; }
  100% { background-position: -200% 0; }
}

.zk-dsr-drawer-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(26, 28, 46, 0.38);
  z-index: 80;
  display: grid;
  justify-items: end;
}

.zk-dsr-drawer {
  width: min(28rem, 100%);
  height: 100%;
  background: #fff;
  border-inline-start: 1px solid var(--dsr-border);
  padding: 1.1rem;
  overflow: auto;
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
  box-shadow: -8px 0 32px rgba(26, 28, 46, 0.12);
}

.zk-dsr-drawer header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 0.5rem;
}

.zk-dsr-drawer h3 {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 800;
}

.zk-dsr-drawer dl {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 0.4rem 0.85rem;
  margin: 0;
  font-size: 0.86rem;
}

.zk-dsr-drawer dt { color: var(--dsr-muted); font-weight: 700; }
.zk-dsr-drawer dd { margin: 0; font-weight: 700; }

@media (max-width: 1280px) {
  .zk-dsr-kpis { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .zk-dsr-charts { grid-template-columns: 1fr 1fr; }
  .zk-dsr-charts > :first-child { grid-column: 1 / -1; }
}

@media (max-width: 820px) {
  .zk-dsr-kpis { grid-template-columns: 1fr; }
  .zk-dsr-charts { grid-template-columns: 1fr; }
  .zk-dsr-charts > :first-child { grid-column: auto; }
  .zk-dsr-filterbar { align-items: stretch; }
  .zk-dsr-filter-selects { width: 100%; }
  .zk-dsr-filter-selects .zk-dsr-field { flex: 1; min-width: 8rem; }
  .zk-dsr-head { align-items: stretch; }
  .zk-dsr-head-actions {
    width: 100%;
    flex-direction: column;
    align-items: stretch;
  }
  .zk-dsr-head-actions .zk-dsr-control,
  .zk-dsr-head-actions .zk-dsr-date-field,
  .zk-dsr-head-actions .zk-dsr-btn { width: 100%; }
  .zk-dsr-head-actions .zk-dsr-control input,
  .zk-dsr-head-actions .zk-dsr-date-field input,
  .zk-dsr-head-actions .zk-dsr-control .mesa-select { width: 100%; min-width: 0; }
  .zk-dsr-filter-selects .zk-dsr-field { flex: 1; min-width: 8rem; }
  .zk-dsr-donut-wrap { grid-template-columns: 1fr; justify-items: center; }
  .zk-dsr-bars { grid-template-columns: repeat(auto-fit, minmax(1.4rem, 1fr)); }
  .zk-dsr-detail-top {
    flex-direction: column;
    align-items: stretch;
    padding: 0 0.65rem;
  }
  .zk-dsr-tools { width: 100%; }
  .zk-dsr-search-wrap,
  .zk-dsr-search {
    width: 100%;
    min-width: 0;
  }
  .zk-dsr-tools .zk-dsr-btn { flex: 1 1 auto; }
}

@media (min-width: 821px) and (max-width: 1100px) {
  .zk-dsr-kpis { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media print {
  .zk-dsr-head-actions .zk-dsr-btn,
  .zk-dsr-filterbar,
  .zk-dsr-tools,
  .zk-dsr-pager,
  .zk-dsr-detail-top .zk-dsr-tools,
  .no-print {
    display: none !important;
  }
  .zk-dsr-card,
  .zk-dsr-kpi,
  .zk-dsr-detail,
  .zk-dsr-filterbar {
    box-shadow: none;
    break-inside: avoid;
  }
}
