:root{font-family:Inter,Segoe UI,Arial,sans-serif;color:#172f2b;background:#f3f5f6;font-size:16px;font-synthesis:none;--green:#173d36;--line:#dfe6e4;--muted:#64746e}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer;border:1px solid var(--line);border-radius:7px;background:white;color:var(--green);padding:10px 15px;font-weight:600}button:hover{background:#edf3f1}button:disabled{opacity:.5;cursor:not-allowed}button.primary{background:var(--green);color:white;border-color:var(--green)}button.primary:hover{background:#245a4f}input,select,textarea{border:1px solid #cdd7d3;border-radius:6px;padding:10px 12px;background:white;color:#172f2b;width:100%;min-height:42px}input:focus,select:focus,textarea:focus{outline:2px solid #8bc0af;outline-offset:1px}label{display:block;font-size:14px;font-weight:600;margin-bottom:7px}small,.muted{color:var(--muted);font-size:14px}.shell{display:grid;grid-template-columns:226px 1fr;min-height:100vh}.sidebar{background:#2d62a0;color:#fff;padding:32px 18px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.brand{font-size:28px;font-weight:750;letter-spacing:-1px;margin:0 15px 8px}.brand i{color:#a7d7c3;font-style:normal}.brand-sub{font-size:12px;letter-spacing:2px;text-transform:uppercase;color:#b4ccc3;margin:0 15px 40px}.nav{display:grid;gap:7px}.nav button{border:0;text-align:left;background:transparent;color:#c9d9d3;display:flex;gap:12px;align-items:center;padding:13px 15px;font-size:15px}.nav button.active,.nav button:hover{color:white;background:#31554b}.nav svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7}.profile{margin-top:auto;padding:20px 13px 0;border-top:1px solid #45635a}.profile strong{display:block;font-size:14px}.profile small{color:#b4ccc3}.profile button{padding:8px 0;border:0;background:none;color:#c9d9d3;font-size:13px;margin-top:8px}.main{min-width:0}.topbar{height:78px;padding:0 40px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;background:white;font-size:14px;color:var(--muted)}.demo{background:#fff2d5;color:#805c12;border:1px solid #f2dca7;padding:6px 10px;border-radius:5px;font-size:12px;font-weight:650}.content{max-width:1450px;margin:auto;padding:35px 40px 50px}.heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px;gap:16px}.heading h1{font-size:30px;letter-spacing:-1px;margin:0 0 7px;font-weight:650}.heading p{margin:0;color:var(--muted);font-size:14px}.eyebrow{font-size:12px;letter-spacing:1.3px;color:var(--muted);text-transform:uppercase;font-weight:650}.panel{background:white;border:1px solid var(--line);border-radius:10px;margin-bottom:22px}.panel-head{padding:21px 24px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:12px}.panel-head h2{font-size:17px;margin:0;font-weight:650}.panel-body{padding:24px}.customer-row{display:grid;grid-template-columns:1.3fr 1fr;gap:30px;align-items:center}.field-inline{display:flex;gap:10px}.field-inline select{flex:1;min-width:0}.customer-info{font-size:14px;line-height:1.8;color:var(--muted);border-left:1px solid var(--line);padding-left:28px}.search-wrap{position:relative}.search-box{padding:14px 16px 14px 43px;background:#fafcfb;min-height:51px}.search-icon{position:absolute;top:16px;left:15px;color:var(--muted)}.results{position:absolute;z-index:10;top:56px;left:0;right:0;background:white;border:1px solid var(--line);border-radius:8px;box-shadow:0 12px 35px #12352722;max-height:320px;overflow:auto}.result{display:flex;align-items:center;justify-content:space-between;width:100%;border:0;border-radius:0;border-bottom:1px solid #edf1ef;text-align:left;gap:20px;padding:13px 16px}.result.highlight{background:#e5f1ec}.result strong{font-size:14px;display:block;margin-bottom:4px}.result .right{text-align:right;white-space:nowrap}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:left}th{font-size:12px;font-weight:650;text-transform:uppercase;letter-spacing:.6px;color:var(--muted);background:#f8faf9;padding:15px 18px;border-block:1px solid var(--line);white-space:nowrap}td{padding:18px;border-bottom:1px solid #e9eeeb;font-size:14px}tbody tr:last-child td{border-bottom:0}.num{text-align:right;font-variant-numeric:tabular-nums}.product-name{font-weight:600;margin-bottom:5px}.product-meta{font-size:12px;color:var(--muted)}td input{min-width:72px;width:85px;text-align:right;padding:9px 8px;font-size:14px}.price-input{width:100px}.remove{border:0;padding:6px;background:none;color:#88968f;font-size:20px}.empty{text-align:center;padding:55px 20px;color:var(--muted)}.empty .symbol{font-size:30px;color:#a4b8ae;margin-bottom:15px}.empty strong{display:block;color:#335247;font-size:16px;margin-bottom:9px}.empty p{font-size:14px;margin:0}.bottom{display:grid;grid-template-columns:1fr 350px;gap:30px;padding:25px;border-top:1px solid var(--line)}textarea{resize:vertical;min-height:92px}.totals{display:grid;gap:13px}.total-row{display:flex;justify-content:space-between;gap:12px;font-size:14px}.grand{border-top:1px solid var(--line);padding-top:15px;font-size:19px;font-weight:700}.grand small{display:block;font-weight:400;font-size:12px;margin-top:4px}.order-footer{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:0 2px}.order-footer .primary{padding:14px 25px}.badge{display:inline-block;padding:5px 9px;border-radius:4px;background:#e9f3ee;color:#346750;font-size:12px;white-space:nowrap}.badge.warn{background:#fff2d5;color:#805c12}.badge.gray{background:#edf0f2;color:#64716a}.stock-zero{color:#b46334}.actions{display:flex;gap:9px;flex-wrap:wrap}.toolbar{display:flex;align-items:center;gap:12px;margin-bottom:22px}.toolbar input{max-width:420px}.notice{background:#f0f6f3;border:1px solid #d6e6dc;border-radius:7px;padding:14px 17px;font-size:14px;line-height:1.6;margin-bottom:20px}.error{color:#ab352c;background:#fff0ee;padding:12px;border-radius:6px;font-size:14px}dialog{border:1px solid var(--line);border-radius:12px;padding:28px;width:560px;max-width:calc(100% - 28px);max-height:90vh;color:#172f2b}dialog.wide{width:960px}dialog::backdrop{background:#0b251e66;backdrop-filter:blur(2px)}dialog h2{margin:0 0 22px;font-size:23px}dialog .field{margin-bottom:17px}dialog .actions{justify-content:flex-end;margin-top:24px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:#173d36;color:white;padding:15px 23px;border-radius:8px;box-shadow:0 5px 30px #12352722;display:none;z-index:100;max-width:90%;font-size:14px}.login{max-width:440px;margin:12vh auto;padding:35px;background:white;border:1px solid var(--line);border-radius:12px}.login .brand{margin:0 0 30px}.login h1{font-size:24px}.login .field{margin:18px 0}.login button{width:100%;margin-top:10px}.saved{color:#6a7d71;font-size:13px}.catalog-code{font-family:Consolas,monospace;font-size:13px}.changed{color:#a36d16}.order-id{font-weight:600;font-size:13px}a{color:#225e4d}button:focus-visible{outline:3px solid #89bdaa;outline-offset:2px}.hidden{display:none!important}
@media(max-width:1100px){.shell{grid-template-columns:185px 1fr}.content{padding:25px}.topbar{padding:0 25px}.sidebar{padding:28px 12px}.bottom{grid-template-columns:1fr 300px}.customer-row{grid-template-columns:1fr}.customer-info{border-left:0;padding-left:0}.brand{font-size:25px}}
@media(max-width:760px){.shell{display:block}.sidebar{height:auto;position:static;padding:16px}.brand{font-size:24px;margin:0 0 14px}.brand-sub,.profile{display:none}.nav{display:flex;overflow-x:auto;gap:3px}.nav button{white-space:nowrap;padding:10px;font-size:14px}.nav svg{display:none}.topbar{height:53px;padding:0 16px}.content{padding:23px 15px}.heading h1{font-size:26px}.heading{align-items:flex-start}.panel-head,.panel-body{padding:18px}.bottom{grid-template-columns:1fr;padding:18px;gap:25px}.order-footer{align-items:stretch;flex-direction:column}.form-grid{grid-template-columns:1fr}.toolbar{flex-wrap:wrap}.heading>.actions{max-width:155px}.heading>.actions button{font-size:13px;padding:9px}.customer-row{gap:15px}.field-inline{flex-wrap:wrap}.field-inline select{flex-basis:70%}.order-table thead{display:none}.order-table,.order-table tbody{display:block}.order-table tr{display:grid;grid-template-columns:1fr 1fr;position:relative;padding:12px 10px;border-top:1px solid var(--line)}.order-table td{display:block;border:0;padding:8px;text-align:left}.order-table td:first-child{grid-column:1/-1;padding-right:30px}.order-table td[data-label]::before{content:attr(data-label);display:block;font-size:12px;color:var(--muted);margin-bottom:7px}.order-table td:last-child{position:absolute;right:8px;top:8px}.order-table td input{width:100%}.table-wrap:has(.order-table){overflow:visible}.login{margin:35px 15px}.grand{font-size:18px}}
@media(max-width:760px){.profile{display:block;margin:0;padding:0;border:0}.profile strong,.profile small,.profile br{display:none}.profile button{margin-top:7px;padding:4px 10px}.topbar{gap:6px}.topbar>span:first-child{font-size:12px}.demo{font-size:10px}}

.stock-low{background:#fff1b8;color:#6c4d00}.stock-empty{background:#fde0de;color:#a22622}.stock-mark.stock-low,.stock-mark.stock-empty{display:inline-block;padding:4px 7px;border-radius:4px}.num.stock-low,.num.stock-empty{font-weight:650}

.toolbar .stock-filter{width:auto;min-width:190px}.toolbar .stock-filter-label{margin:0;white-space:nowrap}
.customer-picker{flex:1;min-width:0}.customer-picker .results{top:calc(100% + 5px);min-width:min(500px,75vw)}.customer-picker .result{overflow-wrap:anywhere}
.language-buttons{display:flex;gap:4px;flex-shrink:0}.language-buttons button{font-size:13px;padding:7px 10px}.language-buttons button[aria-pressed="true"]{background:var(--green);color:white}.topbar{gap:12px;flex-wrap:wrap;height:auto;min-height:78px;padding-top:12px;padding-bottom:12px}.login .language-buttons{justify-content:flex-end;margin-bottom:20px}.tax-toggle{display:flex;gap:8px;align-items:center;margin:0;font-weight:500;white-space:nowrap}.tax-toggle input{width:18px;min-height:18px;height:18px;accent-color:var(--green)}.hide-gross .gross-only{display:none!important}@media(max-width:650px){.heading{flex-wrap:wrap}.heading .actions{flex-wrap:wrap}.topbar .demo{order:3;width:100%}.tax-toggle{font-size:13px}}
.brand .brand-logo{display:block;width:100%;height:auto;object-fit:contain}.sidebar .brand{margin:0 0 14px;padding:12px 8px;background:#fff;border-radius:7px;line-height:1}.login .brand{max-width:320px;margin:0 0 28px;padding:0;background:white;line-height:1}
.transport-section{border-top:1px solid var(--line)}.transport-section h2{font-size:17px;margin:0 0 18px}.transport-fields{display:grid;grid-template-columns:minmax(0,1fr) 150px 130px;gap:20px;align-items:center}.transport-fields strong{display:block;padding:12px 0}@media(max-width:650px){.transport-fields{grid-template-columns:1fr}.transport-fields select{max-width:100%}}

.profile > button{display:block;width:100%;text-align:left}.profile > button + button{margin-top:8px}

.confirmation-table{width:100%;min-width:620px}.confirmation-table td{vertical-align:top}.confirmation-table td:first-child{min-width:220px}.confirmation-note{overflow-wrap:anywhere;margin-top:8px;font-size:14px}
.category-filters{display:flex;align-items:flex-end;gap:16px;flex-wrap:wrap;margin-bottom:20px}.category-filters>div{flex:1;min-width:220px;max-width:360px}.category-filters select{width:100%}.category-filters>span{padding-bottom:12px}.category-path{margin:6px 0;overflow-wrap:anywhere}

/* Mobile catalog trial: table remains available through the view toggle. */
.catalog-view-toggle{display:none}
@media(max-width:700px){
 body:has(.catalog-panel) .main,body:has(.catalog-panel) .content{min-width:0}
 body:has(.catalog-panel) .toolbar{flex-wrap:wrap;gap:10px}
 body:has(.catalog-panel) .toolbar input{flex:1 1 100%;max-width:none;min-width:0}
 body:has(.catalog-panel) .toolbar .stock-filter{flex:1;min-width:0}
 body:has(.catalog-panel) .category-filters{gap:12px}
 body:has(.catalog-panel) .category-filters>div{min-width:0;flex:1 1 100%;max-width:none}
 .catalog-view-toggle{display:block;margin-left:auto;min-height:44px}
 .catalog-panel:not(.catalog-as-table){border:0;background:transparent;box-shadow:none;overflow:visible}
 .catalog-panel:not(.catalog-as-table) .table-wrap{overflow:visible}
 .catalog-panel:not(.catalog-as-table) .catalog-table{display:block;min-width:0;width:100%}
 .catalog-panel:not(.catalog-as-table) thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
 .catalog-panel:not(.catalog-as-table) tbody{display:grid;gap:14px}
 .catalog-panel:not(.catalog-as-table) tbody tr{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);border:1px solid var(--line);border-radius:10px;background:#fff;padding:16px;gap:12px}
 .catalog-panel:not(.catalog-as-table) td{display:block;padding:0;border:0;min-width:0;text-align:left;overflow-wrap:anywhere;white-space:normal}
 .catalog-panel:not(.catalog-as-table) td::before{content:attr(data-label);display:block;font-size:12px;color:var(--muted);font-weight:400;margin-bottom:4px}
 .catalog-panel:not(.catalog-as-table) td:first-child{grid-column:1/-1}
 .catalog-panel:not(.catalog-as-table) td:first-child::before,.catalog-panel:not(.catalog-as-table) td:last-child:empty::before{display:none}
 .catalog-panel:not(.catalog-as-table) .product-name{font-size:16px;line-height:1.45}
 .catalog-panel:not(.catalog-as-table) td:nth-child(2){grid-column:1/-1;font-size:14px;font-family:inherit}
 .catalog-panel:not(.catalog-as-table) td:nth-child(3),.catalog-panel:not(.catalog-as-table) td:nth-child(4){font-size:17px;font-weight:650}
 .catalog-panel:not(.catalog-as-table) td.stock-low,.catalog-panel:not(.catalog-as-table) td.stock-empty{padding:8px;border-radius:6px}
 .catalog-panel:not(.catalog-as-table) td:has(button){grid-column:1/-1;border-top:1px solid var(--line);padding-top:10px}
 .catalog-panel:not(.catalog-as-table) td button{width:100%;min-height:44px}
 .catalog-panel:not(.catalog-as-table) .catalog-empty td{grid-column:1/-1;color:var(--muted);padding:16px 0}
}

.mobile-menu-toggle,.mobile-menu-close{display:none}
dialog.mobile-menu{padding:0;border:0;border-radius:0;margin:0;height:100dvh;max-height:100dvh;width:min(320px,88vw);max-width:88vw;background:#2d62a0;color:white;overflow-y:auto}
dialog.mobile-menu::backdrop{background:#0b251e88;backdrop-filter:blur(2px)}
@media(max-width:760px){
 .mobile-menu-toggle{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:4px;font-size:25px;flex-shrink:0}
 .mobile-menu-close{display:block;align-self:flex-end;background:transparent;color:white;border-color:#ffffff55;min-height:44px;margin-bottom:16px}
 dialog.mobile-menu .sidebar{display:flex;position:static;min-height:100%;height:auto;width:100%;padding:20px;box-sizing:border-box}
 dialog.mobile-menu .brand-sub{display:block;margin:0 0 24px;font-size:11px;letter-spacing:1px}
 dialog.mobile-menu .nav{display:grid;overflow:visible;gap:7px}
 dialog.mobile-menu .nav button{white-space:normal;min-height:46px;text-align:left;padding:12px 14px;font-size:16px}
 dialog.mobile-menu .nav svg{display:block;flex-shrink:0}
 dialog.mobile-menu .profile{display:block;margin-top:auto;padding-top:24px;border-top:1px solid #ffffff33}
 dialog.mobile-menu .profile strong,dialog.mobile-menu .profile small{display:block}
 dialog.mobile-menu .profile button{min-height:44px;padding:10px 12px}
 .topbar:has(.mobile-menu-toggle){padding:10px 15px;gap:10px;align-items:center}
 .topbar:has(.mobile-menu-toggle)>span:first-of-type{flex:1;min-width:0;overflow-wrap:anywhere}
}

.catalog-photo{float:left;margin:0 14px 8px 0;padding:4px;width:110px;height:110px;background:white;border:1px solid var(--line);border-radius:8px;cursor:zoom-in}
.catalog-photo img{display:block;width:100%;height:100%;object-fit:contain}
.product-photo-large{display:block;width:100%;max-height:70vh;object-fit:contain;background:white}
@media(max-width:700px){
 .catalog-panel:not(.catalog-as-table) td:first-child:has(.catalog-photo){border-top:0;padding-top:0}
 .catalog-panel:not(.catalog-as-table) td .catalog-photo{float:none;display:block;width:100%;height:190px;margin:0 0 12px;padding:8px}
}

.product-image-field{margin:20px 0}.product-image-field img{display:block;max-width:100%;width:180px;height:150px;object-fit:contain;margin:10px 0;border:1px solid var(--line);border-radius:6px;background:white}.product-image-field img[hidden]{display:none}.product-image-field input{max-width:100%}

/* Compact product photos in the order editor and its search results. */
#results .search-product{display:flex;align-items:center;gap:12px;min-width:0;flex:1}
#results .search-product>span{min-width:0;overflow-wrap:anywhere}
#results .search-product-photo{width:52px;height:52px;flex:0 0 52px;object-fit:contain;background:white;border:1px solid var(--line);border-radius:5px}
.order-table .order-line-photo{width:76px;height:76px;margin:0 12px 8px 0;padding:3px}
.order-table .order-line-note{clear:both}
@media(max-width:760px){
 #results .result{gap:10px;flex-wrap:wrap}
 #results .search-product{flex-basis:65%}
 #results .search-product-photo{width:44px;height:44px;flex-basis:44px}
 .order-table .order-line-photo{width:64px;height:64px}
}

/* Reversible compact mobile trial, 7 October 2026. */
.mobile-line-details,.mobile-catalog-details,.mobile-catalog-code{display:none}
@media(max-width:760px){
 .content{padding:16px 10px}.heading{margin-bottom:16px}.panel{margin-bottom:14px}.panel-head,.panel-body{padding:12px}.panel-head h2{font-size:15px}
 .order-table tr{grid-template-columns:minmax(0,1fr) minmax(0,1.25fr) minmax(0,1fr);padding:10px 8px;gap:4px}
 .order-table td{padding:4px;min-width:0}.order-table td:first-child{grid-column:1/-1;padding-right:34px}
 .order-table .product-name{font-size:14px;line-height:1.35}.order-table .order-line-photo{width:52px;height:52px;margin-right:9px}
 .order-table td[data-label]::before{font-size:11px;margin-bottom:4px;min-height:26px}
 .order-table td input{min-width:0;width:100%;min-height:44px;font-size:16px;padding:8px 5px}
 .order-table td:nth-child(2){grid-column:1;grid-row:2}.order-table td:nth-child(3){grid-column:2;grid-row:2}.order-table td:nth-child(5){grid-column:3;grid-row:2;font-size:15px}
 .order-table td:nth-child(6){grid-column:3;grid-row:3}
 .order-table .order-discount{grid-column:1/3;grid-row:3}
 .order-table tr:not(.details-open) .order-discount,.order-table tr:not(.details-open) .order-line-note{display:none}
 .order-table .order-line-note{padding-top:8px}.order-table .order-line-note input{text-align:left}
 .order-table .mobile-line-details{display:block;clear:both;min-height:44px;padding:8px 0;background:none;border:0;font-size:12px;text-align:left;width:100%}
 .order-table .remove{min-width:36px;min-height:44px}
 #results .result{padding:8px;gap:6px}#results .search-product{gap:8px}#results .search-product-photo{width:36px;height:36px;flex-basis:36px}#results .result strong{font-size:13px;margin-bottom:2px}#results .result small{font-size:11px}
}
@media(max-width:700px){
 .catalog-panel:not(.catalog-as-table) tbody{gap:8px}
 .catalog-panel:not(.catalog-as-table) tbody tr{padding:10px;gap:6px}
 .catalog-panel:not(.catalog-as-table) td:first-child{position:relative;padding:0;border:0}
 .catalog-panel:not(.catalog-as-table) td .catalog-photo{float:left;width:56px;height:56px;min-height:56px;padding:2px;margin:0 9px 4px 0}
 .catalog-panel:not(.catalog-as-table) .product-name{font-size:14px;line-height:1.3;margin-bottom:4px}
 .catalog-panel:not(.catalog-as-table) tr:not(.details-open) .product-name{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
 .catalog-panel:not(.catalog-as-table) .mobile-catalog-code{display:block;font-size:12px;color:var(--muted)}
 .catalog-panel:not(.catalog-as-table) .mobile-catalog-details{display:block;clear:both;width:auto;min-height:44px;padding:6px 0;border:0;background:none;font-size:12px}
 .catalog-panel:not(.catalog-as-table) tr:not(.details-open) td:nth-child(2),.catalog-panel:not(.catalog-as-table) tr:not(.details-open) td:nth-child(5),.catalog-panel:not(.catalog-as-table) tr:not(.details-open) td:nth-child(6),.catalog-panel:not(.catalog-as-table) tr:not(.details-open) .category-path{display:none}
 .catalog-panel:not(.catalog-as-table) td:nth-child(3),.catalog-panel:not(.catalog-as-table) td:nth-child(4){font-size:15px}
 .catalog-panel:not(.catalog-as-table) td.stock-low,.catalog-panel:not(.catalog-as-table) td.stock-empty{padding:4px 6px}
 .catalog-panel:not(.catalog-as-table) td:last-child:has([data-edit]){padding-top:4px}
 .catalog-panel:not(.catalog-as-table) td [data-edit]{padding:7px;min-height:44px}
}

/* Align mobile order labels, controls and calculated amounts. */
@media(max-width:760px){
 .order-table td[data-label]::before{height:28px;min-height:28px;line-height:14px;margin-bottom:4px}
 .order-table td:nth-child(2) input,.order-table td:nth-child(3) input,.order-table .order-discount input{height:44px;line-height:24px}
 .order-table td:nth-child(5),.order-table td:nth-child(6){line-height:44px;font-size:16px}
 .order-table td:nth-child(5)::before,.order-table td:nth-child(6)::before{line-height:14px}
}

#introduction{width:620px}#introduction p{line-height:1.6}#introduction .intro-progress{font-size:13px;color:var(--muted);margin-top:0}#introduction h2{font-size:23px}#introduction .actions{gap:10px}#introduction button{min-height:44px}
@media(max-width:760px){#introduction{padding:20px;max-width:calc(100% - 20px);max-height:90dvh}#introduction h2{font-size:21px}#introduction .actions{display:flex;flex-wrap:wrap}#introduction .primary{flex:1}#introduction .notice{padding:12px}}

/* Compact desktop order rows; isolated from the mobile card layout. */
.desktop-line-note-toggle{display:none}
@media(min-width:761px){
 .order-table th{padding:12px 10px}
 .order-table td{vertical-align:top;padding:12px 10px}
 .order-table td:first-child{width:100%;min-width:220px;padding-left:18px}
 .order-table .order-line-photo{width:48px;height:48px;min-height:48px;margin:0 10px 0 0;padding:2px}
 .order-table .product-name{font-size:13px;line-height:18px;margin:0 0 3px;overflow-wrap:anywhere}
 .order-table .product-meta{font-size:11px;line-height:16px}
 .order-table td:first-child:has(.order-line-photo)>.product-name,.order-table td:first-child:has(.order-line-photo)>.product-meta{margin-left:58px}
 .order-table td input{height:38px;min-height:38px;padding:7px 8px;font-size:14px;line-height:22px}
 .order-table td:nth-child(2){position:relative;padding-right:34px;white-space:nowrap}
 .order-table td:nth-child(2) input{width:68px;min-width:68px}
 .order-table td:nth-child(2)>.product-meta{position:absolute;right:8px;top:12px;line-height:38px}
 .order-table td:nth-child(3) input{width:100px}
 .order-table td:nth-child(3)>.product-meta{white-space:nowrap;margin-top:2px}
 .order-table .order-discount input{width:72px;min-width:72px}
 .order-table td:nth-child(5),.order-table td:nth-child(6){line-height:38px;white-space:nowrap}
 .order-table .remove{height:38px;min-height:38px;line-height:22px;padding:7px 8px}
 .order-table .desktop-line-note-toggle{display:block;background:none;border:0;padding:3px 0;margin-top:2px;min-height:24px;font-size:11px;line-height:18px;text-align:left}
 .order-table td:first-child:has(.order-line-photo)>.desktop-line-note-toggle{margin-left:58px}
 .order-table tr:not(.desktop-note-open) .order-line-note{display:none}
 .order-table .order-line-note{clear:both;padding-top:6px;max-width:560px}
 .order-table .order-line-note label{font-size:12px;margin-bottom:4px}
 .order-table .order-line-note input{width:100%;text-align:left}
}

.zone-controls{display:flex;gap:18px;align-items:center;margin:0 18px 14px;padding:12px;background:#fff7df;border:1px solid #ecd7a0;border-radius:7px}.zone-controls p{margin:0 0 4px;font-size:13px}.zone-controls select{min-width:90px}.zone-controls label{white-space:nowrap}.zone-line-info{font-size:11px;line-height:16px;color:#715410;margin-top:3px}.order-discount input[readonly]{background:#fff7df;color:#715410}
@media(min-width:761px){.order-table td:first-child:has(.order-line-photo)>.zone-line-info{margin-left:58px}}
@media(max-width:760px){.zone-controls{align-items:flex-start;gap:10px;margin:0 10px 10px}.zone-controls p{font-size:12px}.zone-controls small{font-size:11px}}

.zone-controls .bulk-discount-toggle{display:flex;align-items:center;gap:8px;white-space:normal;font-size:13px;margin:8px 0 0;min-height:32px;cursor:pointer}.bulk-discount-toggle input{width:18px;height:18px;min-height:18px;flex:0 0 18px;accent-color:#2d62a0}
.order-table td:first-child{position:relative;padding-left:42px}
.line-drag-handle{position:absolute;left:3px;top:10px;width:32px;height:40px;min-height:40px;padding:0;border:0;background:transparent;color:var(--muted);font-size:24px;cursor:grab;touch-action:none;user-select:none}
.line-drag-handle:active{cursor:grabbing}.line-drag-handle:focus-visible{outline:2px solid #2d62a0;outline-offset:-2px}
.order-table .line-dragging{opacity:.55}
.order-table .line-drop-before{box-shadow:inset 0 3px #2d62a0}.order-table .line-drop-after{box-shadow:inset 0 -3px #2d62a0}
#line-order-help{margin:0;padding:8px 18px}

/* Product-card actions occupy the upper-right corner on mobile only. */
.mobile-product-actions{display:none}
@media(max-width:700px){
 .catalog-panel:not(.catalog-as-table) td:first-child:has(.mobile-product-actions){padding-right:44px}
 .catalog-panel:not(.catalog-as-table) .mobile-product-actions{display:block;position:absolute;right:-4px;top:-4px;z-index:2}
 .catalog-panel:not(.catalog-as-table) .mobile-product-actions[open]{z-index:3}
 .mobile-product-actions summary{display:flex;align-items:center;justify-content:center;width:44px;height:44px;list-style:none;cursor:pointer;font-size:26px;border-radius:6px;color:var(--muted)}
 .mobile-product-actions summary::-webkit-details-marker{display:none}
 .mobile-product-actions summary:focus-visible{outline:2px solid #2d62a0}
 .mobile-product-action-list{position:absolute;right:0;top:42px;min-width:130px;padding:4px;background:white;border:1px solid var(--line);border-radius:7px;box-shadow:0 4px 14px #0002}
 .catalog-panel:not(.catalog-as-table) .mobile-product-action-list button{width:100%;min-height:44px;text-align:left;border:0;background:white;padding:10px 14px}
 .catalog-panel:not(.catalog-as-table) .mobile-product-action-list button:hover{background:#f0f4f8}
 .catalog-panel:not(.catalog-as-table) td:last-child:has(>[data-edit]){display:none}
}
/* Emphasize product codes in the catalogue, including compact mobile cards. */
.catalog-table .catalog-code{font-size:16px;font-weight:700;color:#172f2b}
.catalog-table .catalog-code small{font-size:12px;font-weight:400;color:var(--muted)}
.catalog-panel:not(.catalog-as-table) .catalog-table .mobile-catalog-code{font-size:14px;font-weight:700;color:#172f2b;overflow-wrap:anywhere}

.catalog-order-action{white-space:nowrap}
.catalog-add-short{display:none}
#toast button{margin-left:8px;padding:6px 10px}
@media(max-width:700px){
 .catalog-panel:not(.catalog-as-table) .catalog-order-action{display:block;grid-column:1/-1;padding-top:4px}
 .catalog-panel:not(.catalog-as-table) .catalog-add-full{display:none}
 .catalog-panel:not(.catalog-as-table) .catalog-add-short{display:inline}
 .catalog-panel:not(.catalog-as-table) .catalog-add{min-height:40px;padding:8px 12px;width:100%}
 .catalog-panel:not(.catalog-as-table) td:has(>[data-edit]){display:none}
}

.catalog-add-icon{display:none}
@media(max-width:700px){
 .catalog-panel:not(.catalog-as-table) .catalog-order-action{display:none}
 .catalog-panel:not(.catalog-as-table) td:first-child:has(.catalog-add-icon){position:relative;padding-right:48px;min-height:44px}
 .catalog-panel:not(.catalog-as-table) td:first-child:has(.mobile-product-actions){min-height:88px}
 .catalog-panel:not(.catalog-as-table) .catalog-add-icon{display:flex;position:absolute;right:-4px;top:0;align-items:center;justify-content:center;width:44px;height:44px;padding:0;font-size:26px;line-height:1;border:0;background:transparent;color:#2d62a0}
 .catalog-panel:not(.catalog-as-table) .mobile-product-actions~.catalog-add-icon{top:44px}
 .catalog-panel:not(.catalog-as-table) .catalog-add-icon:disabled{opacity:.35;cursor:not-allowed}
 .catalog-panel:not(.catalog-as-table) .catalog-add-icon:focus-visible{outline:2px solid #2d62a0}
}

/* Compact product editing, including native checkbox dimensions. */
#product-form .field{margin-bottom:10px}
#product-form .form-grid{gap:10px 14px}
#product-form label{margin-bottom:5px;font-size:13px}
#product-form input:not([type=checkbox]):not([type=file]),#product-form select{min-height:36px;padding:7px 10px;font-size:14px}
#product-form .product-visibility{margin:12px 0;padding:8px 12px;border:1px solid var(--line);border-radius:6px;display:flex;flex-wrap:wrap;gap:8px 22px;min-width:0}
#product-form .product-visibility legend{font-size:13px;font-weight:600;padding:0 4px}
#product-form .product-visibility-option{display:flex;align-items:center;gap:8px;margin:0;min-height:28px;cursor:pointer}
#product-form .product-visibility input[type=checkbox]{width:18px;height:18px;min-width:18px;min-height:18px;flex:0 0 18px;margin:0;padding:0;accent-color:#2d62a0}
#product-form .product-visibility small{flex-basis:100%;font-size:12px;line-height:1.4}
#product-form .product-arrivals>p{grid-column:1/-1;font-size:12px;line-height:1.4;margin:0}
#product-form .actions{margin-top:16px}
@media(max-width:760px){
 #product-form input:not([type=checkbox]):not([type=file]),#product-form select{min-height:40px;font-size:16px}
 #product-form .product-visibility-option{min-height:36px}
}

.dealer-shipping-default-label{display:flex;align-items:center;gap:8px;min-height:36px;cursor:pointer}
.dealer-shipping-default-label input[type=checkbox]{width:18px;height:18px;min-width:18px;min-height:18px;flex:0 0 18px;margin:0;padding:0;accent-color:#2d62a0}

.portal-loading{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px;background:#f3f5f6}
.portal-loading img{display:block;width:min(230px,55vw);height:auto}
.portal-loading-indicator{width:22px;height:22px;border:2px solid #d5dee8;border-top-color:#2d62a0;border-radius:50%;opacity:0;animation:portal-indicator-show 0s .6s forwards,portal-indicator-spin .9s .6s linear infinite}
@keyframes portal-indicator-show{to{opacity:1}}
@keyframes portal-indicator-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.portal-loading-indicator{animation:portal-indicator-show 0s .6s forwards}}
