/* Trunked mobile-first patch. Desktop branding/business logic are unchanged. */
.tk-main,.tk-content,.tk-content>* {min-width:0}
.tk-live-clock{display:flex;flex-direction:column;align-items:center;gap:1px;min-width:112px;padding:7px 12px;border:1px solid var(--tk-border);border-radius:12px;background:var(--tk-surface-glass);color:var(--tk-text-primary);font-variant-numeric:tabular-nums;white-space:nowrap}
.tk-clock-time{font-size:1rem;font-weight:750;letter-spacing:.06em;line-height:1.2}
.tk-clock-date{font-size:.65rem;color:var(--tk-text-muted);letter-spacing:.02em}
.tk-mobile-close,.tk-pos-mobile-dock{display:none}
.tk-notif-view-all:disabled{opacity:.5;cursor:default}
button.tk-notif-view-all{font-family:inherit;cursor:pointer}
.tk-notif-unread{border-left:3px solid var(--tk-accent,#2563eb)}
.tk-inventory-add{margin-bottom:18px}
.tk-inventory-add summary{font-size:1rem;font-weight:700;color:var(--tk-text-primary);cursor:pointer;min-height:44px;align-content:center}
.tk-inventory-add summary::marker{color:var(--tk-accent,#2563eb)}
.tk-inventory-product-form{margin-top:20px}
.tk-inventory-product-form .tk-form-grid>div{min-width:0}
.tk-inventory-product-form .tk-select{width:100%}
.tk-inventory-search{display:grid;gap:8px;margin-bottom:12px}
.tk-inventory-search>label{font-weight:650;font-size:.9rem;color:var(--tk-text-primary)}
.tk-inventory-search>div{display:flex;gap:8px}
.tk-inventory-search .tk-input{flex:1;min-width:0}
.tk-inventory-result-count,.tk-inventory-sku{color:var(--tk-text-muted);font-size:.82rem}
.tk-inventory-sku{display:block;font-weight:400;margin-top:3px;overflow-wrap:anywhere}
.tk-till-instructions{padding:12px;border:1px solid #05966955;background:#0596690d;border-radius:12px;margin-bottom:12px}
.tk-till-number{font-size:1.35rem;letter-spacing:.07em;font-weight:800;color:var(--tk-text-primary);margin-top:8px}
.tk-till-instructions p,.tk-till-help{font-size:.82rem;line-height:1.6;color:var(--tk-text-secondary)}
.tk-till-check{display:flex;gap:10px;align-items:flex-start;margin:12px 0;line-height:1.6;font-size:.86rem;cursor:pointer}
.tk-till-check input{width:22px;height:22px;min-width:22px;accent-color:#059669;margin-top:3px}
#posMpesaGroup>label:not(.tk-till-check){display:block;margin:10px 0 6px;font-size:.85rem;font-weight:650}
#mpesaReceipt{text-transform:uppercase;letter-spacing:.08em}
#mpesaConfirmBtn{min-height:46px;width:100%;justify-content:center}
:where(button,a,input,select,textarea,summary):focus-visible{outline:3px solid #3b82f6;outline-offset:3px}
.tk-table-wrap{max-width:100%;overscroll-behavior-x:contain}
@media screen and (max-width:1024px){
 html{scroll-padding-top:126px;-webkit-text-size-adjust:100%}
 body{min-width:0;max-width:100%;margin:0}
 .tk-shell{height:auto!important;min-height:100dvh!important;overflow:visible!important;padding-top:calc(62px + env(safe-area-inset-top,0px))!important}
 .tk-main{width:100%!important;max-width:100%;margin-left:0!important;overflow:visible!important;flex:1}
 .tk-content{padding:18px!important;overflow:visible!important}
 .tk-mobile-bar{height:calc(62px + env(safe-area-inset-top,0px))!important;padding:env(safe-area-inset-top,0px) max(12px,env(safe-area-inset-right,0px)) 0 max(12px,env(safe-area-inset-left,0px))!important;gap:10px;z-index:220!important;backdrop-filter:none!important}
 .tk-mobile-logo-link{order:2;flex:0 0 auto;max-width:100px}
 .tk-mobile-logo{height:42px!important;max-height:42px!important;max-width:100px!important;width:auto!important}
 .tk-mobile-menu-btn{order:1;width:44px;height:44px;flex-shrink:0;border:1px solid var(--tk-border);border-radius:12px}
 .tk-mobile-bar>.tk-live-clock{order:3;margin-left:auto;min-width:96px;padding:5px 7px;border:0;background:none}
 .tk-mobile-right{order:4;gap:0}
 .tk-mobile-right button{min-width:44px;min-height:44px}
 .tk-topbar{position:sticky!important;top:calc(62px + env(safe-area-inset-top,0px))!important;height:56px!important;padding:0 16px!important;z-index:120!important;backdrop-filter:none!important}
 .tk-topbar .tk-live-clock,.tk-topbar .tk-sidebar-toggle{display:none!important}
 .tk-topbar-left,.tk-topbar-right{min-width:0;gap:6px}
 .tk-topbar-left{flex:1}
 .tk-topbar-page-title{display:block!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:none!important;font-size:.94rem!important}
 .tk-topbar-search{display:none!important}
 .tk-topbar-icon-btn{min-width:44px!important;min-height:44px!important;padding:10px!important}
 .tk-topbar-user{min-height:44px}
 .tk-breadcrumb{padding:12px 18px!important;flex-wrap:wrap;line-height:1.6;font-size:.76rem}
 .tk-sidebar,.tk-sidebar-collapsed .tk-sidebar{z-index:260!important;width:min(310px,88vw)!important;height:100dvh!important;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);overscroll-behavior:contain;touch-action:pan-y}
 .tk-sidebar-overlay{z-index:250!important;backdrop-filter:none!important}
 .tk-sidebar-logo,.tk-sidebar-collapsed .tk-sidebar-logo{min-height:88px;height:88px!important;padding:12px 56px 12px 20px!important}
 .tk-sidebar .tk-logo-img,.tk-sidebar-collapsed .tk-logo-img{height:72px!important;max-width:160px!important;object-fit:contain}
 .tk-mobile-close{display:flex;position:absolute;right:12px;top:calc(14px + env(safe-area-inset-top,0px));align-items:center;justify-content:center;width:44px;height:44px;border:1px solid var(--tk-border);border-radius:12px;background:var(--tk-bg-card);color:var(--tk-text-primary);font-size:1.6rem;z-index:2}
 .tk-nav{min-height:0;overflow-y:auto;overscroll-behavior:contain;padding-bottom:16px}
 .tk-nav-item{min-height:46px;font-size:.92rem!important;margin:3px 10px!important;border-radius:12px!important}
 body.tk-sidebar-mobile-open{touch-action:auto!important;overflow:hidden!important}
 .tk-sidebar-bottom{flex-shrink:0;padding-bottom:max(12px,env(safe-area-inset-bottom,0px))}
 .tk-notif-dropdown,.tk-apps-dropdown{z-index:290!important;max-height:75dvh!important;overflow-y:auto!important;padding-bottom:env(safe-area-inset-bottom,0px);box-shadow:0 -12px 45px #0003!important}
 .tk-notif-header{gap:8px!important;flex-wrap:wrap;padding:14px!important}
 .tk-notif-header .tk-notif-title{flex:1 0 100%;font-size:1rem}
 .tk-notif-header .tk-notif-view-all{min-height:44px;display:inline-flex;align-items:center;justify-content:center;flex:1}
 .tk-user-dropdown{position:fixed!important;top:calc(120px + env(safe-area-inset-top,0px))!important;right:12px!important;max-width:calc(100vw - 24px)!important;max-height:70dvh;overflow:auto}
 .tk-card{border-radius:16px!important;padding:18px!important}
 .tk-content .tk-card:hover{transform:none!important}
 .tk-content [class*="grid"]{min-width:0}
 .tk-action-bar,.tk-filter-bar{gap:12px!important;align-items:stretch!important}
 .tk-action-bar>div,.tk-filter-bar>div{min-width:0;flex-wrap:wrap}
 .tk-form-grid{grid-template-columns:minmax(0,1fr)!important;gap:16px!important}
 .tk-btn{min-height:44px;white-space:normal!important;justify-content:center;text-align:center}
 .tk-input,.tk-select,.tk-textarea,input[type="search"],textarea{font-size:16px!important;min-height:46px;border-radius:11px!important;max-width:100%;box-sizing:border-box}
 input[type="checkbox"],input[type="radio"]{min-height:0}
 .tk-table-wrap{width:100%;overflow-x:auto!important;-webkit-overflow-scrolling:touch;position:relative;border-radius:12px}
 .tk-table th,.tk-table td{font-size:.85rem!important;padding:13px 12px!important}
 .tk-table td{max-width:360px;overflow-wrap:break-word}
 .tk-modal-backdrop{padding:12px!important;align-items:center!important}
 .tk-modal{width:100%!important;max-width:640px!important;max-height:calc(100dvh - 24px)!important;overflow-y:auto!important;border-radius:18px!important;margin:auto!important;padding:20px!important}
 .tk-modal-footer{position:sticky;bottom:-20px;background:var(--tk-bg-card);padding:14px 0!important;flex-wrap:wrap;gap:10px}
 .tk-modal-footer .tk-btn{flex:1}
 .tk-toast{max-width:calc(100vw - 24px)!important;right:12px!important;left:12px!important;bottom:calc(88px + env(safe-area-inset-bottom,0px))!important;width:auto!important;overflow-wrap:anywhere}
 .tk-content>*{animation:none!important}
 /* POS: readable product cards, one scroll surface, bottom shortcuts and clear payment controls. */
 .tk-pos-page .tk-content{padding-bottom:calc(92px + env(safe-area-inset-bottom,0px))!important}
 .pos-layout{grid-template-columns:minmax(0,1fr)!important;min-height:0!important;gap:18px!important}
 .pos-menu{overflow:visible!important;min-width:0;scroll-margin-top:130px}
 .pos-items-grid{grid-template-columns:repeat(auto-fill,minmax(145px,1fr))!important;max-height:52dvh!important;overflow-y:auto!important;gap:10px!important;overscroll-behavior-y:auto;padding:3px!important}
 .pos-item-card{padding:16px 12px!important;border-radius:14px!important;min-height:128px;touch-action:manipulation}
 .pos-item-name{font-size:.88rem!important;line-height:1.45!important;overflow-wrap:anywhere}
 .pos-item-price{font-size:.95rem!important;font-weight:750}
 .pos-item-stock{font-size:.74rem!important}
 .pos-cat-btn{min-height:44px!important;font-size:.85rem!important;padding:10px 16px!important}
 .pos-search-input{font-size:16px!important;min-height:40px}
 .pos-cart{position:static!important;width:100%!important;max-height:none!important;min-width:0;box-sizing:border-box;padding:18px!important;border-radius:18px!important;scroll-margin-top:130px}
 .cart-items-list{max-height:40dvh!important;min-height:100px;overflow-y:auto;overscroll-behavior:contain}
 .cart-item{gap:10px!important;padding:14px 0!important}
 .cart-item-name{font-size:.9rem!important;line-height:1.5}
 .cart-item-controls{gap:7px!important;flex-wrap:wrap}
 .cart-qty-btn{width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important;font-size:1rem!important;touch-action:manipulation}
 .cart-line-total{font-size:.9rem!important;min-width:70px!important}
 .pos-pay-methods{display:flex;flex-wrap:wrap;gap:8px!important}
 .pos-pay-btn{flex:1 1 90px;min-height:46px!important;font-size:.88rem!important;padding:12px!important}
 .pos-tender-btn{min-height:44px!important;font-size:.86rem!important}
 .pos-discount-row{gap:10px!important;flex-wrap:wrap}
 .pos-complete-btn{min-height:52px!important;font-size:1rem!important;border-radius:12px!important}
 .pos-workflow-bar{gap:8px!important;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .pos-workflow-bar>strong,.pos-workflow-bar>#posLastDocuments{grid-column:1/-1;min-width:0;overflow-wrap:anywhere}
 .pos-workflow-bar .tk-btn{padding:10px!important;font-size:.84rem!important}
 .pos-workflow-bar select{width:100%!important;min-width:0}
 .pos-workflow-payment>div{flex-wrap:wrap}
 .pos-ticket-picker{max-height:85dvh!important;width:calc(100vw - 24px)!important;box-sizing:border-box}
 .pos-ticket-picker-row{gap:12px;overflow-wrap:anywhere}
 .pos-ticket-picker-row>span{flex:1 1 100%}
 .tk-pos-mobile-dock{position:fixed;left:0;right:0;bottom:0;display:grid;grid-template-columns:1fr 1.3fr;gap:8px;z-index:140;padding:10px max(12px,env(safe-area-inset-right,0px)) calc(10px + env(safe-area-inset-bottom,0px)) max(12px,env(safe-area-inset-left,0px));background:var(--tk-bg-card);border-top:1px solid var(--tk-border);box-shadow:0 -6px 22px #0001}
 .tk-pos-mobile-dock button{min-height:48px;padding:9px;border:1px solid var(--tk-border);border-radius:12px;background:var(--tk-surface-glass);color:var(--tk-text-primary);font-family:inherit;font-size:.85rem;font-weight:700}
 .tk-pos-mobile-dock .tk-pos-cart-jump{background:#2563eb;color:#fff;border-color:#2563eb}
 body.tk-sidebar-mobile-open .tk-pos-mobile-dock{visibility:hidden}
 .tk-login-shell{min-height:100dvh!important}
 .tk-login-form-panel{padding:24px 18px!important;box-sizing:border-box;min-width:0}
 .tk-login-form-card{width:100%!important;max-width:440px!important;box-sizing:border-box;padding:22px!important}
}
@media screen and (max-width:640px){
 .tk-content{padding:14px!important}
 .tk-breadcrumb{padding:10px 14px!important}
 .tk-card{padding:16px!important;border-radius:14px!important}
 .tk-stat-grid,.tk-icon-stat-grid,.tk-kpi-hero-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
 .tk-stat-card,.tk-icon-stat-card,.tk-kpi-hero-card{padding:14px!important;min-width:0}
 .tk-stat-value,.tk-kpi-hero-value{font-size:clamp(1.12rem,5vw,1.65rem)!important;overflow-wrap:anywhere;line-height:1.3}
 .tk-stat-label,.tk-kpi-hero-label{font-size:.75rem!important;line-height:1.45}
 .tk-dash-row-2,.tk-dash-row-3,.tk-dash-row-hero,.tk-revenue-pair,.tk-settings-grid,.tk-profile-grid{grid-template-columns:minmax(0,1fr)!important;gap:14px!important}
 .tk-content div[style*="grid-template-columns"]:not(.pos-items-grid){grid-template-columns:minmax(0,1fr)!important}
 .tk-inventory-search>div{display:grid;grid-template-columns:1fr 1fr;gap:8px}
 .tk-inventory-search input{grid-column:1/-1;width:100%}
 .tk-inventory-add summary{font-size:.95rem}
 .tk-inventory-table,.tk-inventory-table tbody{display:block!important;width:100%!important;min-width:0!important}
 .tk-inventory-table thead{position:absolute;width:1px;height:1px;clip-path:inset(50%);overflow:hidden}
 .tk-inventory-table tbody tr{display:block!important;border:1px solid var(--tk-border);border-radius:13px;margin-bottom:12px;padding:8px 12px;background:var(--tk-bg-card)}
 .tk-inventory-table tbody td[data-label]{display:flex!important;justify-content:space-between;align-items:center;gap:12px;padding:10px 0!important;white-space:normal!important;max-width:none;border-bottom:1px solid var(--tk-border);font-size:.88rem!important}
 .tk-inventory-table tbody td[data-label]::before{content:attr(data-label);font-size:.75rem;color:var(--tk-text-muted);font-weight:500;flex-shrink:0;min-width:72px}
 .tk-inventory-table tbody td:first-child{font-size:1rem!important;display:block!important;padding:10px 0 14px!important}
 .tk-inventory-table tbody td:first-child::before{display:none}
 .tk-inventory-table tbody td:last-child{border-bottom:0}
 .tk-inventory-table td form{flex-wrap:wrap;justify-content:flex-end;gap:8px!important;min-width:0}
 .tk-inventory-table td form button{min-height:44px;padding:8px 12px!important;font-size:.85rem!important;border-radius:10px!important}
 .tk-inventory-table td form input[type=number]{min-width:76px;width:80px!important;padding:10px!important}
 .notif-page-header{gap:12px!important}
 .notif-page-title{gap:10px!important;flex-wrap:wrap;min-width:0}
 .notif-page-title h2{font-size:1.2rem!important}
 .notif-page-actions,.notif-page-actions form,.notif-page-actions button{width:100%}
 .notif-filters{display:flex;overflow-x:auto;flex-wrap:nowrap!important;gap:8px;padding-bottom:6px}
 .notif-filter-btn{min-height:44px;flex-shrink:0;display:inline-flex;align-items:center}
 .notif-card{padding:14px!important;gap:10px!important;border-radius:14px!important}
 .notif-content{min-width:0}
 .notif-text,.notif-user-tag{overflow-wrap:anywhere;white-space:normal!important}
 .notif-content-top{gap:8px;flex-wrap:wrap}
 .notif-content-top button{min-width:44px;min-height:44px}
 .notif-meta{gap:6px!important;flex-wrap:wrap}
 .tk-chart-wrap{max-width:100%;overflow:hidden}
}
@media screen and (max-width:360px){
 .tk-mobile-bar{gap:3px!important;padding-left:8px!important;padding-right:8px!important}
 .tk-mobile-logo-link{max-width:75px}
 .tk-mobile-logo{max-width:75px!important}
 .tk-mobile-bar>.tk-live-clock{min-width:85px;padding:4px!important}
 .tk-clock-time{font-size:.9rem}
 .tk-clock-date{font-size:.6rem}
 .tk-content{padding:10px!important}
 .pos-items-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
 .pos-item-card{padding:14px 9px!important}
 .tk-pos-mobile-dock{grid-template-columns:1fr 1.2fr}
 .tk-pos-mobile-dock button{font-size:.77rem}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation:none!important;transition:none!important}}
@media print{.tk-live-clock,.tk-pos-mobile-dock,.tk-mobile-close{display:none!important}}

/* Scoped table-order workflow: touch-first, without changing other business pages. */
.tk-pos-page .pos-steps{display:flex;gap:10px;list-style:none;padding:0;margin:0 0 12px;flex-wrap:wrap}
.tk-pos-page .pos-steps li{display:flex;align-items:center;gap:8px;color:var(--tk-text-muted);font-size:.83rem;padding:8px 12px;border:1px solid var(--tk-border);border-radius:10px}
.tk-pos-page .pos-steps b{display:grid;place-items:center;width:23px;height:23px;border-radius:50%;background:var(--tk-surface-glass)}
.tk-pos-page .pos-steps [aria-current=step]{color:var(--tk-accent);background:var(--tk-accent-glow);border-color:var(--tk-accent);font-weight:650}
.tk-pos-page .pos-picker-heading,.tk-pos-page .pos-table-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}
.tk-pos-page .pos-picker-heading h2{font-size:1.15rem;margin:0}
.tk-pos-page .pos-table-heading label{font-size:.88rem;font-weight:650}
.tk-pos-page .pos-table-heading button{min-height:44px;padding:8px 12px;font-size:.8rem}
.tk-pos-page .pos-table-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(145px,1fr));gap:10px;margin-top:14px}
.tk-pos-page .pos-table-grid h3{grid-column:1/-1;font-size:.9rem;margin:12px 0 0}
.tk-pos-page .pos-table-tile{display:flex;flex-direction:column;justify-content:center;gap:9px;min-height:110px;padding:16px;border:1px solid var(--tk-border);border-top:4px solid #059669;border-radius:12px;text-align:left;background:var(--tk-bg-card);color:var(--tk-text-primary);font:inherit;cursor:pointer;overflow-wrap:anywhere;touch-action:manipulation}
.tk-pos-page .pos-table-tile strong{font-size:1.02rem}.tk-pos-page .pos-table-tile span{font-size:.78rem;line-height:1.5;color:var(--tk-text-secondary)}
.tk-pos-page .pos-table-tile[data-status=occupied]{border-top-color:#ef4444}.tk-pos-page .pos-table-tile[data-status=reserved]{border-top-color:#f59e0b}.tk-pos-page .pos-table-tile[data-status=maintenance]{border-top-color:#64748b}
.tk-pos-page .pos-table-tile:disabled{cursor:not-allowed;opacity:.65}.tk-pos-page .pos-table-tile:not(:disabled):hover{background:var(--tk-accent-glow);border-color:var(--tk-accent)}
.tk-pos-page .pos-add-feedback{font-size:.82rem;color:var(--tk-text-secondary);padding:10px 12px;background:var(--tk-accent-glow);border-radius:10px;line-height:1.5;min-height:20px}
.tk-pos-page .pos-item-card.in-ticket{border-color:var(--tk-accent);background:var(--tk-accent-glow)}
.tk-pos-page .pos-item-quantity{display:inline-block;margin-bottom:8px;padding:3px 7px;border-radius:6px;background:var(--tk-accent-glow);color:var(--tk-accent);font-size:.72rem;font-weight:700}
.tk-pos-page .pos-item-card[aria-disabled=true]{cursor:not-allowed}
.tk-pos-page #posPaymentPanel>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px;padding:10px 12px;border-radius:10px;background:var(--tk-accent-glow);color:var(--tk-text-primary)}
.tk-pos-page #posPaymentPanel>summary::before{content:'+';font-size:1.2rem}.tk-pos-page #posPaymentPanel[open]>summary::before{content:'−'}
.tk-pos-page #posPaymentPanel[open]>summary{margin-bottom:16px}
.tk-pos-page #posPaymentDueLabel{margin-left:auto;white-space:nowrap;font-variant-numeric:tabular-nums}
.tk-pos-page :is(.pos-cart,.pos-menu){min-width:0}
@media(min-width:1025px){
 .tk-pos-page .pos-cart{position:sticky;top:86px;max-height:calc(100dvh - 110px);overflow-y:auto!important;scrollbar-width:thin}
 .tk-pos-page .pos-items-grid{max-height:72dvh;overflow-y:auto;align-content:start;padding:3px}
}
@media(max-width:1024px){
 .tk-pos-page #posLayout[data-mobile-view=menu] #posCartPanel{display:none!important}
 .tk-pos-page #posLayout[data-mobile-view=ticket] #posMenuPanel{display:none!important}
 .tk-pos-page .pos-items-grid{max-height:none!important;overflow:visible!important;grid-template-columns:repeat(3,minmax(0,1fr))!important}
 .tk-pos-page .cart-items-list{max-height:none!important;overflow:visible!important}
 .tk-pos-page .pos-steps{gap:6px}.tk-pos-page .pos-steps li{padding:6px 9px;font-size:.75rem;flex:1;justify-content:center}
 .tk-pos-page .pos-workflow-bar{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important}
 .tk-pos-page .pos-workflow-bar strong{grid-column:1/-1;font-size:.94rem}
 .tk-pos-page .pos-workflow-bar .pos-more{grid-column:1/-1}.tk-pos-page .pos-more-menu{left:0;right:auto;width:min(250px,80vw);z-index:150}
 .tk-pos-page .tk-pos-mobile-dock{grid-template-columns:minmax(60px,.65fr) minmax(130px,1.65fr) minmax(60px,.65fr)}
 .tk-pos-page .tk-pos-mobile-dock:has([data-pos-view=pay][hidden]){grid-template-columns:minmax(70px,.7fr) minmax(140px,1.7fr)}
 .tk-pos-page .tk-pos-mobile-dock button[aria-pressed=true]{border-color:var(--tk-accent);box-shadow:inset 0 0 0 1px var(--tk-accent)}
 .tk-pos-page .tk-pos-mobile-dock [data-pos-view=pay]{background:#059669;color:#fff;border-color:#059669}
 .tk-pos-page .tk-pos-mobile-dock button:disabled{opacity:.5}
 .tk-pos-page .pos-ticket-actions{position:sticky;bottom:calc(82px + env(safe-area-inset-bottom,0px));background:var(--tk-bg-card);padding:10px 0;z-index:10;border-top:1px solid var(--tk-border)}
 .tk-pos-page #posPaymentPanel{scroll-margin-top:140px}
 .tk-pos-page .pos-table-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
 .tk-pos-page .pos-table-tile{padding:12px;min-height:106px}
 .tk-pos-page .cart-item-controls{justify-content:space-between!important;gap:6px!important}
 .tk-pos-page .cart-line-total{flex:1;text-align:right;overflow-wrap:anywhere;min-width:0!important}
}
@media(max-width:540px){
 .tk-pos-page .pos-items-grid,.tk-pos-page .pos-table-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .tk-pos-page .pos-steps li{flex:1 1 0;padding:7px 4px;font-size:.7rem;gap:4px}.tk-pos-page .pos-steps b{width:19px;height:19px;flex-shrink:0}
 .tk-pos-page .pos-item-card{min-height:130px;padding:14px 10px!important}
 .tk-pos-page .pos-item-name{font-size:.9rem!important;white-space:normal!important}
 .tk-pos-page .pos-picker-heading{position:sticky;top:-14px;background:var(--tk-bg-card);padding:10px 0;z-index:1}
 .tk-pos-page .pos-ticket-picker{padding:14px;max-height:calc(100dvh - 24px)!important}
 .tk-pos-page .pos-ticket-picker-row .tk-btn{width:100%}
 .tk-pos-page .pos-ticket-actions button{font-size:.84rem;padding:10px 8px;min-height:48px}
 .tk-pos-page .pos-cash-label,.tk-pos-page .pos-options label{line-height:1.5}
}

/* Hidden permission/document states must win over mobile grid rules. */
.tk-pos-page [hidden]{display:none!important}

html .tk-pos-page .tk-pos-mobile-dock [data-pos-view=pay]{color:#fff!important}


/* Usability/readability pass: one final light palette, not dark text everywhere.
   Solid actions and photo overlays deliberately retain white text. */
html.light,[data-theme="light"] {
 --tk-text-primary:#182238;--tk-text-secondary:#39465d;--tk-text-muted:#526078;
 --tk-bg-input:#f1f4f9;--tk-border:rgba(42,58,134,.2);--tk-glass-border:rgba(42,58,134,.2);
 --tk-border-focus:#334eac;--text-muted:#526078;--accent-light:#334eac;
 --success:#047857;--danger:#b91c1c;--warning:#92400e;--info:#075985;
 color-scheme:light;
}
html[data-theme="dark"]{color-scheme:dark}
html.light :is(th,.tk-table th,.tk-nav-section-label,.tk-breadcrumb,.tk-breadcrumb a,.tk-form-label,.tk-clock-date,.tk-bigman-tag){color:#526078!important}
html.light :is(input,textarea)::placeholder{color:#59677d!important;opacity:1}
html.light :is(.tk-login-sub,.tk-login-footer,.tk-login-theme-label,.tk-topbar-user-role,.tk-user-role){color:#526078!important}
html.light :is(.tk-bigman-tag,.pos-cart-empty-hint){opacity:1}
html.light :is(.tk-btn-primary,.tk-btn-success,.tk-btn-danger,button[type="submit"],.pos-complete-btn,.pos-mpesa-send-btn,.pos-receipt-btn-print,.tk-quick-btn.active,.tk-quick-btn:hover,.tk-toast){color:#fff!important}
html.light .tk-btn-secondary[type="submit"]{color:#182238!important;background:#f1f4f9!important;border-color:#a8b4c7!important}
html.light :is(.tk-btn-success,.pos-complete-btn,.pos-mpesa-send-btn,.tk-toast-success){background:#047857!important}
html.light :is(.tk-btn-danger,.tk-toast-error){background:#b91c1c!important}
html.light :is(.tk-btn-primary,.pos-receipt-btn-print,.tk-toast-info){background:#2a3a86!important}
html.light :is(.tk-alert-success,.tk-badge-up,.rpt-badge-green,.pos-change-label,.pos-change-value,.cart-total-row.discount,.pos-mpesa-status.success){color:#046347!important}
html.light :is(.tk-alert-error,.tk-badge-down,.rpt-badge-red,.tk-error-box,.pos-mpesa-status.error){color:#a51b1b!important}
html.light :is(.rpt-badge-amber,.pos-mpesa-status.pending){color:#854008!important}
html.light .rpt-badge-blue{color:#1e40af!important}
/* Legacy page templates use these exact inline status colours, on pale tints.
   Restrict to text-bearing elements so chart swatches/solid buttons stay intact. */
html.light :is(span,div,p,td,strong,small,a)[style^="color:#f59e0b"],
html.light :is(span,div,p,td,strong,small,a)[style*=";color:#f59e0b"],
html.light :is(span,div,p,td,strong,small,a)[style*="; color:#f59e0b"],
html.light :is(span,div,p,td,strong,small,a)[style^="color: #f59e0b"],
html.light :is(span,div,p,td,strong,small,a)[style*=";color: #f59e0b"],
html.light :is(span,div,p,td,strong,small,a)[style*="; color: #f59e0b"]{color:#854008!important}
html.light :is(span,div,p,td,strong,small,a)[style^="color:#ef4444"],
html.light :is(span,div,p,td,strong,small,a)[style*=";color:#ef4444"],
html.light :is(span,div,p,td,strong,small,a)[style*="; color:#ef4444"],
html.light :is(span,div,p,td,strong,small,a)[style^="color: #ef4444"],
html.light :is(span,div,p,td,strong,small,a)[style*=";color: #ef4444"],
html.light :is(span,div,p,td,strong,small,a)[style*="; color: #ef4444"]{color:#a51b1b!important}
html.light :is(span,div,p,td,strong,small,a)[style^="color:#059669"],
html.light :is(span,div,p,td,strong,small,a)[style*=";color:#059669"],
html.light :is(span,div,p,td,strong,small,a)[style*="; color:#059669"],
html.light :is(span,div,p,td,strong,small,a)[style^="color: #059669"],
html.light :is(span,div,p,td,strong,small,a)[style*=";color: #059669"],
html.light :is(span,div,p,td,strong,small,a)[style*="; color: #059669"],
html.light :is(span,div,p,td,strong,small,a)[style^="color:#10b981"],
html.light :is(span,div,p,td,strong,small,a)[style*=";color:#10b981"],
html.light :is(span,div,p,td,strong,small,a)[style*="; color:#10b981"],
html.light :is(span,div,p,td,strong,small,a)[style^="color: #10b981"],
html.light :is(span,div,p,td,strong,small,a)[style*=";color: #10b981"],
html.light :is(span,div,p,td,strong,small,a)[style*="; color: #10b981"]{color:#046347!important}
html.light :is(span,div,p,td,strong,small,a)[style^="color:#3b82f6"],
html.light :is(span,div,p,td,strong,small,a)[style*=";color:#3b82f6"],
html.light :is(span,div,p,td,strong,small,a)[style*="; color:#3b82f6"],
html.light :is(span,div,p,td,strong,small,a)[style^="color: #3b82f6"],
html.light :is(span,div,p,td,strong,small,a)[style*=";color: #3b82f6"],
html.light :is(span,div,p,td,strong,small,a)[style*="; color: #3b82f6"],
html.light :is(span,div,p,td,strong,small,a)[style^="color:#06b6d4"],
html.light :is(span,div,p,td,strong,small,a)[style*=";color:#06b6d4"],
html.light :is(span,div,p,td,strong,small,a)[style*="; color:#06b6d4"],
html.light :is(span,div,p,td,strong,small,a)[style^="color: #06b6d4"],
html.light :is(span,div,p,td,strong,small,a)[style*=";color: #06b6d4"],
html.light :is(span,div,p,td,strong,small,a)[style*="; color: #06b6d4"]{color:#1e40af!important}
html.light :is(span,div,p,td,strong,small,a)[style^="color:#ec4899"],
html.light :is(span,div,p,td,strong,small,a)[style*=";color:#ec4899"],
html.light :is(span,div,p,td,strong,small,a)[style*="; color:#ec4899"],
html.light :is(span,div,p,td,strong,small,a)[style^="color: #ec4899"],
html.light :is(span,div,p,td,strong,small,a)[style*=";color: #ec4899"],
html.light :is(span,div,p,td,strong,small,a)[style*="; color: #ec4899"]{color:#9d174d!important}
html.light :is(span,div,p,td,strong,small,a)[style^="color:#9333ea"],
html.light :is(span,div,p,td,strong,small,a)[style*=";color:#9333ea"],
html.light :is(span,div,p,td,strong,small,a)[style*="; color:#9333ea"],
html.light :is(span,div,p,td,strong,small,a)[style^="color: #9333ea"],
html.light :is(span,div,p,td,strong,small,a)[style*=";color: #9333ea"],
html.light :is(span,div,p,td,strong,small,a)[style*="; color: #9333ea"]{color:#6b21a8!important}
html.light .tk-login-hero .tk-hero-text p{color:#fff!important}
html.light :is(.tk-card-icon,.tk-icon-stat-icon,.tk-quick-action-icon) :is(svg,span){color:#fff!important}
html.light .tk-pos-page .pos-item-card.out-of-stock{opacity:1;background:#f1f4f9!important;border-style:dashed}
html.light .tk-pos-page .pos-item-card.out-of-stock::after{background:#b91c1c;transform:none;top:auto;bottom:0;left:0;right:0;border-radius:0;font-size:.65rem}
html.light .tk-pos-page .pos-table-tile:disabled{opacity:1;background:#f1f4f9}
html.light .pos-receipt{color-scheme:light;color:#111;background:#fff}
html.light :is(.pos-receipt-btn-close,.pos-text-button,.pos-search-clear){color:#182238!important}
/* Avoid invisible outlines, overflowing filter bars and iOS input zoom. */
:where(button,a,input,select,textarea,summary):focus-visible{outline:3px solid #2563eb!important;outline-offset:3px}
.tk-content :is(img,canvas){max-width:100%}
.tk-filter-bar :is(input,select),.tk-filter-right{min-width:0;max-width:100%}
.tk-content :is(.tk-form-group,.tk-action-bar>*,.tk-filter-bar>*){min-width:0}
.tk-table-wrap:focus-visible{outline:3px solid #2563eb;outline-offset:2px}
.tk-pos-page .pos-steps li{padding:0;overflow:hidden}
.tk-pos-page .pos-steps button{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:44px;padding:8px 12px;border:0;background:transparent;color:inherit!important;font:inherit;cursor:pointer}
.tk-pos-page .pos-context-button{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 16px;border:1px solid var(--tk-border);border-radius:12px;background:var(--tk-bg-card);color:var(--tk-text-primary);font:inherit;text-align:left;cursor:pointer}
.tk-pos-page .pos-context-button>span:first-child{display:grid;gap:4px;min-width:0}
.tk-pos-page .pos-context-button strong{overflow-wrap:anywhere}
.tk-pos-page .pos-context-button>span:last-child{color:var(--tk-accent);font-size:.8rem;font-weight:700;flex-shrink:0}
.pos-context-caption,.pos-menu-count{font-size:.78rem;color:var(--tk-text-muted)}
.pos-menu-count{min-height:1.3em}
.pos-search-clear{width:44px;height:44px;flex-shrink:0;background:var(--tk-surface-glass);border:1px solid var(--tk-border);border-radius:8px;color:var(--tk-text-primary);font-size:1.4rem;cursor:pointer}
.pos-text-button{background:none;border:0;padding:8px 4px;color:var(--tk-accent);text-decoration:underline;font:inherit;cursor:pointer;min-height:44px}
.tk-pos-page .pos-quantity-input{width:64px!important;min-width:48px;max-width:80px;padding:6px!important;text-align:center;box-sizing:border-box;font-size:.9rem!important;font-weight:700;-moz-appearance:textfield}
.pos-quantity-input::-webkit-inner-spin-button,.pos-quantity-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.pos-line-state{font-weight:650;color:var(--tk-accent)}
.pos-review-payment{width:100%;justify-content:center;margin:0 0 12px;min-height:48px}
.pos-operation-status{padding:12px 16px;margin:0 0 14px;border:1px solid var(--tk-border);border-radius:10px;background:var(--tk-accent-glow);color:var(--tk-text-primary);line-height:1.6;overflow-wrap:anywhere}
.pos-operation-status.is-error{border-color:#b91c1c;color:var(--tk-text-primary)}
.tk-pos-page .pos-payment-review{max-width:480px}
.pos-payment-review h2{margin:0 0 12px;font-size:1.3rem}
.pos-review-totals{margin:18px 0}
.pos-review-totals>div{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid var(--tk-border);line-height:1.5}
.pos-review-totals dt{color:var(--tk-text-secondary)}
.pos-review-totals dd{margin:0;text-align:right;font-weight:700;overflow-wrap:anywhere}
.pos-review-actions{display:flex;gap:10px;flex-wrap:wrap}
.pos-review-actions button{flex:1;min-height:48px;justify-content:center;letter-spacing:normal!important;text-transform:none!important}
#posTicketSearchStatus{margin-top:12px}
#posTicketList{display:grid;gap:10px}
.tk-pos-page .pos-ticket-picker-row span{line-height:1.6;overflow-wrap:anywhere}
@media screen and (max-width:1024px){
 .tk-filter-bar :is(.tk-input,.tk-select){flex:1 1 140px;width:100%}
 .tk-filter-right{flex-wrap:wrap;margin-left:0}
 .tk-filter-right .tk-btn{flex:1 1 auto}
 .tk-content :is(input[type="text"],input[type="email"],input[type="password"],input[type="number"],input[type="tel"],input[type="date"],input[type="time"],select,textarea){font-size:16px!important;max-width:100%;box-sizing:border-box}
 .tk-content .tk-table-wrap{scrollbar-width:thin;scrollbar-color:var(--tk-text-muted) transparent}
 .tk-pos-page .pos-steps button{padding:8px 5px;font-size:.78rem;gap:5px}
 .tk-pos-page .pos-ticket-actions{position:static;border:0;padding:0}
 .tk-pos-page .pos-search-bar{position:sticky;top:calc(118px + env(safe-area-inset-top,0px));z-index:20;background:var(--tk-bg-card)}
 .tk-pos-page .pos-context-button{min-height:64px}
 .tk-pos-page .pos-quantity-input{font-size:16px!important;min-height:44px}
 .tk-pos-page .tk-pos-mobile-dock{isolation:isolate}
 .tk-pos-page .pos-cart{scroll-margin-top:calc(130px + env(safe-area-inset-top,0px))}
 .tk-login-form-panel{padding-top:76px!important;padding-bottom:max(24px,env(safe-area-inset-bottom,0px))!important;justify-content:flex-start!important}
 .tk-login-mobile-logo{margin-bottom:14px!important}
 .tk-login-mobile-logo img{height:100px!important;max-width:100%;object-fit:contain}
 .tk-login-theme-wrap{top:max(14px,env(safe-area-inset-top,0px))!important;right:18px!important}
 #pin{font-size:1.5rem!important;min-height:54px}
}
@media screen and (max-width:360px){
 .tk-pos-page .pos-steps button{font-size:.7rem;gap:3px;padding:7px 3px}
 .tk-pos-page .cart-item-controls{gap:4px!important}
 .tk-pos-page .pos-quantity-input{width:50px!important}
 .tk-pos-page .cart-line-total{font-size:.8rem!important}
 .tk-topbar{padding:0 8px!important}
 .tk-topbar-right{gap:0!important}
}
@media screen and (max-height:500px) and (orientation:landscape) and (max-width:1024px){
 .tk-pos-page .tk-breadcrumb,.tk-pos-page .pos-steps,.tk-pos-page #posFlowHint{display:none}
 .tk-pos-page .pos-ticket-picker{max-height:calc(100dvh - 16px)!important}
}
@media print{
 .pos-context-button,.pos-steps,.pos-operation-status,.pos-review-payment,.pos-menu-count,#posPendingNotice,#posConfirmPayment{display:none!important}
}

/* Findings from the light-mode browser audit: active report filters, empty
   states with inherited opacity, amber warnings, and fixed-width admin cards. */
html.light .tk-empty{opacity:1!important;color:#526078!important}
html.light :is(.rpt-quick-btn.active,.rpt-quick-btn:hover){color:#fff!important}
html.light :is(.tk-user-avatar,.tk-topbar-user-avatar){background:#2a3a86!important;color:#fff!important}
html.light :is(span,div,p,td,strong,small,a)[style^="color:#d97706"],
html.light :is(span,div,p,td,strong,small,a)[style*=";color:#d97706"],
html.light :is(span,div,p,td,strong,small,a)[style*="; color:#d97706"],
html.light :is(span,div,p,td,strong,small,a)[style^="color: #d97706"],
html.light :is(span,div,p,td,strong,small,a)[style*=";color: #d97706"],
html.light :is(span,div,p,td,strong,small,a)[style*="; color: #d97706"]{color:#854008!important}
html.light .tk-pos-page .tk-pos-mobile-dock [data-pos-view=pay]{background:#047857!important;border-color:#047857!important}
.tk-pos-page .cart-items-list{flex:0 0 auto}
@media screen and (max-width:1024px){
 .tk-content .tk-card{min-width:0!important;max-width:100%;box-sizing:border-box}
 .tk-content .tk-card[style*="min-width"]{flex-basis:100%!important}
 .tk-pos-page .pos-item-card:focus-visible{outline-offset:-3px}
}

html.light .imp-notes-title{color:#854008!important}
html.light :is(.dc-warning-banner-text strong,.dc-confirm-title,.tk-required,.tk-result-err,.dc-result-error .dc-result-title){color:#a51b1b!important}
html.light :is(.tk-result-ok,.dc-result-success .dc-result-title){color:#046347!important}
html.light :is(.imp-upload-btn,.imp-copy-btn:hover,.dc-btn-clear,.tk-profile-avatar-edit){color:#fff!important}

html.light .imp-preview-tag{color:#046347!important}
html.light .imp-preview-tag.warn{color:#854008!important}
html.light .imp-dep-note{color:#4338ca!important}
html.light .dc-btn-clear:not(:disabled){background:#b91c1c!important}
/* Existing square logo assets contain large transparent margins. Crop the
   presentation box on phones without changing the supplied brand images. */
@media screen and (max-width:1024px){
 .tk-mobile-logo-link{position:relative;width:104px;height:44px;max-width:104px;overflow:hidden}
 .tk-mobile-logo{position:absolute;left:50%;top:50%;width:136px!important;height:136px!important;max-width:none!important;max-height:none!important;transform:translate(-50%,-50%);object-fit:contain}
 .tk-sidebar-logo a{position:relative;display:block;width:170px;height:60px;overflow:hidden}
 .tk-sidebar .tk-logo-img,.tk-sidebar-collapsed .tk-sidebar .tk-logo-img{position:absolute;left:50%;top:50%;width:210px!important;height:210px!important;max-width:none!important;transform:translate(-50%,-50%)!important}
 .tk-login-mobile-logo{position:relative;height:64px;overflow:hidden;margin-bottom:22px!important}
 .tk-login-mobile-logo img{position:absolute;left:50%;top:50%;width:200px!important;height:200px!important;max-width:none!important;transform:translate(-50%,-50%)}
 .tk-login-footer{position:static!important;margin-top:28px;align-self:center;text-align:center}
}
@media screen and (max-width:360px){
 .tk-mobile-logo-link{width:86px;max-width:86px}
 .tk-mobile-logo{width:114px!important;height:114px!important;max-width:none!important}
}



/* POS polish: presentation only; server workflow and financial rules stay intact. */
.tk-pos-page .pos-layout{gap:18px;align-items:start}
.tk-pos-page .pos-menu-toolbar{display:grid;gap:10px;min-width:0;background:var(--tk-bg-card);border:1px solid var(--tk-border);border-radius:16px;padding:12px}
.tk-pos-page .pos-menu-toolbar .pos-search-bar{background:var(--tk-bg-input);border-radius:10px;min-width:0;padding:4px 10px}
.tk-pos-page .pos-menu-toolbar .pos-menu-count{padding:0 4px;margin:0;font-size:.76rem}
.tk-pos-page .pos-category-tabs{padding:2px 2px 5px;scrollbar-width:thin;scrollbar-color:var(--tk-border) transparent;overscroll-behavior-x:contain}
.tk-pos-page .pos-cat-btn.active{box-shadow:none;font-weight:750}
.tk-pos-page .pos-item-card{border-radius:14px!important;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;text-align:left!important;min-height:142px;box-shadow:0 2px 5px #00000005;transition:border-color .16s,background .16s,box-shadow .16s}
.tk-pos-page .pos-item-name{font-weight:650;min-height:2.9em;margin-bottom:12px}
.tk-pos-page .pos-item-price{margin-top:auto;font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.tk-pos-page .pos-item-stock{margin-top:8px;gap:6px;line-height:1.4}
.tk-pos-page .pos-item-quantity{align-self:flex-start;border:1px solid var(--tk-border);font-size:.7rem}
.tk-pos-page .pos-item-card.just-added{box-shadow:inset 0 0 0 2px var(--tk-accent);background:var(--tk-accent-glow)}
.tk-pos-page .pos-item-card.out-of-stock{cursor:not-allowed}
.tk-pos-page .pos-cart{border-radius:18px;box-shadow:0 8px 28px #00000008}
.tk-pos-page .pos-cart-header{margin-bottom:12px}
.tk-pos-page .pos-ticket-status{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:0 0 10px;font-size:.78rem;color:var(--tk-text-secondary);overflow-wrap:anywhere}
.tk-pos-page .pos-state-chip{display:inline-flex;align-items:center;gap:6px;padding:5px 9px;border-radius:6px;background:var(--tk-surface-glass);border:1px solid var(--tk-border);font-size:.7rem;font-weight:750;line-height:1.5;color:var(--tk-text-primary)}
.tk-pos-page .pos-state-chip::before{content:'';width:6px;height:6px;border-radius:50%;background:currentColor;flex-shrink:0}
.tk-pos-page .pos-state-chip[data-state=unsaved]{color:#b45309;background:#f59e0b12;border-color:#f59e0b55}
.tk-pos-page .pos-state-chip[data-state=sent]{color:#047857;background:#10b98112;border-color:#10b98155}
.tk-pos-page .pos-state-chip[data-state=part-paid]{color:var(--tk-accent);background:var(--tk-accent-glow)}
html[data-theme=dark] .tk-pos-page .pos-state-chip[data-state=unsaved]{color:#fbbf24}
html[data-theme=dark] .tk-pos-page .pos-state-chip[data-state=sent]{color:#6ee7b7}
.tk-pos-page .cart-item{padding:14px 0;border-left:3px solid transparent;padding-left:8px}
.tk-pos-page .cart-item.is-sent{border-left-color:#10b98166}
.tk-pos-page .cart-item-meta{line-height:1.6}
.tk-pos-page .cart-item-controls{justify-content:flex-start;gap:6px}
.tk-pos-page .cart-line-total{margin-left:auto;font-variant-numeric:tabular-nums}
.tk-pos-page .cart-qty-btn:disabled,.tk-pos-page .pos-quantity-input:disabled{opacity:.5;cursor:not-allowed}
.tk-pos-page .cart-totals{border:1px solid var(--tk-border);background:var(--tk-surface-glass);border-radius:12px;padding:12px;margin-top:14px}
.tk-pos-page .cart-total-row{font-variant-numeric:tabular-nums;line-height:1.6;gap:10px}
.tk-pos-page .cart-total-row.grand{padding-top:10px;margin-top:8px;font-size:1.15rem}
.tk-pos-page .pos-ticket-actions{margin:14px 0 10px}
.tk-pos-page .pos-review-payment{margin-bottom:8px}
.tk-pos-page .pos-cart:has(#posPaymentPanel[open]) .pos-review-payment{display:none}
.tk-pos-page #posPaymentPanel{border:1px solid var(--tk-border);border-radius:12px;padding:10px;margin-top:12px}
.tk-pos-page #posPaymentPanel>summary{padding:8px;list-style:none}
.tk-pos-page #posPaymentPanel>summary::-webkit-details-marker{display:none}
.tk-pos-page #posPaymentPanel .pos-pay-methods{margin-top:10px}
.tk-pos-page .pos-pay-btn.active{border-color:var(--tk-accent);box-shadow:inset 0 0 0 1px var(--tk-accent)}
.tk-pos-page .pos-payment-review .pos-review-totals>div:nth-child(2){background:var(--tk-accent-glow);padding:14px 10px;border-radius:8px;border-bottom:0;font-size:1.05rem}
.tk-pos-page .pos-table-tools{display:grid;gap:10px;margin-bottom:14px}
.tk-pos-page .pos-table-tools>label{margin:0}
.tk-pos-page .pos-table-filters{display:flex;gap:6px;overflow-x:auto;padding:3px 2px 5px}
.tk-pos-page .pos-table-filters button{flex-shrink:0;min-height:44px;white-space:nowrap;padding:8px 16px;border:1px solid var(--tk-border);border-radius:8px;background:var(--tk-bg-card);color:var(--tk-text-secondary);font:inherit;font-size:.82rem;font-weight:650;cursor:pointer}
.tk-pos-page .pos-table-filters button.active{background:var(--tk-accent-glow);border-color:var(--tk-accent);color:var(--tk-accent)}
.tk-pos-page .pos-table-tile{transition:border-color .15s,background .15s}
.tk-pos-page .pos-table-tile:active:not(:disabled){background:var(--tk-accent-glow)}
.tk-pos-page .pos-back-menu{display:none}
@media(hover:hover){
 .tk-pos-page .pos-item-card:hover{transform:none!important;box-shadow:0 4px 14px #0000000d}
}
@media(hover:none){.tk-pos-page .pos-item-card:hover{transform:none!important;box-shadow:none}}
@media screen and (max-width:1024px){
 .tk-pos-page .pos-menu-toolbar{position:sticky;top:calc(118px + env(safe-area-inset-top,0px));z-index:20;border-radius:12px;padding:10px;gap:8px;box-shadow:0 4px 12px #00000008}
 .tk-pos-page .pos-menu-toolbar .pos-search-bar{position:static!important;box-shadow:none}
 .tk-pos-page .pos-menu-toolbar .pos-category-tabs{margin:0}
 .tk-pos-page .pos-menu-toolbar .pos-menu-count{font-size:.72rem}
 .tk-pos-page .pos-back-menu{display:flex;align-items:center;min-height:44px;margin:-4px 0 12px;padding:8px 0;background:none;border:0;color:var(--tk-accent);font:inherit;font-size:.85rem;font-weight:650;cursor:pointer}
 .tk-pos-page .pos-add-feedback{font-size:.78rem;padding:8px 12px}
 .tk-pos-page .pos-item-card{min-height:145px;padding:14px!important}
 .tk-pos-page .pos-workflow-bar{border-radius:12px!important}
 .tk-pos-page .pos-workflow-bar .pos-more summary{padding:10px 4px;min-height:44px;box-sizing:border-box}
 .tk-pos-page .pos-ticket-picker{max-height:calc(100dvh - 24px)!important;overscroll-behavior:contain;scroll-padding-top:65px}
 .tk-pos-page .pos-ticket-picker::backdrop{background:#0f172a80}
 .tk-pos-page .pos-table-tile{min-height:112px}
 .tk-pos-page .tk-pos-mobile-dock{gap:8px;padding-top:9px;box-shadow:0 -4px 18px #0000000d}
 .tk-pos-page .tk-pos-mobile-dock .tk-pos-cart-jump{font-size:.8rem;line-height:1.5;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
 .tk-pos-page .pos-ticket-actions button{min-height:48px}
 .tk-pos-page .cart-item-name{font-size:.93rem!important}
 .tk-pos-page .pos-review-actions{position:sticky;bottom:-14px;background:var(--tk-bg-card);padding:12px 0 2px}
 .tk-login-form-inner [data-pin-key]{min-height:48px;touch-action:manipulation}
 .tk-login-form-inner .tk-input{box-sizing:border-box;width:100%}
}
@media screen and (max-width:360px){
 .tk-pos-page .pos-item-card{padding:12px 10px!important}
 .tk-pos-page .pos-table-filters button{padding:8px 12px!important;font-size:.78rem}
 .tk-pos-page .pos-payment-review .pos-review-actions{flex-direction:column}
 .tk-pos-page .cart-item{padding-left:4px}
}
@media screen and (max-height:500px) and (orientation:landscape) and (max-width:1024px){
 .tk-pos-page .pos-menu-toolbar{position:static}
}
@media print{.pos-back-menu,.pos-table-tools,.pos-ticket-status{display:none!important}}

/* Compact command bar leaves actual products visible on a phone, not just navigation. */
.tk-pos-page :is(.tk-btn,.pos-complete-btn,.pos-cat-btn,.pos-pay-btn){letter-spacing:normal!important;text-transform:none!important}
.tk-pos-page .pos-cat-btn.active,.tk-pos-page .pos-pay-btn.active{background:var(--tk-accent-glow)!important;color:var(--tk-accent)!important;border-color:var(--tk-accent)!important;box-shadow:inset 0 0 0 1px var(--tk-accent)!important}
.tk-pos-page #posLastDocuments:not([hidden]){display:flex!important;gap:8px;padding:10px}
.tk-pos-page #posLastDocuments .tk-btn{flex:0 1 auto}
@media screen and (max-width:1024px){
 .tk-pos-page .tk-breadcrumb{display:none}
 .tk-pos-page #posWorkflow{grid-template-columns:repeat(3,minmax(0,1fr))!important;padding:10px;gap:6px!important;margin-bottom:12px}
 .tk-pos-page #posWorkflow>strong{grid-column:1/3;font-size:.85rem;align-self:center}
 .tk-pos-page #posWorkflow>.pos-more{grid-column:3;grid-row:1;justify-self:end}
 .tk-pos-page #posWorkflow>.pos-more .pos-more-menu{left:auto;right:0;width:min(250px,calc(100vw - 48px))}
 .tk-pos-page #posWorkflow>.pos-more>summary{font-size:.75rem;min-height:36px;padding:8px 0}
 .tk-pos-page #posWorkflow>.tk-btn:not(#posRetry){grid-row:2;padding:8px 5px!important;font-size:.8rem!important}
 .tk-pos-page #posWorkflow>#posRetry{grid-column:1/-1}
 .tk-pos-page #posLastDocuments .tk-btn{font-size:.8rem!important;padding:8px 10px!important}
 .tk-pos-page:has(#posLayout[data-mobile-view=menu]) #posFlowHint{display:none}
 .tk-pos-page #posLayout[data-cart-empty=true] #posAddFeedback{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%)}
 .tk-pos-page .pos-context-button{min-height:54px;padding:10px 12px}
 .tk-pos-page .pos-menu-toolbar{gap:6px}
}
@media screen and (max-width:640px){.tk-pos-page .pos-steps{display:none}}
@media(prefers-reduced-motion:reduce){
 .tk-pos-page :is(.pos-item-card,.pos-cat-btn,.pos-pay-btn,.pos-cart,.tk-btn){animation:none!important;transition:none!important}
}

html[data-theme=dark] .tk-pos-page{--tk-text-muted:#a3adc2;--tk-text-secondary:#c0c8d8}
#posSearch::-webkit-search-cancel-button{-webkit-appearance:none}

/* POS service-terminal refinement: scoped so other business screens keep their layout. */
.tk-pos-page .pos-connection-status{font-size:.72rem;line-height:1.5;color:var(--tk-text-secondary);display:inline-flex;align-items:center;gap:6px}
.tk-pos-page .pos-connection-status::before{content:'';width:7px;height:7px;border-radius:50%;background:#059669;flex-shrink:0}
.tk-pos-page .pos-connection-status[data-state=offline]::before{background:#d97706}
.tk-pos-page .pos-send-help{margin:-4px 0 14px;font-size:.75rem;line-height:1.6;color:var(--tk-text-secondary)}
.tk-pos-page .pos-state-chip{font-size:.72rem;letter-spacing:.02em}
.tk-pos-page .pos-ticket-status{gap:10px;flex-wrap:wrap}
.tk-pos-page .cart-total-row{font-variant-numeric:tabular-nums}
.tk-pos-page .cart-total-row.grand{font-size:1.2rem;padding-top:14px}
.tk-pos-page .pos-item-card.just-added{box-shadow:inset 0 0 0 2px var(--tk-accent)!important}
.tk-pos-page .pos-item-card[aria-disabled=true]{pointer-events:none}
.tk-pos-page .pos-quantity-input:disabled{opacity:.7}
.tk-pos-page .pos-ticket-picker{overscroll-behavior:contain;scrollbar-width:thin}
.tk-pos-page .pos-review-totals>div:nth-child(2) dd{font-size:1.25rem}
.tk-pos-page .pos-review-totals>div:nth-child(4) dd{color:var(--tk-accent)}
.tk-pos-page .pos-tender-btn{font-variant-numeric:tabular-nums;border-radius:8px}
.tk-pos-page .pos-tender-btn:first-child{border-color:var(--tk-accent);background:var(--tk-accent-glow);font-weight:700}
.tk-pos-page .pos-menu-toolbar{display:grid;gap:10px}
.tk-pos-page .pos-cart-header{gap:8px}
.tk-pos-page #posTicketLabel{line-height:1.5;overflow-wrap:anywhere}
.tk-pos-page #posRetry{border-color:#d97706;font-weight:700}
@media screen and (max-width:1024px){
 .tk-pos-page #posWorkflow .pos-connection-status{grid-column:1/-1;grid-row:3}
 .tk-pos-page .pos-menu-toolbar{position:sticky;top:calc(118px + env(safe-area-inset-top,0px));z-index:21;background:var(--tk-bg-card);padding:10px;border:1px solid var(--tk-border);border-radius:12px;gap:6px}
 .tk-pos-page .pos-menu-toolbar .pos-search-bar{position:static!important;padding:5px 10px}
 .tk-pos-page .pos-category-tabs{padding-bottom:3px;scrollbar-width:thin;scroll-padding:8px}
 .tk-pos-page .pos-menu-count{font-size:.72rem}
 .tk-pos-page .pos-item-card{border-radius:10px!important;min-height:120px;box-shadow:none!important}
 .tk-pos-page .pos-item-card.just-added{outline:2px solid var(--tk-accent);outline-offset:-2px}
 .tk-pos-page .pos-more-menu{max-width:calc(100vw - 56px)}
 .tk-pos-page .pos-search-bar:focus-within{border-color:var(--tk-accent)}
 .tk-pos-page .pos-ticket-picker input,.tk-pos-page .pos-ticket-picker select{width:100%;min-width:0}
 .tk-pos-page .pos-payment-review .pos-review-actions{position:sticky;bottom:-14px;padding:12px 0;background:var(--tk-bg-card)}
 .tk-pos-page .pos-payment-review .pos-review-actions button{flex:1 1 130px}
 .tk-pos-page .pos-cart-title{font-size:1rem;flex-wrap:wrap}
 .tk-pos-page .tk-pos-mobile-dock button{line-height:1.4;min-width:0;overflow-wrap:anywhere;touch-action:manipulation}
 .tk-pos-page #posMobileCartSummary{font-size:.8rem;font-variant-numeric:tabular-nums}
}
@media screen and (max-height:500px) and (max-width:1024px){
 .tk-pos-page .pos-menu-toolbar{position:static}
}

/* Focused ordering and inventory editor refinements (no theme or role changes). */
.tk-inventory-editor{margin-bottom:22px;scroll-margin-top:135px;border:1px solid var(--tk-accent)}
.tk-inventory-edit-heading{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}
.tk-inventory-edit-heading h2{margin:0 0 6px;color:var(--tk-text-primary);font-size:1.2rem}
.tk-inventory-edit-heading p{margin:0;color:var(--tk-text-secondary);line-height:1.6;font-size:.88rem}
.tk-inventory-editor .tk-input,.tk-inventory-editor .tk-select{width:100%;box-sizing:border-box}
.tk-inventory-switches{display:flex;flex-wrap:wrap;gap:12px 24px;margin:18px 0}
.tk-inventory-switches label{display:flex;align-items:center;gap:10px;min-height:44px;color:var(--tk-text-primary);cursor:pointer}
.tk-inventory-switches input{width:22px;height:22px;accent-color:var(--tk-accent)}
.tk-inventory-edit-actions,.tk-inventory-scopes{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0}
.tk-inventory-scopes [aria-current="page"]{border-color:var(--tk-accent);background:var(--tk-accent-glow);color:var(--tk-text-primary)}
.tk-inventory-row-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.tk-inventory-row-actions>a{font-size:.8rem;min-height:40px;white-space:nowrap}
.tk-inventory-editor .tk-form-grid>div{min-width:0}
.tk-pos-page .pos-browse-controls{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px}
.tk-pos-page #posNextQuantity{min-height:44px;font-weight:700;font-variant-numeric:tabular-nums}
.tk-pos-page #posNextQuantity.is-multiple{background:var(--tk-accent-glow);border-color:var(--tk-accent);color:var(--tk-text-primary)}
.tk-pos-page .pos-available-toggle{display:flex;align-items:center;gap:8px;min-height:44px;cursor:pointer;font-size:.82rem;color:var(--tk-text-secondary)}
.tk-pos-page .pos-available-toggle input{width:20px;height:20px;min-height:20px;accent-color:var(--tk-accent)}
.tk-pos-page .pos-line-keypad{border:1px solid var(--tk-border);border-radius:8px;background:var(--tk-surface-glass);color:var(--tk-text-primary);font:inherit;font-size:.75rem;min-height:36px;padding:6px 10px;cursor:pointer;margin-right:auto}
.tk-pos-page .pos-line-keypad:disabled{opacity:.45;cursor:not-allowed}
.tk-pos-page .pos-quantity-dialog{width:min(400px,calc(100vw - 24px))!important;max-height:calc(100dvh - 24px);padding:20px;box-sizing:border-box;overflow-y:auto;border-radius:18px}
.tk-pos-page .pos-quantity-dialog .pos-picker-heading{align-items:flex-start;gap:10px}
.tk-pos-page .pos-quantity-dialog h2{font-size:1.1rem;overflow-wrap:anywhere;margin:0}
.tk-pos-page #posQuantityValue{width:100%;text-align:center;font-size:1.8rem!important;font-weight:750;min-height:60px;font-variant-numeric:tabular-nums}
.tk-pos-page .pos-number-pad{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:14px 0}
.tk-pos-page .pos-number-pad button{min-height:52px;padding:8px;font-size:1.15rem;touch-action:manipulation}
.tk-pos-page .pos-number-pad button[data-digit="Backspace"],.tk-pos-page .pos-number-pad button[data-digit="Clear"]{font-size:.8rem}
.tk-pos-page .pos-quantity-apply{width:100%;min-height:48px}
.tk-pos-page .pos-quantity-error{color:#dc2626;font-size:.85rem;line-height:1.5;min-height:1.4em;margin:8px 0}
@media(max-width:1024px){
 .tk-pos-page .pos-line-keypad{min-height:44px;font-size:.8rem}
 .tk-inventory-editor .tk-form-grid{gap:14px!important}
 .tk-inventory-edit-heading{flex-wrap:wrap}
 .tk-inventory-edit-actions{position:sticky;bottom:0;background:var(--tk-bg-card);padding:12px 0;margin-bottom:0;border-top:1px solid var(--tk-border);z-index:2}
 .tk-inventory-edit-actions>*{flex:1 1 140px}
 .tk-inventory-table td.tk-inventory-row-actions{flex-wrap:wrap;justify-content:flex-end}
 .tk-pos-page .pos-item-card:hover{transform:none!important}
 .tk-pos-page .pos-item-name{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;white-space:normal!important;overflow:hidden}
}
@media(max-width:480px){
 .tk-inventory-scopes{display:grid;grid-template-columns:minmax(0,1fr)}
 .tk-inventory-switches{display:grid;gap:4px}
 .tk-pos-page .pos-cart .cart-item-controls{gap:6px!important}
 .tk-pos-page .pos-line-keypad{padding:6px 8px}
 .tk-pos-page .pos-browse-controls .tk-btn{padding:8px 10px;font-size:.8rem}
}
@media(max-height:600px) and (max-width:1024px){
 .tk-pos-page .pos-quantity-dialog{padding:12px}
 .tk-pos-page .pos-number-pad{gap:5px;margin:8px 0}
 .tk-pos-page .pos-number-pad button{min-height:40px}
 .tk-pos-page .pos-quantity-dialog .pos-help{margin:6px 0;font-size:.76rem}
}
@media(prefers-reduced-motion:reduce){.tk-pos-page .pos-item-card,.tk-pos-page .cart-item{animation:none!important;transition:none!important}}
.tk-pos-page .cart-item-info:has(.pos-line-keypad){position:relative;padding-right:72px;min-height:44px;box-sizing:border-box}
.tk-pos-page .cart-item-info .pos-line-keypad{position:absolute;right:0;top:0;margin:0;min-height:40px}
.tk-pos-page .cart-line-total{white-space:nowrap}

/* 2026-11-06: focused, Samba-style touch ordering; no transaction rules changed. */
.tk-pos-page .pos-workspace-heading{display:flex;justify-content:space-between;align-items:end;gap:18px;margin:0 0 20px}
.tk-pos-page .pos-eyebrow{margin:0 0 7px;color:var(--tk-text-muted);font-size:.67rem;font-weight:750;letter-spacing:.12em}
.tk-pos-page .pos-workspace-heading h1{font-size:1.7rem;line-height:1.15;margin:0;color:var(--tk-text-primary);letter-spacing:-.04em}
.tk-pos-page .pos-workspace-heading>p{font-size:.85rem;color:var(--tk-text-secondary);margin:0;max-width:280px;line-height:1.5}
.tk-pos-page #posWorkflow{margin-bottom:16px;border-radius:14px;box-shadow:none}
.tk-pos-page #posWorkflow>strong{flex:1 1 200px;overflow-wrap:anywhere}
.tk-pos-page .pos-steps{gap:0;border-bottom:1px solid var(--tk-border);padding-bottom:12px;margin-bottom:10px}
.tk-pos-page .pos-steps li{border:0;border-radius:8px;background:none;flex:1;font-weight:600}
.tk-pos-page .pos-steps [aria-current=step]{background:var(--tk-accent-glow);box-shadow:inset 0 -2px var(--tk-accent)}
.tk-pos-page .pos-context-button{border-left:4px solid var(--tk-accent);min-height:70px}
.tk-pos-page .pos-menu-toolbar{padding:14px;border:1px solid var(--tk-border);border-radius:14px;background:var(--tk-bg-card);display:grid;gap:12px}
.tk-pos-page .pos-search-bar{border-radius:10px;background:var(--tk-bg-input)}
.tk-pos-page .pos-menu-filters{display:flex;flex-wrap:wrap;gap:8px 14px}
.tk-pos-page .pos-available-toggle{font-size:.78rem;line-height:1.4}
.tk-pos-page .pos-category-tabs{gap:8px;padding-bottom:4px}
.tk-pos-page .pos-cat-btn{font-weight:700}
.tk-pos-page .pos-item-card{min-height:140px;border-radius:14px;border-bottom-width:3px;display:flex;flex-direction:column;justify-content:center;gap:5px}
.tk-pos-page .pos-item-name{min-height:0;margin-bottom:2px;font-weight:700}
.tk-pos-page .pos-item-price{margin-top:auto;padding-top:6px;font-variant-numeric:tabular-nums}
.tk-pos-page .pos-item-quantity{align-self:start;margin:0 0 4px;border-radius:5px}
.tk-pos-page .pos-item-card.out-of-stock{pointer-events:none;border-style:dashed;opacity:.65}
.tk-pos-page .pos-item-card.out-of-stock::after{transform:none;top:auto;bottom:0;left:0;right:0;border-radius:0;font-size:.6rem;text-align:center;padding:3px}
.tk-pos-page .pos-cart{border-radius:16px}
.tk-pos-page .cart-item-controls{font-variant-numeric:tabular-nums}
.tk-pos-page .pos-checkout-heading{display:none}
.tk-pos-page .pos-mobile-next{background:#047857!important;border-color:#047857!important;color:#fff!important}
.tk-pos-page .pos-review-payment{min-height:48px;width:100%}
.tk-pos-page .pos-ticket-status{flex-wrap:wrap}
.tk-pos-page .pos-ticket-picker{overscroll-behavior:contain}
.tk-pos-page .pos-review-actions{position:sticky;bottom:0;background:var(--tk-bg-card);padding:12px 0 0;z-index:2}
@media(min-width:1280px){
 .tk-pos-page .cart-item{display:grid;grid-template-columns:minmax(0,1fr);gap:8px}
 .tk-pos-page .cart-item-controls{gap:6px!important;justify-content:start}
 .tk-pos-page .cart-line-total{margin-left:auto}
}
@media(max-width:1024px){
 .tk-pos-page .tk-breadcrumb{display:none}
 .tk-pos-page .pos-workspace-heading{margin:0 0 14px;align-items:center}
 .tk-pos-page .pos-workspace-heading h1{font-size:1.4rem}
 .tk-pos-page .pos-workspace-heading>p{display:none}
 .tk-pos-page .pos-workflow-bar{grid-template-columns:repeat(3,minmax(0,1fr))!important}
 .tk-pos-page #posConnectionStatus{grid-column:1/-1;justify-self:start}
 .tk-pos-page #posWorkflow .pos-more{grid-column:auto}
 .tk-pos-page #posWorkflow .pos-more summary{padding:10px 6px;min-height:44px;box-sizing:border-box}
 .tk-pos-page .pos-more-menu{left:auto;right:0}
 .tk-pos-page .pos-menu-toolbar{position:static;padding:12px;gap:10px}
 .tk-pos-page .pos-items-grid{gap:12px!important}
 .tk-pos-page .pos-item-card{min-height:144px}
 .tk-pos-page .tk-pos-mobile-dock{grid-template-columns:minmax(52px,.6fr) minmax(105px,1.3fr) minmax(100px,1.1fr);gap:7px}
 .tk-pos-page .tk-pos-mobile-dock button{font-size:.8rem;line-height:1.4;min-height:52px}
 .tk-pos-page .tk-pos-mobile-dock .tk-pos-cart-jump{background:var(--tk-accent-glow);border-color:var(--tk-border);color:var(--tk-text-primary)!important}
 .tk-pos-page .tk-pos-mobile-dock .tk-pos-cart-jump span{color:var(--tk-text-primary)!important}
 .tk-pos-page #posLayout[data-mobile-view=pay] #posMenuPanel{display:none!important}
 .tk-pos-page #posLayout[data-mobile-view=pay] #posCartPanel{display:flex!important}
 .tk-pos-page #posLayout[data-mobile-view=pay] .pos-checkout-heading{display:flex;flex-direction:column;gap:8px;padding-bottom:18px;border-bottom:1px solid var(--tk-border);margin-bottom:8px}
 .tk-pos-page .pos-checkout-heading .pos-back-menu{display:block;align-self:start;margin-bottom:8px;min-height:44px}
 .tk-pos-page .pos-checkout-heading h2{font-size:1.3rem;margin:0;color:var(--tk-text-primary)}
 .tk-pos-page .pos-checkout-heading p{margin:0;color:var(--tk-text-secondary);font-size:.85rem}
 .tk-pos-page .pos-checkout-heading strong{font-size:2rem;line-height:1.4;font-variant-numeric:tabular-nums;color:var(--tk-text-primary)}
 .tk-pos-page .pos-checkout-heading>span{color:var(--tk-text-muted);font-size:.78rem;line-height:1.5}
 .tk-pos-page #posLayout[data-mobile-view=pay] #posCartPanel>:is(.pos-continue-menu,.pos-cart-header,.pos-table-heading,#posTable,.pos-ticket-status,#posBalance,.pos-customer-options,.cart-items-list){display:none!important}
 .tk-pos-page #posLayout[data-mobile-view=pay] #cartTotals>:is(.cart-totals,.pos-ticket-actions,.pos-send-help,#posReviewPaymentButton,.pos-discount-options){display:none!important}
 .tk-pos-page #posLayout[data-mobile-view=pay] #posPaymentPanel{border:0;margin-top:0}
 .tk-pos-page #posLayout[data-mobile-view=pay] #posPaymentPanel>summary{display:none}
 .tk-pos-page #posLayout[data-mobile-view=pay] .pos-complete-btn{margin-bottom:6px}
 .tk-pos-page .pos-pay-btn{min-height:52px!important}
 .tk-pos-page .pos-review-actions{padding-bottom:max(8px,env(safe-area-inset-bottom,0px))}
}
@media(max-width:380px){
 .tk-pos-page .tk-pos-mobile-dock{padding-left:8px;padding-right:8px;gap:5px;grid-template-columns:48px minmax(100px,1.15fr) minmax(98px,1fr)}
 .tk-pos-page .tk-pos-mobile-dock button{padding:6px;font-size:.74rem}
 .tk-pos-page .pos-menu-filters{gap:4px 10px}
 .tk-pos-page .pos-workflow-bar .tk-btn{font-size:.76rem!important}
}
/* Compact landscape devices retain usable space and a single page scroll. */
@media(max-width:1024px) and (max-height:500px){
 .tk-pos-page .tk-topbar{position:static!important}
 .tk-pos-page .pos-workspace-heading,.tk-pos-page #posFlowHint{display:none}
 .tk-pos-page .pos-items-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}
 .tk-pos-page .pos-ticket-picker{max-height:calc(100dvh - 16px)!important}
}

.tk-pos-page .pos-filter-menu{position:relative}
.tk-pos-page .pos-filter-menu>summary{min-height:44px;display:flex;align-items:center;gap:6px;color:var(--tk-text-secondary);font-size:.8rem;font-weight:650;cursor:pointer;padding:0 10px;border:1px solid var(--tk-border);border-radius:8px;list-style:none}
.tk-pos-page .pos-filter-menu>summary::after{content:'⌄';margin-left:5px}
.tk-pos-page .pos-filter-menu>summary::-webkit-details-marker{display:none}
.tk-pos-page .pos-filter-menu>.pos-menu-filters{position:absolute;right:0;top:calc(100% + 5px);z-index:35;display:grid;gap:0;min-width:185px;padding:10px 12px;background:var(--tk-bg-card);border:1px solid var(--tk-border);border-radius:10px;box-shadow:0 6px 18px #0002}
@media(max-width:1024px){
 .tk-pos-page #posWorkflow>strong{grid-column:1/3;grid-row:1}
 .tk-pos-page #posWorkflow>.pos-more{grid-column:3;grid-row:1;justify-self:end}
 .tk-pos-page #posWorkflow .pos-connection-status[data-state=online]{display:none}
 .tk-pos-page #posWorkflow .pos-more>summary{font-size:.72rem;white-space:nowrap}
 .tk-pos-page .pos-context-button{min-height:58px}
 .tk-pos-page .pos-menu-toolbar{gap:8px}
 .tk-pos-page .pos-menu-toolbar .pos-menu-count{font-size:.7rem}
 .tk-pos-page .pos-filter-menu>.pos-menu-filters{gap:4px}
 .tk-pos-page .pos-ticket-actions{position:static}
}

@media(max-width:1024px){
 /* The app header already names the terminal. Prioritize products on small screens. */
 .tk-pos-page .pos-workspace-heading{display:none}
 .tk-pos-page #posAddFeedback{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;overflow:hidden!important;clip-path:inset(50%)}
 .tk-pos-page #posLastDocuments:not([hidden]){padding:6px;gap:6px;flex-wrap:nowrap;overflow-x:auto}
 .tk-pos-page #posLastDocuments .tk-btn{min-height:44px;padding:6px 10px!important;white-space:nowrap!important;flex-shrink:0}
 .tk-pos-page.pos-keyboard-open .tk-pos-mobile-dock{display:none!important}
 .tk-pos-page.pos-keyboard-open .tk-content{padding-bottom:24px!important}
}
/* Management pages keep business behavior; only controls and scrolling adapt. */
@media(max-width:1024px){
 .tk-filter-bar{flex-wrap:wrap}
 .tk-filter-bar>input,.tk-filter-bar>select{flex:1 1 150px}
 .tk-modal :is(input,select,textarea){max-width:100%;box-sizing:border-box}
 .tk-modal-backdrop{max-height:100dvh;overflow-y:auto;overscroll-behavior:contain}
 .tk-modal{scroll-padding-bottom:90px}
 .tk-modal :is(h2,h3),.tk-action-bar :is(h1,h2,h3){overflow-wrap:anywhere}
}

/* Management visual refresh — presentation only, November 2026.
   Keep the established brand, navigation, responsive POS and print workflows. */
html body {
  --tk-text-muted: #a2aec4;
  --tk-border: #2b374d;
  --tk-refresh-shadow: 0 4px 18px rgba(0, 0, 0, .15);
  --tk-refresh-hover: 0 10px 26px rgba(0, 0, 0, .22);
  --tk-refresh-tint: rgba(111, 204, 222, .075);
  --tk-refresh-ring: #6fccde;
}
html.light body {
  --tk-bg-primary: #f3f5fa;
  --tk-bg-card: #ffffff;
  --tk-bg-input: #f8fafd;
  --tk-text-primary: #18243b;
  --tk-text-secondary: #46556e;
  --tk-text-muted: #5e6d85;
  --tk-border: #dce3ee;
  --tk-refresh-shadow: 0 3px 16px rgba(30, 50, 90, .055);
  --tk-refresh-hover: 0 8px 24px rgba(30, 50, 90, .10);
  --tk-refresh-tint: #f3f6fc;
  --tk-refresh-ring: #354ba3;
}
html body .tk-content :is(.tk-card, .tk-stat-card, .tk-kpi-hero-card) {
  background: var(--tk-bg-card);
  border: 1px solid var(--tk-border);
  border-radius: 18px;
  box-shadow: var(--tk-refresh-shadow);
  transition: border-color .18s ease, box-shadow .18s ease;
  transform: none;
}
html body .tk-content :is(.tk-card, .tk-stat-card, .tk-kpi-hero-card):hover {
  transform: none;
  box-shadow: var(--tk-refresh-hover);
  border-color: var(--tk-border);
}
html body .tk-content :is(.tk-stat-card, .tk-kpi-hero-card) {
  padding: 22px;
  border-top: 3px solid var(--tk-accent);
  min-width: 0;
}
html body .tk-content :is(.tk-stat-card, .tk-kpi-hero-card)::before,
html body .tk-content .tk-stat-card::after { display: none; }
html body .tk-content :is(.tk-stat-value, .tk-kpi-hero-value) {
  color: var(--tk-text-primary);
  -webkit-text-fill-color: var(--tk-text-primary);
  background: none;
  font-size: clamp(1.35rem, 1.75vw, 2rem);
  line-height: 1.25;
  letter-spacing: -.035em;
  font-variant-numeric: tabular-nums;
  overflow-wrap: anywhere;
}
html body .tk-content :is(.tk-stat-label, .tk-kpi-hero-label, .tk-card-subheading) {
  color: var(--tk-text-muted);
  line-height: 1.55;
}
html body .tk-content :is(.tk-card-heading, .tk-card-title-text) {
  letter-spacing: -.02em;
  line-height: 1.4;
}
html body .tk-content .tk-card-header {
  border-bottom: 1px solid var(--tk-border);
  padding-bottom: 18px;
  margin-bottom: 20px;
  gap: 14px;
}
html body .tk-content :is(.tk-card-icon, .tk-kpi-hero-icon) {
  border-radius: 13px;
  box-shadow: 0 3px 9px rgba(25, 45, 85, .12);
  flex-shrink: 0;
}
html body .tk-content .tk-table-wrap {
  border: 1px solid var(--tk-border);
  border-radius: 12px;
  background: var(--tk-bg-card);
}
html body .tk-content table { border-collapse: collapse; }
html body .tk-content thead th {
  background: var(--tk-refresh-tint);
  color: var(--tk-text-secondary);
  padding-top: 14px;
  padding-bottom: 14px;
  font-size: .74rem;
  font-weight: 700;
  letter-spacing: .045em;
  border-bottom: 1px solid var(--tk-border);
}
html body .tk-content tbody td {
  padding-top: 14px;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--tk-border);
  font-variant-numeric: tabular-nums;
}
html body .tk-content tbody tr:last-child td { border-bottom: 0; }
html body .tk-content tbody tr:hover { background: var(--tk-refresh-tint); }
html body :is(.tk-input, .tk-select, .tk-textarea) {
  border: 1px solid var(--tk-border);
  background-color: var(--tk-bg-input);
  border-radius: 10px;
  color: var(--tk-text-primary);
  transition: border-color .15s ease, box-shadow .15s ease;
}
html body :is(.tk-input, .tk-select, .tk-textarea):focus {
  border-color: var(--tk-refresh-ring);
  box-shadow: 0 0 0 3px var(--tk-refresh-tint);
}
html body .tk-btn {
  border-radius: 10px;
  font-weight: 650;
  letter-spacing: .005em;
  transition: background-color .15s ease, box-shadow .15s ease;
}
html body .tk-btn:hover { transform: none; }
html body .tk-nav-item { border-radius: 10px; margin-bottom: 3px; }
html body .tk-nav-item.tk-nav-active {
  background: var(--tk-refresh-tint);
  color: var(--tk-accent);
  box-shadow: inset 3px 0 0 var(--tk-accent);
}
html body .tk-nav-item.tk-nav-active::before { display: none; }
html body .tk-topbar { border-bottom-color: var(--tk-border); }
html body .tk-login-form-card {
  background: var(--tk-bg-card);
  border: 1px solid var(--tk-border);
  border-radius: 22px;
  box-shadow: var(--tk-refresh-shadow);
}
html body :is(button, a, input, select, textarea, summary, [tabindex]):focus-visible {
  outline: 3px solid var(--tk-refresh-ring);
  outline-offset: 3px;
}
html body :is(button, input, select, textarea):disabled {
  opacity: .55;
  cursor: not-allowed;
}
@media (max-width: 640px) {
  html body .tk-content :is(.tk-card, .tk-stat-card, .tk-kpi-hero-card) { border-radius: 14px; }
  html body .tk-content :is(.tk-stat-card, .tk-kpi-hero-card) { padding: 18px; }
  html body .tk-content :is(.tk-stat-value, .tk-kpi-hero-value) { font-size: 1.55rem; }
}
@media (prefers-reduced-motion: reduce) {
  html body *, html body *::before, html body *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
    scroll-behavior: auto !important;
  }
}
@media print {
  html body .tk-content :is(.tk-card, .tk-stat-card, .tk-kpi-hero-card) {
    box-shadow: none;
    break-inside: avoid;
  }
}
