@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--color-side:var(--color-side)}}@layer base{:root{--color-bg:#f7f4f3;--color-surface:#fff;--color-primary:#b91c22;--color-primary-hover:#981719;--color-primary-subtle:#fff1ee;--color-primary-100:#fbd9d4;--color-on-primary:#fff;--color-text:#20242c;--color-text-2:#6b6f78;--color-border:#ebe5e3;--color-border-strong:#b4aba8;--color-muted:#f2eeec;--color-hover:#f5f1ef;--color-side:#20242c;--color-side-2:#2a2f39;--color-side-text:#d6d8dd;--color-side-mute:#9a9fa9;--color-success:#2e7d32;--color-success-bg:#e8f3e9;--color-info:#1b5ea8;--color-info-bg:#e7eff9;--color-warning:#8a5800;--color-warning-bg:#fbf1de;--color-error:#b42318;--color-error-bg:#fbeae8;--color-focus:var(--color-primary);--color-proto:#5b3fa8;--color-proto-bg:#f1edfa;--font-sans:"Noto Sans", "Noto Sans Lao", "Noto Sans Thai", "Noto Sans SC", "Leelawadee UI", "Microsoft YaHei UI", "PingFang SC", system-ui, -apple-system, "Segoe UI", sans-serif;--lh-body:1.6;--lh-tight:1.35;--fs-caption:12.5px;--fs-small:13.5px;--fs-body:14.5px;--fs-body-lg:16px;--fs-section:18px;--fs-page:24px;--fs-figure:28px;--fs-kds:19px;--fw-regular:400;--fw-medium:500;--fw-semibold:600;--fw-bold:700;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:24px;--sp-6:32px;--sp-7:48px;--radius-control:8px;--radius-panel:12px;--elev-1:0 1px 3px #20242c1a, 0 1px 2px #20242c0f;--elev-2:0 8px 24px #20242c24, 0 2px 6px #20242c14;--h-control-sm:32px;--h-control:40px;--h-touch:44px;--h-touch-lg:48px;--h-touch-xl:56px;--sidebar-w:240px;--sidebar-rail-w:68px;--topbar-h:64px;--content-pad:24px;--content-max:1440px;--cart-w:400px;--qr-max:640px}@media (prefers-reduced-motion:reduce){:root{--motion:0s}*,:before,:after{transition-duration:0s!important;animation-duration:0s!important}}}@layer mui;@layer components{*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-sans);font-size:var(--fs-body);line-height:var(--lh-body);text-rendering:optimizelegibility;margin:0}html[lang=zh-CN] body{line-height:1.65}img,svg{max-width:100%;display:block}button,input,select,textarea{font:inherit;color:inherit}a{color:var(--color-primary);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3,h4{line-height:var(--lh-tight);font-weight:var(--fw-semibold);margin:0}h1{font-size:var(--fs-page)}h2{font-size:var(--fs-section)}h3{font-size:16px}p{margin:0}hr{border:0;border-top:1px solid var(--color-border);margin:var(--sp-4) 0}:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.num,.money{font-variant-numeric:tabular-nums}.money{white-space:nowrap}.muted{color:var(--color-text-2)}.small{font-size:var(--fs-small)}.caption{font-size:var(--fs-caption);color:var(--color-text-2)}.strong{font-weight:var(--fw-semibold)}.right{text-align:right}.center{text-align:center}.nowrap{white-space:nowrap}.ellipsis{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.hidden{display:none!important}.text-success{color:var(--color-success)}.text-error{color:var(--color-error)}.text-warning{color:var(--color-warning)}.text-info{color:var(--color-info)}.text-primary{color:var(--color-primary)}.strike{color:var(--color-text-2);text-decoration:line-through}.row{align-items:center;gap:var(--sp-2);display:flex}.row-wrap{align-items:center;gap:var(--sp-2);flex-wrap:wrap;display:flex}.row-between{justify-content:space-between;align-items:center;gap:var(--sp-3);display:flex}.col{gap:var(--sp-2);flex-direction:column;display:flex}.grow{flex:auto;min-width:0}.gap-1{gap:var(--sp-1)}.gap-3{gap:var(--sp-3)}.gap-4{gap:var(--sp-4)}.gap-5{gap:var(--sp-5)}.mt-1{margin-top:var(--sp-1)}.mt-2{margin-top:var(--sp-2)}.mt-3{margin-top:var(--sp-3)}.mt-4{margin-top:var(--sp-4)}.mt-5{margin-top:var(--sp-5)}.mb-2{margin-bottom:var(--sp-2)}.mb-3{margin-bottom:var(--sp-3)}.mb-4{margin-bottom:var(--sp-4)}.stack>*+*{margin-top:var(--sp-4)}.stack-lg>*+*{margin-top:var(--sp-5)}.grid-2{gap:var(--sp-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.grid-3{gap:var(--sp-4);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.split{grid-template-columns:var(--split-cols,minmax(0, 1fr) 360px);gap:var(--sp-5);align-items:start;display:grid}@media (max-width:1199px){.split{grid-template-columns:var(--split-cols,minmax(0, 1fr) 320px)}}@media (max-width:899px){.grid-2,.grid-3,.split{grid-template-columns:minmax(0,1fr)}}svg.icon{vertical-align:-.22em;display:inline-block}.icon{stroke:currentColor;fill:none;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:20px;height:20px}.icon-sm{width:16px;height:16px}.icon-lg{width:24px;height:24px}.btn{justify-content:center;align-items:center;gap:var(--sp-2);min-height:var(--h-control);padding:0 var(--sp-4);border-radius:var(--radius-control);color:var(--color-primary);font-weight:var(--fw-semibold);font-size:var(--fs-body);cursor:pointer;white-space:nowrap;-webkit-user-select:none;user-select:none;background:0 0;border:1px solid #0000;line-height:1.2;text-decoration:none;transition:background-color .12s,border-color .12s,color .12s;display:inline-flex}.btn:hover{background:var(--color-primary-subtle);text-decoration:none}.btn:disabled,.btn[aria-disabled=true]{cursor:not-allowed;opacity:.45}.btn-primary{background:var(--color-primary);color:var(--color-on-primary)}.btn-primary:hover{background:var(--color-primary-hover)}.btn-primary:disabled:hover{background:var(--color-primary)}.btn-outline{border-color:var(--color-border-strong);color:var(--color-text);background:var(--color-surface)}.btn-outline:hover{background:var(--color-hover)}.btn-danger{background:var(--color-error);color:#fff}.btn-danger:hover{background:#962015}.btn-danger-outline{border-color:var(--color-error);color:var(--color-error);background:var(--color-surface)}.btn-danger-outline:hover{background:var(--color-error-bg)}.btn-text{padding:0 var(--sp-2)}.btn-sm{min-height:var(--h-control-sm);padding:0 var(--sp-3);font-size:var(--fs-small)}.btn-lg{min-height:var(--h-touch-lg);padding:0 var(--sp-5);font-size:var(--fs-body-lg)}.btn-xl{min-height:var(--h-touch-xl);padding:0 var(--sp-5);font-size:17px}.btn-block{width:100%}.btn-icon{width:var(--h-control);color:var(--color-text-2);padding:0}.btn-icon.btn-sm{width:var(--h-control-sm)}.btn-icon:hover{color:var(--color-text);background:var(--color-hover)}.btn .badge-count{margin-left:2px}.btn.is-busy{pointer-events:none;opacity:.75}.btn.is-busy:after{content:"";border:2px solid;border-right-color:#0000;border-radius:50%;width:14px;height:14px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.link-btn{color:var(--color-primary);font-weight:var(--fw-semibold);cursor:pointer;background:0 0;border:0;padding:0}.link-btn:hover{text-decoration:underline}.chip{height:24px;font-size:var(--fs-caption);font-weight:var(--fw-semibold);white-space:nowrap;background:var(--color-muted);color:var(--color-text-2);border-radius:6px;align-items:center;gap:6px;padding:0 10px;line-height:1;display:inline-flex}.chip .dot{background:currentColor;border-radius:50%;width:7px;height:7px}.chip-success{background:var(--color-success-bg);color:var(--color-success)}.chip-info{background:var(--color-info-bg);color:var(--color-info)}.chip-warning{background:var(--color-warning-bg);color:var(--color-warning)}.chip-error{background:var(--color-error-bg);color:var(--color-error)}.chip-primary{background:var(--color-primary-subtle);color:var(--color-primary)}.chip-outline{background:var(--color-surface);border:1px solid var(--color-border-strong);color:var(--color-text)}.chip-lg{height:30px;font-size:var(--fs-small);padding:0 12px}.chip-p1{color:#6b3fb0;background:#f4ebff;border:1px solid #d9c5f5}.badge-count{background:var(--color-error);color:#fff;min-width:20px;height:20px;font-size:11.5px;font-weight:var(--fw-bold);border-radius:10px;justify-content:center;align-items:center;padding:0 6px;line-height:1;display:inline-flex}.badge-count.neutral{background:var(--color-muted);color:var(--color-text)}.panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-panel)}.panel-head{justify-content:space-between;align-items:center;gap:var(--sp-3);padding:var(--sp-4) var(--sp-5);border-bottom:1px solid var(--color-border);min-height:56px;display:flex}.panel-head h2,.panel-head h3{font-size:16px}.panel-body{padding:var(--sp-5)}.panel-body.tight{padding:0}.panel-foot{padding:var(--sp-3) var(--sp-5);border-top:1px solid var(--color-border);justify-content:flex-end;gap:var(--sp-2);flex-wrap:wrap;display:flex}.dl{gap:var(--sp-2) var(--sp-4);grid-template-columns:minmax(110px,max-content) 1fr;margin:0;display:grid}.dl dt{color:var(--color-text-2);font-size:var(--fs-small)}.dl dd{font-weight:var(--fw-medium);overflow-wrap:anywhere;min-width:0;margin:0}.dl-inline{gap:var(--sp-2) var(--sp-5);flex-wrap:wrap;display:flex}.dl-inline>div{flex-direction:column;display:flex}.dl-inline .k{font-size:var(--fs-caption);color:var(--color-text-2)}.dl-inline .v{font-weight:var(--fw-semibold)}.page{max-width:var(--content-max);padding:var(--content-pad);margin:0 auto}.page-head{justify-content:space-between;align-items:flex-start;gap:var(--sp-4);margin-bottom:var(--sp-5);flex-wrap:wrap;display:flex}.page-head .titles{min-width:0}.page-head .crumbs{font-size:var(--fs-small);color:var(--color-text-2);flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:2px;display:flex}.page-head .crumbs a{color:var(--color-text-2)}.page-head .subtitle{color:var(--color-text-2);font-size:var(--fs-small);margin-top:4px}.page-head .actions{gap:var(--sp-2);flex-wrap:wrap;align-items:center;display:flex}.screen-id{font-size:11px;font-weight:var(--fw-semibold);color:var(--color-proto);background:var(--color-proto-bg);letter-spacing:.02em;white-space:nowrap;border-radius:4px;flex:none;padding:1px 6px}.tabs{gap:var(--sp-1);border-bottom:1px solid var(--color-border);margin-bottom:var(--sp-5);scrollbar-width:thin;display:flex;overflow-x:auto}.tab{align-items:center;gap:var(--sp-2);padding:0 var(--sp-4);min-height:44px;color:var(--color-text-2);font-weight:var(--fw-semibold);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-bottom:2px solid #0000;margin-bottom:-1px;text-decoration:none;display:inline-flex}.tab:hover{color:var(--color-text);text-decoration:none}.tab.is-active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.tabs.compact{margin-bottom:var(--sp-3)}.seg{border:1px solid var(--color-border-strong);border-radius:var(--radius-control);scrollbar-width:none;background:var(--color-surface);max-width:100%;display:inline-flex;overflow:auto hidden}.seg::-webkit-scrollbar{display:none}.seg>button{white-space:nowrap;flex:none}.seg button{min-height:36px;padding:0 var(--sp-3);font-weight:var(--fw-semibold);color:var(--color-text-2);cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;display:inline-flex}.seg button+button{border-left:1px solid var(--color-border)}.seg button.is-active{background:var(--color-primary-subtle);color:var(--color-primary)}.field{flex-direction:column;gap:6px;min-width:0;display:flex}.field>label,.field .label{font-size:var(--fs-small);font-weight:var(--fw-semibold);color:var(--color-text)}.field .req{color:var(--color-error);margin-left:2px}.field .hint{font-size:var(--fs-caption);color:var(--color-text-2)}.field .error-text{font-size:var(--fs-caption);color:var(--color-error);font-weight:var(--fw-medium);align-items:center;gap:4px;display:flex}.input,.select,.textarea{width:100%;min-height:var(--h-control);border:1px solid var(--color-border-strong);border-radius:var(--radius-control);background:var(--color-surface);color:var(--color-text);padding:8px 12px}.textarea{resize:vertical;min-height:80px;line-height:var(--lh-body)}.input:focus,.select:focus,.textarea:focus{outline:2px solid var(--color-focus);outline-offset:0;border-color:var(--color-focus)}.input[readonly]{background:var(--color-muted)}.input:disabled,.select:disabled{background:var(--color-muted);color:var(--color-text-2)}.field.has-error .input,.field.has-error .select,.field.has-error .textarea{border-color:var(--color-error)}.input-group{align-items:stretch;display:flex}.input-group .input{border-radius:var(--radius-control) 0 0 var(--radius-control)}.input-group .addon{border:1px solid var(--color-border-strong);border-radius:0 var(--radius-control) var(--radius-control) 0;background:var(--color-muted);color:var(--color-text-2);font-size:var(--fs-small);white-space:nowrap;border-left:0;align-items:center;padding:0 12px;display:flex}.input.num{text-align:right}.input-lg{min-height:var(--h-touch-lg);font-size:18px}.search{position:relative}.search .icon{color:var(--color-text-2);pointer-events:none;position:absolute;top:50%;left:10px;transform:translateY(-50%)}.search .input{padding-left:36px}.check{align-items:flex-start;gap:var(--sp-2);cursor:pointer;line-height:1.45;display:inline-flex}.check input{width:18px;height:18px;accent-color:var(--color-primary);flex:none;margin:2px 0 0}.switch{align-items:center;gap:var(--sp-2);cursor:pointer;display:inline-flex;position:relative}.switch input{appearance:none;background:var(--color-border-strong);cursor:pointer;border-radius:11px;flex:none;width:40px;height:22px;margin:0;transition:background .12s;position:relative}.switch input:after{content:"";background:#fff;border-radius:50%;width:16px;height:16px;transition:left .12s;position:absolute;top:3px;left:3px}.switch input:checked{background:var(--color-primary)}.switch input:checked:after{left:21px}.switch input:disabled{opacity:.5;cursor:not-allowed}.form-section{padding:var(--sp-5);border-bottom:1px solid var(--color-border)}.form-section:last-child{border-bottom:0}.form-section>h3{margin-bottom:4px}.form-section>.section-desc{color:var(--color-text-2);font-size:var(--fs-small);margin-bottom:var(--sp-4)}.form-grid{gap:var(--sp-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.form-grid .span-2{grid-column:1/-1}.form-grid-3{gap:var(--sp-4);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}@media (max-width:699px){.form-grid,.form-grid-3{grid-template-columns:minmax(0,1fr)}}.form-actions{justify-content:flex-end;gap:var(--sp-2);padding:var(--sp-4) var(--sp-5);border-top:1px solid var(--color-border);background:var(--color-surface);flex-wrap:wrap;display:flex}.form-actions.sticky{z-index:5;border-radius:0 0 var(--radius-panel) var(--radius-panel);position:sticky;bottom:0}.opt-list{gap:var(--sp-2);flex-wrap:wrap;display:flex}.opt{align-items:center;gap:var(--sp-2);border:1px solid var(--color-border-strong);border-radius:var(--radius-control);background:var(--color-surface);cursor:pointer;min-height:44px;font-weight:var(--fw-medium);text-align:left;padding:6px 14px;display:inline-flex}.opt .price{color:var(--color-text-2);font-size:var(--fs-small)}.opt.is-selected{border-color:var(--color-primary);background:var(--color-primary-subtle);color:var(--color-primary);box-shadow:inset 0 0 0 1px var(--color-primary)}.opt:disabled{opacity:.45;cursor:not-allowed}.stepper{border:1px solid var(--color-border-strong);border-radius:var(--radius-control);background:var(--color-surface);align-items:center;display:inline-flex;overflow:hidden}.stepper button{cursor:pointer;width:40px;height:40px;color:var(--color-text);background:0 0;border:0;justify-content:center;align-items:center;display:flex}.stepper button:hover{background:var(--color-hover)}.stepper button:disabled{opacity:.35;cursor:not-allowed}.stepper .val{text-align:center;min-width:36px;font-weight:var(--fw-semibold);font-variant-numeric:tabular-nums}.stepper.lg button{width:48px;height:48px}.stepper.lg .val{min-width:44px;font-size:18px}.filters{gap:var(--sp-3);padding:var(--sp-4) var(--sp-5);border-bottom:1px solid var(--color-border);flex-wrap:wrap;align-items:flex-end;display:flex}.filters .field{min-width:150px}.filters .field.search-field{flex:220px}.filters .spacer{flex:1}.filter-summary{padding:var(--sp-2) var(--sp-5);font-size:var(--fs-small);color:var(--color-text-2);border-bottom:1px solid var(--color-border);gap:var(--sp-3);flex-wrap:wrap;align-items:center;display:flex}.table-wrap{-webkit-overflow-scrolling:touch;width:100%;overflow-x:auto}table.dt{border-collapse:collapse;width:100%;font-size:var(--fs-body)}.dt th,.dt td{border-bottom:1px solid var(--color-border);text-align:left;vertical-align:middle;padding:10px 14px}.dt th{font-size:var(--fs-small);color:var(--color-text-2);font-weight:var(--fw-semibold);white-space:nowrap;z-index:1;background:#fafbfc;position:sticky;top:0}.dt td.num,.dt th.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.dt td.actions{text-align:right;white-space:nowrap}.dt tbody tr:hover{background:#fafbfc}.dt tr.is-link{cursor:pointer}.dt tr.is-muted td{color:var(--color-text-2)}.dt tr.is-selected{background:var(--color-primary-subtle)}.dt tfoot td{font-weight:var(--fw-semibold);background:#fafbfc;border-bottom:0}.dt .cell-title{font-weight:var(--fw-semibold)}.dt .cell-sub{font-size:var(--fs-caption);color:var(--color-text-2)}.dt.dense th,.dt.dense td{padding:8px 12px}.dt input.input,.dt select.select{min-height:36px;padding:6px 10px}.pager{padding:var(--sp-3) var(--sp-5);font-size:var(--fs-small);color:var(--color-text-2);justify-content:space-between;align-items:center;gap:var(--sp-3);flex-wrap:wrap;display:flex}.pager .row{gap:var(--sp-1)}@media (max-width:699px){.dt .hide-sm{display:none}}@media (max-width:1099px){.dt .hide-md{display:none}}.kpi-grid{gap:var(--sp-4);grid-template-columns:repeat(auto-fit,minmax(190px,1fr));display:grid}.kpi{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-panel);padding:var(--sp-4) var(--sp-5);text-align:left;color:inherit;flex-direction:column;gap:4px;text-decoration:none;display:flex}a.kpi:hover,button.kpi:hover{border-color:var(--color-primary);text-decoration:none}button.kpi{cursor:pointer;font:inherit}.kpi .k{font-size:var(--fs-small);color:var(--color-text-2);align-items:center;gap:6px;display:flex}.kpi .v{font-size:24px;font-weight:var(--fw-semibold);font-variant-numeric:tabular-nums;line-height:1.25}.kpi .s{font-size:var(--fs-caption);color:var(--color-text-2)}.kpi.warn .v{color:var(--color-warning)}.kpi.err .v{color:var(--color-error)}.banner{gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);border-radius:var(--radius-control);font-size:var(--fs-small);border:1px solid;align-items:flex-start;display:flex}.banner .icon{margin-top:1px}.banner .b-title{font-weight:var(--fw-semibold);font-size:var(--fs-body)}.banner .b-body{flex:1;min-width:0}.banner-info{background:var(--color-info-bg);color:#123f72;border-color:#b9cfea}.banner-warning{background:var(--color-warning-bg);color:#5e3c00;border-color:#ebcf96}.banner-error{background:var(--color-error-bg);color:#7d180f;border-color:#f0b8b2}.banner-success{background:var(--color-success-bg);color:#1d5420;border-color:#b7d8b9}.banner-neutral{background:var(--color-muted);border-color:var(--color-border);color:var(--color-text)}.banner .btn{margin-left:auto}.conn-banner{justify-content:center;align-items:center;gap:var(--sp-2);padding:8px var(--sp-4);background:var(--color-warning-bg);color:#5e3c00;font-size:var(--fs-small);font-weight:var(--fw-medium);border-bottom:1px solid #ebcf96;display:flex}.state-block{text-align:center;justify-content:center;align-items:center;gap:var(--sp-3);padding:var(--sp-7) var(--sp-5);color:var(--color-text-2);flex-direction:column;display:flex}.state-block .state-icon{background:var(--color-muted);width:56px;height:56px;color:var(--color-text-2);border-radius:50%;justify-content:center;align-items:center;display:flex}.state-block .state-icon .icon{width:28px;height:28px}.state-block.error .state-icon{background:var(--color-error-bg);color:var(--color-error)}.state-block.warn .state-icon{background:var(--color-warning-bg);color:var(--color-warning)}.state-block h2{color:var(--color-text);font-size:18px}.state-block p{max-width:460px}.state-block .code{font-size:var(--fs-caption);color:var(--color-text-2);font-family:ui-monospace,Consolas,monospace}.skeleton{background:#eceff1;border-radius:6px;animation:1.2s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:1}50%{opacity:.45}}.skel-line{height:14px;margin:10px 0}.skel-row{gap:var(--sp-4);padding:12px var(--sp-5);border-bottom:1px solid var(--color-border);grid-template-columns:1fr 2fr 1fr 1fr;display:grid}.overlay{z-index:80;background:#20242c61;position:fixed;inset:0}.drawer{z-index:81;background:var(--color-surface);width:min(560px,100vw);box-shadow:var(--elev-2);flex-direction:column;animation:.16s ease-out drawer-in;display:flex;position:fixed;top:0;bottom:0;right:0}.drawer.wide{width:min(760px,100vw)}@keyframes drawer-in{0%{opacity:.6;transform:translate(24px)}to{opacity:1;transform:none}}.drawer-head{align-items:flex-start;gap:var(--sp-3);padding:var(--sp-4) var(--sp-5);border-bottom:1px solid var(--color-border);display:flex}.drawer-head .titles{flex:1;min-width:0}.drawer-head h2{font-size:18px}.drawer-body{padding:var(--sp-5);flex:1;overflow-y:auto}.drawer-body.flush{padding:0}.drawer-foot{justify-content:flex-end;gap:var(--sp-2);padding:var(--sp-3) var(--sp-5);border-top:1px solid var(--color-border);flex-wrap:wrap;display:flex}.dialog-wrap{z-index:90;padding:var(--sp-4);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.dialog-wrap .overlay{z-index:0;position:absolute}.dialog{z-index:1;background:var(--color-surface);border-radius:var(--radius-panel);width:100%;max-width:520px;max-height:calc(100vh - 32px);box-shadow:var(--elev-2);flex-direction:column;animation:.14s ease-out dialog-in;display:flex;position:relative}.dialog.sm{max-width:420px}.dialog.lg{max-width:760px}.dialog.xl{max-width:1000px}@keyframes dialog-in{0%{opacity:.6;transform:translateY(8px)}to{opacity:1;transform:none}}.dialog-head{align-items:flex-start;gap:var(--sp-3);padding:var(--sp-4) var(--sp-5) var(--sp-3);display:flex}.dialog-head h2{flex:1;font-size:18px}.dialog-body{padding:0 var(--sp-5) var(--sp-4);overflow-y:auto}.dialog-foot{justify-content:flex-end;gap:var(--sp-2);padding:var(--sp-3) var(--sp-5) var(--sp-4);border-top:1px solid var(--color-border);flex-wrap:wrap;display:flex}@media (max-width:599px){.dialog-wrap{align-items:flex-end;padding:0}.dialog{border-radius:var(--radius-panel) var(--radius-panel) 0 0;max-width:none;max-height:92vh}.dialog-foot .btn{flex:auto}}.snackbar-host{z-index:120;gap:var(--sp-2);pointer-events:none;flex-direction:column;align-items:center;width:max-content;max-width:calc(100vw - 32px);display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}.snackbar{pointer-events:auto;align-items:center;gap:var(--sp-3);background:var(--color-side);color:#fff;border-radius:var(--radius-control);box-shadow:var(--elev-2);font-size:var(--fs-small);max-width:560px;padding:10px 16px;animation:.14s ease-out dialog-in;display:flex}.snackbar .icon{color:#8fd3a9}.snackbar.error .icon{color:#ff9c91}.snackbar .ref{background:#ffffff1f;border-radius:4px;padding:1px 6px;font-family:ui-monospace,Consolas,monospace}.snackbar a,.snackbar button.link-btn{color:var(--color-primary)}@supports (color:color-mix(in lab, red, red)){.snackbar a,.snackbar button.link-btn{color:color-mix(in srgb, var(--color-primary) 35%, #fff)}}.popover{z-index:70;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-control);min-width:200px;box-shadow:var(--elev-1);padding:4px;position:absolute}.popover button,.popover a{align-items:center;gap:var(--sp-2);cursor:pointer;text-align:left;width:100%;color:var(--color-text);background:0 0;border:0;border-radius:6px;padding:8px 12px;text-decoration:none;display:flex}.popover button:hover,.popover a:hover{background:var(--color-hover);text-decoration:none}.timeline{margin:0;padding:0;list-style:none}.timeline li{padding:0 0 var(--sp-4) 22px;position:relative}.timeline li:before{content:"";background:var(--color-border);width:2px;position:absolute;top:8px;bottom:-4px;left:5px}.timeline li:last-child:before{display:none}.timeline li:after{content:"";background:var(--color-surface);border:2px solid var(--color-primary);border-radius:50%;width:12px;height:12px;position:absolute;top:5px;left:0}.timeline .t-time{font-size:var(--fs-caption);color:var(--color-text-2)}.meter{background:var(--color-muted);border-radius:3px;min-width:60px;height:6px;overflow:hidden}.meter>span{background:var(--color-primary);height:100%;display:block}.meter.warn>span{background:var(--color-warning)}.meter.err>span{background:var(--color-error)}.food-img{background:var(--color-muted);border-radius:var(--radius-control);color:var(--color-text-2);aspect-ratio:4/3;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.food-img svg{stroke-width:1.4px;width:42%;height:42%}.food-img .ph-label{color:var(--color-text-2);background:#ffffffdb;border-radius:4px;padding:0 5px;font-size:10.5px;position:absolute;bottom:6px;left:6px}.food-img.t-salad{color:#4e7a3c;background:#eaf2e6}.food-img.t-grill{color:#8a5a2b;background:#f5eadf}.food-img.t-rice{color:#7d6a35;background:#f3efe3}.food-img.t-soup{color:#9a4a33;background:#f6e8e3}.food-img.t-drink{color:#2f6585;background:#e5eef4}.food-img.t-dessert{color:#8d4a73;background:#f3e8ef}.paper{border:1px solid var(--color-border);box-shadow:var(--elev-1);color:#111;background:#fff;margin:0 auto}.paper.mm80{width:302px;padding:14px 12px;font-size:12.5px;line-height:1.5}.paper.a4{width:100%;max-width:794px;padding:40px 48px;font-size:13px}.paper .p-center{text-align:center}.paper .p-row{justify-content:space-between;gap:8px;display:flex}.paper .p-rule{border-top:1px dashed #777;margin:8px 0}.paper .p-title{font-size:14px;font-weight:700}.paper .p-watermark{text-align:center;letter-spacing:.05em;border:1.5px solid #111;margin:6px 0;padding:2px;font-weight:700}.paper table{border-collapse:collapse;width:100%}.paper td,.paper th{vertical-align:top;text-align:left;padding:2px 0}.paper .num{text-align:right}.paper.a4 th,.paper.a4 td{border-bottom:1px solid #ddd;padding:6px 8px}.qr-box{border:1px solid var(--color-border);border-radius:var(--radius-control);background:#fff;justify-content:center;align-items:center;padding:10px;display:inline-flex}.qr-box canvas,.qr-box img,.qr-box svg{image-rendering:pixelated}.qr-fallback{border:1px dashed var(--color-border-strong);text-align:center;width:140px;height:140px;color:var(--color-text-2);justify-content:center;align-items:center;padding:8px;font-size:11px;display:flex}.chart{width:100%}.chart .bar{fill:var(--color-primary)}.chart .bar.muted{fill:var(--color-primary-100)}.chart .axis{stroke:var(--color-border)}.chart text{fill:var(--color-text-2);font-size:11px;font-family:var(--font-sans)}.chart text.val{fill:var(--color-text);font-weight:600}.hbar{font-size:var(--fs-small);grid-template-columns:minmax(120px,38%) 1fr auto;align-items:center;gap:6px 12px;display:grid}.hbar .track{background:var(--color-muted);border-radius:5px;height:10px;overflow:hidden}.hbar .track>span{background:var(--color-primary);border-radius:5px;height:100%;display:block}.proto-note{border:1px dashed var(--color-proto);background:var(--color-proto-bg);color:#3d2a75;border-radius:var(--radius-control);font-size:var(--fs-caption);align-items:flex-start;gap:8px;padding:8px 12px;display:flex}.proto-note .icon{color:var(--color-proto);width:16px;height:16px;margin-top:2px}.perm-matrix th:first-child,.perm-matrix td:first-child{min-width:170px}.perm-matrix td{vertical-align:top}.perm-matrix th:not(:first-child),.perm-matrix td:not(:first-child){min-width:104px}@media (max-width:599px){.kpi-grid{gap:var(--sp-3);grid-template-columns:repeat(2,minmax(0,1fr))}.kpi{padding:var(--sp-3) var(--sp-4)}.kpi .v{font-size:20px}}.app{min-height:100vh;display:flex}.sidebar{width:var(--sidebar-w);background:var(--color-surface);border-right:1px solid var(--color-border);z-index:30;flex-direction:column;flex:none;height:100vh;transition:width .2s cubic-bezier(.4,0,.2,1);display:flex;position:sticky;top:0;overflow:hidden}.sb-brand{align-items:center;gap:var(--sp-3);height:var(--topbar-h);padding:0 var(--sp-4);border-bottom:1px solid var(--color-border);flex:none;display:flex}.sb-logo{background:var(--color-primary);color:#fff;border-radius:9px;flex:none;justify-content:center;align-items:center;width:36px;height:36px;font-size:15px;font-weight:700;display:flex}.sb-brand .brand-text{min-width:0;transition:opacity .15s}.sb-brand .name,.sb-brand .branch{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.sb-brand .name{font-weight:var(--fw-semibold);font-size:14.5px;line-height:1.25}.sb-brand .branch{font-size:var(--fs-caption);color:var(--color-text-2)}.sb-nav{padding:var(--sp-3) var(--sp-2);flex:1;overflow:hidden auto}.sb-group{margin-bottom:var(--sp-3)}.sb-group-title{font-size:11.5px;font-weight:var(--fw-semibold);color:var(--color-text-2);letter-spacing:.01em;white-space:nowrap;text-overflow:ellipsis;padding:4px 16px;transition:color .15s;position:relative;overflow:hidden}.sb-item{align-items:center;gap:var(--sp-3);border-radius:var(--radius-control);min-height:40px;color:var(--color-text);font-weight:var(--fw-medium);padding:0 12px;text-decoration:none;display:flex;position:relative}.sb-item:hover{background:var(--color-hover);text-decoration:none}.sb-item.is-active{background:var(--color-primary-subtle);color:var(--color-primary);font-weight:var(--fw-semibold)}.sb-item .icon{color:var(--color-text-2)}.sb-item.is-active .icon{color:var(--color-primary)}.sb-item .label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.sb-item .badge-count{flex:none}.sb-item .chip-p1{height:18px;padding:0 5px;font-size:10.5px}.sidebar .sb-item{padding:0 16px}.sidebar .sb-item .label{transition:opacity .15s}.sb-foot{border-top:1px solid var(--color-border);padding:var(--sp-2);flex:none}.sb-toggle{cursor:pointer;text-align:left;width:100%;color:var(--color-text-2);background:0 0;border:0}.sb-toggle:hover{color:var(--color-text)}.sb-toggle .icon{color:inherit}.app.rail .sidebar{width:var(--sidebar-rail-w)}.app.rail .sb-brand .brand-text,.app.rail .sidebar .sb-item .label{opacity:0}.app.rail .sb-nav{scrollbar-width:none}.app.rail .sb-group-title{color:#0000}.app.rail .sb-group-title:after{content:"";border-top:1px solid var(--color-border);position:absolute;top:50%;left:16px;right:16px}.app.rail .sb-group:first-child .sb-group-title:after{display:none}.app.rail .sidebar .sb-item{overflow:hidden}.app.rail .sidebar .sb-item .chip-p1{display:none}.app.rail .sidebar .sb-item .badge-count{min-width:16px;height:16px;box-shadow:0 0 0 2px var(--color-surface);padding:0 4px;font-size:10px;position:absolute;top:3px;left:29px}.sb-tip{background:var(--color-text);font-size:var(--fs-small);font-weight:var(--fw-medium);border-radius:6px;padding:6px 10px}.main{flex-direction:column;flex:auto;min-width:0;display:flex}.topbar{height:var(--topbar-h);align-items:center;gap:var(--sp-3);padding:0 var(--sp-5);background:var(--color-surface);border-bottom:1px solid var(--color-border);z-index:20;flex:none;display:flex;position:sticky;top:0}.topbar .tb-context{align-items:center;gap:var(--sp-3);flex:1;min-width:0;display:flex}.topbar .tb-title{font-weight:var(--fw-semibold);font-size:15px}.topbar .tb-meta{font-size:var(--fs-small);color:var(--color-text-2);white-space:nowrap}.topbar .tb-right{align-items:center;gap:var(--sp-2);display:flex}.status-pill{border:1px solid var(--color-border);height:30px;font-size:var(--fs-caption);font-weight:var(--fw-semibold);color:var(--color-text-2);white-space:nowrap;background:var(--color-surface);border-radius:15px;align-items:center;gap:6px;padding:0 10px;display:inline-flex}.status-pill .dot{background:var(--color-success);border-radius:50%;width:8px;height:8px}.status-pill.off .dot{background:var(--color-error)}.status-pill.warn .dot{background:var(--color-warning)}a.status-pill:hover{border-color:var(--color-border-strong);text-decoration:none}.sync-pill{cursor:pointer;font-family:inherit}.sync-pill:disabled{cursor:default}.sync-pill:not(:disabled):hover{border-color:var(--color-border-strong)}.sync-pill.warn:not(:disabled){border-color:var(--color-warning);color:var(--color-text)}.sync-pill.off{color:var(--color-error)}.sync-pill .badge-count{background:var(--color-warning);color:#3d2800;min-width:18px;height:18px}.sync-banner{background:var(--color-info-bg);color:var(--color-info);border-bottom-color:var(--color-border)}.sub-banner{align-items:center;gap:var(--sp-2);padding:8px var(--sp-4);border-bottom:1px solid var(--color-border);font-size:13px;display:flex}.sub-banner.warn{background:var(--color-warning-bg);color:var(--color-warning)}.sub-banner.err{background:var(--color-error-bg);color:var(--color-error)}.sub-banner .grow{flex:1;min-width:0}.lang-btn,.user-btn{border:1px solid var(--color-border);background:var(--color-surface);height:40px;color:var(--color-text);cursor:pointer;white-space:nowrap;border-radius:20px;flex:none;align-items:center;transition:background-color .12s,border-color .12s;display:inline-flex}.lang-btn:hover,.lang-btn.is-open,.user-btn:hover,.user-btn.is-open{background:var(--color-hover);border-color:var(--color-border-strong);text-decoration:none}.lang-btn .caret,.user-btn .caret{color:var(--color-text-2);transition:transform .15s}.lang-btn.is-open .caret,.user-btn.is-open .caret{transform:rotate(180deg)}.lang-btn{font-size:var(--fs-small);font-weight:var(--fw-semibold);gap:8px;padding:0 10px 0 12px}.user-btn{text-align:left;gap:10px;max-width:280px;padding:0 12px 0 4px}.avatar{background:var(--color-primary-subtle);width:30px;height:30px;color:var(--color-primary);border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:13px;font-weight:700;display:flex}.avatar.lg{width:56px;height:56px;font-size:20px}.user-btn .u-text{flex-direction:column;justify-content:center;min-width:0;display:flex}.user-btn .u-name,.user-btn .u-role{text-overflow:ellipsis;white-space:nowrap;margin-block:-2px;padding-block:2px;overflow:hidden}.user-btn .u-name{font-size:13px;font-weight:var(--fw-semibold);line-height:1.35}.user-btn .u-role{color:var(--color-text-2);font-size:11.5px;line-height:1.35}.flag{border-radius:3px;flex:none;width:21px;height:14px;display:inline-flex;overflow:hidden;box-shadow:0 0 0 1px #172b2a1f}.flag svg{width:100%;height:100%;display:block}.menu-paper{border:1px solid var(--color-border);border-radius:var(--radius-panel);min-width:200px;box-shadow:var(--elev-2);margin-top:6px}.menu-paper .MuiList-root{padding:6px}.menu-paper .MuiDivider-root{border-color:var(--color-border);margin:6px -6px}.menu-item{border-radius:var(--radius-control);min-height:40px;font-size:var(--fs-body);font-weight:var(--fw-medium);color:var(--color-text);gap:10px;padding:8px 10px;line-height:1.4}.menu-item+.menu-item{margin-top:2px}.menu-item:hover,.menu-item.Mui-focusVisible{background:var(--color-hover);text-decoration:none}.menu-item:focus-visible{outline-offset:-2px}.menu-item.Mui-selected,.menu-item.Mui-selected:hover,.menu-item.Mui-selected.Mui-focusVisible{background:var(--color-primary-subtle);color:var(--color-primary);font-weight:var(--fw-semibold)}.menu-item .icon{color:var(--color-text-2)}.menu-item.Mui-selected .icon{color:var(--color-primary)}.menu-item .mi-label{flex:1;min-width:0}.menu-item.danger,.menu-item.danger .icon{color:var(--color-error)}.menu-item.danger:hover,.menu-item.danger.Mui-focusVisible{background:var(--color-error-bg)}.user-menu{width:264px}.menu-head{align-items:center;gap:var(--sp-3);padding:8px 10px 10px;display:flex}.menu-head .avatar{width:40px;height:40px;font-size:15px}.menu-head .mh-text{min-width:0}.menu-head .mh-name{font-weight:var(--fw-semibold);overflow-wrap:anywhere;line-height:1.35}.menu-head .mh-sub{font-size:var(--fs-caption);color:var(--color-text-2);line-height:1.45}.view{flex:auto;min-width:0}.hamburger{display:none}@media (max-width:1199px){:root{--content-pad:20px}}@media (max-width:899px){.sidebar{transition:transform .16s;position:fixed;top:0;bottom:0;left:0;transform:translate(-100%)}.app.nav-open .sidebar{box-shadow:var(--elev-2);transform:none}.sb-foot,.nav-scrim{display:none}.app.nav-open .nav-scrim{z-index:25;background:#20242c66;display:block;position:fixed;inset:0}.hamburger{display:inline-flex}.topbar{padding:0 var(--sp-3);gap:var(--sp-2)}.topbar .tb-meta.hide-xs{display:none}:root{--content-pad:16px}}@media (max-width:599px){.topbar .hide-sm{display:none!important}.user-btn .u-text,.user-btn .caret{display:none}.user-btn{padding:0 4px}}.pos{height:calc(100vh - var(--topbar-h));flex-direction:column;min-height:520px;display:flex}.pos-context{align-items:center;gap:var(--sp-4);padding:var(--sp-3) var(--sp-5);background:var(--color-surface);border-bottom:1px solid var(--color-border);flex-wrap:wrap;flex:none;display:flex}.pos-table{align-items:center;gap:var(--sp-3);display:flex}.pos-table .tno{font-size:var(--fs-figure);color:var(--color-primary);font-variant-numeric:tabular-nums;font-weight:700;line-height:1}.pos-table .tlabel{font-size:var(--fs-caption);color:var(--color-text-2);line-height:1.2}.pos-context .ctx-item{font-size:var(--fs-small);flex-direction:column;line-height:1.3;display:flex}.pos-context .ctx-item .k{color:var(--color-text-2);font-size:var(--fs-caption)}.pos-context .ctx-item .v{font-weight:var(--fw-semibold)}.pos-context .ctx-actions{gap:var(--sp-2);margin-left:auto;display:flex}.pos-body{grid-template-columns:minmax(0, 1fr) var(--cart-w);flex:1;min-height:0;display:grid}.pos-menu{flex-direction:column;min-height:0;display:flex}.pos-menu-tools{gap:var(--sp-3);padding:var(--sp-4) var(--sp-5) var(--sp-3);flex-direction:column;flex:none;display:flex}.cat-chips{gap:var(--sp-2);scrollbar-width:thin;padding-bottom:2px;display:flex;overflow-x:auto}.cat-chip{border:1px solid var(--color-border-strong);background:var(--color-surface);min-height:40px;font-weight:var(--fw-semibold);cursor:pointer;white-space:nowrap;color:var(--color-text);border-radius:20px;flex:none;padding:0 16px}.cat-chip.is-active{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.pos-grid{padding:0 var(--sp-5) var(--sp-5);gap:var(--sp-3);flex:1;grid-template-columns:repeat(auto-fill,minmax(168px,1fr));align-content:start;display:grid;overflow-y:auto}.menu-card{text-align:left;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-panel);padding:var(--sp-2);cursor:pointer;flex-direction:column;gap:6px;min-height:100%;display:flex;position:relative}.menu-card:hover{border-color:var(--color-primary)}.menu-card .food-img{aspect-ratio:16/10;flex:none}.menu-card .m-name{font-size:15.5px;font-weight:var(--fw-semibold);padding:0 4px;line-height:1.35}.menu-card .m-price{font-weight:var(--fw-semibold);color:var(--color-primary);font-variant-numeric:tabular-nums;padding:0 4px 2px}.menu-card .m-flags{flex-wrap:wrap;gap:4px;display:flex;position:absolute;top:12px;left:12px}.menu-card .m-opts{color:var(--color-text-2);padding:0 4px;font-size:11.5px}.menu-card.is-off{cursor:not-allowed}.menu-card.is-off .food-img,.menu-card.is-off .m-name,.menu-card.is-off .m-price{opacity:.45}.menu-card .low{color:var(--color-warning);padding:0 4px;font-size:11.5px;font-weight:600}.cart{border-left:1px solid var(--color-border);background:var(--color-surface);flex-direction:column;min-height:0;display:flex}.cart-tabs{border-bottom:1px solid var(--color-border);flex:none;display:flex}.cart-tabs button{min-height:48px;font-weight:var(--fw-semibold);color:var(--color-text-2);cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;flex:1;justify-content:center;align-items:center;gap:6px;display:inline-flex}.cart-tabs button.is-active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.cart-lines{flex:1;overflow-y:auto}.cart-line{padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--color-border);gap:4px var(--sp-3);grid-template-columns:1fr auto;display:grid}.cart-line .cl-name{font-weight:var(--fw-semibold);line-height:1.35}.cart-line .cl-mods{font-size:var(--fs-small);color:var(--color-text-2)}.cart-line .cl-note{font-size:var(--fs-small);color:var(--color-warning)}.cart-line .cl-price{text-align:right;font-weight:var(--fw-semibold);font-variant-numeric:tabular-nums;white-space:nowrap}.cart-line .cl-controls{align-items:center;gap:var(--sp-2);flex-wrap:wrap;grid-column:1/-1;display:flex}.cart-line.sent{grid-template-columns:auto 1fr auto}.cart-line.sent .qty{font-variant-numeric:tabular-nums;min-width:28px;font-weight:700}.cart-line .cl-status{flex-wrap:wrap;grid-column:2/-1;gap:4px;display:flex}.order-sep{padding:6px var(--sp-4);border-bottom:1px solid var(--color-border);font-size:var(--fs-caption);color:var(--color-text-2);justify-content:space-between;gap:var(--sp-2);background:#fafbfc;display:flex}.cart-foot{border-top:1px solid var(--color-border);padding:var(--sp-3) var(--sp-4) var(--sp-4);gap:var(--sp-2);background:var(--color-surface);flex-direction:column;flex:none;display:flex}.sum-row{justify-content:space-between;gap:var(--sp-3);font-size:var(--fs-small);display:flex}.sum-row .money{font-weight:var(--fw-semibold)}.sum-row.total{font-size:17px;font-weight:700}.sum-row.total .money{font-size:20px}.pos-mobile-tabs{display:none}@media (max-width:1199px){.pos-body{grid-template-columns:minmax(0,1fr) 340px}.pos-context{padding:var(--sp-3) var(--sp-4)}}@media (max-width:899px){.pos{height:auto;min-height:calc(100vh - var(--topbar-h))}.pos-body{grid-template-columns:minmax(0,1fr);padding-bottom:76px}.pos-body[data-mtab=menu] .cart,.pos-body[data-mtab=cart] .pos-menu{display:none}.cart{border-left:0}.pos-grid{padding:0 var(--sp-4) var(--sp-4);grid-template-columns:repeat(auto-fill,minmax(140px,1fr));overflow:visible}.pos-menu-tools{padding:var(--sp-3) var(--sp-4)}.pos-mobile-tabs{z-index:25;background:var(--color-surface);border-top:1px solid var(--color-border);padding:var(--sp-2) var(--sp-3);gap:var(--sp-2);display:flex;position:fixed;bottom:0;left:0;right:0}.pos-mobile-tabs .btn{flex:1}.pos-context .ctx-actions{width:100%;margin-left:0}.pos-context .ctx-actions .btn{flex:1}}.table-grid{gap:var(--sp-3);grid-template-columns:repeat(auto-fill,minmax(190px,1fr));display:grid}.table-card{text-align:left;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-panel);min-height:132px;padding:var(--sp-3) var(--sp-4);cursor:pointer;font:inherit;color:inherit;border-left-width:5px;flex-direction:column;gap:6px;display:flex;position:relative}.table-card:hover{border-color:var(--color-primary)}.table-card .tc-head{justify-content:space-between;align-items:baseline;gap:var(--sp-2);display:flex}.table-card .tc-no{font-variant-numeric:tabular-nums;font-size:26px;font-weight:700;line-height:1}.table-card .tc-seats{font-size:var(--fs-caption);color:var(--color-text-2);align-items:center;gap:4px;display:flex}.table-card .tc-meta{font-size:var(--fs-small);color:var(--color-text-2);gap:var(--sp-3);flex-wrap:wrap;display:flex}.table-card .tc-amount{font-variant-numeric:tabular-nums;font-size:16px;font-weight:700}.table-card .tc-flags{flex-wrap:wrap;gap:4px;margin-top:auto;display:flex}.table-card.s-free{border-left-color:var(--color-border-strong)}.table-card.s-occupied{border-left-color:var(--color-primary)}.table-card.s-checkout{border-left-color:var(--color-warning)}.table-card.s-paid{border-left-color:var(--color-success)}.table-card.s-cleaning{border-left-color:var(--color-info);background:#fbfcfd}.table-card.s-inactive{opacity:.55;cursor:default}.zone-title{align-items:center;gap:var(--sp-3);margin:var(--sp-5) 0 var(--sp-3);display:flex}.zone-title h2{font-size:16px}.summary-strip{gap:var(--sp-2);flex-wrap:wrap;display:flex}.summary-strip .seg-stat{align-items:center;gap:var(--sp-2);border-radius:var(--radius-control);background:var(--color-surface);border:1px solid var(--color-border);font-size:var(--fs-small);cursor:pointer;font-weight:var(--fw-medium);padding:6px 12px;display:flex}.summary-strip .seg-stat b{font-variant-numeric:tabular-nums;font-size:16px}.summary-strip .seg-stat.is-active{border-color:var(--color-primary);background:var(--color-primary-subtle);color:var(--color-primary)}.amount-due{text-align:center;padding:var(--sp-5)}.amount-due .k{color:var(--color-text-2);font-size:var(--fs-small)}.amount-due .v{font-variant-numeric:tabular-nums;color:var(--color-text);font-size:40px;font-weight:700;line-height:1.2}.method-tabs{gap:var(--sp-2);grid-template-columns:repeat(3,1fr);display:grid}.method-tab{border:1px solid var(--color-border-strong);border-radius:var(--radius-control);background:var(--color-surface);cursor:pointer;min-height:64px;font-weight:var(--fw-semibold);flex-direction:column;justify-content:center;align-items:center;gap:4px;display:flex}.method-tab.is-active{border-color:var(--color-primary);background:var(--color-primary-subtle);color:var(--color-primary);box-shadow:inset 0 0 0 1px var(--color-primary)}.quick-cash{gap:var(--sp-2);grid-template-columns:repeat(4,1fr);display:grid}.quick-cash .btn{min-height:48px}.calc-box{background:var(--color-bg);border-radius:var(--radius-control);padding:var(--sp-3) var(--sp-4)}.calc-box .sum-row{font-size:var(--fs-body)}.calc-box .change .money{color:var(--color-success);font-size:22px}@media (max-width:599px){.quick-cash{grid-template-columns:repeat(2,1fr)}}.kds{background:#eef1f2;flex-direction:column;min-height:100vh;display:flex}.kds-bar{align-items:center;gap:var(--sp-3);padding:var(--sp-2) var(--sp-4);background:var(--color-surface);border-bottom:1px solid var(--color-border);flex-wrap:wrap;min-height:64px;display:flex}.kds-bar .kds-title{align-items:center;gap:var(--sp-2);font-size:18px;font-weight:700;display:flex}.kds-bar .spacer{flex:1}.kds-cols{gap:var(--sp-3);padding:var(--sp-3);flex:1;grid-template-columns:repeat(3,minmax(0,1fr));min-height:0;display:grid}.kds-col{border-radius:var(--radius-panel);background:#e3e7e9;flex-direction:column;min-height:0;display:flex}.kds-col-head{padding:var(--sp-3) var(--sp-4);justify-content:space-between;align-items:center;font-size:17px;font-weight:700;display:flex}.kds-col-head .count{font-variant-numeric:tabular-nums;background:var(--color-surface);border-radius:12px;padding:0 10px;font-size:15px}.kds-col-body{padding:0 var(--sp-3) var(--sp-3);gap:var(--sp-3);flex-direction:column;flex:1;display:flex;overflow-y:auto}.kds-card{background:var(--color-surface);border-radius:var(--radius-panel);border:1px solid var(--color-border);border-top:6px solid var(--color-border-strong);overflow:hidden}.kds-card.q{border-top-color:#7c8a93}.kds-card.p{border-top-color:var(--color-info)}.kds-card.r{border-top-color:var(--color-success)}.kds-card.late{border-top-color:var(--color-warning)}.kds-card-head{justify-content:space-between;align-items:flex-start;gap:var(--sp-2);padding:var(--sp-3) var(--sp-4) var(--sp-2);cursor:pointer;display:flex}.kds-card-head .where{font-size:24px;font-weight:700;line-height:1.1}.kds-card-head .meta{color:var(--color-text-2);flex-wrap:wrap;align-items:center;gap:8px;margin-top:4px;font-size:13.5px;display:flex}.kds-card-head .wait{font-variant-numeric:tabular-nums;text-align:right;font-size:20px;font-weight:700;line-height:1.1}.kds-card-head .wait.late{color:var(--color-warning)}.kds-lines{border-top:1px solid var(--color-border)}.kds-line{gap:4px var(--sp-2);padding:var(--sp-2) var(--sp-4);border-bottom:1px solid var(--color-border);font-size:var(--fs-kds);grid-template-columns:44px 1fr;display:grid}.kds-line:last-child{border-bottom:0}.kds-line .q{font-variant-numeric:tabular-nums;font-weight:800}.kds-line .n{font-weight:600;line-height:1.35}.kds-line .mods{color:var(--color-text);grid-column:2;font-size:16px}.kds-line .note{color:var(--color-warning);grid-column:2;font-size:16px;font-weight:600}.kds-line .allergy{color:var(--color-error);grid-column:2;align-items:center;gap:4px;font-size:15px;font-weight:700;display:flex}.kds-line .line-actions{gap:var(--sp-2);flex-wrap:wrap;grid-column:1/-1;margin-top:4px;display:flex}.kds-line .line-actions .btn{flex:auto;min-height:48px;font-size:16px}.kds-line.cancelled .n,.kds-line.cancelled .q{color:var(--color-text-2);text-decoration:line-through}.kds-cancel{background:var(--color-error-bg);color:var(--color-error);padding:var(--sp-2) var(--sp-4);align-items:center;gap:var(--sp-2);flex-wrap:wrap;font-size:16px;font-weight:700;display:flex}.kds-card-foot{padding:var(--sp-2) var(--sp-3) var(--sp-3);gap:var(--sp-2);display:flex}.kds-card-foot .btn{min-height:var(--h-touch-xl);flex:1;font-size:17px}.kds-empty{text-align:center;color:var(--color-text-2);padding:var(--sp-6) var(--sp-3);font-size:16px}@media (max-width:1023px){.kds-cols{grid-template-columns:repeat(3,minmax(280px,1fr));overflow-x:auto}}@media (max-width:699px){.kds-cols{grid-template-columns:minmax(0,1fr)}.kds-cols[data-col] .kds-col:not(.is-shown){display:none}}.kds-col-switch{display:none}@media (max-width:699px){.kds-col-switch{width:100%;display:flex}.kds-col-switch .seg{width:100%}.kds-col-switch .seg button{flex:1;min-height:44px}}.qr-app{max-width:var(--qr-max);background:var(--color-bg);flex-direction:column;min-height:100vh;margin:0 auto;display:flex;position:relative}.qr-top{z-index:20;background:var(--color-surface);border-bottom:1px solid var(--color-border);padding:10px var(--sp-4);align-items:center;gap:var(--sp-3);display:flex;position:sticky;top:0}.qr-top .qt-store{font-size:var(--fs-caption);color:var(--color-text-2);line-height:1.3}.qr-top .qt-table{font-size:17px;font-weight:700;line-height:1.25}.qr-top .lang-btn{margin-left:auto}.qr-body{flex:1;padding-bottom:150px}.qr-section{padding:var(--sp-4)}.qr-cats{z-index:15;background:var(--color-bg);padding:var(--sp-2) var(--sp-4);gap:var(--sp-2);scrollbar-width:none;border-bottom:1px solid var(--color-border);display:flex;position:sticky;top:61px;overflow-x:auto}.qr-cats::-webkit-scrollbar{display:none}.qr-item{gap:var(--sp-3);padding:var(--sp-3) 0;border-bottom:1px solid var(--color-border);cursor:pointer;grid-template-columns:minmax(0,1fr) 104px;display:grid}.qr-item .food-img{aspect-ratio:1;border-radius:var(--radius-control)}.qr-item .qi-name{font-weight:var(--fw-semibold);font-size:16px;line-height:1.4}.qr-item .qi-desc{font-size:var(--fs-small);color:var(--color-text-2);-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.qr-item .qi-price{font-variant-numeric:tabular-nums;margin-top:4px;font-weight:700}.qr-item .qi-tags{flex-wrap:wrap;gap:4px;margin-top:4px;display:flex}.qr-item .qi-img-wrap{position:relative}.qr-item .qi-add{background:var(--color-primary);color:#fff;cursor:pointer;width:40px;height:40px;box-shadow:var(--elev-1);border:0;border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;bottom:6px;right:6px}.qr-item.is-off{cursor:default}.qr-item.is-off .qi-name,.qr-item.is-off .qi-price,.qr-item.is-off .food-img{opacity:.45}.qr-cat-title{margin:var(--sp-4) 0 0;scroll-margin-top:120px;font-size:17px;font-weight:700}.qr-cartbar{width:min(var(--qr-max), 100%);padding:0 var(--sp-3);z-index:30;position:fixed;bottom:68px;left:50%;transform:translate(-50%)}.qr-cartbar .btn{width:100%;min-height:52px;box-shadow:var(--elev-1);justify-content:space-between;font-size:16px}.qr-nav{width:min(var(--qr-max), 100%);z-index:30;background:var(--color-surface);border-top:1px solid var(--color-border);padding-bottom:env(safe-area-inset-bottom);grid-template-columns:repeat(4,1fr);display:grid;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.qr-nav a,.qr-nav button{min-height:60px;font-size:12px;font-weight:var(--fw-semibold);color:var(--color-text-2);cursor:pointer;text-align:center;background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:4px 2px;line-height:1.25;text-decoration:none;display:flex;position:relative}.qr-nav .is-active{color:var(--color-primary)}.qr-nav .badge-count{min-width:18px;height:18px;font-size:10.5px;position:absolute;top:6px;left:calc(50% + 6px)}.sheet-wrap{z-index:60;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet-wrap .overlay{z-index:0;position:absolute}.sheet{z-index:1;width:min(var(--qr-max), 100%);background:var(--color-surface);border-radius:16px 16px 0 0;flex-direction:column;max-height:92vh;animation:.18s ease-out sheet-in;display:flex;position:relative}@keyframes sheet-in{0%{opacity:.6;transform:translateY(40px)}to{opacity:1;transform:none}}.sheet-grip{background:var(--color-border-strong);border-radius:2px;width:40px;height:4px;margin:8px auto 0}.sheet-body{padding:var(--sp-3) var(--sp-4) var(--sp-4);overflow-y:auto}.sheet-foot{border-top:1px solid var(--color-border);padding:var(--sp-3) var(--sp-4) calc(var(--sp-3) + env(safe-area-inset-bottom));gap:var(--sp-3);align-items:center;display:flex}.sheet-foot .btn-primary{flex:1;justify-content:space-between;min-height:52px;font-size:16px}.opt-group{padding:var(--sp-3) 0;border-top:1px solid var(--color-border)}.opt-group-head{justify-content:space-between;align-items:baseline;gap:var(--sp-2);margin-bottom:var(--sp-2);display:flex}.opt-group-head .t{font-weight:700}.opt-rows{flex-direction:column;display:flex}.opt-row{align-items:center;gap:var(--sp-3);cursor:pointer;border-bottom:1px dashed var(--color-border);min-height:48px;padding:4px 0;display:flex}.opt-row:last-child{border-bottom:0}.opt-row input{width:20px;height:20px;accent-color:var(--color-primary);flex:none;margin:0}.opt-row .o-name{flex:1}.opt-row .o-price{color:var(--color-text-2);font-variant-numeric:tabular-nums}.opt-row.is-disabled{opacity:.45;cursor:not-allowed}.qr-hero{background:var(--color-surface);border-bottom:1px solid var(--color-border);padding:var(--sp-6) var(--sp-5);text-align:center}.qr-hero .big-table{color:var(--color-primary);font-variant-numeric:tabular-nums;font-size:56px;font-weight:800;line-height:1.05}.lang-cards{gap:var(--sp-2);grid-template-columns:repeat(2,1fr);display:grid}.lang-cards button{border:1px solid var(--color-border-strong);border-radius:var(--radius-control);background:var(--color-surface);cursor:pointer;min-height:52px;font-size:16px;font-weight:600}.lang-cards button.is-active{border-color:var(--color-primary);background:var(--color-primary-subtle);color:var(--color-primary);box-shadow:inset 0 0 0 1px var(--color-primary)}.status-steps{grid-template-columns:repeat(4,1fr);gap:4px;margin-top:6px;display:grid}.status-steps span{background:var(--color-muted);border-radius:2px;height:4px}.status-steps span.on{background:var(--color-primary)}@media (max-width:359px){.qr-item{grid-template-columns:minmax(0,1fr) 84px}.qr-nav a,.qr-nav button{font-size:11px}.qr-hero .big-table{font-size:44px}}.nav-page{max-width:1280px;padding:var(--sp-5);margin:0 auto}.nav-hero{justify-content:space-between;gap:var(--sp-5);margin-bottom:var(--sp-5);flex-wrap:wrap;align-items:flex-start;display:flex}.nav-hero h1{font-size:26px}.nav-controls{gap:var(--sp-3);grid-template-columns:repeat(4,minmax(0,1fr));align-items:end;display:grid}@media (max-width:899px){.nav-controls{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:499px){.nav-controls{grid-template-columns:minmax(0,1fr)}}.flow-grid{gap:var(--sp-3);grid-template-columns:repeat(auto-fill,minmax(280px,1fr));display:grid}.flow-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-panel);padding:var(--sp-4);gap:var(--sp-2);flex-direction:column;display:flex}.flow-card ol{font-size:var(--fs-small);color:var(--color-text-2);margin:0;padding-left:20px}.flow-card ol li{margin:2px 0}.flow-card .flow-links{flex-wrap:wrap;gap:6px;margin-top:auto;display:flex}.reg-group{margin-top:var(--sp-5)}.reg-group-head{align-items:baseline;gap:var(--sp-3);margin-bottom:var(--sp-2);display:flex}.reg-row td{vertical-align:top}.reg-samples{font-size:var(--fs-small);flex-wrap:wrap;gap:4px 10px;display:flex}.reg-id{white-space:nowrap;font-family:ui-monospace,Consolas,monospace;font-size:13px;font-weight:600}.proto-fab{z-index:110;position:fixed;bottom:12px;left:12px}.proto-fab>button.proto-toggle{border:1px dashed var(--color-proto);background:var(--color-proto-bg);min-width:36px;height:36px;color:var(--color-proto);cursor:pointer;box-shadow:var(--elev-1);opacity:.92;border-radius:18px;align-items:center;gap:6px;padding:0 9px;font-size:12.5px;font-weight:700;display:inline-flex}.proto-fab>button.proto-toggle .pt-label{display:none}.proto-fab>button.proto-toggle:hover .pt-label,.proto-fab>button.proto-toggle[aria-expanded=true] .pt-label{display:inline}.proto-fab .proto-state{background:var(--color-proto);color:#fff;border-radius:9px;padding:0 6px;font-size:11px}.proto-panel{background:var(--color-surface);border:1px dashed var(--color-proto);border-radius:var(--radius-panel);width:300px;max-width:calc(100vw - 24px);box-shadow:var(--elev-2);padding:var(--sp-3) var(--sp-4) var(--sp-4);gap:var(--sp-3);flex-direction:column;display:flex;position:absolute;bottom:44px;left:0}.proto-panel .pp-title{color:var(--color-proto);justify-content:space-between;align-items:center;font-size:12px;font-weight:700;display:flex}.proto-panel .field>label{font-size:12px}.proto-panel .select{background-position:right 8px center;background-size:14px;min-height:36px;padding:4px 32px 4px 8px;font-size:13px}.qr-app~.proto-fab,body.qr-body-page .proto-fab{bottom:140px}@media print{.proto-fab,.snackbar-host{display:none!important}}.qr-detail-img{border-radius:var(--radius-control);flex:none;width:96px;height:96px}.qr-body-page .qr-snackbar{bottom:136px}body.sheet-open{overflow:hidden}.qr-nav .badge-count.warn{background:var(--color-warning)}.qr-cats .cat-chip{min-height:36px;padding:0 14px}.qr-cart-line{border-bottom:1px solid var(--color-border);padding:12px 16px}.qr-cart-line:last-child{border-bottom:0}.qr-top>div{flex:1}.qr-body-page .proto-fab{opacity:.8}.nav-body{background:var(--color-bg)}.nav-head{z-index:10;background:var(--color-surface);border-bottom:1px solid var(--color-border);padding:12px var(--sp-5);justify-content:space-between;align-items:center;gap:var(--sp-3);flex-wrap:wrap;display:flex;position:sticky;top:0}.nav-brand{align-items:center;gap:var(--sp-3);min-width:0;display:flex}.nav-logo{background:var(--color-primary);color:#fff;border-radius:8px;flex:none;justify-content:center;align-items:center;width:36px;height:36px;font-weight:700;display:inline-flex}.chip-proto{background:var(--color-proto-bg);color:var(--color-proto);border:1px dashed var(--color-proto)}.nav-main{max-width:1320px;padding:var(--sp-5);margin:0 auto}.nav-tools .filters{flex-wrap:wrap}.nav-stats{gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);border-top:1px solid var(--color-border);flex-wrap:wrap;align-items:center;display:flex}.nav-i18n{gap:6px var(--sp-4);padding:var(--sp-2) var(--sp-4) var(--sp-3);border-top:1px solid var(--color-border);flex-wrap:wrap;display:flex}.nav-h2{margin-bottom:4px;font-size:19px}.nav-flows{gap:var(--sp-3);grid-template-columns:repeat(auto-fill,minmax(300px,1fr));display:grid}.nav-flow .panel-body{gap:var(--sp-2);flex-direction:column;height:100%;display:flex}.nav-num{background:var(--color-primary-subtle);width:26px;height:26px;color:var(--color-primary);border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:13px;font-weight:700;display:inline-flex}.nav-steps{font-size:var(--fs-small);margin:0;padding-left:20px}.nav-steps li{margin:4px 0}.nav-expect{padding-top:var(--sp-2);border-top:1px dashed var(--color-border);font-size:var(--fs-small);color:var(--color-text-2);align-items:flex-start;gap:6px;margin-top:auto;display:flex}.nav-expect svg{color:var(--color-success);flex:none;margin-top:2px}.nav-table td{vertical-align:top}@media (max-width:599px){.nav-main{padding:var(--sp-3)}.nav-head{padding:10px var(--sp-3)}}@media (max-width:899px){.proto-fab{bottom:84px}}:root{--font-sans:var(--font-noto), var(--font-noto-lao), var(--font-noto-thai), var(--font-noto-sc), "Leelawadee UI", "Microsoft YaHei UI", system-ui, sans-serif}.proto-fab,.proto-panel{display:none!important}.app-loading{min-height:60vh;color:var(--color-text-2);justify-content:center;align-items:center;display:flex}.conn-pill{border:1px solid var(--color-border);height:32px;font-size:var(--fs-small);background:var(--color-surface);border-radius:16px;align-items:center;gap:6px;padding:0 12px;display:inline-flex}.conn-pill .dot{background:var(--color-success);border-radius:50%;width:8px;height:8px}.conn-pill.off .dot{background:var(--color-error)}.conn-pill.wait .dot{background:var(--color-warning)}.spin{animation:1s linear infinite spin}.error-text{font-size:var(--fs-caption);color:var(--color-error);font-weight:var(--fw-medium)}.settings-nav .sb-item .label{display:inline!important}.settings-nav .sb-item{justify-content:flex-start!important}.brand-icon{color:#fff;flex:none;place-items:center;display:inline-grid;overflow:hidden}.brand-icon.is-logo{background:#fff}.brand-icon img{object-fit:contain;width:100%;height:100%;display:block}.brand-lockup{align-items:center;gap:10px;min-width:0;display:flex}.brand-words{min-width:0;line-height:1.2}.brand-name,.brand-tag{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.brand-name{letter-spacing:-.01em;color:var(--color-text);font-weight:800}.brand-tag{font-weight:var(--fw-medium);color:var(--color-text-2);margin-top:1px}.brand-lockup.on-dark .brand-name{color:#fff}.brand-lockup.on-dark .brand-tag{color:var(--color-side-mute)}.has-cafe{isolation:isolate;position:relative}.has-cafe>:not(.cafe-bg){z-index:1;position:relative}.cafe-bg{z-index:0;pointer-events:none;position:absolute;inset:0;overflow:hidden}.cafe-bg svg{display:block}.sidebar{background:var(--color-side);border-right-color:var(--color-side);color:#fff;isolation:isolate}.sidebar>:not(.cafe-bg){z-index:1;position:relative}.sidebar .sb-brand{height:auto;min-height:var(--topbar-h);padding:14px var(--sp-4) 10px;border-bottom:1px solid #ffffff14;flex-direction:column;justify-content:center;align-items:stretch;gap:8px}.sidebar .sb-brand .brand-lockup{gap:12px}.sidebar .sb-brand .brand-words{transition:opacity .15s}.sidebar .sb-shop{min-width:0;font-size:var(--fs-caption);color:var(--color-side-text);align-items:center;gap:6px;transition:opacity .15s;display:flex}.sidebar .sb-shop .icon{color:var(--color-side-mute);flex:none}.sidebar .sb-shop span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.sidebar .sb-group-title{color:var(--color-side-mute)}.sidebar .sb-item{color:var(--color-side-text)}.sidebar .sb-item .icon{color:var(--color-side-mute)}.sidebar .sb-item:hover{color:#fff;background:#ffffff0f}.sidebar .sb-item:hover .icon{color:var(--color-side-text)}.sidebar .sb-item.is-active{background:var(--color-primary);color:#fff}.sidebar .sb-item.is-active .icon{color:#fff}.sidebar .sb-item.is-active .badge-count{color:var(--color-primary);background:#fff}.sidebar .sb-item:focus-visible{outline-color:#fff}.sidebar .sb-nav{scrollbar-color:#ffffff2e transparent}.sidebar .sb-foot{border-top-color:#ffffff14}.sidebar .sb-toggle{color:var(--color-side-mute)}.sidebar .sb-toggle:hover{color:#fff}.app.rail .sidebar .sb-brand{padding-inline:16px}.app.rail .sidebar .sb-brand .brand-words,.app.rail .sidebar .sb-shop{opacity:0}.app.rail .sidebar .sb-shop{height:0;margin-top:-8px}.app.rail .sidebar .sb-group-title:after{border-top-color:#ffffff1a}.app.rail .sidebar .sb-item .badge-count{box-shadow:0 0 0 2px var(--color-side)}.sb-tip{background:var(--color-side)}.sb-tip .MuiTooltip-arrow{color:var(--color-side)}.auth{background:var(--color-surface);grid-template-columns:minmax(0,1.1fr) minmax(420px,1fr);min-height:100vh;display:grid}.auth-hero{background:var(--color-side);color:#fff;flex-direction:column;justify-content:space-between;gap:32px;padding:40px;display:flex;overflow:hidden}.auth-hero h2{letter-spacing:-.02em;max-width:480px;margin:0;font-size:36px;font-weight:800;line-height:1.2}.auth-hero .lead{color:#ffffffbf;max-width:460px;margin-top:12px;font-size:16px;line-height:1.6}.auth-points{gap:12px;margin:24px 0 0;padding:0;list-style:none;display:grid}.auth-points li{font-size:15px;font-weight:var(--fw-medium);align-items:center;gap:12px;display:flex}.auth-points .tick{background:var(--color-primary);border-radius:50%;flex:none;place-items:center;width:24px;height:24px;display:inline-grid}.auth-points .tick .icon{stroke-width:3px;width:14px;height:14px}.auth-hero .foot{color:#ffffff8c;font-size:13px}.auth-form{flex-direction:column;min-width:0;padding:24px 16px;display:flex}.auth-form .auth-top{justify-content:flex-end;display:flex}.auth-form .auth-body{width:100%;max-width:400px;margin:auto;padding:32px 0}.auth-shop{border-radius:var(--radius-control);background:var(--color-primary-subtle);color:var(--color-text);font-size:var(--fs-small);align-items:center;gap:8px;padding:8px 12px;display:flex}.auth-shop .icon{color:var(--color-primary);flex:none}@media (min-width:600px){.auth-form{padding:32px 40px}}@media (max-width:1023px){.auth{background:var(--color-bg);grid-template-columns:minmax(0,1fr)}.auth-hero{display:none}}.brand-edit{gap:var(--sp-4);grid-template-columns:minmax(0,1fr) 340px;align-items:start;display:grid}@media (max-width:1279px){.brand-edit{grid-template-columns:minmax(0,1fr)}}.brand-logo-box{align-items:center;gap:var(--sp-4);padding:var(--sp-4);border:1px dashed var(--color-border-strong);border-radius:var(--radius-panel);background:var(--color-bg);flex-wrap:wrap;display:flex}.brand-swatch{width:36px;height:36px;box-shadow:0 0 0 1px var(--color-border-strong);color:#fff;cursor:pointer;border:2px solid #fff;border-radius:50%;place-items:center;padding:0;display:inline-grid}.brand-swatch.is-on{box-shadow:0 0 0 2px var(--color-text)}.brand-swatch:disabled,.brand-custom input:disabled{cursor:not-allowed;opacity:.6}.brand-swatch .icon{stroke-width:3px}.brand-custom{align-items:center;gap:var(--sp-2);display:inline-flex}.brand-custom input[type=color]{border:1px solid var(--color-border-strong);border-radius:var(--radius-control);background:var(--color-surface);cursor:pointer;width:40px;height:40px;padding:2px}.brand-actions{border-top:1px solid var(--color-border);padding-top:var(--sp-4)}.brand-preview{gap:var(--sp-2);display:grid;position:sticky;top:80px}.brand-pv-side{background:var(--color-side);color:#fff;border-radius:var(--radius-panel);padding:var(--sp-4);overflow:hidden}.brand-pv-side .pv-item{align-items:center;gap:var(--sp-3);border-radius:var(--radius-control);min-height:40px;color:var(--color-side-text);font-weight:var(--fw-medium);padding:0 12px;display:flex}.brand-pv-side .pv-item .icon{color:var(--color-side-mute)}.brand-pv-side .pv-item.is-active{background:var(--color-primary);color:#fff;font-weight:var(--fw-semibold)}.brand-pv-side .pv-item.is-active .icon{color:#fff}.brand-pv-login{justify-items:center;gap:var(--sp-3);padding:var(--sp-5);border:1px solid var(--color-border);border-radius:var(--radius-panel);background:var(--color-surface);display:grid}.brand-pv-login .pv-btn{border-radius:var(--radius-control);background:var(--color-primary);width:100%;height:44px;color:var(--color-on-primary);font-weight:var(--fw-semibold);place-items:center;display:grid}}@layer utilities{.collapse{visibility:collapse}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.mt-1{margin-top:var(--spacing)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-5{margin-top:calc(var(--spacing) * 5)}.mr-1{margin-right:var(--spacing)}.mb-1{margin-bottom:var(--spacing)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.h-30{height:calc(var(--spacing) * 30)}.grow{flex-grow:1}.border-collapse{border-collapse:collapse}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.flex-wrap{flex-wrap:wrap}.gap-1{gap:var(--spacing)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-5{gap:calc(var(--spacing) * 5)}.rounded{border-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.break-all{word-break:break-all}.underline{text-decoration-line:underline}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.\!filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)!important}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}@media print{@page{margin:8mm}body{background:#fff!important}body *{visibility:hidden!important}.print-area,.print-area *{visibility:visible!important}.print-area{width:100%;position:absolute;top:0;left:0}.print-area .paper{box-shadow:none!important;border:0!important;margin:0!important}.print-area .no-print{display:none!important}.qr-label-sheet{grid-template-columns:repeat(2,1fr)!important;gap:10mm!important;display:grid!important}.qr-label{break-inside:avoid;page-break-inside:avoid}}.qr-label-sheet{gap:var(--sp-4);grid-template-columns:repeat(auto-fill,minmax(230px,1fr));display:grid}.qr-label{border:1px solid var(--color-border-strong);text-align:center;color:#111;background:#fff;border-radius:10px;flex-direction:column;align-items:center;gap:6px;padding:16px 14px;display:flex}.qr-label .ql-store{font-size:13px;font-weight:600}.qr-label .ql-table{font-size:34px;font-weight:800;line-height:1.05}.qr-label .ql-table small{color:#555;font-size:11px;font-weight:600;display:block}.qr-label .ql-hint{color:#333;font-size:11px;line-height:1.45}.qr-label .qr-box{border:0;padding:8px}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}
