
:root{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Tahoma,Arial,sans-serif;font-synthesis:none;--bg:#f2f3ef;--paper:#fff;--paper2:#f7f8f5;--ink:#172e29;--muted:#61716b;--line:#dce3dc;--gold:#977238;--green:#245e49;--soft:#e8f0e9;--accent:#bc9455;--accent-ink:#19231e;--danger:#b8423b;--shadow:0 8px 26px #17332808;color:var(--ink);background:var(--bg);color-scheme:light}
:root[data-theme=dark]{--bg:#101a18;--paper:#192723;--paper2:#20312b;--ink:#f0f3eb;--muted:#a4b7ad;--line:#34473e;--gold:#d7b87e;--green:#8fc4a4;--soft:#2c4337;--accent:#d0ad70;--accent-ink:#15221b;--danger:#f39c95;--shadow:0 8px 26px #0002;color-scheme:dark}
*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{position:relative;min-height:44px;padding:10px 16px;border:1px solid var(--line);border-radius:11px;background:var(--paper);color:var(--ink);font-size:13px;font-weight:600;cursor:pointer;touch-action:manipulation;transition:background-color .12s,border-color .12s,transform .08s;user-select:none;-webkit-tap-highlight-color:transparent}
@media(hover:hover){button:hover:not(:disabled){background:var(--soft);border-color:var(--gold)}}
button:active:not(:disabled){transform:scale(.975);background:var(--soft);box-shadow:inset 0 2px 4px #0002}
button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,[role=button]:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
button:disabled{opacity:.42;cursor:not-allowed;transform:none}input,select,textarea{min-height:46px;max-width:100%;width:100%;padding:11px 13px;border:1px solid var(--line);border-radius:10px;background:var(--paper2);color:var(--ink);outline-offset:2px}textarea{min-height:90px;resize:vertical}input[type=checkbox]{width:21px;min-height:21px;height:21px;accent-color:var(--green)}input[type=number]{font-variant-numeric:tabular-nums}
[hidden]{display:none!important}h1,h2,h3,p{overflow-wrap:break-word}h1{font-size:25px;letter-spacing:-.5px}h2{font-size:18px;margin:0}h3{font-size:16px}a{color:var(--green)}.brand{color:var(--gold);font-size:11px;letter-spacing:3px;font-weight:700;margin-bottom:5px}header{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:68px;padding:12px 24px;background:var(--paper);border-bottom:1px solid var(--line)}header strong{font-size:18px;letter-spacing:-.3px}.header-actions{display:flex;align-items:center;justify-content:flex-end;gap:9px;min-width:0}.header-actions button{min-height:40px;padding:9px 13px}#account-name{font-size:12px;max-width:230px;color:var(--muted)}#shift-label{font-size:11px;color:var(--muted);max-width:145px}#shift-select{width:auto;min-height:40px;font-size:12px}.preview{font-size:10px;color:var(--gold);padding:5px 8px;border:1px solid var(--line);border-radius:6px;white-space:nowrap}#theme{font-size:19px;width:42px;padding:7px}#logout{color:var(--muted)}
#shell>nav{display:flex;align-items:center;gap:6px;min-height:54px;padding:7px 24px;background:var(--paper);border-bottom:1px solid var(--line);overflow-x:auto;scrollbar-width:thin;white-space:nowrap}nav button{flex:none;min-height:38px;background:transparent;border-color:transparent;padding:8px 13px;font-size:12px}nav .wf-nav{display:contents}nav #sync{margin-inline-start:auto;font-size:11px;color:var(--muted);padding:8px 4px}nav #sync::before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--green);margin-inline-end:6px}.active,button[aria-pressed=true]{background:var(--soft);border-color:var(--green);color:var(--ink)}
main{width:100%;max-width:1680px;padding:24px;margin:auto}.table-toolbar{display:flex;align-items:center;gap:16px;padding:8px 0 24px;flex-wrap:wrap}.table-toolbar h1{margin:0;font-size:24px}.table-toolbar-title{flex:none}.stats{color:var(--muted);font-size:12px}.wf-open-count{background:var(--paper);border:1px solid var(--line);border-radius:20px;padding:8px 12px;white-space:nowrap}.table-lookup{margin-inline-start:auto;display:flex;gap:10px;align-items:center}.table-lookup label{font-size:12px;color:var(--muted)}.table-search-row{display:flex;gap:8px}.table-search-row input{width:125px;min-width:0}.table-search-row button{background:var(--accent);color:var(--accent-ink);border-color:var(--accent);white-space:nowrap}.table-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:14px}.table{min-height:170px;text-align:start;display:flex;flex-direction:column;align-items:flex-start;padding:20px;background:var(--paper);box-shadow:var(--shadow)}.table strong{font-size:34px;letter-spacing:-1px;margin:14px 0}.table .state{font-size:12px;color:var(--muted)}.table.occupied{border-top:3px solid var(--accent)}.table .amount{margin-top:auto;font-size:16px}
body[data-view=cashier] #shell:not([hidden]){height:100dvh;display:flex;flex-direction:column;overflow:hidden}body[data-view=cashier] #shell>header,body[data-view=cashier] #shell>nav{flex:none}body[data-view=cashier] main{display:flex;flex:1;min-height:0;max-width:none;padding:16px;overflow:hidden}
#cashier-view{flex:1;min-height:0;min-width:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:44px minmax(0,1fr);gap:12px 18px;direction:ltr}.cashier-layout{display:contents}#cashier-view>.heading{grid-column:2;grid-row:1;display:flex;justify-content:space-between;align-items:center;gap:12px;min-width:0}.heading>div{display:flex;align-items:center;gap:12px}.heading h1{margin:0;font-size:22px}.heading button{min-height:40px;font-size:12px}#order-status{font-size:11px;color:var(--muted)}
.catalog{grid-column:2;grid-row:2;min-width:0;min-height:0;display:grid;grid-template-columns:145px minmax(0,1fr);grid-template-rows:46px minmax(0,1fr);gap:14px;overflow:hidden}.catalog>label{position:absolute;clip-path:inset(50%);width:1px;height:1px;overflow:hidden}.catalog>input{grid-column:1/-1;grid-row:1;padding-inline:16px;background:var(--paper);font-size:14px}.catalog>.filters{grid-column:1;grid-row:2;display:flex;flex-direction:column;gap:6px;overflow-y:auto;overflow-x:hidden;min-height:0;margin:0;padding:2px 4px 10px 2px;scrollbar-width:thin}.filters button{text-align:start;min-height:44px;padding:11px 12px;font-size:12px;border-color:transparent;background:transparent;flex:none;border-radius:9px;line-height:1.35}.filters button.active{background:var(--soft);border-color:var(--green);box-shadow:inset 3px 0 var(--accent)}.products{grid-column:2;grid-row:2;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:max-content;align-content:start;gap:10px;min-height:0;overflow:auto;padding:2px 4px 12px 2px;overscroll-behavior:contain;touch-action:pan-y;scrollbar-width:thin}.product{min-height:116px;display:flex;flex-direction:column;justify-content:space-between;align-items:stretch;text-align:start;padding:15px;gap:16px;background:var(--paper);border-radius:12px;box-shadow:var(--shadow)}.product strong{font-size:14px;line-height:1.4;overflow-wrap:anywhere;font-weight:600}.product .price{align-self:flex-end;font-size:14px;font-weight:650;color:var(--gold);margin-top:auto}.product small{display:none}.category-card span{font-size:12px;color:var(--muted)}
.check{grid-column:1;grid-row:1/3;background:var(--paper);border:1px solid var(--line);border-radius:15px;display:flex;flex-direction:column;min-height:0;height:100%;overflow:hidden;box-shadow:var(--shadow)}.check-heading{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:16px;border-bottom:1px solid var(--line);flex:none}.check-heading h2{font-size:16px;margin:0}#line-count{font-size:11px;color:var(--muted);white-space:nowrap}#review-check{min-height:32px;padding:6px 8px;font-size:11px}.lines-head,.line{display:grid;grid-template-columns:minmax(0,1fr) 116px 84px;gap:8px;align-items:center}.lines-head{padding:10px 16px;background:var(--paper2);color:var(--muted);font-size:10px;letter-spacing:.3px}.lines-head span:nth-child(2),.line-qty{text-align:center}.lines-head span:last-child,.line-amount{text-align:end}.lines{flex:1;min-height:0;overflow:auto;padding:0 12px;overscroll-behavior:contain;touch-action:pan-y}.line{padding:14px 4px;min-height:56px;font-size:12px;border-bottom:1px solid var(--line);cursor:pointer}.line.selected{background:var(--soft);box-shadow:inset 3px 0 var(--accent);border-radius:5px}.line-name{font-weight:600;line-height:1.5;overflow-wrap:anywhere}.line-qty{font-weight:700;display:flex;align-items:center;justify-content:center;gap:2px;direction:ltr}.line-qty button{width:40px;min-width:40px;min-height:44px;padding:0;font-size:22px;font-weight:600;border-radius:9px;touch-action:manipulation}.qty-value{min-width:28px;text-align:center;font-variant-numeric:tabular-nums}.line-qty button:disabled{opacity:.35}.line-amount{white-space:nowrap;font-size:12px}.line-remark{grid-column:1/-1;font-size:10px;color:var(--muted);margin:0;line-height:1.4}
.money{display:inline-flex;align-items:center;gap:4px;white-space:nowrap;direction:ltr;font-variant-numeric:tabular-nums}.dirham{display:inline-block;width:1.15em;height:1em;min-width:13px;min-height:12px;background:currentColor;mask:url('/dirham.svg') center/contain no-repeat;-webkit-mask:url('/dirham.svg') center/contain no-repeat}
.order-actions{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;padding:10px 10px 6px;flex:none}.order-actions button{min-height:42px;padding:7px 3px;font-size:10px;border-radius:8px}#remove-line{color:var(--danger)}#wf-actions{display:grid;grid-template-columns:repeat(2,1fr);gap:6px;padding:5px 10px 10px;flex:none}#wf-actions button{min-height:40px;font-size:11px;padding:7px}#wf-actions [data-wf=fire-all]{background:var(--accent);color:var(--accent-ink);border-color:var(--accent);font-weight:750}.checkout{padding:14px 16px;background:var(--paper2);border-top:1px solid var(--line);flex:none}.total{display:flex;justify-content:space-between;align-items:center;font-size:15px;font-weight:600}.total strong{font-size:24px;color:var(--ink);letter-spacing:-.6px}.checkout p{font-size:10px;line-height:1.4;color:var(--muted);margin:9px 0}.primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent);min-height:48px;font-weight:750;width:100%}.primary:hover:not(:disabled){background:var(--accent);filter:brightness(1.06)}.empty{color:var(--muted);text-align:center;padding:40px 16px;font-size:14px;line-height:1.7;grid-column:1/-1}
body[data-role=captain] #cashier-view{grid-template-columns:repeat(2,minmax(0,1fr))}body[data-role=captain] #cashier-view>.heading{grid-column:1/-1}body[data-role=captain] .check{grid-column:2;grid-row:2}body[data-role=captain] .catalog{grid-column:1;grid-row:2;grid-template-columns:128px minmax(0,1fr)}body[data-role=captain] .product{min-height:122px}body[data-role=captain] .product strong{font-size:15px}body[data-role=captain] .filters button{min-height:48px}body[data-role=captain] #wf-actions [data-wf=fire-all]{min-height:50px;grid-column:1/-1;grid-row:1}body[data-role=captain] #wf-actions{grid-template-columns:repeat(3,1fr)}body[data-role=captain] .line{min-height:60px}body[data-role=captain] .checkout{padding-block:12px}
html[dir=rtl] .check,html[dir=rtl] .catalog,html[dir=rtl] #cashier-view>.heading{direction:rtl}html[dir=rtl] .filters button.active,html[dir=rtl] .line.selected{box-shadow:inset -3px 0 var(--accent)}
dialog{width:min(94vw,460px);max-height:92dvh;overflow:auto;border:1px solid var(--line);border-radius:18px;background:var(--paper);color:var(--ink);padding:24px;box-shadow:0 24px 90px #0005}dialog::backdrop{background:#07130f99}dialog h2{margin-bottom:16px}dialog input,dialog select{margin:7px 0}dialog label{font-size:13px;color:var(--muted)}.dialog-actions{display:flex;gap:10px;padding-top:16px;position:sticky;bottom:-24px;background:var(--paper);padding-bottom:8px;z-index:3}.dialog-actions button{flex:1}dialog .check-heading{padding:0 0 16px}.keypad{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;direction:ltr;margin:16px 0}.keypad button{font-size:23px;min-height:56px;background:var(--paper2)}.pin-input{font-size:28px;letter-spacing:12px;text-align:center;direction:ltr}.login{display:grid;place-items:center;min-height:100dvh;padding:24px;background:var(--bg)}.login form{width:100%;max-width:390px;padding:32px;background:var(--paper);border:1px solid var(--line);border-radius:22px;text-align:center;box-shadow:var(--shadow)}.login .brand{font-size:15px;letter-spacing:4px;margin:8px 0 24px}.login h1{font-size:23px}.login p{font-size:13px;color:var(--muted)}#login-error,#rm-error,#wf-form-error{color:var(--danger)}#users-dialog{width:min(94vw,720px)}.user-row{display:flex;align-items:center;flex-wrap:wrap;gap:8px;border-bottom:1px solid var(--line);padding:13px 0;font-size:13px}.user-row span{flex:1;min-width:150px}.user-row button{font-size:12px}#user-list{margin-bottom:24px}#toast{position:fixed;bottom:24px;inset-inline-start:50%;transform:translateX(-50%);max-width:90vw;z-index:9999;padding:14px 20px;border-radius:12px;background:var(--ink);color:var(--paper);box-shadow:var(--shadow);font-size:13px}html[dir=rtl] #toast{transform:translateX(50%)}
.ux-tools{display:flex;gap:6px;margin-inline-start:auto}.ux-tools button{min-height:36px;padding:7px 10px}.ux-tapped{animation:uxTap .16s ease-out}@keyframes uxTap{0%{background:var(--soft);border-color:var(--gold);transform:scale(.97)}100%{transform:scale(1)}}.ux-loading{padding:28px;line-height:1.6;color:var(--muted)}
@media(max-width:1100px){header{padding:10px 16px;gap:10px}#account-name{max-width:170px;font-size:11px}.preview{display:none}.header-actions{gap:6px}#shell>nav{padding-inline:16px}#cashier-view{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px}.catalog{grid-template-columns:124px minmax(0,1fr);gap:10px}.products{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.product{padding:12px}.product strong{font-size:13px}body[data-role=captain] #cashier-view{grid-template-columns:repeat(2,minmax(0,1fr))}body[data-role=captain] .catalog{grid-template-columns:112px minmax(0,1fr)}}
@media(min-width:720px) and (max-width:1100px){#cashier-view{grid-template-columns:repeat(2,minmax(0,1fr))}.catalog,body[data-role=captain] .catalog{grid-template-columns:minmax(0,1fr);grid-template-rows:46px 58px minmax(0,1fr)}.catalog>.filters{grid-column:1;grid-row:2;flex-direction:row;overflow:auto;gap:6px;white-space:nowrap;padding:2px}.catalog>.filters button{max-width:165px;white-space:normal}.products{grid-column:1;grid-row:3;grid-template-columns:repeat(3,minmax(0,1fr))}.header-actions{flex-wrap:wrap}#account-name{width:100%;max-width:none;text-align:end}header strong{font-size:16px}#shift-label{font-size:10px}body[data-role=captain] #cashier-view{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:719px){header{padding:12px 16px;align-items:flex-start;gap:8px}header>div:first-child{padding-top:5px}header strong{font-size:15px;display:block;max-width:110px}.brand{font-size:10px;letter-spacing:2px}.header-actions{flex-wrap:wrap;max-width:66%;gap:6px}#account-name{width:100%;text-align:end;max-width:none;font-size:11px}#shift-label{font-size:10px}.header-actions button{min-height:40px;padding:8px 10px;font-size:12px}#theme{width:38px}#shell>nav{padding:6px 12px;min-height:48px}nav #sync{font-size:10px}main{padding:16px}.table-toolbar{gap:12px;padding-bottom:18px}.table-toolbar h1{font-size:22px}.table-lookup{order:3;flex:1 0 100%;margin:0;display:block}.table-lookup label{display:block;margin-bottom:7px}.table-search-row input{flex:1}#refresh{margin-inline-start:auto}.table-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.table{min-height:155px;padding:16px}
body[data-view=cashier] main{padding:10px}#cashier-view,body[data-role=captain] #cashier-view{display:flex;flex-direction:column;gap:8px}#cashier-view>.heading{min-height:40px;flex:none}.heading h1{font-size:19px}.heading button{padding:7px 10px}.heading>div{gap:7px}.cashier-layout{display:flex;flex:1;min-height:0;flex-direction:column;gap:10px}.catalog,body[data-role=captain] .catalog{flex:1;min-height:130px;display:grid;grid-template-columns:1fr;grid-template-rows:42px 48px minmax(0,1fr);gap:5px}.catalog>.filters{grid-column:1;grid-row:2;flex-direction:row;overflow:auto;white-space:nowrap}.catalog>.filters button{min-height:40px}.products{grid-column:1;grid-row:3;grid-template-columns:repeat(3,minmax(0,1fr))}.product,body[data-role=captain] .product{min-height:98px}.check{flex:0 0 44%;min-height:220px}.check-heading{padding:9px 12px}.order-actions{padding:5px 8px}.order-actions button{min-height:36px}#wf-actions{display:flex;padding:4px 8px;gap:4px}#wf-actions button{flex:1;font-size:10px;min-height:36px}body[data-role=captain] #wf-actions{display:flex}body[data-role=captain] #wf-actions [data-wf=fire-all]{min-height:40px}.checkout{padding:8px 12px}.checkout p{margin:5px 0;font-size:9px}.total strong{font-size:20px}.checkout .primary{min-height:40px}.lines-head{padding:6px 12px}.line{padding-block:8px}.login form{padding:26px}.dialog-actions{bottom:-18px}dialog{padding:18px}.keypad button{min-height:54px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* UX3: category-first selection and HMS brand header in day mode. */
.catalog,body[data-role=captain] .catalog{grid-template-columns:minmax(0,1fr);grid-template-rows:46px 48px minmax(0,1fr)}
.catalog>.filters{grid-column:1;grid-row:2;flex-direction:row;overflow:auto;white-space:nowrap;gap:8px;padding:2px}
.catalog>.filters button{min-height:42px;white-space:normal;max-width:210px}
.products{grid-column:1;grid-row:3;grid-template-columns:repeat(3,minmax(0,1fr))}
.category-card{border-top:2px solid var(--gold)}
.category-card span{font-size:12px;color:var(--muted);font-weight:500}
html[data-theme=light] header{background:#0d1c16;color:#edf4f0;border-bottom-color:#2a3b33}
html[data-theme=light] header .brand{color:#d2b46c}
html[data-theme=light] header #account-name,html[data-theme=light] header #shift-label{color:#d3dfd8}
html[data-theme=light] header button,html[data-theme=light] header select{background:#142a21;color:#edf4f0;border-color:#496052}
html[data-theme=light] header button:hover:not(:disabled){background:#203b2e;border-color:#d2b46c}
html[data-theme=light] header .preview{background:#142a21;color:#e4c99c;border-color:#856b43}

.qr-badge{display:inline-block;align-self:start;background:#d5b676;color:#183e32;padding:3px 10px;border-radius:7px;font:bold 14px Arial;letter-spacing:1px}.qr-table{border:2px solid #bd9e66!important}#qr-board{margin-top:28px}#qr-board h2{font-size:18px}#qr-details{max-width:600px;width:90%}

.guest-qr-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.guest-qr-card{display:block!important;border:1px solid var(--line,#6d8074);border-radius:22px;padding:18px!important;background:var(--panel,#28493f)}.guest-qr-info{display:flex;align-items:center;gap:18px}.guest-code{flex:0 0 138px;background:#fff;border-radius:16px;padding:5px}.guest-code svg{display:block;width:100%;height:auto;max-width:100%}.guest-qr-info small{color:#efbd7c;letter-spacing:2px}.guest-qr-info h3{font-size:25px;margin:8px 0}.guest-qr-info p{margin:5px 0}.guest-qr-actions{display:flex;gap:10px;margin-top:18px;padding-top:14px;border-top:1px solid #ffffff25}.guest-qr-actions button{flex:1;min-height:48px}.guest-qr-actions button:last-child{background:#efbd7c;color:#193c32}.guest-qr-tools{display:flex;align-items:end;gap:16px;flex-wrap:wrap;margin-bottom:16px}.guest-qr-tools label{flex:1;min-width:150px}.guest-qr-tools input{width:100%}.guest-qr-pages{display:flex;align-items:center;justify-content:center;gap:20px;margin:20px 0}@media(max-width:650px){.guest-qr-grid{grid-template-columns:1fr}.guest-code{flex-basis:120px}.guest-qr-info h3{font-size:22px}}

.guest-content-intro{padding:14px 18px;border:1px solid var(--line);border-radius:14px;background:var(--paper)}
.guest-primary-languages{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.guest-language-fields{border:1px solid var(--line);border-radius:16px;padding:16px;margin:14px 0;text-align:start}
.guest-language-fields h3{font-size:16px;margin:0 0 12px;color:var(--gold)}
.guest-language-fields label{display:block;margin-top:12px;font-size:13px}
.guest-language-fields textarea,.guest-language-fields input{width:100%;margin-top:6px;color:inherit;background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:12px;font:inherit}
.guest-extra-languages{padding:16px;border:1px solid var(--line);border-radius:14px}.guest-extra-languages summary{cursor:pointer;font-weight:600}
@media(max-width:650px){.guest-primary-languages{grid-template-columns:1fr;gap:0}}

#rm-form-dialog:has(.guest-primary-languages){width:min(850px,calc(100vw - 24px))}

/* Guest captain requests and printer confirmation. */
.captain-heart{position:absolute;top:12px;right:12px;font-size:24px}#captain-requests{padding:18px;margin:12px;border:1px solid #cba873;border-radius:16px;background:#cba87312}#captain-requests h3{margin:0 0 8px}#captain-requests p{font-size:13px}.captain-request-line{display:grid;grid-template-columns:1fr auto;gap:6px;border-bottom:1px solid #ffffff25;padding:12px 0}.captain-request-line small{grid-column:1;opacity:.75}.captain-request-line>span{grid-column:2;grid-row:1/3}#captain-confirm{width:100%;margin-top:10px}.printer-save-status{display:block;min-height:24px;overflow-wrap:anywhere}.printer-save-status[data-result=success]{color:#4bac88}.printer-save-status[data-result=error]{color:#df7f7f}

.captain-request-line label{display:flex;align-items:center;gap:8px;margin:6px 0}.captain-request-line input[type=number]{width:76px;min-height:40px}.captain-request-line input[data-captain-remark]{min-height:40px;max-width:260px}.captain-request-line input[type=checkbox]{width:20px;height:20px}

.brand-logo{display:inline-block;width:28px;height:45px;object-fit:contain;vertical-align:middle;margin-inline-end:10px;flex-shrink:0}.brand .brand-logo{width:24px;height:38px}.login .brand-logo,.entry-mark .brand-logo,.thanks-brand .brand-logo{display:block;width:44px;height:70px;margin:0 auto 12px}.experience-brand .brand-logo{width:14px;height:23px;margin-inline-end:6px}.receipt-brand .brand-logo{display:block;margin:0 auto 8px;width:27px;height:44px;filter:brightness(0)}
@media print{.brand-logo{filter:brightness(0)}}

.table-card-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;min-width:0}.table-card-heading .state{min-width:0;overflow-wrap:anywhere}.table-opened-time{flex:none;white-space:nowrap;color:var(--muted);font-size:12px;font-weight:600;font-variant-numeric:tabular-nums;direction:ltr;unicode-bidi:isolate}

.table-card-heading{align-items:flex-start}.table-card-meta{display:grid;justify-items:end;gap:6px;flex:none;min-width:0}
.table-print-count{font-size:11px;color:var(--muted);font-weight:400;white-space:nowrap}.table-print-count b{font-weight:700}
.table-print-state{font-size:10px;color:var(--muted);max-width:110px;text-align:end}
.table-guest-choice{display:flex;align-items:center;gap:7px;font-size:12px;margin-bottom:9px;line-height:1.5}
.table-guest-choice .captain-heart{position:static;font-size:20px;line-height:1}
.table.invoice-printed{border-top:3px solid #d64343!important}
@media(max-width:600px){.table-card-heading{gap:4px}.table-card-heading .state{font-size:11px}.table-opened-time{font-size:11px}.table-print-count{font-size:9px}.table-card-meta{gap:5px}.table-guest-choice{font-size:11px}}

/* POS143: a printed invoice colours the whole table card in both themes. */
.table.invoice-printed{
 --muted:#ffe4e4;
 background:linear-gradient(135deg,#b43240 0%,#941f31 58%,#781a2b 100%);
 color:#fff;border:1px solid #c54d5a!important;border-top:3px solid #e87982!important;
 box-shadow:0 6px 18px #7c19252b,inset 0 1px 0 #ffffff16;
}
.table.invoice-printed .state,.table.invoice-printed .table-opened-time,
.table.invoice-printed .table-print-count,.table.invoice-printed .table-print-state,
.table.invoice-printed .qr-view{color:#ffe4e4}
.table.invoice-printed .amount,.table.invoice-printed>strong,
.table.invoice-printed .table-guest-choice{color:#fff}
.table.invoice-printed .table-print-count{
 background:#ffffff14;border:1px solid #ffffff26;border-radius:6px;padding:3px 6px;
}
.table.invoice-printed .qr-badge{background:#ffffffeb;color:#8f2031}
.table.invoice-printed:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
@media(hover:hover){
 .table.invoice-printed:hover:not(:disabled){background:linear-gradient(135deg,#c03948,#9f2639 58%,#842035);box-shadow:0 8px 22px #7c192538,inset 0 1px 0 #ffffff20}
}

/* Receipt count and last request time inside the selected table. */
.check-print-meta{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:6px 14px;padding:8px 16px;border-bottom:1px solid var(--line);background:var(--paper2);color:var(--muted);font-size:11px;line-height:1.5;flex:none}
.check-print-meta b,.check-print-meta time{color:var(--ink);font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}
.check-print-meta time{display:inline-block;unicode-bidi:isolate}
.check-print-meta .check-print-state{color:var(--danger)}

/* KOT99: keep the full captain name readable beside print metadata on phones. */
@media(max-width:600px){
 .table .table-card-heading{flex-direction:column;align-items:stretch;gap:8px}
 .table .table-card-heading>.state{width:100%;line-height:1.4}
 .table .table-card-meta{width:100%;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:5px 8px}
 .table .table-card-meta .table-print-state{flex-basis:100%;max-width:none;text-align:start;font-size:10px;line-height:1.4;margin:0;letter-spacing:normal}
}

/* QR_BLUE107: verified guest QR payment takes visual priority over invoice-print red. */
.table .table-qr-balance{display:flex;align-items:baseline;justify-content:space-between;gap:8px;width:100%;font-size:13px;line-height:1.45;margin-top:8px;flex-wrap:wrap}
.table .table-qr-balance b{font-size:16px;font-weight:700;white-space:nowrap}
.table .table-qr-payment{display:block;font-size:12px;font-weight:600;line-height:1.5;margin-top:4px}
.table.qr-paid{--muted:#e1f0ff;background:linear-gradient(135deg,#215d96 0%,#184c80 58%,#123e6d 100%);color:#fff;border:1px solid #5b99cf!important;border-top:3px solid #8fc8f5!important;box-shadow:0 6px 18px #123e6d29,inset 0 1px 0 #ffffff16}
.table.qr-paid .state,.table.qr-paid .table-opened-time,.table.qr-paid .table-print-count,.table.qr-paid .table-print-state,.table.qr-paid .qr-view,.table.qr-paid .table-qr-payment{color:#e1f0ff}
.table.qr-paid .amount,.table.qr-paid>strong,.table.qr-paid .table-guest-choice,.table.qr-paid .table-qr-balance{color:#fff}
.table.qr-paid .table-print-count{background:#ffffff14;border:1px solid #ffffff26;border-radius:6px;padding:3px 6px}
.table.qr-paid .qr-badge{background:#ffffffeb;color:#164879}
.table.qr-paid:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
@media(hover:hover){.table.qr-paid:hover:not(:disabled){background:linear-gradient(135deg,#2869a6,#20598f 58%,#184a7c);border-color:#a8d4f6!important}}

/* Partial QR payment: equal vertical blue/red halves; full settlement remains blue. */
.table.qr-paid.qr-part-paid{background:linear-gradient(90deg,#184c80 0%,#184c80 50%,#941f31 50%,#941f31 100%)}
@media(hover:hover){.table.qr-paid.qr-part-paid:hover:not(:disabled){background:linear-gradient(90deg,#20598f 0%,#20598f 50%,#a1263a 50%,#a1263a 100%)}}

/* Nickname108: compact table-card names. */
.table-card-heading>.state{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:normal;word-break:normal;min-width:0}#user-nickname-label small{display:block;font-size:12px;line-height:1.5;color:var(--muted);margin-top:5px}

/* qr-action161: three equal table actions */
.guest-qr-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.guest-qr-actions button{min-width:0;padding:10px 6px;white-space:normal;line-height:1.35;min-height:48px}
