:root{--navy:#13233f;--blue:#1769e0;--blue2:#0c54c5;--line:#dce4ef;--muted:#68758a;--surface:#fff;--bg:#f2f5f9;--danger:#c73737;--green:#1b9b65}*{box-sizing:border-box}button{font:inherit}.pos-body{margin:0;background:var(--bg);color:var(--navy);font-family:Inter,Segoe UI,Arial,sans-serif;overflow:hidden}.pos-header{height:58px;padding:0 18px;background:var(--navy);color:#fff;display:flex;align-items:center;gap:20px}.pos-brand{color:#fff;font-size:20px;font-weight:900;text-decoration:none}.pos-header-meta{margin-left:auto;display:flex;align-items:center;gap:8px;font-size:14px}.online-dot{width:8px;height:8px;border-radius:50%;background:#35dc92}.header-link{min-height:40px;padding:10px 16px;border:1px solid #ffffff3b;border-radius:10px;color:#fff;text-decoration:none;font-weight:700}.pos-layout{height:calc(100vh - 58px);display:grid;grid-template-columns:minmax(0,1fr) 430px}.catalog-panel{min-width:0;padding:18px 20px;overflow:auto}.search-strip{display:grid;grid-template-columns:minmax(190px,1fr) 150px minmax(230px,1.3fr);gap:12px;position:relative}.touch-input,.scan-button{min-height:62px;border:1px solid var(--line);border-radius:13px;background:#fff;text-align:left;padding:9px 16px;color:var(--navy);cursor:pointer}.touch-input span{display:block;color:var(--muted);font-size:12px}.touch-input strong{display:block;margin-top:4px;font-size:17px}.scan-button{display:flex;align-items:center;justify-content:center;gap:10px;background:var(--navy);color:#fff;text-align:center;font-weight:800}.scan-icon{font-size:25px}.scanner-capture{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.category-list{display:flex;gap:10px;overflow:auto;padding:18px 0 8px;scrollbar-width:none}.category-button{flex:0 0 auto;min-height:48px;padding:0 22px;border:1px solid var(--line);border-radius:24px;background:#fff;color:var(--navy);font-weight:800;cursor:pointer}.category-button.active{background:var(--blue);border-color:var(--blue);color:#fff}.catalog-heading{display:flex;align-items:end;justify-content:space-between;margin:18px 2px 14px}.catalog-heading h1{margin:2px 0 0;font-size:25px}.eyebrow{margin:0;color:var(--blue);font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.count-pill{padding:7px 11px;border-radius:20px;background:#e3ebf6;color:#526078;font-weight:700}.product-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(155px,1fr));gap:14px;padding-bottom:20px}.product-card{min-height:205px;padding:0;border:1px solid var(--line);border-radius:16px;background:#fff;overflow:hidden;text-align:left;box-shadow:0 3px 12px #1f33500a;cursor:pointer;touch-action:manipulation}.product-card:active{transform:scale(.97)}.product-image{height:116px;display:flex;align-items:center;justify-content:center;font-size:48px;background:linear-gradient(145deg,var(--tile-a),var(--tile-b));color:#fff}.product-copy{display:block;padding:12px}.product-copy strong{display:block;min-height:38px;line-height:1.18}.product-copy small{display:block;margin-top:5px;color:var(--muted)}.product-copy b{display:block;margin-top:8px;color:var(--blue);font-size:16px}.empty-state{padding:50px;text-align:center;color:var(--muted)}.order-panel{background:#fff;border-left:1px solid var(--line);display:flex;min-height:0;flex-direction:column}.order-context{padding:14px 16px;border-bottom:1px solid var(--line)}.order-topline{display:flex;align-items:center;justify-content:space-between}.order-topline>div span,.order-topline>div strong{display:block}.order-label{font-size:12px;color:var(--muted)}.small-touch{min-height:42px;padding:0 17px;border:1px solid var(--line);border-radius:10px;background:#fff;font-weight:800}.dine-types{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:13px 0}.dine-button{min-height:48px;border:1px solid var(--line);border-radius:10px;background:#f7f9fc;color:#526078;font-weight:900;font-size:12px}.dine-button.active{background:var(--blue);border-color:var(--blue);color:#fff}.customer-card{width:100%;min-height:64px;padding:8px 10px;border:1px solid var(--line);border-radius:12px;background:#fff;display:grid;grid-template-columns:42px 1fr 15px;align-items:center;text-align:left}.customer-avatar{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#e6efff;color:var(--blue);font-weight:900}.customer-card small,.customer-card strong,.customer-card em{display:block}.customer-card em{margin-top:2px;color:var(--muted);font-size:11px;font-style:normal}.context-row{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}.context-row button{min-height:53px;border:1px solid var(--line);border-radius:10px;background:#fff;text-align:left;padding:7px 11px}.context-row small,.context-row strong{display:block}.context-row small{color:var(--muted)}.cart-section{min-height:0;flex:1;display:flex;flex-direction:column}.cart-heading{padding:12px 16px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.cart-heading h2{font-size:17px;margin:0}.cart-heading span{color:var(--muted);font-size:13px}.cart-lines{overflow:auto}.cart-line{padding:11px 14px;border-bottom:1px solid #edf1f6;display:grid;grid-template-columns:1fr auto;gap:8px}.cart-line-name strong,.cart-line-name small{display:block}.cart-line-name small{margin-top:3px;color:var(--muted)}.cart-line-price{text-align:right}.cart-line-price strong{display:block}.quantity-control{display:flex;align-items:center;gap:5px;margin-top:8px}.quantity-control button{width:37px;height:37px;border:1px solid var(--line);border-radius:9px;background:#f5f8fc;font-size:21px;font-weight:800}.quantity-control span{min-width:33px;text-align:center;font-weight:900}.remove-line{color:var(--danger)!important;font-size:15px!important}.empty-cart{flex:1;display:flex;min-height:180px;align-items:center;justify-content:center;flex-direction:column;color:#9aa5b4}.empty-cart span{font-size:36px}.empty-cart small{margin-top:5px}.checkout-panel{padding:12px 16px;border-top:1px solid var(--line);box-shadow:0 -6px 20px #23334c0a}.total-row,.grand-total{display:flex;justify-content:space-between;align-items:center;margin:6px 0}.total-row.muted{color:var(--muted);font-size:13px}.total-row button{border:0;background:none;color:var(--blue);font-weight:800}.grand-total{margin-top:10px;font-size:22px;font-weight:900}.pay-button{width:100%;min-height:64px;margin-top:10px;padding:0 19px;border:0;border-radius:14px;background:linear-gradient(135deg,var(--blue),var(--blue2));color:#fff;display:flex;justify-content:space-between;align-items:center;font-weight:900;font-size:17px}.pay-button:disabled{opacity:.55}.pos-message{min-height:18px;margin:7px 0 0;text-align:center;font-size:12px;color:var(--green)}.pos-message.error{color:var(--danger)}.pos-dialog{width:min(640px,calc(100vw - 24px));padding:0;border:0;border-radius:18px;color:var(--navy);box-shadow:0 24px 70px #0c19365c}.pos-dialog::backdrop{background:#0c172aba;backdrop-filter:blur(3px)}.dialog-head{padding:17px 19px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}.dialog-head small,.dialog-head strong{display:block}.dialog-head small{color:var(--muted)}.dialog-head strong{font-size:23px}.dialog-close{width:48px;height:48px;border:0;border-radius:50%;background:#eef2f7;font-size:29px}.keypad{padding:16px;display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.keypad button,.keyboard button{min-height:58px;border:1px solid var(--line);border-radius:11px;background:#f7f9fc;font-size:21px;font-weight:900}.dialog-actions{display:flex;gap:9px;padding:0 16px 16px}.dialog-actions button{flex:1;min-height:54px;border:1px solid var(--line);border-radius:11px;background:#fff;font-weight:900}.dialog-actions .primary{background:var(--blue);border-color:var(--blue);color:#fff}.keyboard{padding:16px;display:grid;grid-template-columns:repeat(10,1fr);gap:6px}.keyboard button{min-height:53px;font-size:16px}.list-dialog{max-height:min(720px,90vh)}.dialog-list{max-height:550px;overflow:auto;padding:8px}.dialog-list-item{width:100%;min-height:64px;border:0;border-bottom:1px solid var(--line);background:#fff;padding:10px 15px;display:flex;gap:12px;align-items:center;text-align:left}.dialog-list-item span strong,.dialog-list-item span small{display:block}.dialog-list-item span small{color:var(--muted);margin-top:3px}
@media(max-width:1000px){.pos-layout{grid-template-columns:minmax(0,1fr) 380px}.product-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}}@media(max-width:760px){.pos-body{overflow:auto}.pos-layout{height:auto;display:flex;flex-direction:column}.catalog-panel{overflow:visible}.order-panel{border:0;min-height:650px}.search-strip{grid-template-columns:1fr 1fr}.search-touch{grid-column:1/-1}.product-grid{grid-template-columns:repeat(2,1fr)}.keyboard{grid-template-columns:repeat(7,1fr)}.pos-header-meta{display:none}}@media(pointer:coarse){button{touch-action:manipulation}.category-button,.dine-button,.context-row button{min-height:52px}}

.product-image{display:block;width:100%;height:116px;object-fit:cover;background:#dbe5f3}

[hidden]{display:none!important}
.order-panel{overflow:hidden}
.cart-section{overflow:hidden}
.cart-lines{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden}
.cart-line{min-width:0}
.cart-line-name{min-width:0}
.cart-line-name strong{overflow-wrap:anywhere}
.cart-line-price{white-space:nowrap}
.quantity-control{flex-wrap:wrap}
.checkout-panel{flex:0 0 auto;background:#fff}

@media(max-width:760px){
    .order-panel{overflow:visible}
    .cart-section{min-height:360px;overflow:visible}
    .cart-lines{max-height:480px;overflow-y:auto}
}

.category-button[style]{border-color:var(--category-color)}
.category-button[style].active{background:var(--category-color);border-color:var(--category-color);color:#fff}
.line-discount-button{width:max-content;max-width:100%;margin-top:3px;padding:1px 6px;border:1px solid #b9cff0;border-radius:7px;background:#eef5ff;color:var(--blue);font-size:9px;font-weight:900;white-space:nowrap}
.discount-dialog{width:min(520px,calc(100vw - 20px));max-height:95dvh;overflow:auto}
.discount-type-toggle{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:14px 16px 8px}
.discount-type-toggle button{min-height:46px;border:1px solid var(--line);border-radius:10px;background:#f5f8fc;color:var(--navy);font-weight:900}
.discount-type-toggle button.active{border-color:var(--blue);background:var(--blue);color:#fff}
.discount-editor-value{margin:6px 16px;padding:12px;border:1px solid var(--line);border-radius:10px;background:#f7f9fc;text-align:right;font-size:28px;font-weight:900;cursor:text;outline:none}
.discount-editor-value:focus{border-color:var(--blue);box-shadow:0 0 0 3px #1769e01f}
.discount-keypad{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:8px 16px 14px}
.discount-keypad button{min-height:52px;border:1px solid var(--line);border-radius:10px;background:#f7f9fc;font-size:19px;font-weight:900}
@media(max-width:1200px){
    .checkout-action-row{grid-template-columns:1fr 1fr 1.4fr}
    .checkout-action-row .search-strip{grid-column:1/-1}
}

/* Keep the POS edge-to-edge and prevent the cart from collapsing. */
.pos-layout{
    width:100%;
    max-width:none;
    margin:0;
    padding:0;
}
.order-panel{
    height:100%;
    min-height:0;
    display:grid;
    grid-template-rows:auto minmax(170px,1fr) auto;
}
.order-context,.checkout-panel{min-width:0}
.cart-section{
    min-height:170px;
    height:auto;
    display:grid;
    grid-template-rows:auto minmax(0,1fr);
}
.cart-lines{
    display:block;
    min-height:0;
    overflow-y:auto;
}
.empty-cart{
    grid-row:2;
    min-height:0;
}
.cart-lines:not(:empty)+.empty-cart{display:none!important}

@media(max-height:760px) and (min-width:761px){
    .order-context{padding:8px 12px}
    .dine-types{margin:8px 0}
    .dine-button{min-height:40px}
    .customer-card{min-height:54px}
    .context-row button{min-height:46px}
    .checkout-panel{padding:8px 12px}
    .pay-button{min-height:52px;margin-top:6px}
}

@media(max-width:760px){
    .pos-layout{display:flex;height:auto}
    .order-panel{height:auto;display:flex}
    .cart-section{display:flex;min-height:360px}
}

.checkout-panel>.total-row,
.checkout-panel>.grand-total{display:none}

.product-grid{
    grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
    align-content:start;
}
.product-card{min-height:270px}
.product-image{height:165px}
.product-copy{padding:15px 17px}
.product-copy strong{min-height:auto;font-size:19px}

@media(min-width:1500px){
    .product-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}
}

@media(max-width:760px){
    .product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .product-card{min-height:225px}
    .product-image{height:125px}
}

/* Invoicing-focused desktop layout. */
@media(min-width:1001px){
    .pos-layout{grid-template-columns:minmax(0,1fr) 610px}
    .catalog-panel{padding:14px 16px}
    .product-grid{
        grid-template-columns:repeat(auto-fill,minmax(145px,175px));
        gap:10px;
        justify-content:start;
    }
    .product-card{min-height:205px}
    .product-image{height:108px}
    .product-copy{padding:10px 12px}
    .product-copy strong{font-size:16px;line-height:1.15}
    .product-copy small{font-size:12px}
    .product-copy b{font-size:14px}
    .order-panel{grid-template-rows:auto minmax(260px,1fr) auto}
    .order-context{padding:9px 14px}
    .dine-types{margin:8px 0}
    .dine-button{min-height:42px}
    .customer-card{min-height:54px}
    .context-row{margin-top:6px}
    .context-row button{min-height:45px}
    .cart-section{min-height:260px}
    .cart-heading{padding:10px 16px;background:#f7f9fc}
    .cart-lines{background:#fff}
    .cart-line{padding:10px 16px}
    .checkout-panel{padding:9px 16px}
    .pay-button{min-height:54px;margin-top:0}
}

@media(min-width:761px) and (max-width:1000px){
    .pos-layout{grid-template-columns:minmax(0,1fr) 470px}
    .product-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}
    .order-panel{grid-template-rows:auto minmax(220px,1fr) auto}
}

.search-strip{grid-template-columns:minmax(300px,1fr) 170px}
.search-touch{grid-column:auto}

@media(max-width:760px){
    .search-strip{grid-template-columns:minmax(0,1fr) 130px}
    .search-touch{grid-column:auto}
}

.header-location{
    min-width:145px;
    min-height:42px;
    padding:5px 12px;
    border:1px solid #ffffff3b;
    border-radius:10px;
    background:#ffffff0c;
    color:#fff;
    text-align:left;
    cursor:pointer;
}
.header-location small,.header-location strong{display:block}
.header-location small{font-size:10px;color:#b9c7dc}
.header-location strong{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.table-row{grid-template-columns:1fr}
.customer-table-row{display:grid;grid-template-columns:minmax(0,2fr) minmax(105px,1fr) minmax(105px,1fr);gap:8px}
.customer-table-row .customer-card{min-width:0}
.waiter-card{display:flex;min-width:0;min-height:54px;padding:5px 8px;flex-direction:column;justify-content:center;border:1px solid var(--line);border-radius:10px;background:#fff}
.waiter-card small{display:block;color:var(--muted);font-size:10px;line-height:1}.waiter-card small b{color:var(--danger)}
.waiter-card select{width:100%;min-width:0;margin-top:3px;padding:0 20px 0 0;border:0;outline:0;background:transparent;color:var(--navy);font:800 13px/1.15 Inter,Segoe UI,Arial,sans-serif;text-overflow:ellipsis}
.waiter-card:focus-within{border-color:var(--blue);box-shadow:0 0 0 2px #1769e01f}
.table-button{min-width:0;min-height:54px;padding:7px 11px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--navy);text-align:left}
.table-button small,.table-button strong{display:block}
.table-button small{color:var(--muted)}
.table-button strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

@media(max-width:760px){
    .header-location{min-width:0;margin-left:auto}
    .header-location small{display:none}
    .header-location strong{max-width:115px}
    .customer-table-row{grid-template-columns:minmax(0,1.7fr) minmax(95px,1fr) minmax(95px,1fr)}
}

.keyboard-dialog{
    width:min(960px,calc(100vw - 16px));
    max-width:calc(100vw - 16px);
    max-height:calc(100dvh - 16px);
    overflow-x:hidden;
    overflow-y:auto;
}
.keyboard{
    width:100%;
    min-width:0;
    grid-template-columns:repeat(10,minmax(0,1fr));
}
.keyboard button{
    width:100%;
    min-width:0;
    padding:6px;
}
.keyboard-dialog .dialog-actions{min-width:0}
.keyboard-dialog .dialog-actions button{min-width:0;padding:6px}

@media(max-width:760px){
    .keyboard{grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;padding:10px}
    .keyboard button{min-height:48px}
    .keyboard-dialog .dialog-head{padding:12px 14px}
    .keyboard-dialog .dialog-actions{padding:0 10px 10px}
}

@media(max-width:500px){
    .keyboard{grid-template-columns:repeat(5,minmax(0,1fr))}
    .keyboard button{min-height:44px;font-size:14px}
    .keyboard-dialog .dialog-actions{display:grid;grid-template-columns:1fr 1fr}
    .keyboard-dialog .dialog-actions .primary{grid-column:1/-1}
}

@media(max-height:620px){
    .keyboard-dialog{max-height:calc(100dvh - 8px)}
    .keyboard{padding:7px;gap:4px}
    .keyboard button{min-height:40px}
    .keyboard-dialog .dialog-head{padding:8px 12px}
    .keyboard-dialog .dialog-head strong{font-size:18px}
    .keyboard-dialog .dialog-actions{padding:0 7px 7px}
    .keyboard-dialog .dialog-actions button{min-height:44px}
}

/* Compact invoice layers while preserving touch targets. */
.order-context{padding:7px 12px}
.order-topline>div .order-label{font-size:10px;line-height:1.1}
.order-status-running{color:var(--blue)}
.order-topline>div strong{font-size:17px;line-height:1.1}
.small-touch{min-height:38px;padding:0 14px;font-size:15px}
.dine-types{margin:6px 0;gap:6px}
.dine-button{min-height:38px;font-size:11px}
.customer-table-row{gap:6px}
.customer-card{min-height:48px;padding:5px 8px}
.customer-avatar{width:32px;height:32px;font-size:14px}
.customer-card small{font-size:10px;line-height:1}
.customer-card strong{font-size:15px;line-height:1.15}
.customer-card em{font-size:9px;line-height:1.1}
.table-button{min-height:48px;padding:5px 9px}
.table-button small{font-size:10px;line-height:1}
.table-button strong{font-size:15px;line-height:1.15}
.cart-heading{padding:7px 12px}
.cart-heading h2{font-size:15px}
.cart-heading span{font-size:11px}
.cart-line{padding:7px 12px;gap:5px}
.cart-line-name strong,.cart-line-price strong{font-size:15px;line-height:1.15}
.cart-line-name small{margin-top:2px;font-size:11px;line-height:1.1}
.quantity-control{margin-top:5px;gap:4px}
.quantity-control button{width:32px;height:32px;border-radius:7px;font-size:17px}
.quantity-control span{min-width:26px;font-size:14px}
.quantity-control .remove-line{width:auto;min-width:72px;padding:0 10px;font-size:12px!important}
.checkout-panel{padding:7px 12px}
.pay-button{min-height:48px;margin-top:0;padding:0 15px;border-radius:11px;font-size:14px}
.pos-message{min-height:14px;margin:4px 0 0;font-size:10px}

.cart-line{
    grid-template-columns:minmax(120px,1fr) 82px 110px 34px;
    align-items:center;
    column-gap:12px;
    border-bottom:2px solid #d6dfeb;
}
.cart-line:nth-child(even){background:#f8fafc}
.cart-line-name{min-width:0}
.cart-line-name strong,.cart-line-name small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.quantity-control{margin:0;flex-wrap:nowrap;justify-content:center}
.quantity-control button{
    flex:0 0 26px;
    width:26px;
    min-width:26px;
    height:26px;
    min-height:26px;
    padding:0;
    border-radius:6px;
    font-size:14px;
    line-height:1;
}
.quantity-control span{min-width:20px;font-size:13px}
.cart-line-price{width:110px;min-width:0;text-align:right;white-space:nowrap;font-size:14px}
.cart-line>.remove-line{
    width:34px;
    min-width:34px;
    height:32px;
    padding:0 9px;
    border:1px solid #efc9c9;
    border-radius:7px;
    background:#fff5f5;
    color:var(--danger);
    font-size:11px!important;
    font-weight:800;
}
.cart-line>.remove-line svg{display:block;width:17px;height:17px;margin:auto;fill:currentColor}

@media(max-width:760px){
    .cart-line{grid-template-columns:minmax(90px,1fr) 70px 78px 30px;column-gap:5px;padding:7px 8px}
    .quantity-control button{flex-basis:24px;width:24px;min-width:24px;height:24px;min-height:24px}
    .quantity-control span{min-width:18px}
    .cart-line-price{width:78px;min-width:0;font-size:11px}
    .cart-line>.remove-line{width:30px;min-width:30px;padding:0}
}

.touch-input,.scan-button{
    min-height:44px;
    height:44px;
    padding:4px 12px;
    border-radius:10px;
}
.touch-input span{font-size:9px;line-height:1}
.touch-input strong{margin-top:3px;font-size:13px;line-height:1.1}
.scan-button{gap:7px;font-size:13px;line-height:1.1}
.scan-icon{font-size:18px}

@media(min-width:1001px){
    .product-grid{grid-template-columns:repeat(auto-fill,minmax(131px,158px));gap:9px}
    .product-card{min-height:185px}
    .product-image{height:97px}
    .product-copy{padding:9px 11px}
}

@media(min-width:761px) and (max-width:1000px){
    .product-grid{grid-template-columns:repeat(auto-fill,minmax(126px,1fr))}
    .product-card{min-height:185px}
    .product-image{height:97px}
}

@media(max-width:760px){
    .product-card{min-height:203px}
    .product-image{height:113px}
    .product-copy{padding:11px 14px}
}

.checkout-action-row{
    display:grid;
    grid-template-columns:minmax(0,1fr) 105px 105px 190px;
    align-items:stretch;
    gap:8px;
}
.checkout-action-row .search-strip{
    min-width:0;
    display:grid;
    grid-template-columns:minmax(0,1fr) 78px;
    gap:6px;
}
.checkout-action-row .touch-input,
.checkout-action-row .scan-button,
.checkout-action-row .order-discount-button,
.checkout-action-row .invoice-preview-button,
.checkout-action-row .pay-button{
    width:100%;
    min-width:0;
    height:48px;
    min-height:48px;
    margin:0;
}
.checkout-action-row .scan-button{padding:3px 6px;font-size:11px}
.checkout-action-row .scan-icon{font-size:15px}
.checkout-action-row .order-discount-button{padding:0 7px;border:1px solid #f1c48f;border-radius:10px;background:#fff3e5;color:#a65408;font-size:11px;font-weight:900}
.checkout-action-row .invoice-preview-button{padding:0 8px;border:1px solid var(--blue);border-radius:10px;background:#eef5ff;color:var(--blue);font-size:11px;font-weight:900}
.checkout-action-row .invoice-preview-button:disabled{opacity:.45}
.checkout-action-row .pay-button{padding:0 12px;font-size:12px}

@media(max-width:760px){
    .checkout-action-row{grid-template-columns:minmax(0,1fr) 74px 74px 130px;gap:5px}
    .checkout-action-row .search-strip{grid-template-columns:minmax(0,1fr) 55px;gap:4px}
    .checkout-action-row .touch-input strong{font-size:10px}
    .checkout-action-row .scan-button span:last-child{display:none}
    .checkout-action-row .pay-button strong{display:none}
}

.kot-dialog{width:min(520px,calc(100vw - 20px));max-height:95dvh;overflow:auto;background:#eef2f7}
.kot-ticket{margin:14px;background:#fff;padding:20px;color:#111;font-family:"Courier New",monospace;box-shadow:0 2px 12px #14233c1f}
.kot-title{text-align:center;padding-bottom:13px;border-bottom:2px dashed #111}
.kot-title strong,.kot-title span{display:block}
.kot-title strong{font-size:20px}
.kot-title span{margin-top:4px;font-size:13px}
.kot-meta{display:grid;grid-template-columns:1fr 1fr;gap:8px 14px;padding:13px 0;border-bottom:2px dashed #111}
.kot-meta small,.kot-meta strong{display:block}
.kot-meta small{font-size:10px;text-transform:uppercase}
.kot-meta strong{font-size:13px;overflow-wrap:anywhere}
.kot-items-head,.kot-item{display:grid;grid-template-columns:48px 1fr;gap:10px}
.kot-items-head{padding:10px 0 6px;border-bottom:1px solid #111;font-size:12px;font-weight:900}
.kot-item{padding:9px 0;border-bottom:1px dashed #777;align-items:start}
.kot-item-qty{font-size:20px;font-weight:900;text-align:center}
.kot-item-name{font-size:16px;font-weight:900}
.kot-item-code,.kot-item-note{display:block;margin-top:3px;font-size:11px}
.kot-item-note{font-weight:900}
.kot-footer{text-align:center;padding-top:14px;font-size:11px;text-transform:uppercase}
.kot-actions{display:flex;gap:10px;padding:0 14px 14px}
.kot-actions button{flex:1;min-height:50px}
.kot-actions .primary{background:var(--blue);color:#fff}

@media print{
    @page{size:80mm auto;margin:3mm}
    body *{visibility:hidden!important}
    #kotDialog,#kotDialog *{visibility:visible!important}
    #kotDialog{position:absolute;inset:0;width:74mm;max-width:74mm;max-height:none;margin:0;padding:0;border:0;background:#fff;box-shadow:none}
    .kot-ticket{margin:0;padding:0;box-shadow:none}
    .kot-actions{display:none!important}
}

.catalog-panel{position:relative}
.catalog-loading{
    position:absolute;
    inset:0;
    z-index:20;
    display:flex;
    align-items:center;
    justify-content:center;
    flex-direction:column;
    gap:8px;
    background:rgba(242,245,249,.94);
    color:var(--navy);
}
.catalog-loading strong{font-size:18px}
.catalog-loading small{color:var(--muted)}
.loading-spinner{
    width:42px;
    height:42px;
    border:4px solid #cfdaea;
    border-top-color:var(--blue);
    border-radius:50%;
    animation:pos-loading-spin .75s linear infinite;
}
@keyframes pos-loading-spin{to{transform:rotate(360deg)}}

.pos-body,
.pos-body *{
    -webkit-user-select:none;
    user-select:none;
}
.pos-body img{
    -webkit-user-drag:none;
    user-drag:none;
}

.order-top-actions{display:flex;gap:6px}
.running-orders-button{color:var(--blue);border-color:#b9cff0;background:#f3f7ff}
.running-orders-dialog{width:min(820px,calc(100vw - 20px));max-height:90dvh;overflow:hidden}
.running-orders-message{margin:0;padding:12px 16px;color:var(--muted);font-size:13px}
.running-orders-head,.running-order-row{display:grid;grid-template-columns:1.2fr 1.5fr .65fr .8fr;gap:10px;align-items:center}
.running-orders-head{padding:9px 16px;background:#eef3f9;color:var(--muted);font-size:11px;font-weight:900;text-transform:uppercase}
.running-orders-list{max-height:60dvh;overflow-y:auto}
.running-order-row{width:100%;min-height:64px;padding:9px 16px;border:0;border-bottom:1px solid var(--line);border-radius:0;background:#fff;color:var(--navy);text-align:left}
.running-order-row:hover,.running-order-row:focus{background:#f2f7ff}
.running-order-row strong,.running-order-row small{display:block}
.running-order-row small{margin-top:2px;color:var(--muted);font-size:10px}
.running-order-total{text-align:right;font-weight:900}

@media(max-width:760px){
    .running-orders-button{font-size:10px;padding:0 7px}
    .running-orders-head,.running-order-row{grid-template-columns:1.2fr 1.4fr .6fr}
    .running-orders-head span:nth-child(3),.running-order-row .running-order-table{display:none}
}

.running-orders-head{display:none}
.running-orders-list{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(290px,1fr));
    gap:12px;
    padding:12px;
    background:#f3f6fa;
}
.running-order-row{
    min-width:0;
    min-height:122px;
    padding:14px;
    border:1px solid #ccd8e8;
    border-radius:13px;
    background:#fff;
    box-shadow:0 3px 10px #13233f0d;
    grid-template-columns:minmax(0,1fr) auto;
    gap:12px 18px;
}
.running-order-row:hover,.running-order-row:focus{
    border-color:var(--blue);
    box-shadow:0 5px 16px #1769e024;
}
.running-order-row>span{min-width:0}
.running-order-row>span strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.running-order-table{text-align:left}
.running-order-total{text-align:right}
.running-order-table small,.running-order-total small{text-transform:uppercase;font-size:9px}
.running-order-row .running-order-age{margin-top:5px;color:var(--blue);font-size:11px;font-weight:900}
.refresh-catalog-button{margin-left:auto;border-color:#9db6d9;background:#eef5ff;color:var(--blue)}

.dine-button[data-value="1"]{border-color:#9fc1f2;background:#eaf2fd;color:#1769e0}
.dine-button[data-value="1"].active{border-color:#1769e0;background:#1769e0;color:#fff}
.dine-button[data-value="2"]{border-color:#f1c48f;background:#fff3e5;color:#c86808}
.dine-button[data-value="2"].active{border-color:#f28c28;background:#f28c28;color:#fff}
.dine-button[data-value="4"]{border-color:#91d0b4;background:#e9f7f1;color:#13794d}
.dine-button[data-value="4"].active{border-color:#1b9b65;background:#1b9b65;color:#fff}

.cart-line-title{display:flex;align-items:center;gap:6px;min-width:0}
.cart-line-title strong{min-width:0}
.cart-line-id{flex:0 0 auto;min-width:20px;height:20px;padding:0 5px;border-radius:10px;background:#dfe9f8;color:var(--blue);display:grid;place-items:center;font-size:10px;font-weight:900}
.cart-line.kot-printed{background:#e5f5ec;border-bottom-color:#8bcdb0}
.cart-line.kot-printed:nth-child(even){background:#dcf1e6}
.cart-line.kot-printed .cart-line-id{background:#19875b;color:#fff}

.cart-heading{padding:5px 10px}
.cart-heading h2{font-size:13px;line-height:1}
.cart-line{padding:4px 10px;min-height:40px;gap:3px 9px}
.cart-line-title{gap:4px}
.cart-line-name strong,.cart-line-price{font-size:12px;line-height:1.05}
.cart-line-name small{margin-top:1px;font-size:9px;line-height:1}
.cart-line-id{min-width:17px;height:17px;padding:0 4px;font-size:8px}
.quantity-control{gap:3px}
.quantity-control button{flex-basis:22px;width:22px;min-width:22px;height:22px;min-height:22px;font-size:12px}
.quantity-control span{min-width:17px;font-size:11px}
.cart-line>.remove-line{width:27px;min-width:27px;height:27px;padding:0}
.cart-line>.remove-line svg{width:14px;height:14px}

.running-orders-dialog-head{gap:10px;padding:12px 14px}
.running-orders-dialog-head>div{flex:0 0 auto}
.running-orders-dialog-head .running-orders-message{margin:0 8px 0 auto;padding:0;color:var(--muted);font-size:14px;font-weight:800;white-space:nowrap}
.running-orders-message.loading{display:flex;align-items:center;gap:7px;color:var(--blue)}
.running-orders-message.loading::before{content:"";width:16px;height:16px;border:2px solid #c9d7eb;border-top-color:var(--blue);border-radius:50%;animation:pos-loading-spin .7s linear infinite}
.running-orders-toolbar{gap:7px;padding:7px 10px}
.running-order-search span{margin-bottom:3px;font-size:11px}
.running-order-search input{height:39px;font-size:15px}
.running-view-toggle{gap:4px}
.running-view-toggle button{display:flex;align-items:center;justify-content:center;gap:6px;min-width:82px;height:39px;font-size:14px}
.running-view-toggle svg{width:16px;height:16px;fill:currentColor}
.running-orders-list{gap:8px;padding:8px}
.running-order-row{min-height:110px;padding:11px;gap:8px 14px;font-size:15px}
.running-order-row>span strong{font-size:15px}
.running-order-row>span small{font-size:11px}
.running-order-row .running-order-age{font-size:12px}
.running-order-table small,.running-order-total small{font-size:10px}
.running-orders-dialog-head>div>small{font-size:11px}
.running-orders-dialog-head>div>strong{font-size:25px}

.running-orders-dialog{
    width:min(1400px,calc(100vw - 20px));
    max-width:calc(100vw - 20px);
    height:min(900px,calc(100dvh - 20px));
    max-height:calc(100dvh - 20px);
    display:none;
    flex-direction:column;
}
.running-orders-dialog[open]{display:flex}
.running-orders-toolbar{display:flex;align-items:end;gap:12px;padding:10px 14px;border-bottom:1px solid var(--line)}
.running-order-search{flex:1;min-width:0}
.running-order-search span{display:block;margin-bottom:4px;color:var(--muted);font-size:10px;font-weight:800;text-transform:uppercase}
.running-order-search input{width:100%;height:42px;padding:7px 12px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--navy);font:inherit}
.running-view-toggle{display:flex;gap:5px}
.running-view-toggle button{min-width:74px;height:42px;padding:0 12px;border:1px solid var(--line);background:#fff;color:var(--navy)}
.running-view-toggle button[aria-pressed="true"]{border-color:var(--blue);background:var(--blue);color:#fff}
.running-orders-list{flex:1;min-height:0;max-height:none}
.running-orders-list.row-view{display:flex;flex-direction:column;gap:7px}
.running-orders-list.row-view .running-order-row{min-height:64px;grid-template-columns:1.1fr 1.35fr .6fr .75fr;padding:8px 12px}
.running-orders-list.row-view .running-order-age{margin-top:2px}

@media(max-width:760px){
    .running-orders-dialog{width:calc(100vw - 8px);max-width:calc(100vw - 8px);height:calc(100dvh - 8px);max-height:calc(100dvh - 8px)}
    .running-orders-toolbar{align-items:stretch;flex-direction:column;gap:7px;padding:8px}
    .running-view-toggle{width:100%}
    .running-view-toggle button{flex:1}
    .running-orders-list.row-view .running-order-row{grid-template-columns:minmax(0,1fr) auto;min-height:86px}
}

@media(max-width:760px){
    .running-orders-list{grid-template-columns:1fr;padding:8px;gap:8px}
    .running-order-row{display:grid;grid-template-columns:minmax(0,1fr) auto;min-height:112px;padding:11px}
    .running-order-row .running-order-table{display:block}
}

/* Final compact typography and spacing for Running Orders. */
.running-orders-toolbar{gap:7px;padding:7px 10px}
.running-order-search span{margin-bottom:3px;font-size:11px}
.running-order-search input{height:39px;font-size:15px}
.running-view-toggle{gap:4px}
.running-view-toggle button{display:flex;align-items:center;justify-content:center;gap:6px;min-width:82px;height:39px;font-size:14px}
.running-orders-list{gap:8px;padding:8px}
.running-order-row{min-height:110px;padding:11px;gap:8px 14px;font-size:15px}
.running-order-row>span strong{font-size:15px}
.running-order-row>span small{font-size:11px}
.running-order-row .running-order-age{font-size:12px}
.running-order-table small,.running-order-total small{font-size:10px}

@media(max-width:760px){
    .running-orders-toolbar{gap:5px;padding:6px}
    .running-orders-list{gap:6px;padding:6px}
    .running-order-row{min-height:104px;padding:9px}
}

.running-orders-list.card-view{
    align-content:start;
    grid-auto-rows:max-content;
}
.running-orders-list.card-view .running-order-row{
    height:122px;
    min-height:0;
    max-height:122px;
    align-content:space-between;
}

/* Apply the POS dine-type palette to running orders. */
#runningOrdersList .running-order-row.dine-in{
    background:#eaf2fd;
    border-color:#1769e0;
}
#runningOrdersList .running-order-row.take-away{
    background:#fff3e5;
    border-color:#f28c28;
}
#runningOrdersList .running-order-row.delivery{
    background:#e9f7f1;
    border-color:#1b9b65;
}
#runningOrdersList .running-order-row.dine-in:hover,
#runningOrdersList .running-order-row.dine-in:focus{background:#dceafe}
#runningOrdersList .running-order-row.take-away:hover,
#runningOrdersList .running-order-row.take-away:focus{background:#ffe8cd}
#runningOrdersList .running-order-row.delivery:hover,
#runningOrdersList .running-order-row.delivery:focus{background:#d9f1e7}

/* Running-order interaction refinements. */
.running-orders-dialog{position:relative}
.running-orders-processing{position:absolute;inset:0;z-index:20;border-radius:inherit}
.running-orders-list.card-view .running-order-row{grid-template-columns:minmax(0,1fr) 96px max-content;grid-template-rows:1fr 1fr}
.running-orders-list.card-view .running-order-row>span:nth-child(1){grid-column:1;grid-row:1}
.running-orders-list.card-view .running-order-row>span:nth-child(2){grid-column:1;grid-row:2;align-self:end}
.running-orders-list.card-view .running-order-table{grid-column:2;grid-row:1/3;align-self:center;text-align:center}
.running-orders-list.card-view .running-order-table small{display:block;font-size:11px}
.running-orders-list.card-view .running-order-table strong{display:block;font-size:34px;line-height:1}
.running-orders-list.card-view .running-order-total{grid-column:3;grid-row:1/3;align-self:center}
.running-orders-list.card-view .running-order-total strong{overflow:visible;text-overflow:clip;white-space:nowrap}
#runningOrdersList .running-order-row.invoice-printed{background:#fff4b8;border-color:#d6a700;box-shadow:inset 0 0 0 2px #d6a70033}
#runningOrdersList .running-order-row.invoice-printed:hover,#runningOrdersList .running-order-row.invoice-printed:focus{background:#ffe98a}
#saveOrder>span{font-size:9px;line-height:1;font-weight:800;letter-spacing:.12em}
#saveOrder>strong{font-size:20px;line-height:1.1;font-weight:1000}

.running-view-toggle button{
    min-width:48px;
}
.running-view-toggle svg{
    width:19.2px;
    height:19.2px;
}

.running-dine-filters{min-width:0;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px;margin-left:auto}
.running-dine-filters button{height:39px;padding:0 11px;border:1px solid;border-radius:11px;background:#fff;display:inline-flex;align-items:center;justify-content:center;gap:7px;font-size:11px;font-weight:900;white-space:nowrap;cursor:pointer}
.running-dine-filters button img{flex:0 0 24px;width:24px;height:24px;padding:1px;object-fit:contain}
.running-dine-filters button.active img{padding:3px;border-radius:6px;background:#fff;box-shadow:0 0 0 1px #ffffff73}
.running-dine-filters button span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.running-dine-filters button.dine-in{border-color:#8bb8fa;color:#1261d7;background:#f1f6ff}
.running-dine-filters button.take-away{border-color:#efbd7d;color:#c45b00;background:#fff6ea}
.running-dine-filters button.delivery{border-color:#8fd0b5;color:#087747;background:#edf9f4}
.running-dine-filters button.dine-in.active{border-color:#1769e0;background:#1769e0;color:#fff}
.running-dine-filters button.take-away.active{border-color:#dc6a00;background:#dc6a00;color:#fff}
.running-dine-filters button.delivery.active{border-color:#13875b;background:#13875b;color:#fff}
.running-dine-filters button[data-running-dine="1"]{border-color:#8bb8fa;color:#1261d7;background:#f1f6ff}
.running-dine-filters button[data-running-dine="2"]{border-color:#efbd7d;color:#c45b00;background:#fff6ea}
.running-dine-filters button[data-running-dine="4"]{border-color:#8fd0b5;color:#087747;background:#edf9f4}
.running-dine-filters button[data-running-dine="1"].active{border-color:#1769e0;background:#1769e0;color:#fff}
.running-dine-filters button[data-running-dine="2"].active{border-color:#dc6a00;background:#dc6a00;color:#fff}
.running-dine-filters button[data-running-dine="4"].active{border-color:#13875b;background:#13875b;color:#fff}
.running-dine-filters button:focus-visible{outline:3px solid rgba(23,105,224,.2);outline-offset:2px}
.running-status-filters{display:flex;gap:5px}
.running-status-filters button{height:39px;padding:0 14px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--muted);font-size:11px;font-weight:900;cursor:pointer}
.running-status-filters button[data-running-status="1"].active{border-color:var(--blue);background:var(--blue);color:#fff}
.running-status-filters button[data-running-status="3"].active{border-color:var(--green);background:var(--green);color:#fff}
.running-status-filters button:focus-visible{outline:3px solid #1769e026;outline-offset:2px}

@media(max-width:760px){.running-status-filters{width:100%}.running-status-filters button{flex:1}.running-dine-filters{width:100%;margin-left:0;justify-content:flex-start}.running-dine-filters button{min-height:42px}.running-orders-toolbar{flex-wrap:wrap}.running-order-search{flex-basis:100%}}

.catalog-product-search{height:48px;display:grid;grid-template-columns:36px minmax(0,1fr) 42px;align-items:center;border:1px solid #b9cff0;border-radius:12px;background:#fff;color:var(--muted);box-shadow:0 2px 8px #1f33500a}.catalog-product-search:focus-within{border-color:var(--blue);box-shadow:0 0 0 3px #1769e01f}.catalog-product-search>span{display:grid;place-items:center;font-size:25px}.catalog-product-search input{width:100%;height:100%;padding:0;border:0;outline:0;background:transparent;color:var(--navy);font:700 15px Inter,Segoe UI,Arial,sans-serif;box-shadow:none}.catalog-product-search input:focus{border:0;outline:0;box-shadow:none}.catalog-product-search input::-webkit-search-cancel-button{display:none}.catalog-product-search button{width:32px;height:32px;padding:0;border:0;border-radius:8px;background:transparent;color:var(--muted);font-size:25px;line-height:1;cursor:pointer}.catalog-product-search button:hover,.catalog-product-search button:focus{background:#eef5ff;color:var(--blue)}
.category-scroller{
    display:flex;
    align-items:center;
    gap:7px;
    width:100%;
    min-width:0;
    overflow:hidden;
}
.category-scroller .category-list{
    flex:1 1 auto;
    width:0;
    min-width:0;
    padding:18px 0 8px;
    scroll-behavior:smooth;
    display:grid;
    grid-template-rows:repeat(2,48px);
    grid-auto-flow:column;
    grid-auto-columns:max-content;
    align-items:stretch;
    overflow-x:auto;
    overflow-y:hidden;
}
.category-scroller .category-button{height:48px;min-height:48px}
.category-right-controls{flex:0 0 48px;width:48px;min-width:48px;display:flex;flex-direction:column;gap:5px}
.category-right-controls .category-arrow{flex:0 0 48px}
.catalog-sort-control{position:relative;flex:0 0 48px;width:48px;height:48px;display:grid;place-items:center;border:1px solid #b9cff0;border-radius:8px;background:#fff;color:var(--blue);cursor:pointer;overflow:hidden}
.catalog-sort-control svg{display:block;width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}
.catalog-sort-control select{position:absolute;inset:0;width:100%;height:100%;margin:0;border:0;opacity:0;cursor:pointer}
.catalog-sort-control:focus-within,.catalog-sort-control:hover{border-color:var(--blue);background:#eef5ff;box-shadow:0 0 0 3px #1769e01f}
.catalog-sort-control.active{border-color:var(--blue);background:var(--blue);color:#fff;box-shadow:none}
.catalog-sort-control option{color:var(--navy);background:#fff}
.category-arrow{
    flex:0 0 48px;
    width:48px;
    min-width:48px;
    max-width:48px;
    height:48px;
    padding:0;
    border:1px solid #b9cff0;
    border-radius:8px;
    background:#fff;
    color:var(--blue);
    cursor:pointer;
    display:grid;
    place-items:center;
    position:relative;
    z-index:2;
}
.category-arrow svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.category-arrow:hover,.category-arrow:focus{
    background:var(--blue);
    border-color:var(--blue);
    color:#fff;
}
.catalog-refresh{
    flex:0 0 48px;
    width:48px;
    min-width:48px;
    max-width:48px;
    min-height:48px;
    padding:0;
    border:1px solid #9db6d9;
    border-radius:8px;
    background:#eef5ff;
    color:var(--blue);
    display:flex;
    align-items:center;
    justify-content:center;
    font-weight:800;
    white-space:nowrap;
    cursor:pointer;
}
.catalog-refresh span{display:none}
.catalog-refresh svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.table-dialog{width:min(1200px,calc(100vw - 24px));height:min(850px,calc(100dvh - 24px));max-width:none;max-height:none;overflow:hidden}
.clear-table{margin:12px 16px 0;min-height:44px;padding:0 18px;border:1px solid var(--blue);border-radius:10px;background:var(--blue);color:#fff;font-weight:800;cursor:pointer}
.clear-table:hover,.clear-table:focus{background:var(--blue2);border-color:var(--blue2)}
.table-sections{height:calc(100% - 118px);padding:12px 16px 20px;overflow:auto}
.table-section+.table-section{margin-top:18px;padding-top:14px;border-top:1px solid var(--line)}
.table-section h3{margin:0 0 10px;color:var(--navy);font-size:17px}
.table-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:10px}
.table-card{min-height:82px;padding:10px;border:1px solid #b9cff0;border-radius:12px;background:#f3f7ff;color:var(--navy);display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer}
.table-card strong{font-size:22px}
.table-card small{margin-top:4px;color:var(--muted);font-size:11px}
.table-card:hover,.table-card:focus,.table-card.selected{border-color:var(--blue);background:var(--blue);color:#fff}
.table-card:hover small,.table-card:focus small,.table-card.selected small{color:#dce9ff}
.invoice-dialog{width:min(520px,calc(100vw - 20px));max-height:95dvh;overflow:auto;background:#eef2f7}
.invoice-receipt{margin:14px;padding:20px;background:#fff;color:#111;font-family:"Courier New",monospace;box-shadow:0 2px 12px #14233c1f}
.receipt-title{text-align:center;padding-bottom:12px;border-bottom:2px dashed #111}
.receipt-title strong,.receipt-title span{display:block}
.receipt-title strong{font-size:23px}
.receipt-title span{margin-top:4px;font-size:15px;font-weight:900}
.receipt-meta{padding:10px 0;border-bottom:2px dashed #111}
.receipt-meta div,.receipt-totals div{display:flex;justify-content:space-between;gap:12px;margin:4px 0}
.receipt-meta span{font-size:11px;text-transform:uppercase}
.receipt-meta strong{font-size:12px;text-align:right;overflow-wrap:anywhere}
.receipt-items-head,.receipt-item{display:grid;grid-template-columns:34px minmax(0,1fr) 82px;gap:7px}
.receipt-items-head{padding:9px 0 5px;border-bottom:1px solid #111;font-size:11px;font-weight:900;text-transform:uppercase}
.receipt-items-head span:last-child{text-align:right}
.receipt-item{padding:7px 0;border-bottom:1px dashed #777;align-items:start;font-size:12px}
.receipt-item>strong:last-child{text-align:right}
.receipt-item span strong,.receipt-item span small{display:block}
.receipt-item span small{margin-top:2px;font-size:9px}
.receipt-totals{padding-top:8px}
.receipt-totals div{font-size:12px}
.receipt-totals .receipt-grand-total{margin-top:8px;padding-top:8px;border-top:2px solid #111;font-size:18px}
.receipt-footer{text-align:center;margin-top:14px;padding-top:10px;border-top:2px dashed #111;font-weight:900;text-transform:uppercase}
.invoice-actions{display:flex;gap:10px;padding:0 14px 14px}
.invoice-actions button{flex:1;min-height:50px;border:1px solid var(--line);border-radius:9px;font-weight:900}
.invoice-actions .primary{background:var(--blue);border-color:var(--blue);color:#fff}
.invoice-action-dialog{width:min(480px,calc(100vw - 24px));overflow:hidden}.invoice-action-number{margin:0;padding:14px 18px 4px;color:var(--muted);font-size:12px;font-weight:800}.invoice-action-options{display:grid;gap:10px;padding:12px 16px}.invoice-action-option{width:100%;min-height:78px;padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:#fff;color:var(--navy);display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:12px;align-items:center;text-align:left;cursor:pointer}.invoice-action-option:hover,.invoice-action-option:focus-visible{border-color:var(--blue);background:#f2f7ff;outline:none}.invoice-action-option:disabled{opacity:.58;cursor:wait}.invoice-action-option>span:nth-child(2){min-width:0}.invoice-action-option strong,.invoice-action-option small{display:block}.invoice-action-option strong{font-size:15px}.invoice-action-option small{margin-top:4px;color:var(--muted);font-size:11px;line-height:1.35}.invoice-action-option>b{color:var(--blue);font-size:28px}.invoice-action-icon{width:46px;height:46px;border-radius:13px;display:grid;place-items:center;background:#e8f1ff;color:var(--blue);font-size:22px;font-weight:900}.invoice-action-icon--sms{background:#e8f8f1;color:var(--green);font-size:11px;letter-spacing:.03em}.invoice-action-message{min-height:18px;margin:0;padding:0 18px 16px;color:var(--muted);text-align:center;font-size:12px}.invoice-action-message.error{color:var(--danger)}
@media print{
    body.print-invoice #kotDialog,body.print-invoice #kotDialog *{visibility:hidden!important}
    body.print-invoice #invoiceDialog,body.print-invoice #invoiceDialog *{visibility:visible!important}
    body.print-invoice #invoiceDialog{position:absolute;inset:0;width:74mm;max-width:74mm;max-height:none;margin:0;padding:0;border:0;background:#fff;box-shadow:none}
    body.print-invoice .invoice-receipt{margin:0;padding:0;box-shadow:none}
    body.print-invoice .invoice-actions{display:none!important}
}
@media(max-width:760px){
    .category-scroller{gap:4px}
    .category-arrow{flex-basis:42px;width:42px;min-width:42px;max-width:42px;height:42px}
    .catalog-refresh{flex-basis:42px;width:42px;min-width:42px;max-width:42px;min-height:42px}
    .category-right-controls{flex-basis:42px;width:42px;min-width:42px}
    .category-right-controls .category-arrow,.catalog-sort-control{flex-basis:42px;width:42px;height:42px}
}

/* Wider product workspace with a compact, aligned invoice cart. */
@media(min-width:1001px){
    .pos-layout{grid-template-columns:minmax(0,1fr) 430px}
    .checkout-action-row{grid-template-columns:1fr 1fr 1.35fr;gap:6px}
    .checkout-action-row .search-strip{grid-column:1/-1}
    .cart-line{grid-template-columns:minmax(95px,1fr) 72px 88px 30px;column-gap:6px}
    .cart-line-price{width:88px;font-size:12px}
    .cart-line>.remove-line{width:30px;min-width:30px;padding:0}
}

@media(min-width:761px) and (max-width:1000px){
    .pos-layout{grid-template-columns:minmax(0,1fr) 340px}
    .checkout-action-row{grid-template-columns:1fr 1fr;gap:5px}
    .checkout-action-row .search-strip,
    .checkout-action-row .pay-button{grid-column:1/-1}
    .cart-line{grid-template-columns:minmax(80px,1fr) 68px 74px 28px;column-gap:4px;padding-inline:7px}
    .cart-line-price{width:74px;font-size:11px}
    .cart-line>.remove-line{width:28px;min-width:28px;padding:0}
}

/* Product cards reduced proportionally by 20%. */
@media(min-width:1001px){
    .product-grid{grid-template-columns:repeat(auto-fill,minmax(105px,126px));gap:7px}
    .product-card{min-height:148px;border-radius:13px}
    .product-image{height:78px;font-size:38px}
    .product-copy{padding:7px 9px}
    .product-copy strong{font-size:13px}
    .product-copy small{margin-top:4px;font-size:10px}
    .product-copy b{margin-top:6px;font-size:12px}
}

@media(min-width:761px) and (max-width:1000px){
    .product-grid{grid-template-columns:repeat(auto-fill,minmax(101px,1fr));gap:7px}
    .product-card{min-height:148px;border-radius:13px}
    .product-image{height:78px;font-size:38px}
    .product-copy{padding:7px 9px}
    .product-copy strong{font-size:13px}
    .product-copy small{font-size:10px}
    .product-copy b{font-size:12px}
}

@media(max-width:760px){
    .product-card{min-height:162px;border-radius:13px}
    .product-image{height:90px;font-size:38px}
    .product-copy{padding:9px 11px}
    .product-copy strong{font-size:15px}
    .product-copy small{font-size:10px}
    .product-copy b{font-size:13px}
}

/* Compact POS controls to expose more cart lines. */
.cart-heading{display:none}

.category-scroller .category-button{
    padding-inline:15px;
    font-size:13px;
    line-height:1.1;
}

@media(min-width:761px){
    .order-context{padding:5px 10px}
    .order-topline>div strong{font-size:15px}
    .order-top-actions .small-touch{min-height:36px;padding-inline:12px;font-size:12px}
    .dine-types{margin:4px 0;gap:5px}
    .dine-button{min-height:36px;font-size:10px}
    .customer-table-row{gap:5px}
    .customer-card,.table-button{min-height:42px;height:42px}
    .customer-card{grid-template-columns:32px minmax(0,1fr) 12px;padding:3px 7px}
    .customer-avatar{width:28px;height:28px;font-size:12px}
    .customer-card strong,.table-button strong{font-size:13px}
    .customer-card small,.table-button small{font-size:8px}
    .customer-card em{font-size:8px}
    .table-button{padding:3px 7px}
    .cart-line{min-height:35px;padding-block:3px}
    .cart-line-name strong,.cart-line-price strong{font-size:11px}
    .cart-line-name small{font-size:8px}
    .line-discount-button{margin-top:2px;padding:0 5px;font-size:8px;line-height:15px}
    .checkout-panel{padding:5px 10px}
    .checkout-action-row .touch-input,
    .checkout-action-row .scan-button,
    .checkout-action-row .order-discount-button,
    .checkout-action-row .invoice-preview-button,
    .checkout-action-row .pay-button{height:40px;min-height:40px}
    .pos-message{min-height:11px;margin-top:2px;line-height:1}
}

/* Additional 5% product-card reduction. */
@media(min-width:1001px){
    .product-grid{grid-template-columns:repeat(auto-fill,minmax(100px,120px));gap:7px}
    .product-card{min-height:141px}
    .product-image{height:74px;font-size:36px}
    .product-copy{padding:7px 8px}
}

@media(min-width:761px) and (max-width:1000px){
    .product-grid{grid-template-columns:repeat(auto-fill,minmax(96px,1fr))}
    .product-card{min-height:141px}
    .product-image{height:74px;font-size:36px}
    .product-copy{padding:7px 8px}
}

@media(max-width:760px){
    .product-card{min-height:154px}
    .product-image{height:86px;font-size:36px}
}

@media(max-width:760px){
    .order-context{padding:4px 8px}
    .order-topline>div .order-label{font-size:8px}
    .order-topline>div strong{font-size:14px}
    .order-top-actions{gap:4px}
    .order-top-actions .small-touch{min-height:34px;padding-inline:9px;font-size:11px}
    .dine-types{margin:4px 0;gap:4px}
    .dine-button{min-height:36px;font-size:9px}
    .customer-table-row{gap:4px}
    .customer-card,.table-button{min-height:40px;height:40px}
    .customer-card{grid-template-columns:30px minmax(0,1fr) 11px;padding:2px 6px}
    .customer-avatar{width:26px;height:26px;font-size:11px}
    .customer-card strong,.table-button strong{font-size:12px}
    .customer-card small,.customer-card em,.table-button small{font-size:8px}
    .table-button{padding:2px 6px}
}

/* Remove unused space above the category navigation. */
.catalog-panel{padding-top:0}
.category-scroller .category-list{padding-top:0}
.category-scroller{margin-top:10px}
#newOrder{border-color:var(--blue);background:var(--blue);color:#fff}
#newOrder:hover,#newOrder:focus{border-color:var(--blue2);background:var(--blue2)}
.payment-dialog{width:min(1200px,calc(100vw - 20px));max-height:94dvh;overflow:auto}
.payment-dialog[open]{display:grid;grid-template-columns:minmax(0,3fr) minmax(300px,2fr);grid-template-rows:auto auto minmax(0,1fr) auto auto}
.payment-dialog>.dialog-head,.payment-dialog>.payment-summary{grid-column:1/-1}
.payment-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:14px 16px;background:#f5f8fc;border-bottom:1px solid var(--line)}
.payment-summary div{padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:#fff}
.payment-summary span,.payment-summary strong{display:block}.payment-summary span{color:var(--muted);font-size:11px}.payment-summary strong{margin-top:3px;font-size:19px}
.payment-summary .payment-balance{border-color:#93bdf7;background:#edf5ff}.payment-summary .payment-balance strong{color:var(--blue)}
.payment-dialog-body{grid-column:1;grid-row:3/6;min-width:0;display:grid;grid-template-columns:minmax(210px,.65fr) minmax(0,1.35fr);gap:12px;padding:14px 12px 14px 16px;border-right:1px solid var(--line);overflow:hidden}
.payment-mode-section,.payment-entry-section{min-width:0}
.payment-mode-section h3{margin:0 0 8px;font-size:14px}.payment-mode-list{min-width:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.payment-mode-card{position:relative;min-width:0;min-height:92px;padding:12px;border:2px solid #d7e1ef;border-radius:16px;background:#fff;color:var(--navy);display:grid;grid-template-columns:62px minmax(0,1fr);align-items:center;gap:12px;text-align:left;font-weight:900;cursor:pointer;box-shadow:0 4px 12px rgba(18,42,78,.05);transition:border-color .15s,transform .15s,box-shadow .15s;touch-action:manipulation}
.payment-mode-card .payment-brand{width:62px;height:50px;padding:8px;border-radius:12px;background:#f5f7fb;color:#132544;display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:1000;line-height:.8;overflow:hidden}
.payment-mode-card .payment-brand img{display:block;width:100%;height:100%;object-fit:contain}
.payment-mode-card .payment-brand-cash{background:#e6f7ee;color:#087747;font-size:30px}
.payment-mode-card .payment-brand-paynow{flex-direction:column;background:#fff0fb;color:#9b1675;font-size:15px;font-style:italic}.payment-brand-paynow b:last-child{margin-left:8px}
.payment-mode-card>span:nth-child(2){min-width:0}.payment-mode-card strong,.payment-mode-card small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.payment-mode-card small{margin-top:4px;color:var(--muted);font-size:11px}
.payment-mode-card:hover,.payment-mode-card:focus{border-color:#78aef6;transform:translateY(-1px)}.payment-mode-card.selected{border-color:var(--blue);background:#edf5ff;box-shadow:0 0 0 3px rgba(31,111,235,.12)}
.payment-entry-section{padding:12px;border:1px solid var(--line);border-radius:14px;background:#f8fafc}.payment-entry-section label{display:block;margin-bottom:5px;font-size:12px;font-weight:900}
.payment-amount{width:100%;height:52px;padding:0 12px;border:2px solid #aac7ed;border-radius:10px;background:#fff;color:var(--navy);font-size:25px;font-weight:900;text-align:right;user-select:none;-webkit-user-select:none;caret-color:transparent;cursor:default}
.payment-quick-actions{min-width:0;display:grid;grid-template-columns:minmax(0,1fr);gap:7px;margin-top:8px}.payment-quick-actions button,.payment-keypad button{width:100%;min-width:0;min-height:42px;padding-inline:4px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--navy);font-weight:900}
.payment-keypad{min-width:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:8px}.payment-keypad button{font-size:17px}
.partial-payments-section{grid-column:2;grid-row:3;min-width:0;margin:14px 16px 8px 12px;border:1px solid var(--line);border-radius:12px;overflow:hidden;align-self:stretch}.partial-payments-head{display:flex;justify-content:space-between;gap:10px;padding:9px 12px;background:#f5f8fc}.partial-payments-head span{color:var(--muted);font-size:11px}
.partial-payment-list{width:100%;max-width:100%;max-height:calc(94dvh - 280px);overflow-x:hidden;overflow-y:auto}.partial-payment-row{width:100%;max-width:100%;min-width:0;overflow:hidden;display:grid;grid-template-columns:minmax(0,1fr) 132px 40px;gap:8px;align-items:center;padding:8px 10px;border-top:1px solid var(--line)}.partial-payment-row>span,.partial-payment-row>strong{min-width:0;max-width:100%}.partial-payment-row>strong{width:132px;overflow:hidden;text-align:right;text-overflow:ellipsis;white-space:nowrap;font-size:18px}.partial-payment-row span strong,.partial-payment-row span small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.partial-payment-row span small{color:var(--muted);font-size:10px}.partial-payment-row button{justify-self:end;inline-size:40px!important;min-inline-size:40px!important;max-inline-size:40px!important;width:40px!important;min-width:40px!important;max-width:40px!important;height:38px!important;min-height:38px!important;padding:8px!important;border:2px solid #e57373!important;border-radius:9px;background:#fff0f0;display:grid;place-items:center;cursor:pointer;box-shadow:0 1px 3px rgba(190,35,35,.14)}.partial-payment-row button img{display:block;width:19px;height:19px}.partial-payment-row button:hover,.partial-payment-row button:focus{border-color:#c92f2f!important;background:#ffe1e1;outline:2px solid rgba(201,47,47,.12)}.partial-payment-empty{margin:0;padding:28px 12px;color:var(--muted);text-align:center}
.payment-mode-message{grid-column:2;grid-row:4;min-height:20px;margin:0;padding:0 16px 8px;color:var(--muted);text-align:center}
.payment-dialog-actions{grid-column:2;grid-row:5;padding:0 16px 14px;text-align:right}.payment-dialog-actions button{min-width:130px;min-height:44px;border:0;border-radius:10px;background:var(--navy);color:#fff;font-weight:900}
.payment-change-dialog{width:min(420px,calc(100vw - 24px));padding:28px;text-align:center}.payment-change-dialog[open]{display:flex;flex-direction:column;align-items:center}.payment-change-icon{width:64px;height:64px;border-radius:50%;background:#e4f7ed;color:#087747;display:grid;place-items:center;font-size:34px;font-weight:1000}.payment-change-dialog small{margin-top:12px;color:var(--green);font-weight:900;text-transform:uppercase}.payment-change-dialog>strong{margin-top:5px;font-size:22px}.payment-change-dialog>b{margin:18px 0;color:var(--blue);font-size:34px}.payment-change-dialog button{width:100%;min-height:48px;border:0;border-radius:10px;background:var(--navy);color:#fff;font-weight:900}
@media(min-width:1001px){.checkout-action-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(190px,1.8fr)}}
@media(max-width:900px){.payment-dialog[open]{display:block}.payment-dialog-body{display:grid;grid-template-columns:1fr;border-right:0;padding:9px}.partial-payments-section{margin:0 9px 10px}.partial-payment-list{max-height:145px}.payment-mode-message{padding:0 16px 10px}.payment-dialog-actions{padding:0 9px 12px}}
@media(max-width:760px){.payment-summary{padding:9px;gap:5px}.payment-summary div{padding:7px}.payment-summary span{font-size:9px}.payment-summary strong{font-size:14px}.payment-mode-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.payment-mode-card{min-height:70px;grid-template-columns:44px minmax(0,1fr);padding:7px;gap:7px}.payment-mode-card .payment-brand{width:44px;height:38px;padding:6px}}
@media(max-width:420px){.partial-payment-row{grid-template-columns:minmax(0,1fr) 92px 40px}.partial-payment-row>strong{width:92px;font-size:14px}}
.cart-line-actions{display:flex;align-items:center;gap:4px;min-width:0;margin-top:2px;flex-wrap:wrap}.cart-line-actions .line-discount-button,.cart-line-actions .line-addon-button,.cart-line-actions .line-extra-cost-button,.cart-line-actions .line-service-charge-button{flex:1 1 30%;width:auto;min-width:0;max-width:none;margin:0;padding:0 4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:17px;border-radius:7px;font-size:8px;font-weight:900;cursor:pointer}.line-addon-button{border:1px solid #8fc6aa;background:#ecf9f2;color:#087747}.line-extra-cost-button{border:1px solid #e3bd72;background:#fff8e7;color:#8a5a00}.line-service-charge-button{border:1px solid #b7a5e8;background:#f4f0ff;color:#5a37a1}
.line-extra-cost-button,.line-service-charge-button{display:none!important}
#saveOrder{padding:5px 9px!important;display:grid!important;grid-template-columns:1fr!important;grid-template-rows:auto auto;place-content:center;gap:2px;text-align:center;overflow:hidden}
#saveOrder>span{display:block;min-width:0;font-size:10px;line-height:1;font-weight:800;letter-spacing:.12em}
#saveOrder>strong{display:block;min-width:0;max-width:100%;overflow:hidden;white-space:nowrap;font-size:17px;line-height:1.1;font-weight:1000}
.cart-line-addon-summary{display:none!important}
.addon-product-card:disabled{cursor:default;opacity:.55}.addon-product-card.selected:disabled{opacity:1;border-color:var(--green);background:#e4f7ed}
.addon-takeaway-row{padding:10px 16px;border-bottom:1px solid var(--line);background:#fff8e8;display:flex;align-items:center;justify-content:space-between;gap:12px}.addon-takeaway-row small{color:#805816;font-size:11px}.addon-takeaway-toggle{display:inline-flex;align-items:center;gap:9px;cursor:pointer}.addon-takeaway-toggle input{position:absolute;opacity:0;pointer-events:none}.addon-toggle-track{width:42px;height:24px;padding:3px;border-radius:999px;background:#bcc8d7;transition:.18s}.addon-toggle-track span{display:block;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 4px #263a5750;transition:.18s}.addon-takeaway-toggle input:checked+.addon-toggle-track{background:#e88419}.addon-takeaway-toggle input:checked+.addon-toggle-track span{transform:translateX(18px)}.addon-takeaway-toggle input:focus-visible+.addon-toggle-track{outline:3px solid #1769e044}.addon-takeaway-toggle input:disabled+.addon-toggle-track{opacity:.6}.addon-takeaway-toggle strong{font-size:12px;letter-spacing:.03em}
.delivery-address-button{width:100%;min-width:0;min-height:46px;margin-top:7px;padding:6px 10px;border:1px solid #83ceb0;border-radius:11px;background:#edf9f4;color:#126e4a;display:grid;grid-template-columns:32px minmax(0,1fr) 12px;gap:7px;align-items:center;text-align:left;cursor:pointer}.delivery-address-button .delivery-address-icon{width:29px;height:29px;border-radius:50%;background:#ccefe0;display:grid;place-items:center;font-size:18px}.delivery-address-button small,.delivery-address-button strong{display:block}.delivery-address-button small{font-size:9px}.delivery-address-button strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}.delivery-address-button.has-address{border-color:#1b9b65;background:#e2f6ed}.delivery-address-dialog{width:min(560px,calc(100vw - 24px))}.delivery-address-form{padding:16px;display:grid;grid-template-columns:1fr 1fr;gap:12px}.delivery-address-form label:first-child,.delivery-address-select-field{grid-column:1/-1}.delivery-address-form label span{display:block;margin-bottom:5px;color:var(--navy);font-size:11px;font-weight:800}.delivery-address-form label b{color:var(--danger)}.delivery-address-form input,.delivery-address-form select{width:100%;height:46px;padding:0 12px;border:1px solid var(--line);border-radius:10px;background:#fff;font:inherit;color:var(--navy)}.delivery-address-form input:focus,.delivery-address-form select:focus{border-color:var(--blue);outline:3px solid #1769e01f}.delivery-address-actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:9px;margin-top:4px}.delivery-address-actions button{min-width:125px;min-height:44px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--navy);font-weight:900}.delivery-address-actions button[type=submit]{border-color:var(--green);background:var(--green);color:#fff}@media(max-width:560px){.delivery-address-form{grid-template-columns:1fr}.delivery-address-form label,.delivery-address-form label:first-child,.delivery-address-actions{grid-column:1}}
.delivery-customer-lookup{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) 145px;gap:8px;align-items:end}.delivery-customer-lookup label{min-width:0}.delivery-customer-lookup button{height:46px;border:0;border-radius:10px;background:var(--blue);color:#fff;font-weight:900}.delivery-customer-message{grid-column:1/-1;min-height:18px;margin:-4px 0 0;padding:7px 10px;border-radius:8px;background:#eef5ff;color:#315985;font-size:11px}.delivery-customer-lookup+*.error{color:var(--danger)}@media(max-width:560px){.delivery-customer-lookup{grid-template-columns:1fr}.delivery-customer-lookup button{width:100%}}
.delivery-address-dialog{max-height:calc(100dvh - 16px);transform:none;overflow:hidden}.delivery-address-dialog .dialog-head{padding:8px 14px}.delivery-address-dialog .dialog-head strong{font-size:19px}.delivery-address-dialog .dialog-close{width:38px;height:38px;font-size:24px}.delivery-address-dialog .delivery-address-form{max-height:none;padding:6px 14px 8px;gap:5px;overflow:visible}.delivery-address-dialog .delivery-address-form label span{margin-bottom:2px;font-size:10px}.delivery-address-dialog .delivery-address-form input,.delivery-address-dialog .delivery-address-form select{height:38px;padding:0 10px}.delivery-address-dialog .delivery-customer-lookup{gap:6px}.delivery-address-dialog .delivery-customer-lookup button{height:38px}.delivery-address-dialog .delivery-customer-message{min-height:0;margin:0;padding:4px 8px}.delivery-address-dialog .delivery-customer-display-name{padding:6px 10px}.delivery-address-dialog .delivery-address-actions{position:static;margin-top:1px;padding:3px 0 0}.delivery-address-dialog .delivery-address-actions button{min-height:38px}.delivery-address-form input[readonly]{background:#eef2f7;color:#536176;cursor:not-allowed}
.delivery-customer-display-name{grid-column:1/-1;padding:9px 12px;border-left:4px solid var(--green);border-radius:8px;background:#eaf8f1;color:#126e4a;font-weight:900}
.delivery-field-hidden{display:none!important}
#deliveryAddressDialog input::placeholder{font-size:75%}
#deliveryAddressDialog #saveDeliveryCustomer:disabled{cursor:not-allowed;opacity:.5}
.delivery-address-form select:disabled{background:#eef2f7;color:#536176;cursor:not-allowed;opacity:1}
.product-card{position:relative}
.product-card-quantity{position:absolute;z-index:2;top:6px;right:6px;min-width:27px;height:27px;padding:0 7px;border:2px solid #fff;border-radius:999px;background:var(--blue);box-shadow:0 3px 9px #13233f4d;color:#fff;display:grid;place-items:center;font-size:12px;font-weight:1000;line-height:1;pointer-events:none}
.product-card.in-cart{border-color:#70a9f4;box-shadow:0 0 0 2px #1769e01f,0 3px 12px #1f33500a}
.customer-card>span:nth-child(2){min-width:0;text-align:left}.customer-delivery-summary{width:100%;margin-top:3px;color:#13794d!important;font-size:9px!important;font-weight:800;line-height:1.15;overflow:hidden;text-align:left;text-overflow:ellipsis;white-space:nowrap}.customer-card.has-delivery-address{border-color:#83ceb0;background:#edf9f4}
.product-entry-field{display:block;cursor:text}.product-entry-field input{display:block;width:100%;height:100%;margin:0;padding:0;border:0;outline:0;background:transparent;color:var(--navy);font:800 13px/1.2 Inter,Segoe UI,Arial,sans-serif}.product-entry-field input::placeholder{color:var(--muted);opacity:1;text-align:center}.product-entry-field input:focus,.product-entry-field input:focus-visible{border:0;outline:0;box-shadow:none}.product-entry-field:focus-within{border-color:var(--blue);box-shadow:0 0 0 3px #1769e01f}
.pay-button.is-pay{background:linear-gradient(135deg,#1b9b65,#087747)}
.addon-dialog{width:min(860px,calc(100vw - 20px));max-height:92dvh;overflow:hidden}.addon-dialog-toolbar{display:flex;align-items:end;gap:12px;padding:12px 16px;background:#f5f8fc;border-bottom:1px solid var(--line)}.addon-dialog-toolbar label{flex:1}.addon-dialog-toolbar label span{display:block;margin-bottom:4px;color:var(--muted);font-size:11px}.addon-dialog-toolbar input{width:100%;height:44px;padding:0 12px;border:1px solid var(--line);border-radius:10px;font:inherit}.addon-dialog-toolbar>span{padding:8px 10px;border-radius:15px;background:#e7f0ff;color:var(--blue);font-size:12px;font-weight:900}.addon-product-list{max-height:55dvh;overflow:auto;padding:12px 16px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.addon-product-card{min-width:0;min-height:82px;padding:10px;border:2px solid var(--line);border-radius:13px;background:#fff;display:grid;grid-template-columns:minmax(0,1fr) auto 24px;gap:8px;align-items:center;color:var(--navy);text-align:left;cursor:pointer}.addon-product-card span{min-width:0}.addon-product-card strong,.addon-product-card small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.addon-product-card small{margin-top:4px;color:var(--muted);font-size:10px}.addon-product-card b{color:var(--blue);font-size:12px;white-space:nowrap}.addon-product-card i{width:22px;height:22px;border:2px solid #bdcadb;border-radius:50%;display:grid;place-items:center;color:transparent;font-style:normal}.addon-product-card.selected{border-color:var(--green);background:#ecf9f2}.addon-product-card.selected i{border-color:var(--green);background:var(--green);color:#fff}.addon-message{min-height:20px;margin:0;padding:0 16px 8px;color:var(--muted);text-align:center;font-size:12px}.addon-dialog-actions{display:flex;gap:9px;padding:0 16px 14px}.addon-dialog-actions button{flex:1;min-height:46px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--navy);font-weight:900}.addon-dialog-actions #confirmAddOns{border-color:var(--blue);background:var(--blue);color:#fff}@media(max-width:760px){.addon-product-list{grid-template-columns:repeat(2,minmax(0,1fr));padding:9px}.addon-product-card{grid-template-columns:minmax(0,1fr) 22px}.addon-product-card b{grid-column:1}.addon-dialog-toolbar{padding:9px}}
.product-uom-dialog{width:min(620px,calc(100vw - 20px));max-height:min(760px,calc(100dvh - 20px));overflow:hidden}.product-uom-instruction{margin:0;padding:12px 16px 6px;color:var(--muted);font-size:12px}.product-uom-options{max-height:60dvh;padding:8px 16px 16px;display:grid;gap:9px;overflow:auto}.product-uom-option{width:100%;min-height:76px;padding:11px 13px;border:2px solid var(--line);border-radius:13px;background:#fff;color:var(--navy);display:grid;grid-template-columns:minmax(0,1fr) auto 28px;gap:12px;align-items:center;text-align:left;cursor:pointer;touch-action:manipulation}.product-uom-option:hover,.product-uom-option:focus-visible{border-color:var(--blue);background:#eef5ff;outline:none}.product-uom-option span{min-width:0}.product-uom-option strong,.product-uom-option small{display:block}.product-uom-option strong{font-size:17px}.product-uom-option small{margin-top:5px;color:var(--muted);font-size:11px;overflow-wrap:anywhere}.product-uom-option b{color:var(--blue);font-size:15px;white-space:nowrap}.product-uom-option i{color:var(--blue);font-size:27px;font-style:normal;font-weight:900}.product-uom-dialog .dialog-head small{max-width:420px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:560px){.product-uom-options{padding:7px 10px 12px}.product-uom-option{min-height:70px;grid-template-columns:minmax(0,1fr) auto 22px;padding:9px}.product-uom-option strong{font-size:15px}.product-uom-option b{font-size:13px}}
.api-processing{position:fixed;inset:0;z-index:10000;background:rgba(8,20,39,.42);backdrop-filter:blur(2px);display:grid;place-items:center}.api-processing[hidden],.network-notice[hidden]{display:none!important}.api-processing-card{min-width:190px;padding:24px;border-radius:17px;background:#fff;box-shadow:0 20px 55px rgba(4,17,38,.3);display:flex;flex-direction:column;align-items:center;color:var(--navy)}.api-processing-card strong{margin-top:10px;font-size:20px}.api-processing-card small{margin-top:3px;color:var(--muted)}.api-spinner{width:42px;height:42px;border:5px solid #d9e6f8;border-top-color:var(--blue);border-radius:50%;animation:api-spin .75s linear infinite}@keyframes api-spin{to{transform:rotate(360deg)}}.network-notice{position:fixed;z-index:10001;right:18px;bottom:18px;width:min(390px,calc(100vw - 24px));padding:13px;border:1px solid #efaaaa;border-radius:14px;background:#fff5f5;box-shadow:0 12px 35px rgba(70,12,12,.25);display:grid;grid-template-columns:38px minmax(0,1fr) 34px;gap:10px;align-items:center;color:#8f1e1e}.network-notice-icon{width:34px;height:34px;border-radius:50%;background:#d93636;color:#fff;display:grid;place-items:center;font-weight:1000}.network-notice strong,.network-notice small{display:block}.network-notice small{margin-top:2px}.network-notice button{width:32px;height:32px;border:0;border-radius:8px;background:transparent;color:#8f1e1e;font-size:24px}
.error-dialog{width:min(520px,calc(100vw - 28px));padding:24px;border:0;border-radius:20px;background:#fff;box-shadow:0 24px 70px rgba(5,18,38,.38);color:var(--navy)}.error-dialog[open]{display:grid;grid-template-columns:54px minmax(0,1fr);gap:14px;align-items:start}.error-dialog::backdrop{background:rgba(8,20,39,.5);backdrop-filter:blur(2px)}.error-dialog-icon{width:50px;height:50px;border-radius:50%;background:#fff0f0;color:#d93636;display:grid;place-items:center;font-size:28px;font-weight:1000}.error-dialog-copy{min-width:0}.error-dialog-copy small,.error-dialog-copy strong{display:block}.error-dialog-copy small{color:#d93636;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.error-dialog-copy strong{margin-top:2px;font-size:20px}.error-dialog-message{max-height:35dvh;margin:12px 0 0;padding:12px;border:1px solid #efc2c2;border-radius:10px;background:#fff8f8;color:#6f1d1d;font:500 13px/1.45 system-ui,sans-serif;white-space:pre-wrap;overflow:auto;overflow-wrap:anywhere;user-select:text!important;-webkit-user-select:text!important;cursor:text}.error-dialog-ok{grid-column:1/-1;justify-self:end;min-width:118px;min-height:44px;margin-top:5px;border:0;border-radius:10px;background:var(--blue);color:#fff;font-weight:900}.error-dialog-ok:hover,.error-dialog-ok:focus{background:var(--blue2)}

/* Header context sits beside the brand; the invoice panel uses the freed top-right space. */
.pos-header{padding-right:448px;gap:24px}
.pos-header-context{min-width:0;display:flex;align-items:center;gap:14px}
.pos-header-meta{margin-left:0;white-space:nowrap}
.header-location{min-height:44px}
@media(min-width:761px){.order-panel{height:100vh;margin-top:-58px;position:relative;z-index:3}}

/* Compact product search expands on demand. */
.catalog-product-search{width:48px;max-width:100%;grid-template-columns:46px minmax(0,1fr) 0;overflow:hidden;transition:width .24s ease,box-shadow .2s ease,border-color .2s ease}
.catalog-product-search.is-expanded{width:min(620px,100%);grid-template-columns:46px minmax(0,1fr) 42px}
.catalog-product-search .catalog-search-toggle{width:46px;height:46px;display:grid;place-items:center;border:0;background:transparent;cursor:pointer}
.catalog-search-toggle img{width:20px;height:20px}
.catalog-product-search input{min-width:0;opacity:0;pointer-events:none;transition:opacity .15s ease}
.catalog-product-search.is-expanded input{opacity:1;pointer-events:auto}
.catalog-product-search #clearCatalogProductSearch{visibility:hidden;opacity:0;transition:opacity .15s ease}
.catalog-product-search.is-expanded #clearCatalogProductSearch{visibility:visible;opacity:1}

/* Rectangular category tiles with a consistent food icon. */
.category-scroller .category-button{min-width:132px;padding:0 15px;border-radius:9px;display:inline-flex;align-items:center;justify-content:flex-start;gap:9px}
.category-button img{width:21px;height:21px;flex:0 0 21px;opacity:.72}
.category-button span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.category-button.active img{filter:brightness(0) invert(1);opacity:1}

@media(max-width:1000px){.pos-header{padding-right:358px}}
@media(max-width:760px){
    .pos-header{padding:0 12px;gap:12px}
    .pos-header-context{margin-left:auto;gap:8px}
    .pos-header-meta{display:none}
    .order-panel{margin-top:0;height:auto}
    .category-scroller .category-button{min-width:116px;padding-inline:11px;gap:7px}
}

/* Header refresh matches the settings control and sits directly before it. */
.pos-header>.catalog-refresh{
    flex:0 0 42px;
    width:42px;
    min-width:42px;
    max-width:42px;
    min-height:42px;
    height:42px;
    margin-left:auto;
    border:1px solid #ffffff50;
    border-radius:10px;
    background:#ffffff12;
    color:#fff;
}
.pos-header>.catalog-refresh:hover,.pos-header>.catalog-refresh:focus-visible{background:#ffffff20;border-color:#fff;color:#fff;outline:none}
.pos-header>.catalog-refresh+ .settings-control{margin-left:8px}
.pos-header .settings-menu .pos-settings-action{width:100%;border:0;background:transparent;font:inherit;text-align:left;cursor:pointer}

.pos-shift-dialog{width:min(540px,calc(100vw - 20px));max-height:calc(100dvh - 20px);overflow:auto}
.pos-shift-dialog .dialog-head{background:linear-gradient(135deg,#f7faff,#edf4ff)}
.pos-shift-lock{width:46px;height:46px;border-radius:50%;background:#dceaff;display:grid;place-items:center;font-size:21px}
.pos-shift-panel{padding:22px;display:flex;flex-direction:column;align-items:center;text-align:center}
.pos-shift-panel[hidden]{display:none!important}
.pos-shift-status-icon{width:58px;height:58px;border-radius:50%;background:#e3f7ee;color:#138457;display:grid;place-items:center;font-size:29px;font-weight:1000}
.pos-shift-status-icon.create{background:#e8f1ff;color:var(--blue);font-size:34px}
.pos-shift-panel>strong{max-width:440px;margin-top:13px;font-size:18px;line-height:1.35}
.pos-shift-panel>p{margin:7px 0 18px;color:var(--muted);font-size:13px}
.pos-shift-panel>label{width:100%;margin-bottom:7px;text-align:left}.pos-shift-panel>label span,.pos-shift-panel>label small{display:block}.pos-shift-panel>label span{font-weight:900}.pos-shift-panel>label small{margin-top:2px;color:var(--muted);font-size:11px}
.pos-shift-amount{width:100%;height:60px;border:2px solid #9fc1f0;border-radius:13px;background:#fff;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;overflow:hidden;box-shadow:0 0 0 3px #1769e012}
.pos-shift-amount span{align-self:stretch;padding:0 14px;background:#eef5ff;color:var(--blue);display:grid;place-items:center;font-weight:900}
.pos-shift-amount input{width:100%;height:100%;padding:0 15px;border:0;outline:0;background:#fff;color:var(--navy);font-size:25px;font-weight:900;text-align:right}
.pos-shift-details{width:100%;margin:18px 0 4px;border:1px solid var(--line);border-radius:13px;overflow:hidden;text-align:left}
.pos-shift-details div{min-height:46px;padding:8px 12px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:12px}.pos-shift-details div:last-child{border-bottom:0}.pos-shift-details span{color:var(--muted);font-size:11px;font-weight:800}.pos-shift-details b{text-align:right;font-size:13px}
.pos-shift-primary{width:100%;min-height:54px;margin-top:15px;border:0;border-radius:12px;background:linear-gradient(135deg,var(--blue),var(--blue2));color:#fff;font-weight:900;font-size:16px;cursor:pointer}.pos-shift-primary:disabled{opacity:.55;cursor:wait}
.pos-shift-message{min-height:20px;margin:0;padding:0 20px 15px;color:var(--danger);font-size:12px;font-weight:800;text-align:center}
body.shift-required .product-card,body.shift-required #openItemSearch,body.shift-required #scannerInput,body.shift-required #scanProduct,body.shift-required #saveOrder{pointer-events:none;opacity:.55}
@media(max-width:520px){.pos-shift-panel{padding:16px}.pos-shift-panel>strong{font-size:16px}.pos-shift-details{margin-top:13px}.pos-shift-details div{min-height:42px}.pos-shift-amount{height:54px}.pos-shift-primary{min-height:50px}}

.shift-closing-dialog{width:min(820px,calc(100vw - 20px));max-height:calc(100dvh - 20px);overflow:auto}
.shift-closing-context{padding:12px 16px;background:#f4f8fe;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;border-bottom:1px solid var(--line)}
.shift-closing-context div{min-width:0;padding:9px 10px;border:1px solid var(--line);border-radius:10px;background:#fff}.shift-closing-context span,.shift-closing-context strong{display:block}.shift-closing-context span{color:var(--muted);font-size:10px;font-weight:800}.shift-closing-context strong{margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}
.shift-closing-table-head,.shift-closing-pay-mode-row{display:grid;grid-template-columns:minmax(180px,1.4fr) minmax(170px,1fr);gap:14px;align-items:center}
.shift-closing-table-head{padding:10px 16px 7px;color:var(--muted);font-size:10px;font-weight:900;text-transform:uppercase}.shift-closing-table-head span:nth-child(2){text-align:right}
.shift-closing-pay-modes{max-height:48dvh;overflow:auto;padding:0 16px}.shift-closing-pay-mode-row{min-height:66px;padding:8px 0;border-top:1px solid var(--line)}
.shift-closing-mode{min-width:0;display:grid;grid-template-columns:42px minmax(0,1fr);gap:9px;align-items:center}.shift-closing-mode-icon{width:42px;height:42px;padding:7px;border-radius:10px;background:#f1f5fa;display:grid;place-items:center;color:var(--navy);font-size:13px;font-weight:1000;overflow:hidden}.shift-closing-mode-icon img{display:block;width:100%;height:100%;object-fit:contain}.shift-closing-mode strong,.shift-closing-mode small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.shift-closing-mode small{margin-top:2px;color:var(--muted);font-size:10px}
.shift-closing-amount{height:46px;border:2px solid #aec9ed;border-radius:10px;background:#fff;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;overflow:hidden}.shift-closing-amount span{height:100%;padding:0 8px;background:#eef5ff;color:var(--blue);display:grid;place-items:center;font-size:10px;font-weight:900}.shift-closing-amount input{width:100%;height:100%;padding:0 10px;border:0;outline:0;color:var(--navy);font-size:16px;font-weight:900;text-align:right}.shift-closing-amount:focus-within{border-color:var(--blue);box-shadow:0 0 0 3px #1769e01f}
.shift-closing-amount.quantity-entry span{min-width:52px}.shift-closing-empty{margin:0;padding:28px 12px;color:var(--muted);text-align:center}
.shift-closing-message{min-height:19px;margin:0;padding:0 16px 7px;color:var(--danger);font-size:12px;font-weight:800;text-align:center}.shift-closing-actions{padding:0 16px 16px;display:flex;gap:9px}.shift-closing-actions button{flex:1;min-height:52px;border:1px solid var(--line);border-radius:11px;background:#fff;color:var(--navy);font-weight:900}.shift-closing-actions .primary{border-color:var(--danger);background:var(--danger);color:#fff}.shift-closing-actions .primary:disabled{opacity:.55;cursor:wait}
@media(max-width:680px){.shift-closing-context{grid-template-columns:1fr 1fr}.shift-closing-table-head{display:none}.shift-closing-pay-modes{padding:8px 10px}.shift-closing-pay-mode-row{grid-template-columns:minmax(0,1fr) minmax(135px,.8fr);gap:8px}.shift-closing-mode,.shift-closing-amount{min-width:0}}

.shift-close-dialog{width:min(720px,calc(100vw - 24px));max-height:94dvh;padding:0;overflow:auto;background:#eef2f7}
.shift-close-report{margin:14px;padding:18px;border-radius:14px;background:#fff;color:var(--navy);box-shadow:0 2px 12px #14233c1f}
.shift-close-head{margin:-18px -18px 0;padding:16px 18px}
.shift-close-identity{display:grid;gap:3px;padding:15px 0;border-bottom:1px dashed #9cabc0;text-align:center}
.shift-close-identity strong{font-size:20px}.shift-close-identity span{font-weight:800}.shift-close-identity small{color:var(--muted)}
.shift-close-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:14px}
.shift-close-metrics div{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 12px;border:1px solid var(--line);border-radius:9px;background:#f8fafc}
.shift-close-metrics span{color:var(--muted);font-size:12px;font-weight:800}.shift-close-metrics strong{font-size:14px;text-align:right}
.shift-close-total,.shift-close-paid-total{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 12px;font-weight:900}
.shift-close-total{margin-top:10px;border-radius:10px;background:var(--blue);color:#fff}.shift-close-total strong{font-size:20px}
.shift-close-payments{margin-top:16px}.shift-close-payments h3{margin:0 0 8px;font-size:14px;text-transform:uppercase}
.shift-close-payment-head,.shift-close-payment-row{display:grid;grid-template-columns:minmax(0,1fr) 70px 150px;gap:8px;align-items:center}
.shift-close-payment-head{padding:8px 10px;border-bottom:2px solid var(--navy);color:var(--muted);font-size:10px;font-weight:900;text-transform:uppercase}
.shift-close-payment-head span:nth-child(n+2),.shift-close-payment-row span:nth-child(n+2){text-align:right}
.shift-close-payment-row{padding:10px;border-bottom:1px solid var(--line);font-size:13px}.shift-close-payment-row span:first-child{font-weight:800}.shift-close-payment-row span:last-child{font-weight:900}
.shift-close-payment-rows>p{margin:0;padding:20px;color:var(--muted);text-align:center}
.shift-close-paid-total{border-top:2px solid var(--navy)}.shift-close-paid-total strong{font-size:17px}
.shift-close-generated{margin:12px 0 0;color:var(--muted);font-size:10px;text-align:center}
.shift-close-actions{display:flex;gap:10px;padding:0 14px 14px}.shift-close-actions button{flex:1;min-height:50px;border:1px solid var(--line);border-radius:9px;font-weight:900}.shift-close-actions .primary{border-color:var(--blue);background:var(--blue);color:#fff}

@media(max-width:560px){.shift-close-report{margin:8px;padding:12px}.shift-close-head{margin:-12px -12px 0;padding:12px}.shift-close-metrics{grid-template-columns:1fr}.shift-close-payment-head,.shift-close-payment-row{grid-template-columns:minmax(0,1fr) 54px 112px}}

@media print{
    body.print-shift-close #kotDialog,body.print-shift-close #kotDialog *,body.print-shift-close #invoiceDialog,body.print-shift-close #invoiceDialog *{visibility:hidden!important}
    body.print-shift-close #shiftCloseDialog,body.print-shift-close #shiftCloseDialog *{visibility:visible!important}
    body.print-shift-close #shiftCloseDialog{position:absolute;inset:0;width:74mm;max-width:74mm;max-height:none;margin:0;padding:0;border:0;background:#fff;box-shadow:none}
    body.print-shift-close .shift-close-report{margin:0;padding:0;border-radius:0;box-shadow:none;font-family:"Courier New",monospace}
    body.print-shift-close .shift-close-head{margin:0;padding:0 0 8px;border-bottom:2px dashed #111;text-align:center}
    body.print-shift-close .shift-close-head .dialog-close{display:none!important}
    body.print-shift-close .shift-close-metrics{grid-template-columns:1fr;gap:0}
    body.print-shift-close .shift-close-metrics div{padding:4px 0;border:0;border-radius:0;background:#fff}
    body.print-shift-close .shift-close-total{padding:8px 0;border-radius:0;border-top:2px solid #111;border-bottom:2px solid #111;background:#fff;color:#111}
    body.print-shift-close .shift-close-payment-head,body.print-shift-close .shift-close-payment-row{grid-template-columns:minmax(0,1fr) 45px 85px;padding:5px 0}
    body.print-shift-close .shift-close-actions{display:none!important}
}

/* Categories and products begin at the top; search remains available at the bottom. */
.catalog-panel{
    height:100%;
    padding-top:0;
    padding-bottom:10px;
    display:grid;
    grid-template-rows:auto minmax(0,1fr) auto;
    gap:8px;
    overflow:hidden;
}
.catalog-panel>.category-scroller{grid-row:1;margin-top:0}
.catalog-panel>.product-grid{grid-row:2;min-height:0;padding-bottom:8px;overflow:auto;align-content:start}
.catalog-panel>#catalogMessage{grid-row:2;overflow:auto}
.catalog-panel>.catalog-product-search{grid-row:3;position:sticky;bottom:0;z-index:4}

@media(max-width:760px){
    .pos-header>.catalog-refresh{margin-left:0}
    .catalog-panel{height:auto;min-height:calc(100dvh - 58px);display:flex;overflow:visible}
    .catalog-panel>.category-scroller{order:1}
    .catalog-panel>.product-grid,.catalog-panel>#catalogMessage{order:2;overflow:visible}
    .catalog-panel>.catalog-product-search{order:3;bottom:8px}
}

/* Final header alignment: location stays left; connection status sits before refresh. */
#locationName{display:none!important}
.pos-header>.header-location{min-width:auto;width:auto;padding-inline:12px}
.pos-header>.pos-header-meta{margin-left:auto}
.pos-header>.catalog-refresh{margin-left:0}

/* Keep the catalog slightly below the header and prevent search icon/text overlap. */
.catalog-panel{height:calc(100% - 10px);margin-top:10px}
.catalog-panel>.catalog-product-search{
    display:flex;
    align-items:center;
    width:48px;
    padding:0;
}
.catalog-panel>.catalog-product-search.is-expanded{width:min(620px,100%)}
.catalog-product-search .catalog-search-toggle{flex:0 0 46px;margin:0}
.catalog-product-search input{
    flex:0 0 0;
    width:0;
    min-width:0;
    height:46px;
    padding:0;
    overflow:hidden;
    white-space:nowrap;
}
.catalog-product-search.is-expanded input{flex:1 1 auto;width:auto;padding:0 8px 0 2px}
.catalog-product-search #clearCatalogProductSearch{flex:0 0 0;width:0;margin:0;padding:0;overflow:hidden}
.catalog-product-search.is-expanded #clearCatalogProductSearch{flex:0 0 36px;width:36px}

@media(max-width:760px){
    .catalog-panel{height:auto;margin-top:10px}
    .pos-header>.header-location{margin-left:0}
    .pos-header>.pos-header-meta{display:flex;margin-left:auto;font-size:12px}
    .pos-header>.pos-header-meta #connectionState{display:none}
}

/* Visible inline search icon. */
.catalog-search-toggle svg{display:block;width:21px;height:21px;fill:none;stroke:var(--blue);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}

/* Denser category navigation. */
.category-scroller{gap:5px}
.category-scroller .category-list{gap:6px;grid-template-rows:repeat(2,42px)}
.category-scroller .category-button{min-width:112px;height:42px;min-height:42px;padding:0 10px;gap:6px;font-size:11px}
.category-scroller .category-button img{width:18px;height:18px;flex-basis:18px}

/* Transfer 30px from the catalog workspace to the order panel. */
@media(min-width:1001px){
    .pos-layout{grid-template-columns:minmax(0,1fr) 460px}
    .pos-header{padding-right:478px}
}
@media(min-width:761px) and (max-width:1000px){
    .pos-layout{grid-template-columns:minmax(0,1fr) 370px}
    .pos-header{padding-right:388px}
}
@media(max-width:760px){
    .category-scroller .category-list{gap:5px;grid-template-rows:repeat(2,40px)}
    .category-scroller .category-button{min-width:104px;height:40px;min-height:40px;font-size:10px}
}

/* Compact, balanced POS presentation. Styling only; interaction and data flow are unchanged. */
#locationButton{display:none!important}

@media(min-width:761px){
    .pos-header{height:54px;padding-left:14px;gap:12px}
    .pos-brand{font-size:18px;line-height:1}
    .pos-header .erp-company-context{min-width:0;padding-left:13px;border-left:1px solid #ffffff35;display:grid;line-height:1.15;text-align:center}
    .pos-header .erp-company-context span{font-size:11px;font-weight:800}
    .pos-header .erp-company-context strong{font-size:10px}
    .pos-header>.pos-header-meta{gap:6px;font-size:12px}
    .pos-header .online-dot{width:7px;height:7px}
    .pos-header>.catalog-refresh,.pos-header .settings-button{width:38px;min-width:38px;max-width:38px;height:38px;min-height:38px;padding:7px;border-radius:9px}
    .pos-header>.catalog-refresh svg,.pos-header .settings-button svg{width:20px;height:20px}
    .pos-header .settings-control{margin-left:5px}

    .pos-layout{height:calc(100vh - 54px)}
    .order-panel{height:100vh;margin-top:-54px}
    .catalog-panel{padding-right:12px;padding-left:12px;padding-bottom:7px;gap:6px}

    .category-scroller{gap:4px}
    .category-arrow{flex-basis:40px;width:40px;min-width:40px;max-width:40px;height:40px;border-radius:8px}
    .category-arrow svg{width:18px;height:18px}
    .category-right-controls{flex-basis:40px;width:40px;min-width:40px;gap:4px}
    .category-right-controls .category-arrow,.catalog-sort-control{flex-basis:40px;width:40px;height:40px}
    .catalog-sort-control svg{width:18px;height:18px}
    .category-scroller .category-list{gap:5px;grid-template-rows:repeat(2,38px)}
    .category-scroller .category-button{min-width:102px;height:38px;min-height:38px;padding-inline:9px;gap:5px;border-radius:8px;font-size:10px}
    .category-scroller .category-button img{width:16px;height:16px;flex-basis:16px}

    .product-grid{gap:7px}
    .product-card{min-height:132px;border-radius:10px}
    .product-image{height:68px}
    .product-copy{padding:6px 8px}
    .product-copy strong{font-size:12px;line-height:1.12}
    .product-copy small{margin-top:3px;font-size:9px}
    .product-copy b{margin-top:5px;font-size:11px}

    .order-context{padding:4px 8px}
    .order-topline>div .order-label{font-size:8px}
    .order-topline>div strong{font-size:14px}
    .order-top-actions{gap:4px}
    .order-top-actions .small-touch{min-height:32px;padding-inline:10px;border-radius:8px;font-size:10px}
    .dine-types{margin:4px 0;gap:4px}
    .dine-button{min-height:34px;border-radius:8px;font-size:9px}
    .customer-table-row{gap:4px}
    .customer-card,.waiter-card,.table-button{height:38px;min-height:38px;border-radius:8px}
    .customer-card{grid-template-columns:29px minmax(0,1fr) 10px;padding:2px 6px}
    .customer-avatar{width:25px;height:25px;font-size:10px}
    .customer-card small,.waiter-card small,.table-button small{font-size:7px}
    .customer-card strong,.waiter-card select,.table-button strong{font-size:11px}
    .waiter-card{padding:3px 6px}
    .table-button{padding:2px 6px}

    .cart-line{min-height:32px;padding:3px 8px;column-gap:5px;border-bottom-width:1px}
    .cart-line-name strong,.cart-line-price strong{font-size:10px}
    .cart-line-name small{font-size:7px}
    .cart-line-id{min-width:16px;height:16px;font-size:7px}
    .quantity-control button{flex-basis:21px;width:21px;min-width:21px;height:21px;min-height:21px}
    .quantity-control span{font-size:10px}
    .cart-line>.remove-line{width:25px;min-width:25px;height:25px}
    .cart-line>.remove-line svg{width:13px;height:13px}

    .checkout-panel{padding:4px 8px}
    .checkout-action-row{gap:4px}
    .checkout-action-row .search-strip{gap:4px}
    .checkout-action-row .touch-input,.checkout-action-row .scan-button,.checkout-action-row .order-discount-button,.checkout-action-row .invoice-preview-button,.checkout-action-row .pay-button{height:36px;min-height:36px;border-radius:8px}
    .checkout-action-row .order-discount-button,.checkout-action-row .invoice-preview-button,.checkout-action-row .scan-button,.checkout-action-row .pay-button{font-size:9px}
    #saveOrder>strong{font-size:15px}
}

/* Compact single-control selectors for waiter and dine type. */
.dine-type-trigger{width:100%;min-height:38px;margin:4px 0;padding:4px 30px 4px 10px;position:relative;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--navy);display:flex;align-items:center;gap:8px;text-align:left;cursor:pointer;transition:.16s ease}
.dine-type-trigger small{color:var(--muted);font-size:8px;font-weight:800;white-space:nowrap}
.dine-type-trigger small b{color:var(--danger)}
.dine-type-trigger strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}
.dine-type-trigger>img{flex:0 0 22px;width:22px;height:22px;padding:3px;border-radius:6px;background:#fff;object-fit:contain;box-shadow:0 0 0 1px #ffffff73}
.dine-type-trigger>span{position:absolute;right:10px;font-size:15px}
.dine-type-trigger:hover,.dine-type-trigger:focus-visible{border-color:var(--blue);outline:3px solid #1769e01f}
.dine-type-trigger.dine-in{border-color:#1769e0;background:#1769e0;color:#fff}
.dine-type-trigger.take-away{border-color:#efb56e;background:#fff3e5;color:#b85b00}
.dine-type-trigger.delivery{border-color:#83ceb0;background:#eaf7f1;color:#087747}
.dine-type-trigger.dine-in small,.dine-type-trigger.take-away small,.dine-type-trigger.delivery small{color:inherit}

.waiter-card{position:relative;cursor:pointer}
.waiter-card select{cursor:pointer}
.selection-dialog{width:min(420px,calc(100vw - 24px));max-height:min(620px,calc(100dvh - 24px));overflow:hidden}
.selection-dialog-list{max-height:450px;padding:8px;overflow:auto;display:grid;gap:6px}
.selection-dialog-option,.dine-type-options .dine-button{width:100%;min-height:52px;padding:8px 11px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--navy);display:grid;grid-template-columns:34px minmax(0,1fr) 22px;gap:9px;align-items:center;text-align:left;font-size:13px;font-weight:900;cursor:pointer}
.selection-dialog-option:hover,.selection-dialog-option:focus-visible,.selection-dialog-option.selected{border-color:var(--blue);background:#eef5ff;outline:none}
.selection-avatar{width:32px;height:32px;border-radius:50%;background:#dceaff;color:var(--blue);display:grid;place-items:center;font-size:12px}
.selection-check{color:transparent;text-align:center;font-size:17px}
.selection-dialog-option.selected .selection-check{color:var(--blue)}
.selection-dialog-empty{margin:0;padding:36px 18px;color:var(--muted);text-align:center;font-size:13px}
.dine-type-options{grid-template-columns:1fr;padding:8px}
.dine-type-options .dine-button{display:flex;justify-content:center;min-height:48px;font-size:12px}
.dine-type-options .dine-button[data-value="1"]{border-color:#8bb8fa;color:#1261d7;background:#f1f6ff}
.dine-type-options .dine-button[data-value="2"]{border-color:#efbd7d;color:#c45b00;background:#fff6ea}
.dine-type-options .dine-button[data-value="4"]{border-color:#8fd0b5;color:#087747;background:#edf9f4}
.dine-type-options .dine-button[data-value="1"].active{border-color:#1769e0;background:#1769e0;color:#fff}
.dine-type-options .dine-button[data-value="2"].active{border-color:#dc6a00;background:#dc6a00;color:#fff}
.dine-type-options .dine-button[data-value="4"].active{border-color:#13875b;background:#13875b;color:#fff}

@media(max-width:760px){.dine-type-trigger{min-height:40px}.selection-dialog-option,.dine-type-options .dine-button{min-height:50px}}

/* Dine type, waiter, and customer share one balanced control row. */
.order-control-row{width:100%;display:grid;grid-template-columns:calc(50% - 4px) 112px minmax(0,1fr);gap:4px;align-items:stretch}
.order-control-row .dine-type-trigger{width:100%;height:38px;margin:0;min-width:0}
.order-control-row .waiter-card{width:100%;min-width:0}
.order-control-row .customer-card{width:100%;min-width:0}
.order-control-row #customerName{display:block;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.order-table-row{width:100%;margin-top:4px}
.order-table-row .table-button{width:100%;height:32px;min-height:32px;display:flex;align-items:center;gap:7px;padding-inline:8px}
.order-table-row .table-button small,.order-table-row .table-button strong{display:inline-block}

@media(max-width:760px){
    .order-control-row{grid-template-columns:1fr 1fr}
    .order-control-row .dine-type-trigger{height:40px}
    .order-control-row .customer-card{grid-column:1/-1}
    .order-table-row .table-button{min-height:38px;height:38px}
}

/* Customer returns to its original position immediately before Table. */
.order-control-row{grid-template-columns:minmax(0,calc(30% + 15px)) minmax(43px,calc(20% - 15px)) minmax(0,1fr);margin-top:10px}
.order-control-row .dine-type-trigger,.order-control-row .pax-card,.order-control-row .waiter-card{height:38px;min-height:38px}
.pax-card{min-width:0;padding:3px 6px;border:1px solid var(--line);border-radius:8px;background:#fff;display:flex;align-items:center;gap:5px;color:var(--navy);cursor:pointer}
.pax-card small{flex:0 0 auto;color:var(--muted);font-size:8px;font-weight:800}
.pax-card input{width:100%;min-width:0;height:28px;padding:0;border:0;outline:0;background:transparent;color:var(--navy);font:800 11px/1 Inter,Segoe UI,Arial,sans-serif;text-align:center;-moz-appearance:textfield}
.pax-card input::-webkit-inner-spin-button,.pax-card input::-webkit-outer-spin-button{margin:0;-webkit-appearance:none}
.pax-card:focus-within{border-color:var(--blue);box-shadow:0 0 0 2px #1769e01f}
.pax-card:hover,.pax-card:focus-visible{border-color:var(--blue);outline:0;box-shadow:0 0 0 2px #1769e01f}
.pax-dialog{width:min(420px,calc(100vw - 24px));overflow:hidden}
.pax-options{padding:12px;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}
.pax-option{aspect-ratio:1;min-width:0;padding:0;border:1px solid #b9cff0;border-radius:8px;background:#f7f9fc;color:var(--navy);display:grid;place-items:center;font-size:14px;font-weight:900;cursor:pointer}
.pax-option:hover,.pax-option:focus-visible{border-color:var(--blue);background:#eef5ff;outline:2px solid #1769e02b}
.pax-option.selected{border-color:var(--blue);background:var(--blue);color:#fff;box-shadow:0 0 0 2px #1769e026}
@media(max-width:420px){.pax-options{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;padding:9px}}
.order-table-row{display:grid;grid-template-columns:minmax(0,1fr) 112px;gap:4px;align-items:stretch}
.order-table-row .customer-card{width:100%;min-width:0;height:38px;min-height:38px}
.order-table-row #customerName{display:block;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.order-table-row .table-button{width:100%;height:38px;min-height:38px;display:block;padding:2px 6px}
.order-table-row .table-button small,.order-table-row .table-button strong{display:block}

@media(max-width:760px){
    .order-control-row{grid-template-columns:minmax(0,calc(30% + 15px)) minmax(43px,calc(20% - 15px)) minmax(0,1fr)}
    .order-control-row .dine-type-trigger,.order-control-row .pax-card,.order-control-row .waiter-card{height:40px;min-height:40px}
    .order-control-row .customer-card{grid-column:auto}
    .order-table-row{grid-template-columns:minmax(0,1fr) 104px}
    .order-table-row .customer-card,.order-table-row .table-button{height:40px;min-height:40px}
}

.dine-type-options .dine-button img{width:24px;height:24px;object-fit:contain}
.dine-type-options .dine-button span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* Always-visible search glyph, independent of browser SVG/image rendering. */
.catalog-search-toggle{position:relative;color:var(--blue)}
.catalog-search-toggle svg{display:block;width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2.25;stroke-linecap:round;stroke-linejoin:round}
.catalog-search-toggle::before,.catalog-search-toggle::after{content:none}

/* Keep the signed-in company, branch and user centred in one header line. */
.pos-header>.erp-company-context{
    flex:1 1 auto;
    min-width:0;
    margin:0;
    padding:0 12px;
    border:0;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:5px;
    line-height:1;
    text-align:center;
    white-space:nowrap;
    overflow:hidden;
}
.pos-header>.erp-company-context>*{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pos-header>.erp-company-context .erp-company-name,
.pos-header>.erp-company-context strong,
.pos-header>.erp-company-context .erp-user-display-name{font-size:11px;font-weight:800}
.pos-header>.erp-company-context .erp-company-context-separator{font-size:11px;font-weight:700;opacity:.65}

/* Display the shared UI build version beneath the POS name. */
.pos-brand{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;line-height:1}
.pos-build-version{margin-top:4px;color:#b9c8df;font-size:9px;font-weight:700;letter-spacing:.04em;white-space:nowrap}

/* Partner wordmarks stay aligned with their database-provided dine-type names. */
.dine-type-options .dine-button{justify-content:flex-start;gap:10px}
.dine-type-options .dine-button img{flex:0 0 48px;width:48px;height:24px;padding:2px;object-fit:contain}
.dine-type-options .dine-button.active img{border-radius:6px;background:#fff;box-shadow:0 0 0 1px #ffffff73}
.dine-type-options .dine-button span{min-width:0;line-height:1.1}

/* Keep every POS section inside the viewport on phones and narrow tablets. */
@media(max-width:760px){
    html,.pos-body{width:100%;max-width:100%;overflow-x:hidden}
    .pos-header{width:100%;max-width:100%;padding-inline:10px;gap:8px}
    .pos-brand{flex:0 0 auto;font-size:17px;white-space:nowrap}
    .pos-header-context{min-width:0;margin-left:auto;gap:6px}
    .pos-header .erp-company-context{min-width:0;max-width:145px;overflow:hidden}
    .pos-header .erp-company-context span,.pos-header .erp-company-context strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
    .pos-header>.catalog-refresh,.pos-header .settings-button{flex:0 0 42px;width:42px;min-width:42px;max-width:42px;height:42px;min-height:42px;padding:7px}

    .pos-layout{width:100%;max-width:100%;display:flex;flex-direction:column;overflow-x:hidden}
    .catalog-panel{flex:none;width:100%;max-width:100%;min-width:0;margin-top:10px;padding:0 8px 8px;display:flex;flex-direction:column;align-items:stretch;overflow:visible}
    .catalog-panel>.category-scroller,.catalog-panel>.product-grid,.catalog-panel>#catalogMessage{flex:none;width:100%;max-width:100%;min-width:0}
    .category-scroller{overflow:hidden}
    .category-scroller .category-list{width:0;max-width:100%;min-width:0}
    .product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;overflow:visible}
    .product-card{width:100%;min-width:0;max-width:100%}
    .product-copy{min-width:0}
    .product-copy strong,.product-copy small,.product-copy b{max-width:100%;overflow:hidden;text-overflow:ellipsis}
    .catalog-panel>.catalog-product-search{flex:none;align-self:flex-start;max-width:100%}

    .order-panel{flex:none;width:100%;max-width:100%;min-width:0;overflow:hidden}
    .order-context,.cart-section,.checkout-panel{width:100%;max-width:100%;min-width:0}
}

@media(max-width:420px){
    .pos-header .erp-company-context{display:none}
    .pos-header-meta{margin-left:auto!important}
    .product-grid{gap:6px}
    .product-copy{padding:7px 8px}
    .product-copy strong{font-size:13px}
}

/* Responsive catalog alignment and fixed product-card geometry. */
.category-scroller .category-button{
    width:112px;
    min-width:112px;
    max-width:112px;
    justify-content:flex-start;
}
.category-scroller .category-button span{min-width:0;width:100%;text-align:left}
.product-grid{
    align-content:start;
    align-items:start;
    grid-auto-rows:132px;
    margin-top:0;
    padding-top:0;
}
.product-card{
    width:100%;
    height:132px;
    min-height:132px;
    max-height:132px;
    padding:0;
    display:grid;
    grid-template-rows:68px minmax(0,1fr);
    align-self:start;
    overflow:hidden;
}
.product-card>.product-image{
    width:100%;
    height:100%;
    min-height:0;
    margin:0;
    align-self:start;
    object-fit:cover;
    vertical-align:top;
}
.product-card>.product-copy{
    width:100%;
    height:100%;
    min-width:0;
    min-height:0;
    padding:6px 8px;
    display:grid;
    grid-template-rows:minmax(0,1fr) auto auto;
    align-items:start;
    gap:2px;
    overflow:hidden;
}
.product-card .product-name{
    min-width:0;
    min-height:0;
    max-height:100%;
    margin:0;
    overflow:hidden;
    line-height:1.06;
    overflow-wrap:anywhere;
}
.product-card .product-copy small,
.product-card .product-copy b{
    min-width:0;
    margin:0;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}

@media(max-width:760px){
    .category-scroller .category-button{width:104px;min-width:104px;max-width:104px}
    .product-grid{grid-auto-rows:154px}
    .product-card{height:154px;min-height:154px;max-height:154px;grid-template-rows:86px minmax(0,1fr)}
}

/* Give the complete dine-type filter set its own toolbar row. */
.running-orders-dialog-head{display:grid;grid-template-columns:auto minmax(180px,1fr) auto auto;align-items:center}
.running-orders-dialog-head>.running-status-filters{grid-column:2;grid-row:1;justify-self:center;margin-inline:16px}
.running-orders-dialog-head>.running-orders-message{grid-column:3;grid-row:1;margin-left:0}
.running-orders-dialog-head>.dialog-close{grid-column:4;grid-row:1}
.running-orders-toolbar{display:grid;grid-template-columns:minmax(260px,1fr) auto;align-items:end}
.running-order-search{grid-column:1;grid-row:1}
.running-view-toggle{grid-column:2;grid-row:1}
.running-dine-filters{grid-column:1/-1;grid-row:2;width:100%;margin-left:0;justify-content:flex-start}

@media(max-width:760px){
    .running-orders-dialog-head{grid-template-columns:minmax(0,1fr) auto}
    .running-orders-dialog-head>div:first-child{grid-column:1;grid-row:1}
    .running-orders-dialog-head>.dialog-close{grid-column:2;grid-row:1}
    .running-orders-dialog-head>.running-status-filters{grid-column:1/-1;grid-row:2;width:100%;margin:6px 0 0}
    .running-orders-dialog-head>.running-orders-message{grid-column:1/-1;grid-row:3;justify-self:center;margin:4px 0 0}
    .running-orders-toolbar{display:flex;align-items:stretch;flex-direction:column}
    .running-order-search,.running-dine-filters,.running-view-toggle{width:100%}
}

/* Paid invoices are view-only while remaining visually readable. */
.order-read-only #saveOrder{opacity:1;background:linear-gradient(135deg,#1b9b65,#087747);cursor:not-allowed}
.order-read-only .pax-card[aria-disabled="true"]{background:#eef2f7;color:var(--muted);cursor:not-allowed;box-shadow:none}
.order-read-only .product-card:disabled{opacity:.72;cursor:not-allowed;transform:none}
.order-read-only .line-addon-button:disabled,.order-read-only #waiterDialog .selection-dialog-option:disabled{opacity:.55;cursor:not-allowed;pointer-events:none}
.order-read-only .order-context button:disabled,.order-read-only .order-context select:disabled,.order-read-only .checkout-panel button:disabled,.order-read-only .checkout-panel input:disabled{cursor:not-allowed}

/* Authorization prompt shown before an order containing new void lines can be saved. */
.void-authorization-dialog{width:min(440px,calc(100vw - 24px));max-height:calc(100dvh - 16px);overflow:hidden}
.void-authorization-dialog form{max-height:calc(100dvh - 16px);margin:0;overflow-y:auto;overscroll-behavior:contain}
.void-authorization-body{margin:18px 18px 14px;padding:14px;border:1px solid #f0c3c3;border-radius:12px;background:#fff5f5;display:grid;grid-template-columns:46px minmax(0,1fr);gap:12px;align-items:center}
.void-authorization-icon{width:46px;height:46px;border-radius:50%;background:#ffe3e3;color:var(--danger);display:grid;place-items:center}
.void-authorization-icon svg{width:25px;height:25px;fill:currentColor}
.void-authorization-body strong{display:block;font-size:14px}
.void-authorization-body p{margin:4px 0 0;color:#7a5660;font-size:11px;line-height:1.4}
.void-passcode-field{display:block;margin:0 18px}
.void-passcode-field span{display:block;margin-bottom:6px;font-size:11px;font-weight:900}
.void-passcode-field input{width:100%;height:48px;padding:0 13px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--navy);font-size:18px;font-weight:900;letter-spacing:.18em}
.void-passcode-field input:focus{border-color:var(--blue);outline:3px solid #1769e01f}
.void-passcode-field input::placeholder{font-size:12px;font-weight:600;letter-spacing:0}
.void-authorization-keypad{margin:12px 18px 4px;display:grid;grid-template-columns:repeat(3,1fr);gap:7px}
.void-authorization-keypad button{height:44px;border:1px solid var(--line);border-radius:9px;background:#f7f9fc;color:var(--navy);font-size:17px;font-weight:900;cursor:pointer}
.void-authorization-keypad button:active{border-color:var(--blue);background:#eaf2fd;transform:scale(.98)}
.void-authorization-keypad .keypad-command{color:var(--blue);font-size:11px}
.void-authorization-message{min-height:18px;margin:6px 18px;color:var(--danger);font-size:11px}
.void-authorization-actions{position:sticky;bottom:0;z-index:2;padding:10px 18px max(18px,env(safe-area-inset-bottom));display:grid;grid-template-columns:1fr 1.35fr;gap:8px;border-top:1px solid var(--line);background:#fff;box-shadow:0 -7px 18px rgba(19,35,63,.07)}
.void-authorization-actions button{height:52px;border:1px solid var(--line);border-radius:11px;background:#fff;color:var(--navy);font-size:14px;font-weight:900;cursor:pointer}
.void-authorization-actions button.primary{border-color:var(--blue);background:var(--blue);color:#fff}
.void-authorization-actions button:disabled{opacity:.5;cursor:not-allowed}
@media(max-height:720px){.void-authorization-dialog .dialog-head{padding:11px 16px}.void-authorization-body{margin:10px 14px 8px;padding:10px}.void-passcode-field{margin:0 14px}.void-authorization-keypad{margin:8px 14px 3px;gap:5px}.void-authorization-keypad button{height:38px}.void-authorization-message{margin:3px 14px;min-height:14px}.void-authorization-actions{padding:8px 14px max(8px,env(safe-area-inset-bottom))}.void-authorization-actions button{height:46px}}
.cancel-order-button{border-color:#efb5b5!important;background:#fff3f3!important;color:var(--danger)!important}
.order-action-button{display:flex!important;align-items:center;justify-content:center;gap:5px}
.order-action-icon{flex:0 0 auto;font-size:16px;line-height:1;font-weight:1000}
.order-action-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* Delivery partners use only their code, name, and manually entered PO. */
.delivery-address-form.delivery-partner-mode{grid-template-columns:1fr;padding:14px;gap:10px}
.delivery-address-form.delivery-partner-mode>:not(.partner-visible){display:none!important}
.delivery-address-form.delivery-partner-mode>.partner-visible{grid-column:1/-1}
.delivery-address-form.delivery-partner-mode .delivery-customer-lookup{display:block}
.delivery-address-form.delivery-partner-mode .delivery-customer-lookup>label{display:block}
.delivery-address-form.delivery-partner-mode #findDeliveryCustomer{display:none}
.delivery-address-form.delivery-partner-mode input[readonly]{background:#eef2f7;color:#536176;cursor:default}
.delivery-address-dialog[open]{display:grid;grid-template-rows:auto minmax(0,1fr);width:min(620px,calc(100vw - 24px));max-height:calc(100dvh - 16px);overflow:hidden}
.delivery-address-dialog .delivery-address-form{min-height:0;max-height:none;padding:0;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto;gap:0;overflow:hidden}
.delivery-address-dialog .delivery-address-fields{min-height:0;padding:8px 14px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:7px;align-content:start;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}
.delivery-address-dialog .delivery-customer-lookup>label:first-child{grid-column:auto}
.delivery-address-dialog .delivery-address-actions{grid-column:1;position:relative;z-index:2;margin:0;padding:9px 14px max(9px,env(safe-area-inset-bottom));display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:9px;border-top:1px solid var(--line);background:#fff;box-shadow:0 -7px 18px rgba(19,35,63,.07)}
.delivery-address-dialog .delivery-address-actions button{width:100%;min-width:0;min-height:42px}
.delivery-address-form.delivery-partner-mode .delivery-address-fields{grid-template-columns:1fr;padding:14px;gap:10px}
.delivery-address-form.delivery-partner-mode .delivery-address-fields>:not(.partner-visible){display:none!important}
.delivery-address-form.delivery-partner-mode .delivery-address-fields>.partner-visible{grid-column:1/-1}
.delivery-address-form.delivery-customer-mode .delivery-address-fields{grid-template-columns:1fr;padding:14px;gap:10px}
.delivery-address-form.delivery-customer-mode .delivery-address-fields>:not(.customer-visible){display:none!important}
.delivery-address-form.delivery-customer-mode .delivery-address-fields>.customer-visible{grid-column:1/-1}
@media(max-width:560px){.delivery-address-dialog[open]{width:calc(100vw - 10px);max-height:calc(100dvh - 10px);border-radius:14px}.delivery-address-dialog .dialog-head{padding:7px 10px}.delivery-address-dialog .delivery-address-fields{grid-template-columns:1fr;padding:7px 10px;gap:6px;scrollbar-gutter:auto}.delivery-address-dialog .delivery-customer-lookup{grid-template-columns:1fr}.delivery-address-dialog .delivery-address-actions{padding:8px 10px max(8px,env(safe-area-inset-bottom));gap:7px}.delivery-address-dialog .delivery-address-actions button{font-size:12px}}
@media(max-height:650px){.delivery-address-dialog .delivery-address-fields{gap:5px}.delivery-address-dialog .delivery-address-form input,.delivery-address-dialog .delivery-address-form select,.delivery-address-dialog .delivery-customer-lookup button{height:36px}.delivery-address-dialog .delivery-address-actions button{min-height:38px}}
.dine-type-options .dine-button.dine-in.active{border-color:#1769e0;background:#1769e0;color:#fff}
.dine-type-options .dine-button.take-away.active{border-color:#dc6a00;background:#dc6a00;color:#fff}
.dine-type-options .dine-button.delivery.active{border-color:#13875b;background:#13875b;color:#fff}

/* Item-wise order split. */
.split-order-button{border-color:#a9c4ea!important;background:#f1f6ff!important;color:var(--blue)!important}
.split-order-button:disabled{cursor:not-allowed;opacity:.45}
.order-split-dialog{width:min(980px,calc(100vw - 20px));height:min(860px,calc(100dvh - 20px));max-width:none;max-height:calc(100dvh - 20px);overflow:hidden;background:#fff}
.order-split-dialog[open]{display:grid;grid-template-rows:minmax(0,1fr)}
.order-split-dialog form{position:relative;min-height:0;height:100%;display:grid;grid-template-rows:auto auto auto minmax(90px,1fr) auto auto;overflow:hidden}
.order-split-controls{padding:12px 16px;background:#f5f8fc;border-bottom:1px solid var(--line);display:flex;align-items:end;justify-content:space-between;gap:16px}
.order-split-controls>div span,.order-split-controls>div strong{display:block}.order-split-controls>div span{color:var(--muted);font-size:10px;font-weight:800;text-transform:uppercase}.order-split-controls>div strong{margin-top:3px;font-size:19px}
.order-split-controls fieldset{margin:0;padding:0;border:0;display:flex;gap:7px;align-items:center}.order-split-controls legend{float:left;margin-right:9px;color:var(--muted);font-size:11px;font-weight:800;line-height:38px}.order-split-controls fieldset button{min-height:38px;padding:0 16px;border:1px solid #b9cce7;border-radius:9px;background:#fff;color:var(--navy);font-weight:850}.order-split-controls fieldset button.active{border-color:var(--blue);background:var(--blue);color:#fff}
.order-split-auto{min-height:40px;padding:0 16px;border:1px solid #78bca0;border-radius:9px;background:#eaf9f2;color:#08764c;font-weight:900;white-space:nowrap}.order-split-auto span{margin-right:6px;font-size:17px;vertical-align:-1px}.order-split-auto:hover{border-color:#169d68;background:#dcf5e9}.order-split-auto:focus-visible{outline:3px solid #169d6830;outline-offset:2px}.order-split-auto:disabled{cursor:not-allowed;opacity:.5}
.order-split-help{margin:0;padding:10px 16px;color:var(--muted);font-size:12px}
.order-split-table-wrap{min-height:0;max-height:none;margin:0 16px;overflow:auto;border:1px solid var(--line);border-radius:12px;overscroll-behavior:contain}
.order-split-table{width:100%;min-width:720px;border-collapse:separate;border-spacing:0;table-layout:fixed}.order-split-table th,.order-split-table td{padding:8px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff}.order-split-table th{position:sticky;z-index:2;top:0;background:#eaf2ff;color:#40516b;font-size:10px;font-weight:900;text-transform:uppercase}.order-split-table th:first-child{width:31%;text-align:left}.order-split-table th:nth-child(2){width:11%}.order-split-table th:last-child{width:12%}.order-split-table tr:last-child td{border-bottom:0}.order-split-table th:last-child,.order-split-table td:last-child{border-right:0}.order-split-table td:first-child strong,.order-split-table td:first-child small{display:block}.order-split-table td:first-child strong{font-size:13px}.order-split-table td:first-child small{margin-top:3px;color:var(--muted);font-size:10px}.order-split-table td:not(:first-child){text-align:center}.order-split-table input{width:100%;min-width:72px;height:40px;padding:0 7px;border:1px solid #b7cae5;border-radius:8px;background:#fff;color:var(--navy);font:850 14px Inter,Segoe UI,Arial,sans-serif;text-align:right}.order-split-table input:focus{border-color:var(--blue);outline:3px solid #1769e01c}.split-available{color:var(--blue);font-weight:900}.split-remaining{color:var(--green);font-weight:900}.split-remaining.invalid{color:var(--danger);background:#fff2f2}
.order-split-message{min-height:34px;margin:0;padding:9px 16px 5px;color:var(--muted);font-size:12px;font-weight:750;text-align:center}.order-split-actions{position:relative;z-index:3;padding:8px 16px max(16px,env(safe-area-inset-bottom));display:flex;justify-content:flex-end;gap:9px;border-top:1px solid var(--line);background:#fff;box-shadow:0 -7px 18px rgba(19,35,63,.07)}.order-split-actions button{min-width:150px;min-height:48px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--navy);font-weight:900}.order-split-actions .primary{border-color:var(--blue);background:var(--blue);color:#fff}.order-split-actions .primary:disabled{cursor:not-allowed;opacity:.45}
.order-split-processing{position:absolute;inset:0;z-index:20;display:grid;place-items:center;padding:20px;border-radius:inherit;background:rgba(8,20,39,.52);backdrop-filter:blur(2px)}.order-split-processing[hidden]{display:none!important}.order-split-processing-card{width:min(360px,calc(100% - 20px));padding:26px 22px;border-radius:17px;background:#fff;box-shadow:0 20px 55px rgba(4,17,38,.34);display:flex;flex-direction:column;align-items:center;color:var(--navy);text-align:center}.order-split-processing-card strong{margin-top:12px;font-size:20px}.order-split-processing-card small{margin-top:5px;color:var(--muted);line-height:1.4}
@media(max-width:760px){.order-split-dialog{width:calc(100vw - 8px);height:calc(100dvh - 8px);max-height:calc(100dvh - 8px)}.order-split-controls{align-items:stretch;flex-direction:column}.order-split-controls fieldset{width:100%}.order-split-controls fieldset button{flex:1}.order-split-auto{width:100%}.order-split-table-wrap{max-height:none;margin-inline:8px}.order-split-actions{padding-inline:8px}.order-split-actions button{min-width:0;flex:1}}

/* Keep all order-header actions inside the invoice panel at every supported width. */
.order-topline{width:100%;display:grid;grid-template-columns:minmax(54px,72px) minmax(0,1fr);gap:8px;align-items:center}
.order-topline>div:first-child{min-width:0;overflow:hidden}
.order-topline>div:first-child span,.order-topline>div:first-child strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.order-top-actions{width:100%;min-width:0;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.8fr) minmax(0,1.25fr) minmax(0,.8fr);gap:6px}
.order-top-actions .small-touch{width:100%;min-width:0;max-width:100%;padding-inline:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:760px){.order-topline{grid-template-columns:minmax(50px,66px) minmax(0,1fr);gap:5px}.order-top-actions{gap:4px}.order-top-actions .small-touch{padding-inline:3px;font-size:9px}}

/* Paid invoice returns are separate, traceable reversal transactions. */
.return-invoice-button{border-color:#d98b2b!important;background:#fff5e7!important;color:#a65300!important}
.return-invoice-button[hidden]{display:none!important}
.sales-return-dialog{width:min(1220px,calc(100vw - 18px));max-width:none;max-height:calc(100dvh - 18px);overflow:hidden;background:#fff}
.sales-return-dialog[open]{display:block}
.sales-return-dialog form{position:relative;max-height:calc(100dvh - 18px);overflow:auto;overscroll-behavior:contain}
.sales-return-source{padding:11px 16px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) auto auto;gap:8px;align-items:end;border-bottom:1px solid var(--line);background:#f5f8fc}
.sales-return-source>div{min-width:0}.sales-return-source span,.sales-return-source strong{display:block}.sales-return-source span{color:var(--muted);font-size:9px;font-weight:850;text-transform:uppercase}.sales-return-source strong{margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px}
.sales-return-source button{min-height:38px;padding:0 14px;border:1px solid #b7cae5;border-radius:9px;background:#fff;color:var(--blue);font-weight:900}.sales-return-source #salesReturnAll{border-color:#68b793;background:#eaf9f2;color:#08764c}
.sales-return-help{margin:0;padding:9px 16px;color:var(--muted);font-size:11px}
.sales-return-table-wrap{max-height:36dvh;margin:0 16px;overflow:auto;border:1px solid var(--line);border-radius:11px}
.sales-return-table{width:100%;min-width:1100px;border-collapse:separate;border-spacing:0;table-layout:fixed}.sales-return-table th,.sales-return-table td{padding:7px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff;vertical-align:middle}.sales-return-table th{position:sticky;z-index:2;top:0;background:#eaf2ff;color:#40516b;font-size:9px;font-weight:900;text-transform:uppercase}.sales-return-table th:first-child{width:18%;text-align:left}.sales-return-table th:nth-child(5){width:9%}.sales-return-table th:last-child{width:18%}.sales-return-table th:last-child,.sales-return-table td:last-child{border-right:0}.sales-return-table tr:last-child td{border-bottom:0}.sales-return-table td:not(:first-child):not(:last-child){text-align:right}.sales-return-table td:first-child strong,.sales-return-table td:first-child small{display:block}.sales-return-table td:first-child strong{font-size:12px}.sales-return-table td:first-child small{margin-top:2px;color:var(--muted);font-size:9px}.sales-return-table input{width:100%;height:38px;padding:0 8px;border:1px solid #b7cae5;border-radius:8px;background:#fff;color:var(--navy);font:800 12px Inter,Segoe UI,Arial,sans-serif}.sales-return-table input[type=number]{text-align:right}.sales-return-table input:focus{border-color:var(--blue);outline:3px solid #1769e01c}.sales-return-table tr.return-selected td{background:#f2fbf7}.sales-return-table tr.return-exhausted td{background:#f7f8fa;color:#8995a8}
.sales-return-settlement{margin:12px 16px 0;display:grid;grid-template-columns:minmax(260px,.78fr) minmax(360px,1.22fr);gap:12px}.sales-return-settlement section{padding:12px;border:1px solid var(--line);border-radius:11px;background:#fff}.sales-return-settlement h3{margin:0 0 8px;font-size:13px}.sales-return-totals>div{padding:3px 0;display:flex;justify-content:space-between;gap:12px;color:#536176;font-size:11px}.sales-return-totals>div strong{color:var(--navy)}.sales-return-totals .sales-return-grand{margin-top:6px;padding-top:8px;border-top:1px solid var(--line);color:var(--navy);font-size:15px}.sales-return-totals .sales-return-grand strong{color:#a65300}
.sales-return-payments-head{display:flex;justify-content:space-between;gap:12px;align-items:start}.sales-return-payments-head h3{margin-bottom:2px}.sales-return-payments-head small{color:var(--muted);font-size:9px}.sales-return-payments-head>strong{padding:5px 8px;border-radius:8px;background:#fff3dd;color:#a65300;font-size:11px;white-space:nowrap}.sales-return-payment-modes{margin-top:8px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.sales-return-payment-row{min-width:0;display:grid;grid-template-columns:minmax(75px,1fr) minmax(90px,120px) auto;gap:6px;align-items:center}.sales-return-payment-row label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:850}.sales-return-payment-row input{width:100%;height:38px;padding:0 8px;border:1px solid #b7cae5;border-radius:8px;text-align:right;font-weight:850}.sales-return-payment-row button{height:38px;padding:0 8px;border:1px solid #b7cae5;border-radius:8px;background:#f1f6ff;color:var(--blue);font-size:9px;font-weight:900}
.sales-return-message{min-height:28px;margin:0;padding:7px 16px 2px;color:var(--danger);font-size:11px;font-weight:750;text-align:center}.sales-return-actions{position:sticky;bottom:0;z-index:5;padding:8px 16px max(12px,env(safe-area-inset-bottom));display:flex;justify-content:flex-end;gap:9px;border-top:1px solid var(--line);background:#fff;box-shadow:0 -7px 18px rgba(19,35,63,.07)}.sales-return-actions button{min-width:150px;min-height:48px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--navy);font-weight:900}.sales-return-actions .primary{border-color:#d87917;background:#d87917;color:#fff}.sales-return-actions .primary:disabled{opacity:.45;cursor:not-allowed}
.sales-return-processing{position:absolute;inset:0;z-index:20;display:grid;place-items:center;padding:20px;background:rgba(8,20,39,.55);backdrop-filter:blur(2px)}.sales-return-processing[hidden]{display:none!important}.sales-return-processing>div{width:min(390px,calc(100% - 20px));padding:27px 22px;border-radius:17px;background:#fff;box-shadow:0 20px 55px rgba(4,17,38,.34);display:flex;flex-direction:column;align-items:center;text-align:center}.sales-return-processing strong{margin-top:12px;font-size:20px}.sales-return-processing small{margin-top:5px;color:var(--muted)}
.running-return-status{margin-top:5px;width:max-content;padding:3px 7px;border-radius:999px;background:#fff0d8;color:#a65300;font-size:8px!important;font-weight:900;text-transform:uppercase}.running-return-status.returned{background:#e8f5ef;color:#08764c}
.delivery-customer-results-message{margin:0;padding:12px 18px;border-bottom:1px solid var(--line);color:var(--muted);font-size:12px}.delivery-customer-results-dialog .dialog-list{max-height:min(520px,65vh)}.delivery-customer-result{justify-content:space-between}.delivery-customer-result:hover,.delivery-customer-result:focus{background:#eef5ff}.delivery-customer-result:disabled{opacity:.55}
#runningOrdersList .running-order-row.return-invoice{background:#f4edff;border-color:#8b5cf6}#runningOrdersList .running-order-row.return-invoice:hover,#runningOrdersList .running-order-row.return-invoice:focus{background:#eadcff}
.pos-lock-screen-dialog{width:min(440px,calc(100vw - 24px));overflow:hidden}.pos-lock-screen-dialog::backdrop{background:rgba(7,17,34,.96);backdrop-filter:blur(10px)}.pos-lock-screen-dialog form{padding:30px;display:flex;flex-direction:column;align-items:stretch}.pos-lock-screen-brand{width:70px;height:70px;margin:0 auto 12px;border-radius:50%;display:grid;place-items:center;background:#e8f1ff;color:var(--blue);font-size:31px}.pos-lock-screen-dialog form>small{text-align:center;color:var(--blue);font-weight:950;letter-spacing:.12em}.pos-lock-screen-dialog form>strong{text-align:center;margin-top:5px;font-size:25px}.pos-lock-screen-dialog form>p:not(.pos-lock-screen-message){margin:10px 0 20px;color:var(--muted);text-align:center;line-height:1.45}.pos-lock-screen-dialog label{display:block;margin-top:11px}.pos-lock-screen-dialog label span{display:block;margin-bottom:6px;color:#536176;font-size:12px;font-weight:850}.pos-lock-screen-dialog input{width:100%;height:48px;padding:0 13px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--navy);font:inherit}.pos-lock-screen-dialog input:focus{border-color:var(--blue);outline:3px solid #1769e01f}.pos-lock-screen-message{min-height:19px;margin:10px 0 0;color:var(--danger);font-size:12px;font-weight:750}.pos-lock-screen-dialog button{min-height:50px;margin-top:10px;border:0;border-radius:11px;background:linear-gradient(135deg,var(--blue),var(--blue2));color:#fff;font-weight:950}.pos-lock-screen-dialog button:disabled{opacity:.6}
.return-receipt-dialog{width:min(470px,calc(100vw - 18px))}.return-receipt-section{padding:8px 0;border-top:1px dashed #aab5c4;display:flex;justify-content:space-between;gap:15px;font-size:11px}.return-receipt-section span{color:#536176}.return-receipt-section strong{max-width:65%;text-align:right}
@media(max-width:780px){.sales-return-dialog{width:calc(100vw - 6px);max-height:calc(100dvh - 6px)}.sales-return-dialog form{max-height:calc(100dvh - 6px)}.sales-return-source{grid-template-columns:repeat(2,minmax(0,1fr))}.sales-return-source button{width:100%}.sales-return-table-wrap{max-height:38dvh;margin-inline:7px}.sales-return-settlement{margin-inline:7px;grid-template-columns:1fr}.sales-return-payment-modes{grid-template-columns:1fr}.sales-return-actions{padding-inline:7px}.sales-return-actions button{min-width:0;flex:1}}
@media print{body.print-return-receipt>*:not(#returnReceiptDialog){display:none!important}body.print-return-receipt #kotDialog,body.print-return-receipt #kotDialog *,body.print-return-receipt #invoiceDialog,body.print-return-receipt #invoiceDialog *{visibility:hidden!important}body.print-return-receipt #returnReceiptDialog,body.print-return-receipt #returnReceiptDialog *{visibility:visible!important}body.print-return-receipt #returnReceiptDialog{position:static!important;display:block!important;width:80mm!important;max-height:none!important;margin:0!important;padding:0!important;border:0!important;box-shadow:none!important}body.print-return-receipt #returnReceiptDialog::backdrop,.print-return-receipt .invoice-actions{display:none!important}.print-return-receipt .return-receipt{width:80mm!important;margin:0!important}}

/* Consistent POS button typography and reference-style order actions. */
.pos-body button{
    font-family:Inter,"Segoe UI",Arial,sans-serif;
    text-transform:uppercase;
    letter-spacing:.018em;
}
.order-top-actions .small-touch{
    min-height:42px;
    padding:0 11px;
    border-radius:10px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:5px;
    font-size:11px;
    font-weight:900;
    line-height:1.1;
    text-align:center;
}
@media(max-width:760px){
    .order-top-actions .small-touch{
        min-height:38px;
        padding-inline:5px;
        gap:3px;
        font-size:9px;
    }
}

/* Responsive Sales Return dialog layout. Business behaviour remains unchanged. */
.sales-return-dialog{
    box-sizing:border-box;
    width:min(1280px,calc(100vw - 32px));
    max-width:1280px;
    max-height:calc(100vh - 32px);
    max-height:calc(100dvh - 32px);
    padding:0;
    overflow:hidden;
}
.sales-return-dialog[open]{
    position:fixed;
    inset:50% auto auto 50%;
    display:block;
    margin:0;
    transform:translate(-50%,-50%);
}
.sales-return-dialog form{
    box-sizing:border-box;
    width:100%;
    min-width:0;
    max-height:calc(100vh - 32px);
    max-height:calc(100dvh - 32px);
    overflow-x:hidden;
    overflow-y:auto;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
}
.sales-return-dialog .dialog-head{
    position:sticky;
    top:0;
    z-index:10;
    box-sizing:border-box;
    width:100%;
    background:#fff;
}
.sales-return-source{
    box-sizing:border-box;
    width:100%;
    column-gap:12px;
    row-gap:10px;
}
.sales-return-source>div,
.sales-return-settlement,
.sales-return-settlement>section,
.sales-return-payments,
.sales-return-payment-modes{
    min-width:0;
}
.sales-return-table-wrap{
    box-sizing:border-box;
    width:auto;
    max-width:calc(100% - 32px);
    max-height:42vh;
    max-height:clamp(260px,42dvh,500px);
    margin-inline:16px;
    overflow-x:auto;
    overflow-y:auto;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
    scrollbar-gutter:stable;
}
.sales-return-table{
    width:100%;
    min-width:1384px;
}
.sales-return-table th,
.sales-return-table td{
    box-sizing:border-box;
    padding:10px 12px;
    line-height:1.35;
}
.sales-return-table th{
    white-space:normal;
    text-align:center;
}
.sales-return-table th:first-child{
    width:220px;
    text-align:left;
}
.sales-return-table th:nth-child(2),
.sales-return-table th:nth-child(3),
.sales-return-table th:nth-child(4){width:84px}
.sales-return-table th:nth-child(5){width:112px}
.sales-return-table th:nth-child(6),
.sales-return-table th:nth-child(7),
.sales-return-table th:nth-child(8),
.sales-return-table th:nth-child(9),
.sales-return-table th:nth-child(10){width:112px}
.sales-return-table th:last-child{width:240px}
.sales-return-table th:first-child,
.sales-return-table td:first-child{
    position:sticky;
    left:0;
    z-index:3;
    box-shadow:1px 0 0 var(--line);
}
.sales-return-table th:first-child{z-index:4}
.sales-return-table td:nth-child(n+2):nth-child(-n+10){white-space:nowrap}
.sales-return-table input{
    box-sizing:border-box;
    min-width:0;
}
.sales-return-settlement{
    box-sizing:border-box;
    width:auto;
    max-width:calc(100% - 32px);
}

@media(max-width:1024px){
    .sales-return-dialog{
        width:calc(100vw - 20px);
        max-height:calc(100vh - 20px);
        max-height:calc(100dvh - 20px);
    }
    .sales-return-dialog form{
        max-height:calc(100vh - 20px);
        max-height:calc(100dvh - 20px);
    }
    .sales-return-source{grid-template-columns:repeat(2,minmax(0,1fr))}
    .sales-return-source button{width:100%}
    .sales-return-table-wrap{
        max-width:calc(100% - 24px);
        max-height:44vh;
        max-height:44dvh;
        margin-inline:12px;
    }
    .sales-return-settlement{
        max-width:calc(100% - 24px);
        margin-inline:12px;
        grid-template-columns:1fr;
    }
}

@media(max-width:640px){
    .sales-return-dialog{
        width:calc(100vw - 8px);
        max-height:calc(100vh - 8px);
        max-height:calc(100dvh - 8px);
        border-radius:14px;
    }
    .sales-return-dialog form{
        max-height:calc(100vh - 8px);
        max-height:calc(100dvh - 8px);
    }
    .sales-return-dialog .dialog-head,
    .sales-return-source,
    .sales-return-help{
        padding-inline:10px;
    }
    .sales-return-source{
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:8px;
    }
    .sales-return-table-wrap{
        max-width:calc(100% - 16px);
        max-height:46vh;
        max-height:46dvh;
        margin-inline:8px;
    }
    .sales-return-table th,
    .sales-return-table td{padding:9px 10px}
    .sales-return-settlement{
        max-width:calc(100% - 16px);
        margin-inline:8px;
        gap:8px;
    }
    .sales-return-settlement section{padding:10px}
    .sales-return-payment-modes{grid-template-columns:1fr}
    .sales-return-payments-head{
        flex-wrap:wrap;
        align-items:center;
    }
    .sales-return-actions{
        padding-inline:8px;
        gap:7px;
    }
    .sales-return-actions button{
        min-width:0;
        flex:1 1 0;
        padding-inline:8px;
    }
}

@media(max-width:420px){
    .sales-return-source{grid-template-columns:1fr}
    .sales-return-payment-row{
        grid-template-columns:minmax(70px,1fr) minmax(86px,112px) auto;
    }
}

/* Final lock-screen sizing override: keep Unlock visible on iPad/tablet heights. */
.pos-lock-screen-dialog{
    max-height:calc(100vh - 16px);
    max-height:calc(100dvh - 16px);
    overflow:hidden;
}
.pos-lock-screen-dialog form{
    max-height:calc(100vh - 16px);
    max-height:calc(100dvh - 16px);
    padding:22px 30px;
    overflow-y:auto;
    overscroll-behavior:contain;
}
.pos-lock-screen-brand{width:56px;height:56px;margin-bottom:8px;font-size:25px}
.pos-lock-screen-dialog form>strong{font-size:23px}
.pos-lock-screen-dialog form>p:not(.pos-lock-screen-message){margin:8px 0 12px;line-height:1.35}
.pos-lock-screen-dialog label{margin-top:8px}
.pos-lock-screen-dialog input{height:44px}
.pos-lock-screen-message{margin-top:7px}
.pos-lock-screen-dialog button{position:sticky;z-index:2;bottom:0;min-height:46px;margin-top:7px}
@media(max-height:650px){
    .pos-lock-screen-dialog form{padding:14px 22px}
    .pos-lock-screen-brand{width:44px;height:44px;margin-bottom:5px;font-size:20px}
    .pos-lock-screen-dialog form>strong{font-size:20px}
    .pos-lock-screen-dialog form>p:not(.pos-lock-screen-message){margin:5px 0 7px;font-size:12px}
    .pos-lock-screen-dialog label{margin-top:5px}
    .pos-lock-screen-dialog input{height:40px}
    .pos-lock-screen-dialog button{min-height:42px}
}
