:root{--forest:oklch(31% .06 125);--forest-soft:oklch(40% .065 120);--leaf:oklch(55% .08 112);--chilli:oklch(49% .18 27);--red:var(--chilli);--mango:oklch(79% .14 83);--paper:oklch(96% .018 85);--surface:oklch(99% .008 85);--ink:oklch(25% .025 60);--muted:oklch(49% .018 80);--line:oklch(86% .022 82);--good:oklch(57% .11 145);--warn:oklch(63% .15 55)}
.menu-note-settings .menu-temperature-options{display:flex;flex-wrap:wrap;gap:12px}.menu-note-settings .menu-temperature-options label{display:flex;align-items:center;gap:10px;min-height:44px;min-width:100px;margin:0;padding:8px 12px;border:1px solid var(--line);border-radius:8px;cursor:pointer}.menu-note-settings .menu-temperature-options input{width:20px;height:20px;min-height:20px;padding:0;accent-color:var(--forest)}
*{box-sizing:border-box}html{font-size:16px}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Mitr","Leelawadee UI",sans-serif;font-weight:300}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit}.admin-brand{display:flex;align-items:center;gap:12px;text-decoration:none}.admin-brand>span{display:grid;width:46px;height:46px;place-items:center;border-radius:50%;background:var(--chilli);color:var(--surface);font-weight:600}.admin-brand>div{display:grid}.admin-brand strong{font-size:18px;font-weight:500}.admin-brand small{font-size:11px;opacity:.68}
.login-shell{display:grid;grid-template-columns:minmax(390px,.92fr) 1.08fr;min-height:100svh}.login-brand{display:flex;flex-direction:column;justify-content:space-between;padding:clamp(32px,5vw,72px);background:var(--forest);color:var(--surface)}.login-brand>div:last-child{max-width:620px;padding:80px 0}.login-brand p{margin:0 0 14px;color:var(--mango);font-weight:500}.login-brand h1{margin:0 0 28px;font-size:clamp(48px,6vw,88px);font-weight:500;line-height:1.04;letter-spacing:-.045em}.login-brand>div:last-child>span{display:block;max-width:52ch;color:oklch(88% .025 115);font-size:17px;line-height:1.7}.login-panel{display:grid;place-items:center;padding:32px;background:var(--surface)}.login-form-wrap{width:min(440px,100%)}.login-kicker{margin:0;color:var(--chilli)!important;font-weight:500}.login-form-wrap h2{margin:8px 0 4px;font-size:40px;font-weight:500;letter-spacing:-.03em}.login-form-wrap>p{margin:0 0 30px;color:var(--muted)}.login-form-wrap form{display:grid;gap:18px}.login-form-wrap label{display:grid;gap:7px;font-weight:400}.login-form-wrap input{width:100%;height:52px;padding:0 15px;border:1px solid var(--line);border-radius:10px;background:var(--surface);font-size:16px;outline:none}.login-form-wrap input:focus{border-color:var(--forest);box-shadow:0 0 0 3px oklch(45% .07 125/.14)}.login-form-wrap button{height:54px;margin-top:5px;border:0;border-radius:10px;background:var(--forest);color:var(--surface);font-weight:500;cursor:pointer}.login-form-wrap button:hover{background:var(--forest-soft)}.form-error{margin-bottom:20px;padding:13px 15px;border:1px solid oklch(67% .12 27);border-radius:9px;background:oklch(95% .035 27);color:oklch(42% .15 27);font-size:14px}.back-link{display:inline-flex;min-height:44px;align-items:center;margin-top:24px;color:var(--muted);font-size:14px}
.admin-shell{display:grid;grid-template-columns:252px minmax(0,1fr);min-height:100svh}.admin-sidebar{position:sticky;top:0;display:flex;height:100svh;flex-direction:column;padding:24px 16px;background:var(--forest);color:var(--surface)}.admin-sidebar>.admin-brand{padding:0 10px 26px}.admin-sidebar nav{display:grid;gap:5px}.admin-sidebar nav button{display:grid;grid-template-columns:26px 1fr;min-height:48px;align-items:center;padding:0 14px;border:0;border-radius:9px;background:transparent;color:oklch(89% .025 115);text-align:left;cursor:pointer}.admin-sidebar nav button span{font-size:18px}.admin-sidebar nav button:hover,.admin-sidebar nav button.is-active{background:oklch(96% .018 85/.12);color:var(--surface)}.admin-sidebar nav button.is-active{box-shadow:inset 0 0 0 1px oklch(96% .018 85/.14)}.sidebar-foot{display:grid;gap:14px;margin-top:auto;padding:18px 10px 0;border-top:1px solid oklch(90% .02 115/.2)}.sidebar-foot>a{font-size:13px}.sidebar-foot p{display:grid;margin:0;font-weight:400}.sidebar-foot p span{color:oklch(77% .025 115);font-size:11px;text-transform:capitalize}.sidebar-foot form{margin:0}.sidebar-foot button{min-height:42px;width:100%;border:1px solid oklch(90% .02 115/.25);border-radius:8px;background:transparent;color:var(--surface);cursor:pointer}
.admin-sidebar nav{min-height:0;flex:1 1 auto;overflow-y:auto;scrollbar-width:thin}.admin-nav-logout{display:none;margin:0}.sidebar-foot{flex:0 0 auto}
.admin-main{min-width:0;padding:32px clamp(20px,4vw,58px) 70px}.admin-topbar{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:30px}.admin-topbar p,.admin-topbar h1{margin:0}.admin-topbar p{color:var(--muted);font-size:13px}.admin-topbar h1{font-size:30px;font-weight:500;letter-spacing:-.025em}.live-state{display:flex;min-height:42px;align-items:center;gap:9px;padding:0 14px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--muted);font-size:12px}.live-state span{width:8px;height:8px;border-radius:50%;background:var(--warn)}.live-state.is-live span{background:var(--good)}.admin-view{display:none}.admin-view.is-active{display:block}.setup-notice{display:flex;align-items:center;gap:20px;margin-bottom:22px;padding:18px 20px;border:1px solid oklch(82% .07 83);border-radius:11px;background:oklch(94% .055 85)}.setup-notice strong{flex:0 0 auto;font-weight:500}.setup-notice p{margin:0;color:var(--muted);font-size:13px}.stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.stat-grid article{display:flex;min-height:145px;flex-direction:column;justify-content:space-between;padding:20px;border:1px solid var(--line);border-radius:13px;background:var(--surface)}.stat-grid article>span{color:var(--muted);font-size:13px}.stat-grid article strong{font-size:30px;font-weight:500;letter-spacing:-.035em}.stat-grid article small{color:var(--muted)}.stat-grid .urgent{background:var(--chilli);color:var(--surface)}.stat-grid .urgent>span,.stat-grid .urgent small{color:oklch(91% .03 28)}
.dashboard-columns{display:grid;grid-template-columns:1.4fr .6fr;gap:16px;margin-top:16px}.panel{border:1px solid var(--line);border-radius:13px;background:var(--surface)}.panel>header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 22px;border-bottom:1px solid var(--line)}.panel h2,.panel header p{margin:0}.panel h2{font-size:18px;font-weight:500}.panel header p{margin-top:3px;color:var(--muted);font-size:12px}.panel header button{min-height:38px;padding:0 13px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--forest);font-size:12px;cursor:pointer}.bar-chart{display:flex;height:245px;align-items:end;gap:clamp(10px,2vw,26px);padding:48px 28px 34px}.bar-chart>div{display:grid;height:100%;flex:1;grid-template-rows:1fr auto;align-items:end;gap:8px;text-align:center}.bar-chart span{display:block;width:100%;height:var(--bar-height);min-height:4px;border-radius:5px 5px 0 0;background:var(--leaf)}.bar-chart small{color:var(--muted);font-size:11px}.chart-empty{margin:-4px 20px 18px;color:var(--muted);font-size:12px;text-align:center}.queue-panel dl{margin:0;padding:10px 22px}.queue-panel dl>div{display:flex;align-items:center;justify-content:space-between;padding:17px 0;border-bottom:1px solid var(--line)}.queue-panel dl>div:last-child{border-bottom:0}.queue-panel dt{color:var(--muted)}.queue-panel dd{margin:0;font-size:21px;font-weight:500}.recent-orders{margin-top:16px}.empty-state{display:grid;min-height:200px;place-items:center;align-content:center;padding:34px;text-align:center}.empty-state>span{margin-bottom:8px;color:var(--line);font-size:38px}.empty-state strong{font-weight:500}.empty-state p{max-width:56ch;margin:5px 0 0;color:var(--muted);font-size:13px}.empty-state.tall{min-height:400px}.view-heading{display:flex;align-items:end;justify-content:space-between;gap:22px;margin-bottom:20px}.view-heading h2,.view-heading p{margin:0}.view-heading h2{font-size:25px;font-weight:500}.view-heading p{margin-top:3px;color:var(--muted);font-size:13px}.view-heading>span{color:var(--muted);font-size:13px}.search-field{display:flex;align-items:center;gap:10px}.search-field span{color:var(--muted);font-size:12px}.search-field input{height:42px;padding:0 13px;border:1px solid var(--line);border-radius:8px;background:var(--surface);font-size:14px;outline:none}.search-field input:focus{border-color:var(--forest)}
.table-panel{overflow:hidden}.data-table{overflow-x:auto}.table-row{display:grid;grid-template-columns:1.5fr 1fr .7fr .65fr;min-width:670px;align-items:center;gap:16px;min-height:58px;padding:10px 20px;border-bottom:1px solid var(--line);font-size:13px}.table-row:last-child{border-bottom:0}.table-head{min-height:46px;background:var(--paper);color:var(--muted);font-size:11px}.table-row strong{font-weight:400}.status-pill{display:inline-flex;width:max-content;min-height:28px;align-items:center;padding:0 10px;border-radius:999px;background:oklch(93% .04 145);color:oklch(42% .1 145);font-size:11px}.staff-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.staff-list article{display:grid;grid-template-columns:48px 1fr auto;align-items:center;gap:14px;padding:20px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.avatar{display:grid;width:48px;height:48px;place-items:center;border-radius:50%;background:var(--forest);color:var(--surface);font-weight:500}.staff-list article>div:nth-child(2){display:grid}.staff-list article strong{font-weight:500}.staff-list article span{color:var(--muted);font-size:12px}.staff-list article p{margin:0}.calendar-placeholder{max-width:600px;margin:0 auto;padding:26px}.calendar-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.calendar-head button{width:38px;height:38px;border:1px solid var(--line);border-radius:8px;background:var(--surface)}.calendar-head strong{font-weight:500}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;text-align:center}.calendar-grid b{padding:9px;color:var(--muted);font-size:11px;font-weight:400}.calendar-grid span{display:grid;aspect-ratio:1;place-items:center;border-radius:8px;font-size:12px}.calendar-grid .today{background:var(--forest);color:var(--surface)}.report-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.report-grid article{min-height:210px;padding:24px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.report-grid span{color:var(--muted);font-size:13px}.report-grid strong{display:block;margin:46px 0 8px;font-size:22px;font-weight:500}.report-grid p{margin:0;color:var(--muted);font-size:12px}
@media(max-width:1050px){.stat-grid{grid-template-columns:repeat(2,1fr)}.dashboard-columns{grid-template-columns:1fr}.report-grid{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.login-shell{grid-template-columns:1fr}.login-brand{min-height:290px;padding:28px 22px}.login-brand>div:last-child{padding:52px 0 8px}.login-brand h1{font-size:45px}.login-brand>div:last-child>span{font-size:14px}.login-panel{padding:42px 20px}.admin-shell{display:block}.admin-sidebar{position:sticky;z-index:20;top:0;height:auto;padding:10px 12px}.admin-sidebar>.admin-brand{display:none}.admin-sidebar nav{display:flex;gap:7px;overflow-x:auto;padding-bottom:3px}.admin-sidebar nav button{grid-template-columns:1fr;min-width:92px;min-height:48px;padding:0 12px;text-align:center;white-space:nowrap}.admin-sidebar nav button span{display:none}.sidebar-foot{display:none}.admin-main{padding:22px 14px 54px}.admin-topbar{align-items:start}.admin-topbar h1{font-size:25px}.live-state{max-width:145px;line-height:1.25}.setup-notice{display:block}.setup-notice p{margin-top:5px}.staff-list{grid-template-columns:1fr}.report-grid{grid-template-columns:1fr}.view-heading{align-items:start}.search-field{display:grid;gap:5px}.search-field input{width:170px}}

/* One authenticated shell for front counter, kitchen, configuration and Android app. */
.app-workspace-view.is-active{display:block}.app-workspace{height:calc(100svh - 162px);min-height:620px;overflow:hidden}.app-workspace iframe{display:block;width:100%;height:100%;border:0;background:var(--paper)}.kitchen-workspace{min-height:650px}.read-only-badge{padding:8px 12px;border-radius:999px;background:var(--surface);color:var(--muted)}
.table-settings-notice{min-height:22px;margin:-8px 0 14px;color:var(--muted);font-size:13px;text-align:right}.table-settings-notice:empty{min-height:0;margin:0}.table-settings-notice.is-success{color:oklch(42% .1 145)}.table-settings-notice.is-error{color:var(--chilli)}.zone-settings{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:hidden}.zone-settings article{display:grid;grid-template-columns:minmax(120px,.6fr) repeat(2,minmax(150px,1fr));align-items:end;gap:14px;padding:20px 22px;border-right:1px solid var(--line)}.zone-settings article:last-child{border-right:0}.zone-settings article>div{display:grid}.zone-settings article>div span,.managed-zone>header span{color:var(--chilli);font-size:10px;font-weight:500;letter-spacing:.06em}.zone-settings article>div strong{font-weight:500}.zone-settings label,.managed-table>label{display:grid;gap:6px;color:var(--muted);font-size:11px}.zone-settings input,.managed-table input[type=text],.managed-table input:not([type]){width:100%;min-height:46px;padding:0 12px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink);font-size:15px}.table-zone-manager{display:grid;gap:18px;margin-top:18px}.managed-zone{overflow:hidden}.managed-zone>header{padding:18px 22px}.managed-zone>header>div{display:grid}.managed-zone>header h3{margin:2px 0 0;font-size:22px;font-weight:500}.managed-zone>header b{color:var(--muted);font-size:12px;font-weight:400}.managed-table-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--line)}.managed-table{display:grid;gap:13px;padding:18px 20px;background:var(--surface);transition:opacity .18s ease-out}.managed-table.is-disabled{opacity:.56;background:var(--paper)}.managed-table>header{display:flex;align-items:center;justify-content:space-between;gap:12px}.managed-table>header>div{display:grid}.managed-table>header span{color:var(--muted);font-size:10px}.managed-table>header strong{font-weight:500}.table-active-switch{display:flex;min-height:44px;align-items:center;gap:8px;color:var(--forest);font-size:12px}.table-active-switch input{width:20px;height:20px;accent-color:var(--forest)}.table-link-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.table-link-actions button,.table-link-actions a{display:grid;min-height:44px;place-items:center;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--forest);font-size:12px;text-decoration:none;cursor:pointer}.table-safety-note{margin-top:18px;margin-bottom:0}
@media(max-width:1080px){.zone-settings{grid-template-columns:1fr}.zone-settings article{border-right:0;border-bottom:1px solid var(--line)}.zone-settings article:last-child{border-bottom:0}}
@media(max-width:760px){.app-workspace-view .view-heading{display:flex;align-items:flex-start}.app-workspace{height:78svh;min-height:560px;margin:0 -14px;border-right:0;border-left:0;border-radius:0}.kitchen-workspace{min-height:600px}.zone-settings article{grid-template-columns:1fr}.managed-table-grid{grid-template-columns:1fr}.table-settings-manager>.view-heading{display:flex}.table-settings-manager>.view-heading .primary-action{flex:0 0 auto}.table-safety-note{border-radius:0}.admin-sidebar nav{overflow-y:hidden}}
@media(max-width:480px){.app-workspace-view .view-heading{display:block}.table-settings-manager>.view-heading{display:block}.table-settings-manager>.view-heading .primary-action{width:100%;margin-top:12px}.table-link-actions{grid-template-columns:1fr}}
@media(max-width:480px){.stat-grid{grid-template-columns:1fr 1fr;gap:9px}.stat-grid article{min-height:126px;padding:15px}.stat-grid article strong{font-size:23px}.stat-grid article small{font-size:10px}.panel>header{padding:16px}.bar-chart{height:210px;padding:38px 17px 28px}.view-heading{display:block}.view-heading>span,.search-field{margin-top:12px}.search-field input{width:100%}.staff-list article{grid-template-columns:44px 1fr}.staff-list article p{grid-column:2}.report-grid article{min-height:170px}.login-form-wrap h2{font-size:34px}}
.admin-brand{min-width:0}.admin-brand>img{display:block;width:48px;height:48px;flex:0 0 auto;border:0;object-fit:contain;object-position:center;box-shadow:none}.admin-brand>div{min-width:0}.admin-brand strong{font-size:15px;line-height:1.25}
[hidden]{display:none!important}.primary-action,.secondary-action,.icon-action,.file-action,.menu-row-actions button{min-height:44px;border-radius:9px;font-weight:500;cursor:pointer}.primary-action{padding:0 17px;border:1px solid var(--forest);background:var(--forest);color:var(--surface)}.primary-action:hover{background:var(--forest-soft)}.primary-action:disabled,.menu-row-actions button:disabled{cursor:wait;opacity:.55}.secondary-action{padding:0 17px;border:1px solid var(--line);background:var(--surface);color:var(--forest)}.menu-manager-heading{align-items:center}.menu-heading-actions{display:flex;align-items:end;gap:12px}.menu-editor{margin-bottom:18px;padding:24px;border:1px solid var(--line);border-radius:13px;background:var(--surface);scroll-margin-top:90px}.menu-editor-intro{display:flex;align-items:start;justify-content:space-between;margin-bottom:20px}.menu-editor-intro p,.menu-editor-intro h3{margin:0}.menu-editor-intro p{color:var(--chilli);font-size:12px;font-weight:500}.menu-editor-intro h3{margin-top:3px;font-size:22px;font-weight:500}.icon-action{width:44px;border:1px solid var(--line);background:var(--surface);color:var(--muted);font-size:25px}.menu-editor form{display:grid;grid-template-columns:220px minmax(0,1fr);gap:26px}.menu-image-field{display:flex;flex-direction:column;align-items:stretch;gap:9px}.menu-image-preview{display:grid;width:100%;aspect-ratio:1;place-items:center;overflow:hidden;border:1px dashed var(--line);border-radius:12px;background:var(--paper);background-position:center;background-size:cover;color:var(--muted);font-size:12px}.menu-image-preview.menu-photo{border-style:solid;background-size:400% 400%}.menu-image-preview.has-image,.menu-thumb.has-image{background-position:center;background-size:cover}.file-action{display:flex;align-items:center;justify-content:center;border:1px solid var(--line);background:var(--surface);color:var(--forest)}.file-action input{position:absolute;width:1px;height:1px;overflow:hidden;opacity:0}.menu-image-field small{color:var(--muted);font-size:11px;line-height:1.5;text-align:center}.menu-fields{display:grid;gap:15px}.menu-fields label{display:grid;gap:6px;font-weight:400}.menu-fields input,.menu-fields select,.menu-fields textarea{width:100%;min-height:48px;padding:10px 13px;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--ink);font-size:16px;outline:none}.menu-fields textarea{resize:vertical}.menu-fields input:focus,.menu-fields select:focus,.menu-fields textarea:focus{border-color:var(--forest);box-shadow:0 0 0 3px oklch(45% .07 125/.14)}.menu-field-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.menu-fields .switch-field{display:flex;min-height:44px;align-items:center;gap:10px}.switch-field input{width:20px;min-height:20px;accent-color:var(--forest)}.menu-form-actions{display:flex;justify-content:flex-end;gap:9px}.menu-form-status{min-height:22px;margin:12px 0 0;font-size:13px;text-align:right}.menu-form-status.is-success{color:oklch(42% .1 145)}.menu-form-status.is-error{color:var(--chilli)}.menu-admin-table .table-row{grid-template-columns:64px minmax(170px,1.4fr) minmax(100px,.8fr) minmax(90px,.65fr) minmax(80px,.65fr) auto;min-width:860px}.menu-thumb{display:grid;width:54px;height:54px;place-items:center;overflow:hidden;border-radius:9px;background:var(--paper);background-position:center;background-size:cover;color:var(--muted);font-size:9px;text-align:center}.menu-thumb.menu-photo{background-size:400% 400%}.menu-name-cell{display:grid;min-width:0}.menu-name-cell strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.menu-name-cell small{overflow:hidden;color:var(--muted);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.menu-price-cell{font-weight:500!important}.status-pill.is-off{background:var(--paper);color:var(--muted)}.menu-row-actions{display:flex;gap:6px}.menu-row-actions button{min-height:38px;padding:0 11px;border:1px solid var(--line);background:var(--surface);color:var(--forest);font-size:12px}.menu-row-actions .danger-action{color:var(--chilli)}.menu-loading,.menu-empty{padding:46px 20px;color:var(--muted);text-align:center}
@media(max-width:760px){.menu-manager-heading{display:block}.menu-heading-actions{display:grid;grid-template-columns:1fr auto;margin-top:16px}.menu-heading-actions .search-field{margin:0}.menu-heading-actions .search-field input{width:100%}.menu-editor{padding:18px 15px;scroll-margin-top:76px}.menu-editor form{grid-template-columns:1fr}.menu-image-field{width:min(240px,100%);margin:0 auto}.menu-field-row{grid-template-columns:1fr}.menu-form-actions{display:grid;grid-template-columns:1fr 1fr}.menu-admin-table{padding:10px;background:var(--paper)}.menu-admin-table .table-head{display:none}.menu-admin-table .table-row{grid-template-columns:68px minmax(0,1fr) auto;min-width:0;margin-bottom:9px;padding:12px;border:1px solid var(--line);border-radius:11px;background:var(--surface)}.menu-admin-table .menu-thumb{grid-row:1/3}.menu-admin-table .menu-name-cell{grid-column:2}.menu-admin-table .menu-category-cell{grid-column:2;color:var(--muted);font-size:11px}.menu-admin-table .menu-price-cell{grid-column:3;grid-row:1}.menu-admin-table .status-pill{grid-column:3;grid-row:2}.menu-admin-table .menu-row-actions{grid-column:1/-1;justify-content:flex-end;padding-top:8px;border-top:1px solid var(--line)}.menu-row-actions button{min-height:44px;min-width:72px}}
@media(max-width:480px){.menu-heading-actions{grid-template-columns:1fr}.menu-heading-actions .primary-action{width:100%}.menu-form-actions{grid-template-columns:1fr}.menu-admin-table .table-row{grid-template-columns:62px minmax(0,1fr)}.menu-admin-table .menu-price-cell,.menu-admin-table .status-pill{grid-column:2;grid-row:auto}.menu-admin-table .menu-row-actions{grid-column:1/-1}}

/* Native buttons keep menu ordering usable on touch screens and keyboards. */
.menu-reorder-hint{margin:0 0 12px;color:var(--muted);font-size:13px;line-height:1.6}
.menu-reorder-controls{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:8px}
.menu-reorder-controls>span{margin-right:4px;color:var(--muted);font-size:12px;white-space:nowrap}
.menu-reorder-controls button{width:44px;min-height:44px;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--forest);font-size:20px;font-weight:500;cursor:pointer}
.menu-reorder-controls button:hover:not(:disabled){background:var(--paper);border-color:var(--forest)}
.menu-reorder-controls button:focus-visible{outline:3px solid var(--forest);outline-offset:2px}
.menu-reorder-controls button:disabled{opacity:.4;cursor:not-allowed}
.menu-admin-table[aria-busy="true"] .menu-reorder-controls button{cursor:wait}

/* Menu prices: selling price includes VAT; split figures are derived for clarity. */
.menu-price-fields{grid-template-columns:repeat(3,minmax(0,1fr))}.menu-price-fields input[readonly]{background:var(--paper);color:var(--forest);font-weight:500}.vat-help{margin-top:-7px;color:var(--muted);font-size:12px;line-height:1.55}.menu-admin-table .table-row{grid-template-columns:64px minmax(170px,1.4fr) minmax(100px,.8fr) repeat(3,minmax(94px,.68fr)) minmax(80px,.65fr) auto;min-width:1110px}.menu-net-price-cell,.menu-vat-cell{color:var(--muted);font-size:13px}
@media(max-width:760px){.menu-price-fields{grid-template-columns:1fr}.menu-admin-table .table-row{grid-template-columns:68px minmax(0,1fr);min-width:0}.menu-admin-table .menu-thumb{grid-column:1;grid-row:1/7}.menu-admin-table .menu-name-cell,.menu-admin-table .menu-category-cell,.menu-admin-table .menu-price-cell,.menu-admin-table .menu-net-price-cell,.menu-admin-table .menu-vat-cell,.menu-admin-table .status-pill{grid-column:2;grid-row:auto}.menu-admin-table .menu-price-cell,.menu-admin-table .menu-net-price-cell,.menu-admin-table .menu-vat-cell{display:flex;align-items:center;justify-content:space-between;gap:12px}.menu-admin-table .menu-price-cell:before{content:'ราคาขาย';color:var(--muted);font-size:11px;font-weight:400}.menu-admin-table .menu-net-price-cell:before{content:'ก่อน VAT';font-size:11px}.menu-admin-table .menu-vat-cell:before{content:'VAT 7%';font-size:11px}.menu-admin-table .status-pill{justify-self:start}}

.menu-note-settings{display:grid;gap:12px;margin:2px 0;padding:16px;border:1px solid var(--line);border-radius:10px}.menu-note-settings legend{padding:0 7px;color:var(--forest);font-weight:500}.menu-note-settings p,.menu-note-settings>small{margin:0;color:var(--muted);font-size:12px;line-height:1.55}.menu-note-settings .menu-field-row{align-items:start}.menu-note-settings textarea{min-height:150px}.menu-name-cell .menu-note-summary{margin-top:4px;color:var(--forest);white-space:normal;line-height:1.35}

.live-state b{font-weight:400}.order-list{display:grid}.order-entry{border-bottom:1px solid var(--line)}.order-entry:last-child{border-bottom:0}.order-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(145px,.45fr) minmax(100px,.3fr) minmax(88px,auto);align-items:center;gap:18px;min-height:76px;padding:14px 22px;list-style:none;cursor:pointer;transition:background-color .18s ease-out}.order-row::-webkit-details-marker{display:none}.order-row:hover{background:oklch(97% .012 107)}.order-row:focus-visible{position:relative;z-index:1;outline:3px solid oklch(62% .11 92);outline-offset:-3px}.order-row-copy{display:grid;min-width:0}.order-row strong{font-weight:500}.order-row small,.order-row time{color:var(--muted);font-size:12px}.order-row time{text-align:center}.order-row>b{font-size:18px;font-weight:500;text-align:right}.order-row-action{min-width:88px;color:var(--forest);font-size:12px;font-weight:500;text-align:right}.order-entry[open]{background:oklch(98% .01 100)}.order-entry[open] .order-row{background:oklch(96% .018 105)}.order-entry[open] .order-row-action:before{content:'ซ่อน';font-size:12px}.order-entry[open] .order-row-action{font-size:0}.order-history{max-height:620px;overflow:auto}.vat-metrics small b,.view-heading>span b{font-weight:500;color:inherit}
.order-detail{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(260px,.55fr);gap:0 28px;padding:22px;border-top:1px solid var(--line);background:var(--surface)}.order-detail-meta{display:grid;grid-column:1/-1;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin:0 0 18px;background:var(--line);border:1px solid var(--line);border-radius:10px;overflow:hidden}.order-detail-meta>div{padding:11px 13px;background:var(--paper)}.order-detail-meta dt,.order-detail-meta dd,.order-detail-totals dt,.order-detail-totals dd{margin:0}.order-detail-meta dt{color:var(--muted);font-size:10px}.order-detail-meta dd{margin-top:3px;font-size:13px;font-weight:500}.order-detail-items{align-self:start;border-top:1px solid var(--line)}.order-detail-item{display:grid;grid-template-columns:minmax(0,1fr) minmax(110px,.35fr) minmax(95px,.3fr);align-items:center;gap:14px;min-height:62px;border-bottom:1px solid var(--line)}.order-detail-item>span:first-child{display:grid;min-width:0}.order-detail-item strong{font-weight:500}.order-detail-item small{color:var(--muted);font-size:10px}.order-detail-item>span:nth-child(2){color:var(--muted);font-size:12px;text-align:right}.order-detail-item>b{font-size:14px;font-weight:500;text-align:right}.order-detail-empty{margin:0;padding:24px;color:var(--muted);text-align:center}.order-detail-note{grid-column:1;margin:15px 0 0;padding:13px 15px;border-radius:9px;background:oklch(96% .035 87)}.order-detail-note span,.order-detail-note strong{display:block}.order-detail-note span{color:var(--muted);font-size:10px}.order-detail-note strong{margin-top:3px;font-weight:500}.order-detail-payment{display:grid;align-self:start;gap:8px;padding:2px 0 16px}.order-detail-payment p{display:flex;justify-content:space-between;gap:12px;margin:0;color:var(--muted);font-size:12px}.order-detail-payment strong{color:var(--ink);font-weight:500}.order-detail-totals{grid-column:2;align-self:end;margin:0;padding-top:13px;border-top:1px solid var(--line)}.order-detail-totals>div{display:flex;justify-content:space-between;gap:16px;padding:5px 0;color:var(--muted);font-size:12px}.order-detail-totals dd{color:var(--ink);font-weight:500}.order-detail-totals .order-detail-grand-total{margin-top:5px;padding-top:12px;border-top:1px solid var(--ink);color:var(--ink);font-size:16px;font-weight:500}.order-detail-grand-total dd{font-size:20px;color:var(--forest)}
@media(max-width:760px){.order-row{grid-template-columns:minmax(0,1fr) auto;gap:6px 12px;min-height:82px;padding:14px 16px}.order-row time{grid-column:1;text-align:left}.order-row>b{grid-column:2;grid-row:1;text-align:right}.order-row-action{grid-column:2;grid-row:2;min-width:0}.order-history{max-height:none}.order-detail{grid-template-columns:1fr;padding:16px}.order-detail-meta{grid-template-columns:repeat(2,minmax(0,1fr))}.order-detail-items,.order-detail-note,.order-detail-payment,.order-detail-totals{grid-column:1}.order-detail-payment{margin-top:18px}.order-detail-totals{margin-top:0}.order-detail-item{grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;padding:10px 0}.order-detail-item>span:nth-child(2){grid-column:1;text-align:left}.order-detail-item>b{grid-column:2;grid-row:1/3}.order-detail-grand-total dd{font-size:18px}}

.order-detail-item .order-item-note{margin-top:3px;color:var(--chilli);font-size:12px;font-weight:500}

/* รายละเอียดออเดอร์ใช้โครงเดียวกับใบเสร็จ เพื่อให้พนักงานตรวจยอดได้โดยไม่ต้องตีความการ์ดหลายชุด */
.order-detail{display:block;padding:24px;background:#efe8d8}.order-receipt{width:min(100%,560px);margin:0 auto;padding:26px 28px 22px;border:1px solid #d5c8ad;background:#fffdf7;color:#211d17;box-shadow:0 10px 30px rgba(50,38,20,.09);font-family:"Mitr",sans-serif}.order-receipt-brand{display:flex;align-items:center;justify-content:center;gap:12px;padding-bottom:16px;border-bottom:1px dashed #9c927d;text-align:left}.order-receipt-brand img{width:58px;height:58px;object-fit:contain}.order-receipt-brand div{display:grid;gap:2px}.order-receipt-brand strong{font-size:17px;font-weight:600}.order-receipt-brand span{color:#6e6658;font-size:11px}.order-receipt-title{display:grid;justify-items:center;gap:4px;padding:16px 0 12px;text-align:center}.order-receipt-title strong{font-size:21px}.order-receipt-title span{font-size:12px;font-weight:500}.order-receipt .order-detail-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 18px;margin:0 0 14px;padding:0 0 14px;border:0;border-bottom:1px dashed #9c927d;border-radius:0;background:transparent;overflow:visible}.order-receipt .order-detail-meta>div{display:flex;justify-content:space-between;gap:10px;padding:0;background:transparent}.order-receipt .order-detail-meta dt{font-size:10px}.order-receipt .order-detail-meta dd{margin:0;font-size:11px;text-align:right}.order-receipt .order-detail-items{border-top:1px solid #211d17}.order-receipt .order-detail-item{grid-template-columns:minmax(0,1fr) auto auto;min-height:0;padding:10px 0;gap:8px 12px}.order-receipt .order-detail-item strong{font-size:12px}.order-receipt .order-detail-item small{font-size:9px}.order-receipt .order-detail-item>span:nth-child(2),.order-receipt .order-detail-item>b{font-size:11px}.order-receipt .order-detail-payment{margin-top:14px;padding:12px 0;border-top:1px dashed #9c927d;border-bottom:1px dashed #9c927d}.order-receipt .order-detail-payment p{font-size:11px}.order-receipt .order-detail-totals{margin:0;padding:12px 0 0;border:0}.order-receipt .order-detail-totals>div{font-size:11px}.order-receipt .order-detail-totals .order-detail-grand-total{margin-top:6px;padding-top:10px;border-top:1px solid #211d17;font-size:16px}.order-receipt .order-detail-grand-total dd{font-size:21px;color:var(--chilli)}.order-receipt-footer{margin-top:18px;padding-top:12px;border-top:1px dashed #9c927d;color:#6e6658;font-size:10px;text-align:center}
@media(max-width:760px){.order-detail{padding:12px}.order-receipt{padding:20px 16px}.order-receipt .order-detail-meta{grid-template-columns:1fr}.order-receipt .order-detail-item{grid-template-columns:minmax(0,1fr) auto}.order-receipt .order-detail-item>span:nth-child(2){grid-column:1;text-align:left}.order-receipt .order-detail-item>b{grid-column:2;grid-row:1/3}.order-receipt-brand img{width:50px;height:50px}}

/* VAT overview uses paid sales only; actual payable VAT still requires input-tax deductions. */
.vat-overview{margin-top:14px;overflow:hidden}.vat-overview>header{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:19px 22px;border-bottom:1px solid var(--line)}.vat-overview>header p,.vat-overview>header h2{margin:0}.vat-overview>header p{color:var(--chilli);font-size:12px;font-weight:500}.vat-overview>header h2{margin-top:3px;font-size:21px;font-weight:500}.vat-estimate-badge{padding:7px 11px;border-radius:999px;background:var(--paper);color:var(--muted);font-size:11px;white-space:nowrap}.vat-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--line)}.vat-metrics article{display:flex;min-height:132px;flex-direction:column;justify-content:center;padding:22px;background:var(--surface)}.vat-metrics article>span{color:var(--muted);font-size:13px}.vat-metrics article strong{margin:7px 0 4px;color:var(--forest);font-size:30px;font-weight:500;letter-spacing:-.03em}.vat-metrics article small{color:var(--muted);font-size:11px}.vat-disclaimer{margin:0;padding:14px 22px;background:oklch(96% .035 87);color:var(--muted);font-size:11px;line-height:1.65}.vat-disclaimer strong{color:var(--ink);font-weight:500}
@media(max-width:480px){.vat-overview>header{align-items:flex-start;padding:17px}.vat-overview>header h2{font-size:18px}.vat-estimate-badge{white-space:normal;text-align:center}.vat-metrics{grid-template-columns:1fr}.vat-metrics article{min-height:112px;padding:18px}.vat-metrics article strong{font-size:26px}.vat-disclaimer{padding:13px 17px}}
.menu-notice{min-height:22px;margin:-10px 0 12px;color:var(--muted);font-size:13px;text-align:right}.menu-notice:empty{min-height:0;margin:0}.menu-notice.is-warning{color:oklch(50% .12 65)}.menu-notice.is-success{color:oklch(42% .1 145)}.menu-notice.is-error{color:var(--chilli)}.menu-row-actions .danger-confirm{border-color:var(--chilli);background:var(--chilli);color:var(--surface)}
.category-manager{margin-top:18px;overflow:hidden}.category-manager>header .primary-action{flex:0 0 auto}.category-form{display:grid;grid-template-columns:minmax(180px,1fr) minmax(230px,1fr) auto;align-items:end;gap:14px;padding:18px 22px;border-bottom:1px solid var(--line)}.category-form>label{display:grid;gap:6px;font-weight:400}.category-form input[type="text"],.category-form input[name="label"]{width:100%;min-height:46px;padding:0 13px;border:1px solid var(--line);border-radius:9px;background:var(--surface);font-size:16px}.category-form .switch-field{display:flex;min-height:46px;align-items:center;gap:9px}.category-form>div{display:flex;gap:8px}.category-list{display:grid}.category-row{display:grid;grid-template-columns:minmax(150px,1fr) auto auto;align-items:center;gap:16px;min-height:68px;padding:10px 22px;border-bottom:1px solid var(--line)}.category-row:last-child{border-bottom:0}.category-row>div:first-child{display:grid}.category-row strong{font-weight:500}.category-row>div:first-child span{color:var(--muted);font-size:11px}.category-actions,.staff-actions{display:flex;gap:6px}.category-actions button,.staff-actions button{min-width:44px;min-height:44px;padding:0 11px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--forest);cursor:pointer}.category-actions button:disabled{opacity:.35;cursor:not-allowed}.category-actions .danger-action,.staff-actions .danger-action{color:var(--chilli)}.category-actions .danger-confirm,.staff-actions .danger-confirm{border-color:var(--chilli);background:var(--chilli);color:var(--surface)}
.staff-heading{align-items:center}.staff-heading>div:last-child{display:flex;align-items:center;gap:14px;color:var(--muted);font-size:13px}.staff-heading b{font-weight:500}.staff-editor{margin-bottom:18px;scroll-margin-top:90px}.staff-editor>header{padding:17px 20px}.staff-editor form{padding:20px}.staff-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.staff-form-grid>label,.own-password form>label{display:grid;gap:6px;font-weight:400}.staff-form-grid input,.own-password input{width:100%;min-height:48px;padding:0 13px;border:1px solid var(--line);border-radius:9px;background:var(--surface);font-size:16px}.staff-form-grid small{color:var(--muted);font-size:11px}.staff-form-grid .switch-field{display:flex;align-items:center;gap:9px}.staff-form-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}.staff-notice{min-height:22px;margin:10px 20px;color:var(--muted);font-size:13px}.staff-notice:empty{min-height:0;margin-top:0;margin-bottom:0}.staff-notice.is-success{color:oklch(42% .1 145)}.staff-notice.is-warning{color:oklch(50% .12 65)}.staff-notice.is-error{color:var(--chilli)}.staff-list article{grid-template-columns:48px minmax(0,1fr) auto}.staff-list .staff-actions{grid-column:1/-1;justify-content:flex-end;padding-top:10px;border-top:1px solid var(--line)}.own-password{margin-top:18px;overflow:hidden}.own-password form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;align-items:end;gap:14px;padding:20px 22px}.own-password form .primary-action{min-height:48px}
@media(max-width:760px){.category-form{grid-template-columns:1fr;padding:16px}.category-row{grid-template-columns:1fr auto}.category-actions{grid-column:1/-1;justify-content:flex-end;padding-top:8px;border-top:1px solid var(--line)}.staff-heading>div:last-child{margin-top:14px;justify-content:space-between}.staff-form-grid{grid-template-columns:1fr}.own-password form{grid-template-columns:1fr}.staff-editor{scroll-margin-top:76px}}
@media(max-width:480px){.category-manager>header{align-items:flex-start}.category-manager>header .primary-action{min-height:44px;padding:0 10px}.category-row{padding:12px 15px}.category-actions button,.staff-actions button{flex:1}.staff-heading>div:last-child{display:grid}.staff-heading .primary-action{width:100%}.staff-list article{grid-template-columns:44px minmax(0,1fr)}.staff-list article>p{grid-column:2}.own-password form{padding:16px}.staff-form-actions{display:grid;grid-template-columns:1fr 1fr}}

/* Authenticated Android app distribution. */
.pos-app-download{display:grid;grid-template-columns:92px minmax(0,1fr) auto;align-items:center;gap:24px;padding:25px}.pos-app-mark{display:grid;width:92px;height:92px;place-items:center}.pos-app-mark img{display:block;width:92px;height:92px;object-fit:contain}.pos-app-copy>p,.pos-app-copy>h3{margin:0}.pos-app-copy>p{color:var(--chilli);font-size:12px;font-weight:500}.pos-app-copy>h3{margin-top:3px;font-size:23px;font-weight:500}.pos-app-copy ul{display:grid;gap:5px;margin:12px 0 0;padding-left:20px;color:var(--muted);font-size:12px}.pos-app-action{display:grid;justify-items:stretch;gap:8px;min-width:180px;text-align:center}.app-download-button{display:grid;min-height:50px;place-items:center;text-decoration:none}.pos-app-action small{color:var(--muted);font-size:10px}.app-download-unavailable{padding:13px;border-radius:9px;background:var(--paper);color:var(--muted)}.pos-app-steps{margin-top:18px;overflow:hidden}.pos-app-steps>header{padding:18px 22px;border-bottom:1px solid var(--line)}.pos-app-steps ol{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:0;padding:0;list-style:none;counter-reset:install}.pos-app-steps li{display:grid;align-content:start;gap:6px;min-height:150px;padding:22px;border-right:1px solid var(--line);counter-increment:install}.pos-app-steps li:last-child{border-right:0}.pos-app-steps li:before{content:counter(install);display:grid;width:30px;height:30px;place-items:center;border-radius:50%;background:var(--forest);color:var(--surface);font-size:13px}.pos-app-steps li strong{font-weight:500}.pos-app-steps li span{color:var(--muted);font-size:11px;line-height:1.6}.apk-integrity{margin-top:14px;padding:13px 16px;border:1px solid var(--line);border-radius:10px;background:var(--surface);font-size:11px}.apk-integrity summary{cursor:pointer;color:var(--forest);font-weight:500}.apk-integrity code{display:block;margin-top:10px;overflow-wrap:anywhere;color:var(--muted)}.pos-app-note{margin-top:14px}.pos-app-note strong{display:inline;margin-right:7px}
@media(max-width:900px){.pos-app-download{grid-template-columns:76px minmax(0,1fr)}.pos-app-mark,.pos-app-mark img{width:76px;height:76px}.pos-app-action{grid-column:1/-1}.pos-app-steps ol{grid-template-columns:1fr 1fr}.pos-app-steps li:nth-child(2){border-right:0}.pos-app-steps li{border-bottom:1px solid var(--line)}.pos-app-steps li:nth-child(n+3){border-bottom:0}}
@media(max-width:520px){.pos-app-download{grid-template-columns:60px minmax(0,1fr);gap:15px;padding:18px}.pos-app-mark,.pos-app-mark img{width:60px;height:60px}.pos-app-copy>h3{font-size:19px}.pos-app-copy ul{grid-column:1/-1}.pos-app-steps ol{grid-template-columns:1fr}.pos-app-steps li{min-height:0;border-right:0;border-bottom:1px solid var(--line)!important}.pos-app-steps li:last-child{border-bottom:0!important}}
.admin-sidebar nav .admin-nav-link{display:grid;grid-template-columns:26px 1fr;min-height:48px;align-items:center;padding:0 14px;border:0;border-radius:9px;background:transparent;color:oklch(89% .025 115);text-align:left;text-decoration:none;cursor:pointer}.admin-sidebar nav .admin-nav-link span{font-size:18px}.admin-sidebar nav .admin-nav-link:hover{background:oklch(96% .018 85/.12);color:var(--surface)}.admin-sidebar nav .kitchen-nav-link{background:oklch(79% .14 83/.18);color:var(--surface);box-shadow:inset 0 0 0 1px oklch(79% .14 83/.36)}
@media(max-width:760px){.admin-sidebar nav .admin-nav-link{grid-template-columns:1fr;min-width:145px;min-height:48px;padding:0 12px;text-align:center;white-space:nowrap}.admin-sidebar nav .admin-nav-link span{display:none}}

/* Shared receipt, VAT and PromptPay settings used by every POS device. */
.sync-source-badge{padding:8px 12px;border-radius:999px;background:oklch(92% .035 145);color:var(--forest);font-size:11px}.receipt-settings{overflow:hidden}.receipt-settings>header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--line)}.receipt-settings>header p,.receipt-settings>header h2{margin:0}.receipt-settings>header p{color:var(--chilli);font-size:12px}.receipt-settings>header h2{margin-top:3px;font-size:22px;font-weight:500}.receipt-settings>header img{width:72px;height:72px;object-fit:contain;filter:grayscale(1) contrast(1.15)}.receipt-settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:24px}.receipt-settings-grid label,.promptpay-fields label{display:grid;gap:7px;color:var(--ink);font-size:13px}.receipt-settings-grid label.wide{grid-column:1/-1}.receipt-settings-grid input,.receipt-settings-grid textarea,.promptpay-fields input{width:100%;min-height:48px;padding:10px 13px;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--ink);font-size:16px;outline:none}.receipt-settings-grid textarea{resize:vertical}.receipt-settings-grid input:focus,.receipt-settings-grid textarea:focus,.promptpay-fields input:focus{border-color:var(--forest);box-shadow:0 0 0 3px oklch(45% .07 125/.14)}.receipt-switches{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--line)}.receipt-switches .switch-field{display:flex;min-height:94px;align-items:flex-start;gap:12px;padding:20px 24px;background:var(--surface)}.receipt-switches .switch-field>span{display:grid;gap:4px}.receipt-switches strong{font-weight:500}.receipt-switches small{color:var(--muted);font-size:11px;line-height:1.5}.promptpay-settings{display:grid;grid-template-columns:minmax(190px,.7fr) minmax(0,1.3fr);gap:24px;padding:24px;background:oklch(97% .02 86)}.promptpay-settings p,.promptpay-settings h3{margin:0}.promptpay-settings>div:first-child>p{color:var(--chilli);font-size:12px;font-weight:500}.promptpay-settings h3{margin:3px 0 6px;font-size:21px;font-weight:500}.promptpay-settings>div:first-child>span{color:var(--muted);font-size:11px;line-height:1.55}.promptpay-fields{display:grid;gap:14px}.payment-safety{grid-column:1/-1;padding:12px 14px;border-left:3px solid var(--mango);background:var(--surface);color:var(--muted);font-size:11px;line-height:1.65}.receipt-settings-actions{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 24px}.receipt-settings-actions p{margin:0;color:var(--muted);font-size:12px}.receipt-settings-status.is-success{color:oklch(42% .1 145)}.receipt-settings-status.is-error{color:var(--chilli)}
@media(max-width:760px){.receipt-settings-grid,.receipt-switches,.promptpay-settings{grid-template-columns:1fr}.receipt-settings-grid{padding:18px}.receipt-switches .switch-field{min-height:0;padding:17px 18px}.promptpay-settings{padding:18px}.payment-safety{grid-column:1}.receipt-settings-actions{align-items:stretch;flex-direction:column;padding:17px 18px}.receipt-settings-actions .primary-action{width:100%}}

/* On-screen price keypad prevents the Android IME from covering the editor. */
.menu-price-fields input[name="price"][readonly]{cursor:default;caret-color:transparent;background:var(--surface);color:var(--ink)}
.menu-price-keypad{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;width:min(430px,100%);padding:10px;border:1px solid var(--line);border-radius:10px;background:var(--paper)}
.menu-price-keypad button{min-height:46px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink);font-size:17px;font-weight:500;cursor:pointer}
.menu-price-keypad button:active{background:oklch(92% .035 145);transform:translateY(1px)}
.menu-price-keypad button[data-price-key="clear"],.menu-price-keypad button[data-price-key="backspace"]{color:var(--chilli)}
.menu-price-keypad .price-key-zero,.menu-price-keypad button:last-child{grid-column:span 2}

/* Tablet shell: every work tab stays in the same horizontal top rail. */
@media(max-width:1366px){
  .admin-shell{display:block;min-height:100svh}
  .admin-sidebar{position:sticky;z-index:30;top:0;display:grid;width:100%;height:64px;grid-template-columns:minmax(0,1fr) auto;align-items:stretch;gap:8px;padding:7px 10px;background:var(--forest)}
  .admin-sidebar>.admin-brand,.sidebar-foot{display:none}
  .admin-sidebar nav{display:flex;min-height:0;gap:6px;overflow-x:auto;overflow-y:hidden;padding:0 0 2px;scrollbar-width:thin}
  .admin-sidebar nav button,.admin-sidebar nav .admin-nav-link{grid-template-columns:1fr;min-width:104px;min-height:48px;padding:0 12px;font-size:12px;text-align:center;white-space:nowrap}
  .admin-sidebar nav button span,.admin-sidebar nav .admin-nav-link span{display:none}
  .admin-nav-logout{display:block;flex:0 0 auto}
  .admin-nav-logout button{display:flex;min-width:118px;min-height:48px;align-items:center;justify-content:center;gap:7px;padding:0 14px;border:1px solid oklch(80% .07 28/.48);border-radius:9px;background:oklch(49% .18 27/.18);color:var(--surface);font:500 12px Mitr,sans-serif;cursor:pointer;white-space:nowrap}
  .admin-nav-logout button span{font-size:17px}
  .admin-nav-logout button:hover,.admin-nav-logout button:focus-visible{background:var(--chilli);outline:2px solid var(--mango);outline-offset:-2px}
  body:not(.workspace-mode) .admin-main{padding:24px 18px 54px}

  body.workspace-mode{height:100dvh;overflow:hidden}
  body.workspace-mode .admin-shell{height:100dvh;min-height:0}
  body.workspace-mode .admin-main{height:calc(100dvh - 64px);padding:0;overflow:hidden}
  body.workspace-mode .admin-topbar,body.workspace-mode .app-workspace-view>.view-heading{display:none}
  body.workspace-mode .app-workspace-view.is-active{height:calc(100dvh - 64px)}
  body.workspace-mode .app-workspace{height:100%;min-height:0;margin:0;border:0;border-radius:0}
}

.attendance-summary{display:grid;grid-template-columns:180px 180px 1fr;align-items:stretch;gap:12px;margin-bottom:16px}.attendance-summary article{display:grid;gap:4px;padding:15px 18px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.attendance-summary article span{color:var(--muted);font-size:12px}.attendance-summary article strong{color:var(--forest);font-size:24px;font-weight:500}.attendance-summary>p{display:flex;align-items:center;justify-content:flex-end;margin:0;color:var(--muted);font-size:12px}.attendance-summary>p.is-success{color:oklch(45% .1 145)}.attendance-summary>p.is-error{color:var(--red)}.attendance-summary>p.is-live::before{width:8px;height:8px;margin-right:7px;border-radius:50%;background:oklch(62% .16 145);box-shadow:0 0 0 0 oklch(62% .16 145/.45);content:"";animation:attendance-live 1.8s ease-out infinite}@keyframes attendance-live{70%,100%{box-shadow:0 0 0 7px oklch(62% .16 145/0)}}.attendance-layout{display:grid;grid-template-columns:minmax(420px,.9fr) minmax(500px,1.1fr);gap:16px}.attendance-calendar-panel{padding:24px}.attendance-calendar-panel .calendar-head{margin:0 0 15px}.attendance-calendar-panel .calendar-head button{cursor:pointer;color:var(--forest);font-size:22px}.calendar-weekdays,.attendance-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.calendar-weekdays b{padding:8px 2px;color:var(--muted);font-size:11px;font-weight:400;text-align:center}.attendance-day-empty{aspect-ratio:1}.attendance-calendar-day{display:grid;aspect-ratio:1;min-width:0;place-content:center;gap:2px;border:1px solid transparent;border-radius:10px;background:transparent;color:var(--ink);cursor:pointer;font:inherit;text-align:center}.attendance-calendar-day strong{font-size:13px;font-weight:400}.attendance-calendar-day small{min-height:14px;color:var(--muted);font-size:9px}.attendance-calendar-day:hover{border-color:var(--line);background:var(--paper)}.attendance-calendar-day.has-records{background:oklch(95% .025 125)}.attendance-calendar-day.has-records small{color:var(--forest)}.attendance-calendar-day.is-today{border-color:var(--gold)}.attendance-calendar-day.is-selected{background:var(--forest);color:#fff}.attendance-calendar-day.is-selected small{color:oklch(90% .04 125)}.attendance-day-panel{overflow:hidden}.attendance-day-panel>header{padding:17px 20px}.attendance-day-list{display:grid;max-height:550px;overflow:auto}.attendance-record{display:grid;grid-template-columns:minmax(140px,1.3fr) repeat(3,minmax(86px,.7fr)) auto;align-items:center;gap:14px;padding:15px 20px;border-bottom:1px solid var(--line)}.attendance-record:last-child{border-bottom:0}.attendance-record>div{display:grid;min-width:0;gap:2px}.attendance-record>div:first-child strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attendance-record span,.attendance-record small{color:var(--muted);font-size:11px}.attendance-record>div:not(:first-child) strong{font-size:13px;font-weight:500}.attendance-record-state{display:inline-flex;min-height:28px;align-items:center;padding:0 9px;border-radius:999px;background:var(--paper);white-space:nowrap}.attendance-record-state.is-open{background:oklch(92% .06 145);color:oklch(42% .11 145)}.attendance-empty{min-height:260px}
.staff-pin-ready{color:oklch(42% .11 145)!important}.staff-pin-missing{color:var(--red)!important}.attendance-kiosk-nav{border-color:oklch(70% .12 80)!important;background:oklch(31% .055 115)!important}.attendance-kiosk-dialog{width:min(940px,calc(100% - 24px));max-height:calc(100dvh - 24px);padding:0;border:0;border-radius:20px;background:var(--paper);color:var(--ink);box-shadow:0 24px 80px #0007}.attendance-kiosk-dialog::backdrop{background:#10210fcc;backdrop-filter:blur(4px)}.attendance-kiosk-shell{position:relative;padding:24px}.attendance-kiosk-shell>header{display:grid;gap:4px;margin-bottom:20px;padding-right:45px}.attendance-kiosk-shell>header p,.attendance-kiosk-shell>header h2,.attendance-kiosk-shell>header span{margin:0}.attendance-kiosk-shell>header p{color:var(--chilli);font-size:12px}.attendance-kiosk-shell>header h2{font:400 28px Chonburi,serif}.attendance-kiosk-shell>header span{color:var(--muted);font-size:13px}.attendance-kiosk-dialog .dialog-close{position:absolute;z-index:2;top:16px;right:16px;width:44px;height:44px;border:1px solid var(--line);border-radius:50%;background:var(--surface);cursor:pointer;font-size:24px}.attendance-kiosk-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);gap:18px}.attendance-kiosk-layout>section{min-width:0}.attendance-kiosk-layout h3{margin:0 0 10px;font-size:14px}.attendance-kiosk-staff{display:grid;max-height:540px;gap:8px;overflow:auto}.attendance-kiosk-person{display:flex;min-height:68px;align-items:center;justify-content:space-between;gap:12px;padding:11px 14px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--ink);cursor:pointer;font:inherit;text-align:left}.attendance-kiosk-person span{display:grid;gap:3px}.attendance-kiosk-person strong{font-size:16px}.attendance-kiosk-person small{color:var(--muted);font-size:11px}.attendance-kiosk-person b{color:var(--forest);font-size:11px;white-space:nowrap}.attendance-kiosk-person.is-selected{border-color:var(--gold);background:#fff8df}.attendance-kiosk-person:disabled{cursor:not-allowed;opacity:.55}.attendance-kiosk-pin{display:grid;align-content:start;gap:11px;padding:16px;border:1px solid var(--line);border-radius:16px;background:var(--surface)}.attendance-kiosk-selected{display:grid;min-height:48px;align-content:center;gap:2px}.attendance-kiosk-selected strong{font-size:18px}.attendance-kiosk-selected span{color:var(--muted);font-size:12px}.attendance-kiosk-pin output{display:flex;min-height:54px;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:10px;background:var(--paper);color:var(--forest);font-size:21px;letter-spacing:7px}.attendance-pin-keypad{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.attendance-pin-keypad button{min-height:56px;border:1px solid var(--line);border-radius:10px;background:var(--paper);color:var(--ink);cursor:pointer;font:600 19px Mitr,sans-serif}.attendance-pin-keypad button:active{background:#fff2c4;transform:translateY(1px)}.attendance-kiosk-submit{min-height:52px;border:0;border-radius:10px;background:var(--forest);color:#fff;cursor:pointer;font:600 15px Mitr,sans-serif}.attendance-kiosk-submit.is-clock-out{background:var(--chilli)}.attendance-kiosk-submit:disabled{cursor:not-allowed;opacity:.5}.attendance-kiosk-pin .staff-notice{min-height:20px;margin:0}
@media(prefers-reduced-motion:reduce){.attendance-summary>p.is-live::before{animation:none}}

/* Table QR and distance protection */
.order-location-settings{margin:16px 0 20px;overflow:hidden}.order-location-settings>header{align-items:flex-start}.order-location-settings>header p,.order-location-settings>header h3,.order-location-settings>header span{margin:0}.order-location-settings>header p{color:var(--chilli);font-size:12px;font-weight:600}.order-location-settings>header h3{margin:3px 0;font-size:20px;font-weight:500}.order-location-settings>header span{display:block;color:var(--muted);font-size:12px;line-height:1.55}.location-enabled-switch{display:flex;min-height:44px;align-items:center;gap:9px;white-space:nowrap}.location-enabled-switch input{width:20px;height:20px;accent-color:var(--forest)}.order-location-grid{display:grid;grid-template-columns:minmax(280px,1.45fr) minmax(170px,.65fr) minmax(190px,.75fr) auto;align-items:end;gap:14px;padding:20px 22px}.order-location-grid label{display:grid;gap:6px;font-size:13px}.order-location-grid label span{color:var(--muted);font-size:11px}.order-location-grid input[type=number]{width:100%;min-height:46px;padding:8px 11px;border:1px solid var(--line);border-radius:9px;background:var(--surface);font:inherit}.location-capture{display:grid;align-content:end;gap:7px}.location-capture button,.secondary-action{min-height:46px;padding:0 14px;border:1px solid var(--forest);border-radius:9px;background:var(--surface);color:var(--forest);font:inherit;font-weight:500;cursor:pointer}.location-capture p{margin:0;color:var(--muted);font-size:11px}.location-settings-status{min-height:22px;margin:0;padding:0 22px 14px;color:var(--muted);font-size:12px}.location-settings-status.is-success{color:oklch(42% .1 145)}.location-settings-status.is-error{color:var(--chilli)}.location-safety-note{margin:0;padding:14px 22px;border-top:1px solid var(--line);background:var(--paper);color:var(--muted);font-size:11px;line-height:1.6}.location-safety-note strong{color:var(--ink)}
.table-qr-dialog{width:min(520px,calc(100% - 24px));max-height:calc(100dvh - 24px);padding:0;border:0;border-radius:18px;background:var(--surface);color:var(--ink);box-shadow:0 24px 80px #0007}.table-qr-dialog::backdrop{background:#10210fbb;backdrop-filter:blur(3px)}.table-qr-card{position:relative;display:grid;justify-items:center;padding:28px;text-align:center}.table-qr-card>.dialog-close{position:absolute;top:12px;right:12px;width:44px;height:44px;border:1px solid var(--line);border-radius:50%;background:var(--surface);font-size:24px;cursor:pointer}.table-qr-card>img{width:70px;height:70px;object-fit:contain}.table-qr-card>p{margin:8px 0 1px;color:var(--chilli);font-size:13px;font-weight:600}.table-qr-card>h3{margin:0 0 10px;font-size:28px;font-weight:500}.table-qr-image{display:grid;min-width:300px;min-height:300px;place-items:center;color:var(--muted)}.table-qr-image svg{width:300px;height:300px;max-width:100%}.table-qr-card>span{margin-top:8px;color:var(--muted);font-size:12px}.table-qr-card>div:last-child{display:flex;gap:9px;margin-top:18px}.table-qr-card>div:last-child button{min-height:46px}.table-link-actions{flex-wrap:wrap}
@media(max-width:1100px){.order-location-grid{grid-template-columns:1fr 1fr}.order-location-grid .location-capture{grid-column:1/-1}}
@media(max-width:620px){.order-location-settings>header{align-items:stretch;flex-direction:column}.order-location-grid{grid-template-columns:1fr;padding:16px}.order-location-grid .location-capture{grid-column:1}.order-location-grid>.primary-action{width:100%}.location-settings-status,.location-safety-note{padding-left:16px;padding-right:16px}.table-qr-card{padding:24px 18px}.table-qr-image{min-width:0;width:100%;min-height:260px}.table-qr-image svg{width:260px;height:260px}.table-qr-card>div:last-child{width:100%;flex-direction:column}.table-qr-card>div:last-child button{width:100%}}

/* Daily operations: focused overview, auditable cash drawer and work schedule */
.admin-view[data-view="overview"]>.stat-grid,.admin-view[data-view="overview"]>.vat-overview,.admin-view[data-view="overview"] .sales-panel{display:none}.admin-view[data-view="overview"] .dashboard-columns{grid-template-columns:1fr;margin-top:18px}.overview-drawer-card{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px 28px;background:linear-gradient(135deg,#24380f,#3a541a);color:#fff}.overview-drawer-card p{margin:0 0 4px;color:#d8e4bd}.overview-drawer-card strong{display:block;font-size:clamp(2rem,4vw,3.4rem);line-height:1}.overview-drawer-card span{display:block;margin-top:9px;color:#d8e4bd}.overview-drawer-card button{border:0;border-radius:12px;padding:13px 18px;background:#f1b631;color:#1e2c0e;font:inherit;font-weight:600;cursor:pointer}
.drawer-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}.drawer-metrics article{min-height:150px;padding:20px;border:1px solid var(--line);border-radius:18px;background:var(--surface)}.drawer-metrics span,.drawer-metrics small{display:block;color:var(--muted)}.drawer-metrics strong{display:block;margin:12px 0 8px;font-size:clamp(1.45rem,2.5vw,2.35rem);line-height:1.05;color:var(--forest)}.drawer-metrics .drawer-balance{background:var(--forest);color:#fff}.drawer-metrics .drawer-balance span,.drawer-metrics .drawer-balance small{color:#d7e2bd}.drawer-metrics .drawer-balance strong{color:#fff}.drawer-metrics .drawer-deposit{background:#fff5dc;border-color:#edbd4e}.drawer-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(260px,.6fr);gap:18px}.drawer-action-panel,.drawer-float-panel,.drawer-deposit-panel,.drawer-history-panel,.drawer-rules,.telegram-settings{padding:22px;margin-top:18px}.drawer-layout>.panel{margin-top:0}.drawer-action-panel header,.drawer-float-panel header,.drawer-deposit-panel header,.drawer-history-panel header,.drawer-rules header,.telegram-settings header{display:flex;justify-content:space-between;gap:16px;margin-bottom:18px}.drawer-action-panel header p,.drawer-float-panel header p,.drawer-deposit-panel header p,.drawer-history-panel header p,.drawer-rules header p,.telegram-settings header p{margin:0;color:var(--chilli);font-weight:600}.drawer-action-panel h2,.drawer-float-panel h2,.drawer-deposit-panel h2,.drawer-history-panel h2,.drawer-rules h2,.telegram-settings h2{margin:2px 0}.drawer-action-panel form{display:grid;gap:14px}.drawer-action-panel label,.drawer-deposit-panel label,.telegram-settings label{display:grid;gap:6px}.drawer-action-panel input,.drawer-deposit-panel input,.telegram-settings input,.telegram-settings select{min-height:48px;border:1px solid var(--line);border-radius:12px;padding:10px 12px;font:inherit;background:#fff}.drawer-reasons{border:0;padding:0;margin:0}.drawer-reasons legend{margin-bottom:8px;font-weight:600}.drawer-reasons>div{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.drawer-reasons button,.drawer-keypad button{border:1px solid #c9c1af;border-radius:10px;background:var(--paper);padding:10px 12px;font:inherit;cursor:pointer}.drawer-keypad{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.drawer-open-button{width:100%;min-height:54px;font-size:1.08rem}.drawer-float-panel dl{display:grid;gap:8px}.drawer-float-panel dl div{display:flex;justify-content:space-between;padding:9px 0;border-bottom:1px dashed #ded6c5}.drawer-float-panel dt,.drawer-float-panel dd{margin:0}.drawer-deposit-panel form{display:grid;grid-template-columns:1fr auto 1.3fr auto;gap:10px;align-items:end}.drawer-form-status{min-height:24px;margin:10px 0 0}.drawer-form-status.is-error{color:var(--red)}.drawer-form-status.is-success{color:#28733b}.drawer-history-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:16px;align-items:center;padding:14px 0;border-bottom:1px solid var(--line)}.drawer-history-row div{display:grid;gap:3px}.drawer-history-row span,.drawer-history-row small{color:var(--muted)}.drawer-history-row em{font-style:normal;font-size:.8rem;color:#6d765f}.drawer-rules ol{margin:0;padding-left:24px;display:grid;gap:10px}.telegram-settings form{display:grid;grid-template-columns:1.3fr 1fr .7fr auto;gap:12px;align-items:end}.telegram-settings header b{border-radius:999px;background:#eee7d7;padding:8px 12px;font-size:.8rem}.telegram-settings header b.is-ready{background:#dcebd3;color:#285b2b}.telegram-actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:10px}
.schedule-manager{padding:22px;margin-top:20px}.schedule-manager>header{display:flex;justify-content:space-between;gap:20px;align-items:end;margin-bottom:18px}.schedule-manager>header p{margin:0;color:var(--chilli)}.schedule-manager>header h2{margin:2px 0}.schedule-manager>header span{color:var(--muted)}.schedule-manager>header label{display:grid;gap:5px}.schedule-manager input,.schedule-manager select{min-height:44px;border:1px solid var(--line);border-radius:10px;padding:8px 10px;font:inherit;background:#fff}.schedule-editor{display:grid;grid-template-columns:1.2fr 1fr .7fr .7fr 1.3fr auto auto auto;gap:10px;align-items:end;padding:16px;border-radius:14px;background:var(--paper)}.schedule-editor label{display:grid;gap:5px}.schedule-list{display:grid;gap:8px;margin-top:18px}.schedule-row{display:grid;grid-template-columns:120px 1fr auto;gap:16px;align-items:center;padding:14px;border:1px solid var(--line);border-radius:12px}.schedule-row.is-opener{border-color:#dca72d;background:#fff8e7}.schedule-row time{font-weight:600}.schedule-row>div:nth-child(2){display:grid;gap:3px}.schedule-row span{color:var(--muted)}.schedule-row b{justify-self:start;border-radius:999px;padding:4px 8px;background:#e8c669;font-size:.75rem}.schedule-row>div:last-child{display:flex;gap:8px}.schedule-row button,.leave-row button{border:1px solid #c9c1af;border-radius:9px;background:#fff;padding:7px 10px;font:inherit}.leave-manager{margin-top:22px;padding-top:20px;border-top:1px solid var(--line)}.leave-manager>form{display:grid;grid-template-columns:1fr 1fr 2fr auto;gap:10px;align-items:end}.leave-manager label{display:grid;gap:5px}.leave-row{display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}.leave-row>div:first-child{display:grid}.leave-row span{color:var(--muted)}.leave-row>b{border-radius:999px;background:#eee7d7;padding:5px 9px;font-size:.8rem}.leave-row.is-approved>b{background:#dcebd3;color:#285b2b}.leave-row.is-rejected>b{background:#f4d9d7;color:#8a2727}.best-seller-report{padding:20px}.best-seller-list{display:grid;gap:8px}.best-seller-list article{display:grid;grid-template-columns:44px 1fr auto;align-items:center;gap:14px;padding:14px;border:1px solid var(--line);border-radius:12px}.best-seller-list article>b{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--forest);color:#fff}.best-seller-list article div{display:grid}.best-seller-list article span{color:var(--muted)}.best-seller-list article em{font-style:normal;font-weight:600;color:var(--chilli)}.pos-version-card{display:grid;grid-template-columns:72px 1fr auto;align-items:center;gap:20px;padding:24px}.pos-version-card img{width:72px;height:72px;object-fit:contain}.pos-version-card p{margin:0;color:var(--chilli)}.pos-version-card h3{margin:4px 0}.pos-version-card span{color:var(--muted)}.staff-role{font-weight:600;color:var(--forest)!important}
