:root{--bg:#f3f5f3;--panel:#fff;--ink:#17201b;--muted:#647068;--line:#d9dfdb;--nav:#1c3026;--nav-ink:#f6f8f6;--accent:var(--brand-primary);--accent-ink:var(--brand-primary-ink);--primary:var(--brand-primary);--primary-ink:var(--brand-primary-ink);--surface:var(--panel);--surface-2:#eef1ee;--paper:#f8f9f8;--text:var(--ink);--border:var(--line);--control-bg:#fff;--canvas-bg:#eef1ee;--canvas-line:#dce2de;--focus:#26835b;--shadow-sm:0 1px 2px #1018140d;--shadow-md:0 12px 32px #1018141f;--radius-sm:6px;--radius-md:8px;--radius-lg:10px;--control-height:40px;--sidebar-width:248px;--sidebar-rail-width:76px;--topbar-height:82px;--z-sidebar:30;--z-topbar:20;--z-overlay:40;--z-dialog:50;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:Noto Sans Thai,Leelawadee UI,Tahoma,system-ui,-apple-system,BlinkMacSystemFont,sans-serif}:root[data-theme=dark]{--bg:#111713;--panel:#18211c;--ink:#edf1ee;--muted:#a5afa8;--line:#344139;--nav:#0e1712;--nav-ink:#f2f6f3;--surface:var(--panel);--surface-2:#202b25;--paper:#141c17;--control-bg:#121a16;--canvas-bg:#141d18;--canvas-line:#2b3831;--focus:#67c895;--shadow-sm:0 1px 2px #00000038;--shadow-md:0 14px 36px #00000047;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}html{background:var(--bg);color:var(--ink);text-rendering:optimizelegibility;font-size:16px}body{background:var(--bg);min-width:320px;min-height:100vh;color:var(--ink);font-size:14px;line-height:1.5}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}::selection{background:color-mix(in srgb, var(--primary) 20%, transparent)}a{color:var(--primary-content)}button,a,input,select,textarea,summary{transition:border-color .15s,background-color .15s,color .15s,box-shadow .15s,opacity .15s}:where(button,a,input,select,textarea,summary):focus-visible{outline:3px solid color-mix(in srgb, var(--focus) 28%, transparent);outline-offset:2px}button,summary{-webkit-tap-highlight-color:transparent}button svg,a svg,summary svg{flex:none}.eyebrow{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;margin:0 0 3px;font-size:11px;font-weight:750;line-height:1.35}h1,h2,h3,p{text-wrap:pretty}h2{font-size:17px;line-height:1.35}h3{font-size:15px;line-height:1.4}.muted-note,.loading-line,.form-hint{color:var(--muted);font-size:13px}:where(.staff-main,.login-card,.register-card,.contact-card,.staff-download-card) :where(input:not([type=checkbox]):not([type=radio]):not([type=color]):not([type=file]),select,textarea){min-height:var(--control-height);border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--control-bg);color:var(--ink);box-shadow:none;outline:none;padding:8px 11px}:where(.staff-main,.login-card,.register-card,.contact-card,.staff-download-card) :where(input:not([type=checkbox]):not([type=radio]):not([type=color]):not([type=file]),select,textarea):hover{border-color:color-mix(in srgb, var(--ink) 30%, var(--line))}:where(.staff-main,.login-card,.register-card,.contact-card,.staff-download-card) :where(input:not([type=checkbox]):not([type=radio]):not([type=color]):not([type=file]),select,textarea):focus{border-color:var(--focus);box-shadow:0 0 0 3px color-mix(in srgb, var(--focus) 16%, transparent)}:where(.staff-main,.login-card,.register-card,.contact-card) textarea{resize:vertical;min-height:92px}:where(.staff-main,.login-card,.register-card,.contact-card) label{color:var(--ink);font-size:13px;font-weight:650}:where(.staff-main,.login-card,.register-card,.contact-card) label small{color:var(--muted);font-weight:450}input::placeholder,textarea::placeholder{color:color-mix(in srgb, var(--muted) 78%, transparent)}input:disabled,select:disabled,textarea:disabled{cursor:not-allowed;opacity:.62}input[type=checkbox],input[type=radio]{accent-color:var(--primary)}.tf-button,.secondary-action,.danger-action,.button-like{border-radius:var(--radius-sm);min-height:38px;padding:7px 12px;font-size:13px;font-weight:700;line-height:1.2;text-decoration:none}.tf-button{border:1px solid var(--primary);background:var(--primary);color:var(--primary-ink);box-shadow:var(--shadow-sm)}.tf-button:hover:not(:disabled){border-color:color-mix(in srgb, var(--primary) 84%, black);background:color-mix(in srgb, var(--primary) 90%, black)}.tf-button:active:not(:disabled){transform:translateY(1px)}.tf-button--small{min-height:32px;padding:5px 9px;font-size:12px}.tf-button--secondary,.secondary-action,.button-like{border:1px solid var(--line);background:var(--panel);color:var(--ink)}.tf-button--secondary:hover:not(:disabled),.secondary-action:hover:not(:disabled),.button-like:hover:not(:disabled){border-color:color-mix(in srgb, var(--primary) 42%, var(--line));background:color-mix(in srgb, var(--primary) 6%, var(--panel));color:var(--primary-content)}.tf-button--ghost{color:var(--ink);box-shadow:none;background:0 0;border-color:#0000}.tf-button--danger,.danger-action{border:1px solid var(--danger-line);background:var(--danger-bg);color:var(--danger-ink)}.tf-button__spinner{border:2px solid;border-right-color:#0000;border-radius:50%;width:14px;height:14px;animation:.65s linear infinite production-spin}.tf-button:disabled,.secondary-action:disabled,.danger-action:disabled{cursor:not-allowed;opacity:.5}.tf-card{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--panel);box-shadow:none}.tf-badge,.state,.availability,.ticket-status,.table-state-pill{border:1px solid var(--line);background:var(--surface-2);width:fit-content;min-height:24px;color:var(--muted);white-space:nowrap;border-radius:5px;justify-content:center;align-items:center;padding:2px 7px;font-size:11px;font-weight:750;line-height:1.25;display:inline-flex}.tf-badge--success,.availability:not(.sold-out),.state--ready,.table-state-pill--available{border-color:var(--success-line);background:var(--success-bg);color:var(--success-ink)}.tf-badge--warning,.state--submitted,.state--accepted,.state--preparing,.table-state-pill--waiting_food,.table-state-pill--requested_bill{border-color:var(--warning-line);background:var(--warning-bg);color:var(--warning-ink)}.tf-badge--danger,.availability.sold-out,.state--cancelled,.state--rejected,.state--voided{border-color:var(--danger-line);background:var(--danger-bg);color:var(--danger-ink)}.tf-badge--info,.state--served,.table-state-pill--seated,.table-state-pill--ordering{border-color:var(--info-line);background:var(--info-bg);color:var(--info-ink)}.form-error,.inline-error{border:1px solid var(--danger-line);border-radius:var(--radius-sm);background:var(--danger-bg);color:var(--danger-ink);padding:10px 12px;font-size:13px}.business-notice,.save-message,.success-note,.contact-success{border:1px solid var(--success-line);border-radius:var(--radius-sm);background:var(--success-bg);color:var(--success-ink)}.tf-empty{gap:0;min-height:180px;padding:28px 16px}.tf-empty__mark{border:1px solid color-mix(in srgb, var(--muted) 45%, var(--line));background:var(--surface-2);border-radius:50%;width:34px;height:34px;margin-bottom:10px;position:relative}.tf-empty__mark:after{background:var(--muted);content:"";opacity:.6;border-radius:50%;position:absolute;inset:11px}.tf-empty h2{margin:0;font-size:15px}.tf-empty p{max-width:420px;color:var(--muted);margin:4px auto 0;font-size:13px}.staff-layout{grid-template-columns:var(--sidebar-width) minmax(0, 1fr);background:var(--bg);min-height:100vh;display:grid}.staff-layout[data-navigation-collapsed=true]{grid-template-columns:var(--sidebar-rail-width) minmax(0, 1fr)}.sidebar{z-index:var(--z-sidebar);border-right:1px solid color-mix(in srgb, var(--nav-ink) 12%, transparent);background:var(--nav);min-width:0;height:100vh;color:var(--nav-ink);padding:0;display:flex;position:sticky;top:0;overflow:hidden}.sidebar-header{border-bottom:1px solid color-mix(in srgb, var(--nav-ink) 10%, transparent);grid-template-columns:minmax(0,1fr) auto;align-items:center;min-height:64px;padding:10px 10px 8px 12px;display:grid}.brand-mark{min-width:0;color:var(--nav-ink);font:inherit;gap:9px;padding:0;text-decoration:none;display:flex}.brand-symbol{border-radius:var(--radius-sm);background:#fff;border:1px solid #ffffff3d;flex:0 0 34px;place-items:center;width:34px;height:34px;padding:3px;display:grid;overflow:hidden}.brand-logo{max-width:100%;height:auto;display:block}.brand-symbol .brand-logo--mark{object-fit:contain;width:28px;height:28px}.brand-copy{min-width:0;color:var(--nav-ink);align-content:center;font-size:15px;font-weight:720;line-height:1.15;display:grid}.brand-copy small{color:color-mix(in srgb, var(--nav-ink) 58%, transparent);letter-spacing:.08em;text-transform:uppercase;font-family:inherit;font-size:9px;font-weight:600;line-height:1.3}.sidebar-collapse,.sidebar-mobile-close,.sidebar-mobile-trigger{border-radius:var(--radius-sm);width:34px;height:34px;color:inherit;cursor:pointer;background:0 0;border:0;place-items:center;display:grid}.sidebar-collapse:hover,.sidebar-mobile-close:hover{background:color-mix(in srgb, var(--nav-ink) 10%, transparent)}.sidebar-collapse svg,.sidebar-mobile-close svg,.sidebar-mobile-trigger svg{width:18px;height:18px}.sidebar-mobile-close,.sidebar-mobile-trigger,.sidebar-overlay{display:none}.sidebar-scroll{scrollbar-color:color-mix(in srgb, var(--nav-ink) 24%, transparent) transparent;scrollbar-width:thin;flex:1;min-height:0;overflow:hidden auto}.sidebar nav{grid-template-columns:minmax(0,1fr);gap:5px;padding:10px;display:grid}.nav-group{grid-template-columns:minmax(0,1fr);gap:2px;display:grid}.nav-group+.nav-group{border-top:1px solid color-mix(in srgb, var(--nav-ink) 9%, transparent);margin-top:7px;padding-top:8px}.nav-group-label{color:color-mix(in srgb, var(--nav-ink) 48%, transparent);letter-spacing:.04em;margin:0;padding:4px 9px;font-size:10px;font-weight:700}.sidebar nav a,.sidebar-actions button,.sidebar-actions a{border-radius:var(--radius-sm);min-height:38px;color:color-mix(in srgb, var(--nav-ink) 76%, transparent);border:1px solid #0000;gap:10px;padding:8px 9px;font-size:13px;font-weight:590;line-height:1.25}.sidebar nav a:hover,.sidebar-actions button:hover,.sidebar-actions a:hover{background:color-mix(in srgb, var(--nav-ink) 7%, transparent);color:var(--nav-ink)}.sidebar nav a.active{border-color:color-mix(in srgb, var(--nav-ink) 10%, transparent);background:color-mix(in srgb, var(--nav-ink) 12%, transparent);color:var(--nav-ink);font-weight:700}.sidebar nav a.active:before{background:color-mix(in srgb, var(--brand-accent) 62%, var(--nav-ink));content:"";border-radius:0 2px 2px 0;width:3px;height:20px;position:absolute;left:-1px}.sidebar nav a{width:100%;position:relative}.sidebar nav a svg,.sidebar-actions svg{stroke-width:1.8px;width:17px;height:17px}.sidebar-actions{border-top:1px solid color-mix(in srgb, var(--nav-ink) 10%, transparent);gap:2px;margin-top:0;padding:9px 10px 12px}.sidebar-actions button,.sidebar-actions a{cursor:pointer;width:100%}.staff-layout[data-navigation-collapsed=true] .sidebar-header{grid-template-columns:1fr;justify-items:center;padding-inline:10px}.staff-layout[data-navigation-collapsed=true] .brand-copy,.staff-layout[data-navigation-collapsed=true] .nav-group-label,.staff-layout[data-navigation-collapsed=true] .sidebar nav a span,.staff-layout[data-navigation-collapsed=true] .sidebar-actions button span,.staff-layout[data-navigation-collapsed=true] .sidebar-actions a span{display:none}.staff-layout[data-navigation-collapsed=true] .brand-mark{justify-content:center}.staff-layout[data-navigation-collapsed=true] .sidebar-collapse{border:1px solid color-mix(in srgb, var(--nav-ink) 12%, transparent);background:var(--nav);width:24px;height:24px;position:absolute;top:51px;right:8px}.staff-layout[data-navigation-collapsed=true] .sidebar nav a,.staff-layout[data-navigation-collapsed=true] .sidebar-actions button,.staff-layout[data-navigation-collapsed=true] .sidebar-actions a{justify-content:center;padding-inline:8px}.staff-layout[data-navigation-collapsed=true] .nav-group+.nav-group{margin-top:6px;padding-top:7px}.staff-main{min-width:0;padding:0}.page-header{z-index:var(--z-topbar);min-height:var(--topbar-height);border-bottom:1px solid var(--line);background:color-mix(in srgb, var(--bg) 94%, transparent);grid-template-columns:minmax(0,1fr) auto;margin:0;padding:13px clamp(16px,2.1vw,32px);display:grid;position:sticky;top:0}.page-title{min-width:0}.page-header h1{color:var(--ink);letter-spacing:-.015em;text-overflow:ellipsis;white-space:nowrap;margin:0;font-family:inherit;font-size:clamp(22px,2vw,26px);font-weight:720;line-height:1.25;overflow:hidden}.page-header .page-title>p:last-child{max-width:760px;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin:2px 0 0;font-size:12.5px;overflow:hidden}.page-header-actions{justify-content:flex-end;align-items:center;gap:9px;display:flex;position:relative}.branch-selector{color:var(--muted);grid-template-columns:auto auto;align-items:center;gap:7px;font-size:11px;font-weight:650;display:grid}.branch-selector>svg{width:16px;height:16px;display:none}.page-header .branch-selector select{border-radius:var(--radius-sm);width:min(270px,26vw);min-height:36px;padding:6px 30px 6px 10px;font-size:12px}.branch-selector[data-error=true] select{border-color:var(--danger-line)}.branch-switch-error{z-index:var(--z-dropdown);border:1px solid var(--danger-line);border-radius:var(--radius-sm);background:var(--panel);width:max-content;max-width:min(280px,100vw - 24px);box-shadow:var(--shadow-sm);color:var(--danger-ink);margin:0;padding:8px 10px;font-size:12px;position:absolute;top:calc(100% + 8px);right:0}.connection{border-radius:var(--radius-sm);min-height:32px;color:var(--muted);background:0 0;border:0;align-self:center;align-items:center;gap:6px;padding:5px 8px;font-size:11px;display:inline-flex}.connection span{width:7px;height:7px;box-shadow:none;background:#2f9e63;border-radius:50%;margin:0}.connection[data-offline=true] span{background:#c88b22}.connection b{font-weight:650}.page-content{min-width:0;padding:20px clamp(16px,2.1vw,32px) 48px}.dashboard-layout{gap:16px;display:grid}.operational-summary{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--panel);grid-template-columns:minmax(240px,.8fr) minmax(520px,1.7fr);align-items:stretch;display:grid;overflow:hidden}.operational-summary__lead{border-right:1px solid var(--line);align-content:center;padding:18px 20px;display:grid}.operational-summary__lead>strong{margin-top:8px;font-size:19px;line-height:1.3}.operational-summary__lead>small{color:var(--muted);margin-top:3px;font-size:11.5px}.live-status{width:fit-content;color:var(--success-ink);align-items:center;gap:7px;font-size:11px;font-weight:700;display:inline-flex}.live-status i{background:#2f9e63;border-radius:50%;width:7px;height:7px}.live-status[data-attention=true]{color:var(--warning-ink)}.live-status[data-attention=true] i{background:#d29421}.metric-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:0;display:grid}.metric{border:0;border-right:1px solid var(--line);background:0 0;border-radius:0;grid-template-columns:1fr auto;align-content:center;min-width:0;padding:16px 18px;display:grid}.metric:last-child{border-right:0}.metric>span{color:var(--muted);grid-column:1/-1;align-items:center;gap:6px;font-size:11px;font-weight:650;display:inline-flex}.metric>span svg{width:15px;height:15px;color:var(--primary-content)}.metric>strong{color:var(--ink);letter-spacing:-.02em;grid-column:1;margin:7px 0 0;font-family:inherit;font-size:26px;font-weight:750;line-height:1.1}.metric>small{color:var(--muted);grid-column:2;align-self:end;padding-bottom:1px;font-size:10.5px}.metric--money>strong{font-size:clamp(19px,1.7vw,25px)}.panel{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--panel);margin-top:16px;padding:16px}.dashboard-layout>.panel{margin-top:0}.panel-heading{align-items:flex-start;min-height:44px;padding-bottom:12px}.panel-heading h2{margin:0;font-size:16px}.panel-heading p:last-child{color:var(--muted);margin:3px 0 0;font-size:12px}.section-count{color:var(--muted);white-space:nowrap;align-items:center;gap:6px;font-size:12px;display:inline-flex}.section-count svg{width:15px;height:15px}.data-list{border-top:1px solid var(--line);margin-top:0;overflow:hidden}.data-list__header,.data-list article{grid-template-columns:minmax(128px,.45fr) minmax(180px,1fr) minmax(100px,auto);align-items:center;gap:16px;display:grid}.data-list__header{background:var(--surface-2);min-height:34px;color:var(--muted);padding:6px 10px;font-size:10.5px;font-weight:700}.data-list__header span:last-child{text-align:right}.data-list article{border-top:1px solid var(--line);min-height:58px;padding:9px 10px}.data-list article:first-of-type{border-top:0}.data-list article:hover{background:color-mix(in srgb, var(--primary) 3.5%, var(--panel))}.data-list article div{min-width:0}.data-list article strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.data-list article small{font-size:11px}.data-list article b{font-variant-numeric:tabular-nums;text-align:right;font-size:13px}.list-skeleton{border-top:1px solid var(--line);background:var(--line);gap:1px;display:grid;overflow:hidden}.list-skeleton span{background:linear-gradient(100deg, transparent 30%, color-mix(in srgb, var(--panel) 58%, transparent) 50%, transparent 70%), var(--surface-2);background-size:220% 100%;height:58px;animation:1.3s ease-in-out infinite production-skeleton;display:block}.inline-error{justify-content:space-between;align-items:center;gap:16px;margin-top:4px;display:flex}.inline-error>div{display:grid}.inline-error span{font-size:12px}.menu-manager,.queue-center,.growth-center,.business-center,.members-center,.staff-access-center,.platform-center,.platform-team-center,.homepage-editor{gap:16px;display:grid}.menu-summary-grid,.growth-metrics,.platform-monitor-grid{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--panel);grid-template-columns:repeat(3,minmax(0,1fr));gap:0;display:grid;overflow:hidden}.menu-summary-card,.growth-metrics .metric,.platform-monitor-grid .metric{border:0;border-right:1px solid var(--line);border-radius:0;grid-template-columns:1fr auto;align-content:center;min-height:82px;padding:13px 16px;display:grid}.menu-summary-card:last-child,.growth-metrics .metric:last-child,.platform-monitor-grid .metric:last-child{border-right:0}.menu-summary-card>svg{width:18px;color:var(--muted);grid-area:1/2/span 2}.menu-summary-card>span{color:var(--muted);font-size:11px}.menu-summary-card>strong{margin-top:3px;font-size:22px}.creation-workflow{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--panel);overflow:hidden}.creation-workflow>summary{cursor:pointer;justify-content:space-between;align-items:center;gap:16px;min-height:58px;padding:10px 14px;list-style:none;display:flex}.creation-workflow>summary::-webkit-details-marker{display:none}.creation-workflow>summary:hover{background:color-mix(in srgb, var(--primary) 4%, var(--panel))}.creation-workflow>summary>span{display:grid}.creation-workflow>summary strong{font-size:14px}.creation-workflow>summary small{color:var(--muted);font-size:11.5px}.creation-workflow>summary>svg{width:18px;color:var(--primary-content);transition:transform .16s}.creation-workflow[open]>summary{border-bottom:1px solid var(--line)}.creation-workflow[open]>summary>svg{transform:rotate(45deg)}.creation-workflow .menu-form-grid{margin:0;padding:14px}.menu-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.management-form-card{border-color:var(--line);padding:14px}.management-form-card--wide{grid-column:1/-1}.management-form-card h2{margin:0 0 10px;font-size:15px}.management-form-card form{gap:10px}.management-form-card .tf-button{justify-self:end;width:fit-content;min-width:130px}.menu-catalogue,.menu-sets-panel{margin-top:0}.compact-search,.member-search{border-radius:var(--radius-sm);min-width:min(320px,36vw);min-height:36px;box-shadow:none;padding:5px 9px}.compact-search svg,.member-search svg{width:16px;color:var(--muted)}.compact-search input,.member-search input{min-height:26px!important;box-shadow:none!important;border:0!important;padding:3px!important}.menu-admin-list{border-top:1px solid var(--line);gap:0;margin-top:2px;display:grid}.menu-admin-list>article{border:0;border-bottom:1px solid var(--line);background:0 0;border-radius:0;grid-template-columns:42px minmax(170px,1fr) minmax(90px,auto) minmax(90px,auto) auto;align-items:center;gap:12px;min-height:62px;padding:9px 4px;display:grid}.menu-admin-list>article:hover{background:color-mix(in srgb, var(--primary) 3%, transparent)}.menu-admin-icon{border:1px solid var(--line);border-radius:var(--radius-sm);background-color:var(--surface-2);width:38px;height:38px;font-size:14px}.menu-admin-list>article>div:nth-child(2){min-width:0}.menu-admin-list>article>div:nth-child(2) strong,.menu-admin-list>article>div:nth-child(2) small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.menu-admin-list>article>b{font-variant-numeric:tabular-nums;text-align:right;font-size:13px}.row-actions{justify-content:flex-end;gap:5px;display:flex;position:relative}.row-primary-action,.row-menu>summary{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--panel);min-height:32px;color:var(--ink);cursor:pointer;justify-content:center;align-items:center;gap:5px;padding:5px 8px;font-size:11.5px;font-weight:650;list-style:none;display:inline-flex}.row-primary-action:hover,.row-menu>summary:hover{border-color:color-mix(in srgb, var(--primary) 45%, var(--line));color:var(--primary-content)}.row-primary-action svg,.row-menu>summary svg{width:14px;height:14px}.row-menu{position:relative}.row-menu>summary{width:32px;padding:4px}.row-menu>summary::-webkit-details-marker{display:none}.row-menu>div{z-index:12;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--panel);width:218px;box-shadow:var(--shadow-md);padding:5px;display:grid;position:absolute;top:calc(100% + 5px);right:0}.row-menu>div :where(button,label){width:100%;min-height:34px;color:var(--ink);cursor:pointer;background:0 0;border:0;border-radius:5px;justify-content:flex-start;align-items:center;gap:8px;margin:0;padding:6px 8px;font-size:12px;font-weight:550;display:flex}.row-menu>div :where(button,label):hover{background:var(--surface-2)}.row-menu>div svg{width:15px}.row-menu .image-upload-button--compact input{display:none}.floor-operations-toolbar{min-height:44px;margin-bottom:10px}.floor-operations-toolbar strong{font-size:15px}.view-switcher{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-2);padding:2px}.view-switcher button{border-radius:5px;min-height:32px;padding:5px 9px;font-size:12px}.view-switcher button.active{background:var(--panel);color:var(--ink);box-shadow:var(--shadow-sm)}.floor-operations-layout{grid-template-columns:minmax(0,1fr) minmax(320px,390px);align-items:start;gap:14px;display:grid}.floor-live-panel,.table-operation-drawer{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--panel);min-height:430px}.floor-live-panel{padding:12px}.floor-live-canvas{border:1px solid var(--line);border-radius:var(--radius-sm);background-color:var(--canvas-bg);max-height:65vh;overflow:hidden}.table-operation-drawer{top:calc(var(--topbar-height) + 14px);max-height:calc(100vh - var(--topbar-height) - 28px);padding:14px;position:sticky;overflow:auto}.table-operation-drawer>.tf-empty{min-height:398px}.table-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:9px;display:grid}.table-card{border-top:3px solid var(--success-line);border-radius:var(--radius-md);min-height:112px;padding:0;overflow:hidden}.table-grid--operations .table-card>button{text-align:left;min-height:109px;padding:12px}.table-code{font-family:inherit;font-size:22px;font-weight:750;line-height:1.2}.table-operation-drawer .drawer-header{border-bottom:1px solid var(--line);padding-bottom:11px}.drawer-header h2{font-size:20px}.drawer-section{border-bottom:1px solid var(--line);padding:13px 0}.drawer-section:last-child{border-bottom:0}.visit-summary-actions{grid-column:1/-1;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;display:grid!important}.visit-summary-actions button{min-height:38px}.visit-summary-actions .visit-add-order{border-color:var(--primary);background:var(--primary);color:var(--primary-ink)}.visit-summary-actions .visit-add-order:hover{border-color:color-mix(in srgb, var(--primary) 84%, black);background:color-mix(in srgb, var(--primary) 90%, black)}.order-entry:focus{outline:none}.order-entry:focus-visible{outline:3px solid color-mix(in srgb, var(--focus) 22%, transparent);outline-offset:3px}.staff-order-search{margin:10px 0 8px;display:block;position:relative}.staff-order-search svg{z-index:1;width:16px;height:16px;color:var(--muted);pointer-events:none;position:absolute;top:50%;left:11px;transform:translateY(-50%)}.staff-order-search input{width:100%;padding-left:34px!important}.order-search-empty{color:var(--muted);margin:10px 0 14px;font-size:13px}.quick-menu-list{border-bottom:1px solid var(--line);scrollbar-width:thin;margin-bottom:10px}.compact-stepper button{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--panel);width:32px;height:32px;color:var(--primary-content)}.compact-stepper button:hover{border-color:color-mix(in srgb, var(--primary) 40%, var(--line));background:color-mix(in srgb, var(--primary) 6%, var(--panel))}.compact-stepper output{text-align:center;min-width:20px}.order-entry>.tf-button{min-height:42px}.order-entry-success,.order-entry-error{border-radius:var(--radius-sm);margin:9px 0 0;padding:8px 10px;font-size:13px}.order-entry-success{border:1px solid var(--success-line);background:var(--success-bg);color:var(--success-ink)}.order-entry-error{border:1px solid var(--danger-line);background:var(--danger-bg);color:var(--danger-ink)}.table-bill-history{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--panel);margin-top:16px;padding:16px}.daily-sales-panel{border-radius:var(--radius-md)}.account-settings{gap:18px;display:grid}.account-required-notice{border:1px solid color-mix(in srgb, var(--warning) 35%, var(--line));border-radius:var(--radius-md);background:color-mix(in srgb, var(--warning) 8%, var(--surface));align-items:flex-start;gap:12px;padding:14px 16px;display:flex}.account-required-notice>svg{width:20px;color:var(--warning);flex:0 0 20px}.account-required-notice strong,.account-required-notice p{margin:0}.account-required-notice p{color:var(--muted);margin-top:3px;font-size:13px}.account-settings-grid{grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);align-items:start;gap:16px;display:grid}.account-settings-card{gap:18px;padding:18px;display:grid}.account-summary{border-top:1px solid var(--line);margin:0;display:grid}.account-summary>div{border-bottom:1px solid var(--line);grid-template-columns:130px minmax(0,1fr);gap:12px;padding:10px 0;display:grid}.account-summary dt{color:var(--muted);font-size:13px}.account-summary dd{overflow-wrap:anywhere;min-width:0;margin:0;font-size:14px;font-weight:650}.account-identity-form{grid-template-columns:minmax(0,1fr) minmax(220px,.7fr);gap:12px;display:grid}.account-identity-form>button,.account-identity-form>p{grid-column:1/-1;justify-self:start}.email-verification-status{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-subtle);align-items:center;gap:12px;padding:12px;display:flex}.email-verification-status>svg{width:22px;color:var(--muted)}.email-verification-status[data-verified=true]{border-color:color-mix(in srgb, var(--success) 30%, var(--line));background:color-mix(in srgb, var(--success) 7%, var(--surface))}.email-verification-status[data-verified=true]>svg{color:var(--success)}.email-verification-status strong,.email-verification-status p,.account-settings-hint{margin:0}.email-verification-status p,.account-settings-hint{color:var(--muted);font-size:13px}.platform-email-settings{gap:18px;padding:18px;display:grid}.platform-email-settings form{gap:16px;display:grid}.platform-email-toggles{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.platform-email-toggles>label,.platform-email-owner-scope{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-subtle);align-items:flex-start;gap:10px;padding:12px;display:flex}.platform-email-toggles input,.platform-email-secure input{flex:0 0 16px;width:16px;height:16px;margin-top:2px}.platform-email-toggles span{gap:2px;display:grid}.platform-email-toggles small,.platform-email-owner-scope small{color:var(--muted);font-size:12px;font-weight:450}.platform-email-owner-scope{gap:2px;display:grid}.platform-email-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.platform-email-secure{color:var(--ink);align-items:flex-start;gap:9px;font-size:13px;display:flex}.platform-email-actions{flex-wrap:wrap;gap:8px;display:flex}.queue-summary{grid-template-columns:repeat(3,minmax(0,1fr)) auto;align-items:stretch;gap:8px;display:grid}.queue-summary>div{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--panel);min-height:58px}.queue-summary>.tf-button{align-self:stretch}.queue-top-grid,.business-grid,.support-layout,.member-tools,.staff-access-grid,.queue-link-manager{gap:14px}.queue-config-card,.queue-create-card,.queue-public-link,.growth-panel,.payment-settings-card,.discount-settings-card,.billing-card,.appearance-card,.branch-create-card,.staff-access-card,.staff-roster,.support-compose,.support-history,.platform-team-create,.platform-team-list,.renewal-settings-card,.redemption-create-card,.redemption-history-card,.access-log-card{border-radius:var(--radius-md);box-shadow:none;padding:16px}.queue-config-card,.queue-create-card{min-height:0}.queue-config-card header,.queue-create-card header,.growth-panel header{margin-bottom:12px}.queue-board{gap:12px}.queue-column{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--panel);min-height:240px}.queue-ticket-card{border-radius:var(--radius-sm);box-shadow:none}.growth-hero,.subscription-hero{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--panel);box-shadow:none;overflow:hidden}.growth-hero{padding:18px}.growth-hero h2{max-width:720px;font-size:19px}.growth-grid{gap:14px}.growth-panel{min-height:0}.growth-chart{min-height:220px}.subscription-hero{grid-template-columns:minmax(260px,1fr) auto minmax(280px,1fr);gap:18px;padding:18px}.subscription-plan h2{font-size:18px}.subscription-icon,.section-title>span{border-radius:var(--radius-sm);width:34px;height:34px}.section-title{gap:10px;margin-bottom:13px}.section-title h2{margin:0;font-size:16px}.section-title p{color:var(--muted);margin:2px 0 0;font-size:12px}.billing-layout,.appearance-layout{gap:16px}.appearance-preview{border-radius:var(--radius-md);min-height:210px;box-shadow:none}.branch-list{gap:8px}.branch-card{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px 14px;padding:12px 14px;display:grid}.branch-card header{grid-column:1/-1}.branch-card h3,.branch-card p{margin:0}.branch-card .branch-enter{grid-area:2/2/span 2}.member-row-card,.staff-row,.platform-team-row,.platform-customer,.admin-ticket,.support-ticket,.queue-link-row{border:0;border-bottom:1px solid var(--line);box-shadow:none;background:0 0;border-radius:0}.member-card-list,.staff-roster,.platform-team-list,.platform-customer-list,.admin-ticket-list{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--panel);overflow:hidden}.platform-customer__identity>div{gap:2px;display:grid}.platform-customer__legal-id{align-items:center;gap:8px;margin-top:6px;display:flex}.platform-customer__legal-id span{border:1px solid var(--warning-line);border-radius:var(--radius-sm);background:var(--warning-bg);color:var(--warning-ink);padding:5px 8px;font-size:12px}.platform-customer__legal-id button:not(.tf-button){color:var(--muted);cursor:pointer;font:inherit;background:0 0;border:0;padding:4px;font-size:12px}.homepage-editor__layout{gap:14px}.homepage-editor__fields,.homepage-preview-frame{border-radius:var(--radius-md)}.modal-backdrop,.staff-modal-backdrop{z-index:var(--z-overlay);-webkit-backdrop-filter:none;backdrop-filter:none;background:#09100c94;padding:16px}.qr-modal,.modifier-editor-modal,.item-editor-modal,.member-card-modal{z-index:var(--z-dialog);border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--panel);max-height:calc(100vh - 32px);color:var(--ink);box-shadow:var(--shadow-md);padding:18px;overflow:auto}.close-button,.modal-close{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--panel);width:34px;height:34px;color:var(--ink);place-items:center;display:grid}.close-button:hover,.modal-close:hover{background:var(--surface-2)}.login-shell{background:var(--bg);min-height:100vh;color:var(--ink);grid-template-columns:minmax(420px,.95fr) minmax(460px,1.05fr);display:grid}.login-brand{color:#f5f8f6;background:#1c3026;border-right:1px solid #ffffff1f;flex-direction:column;justify-content:center;padding:clamp(40px,7vw,96px);display:flex;position:relative}.login-brand-logo{border-radius:var(--radius-md);background:#fff;border:1px solid #ffffff24;width:min(300px,78%);margin-bottom:18px;padding:9px 13px}.login-brand-logo .brand-logo{width:100%}.login-brand:after{content:"";border-bottom:1px solid #ffffff26;border-right:1px solid #ffffff26;width:54px;height:54px;position:absolute;bottom:clamp(32px,6vw,70px);right:clamp(32px,6vw,84px)}.login-brand h1{color:#fff;letter-spacing:-.025em;max-width:560px;margin:10px 0 8px;font-family:inherit;font-size:clamp(32px,4vw,50px);font-weight:720;line-height:1.16}.login-brand>p:last-child{color:#f5f8f6ad;max-width:540px;font-size:14px;line-height:1.7}.login-brand .eyebrow{color:#f5f8f694}.marketing-brand--logo{width:clamp(150px,16vw,196px);padding:4px 0}.marketing-brand--logo .brand-logo{width:100%}.login-card{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--panel);width:min(420px,100% - 32px);color:var(--ink);box-shadow:var(--shadow-sm);margin:auto;padding:28px}.login-icon{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-2);width:38px;height:38px;color:var(--primary-content)}.login-card h2{margin:14px 0 2px;font-size:20px}.login-card>p{color:var(--muted);font-size:12px}.login-card label{gap:5px;margin:13px 0;font-size:12px}.login-card input{border-color:var(--line);border-radius:var(--radius-sm);background:var(--control-bg);min-height:42px;color:var(--ink);padding:9px 11px}.login-card .tf-button{min-height:42px;margin-top:5px}.mobile-app-download{border-radius:var(--radius-sm);background:0 0;min-height:38px;font-size:12px}.register-shell{background:var(--bg);grid-template-columns:minmax(310px,.7fr) minmax(560px,1.3fr);min-height:100vh}.register-intro{background:#1c3026;padding:clamp(28px,5vw,72px)}.register-intro h1{font-family:inherit;font-size:clamp(30px,4vw,48px);font-weight:720;line-height:1.15}.register-intro .marketing-brand,.register-card h2{font-family:inherit}.register-intro .marketing-brand{font-weight:720}.register-card h2{margin:2px 0 12px;font-size:24px;font-weight:720;line-height:1.3}.register-card{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--panel);width:min(720px,100% - 32px);box-shadow:var(--shadow-sm);margin:24px auto;padding:24px}.plan-selector{gap:7px}.plan-selector label{border-radius:var(--radius-sm);min-height:54px}.register-fields{gap:12px}.register-section-heading{border-top:1px solid var(--line);gap:2px;padding-top:6px;display:grid}.register-section-heading:first-child{border-top:0;padding-top:0}.register-section-heading strong{font-size:14px}.register-section-heading small{color:var(--muted);font-size:12px}.register-entity-type{border:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0;padding:0;display:grid}.register-entity-type legend{color:var(--muted);margin-bottom:5px;font-size:12px;font-weight:650}.register-entity-type label{border:1px solid var(--line);border-radius:var(--radius-sm);cursor:pointer;flex-direction:row;align-items:center;gap:8px;min-height:42px;padding:8px 10px;display:flex}.register-entity-type label[data-selected=true]{border-color:var(--primary);background:color-mix(in srgb, var(--primary) 7%, var(--panel))}.register-entity-type input{width:16px;min-height:16px}.verification-shell{background:var(--bg);place-items:center;min-height:100vh;padding:24px;display:grid}.verification-card{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--panel);width:min(480px,100%);box-shadow:var(--shadow-sm);justify-items:start;gap:14px;padding:24px;display:grid}.verification-card h1,.verification-card p{margin:0}.verification-card h1{font-size:24px}.verification-card>p:not(.eyebrow,.form-error,.verification-message){color:var(--muted)}.verification-icon{border-radius:var(--radius-md);background:var(--surface-2);width:44px;height:44px;color:var(--primary);place-items:center;display:grid}.verification-icon.is-verified{background:var(--success-bg);color:var(--success-ink)}.verification-icon svg{width:22px}.verification-card form,.verification-card form label{gap:7px;width:100%;display:grid}.verification-card form{gap:12px}.verification-message{color:var(--success-ink)}.verification-help{font-size:12px;line-height:1.55}.marketing-shell,.contact-shell{background:var(--bg)}.marketing-nav{border-bottom:1px solid var(--line);background:color-mix(in srgb, var(--panel) 96%, transparent);-webkit-backdrop-filter:none;backdrop-filter:none}.marketing-hero{background:var(--panel)}.marketing-hero h1,.contact-copy h1{font-family:inherit;font-size:clamp(36px,5vw,64px);line-height:1.08}.feature-grid article,.pricing-grid article,.sales-support-banner,.contact-card,.staff-download-card{border-radius:var(--radius-md);box-shadow:none}.staff-download-card h1{margin:2px 0 0;font-size:24px;line-height:1.25}.staff-download-summary{color:var(--text-muted);margin:0}.staff-download-shell{background:var(--bg)}@media (max-width:1180px){.operational-summary{grid-template-columns:1fr}.operational-summary__lead{border-right:0;border-bottom:1px solid var(--line)}.subscription-hero{grid-template-columns:minmax(240px,1fr) auto}.subscription-hero .plan-features{grid-column:1/-1}}@media (max-width:1024px) and (min-width:821px){.staff-layout,.staff-layout[data-navigation-collapsed=true]{grid-template-columns:var(--sidebar-rail-width) minmax(0, 1fr)}.sidebar-header{grid-template-columns:1fr;justify-items:center;padding-inline:10px}.brand-copy,.nav-group-label,.sidebar nav a span,.sidebar-actions button span,.sidebar-actions a span{display:none}.brand-mark>.brand-symbol,.sidebar nav a svg{opacity:1;display:grid}.brand-mark,.sidebar nav a,.sidebar-actions button,.sidebar-actions a{justify-content:center}.sidebar-collapse{display:none}.page-content{padding-inline:20px}.floor-operations-layout{grid-template-columns:minmax(0,1fr) 340px}}@media (max-width:900px){.page-header{grid-template-columns:minmax(0,1fr) auto}.page-header .page-title>p:last-child{max-width:58vw}.operational-summary .metric-grid,.menu-summary-grid,.growth-metrics,.platform-monitor-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.floor-operations-layout{grid-template-columns:1fr}.table-operation-drawer{min-height:0;max-height:none;position:static}.table-operation-drawer>.tf-empty{min-height:180px}.queue-top-grid,.business-grid,.support-layout,.staff-access-grid,.queue-link-manager,.login-shell,.register-shell{grid-template-columns:1fr}.login-brand{min-height:280px;padding-block:42px}.register-intro{min-height:260px}}@media (max-width:820px){:root{--topbar-height:72px}.account-settings-grid,.account-identity-form,.platform-email-fields,.platform-email-toggles{grid-template-columns:minmax(0,1fr)}.account-summary>div{grid-template-columns:minmax(0,1fr);gap:2px}body{font-size:14px}.staff-layout,.staff-layout[data-navigation-collapsed=true]{padding-bottom:0;display:block}.sidebar{width:min(292px,100vw - 48px);height:100dvh;box-shadow:var(--shadow-md);transition:transform .18s;position:fixed;top:0;bottom:0;left:0;transform:translate(-102%)}.staff-layout[data-navigation-open=true] .sidebar{transform:translate(0)}.sidebar-overlay{z-index:calc(var(--z-sidebar) - 1);opacity:0;pointer-events:none;background:#080e0a7a;border:0;transition:opacity .18s;display:block;position:fixed;inset:0}.staff-layout[data-navigation-open=true] .sidebar-overlay{opacity:1;pointer-events:auto}.sidebar-header,.staff-layout[data-navigation-collapsed=true] .sidebar-header{grid-template-columns:minmax(0,1fr) auto;justify-items:stretch}.brand-copy,.nav-group-label,.sidebar nav a span,.sidebar-actions button span,.sidebar-actions a span{display:initial!important}.brand-copy{display:grid!important}.staff-layout[data-navigation-collapsed=true] .brand-mark,.staff-layout[data-navigation-collapsed=true] .sidebar nav a,.staff-layout[data-navigation-collapsed=true] .sidebar-actions button,.staff-layout[data-navigation-collapsed=true] .sidebar-actions a{justify-content:flex-start}.sidebar nav,.nav-group{grid-template-columns:minmax(0,1fr)}.sidebar nav a,.sidebar nav a:not([data-mobile=true]){width:100%;display:flex}.sidebar-collapse{display:none}.sidebar-mobile-close{display:grid}.page-header{min-height:var(--topbar-height);grid-template-columns:auto minmax(0,1fr) auto;gap:9px;padding:9px 12px}.sidebar-mobile-trigger{border:1px solid var(--line);background:var(--panel);color:var(--ink);display:grid}.page-header h1{font-size:19px}.page-header .eyebrow,.page-header .page-title>p:last-child{display:none}.page-header-actions{gap:4px}.branch-selector{max-width:min(46vw,180px);color:var(--ink);grid-template-columns:auto minmax(0,1fr);gap:6px;display:grid}.branch-selector>svg{display:block}.branch-selector>span{display:none}.page-header .branch-selector select{background-color:var(--panel);width:min(40vw,156px);min-height:38px;padding:6px 28px 6px 8px;font-size:12px;font-weight:650}.page-header-actions[data-has-branch-switcher=true] .connection{display:none}.branch-switch-error{top:calc(100% + 6px)}.connection{border:1px solid var(--line);background:var(--panel);justify-content:center;width:34px;height:34px;padding:0}.connection b{display:none}.page-content{padding:14px 12px 36px}.operational-summary{border-radius:var(--radius-md)}.operational-summary__lead{padding:14px}.operational-summary__lead>strong{font-size:17px}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible}.metric{padding:13px 14px}.metric:nth-child(2){border-right:0}.metric:nth-child(3){border-top:1px solid var(--line);border-right:0;grid-column:1/-1}.metric>strong{font-size:23px}.panel{padding:13px}.panel-heading{gap:10px}.panel-heading p:last-child,.data-list__header{display:none}.data-list article{grid-template-columns:minmax(96px,auto) minmax(0,1fr) auto;gap:9px;padding-inline:4px}.data-list article strong{max-width:100%}.state{text-overflow:ellipsis;max-width:108px;overflow:hidden}.menu-summary-grid,.growth-metrics,.platform-monitor-grid{grid-template-columns:repeat(3,minmax(145px,1fr));overflow-x:auto}.menu-form-grid{grid-template-columns:1fr}.management-form-card--wide{grid-column:auto}.item-form,.register-fields{grid-template-columns:1fr}.form-span-2,.register-full{grid-column:auto}.menu-admin-list>article{grid-template-columns:38px minmax(0,1fr) auto;gap:8px}.menu-admin-list>article>b{text-align:left;grid-column:2}.menu-admin-list>article>.availability{grid-area:1/3}.menu-admin-list>article>.row-actions{grid-area:2/3}.row-primary-action{width:32px;padding:4px;font-size:0}.row-primary-action svg{width:15px}.row-menu>div{width:auto;padding:8px;position:fixed;inset:auto 12px 12px}.compact-search,.member-search{width:min(220px,52vw);min-width:0}.queue-summary{grid-template-columns:repeat(3,minmax(110px,1fr));overflow-x:auto}.queue-summary>.tf-button{grid-column:1/-1}.subscription-hero{grid-template-columns:1fr}.subscription-hero .plan-features{grid-column:auto}.billing-layout,.appearance-layout{grid-template-columns:1fr}.branch-card{grid-template-columns:minmax(0,1fr)}.branch-card .branch-enter{grid-area:auto/1;justify-self:stretch}.modal-backdrop,.staff-modal-backdrop{align-items:end;padding:0}.qr-modal,.modifier-editor-modal,.item-editor-modal,.member-card-modal{border-radius:var(--radius-lg) var(--radius-lg) 0 0;width:100%;max-height:92dvh;padding:16px}.login-brand{display:none}.login-shell{place-items:center;min-height:100dvh;padding:20px 0;display:grid}.login-card{padding:22px}.register-intro{min-height:190px;padding:28px 20px}.register-intro h1{font-size:30px}.register-card{border-width:1px 0 0;border-radius:0;width:100%;margin:0}}@media (max-width:420px){.page-header{gap:6px;padding-inline:9px}.page-header .branch-selector select{width:min(39vw,146px)}.section-count{font-size:0}.section-count svg{width:17px;height:17px}.data-list article{grid-template-columns:94px minmax(0,1fr) auto}.data-list article b,.data-list article strong{font-size:12px}}.session-expired-notice{border-radius:var(--radius-sm);color:#695321;background:#fff9e9;border:1px solid #e6d7a9;margin:0;padding:10px 12px;font-size:13px}:root[data-theme=dark] .session-expired-notice{color:#f1dea4;background:#292515;border-color:#665829}.pos-payment-launch{justify-content:center}.pos-terminal{min-height:calc(100dvh - var(--topbar-height) - 48px);border:1px solid var(--line);border-radius:var(--radius-md);background:var(--panel);box-shadow:var(--shadow-sm);grid-template-columns:188px minmax(360px,1fr) minmax(330px,390px);display:grid;overflow:hidden}.pos-tables,.pos-ticket,.pos-catalog{min-width:0;min-height:0}.pos-tables,.pos-ticket{flex-direction:column;display:flex}.pos-tables{border-right:1px solid var(--line);background:color-mix(in srgb, var(--surface-2) 50%, var(--panel))}.pos-ticket{border-left:1px solid var(--line);background:var(--panel);position:relative}.pos-panel-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;min-height:68px;padding:12px 14px;display:flex}.pos-panel-header h2,.pos-catalog-header h2,.pos-open-table h2{margin:0;font-size:18px}.pos-panel-header>span{background:var(--surface-2);min-width:25px;color:var(--muted);text-align:center;border-radius:12px;padding:2px 7px;font-size:12px;font-weight:700}.pos-panel-header>svg{width:19px;color:var(--muted)}.pos-table-list{padding:6px;overflow-y:auto}.pos-table-list>button{border-radius:var(--radius-sm);width:100%;min-height:54px;color:var(--ink);cursor:pointer;text-align:left;background:0 0;border:1px solid #0000;grid-template-columns:8px minmax(0,1fr) 16px;align-items:center;gap:9px;padding:7px 8px;display:grid}.pos-table-list>button:hover{background:color-mix(in srgb, var(--panel) 76%, transparent)}.pos-table-list>button.is-active{border-color:color-mix(in srgb, var(--primary) 32%, var(--line));background:color-mix(in srgb, var(--primary) 9%, var(--panel))}.pos-table-list>button>span:nth-child(2){min-width:0;display:grid}.pos-table-list strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.pos-table-list small{color:var(--muted);font-size:11px}.pos-table-list svg{width:14px;color:var(--muted)}.pos-table-state{background:#98a29b;border-radius:50%;width:8px;height:8px}.pos-table-state--available{background:#4b9a68}.pos-table-state--requested_bill,.pos-table-state--requested_service{background:#d18420}.pos-table-state--paying{background:#417db4}.pos-table-state--out_of_service{background:#b55e61}.pos-list-loading,.pos-loading{background:linear-gradient(100deg, transparent 25%, color-mix(in srgb, var(--line) 45%, transparent) 40%, transparent 55%);background-size:240% 100%;min-height:300px;animation:1.3s linear infinite production-skeleton}.pos-empty-copy{color:var(--muted);margin:0;padding:18px 14px;font-size:13px}.pos-catalog{background:var(--paper);flex-direction:column;display:flex;overflow:hidden}.pos-catalog>.tf-empty{max-width:420px;margin:auto}.pos-catalog-header{border-bottom:1px solid var(--line);background:var(--panel);justify-content:space-between;align-items:center;gap:16px;min-height:68px;padding:10px 16px;display:flex}.pos-search{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--control-bg);align-items:center;gap:7px;width:min(270px,44%);min-height:38px;padding:0 9px;display:flex}.pos-search>svg{width:16px;color:var(--muted)}.pos-search input{flex:1;min-width:0;min-height:36px!important;box-shadow:none!important;border:0!important;padding:0!important}.pos-search button{width:28px;height:28px;color:var(--muted);cursor:pointer;background:0 0;border:0;place-items:center;padding:0;display:grid}.pos-search button svg{width:15px}.pos-categories{border-bottom:1px solid var(--line);background:var(--panel);flex:none;gap:5px;padding:9px 14px;display:flex;overflow-x:auto}.pos-categories button,.pos-payment-quick button{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--panel);min-height:31px;color:var(--muted);white-space:nowrap;cursor:pointer;padding:4px 10px;font-size:12px;font-weight:650}.pos-categories button.is-active{border-color:color-mix(in srgb, var(--primary) 48%, var(--line));background:color-mix(in srgb, var(--primary) 10%, var(--panel));color:var(--primary-content)}.pos-menu-grid{grid-template-columns:repeat(auto-fill,minmax(148px,1fr));align-content:start;gap:8px;padding:12px;display:grid;overflow-y:auto}.pos-menu-grid article{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--panel);min-width:0;overflow:hidden}.pos-menu-grid article:hover,.pos-menu-grid article.is-selected{border-color:color-mix(in srgb, var(--primary) 45%, var(--line))}.pos-menu-grid article.is-selected{box-shadow:inset 0 2px 0 var(--primary)}.pos-menu-main{width:100%;min-height:82px;color:var(--ink);cursor:pointer;text-align:left;background:0 0;border:0;flex-direction:column;justify-content:space-between;gap:10px;padding:11px;display:flex}.pos-menu-main strong{font-size:13px;line-height:1.4}.pos-menu-main span{color:var(--primary-content);font-size:12px;font-weight:700}.pos-menu-quantity{border-top:1px solid var(--line);grid-template-columns:1fr 36px 1fr;align-items:center;display:grid}.pos-menu-quantity button{background:var(--surface-2);min-height:34px;color:var(--ink);cursor:pointer;border:0;place-items:center;display:grid}.pos-menu-quantity button:hover{background:color-mix(in srgb, var(--primary) 12%, var(--surface-2))}.pos-menu-quantity svg{width:14px}.pos-menu-quantity b{text-align:center}.pos-open-table{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--panel);text-align:center;width:min(480px,100% - 32px);margin:auto;padding:24px}.pos-open-table__icon{border-radius:var(--radius-sm);background:var(--surface-2);width:42px;height:42px;color:var(--primary-content);place-items:center;margin:0 auto 12px;display:grid}.pos-open-table__icon svg{width:20px}.pos-open-table>p:not(.eyebrow){color:var(--muted);margin:7px 0 18px}.pos-open-fields{text-align:left;grid-template-columns:1fr 1.5fr;gap:10px;margin-bottom:14px;display:grid}.pos-open-fields label{gap:5px;display:grid}.pos-open-table>.tf-button{width:100%}.pos-ticket-scroll{overscroll-behavior:contain;flex:1;min-height:110px;overflow-y:auto}.pos-ticket-line{border-bottom:1px solid color-mix(in srgb, var(--line) 65%, transparent);justify-content:space-between;align-items:flex-start;gap:10px;padding:9px 14px;font-size:12px;display:flex}.pos-ticket-line>span{gap:7px;min-width:0;display:flex}.pos-ticket-line>span>span{min-width:0;display:grid}.pos-ticket-line b{color:var(--muted)}.pos-ticket-line small{color:var(--muted);font-size:11px}.pos-ticket-line>strong{flex:none;font-size:12px}.pos-ticket-empty{min-height:180px;color:var(--muted);text-align:center;flex:1;align-content:center;justify-items:center;gap:8px;padding:20px;display:grid}.pos-ticket-empty svg{width:24px}.pos-cart-draft{border:1px solid color-mix(in srgb, var(--primary) 34%, var(--line));border-radius:var(--radius-sm);background:color-mix(in srgb, var(--primary) 4%, var(--panel));margin:8px}.pos-cart-draft>p{border-bottom:1px solid var(--line);color:var(--muted);justify-content:space-between;margin:0;padding:7px 10px;font-size:11px;font-weight:700;display:flex}.pos-cart-draft>div>input{width:calc(100% - 20px);margin:0 10px 8px;font-size:12px;min-height:32px!important}.pos-send-order{width:calc(100% - 16px);margin:8px}.pos-totals{border-top:1px solid var(--line);background:var(--panel);flex:none}.pos-totals dl{gap:5px;margin:0;padding:11px 14px;display:grid}.pos-totals dl>div{justify-content:space-between;gap:12px;display:flex}.pos-totals dt{color:var(--muted);font-size:12px}.pos-totals dd{margin:0;font-size:12px;font-weight:650}.pos-totals .pos-total-due{border-top:1px solid var(--line);align-items:baseline;padding-top:6px}.pos-total-due dt{color:var(--ink);font-weight:700}.pos-total-due dd{color:var(--primary-content);font-size:19px;font-weight:800}.pos-discount{grid-template-columns:minmax(0,1fr) auto;gap:7px;padding:0 14px 10px;display:grid}.pos-discount input{min-height:34px!important}.pos-payment{border-top:1px solid var(--line);background:var(--paper);gap:9px;max-height:44dvh;padding:11px 14px;display:grid;overflow-y:auto}.pos-payment-methods{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.pos-payment-methods button{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--panel);min-height:38px;color:var(--muted);cursor:pointer;justify-content:center;align-items:center;gap:6px;font-size:12px;font-weight:700;display:flex}.pos-payment-methods button.is-active{border-color:color-mix(in srgb, var(--primary) 48%, var(--line));background:color-mix(in srgb, var(--primary) 9%, var(--panel));color:var(--primary-content)}.pos-payment-methods svg{width:16px}.pos-payment>label{gap:4px;display:grid}.pos-money-input{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--control-bg);align-items:center;display:flex}.pos-money-input:focus-within{border-color:var(--focus);box-shadow:0 0 0 3px color-mix(in srgb, var(--focus) 16%, transparent)}.pos-money-input>span{color:var(--muted);padding-left:10px}.pos-money-input input{text-align:right;width:100%;font-size:16px;font-weight:700;box-shadow:none!important;border:0!important}.pos-payment-quick{grid-template-columns:repeat(3,1fr);gap:5px;display:grid}.pos-payment-quick button:hover{border-color:var(--primary);color:var(--primary-content)}.pos-promptpay{width:112px;margin:2px auto}.pos-change{border-radius:var(--radius-sm);color:#275d39;background:#e8f4ec;justify-content:space-between;align-items:baseline;padding:8px 10px;display:flex}:root[data-theme=dark] .pos-change{color:#a7dbb6;background:#193024}.pos-change strong{font-size:18px}.pos-confirm-payment{width:100%}.pos-ticket-actions{border-top:1px solid var(--line);justify-content:space-between;gap:7px;padding:10px 14px;display:flex}.pos-ticket-actions .tf-button{flex:1}.pos-notice,.pos-error{top:calc(var(--topbar-height) + 12px);width:min(360px,100vw - 24px);z-index:var(--z-overlay);border-radius:var(--radius-sm);color:#285f3b;box-shadow:var(--shadow-md);pointer-events:none;background:#edf8f0;border:1px solid #b7dbc3;align-items:center;gap:7px;margin:0;padding:9px 10px;font-size:12px;display:flex;position:fixed;bottom:auto;left:auto;right:16px}.pos-error{color:#8d3538;background:#fff1f1;border-color:#e2b9ba}.pos-notice svg,.pos-error svg{width:16px}.pos-takeaway-action{border:1px solid color-mix(in srgb, var(--primary) 36%, var(--line));border-radius:var(--radius-sm);background:color-mix(in srgb, var(--primary) 8%, var(--panel));min-height:58px;color:var(--primary-content);cursor:pointer;text-align:left;grid-template-columns:28px minmax(0,1fr) 18px;align-items:center;gap:8px;margin:7px;padding:8px 9px;display:grid}.pos-takeaway-action>svg{width:17px}.pos-takeaway-action>span{display:grid}.pos-takeaway-action strong{font-size:12px}.pos-takeaway-action small{color:var(--muted);font-size:10px}.pos-takeaway-dialog,.receipt-paper-dialog{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--panel);width:min(460px,100vw - 24px);color:var(--ink);box-shadow:var(--shadow-md);padding:18px}.pos-takeaway-dialog>header,.receipt-paper-dialog>header{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px;display:flex}.pos-takeaway-dialog h2,.receipt-paper-dialog h2{margin:0}.pos-takeaway-dialog>header>button,.receipt-paper-dialog>header>button{border-radius:var(--radius-sm);background:var(--surface-2);width:34px;height:34px;color:var(--muted);cursor:pointer;border:0;place-items:center;display:grid}.pos-takeaway-dialog>header svg,.receipt-paper-dialog>header svg{width:17px}.pos-takeaway-dialog>label{gap:5px;display:grid}.pos-takeaway-dialog>p{color:var(--muted);margin:12px 0 18px;font-size:13px}.pos-takeaway-dialog>div:last-child,.receipt-paper-actions{justify-content:flex-end;gap:8px;display:flex}.receipt-paper-backdrop,.expandable-qr-backdrop{z-index:calc(var(--z-dialog) + 10);background:#060c099e;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.receipt-paper-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;display:grid}.receipt-paper-options label{border:1px solid var(--line);border-radius:var(--radius-sm);cursor:pointer;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:7px;min-width:0;padding:10px 8px;display:grid}.receipt-paper-options label.is-active{border-color:var(--primary);background:color-mix(in srgb, var(--primary) 8%, var(--panel))}.receipt-paper-options label>span{min-width:0;display:grid}.receipt-paper-options small{color:var(--muted);font-size:10px;font-weight:450;line-height:1.35}.receipt-paper-hint{color:var(--muted);margin:12px 0 16px;font-size:12px}.expandable-qr-trigger{border:1px solid var(--line);border-radius:var(--radius-sm);color:#26352d;cursor:zoom-in;background:#fff;justify-items:center;gap:6px;padding:7px;display:grid}.expandable-qr-trigger>img{aspect-ratio:1;object-fit:contain;width:min(210px,100%);height:auto;display:block}.expandable-qr-trigger>span{align-items:center;gap:5px;font-size:11px;font-weight:700;display:flex}.expandable-qr-trigger>span svg{width:14px}.expandable-qr-backdrop{padding:max(12px, env(safe-area-inset-top)) max(12px, env(safe-area-inset-right)) max(12px, env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left));background:#000000c7}.expandable-qr-backdrop>section{border-radius:var(--radius-md);color:#17201b;background:#fff;gap:10px;width:min(96vw,620px);max-height:96dvh;padding:12px;display:grid;overflow:auto}.expandable-qr-backdrop header{justify-content:space-between;align-items:center;gap:12px;display:flex}.expandable-qr-backdrop header button{border-radius:var(--radius-sm);color:#17201b;background:#f3f5f3;border:1px solid #d9dfdb;place-items:center;width:40px;height:40px;display:grid}.expandable-qr-backdrop header svg{width:20px}.expandable-qr-backdrop>section>img{aspect-ratio:1;width:min(82vw,540px);height:auto;image-rendering:pixelated;object-fit:contain;margin:auto;display:block}.expandable-qr-backdrop p{color:#526058;text-align:center;margin:0;font-size:12px}@media (max-width:1180px){.pos-terminal{grid-template-columns:150px minmax(320px,1fr) minmax(300px,340px)}.pos-menu-grid{grid-template-columns:repeat(auto-fill,minmax(132px,1fr))}}@media (max-width:900px){.pos-terminal{grid-template-columns:126px minmax(0,1fr);min-height:auto}.pos-ticket{border-top:1px solid var(--line);border-left:0;grid-column:1/-1;min-height:520px}.pos-menu-grid{max-height:520px}}@media (max-width:620px){.pos-terminal{border-inline:0;display:block;overflow:visible}.pos-tables{top:var(--topbar-height);z-index:3;border-right:0;border-bottom:1px solid var(--line);position:sticky}.pos-tables .pos-panel-header{display:none}.pos-takeaway-action{margin-bottom:0}.pos-table-list{gap:5px;padding:7px;display:flex;overflow-x:auto}.pos-table-list>button{width:auto;min-width:92px;min-height:46px;display:flex}.pos-table-list>button>svg{display:none}.pos-catalog{min-height:480px}.pos-catalog-header{flex-direction:column;align-items:stretch;min-height:108px}.pos-search{width:100%}.pos-menu-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-height:540px}.pos-ticket{min-height:560px}.pos-open-fields,.receipt-paper-options{grid-template-columns:1fr}}@media print{body:has(.pos-terminal){background:#fff}:is(body:has(.pos-terminal) .sidebar,body:has(.pos-terminal) .page-header,body:has(.pos-terminal) .pos-tables,body:has(.pos-terminal) .pos-catalog,body:has(.pos-terminal) .pos-payment,body:has(.pos-terminal) .pos-discount,body:has(.pos-terminal) .pos-ticket-actions,body:has(.pos-terminal) .pos-notice,body:has(.pos-terminal) .pos-error){display:none!important}:is(body:has(.pos-terminal) .staff-main,body:has(.pos-terminal) .page-content,body:has(.pos-terminal) .pos-terminal,body:has(.pos-terminal) .pos-ticket){color:#111;width:100%;min-height:0;box-shadow:none;background:#fff;border:0;margin:0;padding:0;display:block}body:has(.pos-terminal) .pos-ticket{max-width:80mm;margin:auto}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@keyframes production-spin{to{transform:rotate(360deg)}}@keyframes production-skeleton{0%{background-position:100% 0}to{background-position:-120% 0}}
