/* Shared responsive behavior for application shells. */
html{max-width:100%;-webkit-text-size-adjust:100%}body{min-width:0}img,video,canvas{max-width:100%}input,select,textarea{max-width:100%}.main-content{min-width:0}.overflow-x-auto{max-width:100%;overscroll-behavior-x:contain}.admin-page{min-width:0}.admin-page .flex>*,.admin-page .grid>*{min-width:0}.admin-page table{width:100%}.admin-page .dataTables_wrapper{max-width:100%;overflow-x:auto}.admin-page .dataTables_filter input{max-width:60vw}.admin-page .select2-container{max-width:100%}.admin-page .flex.justify-between{gap:12px;flex-wrap:wrap}.admin-page .flex.gap-2,.admin-page .flex.gap-3{flex-wrap:wrap}.fixed.inset-0[class*="bg-black"]{padding:12px;overflow-y:auto;overscroll-behavior:contain}.fixed.inset-0[class*="bg-black"]>.bg-white{max-height:calc(100dvh - 24px);overflow-y:auto}button:focus-visible,a:focus-visible{outline:2px solid #2563eb;outline-offset:3px}
@media(max-width:767px){.admin-page{padding:16px!important}.admin-page h1{font-size:1.35rem;overflow-wrap:anywhere}.admin-page .grid-cols-2,.admin-page .grid-cols-3,.admin-page .grid-cols-4{grid-template-columns:minmax(0,1fr)}.admin-page button,.admin-page a[class*="px-"],.main-content>header button{min-height:40px}.admin-page input:not([type=checkbox]):not([type=radio]),.admin-page select,.admin-page textarea{font-size:16px}.main-content>header>div,body>header>div{padding:10px 12px!important;gap:8px;flex-wrap:wrap}.main-content>header>div>.flex,body>header>div>.flex{gap:8px;flex-wrap:wrap;min-width:0;max-width:100%}.main-content>header h2{max-width:65vw;overflow:hidden;text-overflow:ellipsis}.main-content>header select{max-width:65vw}.admin-page .dataTables_length,.admin-page .dataTables_filter,.admin-page .dataTables_info,.admin-page .dataTables_paginate{float:none!important;text-align:start!important;margin:8px 0}.admin-page .dataTables_paginate{display:flex;flex-wrap:wrap}.fixed.inset-0[class*="bg-black"]{padding:8px}.fixed.inset-0[class*="bg-black"]>.bg-white{max-height:calc(100dvh - 16px)}}
.pos-grid{height:100dvh!important}.pos-products,.pos-cart{height:100dvh!important}.pos-header-row{flex-wrap:wrap;gap:10px}.pos-brand{min-width:0;flex:1 1 180px}.pos-brand h1{overflow-wrap:anywhere;line-height:1.35}.pos-order-types{flex-wrap:wrap;flex-shrink:0}.pos-order-types button{white-space:nowrap;min-height:38px}.pos-quick-actions{flex-wrap:wrap;gap:6px}.pos-actions-row{flex-wrap:wrap}.pos-search{min-width:180px}.pos-tools-toggle,.pos-mobile-tabs,.pos-cart-close{display:none}
@media(max-width:1024px){.pos-grid,.pos-grid.laundry-mode{display:block!important;height:100dvh!important}.pos-products{height:calc(100dvh - 68px)!important}.pos-header-row{display:flex;align-items:center}.pos-brand{flex:1 1 calc(100% - 130px)}.pos-brand h1{font-size:16px;max-width:65vw}.pos-tools-toggle{display:flex;align-items:center;gap:5px;border:1px solid #e2e8f0;border-radius:8px;padding:8px 10px;min-height:40px;font-size:13px}.pos-order-types{order:2;width:100%;display:flex;gap:6px}.pos-order-types button{flex:1;padding:9px 6px}.pos-quick-actions{display:none!important;order:3;width:100%;padding-top:6px;border-top:1px solid #e2e8f0}.pos-quick-actions.mobile-tools-open{display:flex!important}.pos-quick-actions>a,.pos-quick-actions>button{min-width:40px;min-height:40px}.pos-actions-row{padding:8px 12px!important;gap:8px!important}.pos-search{flex-basis:100%!important;min-width:0}.pos-actions-row button{min-height:40px;min-width:40px}.pos-cart{display:none!important;position:fixed;inset:0 0 68px;height:calc(100dvh - 68px)!important;z-index:35;overflow-y:auto!important}.pos-grid.mobile-cart-open .pos-cart{display:flex!important}.pos-grid.mobile-cart-open .pos-products{visibility:hidden}.pos-cart-close{display:block;min-height:40px;padding:6px 10px;color:#2563eb}.pos-mobile-tabs{display:flex;position:fixed;inset:auto 0 0;z-index:40;height:68px;background:#fff;border-top:1px solid #e2e8f0;padding:8px 12px max(8px,env(safe-area-inset-bottom));gap:8px}.pos-mobile-tabs button{flex:1;border-radius:10px;padding:8px;font-size:14px;font-weight:600}.pos-mobile-tabs .selected{background:#2563eb;color:white}.pos-mobile-tabs .unselected{background:#f1f5f9;color:#334155}.product-card{padding:10px!important;border-radius:12px!important}.product-card:hover{transform:none!important}.pos-products .categories-scroll{flex-shrink:0}}
@media(max-width:420px){.pos-products .grid.grid-cols-2{gap:8px}.pos-brand h1{max-width:52vw}.pos-header-row{gap:8px}.pos-cart .px-4{padding-left:12px;padding-right:12px}}@media print{.pos-mobile-tabs,.pos-tools-toggle,.pos-cart-close{display:none!important}}

@media(max-width:1023px){.sidebar-container{z-index:60!important}.sidebar-close{position:absolute;inset-inline-end:8px;top:8px;width:36px;height:36px;border-radius:8px;background:#f1f5f9;color:#334155;font-size:24px;z-index:1}.sidebar-container>div>div:first-of-type{padding-inline-end:48px}}

.pos-options-panel{width:calc(100vw - 32px);max-width:32rem!important;max-height:calc(100dvh - 32px);overflow-y:auto}.pos-options-panel .flex.justify-between{gap:12px}.pos-options-panel button{flex-shrink:0}

/* Product details get the full cart width; controls never squeeze the name. */
.pos-cart .cart-item{flex-direction:column;align-items:stretch}
.cart-item-info{min-inline-size:0;overflow-wrap:anywhere}
.cart-item-name{display:block;inline-size:100%;min-inline-size:0;white-space:normal;overflow-wrap:anywhere;line-height:1.5}
.cart-item-footer{display:flex;align-items:center;flex-wrap:wrap;gap:.75rem}
.cart-item-actions,.cart-item-quantity{display:flex;align-items:center;gap:.5rem;flex:0 0 auto}
.cart-item-quantity button,.cart-item-remove{display:flex;align-items:center;justify-content:center;inline-size:2.75rem;block-size:2.75rem;flex-shrink:0}
.cart-item-count{min-inline-size:2rem}
.cart-item-total{flex:1 1 5rem;min-inline-size:0;margin-inline-start:auto;text-align:end;overflow-wrap:anywhere}
