:root{font-family:system-ui,Segoe UI,Roboto,Arial,sans-serif;font-size:16px;font-synthesis:none;line-height:1.5;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{margin:0}.app-shell{min-height:100svh;background:#f6f7f9;color:#17202a}.top-bar{min-height:60px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px clamp(16px,4vw,48px);border-bottom:1px solid #d8dee8;background:#fff}.top-bar__brand{display:flex;align-items:center;gap:10px;min-width:0}.top-bar__brand .brand-mark{font-size:22px;line-height:1}.top-bar h1{margin:0;font-size:20px;line-height:1.15;white-space:nowrap}.account-menu{position:relative}.account-btn{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 12px;border:1px solid #cdd6e2;border-radius:10px;background:#fff;color:#263241;font-size:15px;font-weight:600;cursor:pointer;max-width:46vw}.account-btn__name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-btn__avatar{display:none;font-size:18px;line-height:1}.account-btn__caret{font-size:11px;color:#6b7684}.account-menu__pop{position:absolute;right:0;top:calc(100% + 6px);z-index:60;min-width:180px;background:#fff;border:1px solid #e3e7ec;border-radius:12px;padding:8px;box-shadow:0 12px 30px -14px #10182866}.account-menu__role{margin:2px 6px 8px;font-size:12px;color:#6b7684;text-transform:uppercase;letter-spacing:.04em}.account-menu__item{width:100%;text-align:left;min-height:44px;padding:0 10px;border:none;border-radius:8px;background:transparent;color:#b23a2c;font-size:15px;font-weight:600;cursor:pointer}.account-menu__item:hover{background:#fdeeec}.nav-more{position:relative}.nav-more__pop{position:absolute;left:0;top:calc(100% + 6px);z-index:60;min-width:200px;background:#fff;border:1px solid #e3e7ec;border-radius:12px;padding:8px;box-shadow:0 12px 30px -14px #10182866;display:flex;flex-direction:column;gap:2px}.nav-more__item{text-align:left;min-height:46px;padding:0 12px;border:none;border-radius:8px;background:transparent;color:#263241;font-size:15px;cursor:pointer}.nav-more__item:hover{background:#f4f7fb}.eyebrow,.panel-label{margin:0;color:#687385;font-size:14px;font-weight:700;text-transform:uppercase}h1,h2,p{margin:0}h1{margin-top:4px;font-size:32px;line-height:1.15}h2{margin-top:10px;font-size:24px;line-height:1.2}.status-group{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:0 14px;border:1px solid #b8d9c5;border-radius:6px;color:#11623d;background:#ecf8f0;font-weight:700}.status-dot{width:10px;height:10px;border-radius:999px;background:#16a065}.work-area{display:grid;grid-template-columns:minmax(0,2fr) minmax(260px,1fr);gap:20px;padding:clamp(20px,4vw,48px)}.panel{border:1px solid #d8dee8;border-radius:8px;background:#fff;padding:24px}.primary-panel{min-height:260px}.primary-panel p:last-child{max-width:660px;margin-top:12px;color:#475364}.checklist ul{display:grid;gap:12px;padding:0;margin:18px 0 0;list-style:none}.checklist li{min-height:44px;display:flex;align-items:center;border-bottom:1px solid #e6ebf2;color:#2f3a49}.role-line{margin-top:6px;color:#687385;font-weight:600}.top-bar-actions{display:flex;align-items:center;gap:12px}.status-group.status-offline{border-color:#e6b8b8;color:#a12626;background:#fbecec}.status-offline .status-dot{background:#d3384e}.status-group.status-warn{border-color:#e6c67a;color:#7a5b12;background:#fdf4e3}.status-warn .status-dot{background:#d99a13}.status-sync{margin-left:6px;padding:0 6px;border-radius:999px;background:#00000014;font-size:12px}.primary-button,.ghost-button,.nav-button,.tab{min-height:48px;border-radius:8px;font-weight:700;font-size:16px;cursor:pointer}.primary-button{width:100%;padding:0 20px;border:1px solid #11623d;background:#16a065;color:#fff}.primary-button:disabled{opacity:.6;cursor:progress}.ghost-button{padding:0 18px;border:1px solid #c2662a;background:#fff3ea;color:#a1521f}.ghost-button.danger{border-color:#c0392b;background:#fdecea;color:#a52a1f}.main-nav{padding:clamp(16px,3vw,32px) clamp(20px,4vw,48px) 0}.main-nav ul{display:flex;flex-wrap:wrap;gap:12px;padding:0;margin:0;list-style:none}.nav-button{padding:0 20px;border:1px solid #cdd6e2;background:#fff;color:#1d2733}.nav-empty{color:#687385}.login-shell{min-height:100svh;display:flex;align-items:center;justify-content:center;padding:24px;background:#f6f7f9;color:#17202a}.login-card{width:100%;max-width:420px;padding:clamp(24px,5vw,40px);border:1px solid #d8dee8;border-radius:12px;background:#fff}.login-header{display:grid;gap:8px;margin-bottom:20px}.login-tabs{display:flex;gap:8px;margin-bottom:20px}.tab{flex:1;padding:0 12px;border:1px solid #cdd6e2;background:#f1f4f8;color:#46536a}.tab.active{border-color:#11623d;background:#ecf8f0;color:#11623d}.login-form{display:grid;gap:16px}.field{display:grid;gap:6px;font-weight:600}.field input{min-height:48px;padding:0 14px;border:1px solid #cdd6e2;border-radius:8px;font-size:16px}.field input:focus-visible{outline:2px solid #16a065;outline-offset:1px}.form-error{padding:12px 14px;border:1px solid #e6b8b8;border-radius:8px;background:#fbeaec;color:#a12626;font-weight:600}.auth-loading{min-height:100svh;display:grid;place-content:center;justify-items:center;gap:14px;color:#46536a}.spinner{width:28px;height:28px;border:3px solid #cdd6e2;border-top-color:#16a065;border-radius:999px;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.config-area,.catalog-area,.pos-area,.printing-area,.reports-page{padding:clamp(16px,3vw,32px) clamp(20px,4vw,48px) 48px}.config-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0 24px}.config-tab{min-height:44px;display:inline-flex;align-items:center;padding:0 16px;border:1px solid #cdd6e2;border-radius:8px;background:#fff;color:#1d2733;font-weight:600;text-decoration:none}.config-tab.active{border-color:#11623d;background:#ecf8f0;color:#11623d}.config-form-stack{display:grid;gap:16px;align-content:start}.config-form{display:grid;gap:16px;max-width:560px;padding:24px;border:1px solid #d8dee8;border-radius:8px;background:#fff}.role-picker{display:grid;gap:6px;border:1px solid #d8dee8;border-radius:8px;padding:12px 14px;margin:0}.role-picker legend{padding:0 6px;font-weight:600;color:#33507a}.modal.modal-wide{width:min(680px,100%)}.permission-matrix{display:grid;gap:12px;max-height:60svh;overflow-y:auto}.config-form select{min-height:48px;padding:0 12px;border:1px solid #cdd6e2;border-radius:8px;font-size:16px}.field.checkbox{display:flex;flex-direction:row;align-items:center;gap:10px}.field.checkbox input{width:22px;height:22px}.form-ok{padding:12px 14px;border:1px solid #b8d9c5;border-radius:8px;background:#ecf8f0;color:#11623d;font-weight:600}.form-actions{display:flex;gap:12px}.tax-config,.printer-config{display:grid;gap:20px;max-width:680px}.config-history,.printer-list{display:grid;gap:10px;margin:12px 0 0;padding:0;list-style:none}.printer-list li{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;min-height:44px;padding:8px 0;border-bottom:1px solid #e6ebf2}.printer-actions{display:flex;gap:8px}.printer-actions button{min-height:40px;padding:0 14px}.catalog-crud{display:grid;grid-template-columns:1.4fr 1fr;gap:16px;align-items:start}.catalog-group+.catalog-group{margin-top:16px}.catalog-group-title{margin:12px 0 0;font-weight:600;color:#33507a;border-bottom:2px solid #d3dcea;padding-bottom:4px}.catalog-list{display:grid;gap:10px;margin:12px 0 0;padding:0;list-style:none}.catalog-list li{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;min-height:44px;padding:8px 0;border-bottom:1px solid #e6ebf2}.catalog-actions{display:flex;gap:8px}.catalog-actions button{min-height:40px;padding:0 14px}.catalog-search{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end;margin-bottom:12px}.catalog-search .field{flex:1 1 240px;margin:0}.catalog-search button{min-height:40px;padding:0 18px}.badge-ok,.badge-warn{display:inline-block;padding:2px 10px;border-radius:999px;font-size:13px;font-weight:600}.badge-ok{background:#e3f6ea;color:#1f7a44}.badge-warn{background:#fdecec;color:#b42323}.hint{margin:4px 0 0;color:#5a6472;font-size:14px}.table-area{margin-top:16px}.table-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:12px;margin-top:8px}.table-cell{display:flex;flex-direction:column;gap:4px;min-height:84px;padding:12px;border-radius:12px;border:1px solid #d5deea;background:#f2f6fb;cursor:pointer;text-align:left}.table-cell:disabled{cursor:not-allowed;opacity:.7}.table-cell .table-name{font-weight:700;font-size:18px}.table-cell .table-status{font-size:13px;color:#5a6472}.table-cell .table-order{font-size:12px;color:#1f7a44;font-weight:600}.table-empty{background:#eef7f0;border-color:#bfe3c9}.table-occupied{background:#fdf3e6;border-color:#f2d3a0}.table-locked{background:#eceff3;border-color:#d0d6de}.tablemap-tabs{display:flex;gap:8px;margin:14px 0 10px;overflow-x:auto;scrollbar-width:thin;-webkit-overflow-scrolling:touch}.tablemap-tab{flex:0 0 auto;min-height:44px;padding:8px 16px;border-radius:999px;border:1px solid #cdd6e2;background:#fff;color:#35414f;font-size:15px;cursor:pointer;white-space:nowrap}.tablemap-tab.active{background:#1f7a44;border-color:#1f7a44;color:#fff}.tablemap-tab__count{display:inline-block;margin-left:4px;font-size:12px;opacity:.8;font-variant-numeric:tabular-nums}.tablemap-filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px;overflow-x:auto}.tablemap-chip{flex:0 0 auto;min-height:40px;padding:6px 14px;border-radius:999px;border:1px solid #d5deea;background:#f4f7fb;color:#35414f;font-size:14px;cursor:pointer;white-space:nowrap}.tablemap-chip.active{border-color:#1f7a44;background:#e7f2ec;color:#0e5c3d;font-weight:600}.tablemap-chip__count{margin-left:4px;font-variant-numeric:tabular-nums;opacity:.85}.tablemap-chip--empty.active{border-color:#2f9e5c;background:#eef7f0;color:#1f7a44}.tablemap-chip--occupied.active{border-color:#d99a3a;background:#fdf3e6;color:#9a5a12}.tablemap-chip--awaitingpayment.active{border-color:#3b6fd0;background:#e9f0fd;color:#234f9e}.tablemap-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:14px;margin-top:4px}@media(min-width:1400px){.tablemap-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}}@media(max-width:420px){.tablemap-grid{grid-template-columns:repeat(auto-fill,minmax(128px,1fr));gap:10px}}.tablemap-card{display:flex;flex-direction:column;gap:6px;min-height:100px;padding:12px 14px;border-radius:14px;border:1px solid #d5deea;border-left:5px solid #b9c4d3;background:#fff;cursor:pointer;text-align:left;box-shadow:0 1px 2px #1018280a;transition:box-shadow .12s ease,transform .12s ease}.tablemap-card:hover:not(:disabled){box-shadow:0 6px 16px -8px #10182859}.tablemap-card:active:not(:disabled){transform:translateY(1px)}.tablemap-card:focus-visible{outline:3px solid #1f7a44;outline-offset:2px}.tablemap-card:disabled{cursor:not-allowed;opacity:.65}.tablemap-card--skeleton{pointer-events:none;border-left-color:#e3e7ec}.tablemap-card__top{display:flex;align-items:flex-start;justify-content:space-between;gap:6px}.tablemap-card__name{font-weight:700;font-size:19px;line-height:1.1}.tablemap-card__badge{flex:0 0 auto;font-size:11px;font-weight:700;padding:2px 7px;border-radius:999px;background:#c0392b;color:#fff;white-space:nowrap}.tablemap-card__status{display:flex;align-items:center;gap:6px;font-size:13px;color:#5a6472}.tablemap-card__dot{font-size:12px;line-height:1}.tablemap-card__meta{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-top:auto;font-size:12.5px;color:#6b7684}.tablemap-card__total{font-size:14px;color:#17241e;font-variant-numeric:tabular-nums}.tablemap-card--empty{border-left-color:#2f9e5c;background:#f4fbf6}.tablemap-card--empty .tablemap-card__dot{color:#2f9e5c}.tablemap-card--occupied{border-left-color:#d99a3a;background:#fffaf2}.tablemap-card--occupied .tablemap-card__dot{color:#c47f1e}.tablemap-card--awaitingpayment{border-left-color:#3b6fd0;background:#f4f8ff}.tablemap-card--awaitingpayment .tablemap-card__status{color:#234f9e;font-weight:600}.tablemap-card--awaitingpayment .tablemap-card__dot{color:#3b6fd0}.tablemap-card--reserved{border-left-color:#8a6fd0;background:#f8f6ff}.tablemap-card--locked{border-left-color:#b0b8c2;background:#f2f4f7}.tablemap-card--locked .tablemap-card__dot{color:#8b95a1}.tablemap-subhead{display:flex;align-items:center;gap:8px;margin:22px 0 10px;font-size:15px;font-weight:700;color:#33404f}.tablemap-subhead__count{font-size:12px;font-weight:700;color:#6b7684;background:#eef1f5;border-radius:999px;padding:1px 9px}.tablemap-tab--offpremise{margin-left:auto}@media(max-width:767px){.tablemap-tab--offpremise{margin-left:0}}.offpremise-actions{display:flex;flex-wrap:wrap;gap:10px;margin:4px 0 14px}.offpremise-actions .primary-button,.offpremise-actions .nav-button{flex:1 1 200px;max-width:280px;width:auto;justify-content:center;text-align:center}.offpremise-card{border-left-color:#c98b2f;background:#fffaf1}.offpremise-card--delivery{border-left-color:#7a5ad0;background:#f9f7ff}.offpremise-card__kind{align-self:flex-start;display:inline-flex;align-items:center;gap:4px;padding:2px 9px;border-radius:999px;white-space:nowrap;font-size:12px;font-weight:700;background:#fbe9c8;color:#8a6a1f}.offpremise-card--delivery .offpremise-card__kind{background:#ece6fb;color:#5b45a8}.offpremise-card__num{font-weight:800;font-size:15px;line-height:1.15;word-break:break-word}.offpremise-card__who{color:#46525f}.offpremise-card__cust{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.offpremise-card__served{flex:0 0 auto;color:#6b7684;font-variant-numeric:tabular-nums}.offpremise-card__addr{font-size:12px;color:#6b7684;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.tablemap-legend{display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:18px;font-size:12px;color:#6b7684}.tablemap-legend__item{display:inline-flex;align-items:center;gap:6px}.tablemap-legend__swatch{width:12px;height:12px;border-radius:3px;display:inline-block}.tablemap-legend__item--empty .tablemap-legend__swatch{background:#2f9e5c}.tablemap-legend__item--occupied .tablemap-legend__swatch{background:#d99a3a}.tablemap-legend__item--awaitingpayment .tablemap-legend__swatch{background:#3b6fd0}.tablemap-legend__item--locked .tablemap-legend__swatch{background:#b0b8c2}.order-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.order-type-tag{display:inline-block;padding:1px 8px;border-radius:999px;font-size:13px;font-weight:700;background:#fdf0da;color:#8a6a1f}.order-type-tag--delivery{background:#f0ecfb;color:#5b45a8}.order-customer{margin:2px 0 0;font-size:13px;color:#46525f}.order-body{display:grid;grid-template-columns:minmax(0,2.4fr) 168px minmax(240px,1.6fr);gap:16px;align-items:start}@media(max-width:1199px){.order-body{grid-template-columns:minmax(0,2fr) 150px minmax(220px,1.4fr)}}.order-body>*{min-width:0}.order-detail__items{display:flex;flex-direction:column;max-height:calc(100dvh - 190px)}.order-items__scroll{flex:1;overflow-y:auto;min-height:0;margin:0 -4px;padding:0 4px}.order-lines{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.order-line{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:10px 12px;border-radius:12px;border:1px solid #e6eaf0;background:#fff;border-left:4px solid #cdd6e2}.order-line--warn{border-left-color:#d99a3a;background:#fffdf8}.order-line--ok{border-left-color:#2f9e5c}.order-line--muted{border-left-color:#b0b8c2;opacity:.7}.order-line__info{min-width:0;flex:1;display:flex;flex-direction:column;gap:4px}.order-line__title{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 8px}.order-line__name{font-size:15px}.order-line__variant{color:#5a6472;font-size:13px}.order-line__badge{font-size:11px;font-weight:700;padding:1px 8px;border-radius:999px;white-space:nowrap}.order-line__badge--warn{background:#fdf3e6;color:#9a5a12}.order-line__badge--ok{background:#e7f2ec;color:#1f7a44}.order-line__badge--muted{background:#eceff3;color:#6b7684}.order-line__meta{display:flex;align-items:baseline;justify-content:space-between;gap:10px;font-size:12.5px;color:#5a6472}.order-line__total{color:#17241e;font-size:14px;font-variant-numeric:tabular-nums;white-space:nowrap}.order-line__actions{display:flex;flex-direction:column;align-items:flex-end;gap:6px;flex:0 0 auto}.order-line__buttons{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}.qty-stepper{display:inline-flex;align-items:center;border:1px solid #cdd6e2;border-radius:8px;overflow:hidden}.qty-btn{min-width:40px;min-height:40px;border:none;background:#f4f7fb;font-size:20px;line-height:1;cursor:pointer}.qty-btn:hover{background:#e7eef7}.qty-value{min-width:34px;text-align:center;font-weight:700;font-variant-numeric:tabular-nums}.qty-input{width:44px;min-height:40px;text-align:center;font-weight:700;font-size:15px;font-variant-numeric:tabular-nums;border:none;border-left:1px solid #cdd6e2;border-right:1px solid #cdd6e2;background:#fff;padding:0;-moz-appearance:textfield}.qty-input:focus{outline:2px solid #1f7a44;outline-offset:-2px}.qty-btn:disabled{opacity:.45;cursor:not-allowed}.line-action{min-height:36px;padding:0 12px;border-radius:8px;border:1px solid #cdd6e2;background:#fff;color:#35414f;font-size:13px;cursor:pointer}.line-action:hover{background:#f4f7fb}.line-action--danger{border-color:#e3b7b0;color:#b23a2c}.line-action--danger:hover{background:#fdeeec}.order-items__footer{display:flex;align-items:baseline;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-top:10px;padding-top:10px;border-top:2px solid #e6eaf0}.order-items__footer .order-total{font-size:18px}.order-items__footer .order-total strong{font-size:20px}.order-items__unsent{font-size:12px;font-weight:700;color:#9a5a12;background:#fdf3e6;padding:2px 10px;border-radius:999px}.order-action-column{display:flex;flex-direction:column;gap:8px;align-self:start;position:sticky;top:12px}.order-action{width:100%;min-height:46px;padding:0 10px;border-radius:10px;border:1px solid #cdd6e2;background:#fff;color:#263241;font-size:15px;cursor:pointer}.order-action:hover:not(:disabled){background:#f4f7fb}.order-action:disabled{opacity:.55;cursor:not-allowed}.order-action--send:not(:disabled){background:#1f7a44;border-color:#1f7a44;color:#fff;font-weight:600}.order-action--primary{background:#12855a;border-color:#12855a;color:#fff;font-weight:700}.order-action--danger{border-color:#e3b7b0;color:#b23a2c}.order-action--danger:hover:not(:disabled){background:#fdeeec}.order-action-column__divider{height:1px;background:#e6eaf0;margin:4px 0}.menu-browser__panel{display:flex;flex-direction:column;max-height:calc(100dvh - 120px)}.menu-browser__sticky{position:sticky;top:0;z-index:2;background:#fff;padding-bottom:6px}.menu-browser__search{display:flex;align-items:flex-end;gap:8px}.menu-browser__search .field{flex:1;min-width:0}.menu-browser__search .nav-button{min-height:44px}.mic-button{flex:0 0 auto;width:44px;height:44px;border-radius:10px;border:1px solid #cdd6e2;background:#fff;font-size:18px;cursor:pointer;line-height:1}.mic-button.active{background:#1f7a44;border-color:#1f7a44}.menu-browser__cats{display:flex;gap:6px;overflow-x:auto;padding:8px 0 2px;-webkit-overflow-scrolling:touch}.menu-cat{flex:0 0 auto;min-height:38px;padding:6px 14px;border-radius:999px;white-space:nowrap;border:1px solid #d5deea;background:#f4f7fb;color:#35414f;font-size:14px;cursor:pointer}.menu-cat.active{border-color:#1f7a44;background:#e7f2ec;color:#0e5c3d;font-weight:600}.menu-browser__count{font-size:12px;color:#6b7684;margin:4px 0 0}.menu-browser__voice{border:1px solid #e6eaf0;border-radius:12px;padding:8px;margin:8px 0}.menu-browser__scroll{flex:1;overflow-y:auto;min-height:0;margin:8px -4px 0;padding:0 4px 4px}.menu-item-name{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;text-align:left}.menu-browser__more{width:100%;min-height:44px;margin-top:10px}.order-add-col,.order-add-wrap,.order-add,.menu-browser__panel,.menu-browser__sticky,.menu-browser__cats{min-width:0}.order-actions-table,.order-actions-life{display:flex;flex-direction:column;gap:8px}.order-actions-life{margin-top:8px;padding-top:8px;border-top:1px solid #e6eaf0}.order-actions-life__add,.sheet-handle{display:none}.line-action__icon{display:none;line-height:1}.line-action__text{display:inline}@media(max-width:767px){.line-action{min-width:42px;min-height:40px;padding:0 10px;font-size:17px}.line-action__text{display:none}.line-action__icon{display:inline}}.order-add-col{display:grid;gap:12px;align-content:start}.order-item-main{display:flex;align-items:center;gap:6px;min-width:0}.order-item-name{min-width:0;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden}.order-item-meta{flex:0 0 auto;white-space:nowrap;color:#475364}.order-item-note{width:100%;color:#7a3f12;font-size:14px;font-weight:700}.order-remove .btn-icon,.add-drawer-toggle,.add-drawer-backdrop,.drawer-close{display:none}.order-total{margin-top:12px;font-size:18px;text-align:right}.menu-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px;margin-top:10px}.menu-button{display:flex;flex-direction:column;gap:4px;min-height:64px;padding:10px;border-radius:10px;border:1px solid #d5deea;background:#fff;cursor:pointer;text-align:left;font-weight:600}.menu-button .menu-price{font-size:13px;color:#5a6472;font-weight:500}.order-add-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.view-toggle{display:inline-flex;border:1px solid #cdd6e2;border-radius:8px;overflow:hidden}.view-toggle-btn{min-height:36px;padding:0 12px;border:none;background:#fff;color:#33507a;font-weight:600;cursor:pointer}.view-toggle-btn.active{background:#2f6f4f;color:#fff}.menu-list{display:grid;gap:6px;margin-top:10px}.menu-row{display:flex;justify-content:space-between;align-items:center;gap:10px;min-height:44px;padding:8px 12px;border-radius:8px;border:1px solid #d5deea;background:#fff;cursor:pointer;text-align:left;font-weight:600}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#141c2866;display:flex;align-items:center;justify-content:center;padding:16px}.modal{background:#fff;border-radius:14px;padding:20px;width:min(460px,100%);max-height:calc(100svh - 32px);overflow-y:auto;display:grid;gap:12px}.adjust-form{display:grid;gap:12px}.modal .field{min-width:0}.modal .field input,.modal .field select,.modal .field textarea{width:100%;min-width:0;box-sizing:border-box}.modal .field.checkbox input[type=checkbox]{width:20px;height:20px;flex:0 0 auto}.order-row-actions{margin-left:auto}.compact-action .action-icon{display:none}.printing-area{display:grid;gap:16px}.queue-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.queue-header .nav-button{width:auto;min-width:112px}.queue-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(128px,1fr));gap:10px}.queue-summary-item{min-height:72px;display:grid;align-content:center;gap:4px;padding:10px 14px;border:1px solid #d8dee8;border-radius:8px;background:#fff;color:#1d2733;text-align:left;cursor:pointer}.queue-summary-item strong{font-size:24px;line-height:1}.queue-summary-item.active{border-color:#11623d;background:#ecf8f0;color:#11623d}.queue-filters{display:inline-flex;flex-wrap:wrap;max-width:100%;border:1px solid #cdd6e2;border-radius:8px;overflow:hidden;background:#fff}.queue-header-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.queue-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;margin:4px 0 12px}.queue-pagesize{display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:14px}.queue-pagesize select{min-height:44px;padding:0 12px;border:1px solid #cdd6e2;border-radius:8px;font-size:15px}.queue-total{color:#46525f;font-weight:600;font-size:14px}.print-job-list.is-paging{opacity:.6;transition:opacity .12s ease}.cleanup-modal{display:grid;gap:14px;width:min(460px,calc(100vw - 28px))}.cleanup-days{display:flex;flex-wrap:wrap;gap:8px}.cleanup-days .view-toggle-btn{border:1px solid #cdd6e2;border-radius:8px;min-height:44px;padding:0 14px}.cleanup-checkbox{display:inline-flex;align-items:center;gap:8px;font-weight:600}.cleanup-checkbox input{width:20px;height:20px}.cleanup-preview{display:grid;gap:4px;font-size:14px;color:#33404f}.cleanup-preview strong{font-variant-numeric:tabular-nums}.queue-pagination{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 16px;margin-top:16px}.queue-range{color:#46525f;font-size:14px;font-variant-numeric:tabular-nums}.queue-pager{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.queue-pager .nav-button{min-height:44px;min-width:44px}.queue-page-num.active{background:#16a065;border-color:#16a065;color:#fff}.queue-pager__mobile{display:none;font-weight:700;color:#33404f;padding:0 6px}@media(max-width:640px){.queue-pager__mobile{display:inline}.queue-page-num{display:none}.queue-pager .nav-button:first-child,.queue-pager .nav-button:last-child{display:none}.queue-pagination{flex-direction:column;align-items:stretch}}.print-job-list{display:grid;gap:12px;padding:0;margin:0;list-style:none}.print-job{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.2fr) auto;gap:12px;align-items:start;padding:14px;border:1px solid #d8dee8;border-radius:8px;background:#fff}.print-job-main,.print-job-meta{display:grid;gap:4px;min-width:0}.print-job-main strong,.print-job-meta span{overflow-wrap:anywhere}.print-job-meta{color:#5a6472;font-size:14px}.print-job-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.print-job-actions button{min-height:40px;padding:0 14px}.ticket-preview{min-width:0}.ticket-preview pre{font-family:ui-monospace,Cascadia Code,Consolas,monospace;font-size:11px;line-height:1.45;margin:0;padding:8px 10px;background:#f7f9fc;border:1px solid #e3e8ef;border-radius:6px;color:#1d2733;white-space:pre;overflow-x:auto;max-height:220px;overflow-y:auto}.ticket-preview .link-button{font-size:12px;margin-top:4px}.status-pill{width:fit-content;padding:4px 10px;border-radius:999px;background:#edf1f7;color:#33507a;font-size:13px;font-weight:700}.print-job-FailedRetryable .status-pill,.print-job-DeadLetter .status-pill{background:#fdecec;color:#b42323}.print-job-SentToTransport .status-pill{background:#e3f6ea;color:#1f7a44}.print-job-CancelledBeforeSend .status-pill{background:#f1f4f8;color:#687385}.billing-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}.metric-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px}.metric-grid div,.bill-summary div{border:1px solid #d8e0ea;border-radius:8px;padding:12px;background:#fff}.metric-grid span,.bill-summary span,.qr-box span{display:block;color:#66768a;font-size:13px;font-weight:700;text-transform:uppercase}.metric-grid strong,.bill-summary strong{display:block;margin-top:4px;font-size:20px}.compact-form{display:grid;gap:12px;align-content:start}.billing-modal{max-width:min(720px,calc(100vw - 28px))}.billing-modal .billing-actions-bar{position:sticky;bottom:-20px;z-index:1;margin:8px -20px -20px;padding:14px 20px calc(14px + env(safe-area-inset-bottom,0px));background:#fff;border-top:1px solid #e4e9f0;box-shadow:0 -8px 16px #141c2814;display:grid;gap:10px}.billing-modal .billing-actions-bar .form-error,.billing-modal .billing-actions-bar .form-ok{margin:0;padding:10px 12px}.billing-modal .billing-actions-bar .primary-button{flex:1}.bill-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.bill-lines{display:grid;gap:6px;border:1px solid #e4e9f0;border-radius:8px;padding:10px}.bill-lines p{display:flex;justify-content:space-between;gap:12px;margin:0}.inline-fields{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px}.payment-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.qr-box{display:grid;justify-items:center;gap:8px;border:1px solid #cfe5d8;border-radius:8px;background:#eef8f1;padding:12px;text-align:center}.qr-image{width:min(220px,100%);aspect-ratio:1;padding:8px;border:1px solid #cfe5d8;border-radius:8px;background:#fff}.qr-loading,.qr-error{margin:0;color:#566579;font-weight:600}.qr-error{color:#a12626}.qr-details{width:100%;text-align:left;color:#4e5d70;font-size:13px;font-weight:700}.qr-box code{display:block;max-height:72px;margin-top:6px;overflow:auto;white-space:pre-wrap;word-break:break-all;font-size:12px;font-weight:500}.bill-history{display:grid;gap:12px;margin-top:16px}.bill-history-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.bill-history-head .nav-button{width:auto;min-width:96px}.bill-history-list{display:grid;gap:10px}.bill-history-row{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1.35fr) auto auto;gap:12px;align-items:center;min-height:64px;padding:12px 0;border-bottom:1px solid #e6ebf2}.bill-history-row:last-child{border-bottom:none}.bill-history-main,.bill-history-meta{display:grid;gap:4px;min-width:0}.bill-history-main strong,.bill-history-meta span{overflow-wrap:anywhere}.bill-history-main span,.bill-history-meta{color:#5a6472}.bill-history-total{white-space:nowrap}.bill-history-row .nav-button{min-height:40px;padding:0 14px}.bill-payment-list{display:grid;gap:6px;border:1px solid #e4e9f0;border-radius:8px;padding:10px}.bill-payment-list p{display:flex;justify-content:space-between;gap:12px;margin:0}.billing-filter-tabs,.segmented-control{display:inline-flex;border:1px solid #cdd6e2;border-radius:8px;overflow:hidden;background:#fff}.billing-custom-range{display:flex;flex-wrap:wrap;gap:12px;margin:12px 0}.billing-custom-range .field{min-width:180px}.billing-kpi-row,.shift-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin:16px 0}.billing-kpi-row div,.shift-metrics div{min-height:84px;display:grid;align-content:center;gap:4px;border:1px solid #e0e6ef;border-radius:8px;background:#fff;padding:14px}.billing-kpi-row span,.shift-metrics span,.shift-banner span{color:#5a6472;font-weight:600}.billing-kpi-row strong,.shift-metrics strong,.shift-banner strong{font-size:24px}.billing-kpi-row small{color:#687385;font-weight:600}.revenue-panel,.payment-mix-panel{display:grid;gap:14px;margin-bottom:16px}.billing-tabs{display:flex;flex-wrap:wrap;gap:6px;border-bottom:1px solid #e0e6ef;margin-bottom:12px}.billing-tab{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;padding:10px 16px;min-height:44px;font-size:15px;font-weight:700;color:#5a6472;border-bottom:2px solid transparent;cursor:pointer}.billing-tab:hover{color:#2f3a49}.billing-tab.active{color:#1f5fa8;border-bottom-color:#1f5fa8}.billing-range-label{margin:0 0 12px;color:#5a6472;font-weight:600}.billing-range-label strong{color:#2f3a49}.billing-error{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;border:1px solid #e3b7b0;background:#fdeeec;color:#b23a2c;border-radius:8px;padding:12px 14px;margin-bottom:12px}.kpi-card{min-height:84px;display:grid;align-content:center;gap:4px;border:1px solid #e0e6ef;border-radius:8px;background:#fff;padding:14px}.kpi-card.kpi-danger{border-color:#eccfca;background:#fdf5f3}.kpi-card span{color:#5a6472;font-weight:600}.kpi-card strong{font-size:24px}.kpi-card small{color:#687385;font-weight:600}.billing-day-chart{min-height:150px;display:flex;align-items:flex-end;justify-content:flex-start;gap:10px;overflow-x:auto;padding-bottom:4px}.billing-day-bar{flex:1 1 44px;min-width:44px;max-width:96px;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:6px;height:150px}.billing-day-bar i{width:60%;max-width:46px;min-height:6px;border-radius:6px 6px 0 0;background:#6ba8e0}.billing-day-bar:hover i{background:#3f87d5}.billing-day-bar b{font-size:12px;color:#687385}.payment-mix{display:grid;gap:12px}.payment-mix-row{display:grid;gap:6px}.payment-mix-head{display:flex;align-items:center;gap:8px;font-weight:700;color:#2f3a49}.payment-mix-name{flex:1}.payment-mix-pct{color:#687385;min-width:54px;text-align:right}.payment-mix-track{height:10px;border-radius:999px;background:#e6ebf2;overflow:hidden}.payment-mix-track i{display:block;height:100%;border-radius:999px}.mix-dot{width:12px;height:12px;border-radius:3px;display:inline-block}.mix-Cash{background:#1d9a68}.mix-BankTransfer{background:#3f87d5}.mix-Card{background:#8270d8}.bill-list-panel{display:grid;gap:14px}.bill-list-toolbar{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between}.bill-filters{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end}.bill-filters .field{flex:1 1 170px;min-width:150px;gap:4px}.bill-filters .field input,.bill-filters .field select{width:100%;min-height:42px;box-sizing:border-box}.bill-filter-actions{display:flex;gap:8px;align-items:flex-end;flex:0 0 auto}.bill-filter-actions button{min-height:42px}.bill-filters-trigger{display:none}.bill-list-toolbar .queue-pagesize select{min-height:42px}.bill-filter-sheet{background:#fff;border-radius:12px;padding:18px;width:min(520px,92vw);display:grid;gap:12px}.bill-skeleton-list{display:grid;gap:8px}.skeleton{position:relative;overflow:hidden;background:#eef2f7;border-radius:6px}.skeleton:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;transform:translate(-100%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.6),transparent);animation:skeleton-shimmer 1.2s infinite}.skeleton-row{height:52px}.skeleton-line{height:12px;width:60%}.skeleton-strong{height:22px;width:80%}.bill-table{display:grid}.bill-table-head,.bill-table-row{display:grid;grid-template-columns:minmax(140px,1fr) minmax(140px,1fr) minmax(120px,.9fr) minmax(120px,.9fr) minmax(120px,.9fr) minmax(120px,.8fr) minmax(110px,.8fr) auto;gap:12px;align-items:center;min-height:52px;border-bottom:1px solid #e6ebf2;padding:6px 4px}.void-table .bill-table-head,.void-table .bill-table-row{grid-template-columns:minmax(140px,1fr) minmax(140px,1fr) minmax(110px,.8fr) minmax(120px,.9fr) minmax(150px,1fr) minmax(120px,.8fr) minmax(160px,1.2fr)}.bill-table-head{color:#687385;font-size:13px;font-weight:700;text-transform:none}.bill-table-row{cursor:pointer}.bill-table-row:hover{background:#f5f8fc}.bill-table-row:focus-visible{outline:2px solid #1f5fa8;outline-offset:-2px}.void-row{cursor:default}.void-row:hover{background:transparent}.bill-cell-number{font-weight:700}.ta-right{text-align:right;justify-self:end}.void-reason{color:#5a6472}.badge{display:inline-block;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:700;max-width:max-content}.badge-ok{background:#e7f2ec;color:#1f7a44}.badge-danger{background:#fdeeec;color:#b23a2c}.badge-warn{background:#fff3e0;color:#a8651b}.badge-muted{background:#eef1f5;color:#5a6472}.billing-empty{display:grid;gap:10px;justify-items:center;text-align:center}.billing-empty-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}.chart-tooltip{position:fixed;z-index:60;pointer-events:none;background:#22303f;color:#fff;font-size:12px;font-weight:600;padding:6px 10px;border-radius:6px;white-space:nowrap;box-shadow:0 6px 16px #0003}.billing-day-bar:focus-visible{outline:2px solid #1f5fa8;outline-offset:2px;border-radius:4px}.billing-two-col{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}.billing-two-col>.panel{margin-bottom:0}.payment-pie-wrap{display:flex;flex-wrap:wrap;align-items:center;gap:24px}.payment-pie{width:168px;height:168px;flex:0 0 auto}.payment-pie-legend{display:grid;gap:10px;flex:1 1 220px;min-width:200px}.payment-legend-row{display:flex;align-items:center;gap:8px;font-weight:700;color:#2f3a49}.payment-legend-name{flex:1}.daily-table .bill-table-head,.daily-table .bill-table-row{grid-template-columns:minmax(120px,1fr) minmax(120px,1fr) minmax(140px,1fr) minmax(100px,.8fr) minmax(90px,.6fr) minmax(120px,1fr)}.pager{display:flex;justify-content:space-between;align-items:center;gap:12px;color:#687385;font-weight:700}.pager div{display:flex;gap:8px}.shift-page{display:grid;gap:24px;max-width:1440px;margin-inline:auto;width:100%}.shift-page .num{font-variant-numeric:tabular-nums}.shift-empty{display:flex;justify-content:space-between;gap:16px;align-items:center}.shift-empty form{width:min(320px,100%)}.shift-banner{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px 20px}.shift-banner-main{display:flex;align-items:center;gap:14px;min-width:0}.shift-banner-id{display:grid;gap:2px;min-width:0}.shift-code-label{color:#687385;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.03em}.shift-banner-id strong{font-size:20px}.shift-banner-expected{text-align:right;display:grid;gap:2px}.shift-banner-expected span{color:#5a6472;font-weight:600;font-size:13px}.shift-banner-expected strong{font-size:22px}.shift-banner .status-open{background:#dff3df;color:#0b662f}.shift-metrics{grid-template-columns:repeat(3,1fr)}.shift-grid{display:grid;grid-template-columns:54fr 46fr;gap:16px;align-items:stretch}.shift-reconcile{display:grid;gap:10px;align-content:start}.shift-reconcile p,.movement-list p,.shift-discrepancy{display:flex;justify-content:space-between;gap:12px}.shift-reconcile .total{margin-top:4px;padding-top:12px;border-top:1px solid #d3dae4;font-weight:800}.positive{color:#12844d}.negative{color:#b42323}.shift-close-card{align-content:start}.shift-expected-hint{display:flex;justify-content:space-between;gap:12px;padding:10px 12px;border-radius:8px;background:#f1f4f8;color:#33404f;font-weight:700}.shift-discrepancy{padding:10px 12px;border-radius:8px;font-weight:800;border:1px solid transparent}.shift-discrepancy.is-short{background:#fdecec;color:#b42323;border-color:#f0c4c4}.shift-discrepancy.is-over{background:#fff2e2;color:#a8651b;border-color:#f2d6b0}.shift-discrepancy.is-match{background:#e3f6ea;color:#12844d;border-color:#bfe6cd}.shift-close-actions{display:flex;justify-content:flex-end;margin-top:4px}.shift-close-button{min-height:46px;width:clamp(220px,100%,280px);border-radius:8px;border:1px solid #d98b5f;background:#fbf1e9;color:#a04a1a;font-weight:800;cursor:pointer}.shift-close-button:hover{background:#f6e4d6}.shift-close-button:focus-visible{outline:2px solid #a04a1a;outline-offset:2px}.cash-movement-panel{display:grid;grid-template-columns:45fr 55fr;gap:20px}.shift-move-form{align-content:start}.movement-scroll{display:grid;gap:10px;max-height:360px;overflow-y:auto}.movement-row{display:grid;gap:4px}.movement-row+.movement-row{padding-top:10px;border-top:1px solid #eef1f5}.movement-row.is-voided p span:first-child,.movement-row.is-voided p strong{text-decoration:line-through;color:#9aa4b2}.movement-voided-tag{color:#b42323;font-weight:700;text-decoration:none}.movement-void-note{color:#8a94a2}.movement-void-btn{justify-self:end;min-height:32px;padding:0 12px;border:1px solid #e0c3bb;border-radius:8px;background:#fdf3f1;color:#a83a2b;font-weight:700;cursor:pointer}.movement-void-btn:hover{background:#f8e6e2}.movement-void-btn:focus-visible{outline:2px solid #a83a2b;outline-offset:2px}.movement-void-form{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.movement-void-form input{flex:1 1 160px;min-height:44px;padding:0 12px;border:1px solid #cdd6e2;border-radius:8px}.movement-void-form .ghost-button{min-height:44px}.menu-items-page{display:grid;gap:16px;max-width:1440px;margin-inline:auto;width:100%}.menu-toolbar{display:grid;gap:12px}.menu-toolbar-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.menu-toolbar-actions{display:flex;gap:8px;align-items:center}.menu-toolbar-actions button{min-height:44px;white-space:nowrap;align-items:center;justify-content:center}.menu-toolbar-actions .primary-button{display:inline-flex}.menu-filters-trigger{display:none}.menu-filters{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end}.menu-filters .field{flex:1 1 150px;min-width:140px;gap:4px}.menu-filters .field>span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.menu-search-field{flex:3 1 300px}.menu-filters .field input,.menu-filters .field select{width:100%;min-height:42px;box-sizing:border-box}.menu-filter-actions{display:flex;gap:8px;flex:0 0 auto}.menu-filter-actions button{min-height:42px}.menu-chips{display:flex;flex-wrap:wrap;gap:8px}.menu-chip{border:1px solid #cdd6e2;background:#eef2f7;color:#33404f;border-radius:999px;padding:4px 12px;min-height:32px;font-weight:600;cursor:pointer}.menu-chip:hover{background:#e2e8f1}.menu-bulk-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;border:1px solid #cfe0f2;background:#eef5fc;border-radius:10px;padding:10px 14px;font-weight:700}.menu-bulk-actions{display:flex;gap:8px;flex-wrap:wrap}.menu-list-panel{display:grid;gap:14px}.menu-list-topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.menu-table{display:grid}.menu-table.is-paging{opacity:.6}.menu-table-head,.menu-table-row{display:grid;grid-template-columns:36px minmax(150px,1.7fr) minmax(72px,.7fr) minmax(100px,.9fr) minmax(88px,.7fr) minmax(60px,.5fr) minmax(64px,.5fr) minmax(96px,.6fr) minmax(248px,1.4fr);gap:10px;align-items:center;min-height:52px;padding:8px 4px;border-bottom:1px solid #e6ebf2}.menu-table-head{color:#687385;font-size:13px;font-weight:700;align-items:end}.menu-cell-name{font-weight:700}.col-check{display:flex;align-items:center;justify-content:center}.col-check input{width:20px;height:20px}.menu-cell-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-start;align-items:center}.menu-cell-actions .nav-button,.menu-cell-actions .ghost-button{min-height:36px}.drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;background:#141c2866;display:flex;justify-content:flex-end}.menu-drawer{width:min(460px,94vw);height:100%;background:#fff;box-shadow:-8px 0 24px #141c2826;display:flex;flex-direction:column;overflow:hidden}.menu-drawer-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 20px;border-bottom:1px solid #e6ebf2}.menu-drawer-head h2{font-size:18px;margin:0}.menu-form{display:flex;flex-direction:column;min-height:0;flex:1}.menu-form-fields{display:grid;gap:12px;padding:18px 20px;overflow-y:auto;flex:1}.menu-form-fields input,.menu-form-fields select{width:100%;min-height:44px;box-sizing:border-box}.menu-form-actions{display:flex;gap:10px;justify-content:flex-end;padding:14px 20px;border-top:1px solid #e6ebf2;background:#fafbfc}.menu-form-actions .primary-button{flex:1}.req{color:#b42323}.field-error{color:#b42323;font-weight:600}.field-hint{color:#687385}.price-input{position:relative;display:flex;align-items:center}.price-input input{width:100%;padding-right:28px}.price-suffix{position:absolute;right:12px;color:#687385;font-weight:700;pointer-events:none}.switch-field{display:flex;flex-direction:row;align-items:center;gap:10px}.switch-field input{flex:0 0 auto;width:22px;height:22px;min-height:0;margin:0}.switch-field span{font-weight:600}.menu-advanced summary{cursor:pointer;font-weight:700;color:#33404f;padding:6px 0;min-height:40px;display:flex;align-items:center}.menu-advanced[open]{display:grid;gap:12px}.alias-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.alias-chip{background:#eef2f7;border-radius:999px;padding:2px 10px;font-size:13px;color:#33404f}.confirm-modal{max-width:min(440px,calc(100vw - 28px));display:grid;gap:10px}.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}.link-button{border:none;background:none;color:#1f5fa8;font-weight:700;cursor:pointer;padding:4px 6px;min-height:32px}.link-button:disabled{color:#9aa4b2;cursor:default}.link-button:hover:not(:disabled){text-decoration:underline}.perm-backdrop{align-items:center;justify-content:center}.perm-modal{display:flex;flex-direction:column;width:min(860px,calc(100vw - 24px));max-height:85dvh;background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 20px 48px #141c283d}.perm-head{position:sticky;top:0;z-index:1;background:#fff;border-bottom:1px solid #e6ebf2;padding:16px 20px;display:grid;gap:10px}.perm-head-title{display:flex;align-items:center;justify-content:space-between;gap:12px}.perm-head-title h2{font-size:18px;margin:0}.perm-head-sub{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.perm-count{color:#5a6472;font-weight:600}.perm-count strong{color:#1f5fa8}.perm-top-actions{display:flex;gap:6px}.perm-search input{width:100%;min-height:44px;box-sizing:border-box}.perm-body{flex:1;min-height:0;overflow-y:auto;padding:8px 20px 12px;display:flex;flex-direction:column;gap:8px}.perm-group{flex:0 0 auto;border:1px solid #eef1f5;border-radius:10px;overflow:hidden}.perm-group-head{display:flex;align-items:center;justify-content:space-between;gap:8px;background:#f7f9fc;padding:4px 10px 4px 4px}.perm-group-toggle{flex:1;display:flex;align-items:center;gap:10px;min-height:44px;border:none;background:none;cursor:pointer;font-weight:700;color:#2f3a49;text-align:left;padding:0 8px}.perm-caret{color:#687385;width:14px}.perm-group-name{flex:1}.perm-group-code{color:#8a94a2;font-weight:600;font-size:12px}.perm-group-count{color:#1f5fa8;font-weight:700;min-width:42px;text-align:right}.perm-group-actions{display:flex;gap:4px;flex:0 0 auto}.perm-list{list-style:none;margin:0;padding:0;display:grid}.perm-row{display:grid;grid-template-columns:24px 1fr auto;align-items:center;gap:12px;min-height:44px;padding:6px 12px;border-top:1px solid #f0f3f7;cursor:pointer}.perm-row:hover{background:#f5f8fc}.perm-row input{width:22px;height:22px;margin:0}.perm-name{font-weight:600;color:#2f3a49}.perm-code{color:#8a94a2;font-size:12px;font-weight:600;justify-self:end}.perm-foot{position:sticky;bottom:0;z-index:1;background:#fafbfc;border-top:1px solid #e6ebf2;padding:14px 20px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.perm-foot-count{color:#5a6472;font-weight:700}.perm-foot-actions{display:flex;gap:10px}.perm-foot-actions button{min-height:44px}@media(max-width:760px){.perm-modal{width:100vw;max-height:100dvh;height:100dvh;border-radius:0}.perm-group-actions{display:none}}.admin-page{display:grid;gap:16px;max-width:1280px;margin-inline:auto;width:100%}.admin-toolbar{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;justify-content:space-between}.admin-filters{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;flex:1}.admin-filters .field{flex:1 1 180px;min-width:150px;gap:4px}.admin-filters .field input,.admin-filters .field select{width:100%;min-height:42px;box-sizing:border-box}.admin-filters .menu-filter-actions{display:flex;gap:8px}.admin-toolbar-actions{display:flex;gap:8px;align-items:flex-end}.admin-toolbar-actions .primary-button{min-height:44px;white-space:nowrap}.data-table{display:grid}.data-table.is-busy{opacity:.6}table.data-table{display:table;width:100%;border-collapse:collapse;table-layout:auto}table.data-table th,table.data-table td{text-align:left;padding:10px 16px;border-bottom:1px solid #e6ebf2}table.data-table thead th{color:#687385;font-size:13px;font-weight:700;white-space:nowrap;border-bottom:2px solid #e3e8ef}table.data-table tbody tr:last-child td{border-bottom:none}table.data-table td.num{text-align:right;font-variant-numeric:tabular-nums}.data-table-head,.data-table-row{display:grid;gap:12px;align-items:center;min-height:54px;padding:8px 4px;border-bottom:1px solid #e6ebf2}.data-table-head{color:#687385;font-size:13px;font-weight:700;align-items:end}.data-cell-main{display:grid;gap:2px}.data-cell-main strong{font-weight:700}.data-cell-sub{color:#8a94a2;font-size:12px}.badges-cell{display:flex;flex-wrap:wrap;gap:4px}.data-cell-actions{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.data-cell-actions button{min-height:36px}.role-table .data-table-head,.role-table .data-table-row{grid-template-columns:minmax(150px,1.6fr) minmax(110px,1fr) minmax(104px,.7fr) minmax(80px,.5fr) minmax(260px,1.5fr)}.user-table .data-table-head,.user-table .data-table-row{grid-template-columns:minmax(160px,1.6fr) minmax(120px,1fr) minmax(140px,1.1fr) minmax(150px,1fr) minmax(200px,1.3fr)}.row-menu{position:relative}.row-menu>summary{list-style:none;cursor:pointer;min-height:36px;padding:0 12px;display:inline-flex;align-items:center;border:1px solid #cdd6e2;border-radius:8px;font-weight:700;background:#fff}.row-menu>summary::-webkit-details-marker{display:none}.row-menu[open]>summary{background:#eef2f7}.row-menu-list{position:absolute;right:0;top:calc(100% + 4px);z-index:5;min-width:200px;background:#fff;border:1px solid #dde3ec;border-radius:10px;box-shadow:0 10px 24px #141c2829;display:grid;padding:6px;gap:2px}.row-menu-list button{text-align:left;border:none;background:none;padding:10px 12px;min-height:44px;border-radius:8px;font-weight:600;color:#2f3a49;cursor:pointer}.row-menu-list button:hover{background:#f2f5f9}.row-menu-list button.danger{color:#b23a2c}.side-drawer{width:min(460px,94vw);height:100%;background:#fff;box-shadow:-8px 0 24px #141c2826;display:flex;flex-direction:column;overflow:hidden}.side-drawer-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 20px;border-bottom:1px solid #e6ebf2}.side-drawer-head h2{font-size:18px;margin:0}.side-drawer form{display:flex;flex-direction:column;flex:1;min-height:0}.side-drawer-fields{display:grid;gap:12px;padding:18px 20px;overflow-y:auto;flex:1;align-content:start}.side-drawer-fields input:not([type=checkbox]),.side-drawer-fields select{width:100%;min-height:44px;box-sizing:border-box}.side-drawer-fields input[type=checkbox]{width:22px;height:22px;min-height:0;flex:0 0 auto}.side-drawer-actions{display:flex;gap:10px;justify-content:flex-end;padding:14px 20px;border-top:1px solid #e6ebf2;background:#fafbfc}.side-drawer-actions .primary-button{flex:1}.shift-warning{margin:0 0 12px;padding:10px 14px;border-radius:8px;font-size:14px;line-height:1.5;background:#fdf6e3;border:1px solid #ead9a8;color:#6b5119}.import-drawer{width:min(880px,96vw)}.import-step{display:grid;gap:8px;padding-bottom:14px;border-bottom:1px solid #eef2f7}.import-step:last-of-type{border-bottom:none}.import-step .ghost-button{justify-self:start}.import-summary{display:flex;flex-wrap:wrap;gap:8px}.import-chip{display:inline-block;border-radius:999px;padding:3px 10px;font-size:12px;font-weight:700;background:#eef2f7;color:#46536a;white-space:nowrap}.import-chip.ok,.import-chip.create{background:#e6f4ec;color:#1f6b43}.import-chip.warn,.import-chip.update{background:#fdf1e3;color:#8a5417}.import-chip.muted,.import-chip.unchanged{background:#eef2f7;color:#687385}.import-chip.danger,.import-chip.error{background:#fdeceb;color:#a5342a}.import-file-errors{margin:0;padding-left:18px;color:#a5342a;display:grid;gap:4px}.import-busy{display:grid;gap:8px;padding:12px 14px;border-radius:8px;background:#f2f7fb;border:1px solid #d8e5f2}.import-busy p{margin:0}.import-progress{height:5px;border-radius:999px;background:#dbe6f0;overflow:hidden}.import-progress:after{content:"";display:block;height:100%;width:38%;border-radius:999px;background:#1f6b43;animation:import-slide 1.1s ease-in-out infinite}@keyframes import-slide{0%{transform:translate(-110%)}to{transform:translate(300%)}}@media(prefers-reduced-motion:reduce){.import-progress:after{animation:none;width:100%}}.import-done{display:grid;gap:8px;padding:14px 16px;border-radius:8px;background:#e9f6ef;border:1px solid #bfe3d0}.import-done-title{margin:0;font-size:17px;font-weight:700;color:#1f6b43}.import-done-list{margin:0;padding-left:18px;display:grid;gap:3px}.import-done .role-line{margin:0}.import-drawer .primary-button:disabled{cursor:not-allowed}.import-drawer .primary-button[aria-busy=true]:disabled{cursor:progress}.import-table-scroll{overflow-x:auto;border:1px solid #e6ebf2;border-radius:8px}.import-table{width:100%;border-collapse:collapse;font-size:13px}.import-table th,.import-table td{text-align:left;padding:8px 10px;border-bottom:1px solid #eef2f7;vertical-align:top}.import-table th{background:#f6f8fb;font-size:12px;color:#687385;text-transform:uppercase;letter-spacing:.03em;white-space:nowrap}.import-table tr:last-child td{border-bottom:none}.import-row.error{background:#fef8f7}.import-sheet{color:#687385;white-space:nowrap}.import-row.unchanged{color:#8a94a2}.import-detail{margin:0;padding-left:16px;display:grid;gap:2px}.import-detail.danger{color:#a5342a}@media(max-width:720px){.import-drawer{width:100vw}}.password-input{position:relative;display:flex;align-items:center;gap:6px}.password-input input{flex:1}.password-toggle{border:1px solid #cdd6e2;background:#fff;border-radius:8px;min-height:44px;padding:0 10px;font-weight:600;cursor:pointer;white-space:nowrap}.role-choice-box{border:1px solid #e0e6ef;border-radius:8px;padding:8px;display:grid;gap:8px}.role-choice-search input{width:100%;min-height:40px;box-sizing:border-box}.role-choice-list{max-height:220px;overflow-y:auto;display:grid;gap:2px}.role-choice-group-label{color:#687385;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;padding:6px 4px 2px}.role-choice{display:flex;align-items:center;gap:10px;min-height:44px;padding:4px 6px;border-radius:8px;cursor:pointer}.role-choice:hover{background:#f5f8fc}.role-choice input{width:20px;height:20px;min-height:0;margin:0;flex:0 0 auto}.role-choice-name{font-weight:600}.role-choice-code{color:#8a94a2;font-size:12px;margin-left:auto}.printer-table .data-table-head,.printer-table .data-table-row{grid-template-columns:minmax(120px,1fr) minmax(80px,.6fr) minmax(96px,.7fr) minmax(180px,2fr) minmax(72px,.5fr) minmax(116px,.8fr) minmax(220px,1.3fr)}.data-table-row>span,.data-table-row>strong{min-width:0}.printer-endpoint{font-variant-numeric:tabular-nums;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.form-group{border:1px solid #e6ebf2;border-radius:10px;padding:12px 14px;display:grid;gap:12px;margin:0}.form-group legend{font-weight:700;color:#33404f;padding:0 6px}.form-group-details{border:1px solid #e6ebf2;border-radius:10px;padding:4px 14px}.form-group-details[open]{padding:12px 14px}.form-group-details>summary{font-weight:700;color:#33404f;cursor:pointer;min-height:44px;display:flex;align-items:center}@media(max-width:760px){.admin-toolbar,.admin-filters{flex-direction:column;align-items:stretch}.admin-filters .field{flex:0 0 auto}.side-drawer{width:100vw}.config-tabs{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch}.config-tab{flex:0 0 auto}.data-table-head{display:none}.data-table-row{grid-template-columns:1fr!important;gap:6px;align-items:stretch;border:1px solid #e6ebf2;border-radius:10px;margin-bottom:10px;padding:12px}.data-table-row>span[data-label]:not([data-label=""]){display:flex;justify-content:space-between;gap:12px}.data-table-row>span[data-label]:not([data-label=""]):before{content:attr(data-label);color:#687385;font-weight:600}.data-cell-actions{justify-content:stretch}.data-cell-actions>button,.data-cell-actions .row-menu,.data-cell-actions .row-menu>summary{flex:1}.data-cell-actions .row-menu>summary{justify-content:center;min-height:44px}}.master-detail{display:grid;grid-template-columns:minmax(280px,34%) 1fr;gap:18px;align-items:start}.area-column,.table-column{display:grid;gap:12px;align-content:start}.area-column{border-right:1px solid #e6ebf2;padding-right:18px}.area-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}.area-card{display:flex;align-items:stretch;gap:6px;border:1px solid #e6ebf2;border-radius:10px;padding:4px}.area-card.is-selected{border-color:#2f7d55;box-shadow:0 0 0 1px #2f7d55 inset;background:#f2faf5}.area-card-main{flex:1;min-width:0;display:grid;gap:6px;text-align:left;background:none;border:none;cursor:pointer;padding:8px 10px;border-radius:8px}.area-card-main:hover{background:#2f7d550f}.area-card-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.area-card-name small{color:#8a94a2}.area-card-meta{display:flex;align-items:center;gap:10px;color:#687385;font-size:13px}.area-card-actions{display:flex;align-items:flex-start;gap:4px;padding:4px}.table-config-table .data-table-head,.table-config-table .data-table-row{grid-template-columns:minmax(120px,1.5fr) minmax(56px,.6fr) minmax(52px,.4fr) minmax(52px,.4fr) minmax(92px,.7fr) minmax(80px,.6fr) minmax(212px,1fr)}.table-config-table .data-cell-actions{flex-wrap:nowrap;justify-content:flex-start}.table-filters{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:center}.table-search{flex:1 1 220px;max-width:360px;height:40px;box-sizing:border-box}.filter-inline{display:flex;align-items:center;gap:8px;color:#687385;font-size:13px;white-space:nowrap}.filter-inline select{height:40px;box-sizing:border-box}.config-subtabs{display:none}.table-qr-modal{max-width:460px;width:100%}.table-qr-sub{color:#687385;font-size:13px;margin:-4px 0 4px}.table-qr-figure{display:flex;justify-content:center;padding:8px}.table-qr-image{width:100%;max-width:320px;height:auto;border:1px solid #e6ebf2;border-radius:10px;background:#fff}.table-qr-hint{color:#687385;font-size:13px;text-align:center}.table-qr-actions{display:flex;flex-wrap:wrap;gap:8px}.table-qr-actions>.nav-button,.table-qr-actions>.ghost-button,.table-qr-actions>a.nav-button{flex:1 1 auto;min-height:44px;display:inline-flex;align-items:center;justify-content:center;text-decoration:none}@media(max-width:900px){.config-subtabs{display:flex;gap:8px;flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;margin-bottom:12px}.config-subtab{flex:0 0 auto;min-height:44px;padding:0 16px;border:1px solid #cdd6e2;background:#fff;border-radius:999px;font-weight:700;color:#33404f;cursor:pointer;white-space:nowrap}.config-subtab.is-active{background:#d4efdb;color:#11623d;border-color:#2f7d55}.master-detail{grid-template-columns:1fr}.area-column{border-right:none;padding-right:0}.mobile-tab-areas .table-column,.mobile-tab-tables .area-column{display:none}}.segmented-control button{flex:1;min-height:40px;border:none;background:#fff;color:#1d2733;font-weight:700;cursor:pointer}.segmented-control button.active{background:#d4efdb;color:#11623d}.movement-list{display:grid;gap:10px;align-content:start;padding-left:20px;border-left:1px solid #e0e6ef}@media(max-width:760px){.top-bar{min-height:0;gap:10px;padding:10px clamp(16px,4vw,20px)}.top-bar h1{font-size:20px;margin-top:2px}.top-bar .eyebrow{font-size:11px}.top-bar .role-line{display:none}.main-nav{padding:8px clamp(16px,4vw,20px) 0}.main-nav ul{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch}.main-nav .nav-button{white-space:nowrap}.config-area,.catalog-area,.pos-area,.printing-area{padding-top:12px}.work-area,.catalog-crud{grid-template-columns:1fr}.order-body{grid-template-columns:minmax(0,1fr);gap:12px}.pos-area .catalog-list,.pos-area .catalog-list li{min-width:0}.pos-area .panel{padding:14px}.order-header h2{font-size:20px;margin:0}.pos-area .catalog-list li{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px;min-height:40px;padding:8px 0;font-size:15px}.order-item-main{flex-direction:column;align-items:flex-start;gap:2px}.order-item-name{width:100%}.order-item-meta{font-size:14px;white-space:normal}.pos-area .catalog-actions{flex:0 0 auto;gap:4px}.order-row-actions{grid-column:2;grid-row:1;justify-content:flex-end;margin-left:0}.pos-area .catalog-actions button{min-width:36px;min-height:36px;padding:0 8px}.order-remove .btn-text{display:none}.order-remove .btn-icon{display:inline;font-size:16px}.order-remove{min-width:36px;padding:0 6px}.compact-action{width:38px;min-width:38px;padding:0}.compact-action .action-text{display:none}.compact-action .action-icon{display:inline;font-size:18px;line-height:1}.note-action .action-icon{width:18px;height:18px;display:inline-grid;place-content:center;border:2px solid currentColor;border-radius:999px;font-size:13px;font-weight:800}.menu-grid{grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:8px}.pos-area[aria-label=Order]{padding-bottom:calc(132px + env(safe-area-inset-bottom))}.order-detail__items{max-height:none}.order-action-column{position:static;display:block}.order-actions-table{display:grid;grid-template-columns:1fr 1fr;gap:8px}.order-actions-life{position:fixed;left:0;right:0;bottom:0;z-index:45;margin:0;padding:8px clamp(12px,4vw,16px);padding-bottom:calc(8px + env(safe-area-inset-bottom));display:grid;grid-template-columns:1fr 1fr;gap:8px;background:#fff;border-top:1px solid #e3e7ec;box-shadow:0 -4px 16px -8px #10182840}.order-actions-life .order-action{min-height:48px}.order-actions-life__add{display:inline-flex;align-items:center;justify-content:center}.add-drawer-toggle{display:none}.order-add-col{gap:0}.order-add-wrap{display:none}.order-add-wrap.open{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:60}.add-drawer-backdrop{display:block;position:absolute;top:0;right:0;bottom:0;left:0;border:none;background:#141c2873}.order-add-wrap.open .menu-browser__panel{position:absolute;left:0;right:0;bottom:0;max-height:85dvh;overflow:hidden;border-radius:16px 16px 0 0;margin:0;padding-top:4px}.order-add-wrap.open .sheet-handle{display:block;width:44px;height:5px;margin:6px auto 2px;border:none;border-radius:999px;background:#cdd6e2;cursor:pointer}.menu-grid{grid-template-columns:repeat(2,1fr);gap:8px}.drawer-close{display:inline-flex;align-items:center;justify-content:center;min-width:40px;min-height:36px;border:1px solid #cdd6e2;border-radius:8px;background:#fff;color:#33507a;font-weight:700;cursor:pointer}.queue-header{align-items:stretch;flex-direction:column}.queue-header .nav-button{width:100%}.queue-filters{display:flex;overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch}.queue-filters .view-toggle-btn{flex:0 0 auto}.print-job{grid-template-columns:1fr}.print-job-actions{justify-content:stretch}.print-job-actions button{flex:1 1 120px}.bill-summary,.payment-grid,.inline-fields{grid-template-columns:1fr}.billing-modal{max-height:92svh;overflow-y:auto}.bill-history-head{align-items:stretch;flex-direction:column}.bill-history-head .nav-button{width:100%}.bill-history-row{grid-template-columns:minmax(0,1fr) auto;align-items:start}.bill-history-meta,.bill-history-total{grid-column:1 / -1}.bill-history-row .nav-button{grid-column:2;grid-row:1}.billing-filter-tabs{width:100%;overflow-x:auto}.billing-filter-tabs .view-toggle-btn{flex:1 0 auto}.billing-custom-range,.bill-search-actions,.pager,.shift-empty,.shift-banner,.cash-movement-panel{flex-direction:column;align-items:stretch}.bill-search-actions{display:grid}.bill-list-toolbar{flex-direction:column;align-items:stretch}.bill-filters-desktop{display:none}.bill-filters-trigger{display:inline-flex}.billing-kpi-row{grid-template-columns:repeat(2,1fr)}.billing-two-col{grid-template-columns:1fr}.menu-filters-desktop{display:none}.menu-filters-trigger{display:inline-flex}.menu-drawer{width:100vw}.menu-list-topbar{flex-direction:column;align-items:stretch}.menu-table-head{display:none}.menu-table-row{grid-template-columns:1fr;gap:6px;align-items:stretch;border:1px solid #e6ebf2;border-radius:10px;margin-bottom:10px;padding:12px}.menu-table-row>span[data-label]:not([data-label=""]),.menu-table-row>strong[data-label]{display:flex;justify-content:space-between;gap:12px}.menu-table-row>span[data-label]:not([data-label=""]):before,.menu-table-row>strong[data-label]:before{content:attr(data-label);color:#687385;font-weight:600}.menu-table-row .ta-right{justify-self:stretch;text-align:right}.menu-table-row .col-check{justify-content:flex-start}.menu-cell-name{font-size:16px}.menu-cell-actions{justify-content:stretch}.menu-cell-actions button{flex:1 1 auto;min-height:44px}.bill-table-head{display:none}.bill-table-row,.void-table .bill-table-row,.daily-table .bill-table-row{grid-template-columns:1fr;gap:6px;align-items:stretch;border:1px solid #e6ebf2;border-radius:10px;margin-bottom:10px;padding:12px}.bill-table-row>span[data-label],.bill-table-row>strong[data-label]{display:flex;justify-content:space-between;gap:12px}.bill-table-row>span[data-label]:before,.bill-table-row>strong[data-label]:before{content:attr(data-label);color:#687385;font-weight:600}.bill-table-row .ta-right{justify-self:stretch;text-align:right}.bill-cell-action{display:flex;justify-content:flex-end}.bill-cell-action button{width:100%}.shift-grid,.cash-movement-panel{grid-template-columns:1fr}.shift-banner{padding:14px 16px;gap:12px}.shift-banner-expected{text-align:left}.shift-metrics{grid-template-columns:repeat(2,1fr)}.shift-kpi-cash{grid-column:1 / -1}.shift-close-actions{justify-content:stretch}.shift-close-button{width:100%}.movement-list{padding-left:0;border-left:none;border-top:1px solid #e0e6ef;padding-top:14px}.movement-scroll{max-height:none;overflow-y:visible}h1{font-size:28px}}.offline-hint{margin:8px 0 0;padding:6px 10px;border-radius:8px;background:#fdf4e3;border:1px solid #e6c67a;color:#7a5b12;font-size:13px;font-weight:600}.offline-hint--danger{background:#fdecea;border-color:#e3b7b0;color:#b23a2c}.link-button{border:none;background:none;padding:0;color:#1d5fbf;font:inherit;font-weight:700;text-decoration:underline;cursor:pointer}.voice-panel{margin-top:14px;padding:12px;border:1px dashed #b9c2d0;border-radius:10px;background:#f7f9fc}.voice-panel h3{margin:0 0 8px;font-size:15px}.voice-capture{display:flex;align-items:center;gap:8px;margin-bottom:8px}.voice-transcript{display:block;margin-bottom:8px}.voice-transcript textarea{width:100%;resize:vertical}.voice-lines{list-style:none;margin:8px 0;padding:0;display:flex;flex-direction:column;gap:6px}.voice-line{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:6px 8px;border-radius:8px;background:#fff;border:1px solid #e3e8ef}.voice-qty{width:60px}.voice-item-name{font-weight:700}.voice-note{color:#6b7280;font-size:13px}.status-error{color:#b42318;font-weight:600}.guest-page{max-width:640px;margin:0 auto;padding:16px 14px 120px}.guest-header h1{margin:0 0 4px;font-size:22px}.guest-header p{margin:0 0 12px;color:#6b7280}.guest-loading,.guest-cart-empty{color:#6b7280}.guest-error{margin:10px 0;padding:10px 12px;border-radius:8px;background:#fdecea;border:1px solid #f3b4ad;color:#b42318;font-weight:600}.guest-category h2{font-size:16px;margin:18px 0 8px;border-bottom:1px solid #e3e8ef;padding-bottom:4px}.guest-items{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.guest-item{border:1px solid #e3e8ef;border-radius:10px;padding:10px 12px;background:#fff}.guest-item-head{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.guest-item-name{font-weight:700}.guest-item-price{color:#1d5fbf;font-weight:700;white-space:nowrap}.guest-add{margin-top:8px;min-height:40px;width:100%;border-radius:8px}.guest-item-config{margin-top:10px;display:flex;flex-direction:column;gap:10px}.guest-item-config fieldset{border:1px solid #e3e8ef;border-radius:8px;padding:8px 10px;margin:0}.guest-item-config legend{font-weight:600;font-size:13px;padding:0 4px}.guest-item-config label{display:flex;align-items:center;gap:8px;padding:4px 0}.guest-note{display:flex;flex-direction:column;gap:4px}.guest-note input{width:100%}.guest-item-actions{display:flex;gap:8px}.guest-item-actions button{flex:1;min-height:40px}.guest-cancel{background:#eef1f5}.guest-cart{position:sticky;bottom:0;margin-top:20px;padding:12px;border:1px solid #d5deea;border-radius:12px 12px 0 0;background:#f7f9fc;box-shadow:0 -4px 12px #0000000f}.guest-cart h2{font-size:15px;margin:0 0 8px}.guest-cart ul{list-style:none;margin:0 0 8px;padding:0;display:flex;flex-direction:column;gap:6px}.guest-cart-line{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:14px}.guest-cart-controls{display:flex;align-items:center;gap:6px;white-space:nowrap}.guest-cart-controls button{min-width:32px;min-height:32px}.guest-cart-price{color:#1d5fbf;font-weight:700;min-width:72px;text-align:right}.guest-cart-footer{display:flex;justify-content:space-between;align-items:center;gap:10px}.guest-submit{min-height:44px;padding:0 18px;background:#16a34a;color:#fff;border-radius:8px;font-weight:700}.guest-submit:disabled{opacity:.5}.guest-confirm{margin-top:24px;padding:18px;border:1px solid #b7e4c7;border-radius:12px;background:#f0fdf4;text-align:center}.guest-confirm-title{font-size:18px;font-weight:700;margin:0 0 6px}.guest-confirm-lines{list-style:none;margin:12px 0;padding:0}.guest-request-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}.guest-request-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.guest-request-status{font-size:13px;font-weight:700;color:#7a5b12;background:#fdf4e3;border:1px solid #e6c67a;border-radius:999px;padding:2px 10px}.guest-request-lines{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.guest-request-line{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;padding:8px;border-radius:8px;background:#f7f9fc;border:1px solid #e3e8ef}.guest-request-line-main{display:flex;flex-direction:column;gap:2px}.guest-request-line-meta{font-size:13px;color:#6b7280}.guest-request-line-actions{display:flex;align-items:center;gap:8px}.guest-line-status{font-size:12px;font-weight:700;padding:2px 8px;border-radius:999px}.guest-line-status.status-pending{color:#7a5b12;background:#fdf4e3}.guest-line-status.status-approved{color:#166534;background:#dcfce7}.guest-line-status.status-rejected{color:#b42318;background:#fdecea}.guest-approve{background:#16a34a;color:#fff}.guest-reject{color:#b42318}.guest-materialize{margin-top:10px;width:100%;min-height:44px;background:#1d5fbf;color:#fff;border-radius:8px;font-weight:700}.guest-materialize:disabled{opacity:.5}.table-qr-body{display:flex;flex-direction:column;align-items:center;gap:12px;padding:8px 0}.table-qr-url{word-break:break-all;text-align:center;font-size:13px}.table-qr-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}.table-qr-actions button{min-height:40px;padding:0 16px}.reports-page h2{margin:0 0 12px}.reports-page h3{margin:18px 0 6px;font-size:15px}.reports-tabs{display:flex;gap:6px;flex-wrap:wrap;border-bottom:1px solid #e3e8ef;margin-bottom:14px}.reports-tab{border:none;background:none;padding:8px 14px;font-weight:600;color:#6b7280;border-bottom:2px solid transparent;cursor:pointer}.reports-tab.active{color:#1d5fbf;border-bottom-color:#1d5fbf}.reports-range{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap;margin-bottom:12px}.reports-range .field select{width:100%;min-height:48px;padding:0 12px;border:1px solid #cdd6e2;border-radius:8px;font-size:16px;background:#fff;box-sizing:border-box}.reports-range .field select:focus-visible{outline:2px solid #16a065;outline-offset:1px}.reports-range .field:has(select){flex:0 1 260px;min-width:200px}.reports-range .field:has(input){flex:1 1 240px}.reports-range .field input{width:100%;box-sizing:border-box}.reports-summary{display:flex;gap:12px;flex-wrap:wrap;margin:10px 0}.reports-summary>div{flex:1 1 140px;padding:10px 12px;border:1px solid #e3e8ef;border-radius:10px;background:#f7f9fc;display:flex;flex-direction:column;gap:4px}.reports-summary span{font-size:12px;color:#6b7280}.reports-summary strong{font-size:17px}.reports-table-wrap{overflow-x:auto}.reports-table{width:100%;border-collapse:collapse;font-size:14px}.reports-table th,.reports-table td{text-align:left;padding:6px 10px;border-bottom:1px solid #eef1f5;white-space:nowrap}.reports-table th{color:#6b7280;font-weight:600}.reports-pager{display:flex;align-items:center;gap:12px;margin-top:10px}.backup-status{margin-top:8px}.stat-tiles{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;margin:12px 0 18px}@media(max-width:1100px){.stat-tiles{grid-template-columns:repeat(3,1fr)}}@media(max-width:640px){.stat-tiles{grid-template-columns:repeat(2,1fr)}}.stat-tile{display:flex;align-items:center;gap:12px;padding:14px;background:#fff;border:1px solid #e3e8ef;border-radius:14px;box-shadow:0 1px 2px #1018280a}.stat-icon{flex:0 0 auto;width:42px;height:42px;border-radius:12px;display:grid;place-items:center;font-size:19px}.stat-icon.tone-blue{background:#e8f0fe;color:#1d5fbf}.stat-icon.tone-green{background:#e7f7ec;color:#12855a}.stat-icon.tone-purple{background:#f1ecfe;color:#6d4bd8}.stat-icon.tone-indigo{background:#e9ecff;color:#3b4bd8}.stat-icon.tone-red{background:#fdecea;color:#c0392b}.stat-icon.tone-amber{background:#fdf4e3;color:#b7791f}.stat-body{display:flex;flex-direction:column;gap:2px;min-width:0}.stat-label{font-size:12px;color:#6b7280;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stat-value{font-size:19px}.stat-tile.primary{background:#eef3ff;border-color:#b9ccf5}.stat-tile.primary .stat-label{color:#3b4bd8;font-weight:600}.stat-tile.primary .stat-value{font-size:24px;font-weight:800;color:#263bb3}.chart-wrap{width:100%;overflow-x:auto}.revenue-chart{width:100%;height:auto;display:block}.chart-grid{stroke:#eef1f6;stroke-width:1}.chart-area{fill:#3b4bd814;stroke:none}.chart-line{fill:none;stroke:#3b4bd8;stroke-width:2;stroke-linejoin:round;stroke-linecap:round}.chart-dot{fill:#3b4bd8}.chart-dot.peak{fill:#12855a}.chart-xlabel{font-size:11px;fill:#6b7280}.skeleton{background:#eceff3;border-radius:12px;position:relative;overflow:hidden}.skeleton:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.65),transparent);transform:translate(-100%);animation:skeleton-shimmer 1.2s infinite}@keyframes skeleton-shimmer{to{transform:translate(100%)}}.skeleton-tile{height:72px}.skeleton-chart{height:200px;margin-bottom:16px}.skeleton-card{height:220px}@media(prefers-reduced-motion:reduce){.skeleton:after{animation:none}}.range-header{margin:4px 0 14px}.range-header-controls{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:flex-end}.excel-button{display:inline-flex;align-items:center;gap:4px}.report-typefilter{display:flex;flex-wrap:wrap;gap:8px;margin:-4px 0 16px}.report-typechip{border:1px solid #cdd6e2;background:#fff;color:#46525f;border-radius:999px;padding:6px 14px;font-size:14px;font-weight:600;cursor:pointer}.report-typechip:hover{border-color:#16a065}.report-typechip.active{background:#16a065;border-color:#16a065;color:#fff}.report-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}@media(max-width:900px){.report-grid{grid-template-columns:1fr}}.report-card{background:#fff;border:1px solid #e3e8ef;border-radius:14px;padding:14px 16px;box-shadow:0 1px 2px #1018280a;margin-bottom:16px}.report-grid .report-card{margin-bottom:0}.report-card-head{display:flex;align-items:center;gap:8px;margin-bottom:8px}.report-card-head h3{margin:0;font-size:15px;color:#1d5fbf}.reports-table th.num,.reports-table td.num{text-align:right}.reports-table tfoot td{font-weight:700;color:#1d5fbf;border-top:2px solid #e3e8ef;border-bottom:none}.void-badge{display:inline-block;padding:2px 10px;border-radius:999px;font-size:12px;font-weight:700;white-space:nowrap}.void-badge.tone-red{color:#c0392b;background:#fdecea}.void-badge.tone-amber{color:#b7791f;background:#fdf4e3}.report-detail-btn{margin-left:auto;font-size:13px;white-space:nowrap}.reports-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.reports-table th.sortable:hover{color:#1d5fbf}.detail-modal{width:min(920px,96vw);max-height:88vh;overflow:auto;display:flex;flex-direction:column;gap:10px}.detail-modal .report-card-head{margin-bottom:0}.detail-modal .report-card-head h3{color:#17202a}.detail-search{width:100%;min-height:38px;padding:0 12px}.detail-modal .drawer-close{margin-left:auto}@media(max-width:767px){.main-nav ul{flex-wrap:wrap;overflow:visible}.nav-more__pop{right:0;left:auto}.top-bar{min-height:52px;gap:8px;padding:8px clamp(12px,3vw,16px)}.top-bar__brand .brand-mark{font-size:20px}.top-bar h1{font-size:16px}.top-bar .status-group{min-height:40px;padding:0 10px;gap:6px;white-space:nowrap;font-size:13px}.account-btn{max-width:none;width:40px;min-height:40px;padding:0;justify-content:center}.account-btn__avatar{display:inline-flex}.account-btn__name,.account-btn__caret{display:none}}.bell-button{position:relative;display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:0 8px;border:1px solid #cdd6e2;border-radius:10px;background:#fff;cursor:pointer;font-size:20px;line-height:1}.bell-button:hover{background:#f5f8fc}.bell-button.has-unread{border-color:#e0a020;background:#fff8ec}.bell-icon{display:inline-block;transform-origin:50% 4px}.bell-badge{position:absolute;top:-6px;right:-6px;min-width:18px;height:18px;padding:0 4px;border-radius:999px;background:#d64545;color:#fff;font-size:11px;font-weight:700;line-height:18px;text-align:center;box-shadow:0 0 0 2px #fff}@keyframes bell-wiggle{0%,88%,to{transform:rotate(0)}90%{transform:rotate(-14deg)}93%{transform:rotate(11deg)}96%{transform:rotate(-7deg)}98%{transform:rotate(4deg)}}@keyframes bell-shake-now{0%,to{transform:rotate(0)}15%{transform:rotate(-20deg)}30%{transform:rotate(16deg)}45%{transform:rotate(-12deg)}60%{transform:rotate(9deg)}75%{transform:rotate(-5deg)}}.bell-button.has-unread .bell-icon{animation:bell-wiggle 2.6s ease-in-out infinite}.bell-button.bell-shake .bell-icon{animation:bell-shake-now .6s ease-in-out 2}@media(prefers-reduced-motion:reduce){.bell-button .bell-icon{animation:none!important}}.guest-materialize-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;margin-top:12px;padding-top:12px;border-top:1px solid #e6ebf2}.guest-materialize-hint{color:#687385;font-size:13px}.guest-request-code{color:#8a94a2;font-weight:500}.guest-search{margin:4px 0 10px}.guest-search input{width:100%;min-height:44px;box-sizing:border-box;padding:0 14px;border:1px solid #cdd6e2;border-radius:10px;font-size:16px}.guest-filter-chips{display:flex;gap:8px;flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:6px;margin-bottom:8px}.guest-chip{flex:0 0 auto;min-height:40px;padding:0 16px;border:1px solid #cdd6e2;border-radius:999px;background:#fff;font-weight:700;color:#33404f;cursor:pointer;white-space:nowrap}.guest-chip.is-active{background:#1f7a44;border-color:#1f7a44;color:#fff}.order-served{display:flex;align-items:center;flex-wrap:wrap;gap:8px;color:#33404f;font-size:14px;margin:4px 0 0}.order-served-source{font-size:11px}.order-served-select{min-height:34px;box-sizing:border-box}.order-served-error{color:#d64545}.station-page{max-width:720px;margin:0 auto;padding:20px 16px}.station-head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px}.station-head h1{font-size:28px;margin:0}.station-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.station-actions>button{width:auto;flex:0 0 auto;white-space:nowrap}.station-on{background:#1f7a44;color:#fff}.station-hint{color:#687385;margin:12px 0}.station-latest{margin-top:20px}.station-latest h2{font-size:15px;color:#6b7280;margin-bottom:8px}.station-card{border:1px solid #e3e8ef;border-radius:12px;padding:16px;background:#f7f9fc}.station-card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.station-time{color:#6b7280;font-size:13px}.station-text{font-size:22px;line-height:1.5;margin:0}.announce-setting h4{margin:0 0 10px}.announce-audio-path{display:block;overflow-wrap:anywhere;background:#eef2f7;border:1px solid #dbe3ec;border-radius:8px;padding:8px 10px;margin-bottom:10px;font-size:13px;color:#1d2733}.announce-recent td,.announce-recent th{vertical-align:top}.announce-text{max-width:360px}.announce-url code{font-size:12px;word-break:break-all}.announce-tokens{margin-bottom:8px}.announce-layout{display:grid;grid-template-columns:1fr 1fr;column-gap:56px;row-gap:24px;align-items:start}.announce-recent-col{position:relative}.announce-recent-col:before{content:"";position:absolute;left:-28px;top:0;bottom:0;width:1px;background:#e3e8ef}.announce-layout>div{min-width:0}.announce-layout h3:first-child{margin-top:0}.announce-station-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.announce-recent-scroll{overflow-x:auto;background:#fff;border:1px solid #e3e8ef;border-radius:14px;box-shadow:0 1px 2px #1018280a}.announce-recent-col .announce-text{max-width:260px}@media(max-width:1200px){.announce-layout,.announce-station-grid{grid-template-columns:1fr}.announce-recent-col:before{display:none}}.purge-panel{margin-top:24px;max-width:720px}.purge-panel h3{margin:0 0 8px}.purge-panel .field{margin-bottom:10px}.purge-panel .ghost-button.danger{margin-top:8px}.restore-modal{max-width:min(560px,calc(100vw - 28px));display:grid;gap:12px}.restore-modal h3{margin:0}.restore-target{border:1px solid #e3e8ef;border-radius:10px;padding:10px 12px;margin:0;display:grid;gap:8px}.restore-target legend{padding:0 6px;font-weight:700;color:#687385}.restore-target .field.checkbox{align-items:start;margin:0}.restore-target .field.checkbox span{font-weight:400}.modal-actions{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}.modal-actions button{min-height:44px}.template-list{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:20px}.template-chip{display:flex;align-items:center;gap:10px;border:1px solid #e3e8ef;border-radius:999px;padding:6px 14px;background:#f7f9fc}.template-chip.selected{border-color:#1d4ed8;background:#eef4ff}.template-chip-name{background:none;border:0;padding:0;font:inherit;font-weight:600;cursor:pointer;color:#1d2733}.template-chip .link-button{font-size:13px}.template-chip .link-button.danger{color:#b42318}.template-layout{display:grid;grid-template-columns:1fr 1fr;column-gap:56px;row-gap:24px;align-items:start}.template-layout>div{min-width:0}.template-layout h3:first-child{margin-top:0}.template-preview-col{position:relative}.template-preview-col:before{content:"";position:absolute;left:-28px;top:0;bottom:0;width:1px;background:#e3e8ef}.template-variables{margin-top:12px}.template-variable{border:1px solid #dbe3ec;border-radius:6px;background:#fff;padding:4px 8px;margin:0 6px 6px 0;font-family:ui-monospace,Cascadia Code,Consolas,monospace;font-size:12px;cursor:pointer}.template-variable:hover{border-color:#1d4ed8;color:#1d4ed8}.template-paper-switch{display:flex;gap:8px;margin-bottom:12px}.template-paper-switch .nav-button.active{border-color:#1d4ed8;color:#1d4ed8;background:#eef4ff}.template-preview{font-family:ui-monospace,Cascadia Code,Consolas,monospace;font-size:12px;line-height:1.45;background:#fff;border:1px solid #e3e8ef;border-radius:10px;padding:14px;margin:0;overflow-x:auto;white-space:pre;box-shadow:0 1px 2px #1018280a}.template-preview.paper-58{max-width:calc(32ch + 30px)}.template-preview.paper-80{max-width:calc(48ch + 30px)}.template-line{display:block}.template-line.overflow{background:#fef3f2;color:#b42318}@media(max-width:1200px){.template-layout{grid-template-columns:1fr}.template-preview-col:before{display:none}}.block-list{list-style:none;margin:0 0 12px;padding:0;display:flex;flex-direction:column;gap:6px}.block-row{display:flex;align-items:center;gap:10px;border:1px solid #e3e8ef;border-radius:8px;padding:6px 10px;background:#fff}.block-row.off{opacity:.55;background:#f7f9fc}.block-move{display:flex;flex-direction:column;gap:2px}.icon-button{border:1px solid #dbe3ec;background:#fff;border-radius:4px;width:22px;height:16px;line-height:1;font-size:11px;padding:0;cursor:pointer;color:#1d2733}.icon-button:disabled{opacity:.35;cursor:default}.block-main{display:flex;align-items:center;gap:10px;flex:1;min-width:0}.block-toggle{margin:0;flex:0 0 auto}.block-text{flex:1;min-width:0;font-size:13px;padding:4px 8px}.block-add{display:flex;gap:8px;align-items:center}.block-add select{flex:0 1 220px}.logo-card{margin-top:20px}.logo-current{display:flex;gap:16px;align-items:flex-start}.logo-thumb{flex:0 0 auto;width:160px;height:90px;display:flex;align-items:center;justify-content:center;border:1px solid #e3e8ef;border-radius:8px;padding:6px;background-color:#fff;background-image:linear-gradient(45deg,#eef2f7 25%,transparent 25%,transparent 75%,#eef2f7 75%),linear-gradient(45deg,#eef2f7 25%,transparent 25%,transparent 75%,#eef2f7 75%);background-size:12px 12px;background-position:0 0,6px 6px}.logo-thumb img{max-width:100%;max-height:100%;object-fit:contain}.logo-meta{display:flex;flex-direction:column;gap:4px;min-width:0}.logo-meta small{color:#6b7280}.logo-actions{display:flex;gap:12px;align-items:center;margin-top:8px}.logo-actions .link-button.danger{color:#b42318}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:600px){.logo-current{flex-direction:column}}.template-kinds{display:flex;gap:8px;margin-bottom:12px}.template-kinds .nav-button.active{border-color:#1d4ed8;color:#1d4ed8;background:#eef4ff}.template-kind-hint{margin:0 0 16px}.book-report-modal{width:min(760px,96vw)}.book-report-modal .data-table{font-size:13px}.book-period-actions{display:flex;gap:8px;flex-wrap:wrap}.shift-report-modal{width:min(680px,96vw)}.cash-chain td:last-child{text-align:right;font-variant-numeric:tabular-nums}.cash-chain-sum td{border-top:2px solid #d8dee8}.row-voided td{text-decoration:line-through;color:#8b93a1}.row-voided .role-line{text-decoration:none}.table-pager{display:flex;align-items:center;gap:12px;margin-top:10px}
