:focus-visible{outline:3px solid #2373db;outline-offset:3px}html{scroll-padding-top:145px}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.drop-zone:focus-within{outline:3px solid var(--brand);outline-offset:3px}.field-error{font-size:13px;font-weight:600;color:var(--danger);margin:6px 0 0;line-height:1.4}[aria-invalid="true"]{border-color:var(--danger)!important;box-shadow:0 0 0 2px #a8252520}.sync-info{display:flex;flex-wrap:wrap;gap:5px 14px;font-size:13px;margin-bottom:22px;padding:12px 15px;border-radius:10px;background:#eaf7f2;color:#19604f;border:1px solid #cee8dd}.sync-stale{background:#fff7e7;color:#7e400b;border-color:#e8d1ac}.sync-warning{display:block;width:100%;font-weight:600}.save-feedback{min-height:27px;font-weight:600;color:var(--ok);margin:0 0 8px}.sticky-totals{position:sticky;bottom:16px;z-index:10;margin-top:18px;width:100%;box-shadow:0 5px 30px #163b5b22}.sticky-totals .btn{width:100%;margin-top:12px}.next-step{display:block;max-width:310px;margin-top:7px;color:var(--muted);white-space:normal}.status-summary{padding:16px 18px;background:#e9f2ff;border:1px solid #c5dafa;border-radius:10px;margin-bottom:20px}.status-summary strong{color:var(--brand-dark);margin-right:7px}.catalog-search{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:12px;margin-bottom:16px;align-items:center}.row>span:first-child{min-width:0;overflow-wrap:anywhere}.row>strong{flex-shrink:0}.label-thumbnail{display:grid;gap:10px;width:min(290px,100%);padding:12px;margin-bottom:14px;border:1px solid #cad9eb;border-radius:10px;background:#eff4fa;color:var(--brand-dark);cursor:zoom-in}.label-thumbnail img{display:block;width:100%;height:auto;box-shadow:0 2px 8px #20305020}.label-thumbnail span{font-size:13px;font-weight:700}#label_dialog{border:1px solid var(--line);border-radius:14px;width:min(780px,96vw);max-height:92vh;padding:16px}#label_dialog::backdrop{background:#10203099}#label_dialog .row{position:sticky;top:-16px;background:#fff;padding:12px 0;align-items:center}#label_dialog img{display:block;width:100%;height:auto}#label_name{overflow-wrap:anywhere}.checkout-summary{position:sticky;top:145px}.checkout-grid{align-items:start;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr)}.mobile-order-bar{display:none}.responsive-table td{overflow-wrap:anywhere}.cart-error{max-width:240px}.main{overflow-wrap:anywhere}#cart_empty{margin-top:18px}
@media(max-width:860px){.checkout-grid{grid-template-columns:1fr}.checkout-summary{position:static}.catalog-search{grid-template-columns:1fr auto}.catalog-search>.input{grid-column:1/-1}.responsive-table{display:block;min-width:0}.responsive-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.responsive-table tbody{display:grid;gap:14px}.responsive-table tr{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);padding:16px;border:1px solid var(--line);border-radius:12px;background:#fff;gap:12px}.responsive-table td{display:block;padding:0;border:0!important;min-width:0;text-align:left;white-space:normal}.responsive-table td::before{content:attr(data-label);display:block;font-size:12px;color:#596274;margin-bottom:4px;font-weight:600}.responsive-table td:first-child{grid-column:1/-1;font-size:16px}.responsive-table td:first-child::before{display:none}.responsive-table td[colspan]{grid-column:1/-1}.responsive-table tr.price-missing,.responsive-table tr.price-missing td{background:#f0f2f5}.table-wrap:has(.responsive-table){background:none;border:0;box-shadow:none;overflow:visible}.cart-table td:nth-child(3){grid-column:1/-1}.cart-table td:last-child{grid-column:1/-1}.cart-table td:last-child .btn{min-height:44px}.card{padding:18px}.main:has(.mobile-order-bar){padding-bottom:130px}.mobile-order-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;position:fixed;bottom:0;left:0;right:0;z-index:25;border-top:1px solid #ced9e8;background:#fff;padding:12px 16px calc(12px + env(safe-area-inset-bottom));box-shadow:0 -4px 20px #20305012}.mobile-order-bar small,.mobile-order-bar strong{display:block}.mobile-order-bar small{color:var(--muted)}.mobile-order-bar .btn{max-width:60%;font-size:13px}.sticky-totals{bottom:8px;max-width:none;padding:13px 16px}.sticky-totals .row{padding:3px 0}.sticky-totals .total{margin-top:4px;padding-top:6px}.status-summary{font-size:14px}.next-step{max-width:none}.cart-table .quantity-step{min-width:44px;min-height:44px}.cart-table .quantity-input{font-size:16px;width:68px}.checkout-aside{min-width:0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
/* Catalog: stable action widths and approximate availability only. */
.catalog-table{table-layout:fixed;min-width:0}.catalog-table th{white-space:nowrap;overflow-wrap:normal}.catalog-table th:nth-child(2){width:18%}.catalog-table th:nth-child(3){width:151px}.catalog-table th:nth-child(4),.catalog-table th:nth-child(5){width:111px}.catalog-table th:last-child{width:208px}.catalog-table td{padding-top:20px;padding-bottom:20px}.catalog-table td:first-child strong{line-height:1.45}.catalog-table code{font-family:inherit;font-size:13px}.catalog-table td.money{white-space:nowrap;overflow-wrap:normal}.catalog-add-form{display:grid;grid-template-columns:minmax(76px,1fr) auto;gap:8px;align-items:start}.catalog-add-form .catalog-quantity{width:100%;min-width:0;min-height:44px;padding:9px 8px;text-align:center;font-variant-numeric:tabular-nums}.catalog-add-form .btn{min-width:84px;min-height:44px;white-space:nowrap;overflow-wrap:normal;word-break:normal;padding:9px 15px}.catalog-add-form .field-error{grid-column:1/-1;margin-top:0}.availability{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:600;line-height:1.35;color:#44556a;overflow-wrap:normal}.availability-bars{display:flex;align-items:flex-end;gap:4px;height:20px}.availability-bars>span{width:17px;background:#e3e9f0;border-radius:3px 3px 1px 1px;height:9px}.availability-bars>span:nth-child(2){height:14px}.availability-bars>span:nth-child(3){height:20px}.availability-1 .is-filled{background:#b87b1a}.availability-2 .is-filled{background:#2373db}.availability-3 .is-filled{background:#21725e}.availability-0{color:#7b8492}.price-missing .availability-bars .is-filled{background:#8793a3}
@media(max-width:1100px){.catalog-table{display:block;min-width:0}.catalog-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.catalog-table tbody{display:grid;gap:14px}.catalog-table tr{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);padding:18px;border:1px solid var(--line);border-radius:12px;background:#fff;gap:16px}.catalog-table td{display:block;padding:0;border:0!important;min-width:0;text-align:left;white-space:normal}.catalog-table td::before{content:attr(data-label);display:block;font-size:12px;color:#596274;margin-bottom:5px;font-weight:600}.catalog-table td:first-child{grid-column:1/-1;font-size:16px}.catalog-table td:first-child::before{display:none}.catalog-table .catalog-action{grid-column:1/-1;border-top:1px solid var(--line)!important;padding-top:14px}.catalog-add-form{grid-template-columns:100px minmax(0,1fr)}.catalog-table tr.price-missing,.catalog-table tr.price-missing td{background:#f0f2f5}.catalog-table td[colspan]{grid-column:1/-1}.table-wrap:has(.catalog-table){background:none;border:0;box-shadow:none;overflow:visible}.availability{flex-direction:row;align-items:center;flex-wrap:wrap;gap:8px}.catalog-table td.catalog-availability{align-self:center}}
/* Stick the grid column itself: a sticky card inside a content-height aside cannot travel. */
@media(min-width:861px){.checkout-aside{position:sticky;top:145px;align-self:start;max-height:calc(100vh - 165px);overflow-y:auto;scrollbar-width:thin}.checkout-aside .checkout-summary{position:static}}

.catalog-add-form .quantity-feedback{grid-column:1/-1;margin:0;font-size:12px;line-height:1.45;color:#315c8a;font-weight:600}.catalog-add-form .quantity-feedback.is-error{color:var(--danger)}

.file-ready .actions{margin-top:12px}.file-ready{overflow-wrap:anywhere}#label_file:focus-visible + .drop-zone{outline:3px solid var(--brand);outline-offset:3px}
