/* Ordinary desktop browser only; installed/mobile layouts retain their own rules. */
body.laptop-web .layout{grid-template-columns:238px minmax(0,1fr)}
body.laptop-web main,body.laptop-web #content,body.laptop-web .panel,body.laptop-web .heading>*,body.laptop-web .two>*,body.laptop-web .three>*{min-width:0}
body.laptop-web .heading,body.laptop-web .panelhead,body.laptop-web .tools,body.laptop-web .formfoot{flex-wrap:wrap}
body.laptop-web input,body.laptop-web select,body.laptop-web textarea{max-width:100%;box-sizing:border-box}
body.laptop-web dialog{max-width:calc(100vw - 32px);max-height:calc(100dvh - 32px);box-sizing:border-box}
body.laptop-web .two{grid-template-columns:repeat(2,minmax(0,1fr))}
body.laptop-web .three{grid-template-columns:repeat(3,minmax(0,1fr))}
body.laptop-web .laptop-table-cards{width:100%;min-width:0!important;table-layout:fixed;display:block}
body.laptop-web .laptop-table-cards thead{display:none}
body.laptop-web .laptop-table-cards tbody{display:block}
body.laptop-web .laptop-table-cards tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 16px;border-bottom:1px solid #e2e5e6;padding:14px}
body.laptop-web .laptop-table-cards td{display:block;min-width:0;width:auto!important;border:0;padding:0!important;white-space:normal!important;overflow-wrap:anywhere}
body.laptop-web .laptop-table-cards td::before{content:attr(data-label);display:block;font-size:11px;color:#717675;margin-bottom:4px}
body.laptop-web .laptop-table-cards td[colspan]{grid-column:1/-1}
@media(min-width:761px) and (max-width:1200px){body.laptop-web .layout{grid-template-columns:196px minmax(0,1fr)}body.laptop-web main{padding:16px}body.laptop-web .heading{align-items:flex-start;gap:12px}body.laptop-web .heading .tools{justify-content:flex-start}body.laptop-web .three{grid-template-columns:repeat(2,minmax(0,1fr))}body.laptop-web .opline{flex-wrap:wrap;min-width:0}body.laptop-web .opline>*{min-width:0;max-width:100%}body.laptop-web .two{gap:12px}body.laptop-web .panelhead{gap:10px}body.laptop-web .formfoot{gap:8px}}
/* Desktop receipt controls have explicit room; small laptops use a second row. */
@media(min-width:761px){
 body.design3 .design-manager-receipt :is(.cartrow,.design-receipt-head){grid-template-columns:minmax(0,1fr) 144px 76px minmax(124px,150px) 36px;gap:16px;min-width:0}
 body.design3 .design-manager-receipt .quantitycontrol{display:grid!important;grid-template-columns:36px minmax(0,1fr) 36px;gap:4px!important;width:144px;min-width:0;max-width:100%;border:0;align-items:center}
 body.design3 .design-manager-receipt .quantitycontrol button{width:36px!important;min-width:36px!important;height:40px;min-height:40px;padding:0!important;margin:0}
 body.design3 .design-manager-receipt .quantitycontrol input{width:100%!important;min-width:0!important;max-width:100%;height:40px;min-height:40px;padding:6px!important;text-align:center;margin:0}
 body.design3 .design-manager-receipt .cartrow>input{height:40px;min-height:40px;margin:0!important}
 body.design3 .design-manager-receipt .cartrow>span[id^=subtotal]{display:block;min-width:0;line-height:1.4;white-space:normal}
 body.design3 .design-manager-receipt .cartrow>span[id^=subtotal] small{display:block!important;margin-top:4px;font-size:11px;line-height:1.45;font-weight:400;white-space:normal}
 body.design3 .design-manager-receipt .cartrow>.buttonlink{width:36px;min-width:36px;height:40px;padding:0;justify-self:end}
}
@media(min-width:761px) and (max-width:1050px){
 body.design3 .design-manager-receipt .design-receipt-head{display:none}
 body.design3 .design-manager-receipt .cartrow{display:grid;grid-template-columns:144px 76px minmax(0,1fr) 36px;gap:12px;align-items:center}
 body.design3 .design-manager-receipt .cartrow>div:first-child{grid-column:1/-1}
}
@media(min-width:761px) and (max-width:1250px){
 body.design3 .posgrid{grid-template-columns:minmax(0,1fr)!important;gap:20px}
 body.design3 .posgrid>*{min-width:0}
}
@media(min-width:761px) and (max-width:1200px){
 body.laptop-web .layout{grid-template-columns:240px minmax(0,1fr)}
}
@media(min-width:761px){
 body.design3 #paidtools{display:flex;flex-wrap:wrap;gap:10px;min-width:0}
 body.design3 #paidtools>button{flex:1 1 220px;width:auto;min-width:0;max-width:100%;white-space:normal}
}
@media(min-width:761px){
 body.design3 .design-manager-receipt .receipt-discount-field{min-width:0;margin:0}
 body.design3 .design-manager-receipt .receipt-discount-field>span{display:none}
 body.design3 .design-manager-receipt .receipt-discount-field>input{width:100%;min-width:0;height:40px;min-height:40px;margin:0!important;padding:6px;text-align:center}
}
@media(min-width:761px) and (max-width:1050px){
 body.design3 .design-manager-receipt .quantitycontrol::before{content:'Количество';grid-column:1/-1;font-size:11px;color:#717675;font-weight:600;margin-bottom:2px}
 body.design3 .design-manager-receipt .receipt-discount-field>span{display:block;font-size:11px;color:#717675;font-weight:600;line-height:1.4;margin-bottom:6px}
 body.design3 .design-manager-receipt .cartrow>span[id^=subtotal],body.design3 .design-manager-receipt .cartrow>.buttonlink{align-self:end}
}
@media(min-width:761px){
 body.design3 .design-manager-receipt .cartrow>div:first-child{display:grid;grid-template-columns:40px minmax(0,1fr);column-gap:10px;row-gap:3px;align-items:start}
 body.design3 .design-manager-receipt .cartrow>div:first-child>:is(.partphoto,.pill){grid-column:1;grid-row:1/span 3;margin:0}
 body.design3 .design-manager-receipt .cartrow>div:first-child>b{grid-column:2;grid-row:1}
 body.design3 .design-manager-receipt .cartrow>div:first-child>br{display:none}
 body.design3 .design-manager-receipt .cartrow>div:first-child>small{grid-column:2;grid-row:3}
 body.design3 .design-manager-receipt .cartrow>div:first-child>.storageaddress{grid-row:2}
}

.chart-product-photo{display:inline-flex;flex:0 0 38px!important;width:38px;height:38px;align-items:center;justify-content:center;vertical-align:middle;margin-right:4px;overflow:hidden;border-radius:8px;background:#f0f4f5}.chart-product-photo :is(.partphoto,.pill){width:38px!important;height:38px!important;min-width:38px;margin:0!important;object-fit:contain}.chart-product-photo .storageaddress{display:none!important}
.sale-object-choice{display:flex;flex-wrap:wrap;align-items:end;gap:12px 20px;margin:0 0 16px;padding:14px 16px;border:1px solid #dce5e8;border-radius:10px;background:#fff}.sale-object-choice label{width:280px;max-width:100%;margin:0}.sale-object-choice p{flex:1 1 240px;font-size:13px;line-height:1.5}.sale-blocked-reason{padding:10px 12px;background:#fff1ec;color:#a03225;border-radius:8px;font-size:13px;line-height:1.5;margin:10px 0}.design-manager-receipt [data-cart-stock]{grid-column:2;grid-row:4;font-weight:400}.design-manager-receipt [data-cart-stock] .cartstockerror{font-size:12px;line-height:1.4}.design-manager-receipt [data-cart-stock] .cartstockerror p{font-size:12px;line-height:1.4}

/* Paired sales summaries: equal square cards, with independently scrollable legends. */
@media(min-width:761px){.sales-chart-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:start}.sales-chart-pair>.panel{aspect-ratio:auto;height:auto;min-height:0;box-sizing:border-box;min-width:0;margin:0;display:flex;flex-direction:column;overflow:hidden}.sales-chart-pair h2{flex:none}.sales-chart-pair .donutlayout{flex:0 1 auto;min-height:0;grid-template-columns:minmax(100px,160px) minmax(0,1fr);grid-template-rows:auto;gap:14px;align-items:start}.sales-chart-pair .donut{width:160px;height:160px;padding:24px;margin:auto;flex:none}.sales-chart-pair .donut>span{width:112px;height:112px;flex:none}.sales-chart-pair .donutlayout>div{min-height:0;overflow:auto;overscroll-behavior:contain}.sales-chart-pair .donutlegend{min-width:0}.sales-chart-pair .donutlegend>span:not(.chart-product-photo){overflow-wrap:anywhere}.sales-chart-pair .chart-product-photo{flex:0 0 38px}.sales-chart-pair .donutlegend b{flex:none}}
@media(min-width:761px) and (max-width:1000px){.sales-chart-pair{grid-template-columns:1fr}.sales-chart-pair>.panel{max-width:620px;width:100%;justify-self:center}}

body.design3 #oplines .pickup-opline{display:grid;grid-template-columns:minmax(0,1fr) 104px 44px;align-items:end;gap:12px;margin:14px 0}.pickup-opline>label{min-width:0;margin:0}.pickup-opline>label select,.pickup-opline>label input[data-qty]{display:block;width:100%!important;min-width:0;max-width:100%;height:44px;box-sizing:border-box}.pickup-opline>button{width:44px;height:44px;padding:0;margin:0}.pickup-opline>.pickupbalance{grid-column:1/-1;margin:0;min-width:0;overflow-wrap:anywhere}@media(max-width:600px){body.design3 #oplines .pickup-opline{grid-template-columns:minmax(0,1fr) 44px;gap:10px}.pickup-opline>label:first-child{grid-column:1/-1}.pickup-opline>label:has([data-qty]){width:120px;max-width:100%}}
body.design3 #desklines .deskscanrow{grid-template-columns:minmax(0,1fr) 110px 44px;align-items:end;gap:12px}body.design3 #desklines .deskscanrow:has([data-deskcost]){grid-template-columns:minmax(0,1fr) 100px 130px 44px}#desklines .deskscanrow>div{min-width:0;overflow-wrap:anywhere}#desklines .deskscanrow label{min-width:0;margin:0}#desklines .deskscanrow input{width:100%;min-width:0;height:44px}body.design3 #desklines .deskscanrow>button{width:44px;min-width:44px;height:44px;padding:0;align-self:end}@media(max-width:600px){body.design3 #desklines .deskscanrow,body.design3 #desklines .deskscanrow:has([data-deskcost]){grid-template-columns:minmax(0,1fr) 44px}#desklines .deskscanrow>div{grid-column:1/-1}#desklines .deskscanrow label{grid-column:1}#desklines .deskscanrow>button{grid-column:2;grid-row:2}}
body.design3 #oplines .pickup-opline{align-items:start}body.design3 #oplines .pickup-opline>button{margin-top:26px;align-self:start}body.design3 #desklines .deskscanrow{align-items:start}body.design3 #desklines .deskscanrow>button{margin-top:26px;align-self:start}

body.design3 #desklines .deskscanrow input{height:44px!important}body.design3 #oplines .pickup-opline>button,body.design3 #desklines .deskscanrow>button{margin-top:24px}.transferbalance{flex-basis:100%;color:#536849}

body.design3 .partnertradeline>.two{align-items:start;gap:14px}.partnertradeline>.two>label{min-width:0;margin:0}.partnertradeline .tradeavailable{display:block;margin:8px 0;line-height:1.5;overflow-wrap:anywhere}.partnertradeline .tradeqty,.partnertradeline .tradeprice{width:100%;min-width:0;height:44px!important}.partnertradeline .field-error{line-height:1.5;white-space:normal;overflow-wrap:break-word}

.tradelinehead{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}.tradelinehead .traderemove{flex:none;margin:0;white-space:normal;color:#a53f31}.tradequantity{display:grid;grid-template-columns:36px minmax(0,1fr) 36px;gap:4px;margin-top:7px}.tradequantity .tradeqty{margin:0!important;text-align:center;padding:6px!important}.tradequantity>button{width:36px;height:44px;padding:0;min-width:0}.partnertradeline .tradeprice{margin-top:7px}
.otherline>.two{align-items:start}.other-search-results{max-height:220px;overflow:auto;margin-bottom:10px}.other-source-stock{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}.other-source-stock>strong{flex-basis:100%}.other-source-stock>button,.other-source-stock>span{font-size:12px;white-space:normal}.otherline [data-other-stock]{margin:0;overflow-wrap:anywhere;align-self:start}.otherline [data-other-qty]{width:100%;min-width:0}

/* Keep controls aligned even when only one field has a validation message. */
.orderitem>.row{align-items:flex-start!important}.orderitem>.row>label{min-width:0;flex:1}.orderitem .field-error{overflow-wrap:break-word}
@media(max-width:1100px){.onlineorders .tablewrap{overflow:visible}.onlineorders table,.onlineorders thead,.onlineorders tbody,.onlineorders tr,.onlineorders td{display:block;min-width:0!important;width:auto!important}.onlineorders thead{display:none}.onlineorders tr{padding:12px;border-bottom:1px solid #ddd}.onlineorders td{white-space:normal;overflow-wrap:anywhere}}

.posgrid > .inventory-pause-hint{grid-column:1/-1}

/* A receipt name must keep readable space beside the payment panel. */
@media(min-width:761px) and (max-width:1500px){
 body.design3 .design-manager-receipt .design-receipt-head{display:none}
 body.design3 .design-manager-receipt .cartrow{grid-template-columns:144px 76px minmax(0,1fr) 36px;gap:12px;align-items:start}
 body.design3 .design-manager-receipt .cartrow>div:first-child{grid-column:1/-1;min-width:0;overflow-wrap:anywhere}
}

@media(min-width:761px) and (max-width:1200px){.sales-chart-pair .donutlayout{grid-template-columns:1fr;gap:12px}}
.sales-chart-pair .donutlegend{white-space:normal}.sales-chart-pair .donutlegend>span:not(.chart-product-photo){min-width:0;white-space:normal;overflow-wrap:anywhere}.sales-chart-pair .donut{border-radius:50%}
