:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg-base:#020617;--bg-surface:#0f172a99;--bg-surface-solid:#0f172a;--bg-elevated:#1e293bb3;--bg-elevated-solid:#1e293b;--fg-primary:#f8fafc;--fg-secondary:#cbd5e1;--fg-muted:#64748b;--accent-primary:#3b82f6;--accent-hover:#60a5fa;--accent-glow:#3b82f680;--danger:#ef4444;--success:#10b981;--border-color:#ffffff1a;--border-light:#ffffff0d;--radius-sm:8px;--radius-md:8px;--radius-lg:12px;--radius-full:9999px;--shadow-sm:0 1px 2px #00000080;--shadow-md:0 4px 12px #00000080;--shadow-lg:0 10px 25px #0009;--shadow-glow:0 0 15px var(--accent-glow);--transition:all .25s cubic-bezier(.4, 0, .2, 1);--header-height:180px}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-base);color:var(--fg-primary);-webkit-font-smoothing:antialiased;background-image:radial-gradient(circle at 15%,#3b82f614,#0000 25%),radial-gradient(circle at 85% 30%,#10b9810d,#0000 25%);background-attachment:scroll;min-height:100dvh;font-family:system-ui,-apple-system,Segoe UI,sans-serif;line-height:1.5}@media (hover:hover) and (pointer:fine){body{background-attachment:fixed}}html,#root{min-height:100dvh}a{color:inherit;text-decoration:none}button{cursor:pointer;color:inherit;border-radius:var(--radius-md);background:0 0;border:none;outline:none;font-family:inherit}h1{letter-spacing:-.02em;margin-bottom:0;font-size:2rem;font-weight:700}h2{letter-spacing:-.02em;margin-bottom:.75rem;font-size:1.5rem;font-weight:600}h3{margin-bottom:.5rem;font-size:1.125rem;font-weight:600}p{color:var(--fg-secondary)}.primary-button{background:linear-gradient(135deg, var(--accent-primary) 0%, #2563eb 100%);color:#fff;border-radius:var(--radius-md);transition:var(--transition);border:1px solid #ffffff1a;justify-content:center;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-weight:600;display:inline-flex;box-shadow:0 4px 6px #0003}.primary-button:hover:not(:disabled){box-shadow:var(--shadow-glow);border-color:#fff3;transform:translateY(-2px)}.primary-button:active:not(:disabled){transform:translateY(0)}.primary-button:disabled{opacity:.5;cursor:not-allowed;background:var(--bg-elevated-solid);color:var(--fg-muted)}.secondary-button{color:var(--fg-primary);border-radius:var(--radius-md);transition:var(--transition);border:1px solid var(--border-color);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff0d;padding:.75rem 1.5rem;font-weight:600}.secondary-button:hover{background:#ffffff1a}.catalog-container{flex-direction:column;max-width:1400px;min-height:100vh;margin:0 auto;display:flex;position:relative}.catalog-header{z-index:50;-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--border-color);background-color:#020617d9;padding:1rem 1.5rem;position:sticky;top:0;box-shadow:0 4px 20px #0000004d}.catalog-header-top{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.5rem;display:flex}.catalog-title{flex-shrink:0;margin:0}.catalog-logout-btn{flex-shrink:0}.catalog-header-actions{flex-shrink:0;align-items:center;gap:.45rem;margin-left:auto;display:flex}.catalog-back-btn{flex-shrink:0}.catalog-header-nav{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.4rem;min-width:0;display:flex}.catalog-header-btn{white-space:nowrap;border-radius:var(--radius-md);align-items:center;display:inline-flex;padding:.35rem .75rem!important;font-size:.8rem!important}a.catalog-header-btn{text-decoration:none}.plastic-remainder{width:100%;color:var(--fg-secondary,#94a3b8);letter-spacing:.01em;margin:-.15rem 0 .55rem;font-size:.75rem;line-height:1.35}.plastic-remainder strong{color:var(--fg-primary,#e2e8f0);font-weight:600}.search-input{background-color:var(--bg-surface);border:1px solid var(--border-color);width:100%;color:var(--fg-primary);border-radius:var(--radius-md);transition:var(--transition);padding:.75rem 1rem;font-size:1rem;box-shadow:inset 0 2px 4px #0003}.search-input:focus{border-color:var(--accent-primary);background-color:#0f172acc;outline:none;box-shadow:0 0 0 3px #3b82f633,inset 0 2px 4px #0003}.catalog-tools{width:100%}.catalog-sort{width:100%;margin-top:1rem}.filters-container{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.75rem;margin-top:1rem;display:grid}.filter-select{background-color:var(--bg-surface);color:var(--fg-primary);border-radius:var(--radius-md);border:1px solid var(--border-color);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);appearance:none;cursor:pointer;transition:var(--transition);white-space:nowrap;text-overflow:ellipsis;text-align:left;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23cbd5e1' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-position:right .75rem center;background-repeat:no-repeat;flex:1;min-width:140px;height:42px;padding:.5rem 2.5rem .5rem 1rem;font-size:.875rem;font-weight:500;overflow:hidden}.filter-select:hover{background-color:var(--bg-elevated);border-color:#fff3}.filter-select:focus{border-color:var(--accent-primary);outline:none;box-shadow:0 0 0 2px #3b82f633}.filter-select option{background-color:var(--bg-surface-solid);color:var(--fg-primary)}.toggle-filter-btn{background-color:var(--bg-surface);color:var(--fg-primary);border-radius:var(--radius-md);border:1px solid var(--border-color);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);cursor:pointer;transition:var(--transition);-webkit-user-select:none;user-select:none;white-space:nowrap;flex:1;justify-content:space-between;align-items:center;gap:.5rem;min-width:140px;height:42px;padding:0 .75rem 0 1rem;font-size:.875rem;font-weight:600;display:flex}.toggle-filter-btn:hover{background-color:var(--bg-elevated);border-color:#fff3}.trigger-text{text-overflow:ellipsis;display:block;overflow:hidden}.toggle-switch{flex-shrink:0;width:36px;height:20px;display:inline-block;position:relative}.toggle-switch input{opacity:0;width:0;height:0;position:absolute}.toggle-slider{cursor:pointer;border:1px solid var(--border-color);background-color:#ffffff1a;border-radius:20px;transition:all .3s;position:absolute;inset:0}.toggle-slider:before{content:"";background-color:var(--fg-secondary);border-radius:50%;width:14px;height:14px;transition:all .3s;position:absolute;bottom:2px;left:2px}.toggle-switch input:checked+.toggle-slider{background-color:var(--accent-primary);border-color:var(--accent-primary)}.toggle-switch input:checked+.toggle-slider:before{background-color:#fff;transform:translate(16px)}.product-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));align-items:stretch;gap:1.5rem;padding:1.5rem 1.5rem 120px;display:grid}@media (width<=640px){.product-grid{grid-template-columns:repeat(2,1fr);gap:.5rem;padding:.5rem .5rem 90px}.filters-container{grid-template-columns:repeat(2,1fr);gap:.5rem}.catalog-header{padding:.5rem}.search-input{padding:.5rem .75rem}.filter-select{background-position:right .5rem center;background-size:14px;min-width:120px;height:38px;padding:.4rem 1.75rem .4rem .5rem;font-size:.8rem}.toggle-filter-btn{min-width:120px;height:38px;padding:0 .5rem;font-size:.8rem}.categories-scroll{gap:.25rem;margin-top:.5rem}.category-pill{padding:.25rem .75rem;font-size:.8rem}.product-info{padding:.5rem}.product-name{margin-bottom:.25rem;font-size:.85rem}.price-value{font-size:.9rem}h1{font-size:1.25rem}.qty-input{width:32px;font-size:.85rem}.qty-btn{width:24px;height:24px;font-size:.8rem}.primary-button{padding:.5rem;font-size:.85rem}}.product-card{background-color:var(--bg-surface-solid);border-radius:var(--radius-lg);border:1px solid var(--border-light);transition:var(--transition);height:100%;box-shadow:var(--shadow-md);flex-direction:column;display:flex;position:relative;overflow:hidden}.product-card:before{content:"";border-radius:var(--radius-lg);pointer-events:none;position:absolute;inset:0;box-shadow:inset 0 1px #ffffff1a}.product-card:hover{box-shadow:var(--shadow-lg);border-color:#ffffff26;transform:translateY(-4px)}.product-card--share-focus{border-color:var(--accent-primary);box-shadow:0 0 0 3px var(--accent-glow), var(--shadow-lg);z-index:1}.product-share-focus-badge{z-index:2;background:var(--accent-primary);color:#fff;border-radius:var(--radius-md);padding:4px 8px;font-size:.75rem;font-weight:700;position:absolute;top:10px;right:10px;box-shadow:0 2px 4px #00000026}.product-image{aspect-ratio:1;object-fit:contain;box-sizing:border-box;background-color:#fff;flex-shrink:0;width:100%;padding:1rem;display:block}.product-image--empty{color:var(--fg-muted);background-color:#fff;justify-content:center;align-items:center;font-size:.875rem;display:flex}.product-image-btn{cursor:zoom-in;background:#fff;border:none;flex-shrink:0;width:100%;margin:0;padding:0;display:block}.product-image-btn .product-image{width:100%}.cart-item-photo-btn{cursor:zoom-in;background:0 0;border:none;flex-shrink:0;margin:0;padding:0;line-height:0}.photo-lightbox{z-index:4000;background:#080c14f0;flex-direction:column;display:flex;position:fixed;inset:0}.photo-lightbox-close{top:max(.75rem, env(safe-area-inset-top));z-index:2;border-radius:var(--radius-md);color:#fff;cursor:pointer;background:#ffffff24;border:none;min-height:44px;padding:.5rem .9rem;font-size:.95rem;position:absolute;right:.75rem}.photo-lightbox-hint{text-align:center;color:#ffffffb8;margin:0;padding:3.4rem 1rem .35rem;font-size:.8rem}.photo-lightbox-stage{touch-action:none;cursor:pointer;flex:1;justify-content:center;align-items:center;min-height:0;display:flex;overflow:hidden}.photo-lightbox-img{object-fit:contain;border-radius:var(--radius-md);transform-origin:50%;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;cursor:zoom-in;background:#fff;max-width:96vw;max-height:82vh}.product-info{flex-direction:column;flex:1;min-height:0;padding:1.25rem;display:flex}.product-sku{color:var(--fg-muted);min-height:1.1em;margin-bottom:.25rem;font-family:monospace;font-size:.75rem;line-height:1.1}.product-sku-row{justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.25rem;display:flex}.product-sku-row .product-sku{margin-bottom:0}.product-share-btn{border:1px solid var(--border-light);background:var(--bg-elevated);color:var(--fg-muted);border-radius:var(--radius-md);cursor:pointer;flex-shrink:0;padding:.2rem .5rem;font-size:.75rem}.product-share-btn:hover{color:var(--fg-primary)}.product-share-page{background:var(--bg);justify-content:center;align-items:center;min-height:100vh;padding:1.5rem;display:flex}.product-share-card{background:var(--bg-elevated);border:1px solid var(--border-light);border-radius:var(--radius-lg);flex-direction:column;gap:.75rem;width:min(28rem,100%);padding:1.25rem;display:flex}.product-share-photo .product-image,.product-share-card .product-image{object-fit:contain;width:100%;max-height:22rem}.product-share-title{color:var(--fg-primary);margin:0;font-size:1.15rem}.product-share-meta{color:var(--fg-muted);flex-wrap:wrap;gap:.75rem;font-size:.9rem;display:flex}.product-share-color{align-items:center;gap:.4rem;display:inline-flex}.product-share-swatch{border:1px solid var(--border-light);border-radius:999px;width:.9rem;height:.9rem}.product-share-muted,.product-share-error{margin:0}.product-share-error{color:#b42318}.product-name{color:var(--fg-primary);white-space:normal;word-break:break-word;margin-bottom:.5rem;font-size:1rem;font-weight:600;line-height:1.4;overflow:visible}.product-stock{color:var(--success);flex-flow:column;flex-shrink:0;align-items:flex-start;gap:.15rem;min-height:calc(2.7em + .15rem);margin-top:auto;margin-bottom:.75rem;font-size:.85rem;font-weight:500;line-height:1.35;display:flex}.product-stock-part{white-space:nowrap;display:block}.product-stock.out{color:var(--danger)}.product-stock.incoming{color:#0f766e}.product-prices{border-radius:var(--radius-sm);border:1px solid var(--border-light);min-height:calc(1.5rem + (var(--price-row-count,1) * 1.125rem) + ((var(--price-row-count,1) - 1) * .35rem));box-sizing:border-box;background:#0003;flex-direction:column;flex-shrink:0;gap:.35rem;margin-top:0;margin-bottom:.75rem;padding:.75rem;display:flex}.product-prices--single{--price-row-count:1}.product-prices--dual{--price-row-count:2}.product-card-actions{justify-content:center;align-items:stretch;width:100%;min-height:3rem;display:flex}.product-card-actions .primary-button{white-space:normal;text-align:center;width:100%;min-height:3rem;padding-top:.5rem;padding-bottom:.5rem;line-height:1.25}.product-reviews-link{color:var(--accent,#3b82f6);font:inherit;cursor:pointer;text-align:left;background:0 0;border:0;margin:0 0 .5rem;padding:0;font-size:.85rem;display:inline-block}.product-reviews-overlay{z-index:1100;-webkit-backdrop-filter:blur(6px);background:#020617d1;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.product-reviews-modal{background:var(--bg-elevated-solid,#1e293b);width:min(640px,100%);max-height:92vh;color:var(--fg,#fff);border:1px solid var(--border-color,#ffffff1a);box-shadow:var(--shadow-lg,0 10px 25px #0009);border-radius:16px 16px 0 0;padding:1rem 1rem 2rem;overflow:auto}body:has(.product-reviews-overlay) .cart-fab{display:none}.product-reviews-header{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:1rem;display:flex}.product-reviews-header-title{flex:auto;min-width:0}.product-reviews-header-actions{flex-shrink:0;align-items:center;gap:.5rem;display:flex}.product-reviews-header-actions .primary-button{white-space:nowrap;padding:.5rem .85rem;font-size:.85rem}.ghost-button{border:1px solid var(--border-light,#ffffff0d);color:var(--fg-secondary,#cbd5e1);border-radius:var(--radius-md);font:inherit;cursor:pointer;white-space:nowrap;background:0 0;padding:.5rem .85rem;font-size:.85rem}.ghost-button:hover:not(:disabled){color:var(--fg-primary,#f8fafc);border-color:var(--border-color,#ffffff1a)}.ghost-button:disabled{opacity:.5;cursor:not-allowed}@media (width<=480px){.product-reviews-header{flex-wrap:wrap}.product-reviews-header-actions{width:100%}.product-reviews-header-actions .primary-button{flex:auto}}.product-reviews-header h2{margin:0;font-size:1.15rem}.product-reviews-header p{color:var(--fg-muted,#9aa3b2);margin:.25rem 0 0}.product-reviews-muted{color:var(--fg-muted,#9aa3b2)}.product-reviews-error{color:#f87171}.product-reviews-stars button,.product-reviews-stars span{color:#4b5563;cursor:default;background:0 0;border:0;padding:0 2px;font-size:1.25rem}.product-reviews-stars button{cursor:pointer}.product-reviews-stars .is-on{color:#fbbf24}.product-review-item{border-top:1px solid var(--border-light,#2a3140);padding:.75rem 0}.product-review-item-head{justify-content:space-between;gap:8px;font-size:.85rem;display:flex}.product-review-source{color:#fff;vertical-align:middle;background:#7b2cff;border-radius:999px;margin-left:.4rem;padding:.05rem .35rem;font-size:.7rem;font-weight:600}.product-review-photos{flex-wrap:wrap;gap:8px;margin-top:.5rem;display:flex}.product-review-photo-btn{cursor:pointer;background:0 0;border:0;padding:0}.product-review-photo-btn img{object-fit:cover;border-radius:8px;width:72px;height:72px}.product-reviews-form{border:1px solid var(--border-light,#ffffff0d);border-radius:var(--radius-md);background:#ffffff08;flex-direction:column;gap:.6rem;margin-top:1rem;padding:.9rem;display:flex}.product-reviews-form[hidden]{display:none}.product-reviews-form textarea{background:var(--bg,#0f1218);width:100%;color:inherit;border:1px solid var(--border-light,#2a3140);border-radius:8px;padding:.6rem}.product-reviews-form-actions{flex-wrap:wrap;gap:8px;display:flex}@media (width>=720px){.product-reviews-overlay{align-items:center}.product-reviews-modal{border-radius:16px}}.price-row{justify-content:space-between;align-items:center;display:flex}.price-label{color:var(--fg-secondary);font-size:.75rem}.price-value{color:#fff;font-size:1.125rem;font-weight:700}.cart-fab{background:linear-gradient(135deg, var(--accent-primary) 0%, #2563eb 100%);color:#fff;border-radius:var(--radius-md);box-shadow:var(--shadow-glow);z-index:100;transition:var(--transition);border:1px solid #fff3;align-items:center;gap:.75rem;padding:1rem 2rem;font-size:1.1rem;font-weight:600;display:flex;position:fixed;bottom:2rem;right:2rem}.cart-fab:hover{transform:translateY(-4px)scale(1.02);box-shadow:0 15px 30px #3b82f680}@media (width<=640px){.cart-fab{width:auto;box-shadow:0 10px 25px #000c, 0 0 15px var(--accent-glow);border:1px solid #ffffff4d;justify-content:center;bottom:1rem;left:1rem;right:1rem}}.cart-badge{color:var(--accent-primary);border-radius:var(--radius-full);background:#fff;padding:.125rem .6rem;font-size:.9rem;font-weight:700;box-shadow:inset 0 2px 4px #0000001a}.cart-drawer-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:99;touch-action:none;background-color:#0009;animation:.3s ease-out forwards fadeIn;position:fixed;inset:0}.cart-drawer{background-color:var(--bg-surface-solid);z-index:201;border-left:1px solid var(--border-light);overscroll-behavior:contain;flex-direction:column;width:100%;max-width:450px;animation:.3s cubic-bezier(.16,1,.3,1) slideIn;display:flex;position:fixed;top:0;bottom:0;right:0;box-shadow:-10px 0 30px #00000080}@media (width<=450px){.cart-drawer{max-width:100%}}.history-panel{width:100%;max-width:600px;padding-bottom:2rem;animation:none;left:50%;right:auto;transform:translate(-50%)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideIn{0%{transform:translate(100%)}to{transform:translate(0)}}.cart-header-drawer{border-bottom:1px solid var(--border-color);background:#0f172af2;justify-content:space-between;align-items:center;padding:.5rem 1rem;display:flex}.cart-header-drawer h2{margin:0;font-size:1.1rem}.close-btn{border-radius:var(--radius-md);transition:var(--transition);color:var(--fg-secondary);cursor:pointer;background:0 0;border:1px solid #ffffff1a;justify-content:center;align-items:center;padding:.35rem .75rem;font-size:.85rem;font-weight:500;display:flex}.close-btn:hover{color:#fff;background:#ffffff0d}.history-tabs{border-bottom:1px solid var(--border-color);background:#0f172ad9;flex-shrink:0;gap:.25rem;padding:.5rem 1rem 0;display:flex}.history-tab{color:var(--fg-secondary);cursor:pointer;transition:var(--transition);background:0 0;border:none;border-bottom:2px solid #0000;flex:1;justify-content:center;align-items:center;gap:.4rem;min-height:44px;margin-bottom:-1px;padding:.65rem .75rem;font-size:.9rem;font-weight:500;display:inline-flex}.history-tab:hover{color:var(--fg-primary)}.history-tab.active{color:var(--accent-primary);border-bottom-color:var(--accent-primary)}.history-tab-badge{background:var(--bg-elevated);min-width:1.35rem;height:1.35rem;color:var(--fg-secondary);border-radius:999px;justify-content:center;align-items:center;padding:0 .35rem;font-size:.75rem;font-weight:600;line-height:1;display:inline-flex}.history-tab.active .history-tab-badge{color:var(--accent-hover);background:#3b82f633}.history-repeat-row{padding:0 1rem .85rem}.history-repeat-btn{width:100%;min-height:44px;font-size:.95rem}.repeat-summary{color:#99f6e4;background:#0f766e26;border-bottom:1px solid #0f766e59;flex-shrink:0;align-items:flex-start;gap:.75rem;margin:0;padding:.75rem 1rem;font-size:.85rem;line-height:1.4;display:flex}.repeat-summary--catalog{border-radius:var(--radius-md);border:1px solid #0f766e59;grid-column:1/-1;margin:0 0 .5rem}.repeat-summary-text{white-space:pre-wrap;flex:1}.repeat-summary-dismiss{color:inherit;cursor:pointer;background:0 0;border:none;flex-shrink:0;min-height:44px;padding:0 .35rem;font-size:.8rem}.repeat-choice-overlay{z-index:320}.repeat-choice{z-index:321;background:var(--bg-surface-solid);border:1px solid var(--border-light);border-radius:var(--radius-md);width:calc(100% - 2rem);max-width:360px;padding:1.1rem 1rem 1rem;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.repeat-choice h3{margin:0 0 .5rem;font-size:1.05rem}.repeat-choice p{color:var(--fg-secondary);margin:0 0 1rem;font-size:.9rem;line-height:1.4}.repeat-choice-actions{flex-direction:column;gap:.5rem;display:flex}.repeat-choice-actions .primary-button,.repeat-choice-actions .secondary-button{width:100%;min-height:44px}.cart-items-drawer{flex-direction:column;flex:1;gap:1rem;padding:1rem;display:flex;overflow-y:auto}.cart-item-card{background:var(--bg-elevated-solid);border:1px solid var(--border-light);border-radius:var(--radius-md);flex-direction:column;gap:.75rem;padding:1rem;display:flex}.cart-item-main{gap:.75rem;min-width:0;padding-right:2rem;display:flex;position:relative}.cart-item-photo{object-fit:contain;border-radius:var(--radius-md);background-color:#fff;flex-shrink:0;width:48px;height:48px;display:block}.cart-item-photo--empty{background-color:var(--bg-surface);color:var(--fg-muted);justify-content:center;align-items:center;font-size:.6rem;display:flex}.cart-item-info{flex:1;min-width:0}.cart-item-info h4{color:var(--fg-primary);overflow-wrap:anywhere;margin:0 0 .25rem;font-size:.95rem;line-height:1.3}.cart-item-price{color:var(--accent-primary);font-size:.85rem;font-weight:600}.cart-item-hint{color:var(--fg-muted);margin-top:.15rem;font-size:.72rem;line-height:1.35}.cart-item-remove{color:var(--fg-muted);cursor:pointer;background:0 0;border:none;padding:0 .25rem;font-size:1.25rem;line-height:1;position:absolute;top:0;right:0}.cart-item-bottom{justify-content:space-between;align-items:center;gap:.5rem;min-width:0;display:flex}.cart-item-line-total{white-space:nowrap;font-weight:600}.cart-footer-total{justify-content:space-between;align-items:baseline;gap:.75rem;margin-bottom:.35rem;display:flex}.cart-footer-total-label{color:var(--fg-secondary);min-width:0;font-size:.85rem}.cart-footer-total-value{color:#fff;white-space:nowrap;font-size:1.05rem;font-weight:700}.cart-footer-pack{color:var(--fg-muted);margin-bottom:.45rem;font-size:.75rem;line-height:1.35}.cart-qty-controls{border-radius:var(--radius-sm);background:#0003;align-items:center;gap:1rem;width:fit-content;padding:.25rem;display:flex}.qty-btn{border-radius:var(--radius-md);width:32px;height:32px;transition:var(--transition);background:#ffffff0d;justify-content:center;align-items:center;font-weight:700;display:flex}.qty-btn:hover{background:#ffffff26}.qty-input{text-align:center;color:#fff;background:0 0;border:none;width:48px;font-family:inherit;font-size:1rem;font-weight:600}.qty-input:focus{border-bottom:1px solid var(--accent-primary);outline:none}.qty-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.qty-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.qty-input[type=number]{-moz-appearance:textfield}.cart-footer-drawer{border-top:1px solid var(--border-color);background:#0f172af2;flex-direction:column;gap:.5rem;padding:1rem;display:flex}.cart-price-type-picker{border:1px solid var(--border-light);border-radius:var(--radius-sm);background:#0000002e;margin:0 0 .75rem;padding:.65rem .75rem}.cart-price-type-picker-label{color:var(--fg-secondary);letter-spacing:.01em;margin-bottom:.45rem;font-size:.75rem;font-weight:600}.cart-price-type-options{flex-direction:column;gap:.35rem;display:flex}.cart-price-type-option{border-radius:var(--radius-sm);cursor:pointer;color:var(--fg-primary);background:#ffffff08;border:1px solid #ffffff14;align-items:center;gap:.5rem;padding:.45rem .55rem;font-size:.85rem;transition:border-color .15s,background .15s;display:flex}.cart-price-type-option input{accent-color:var(--accent-primary);margin:0}.cart-price-type-option.is-active{background:#3b82f61f;border-color:#60a5fa8c}.cart-footer-drawer textarea{border:1px solid var(--border-light);border-radius:var(--radius-sm);color:#fff;resize:vertical;background:#0003;margin:0;padding:.5rem;font-family:inherit;font-size:.85rem}.cart-footer-drawer textarea:focus{border-color:var(--accent-primary);outline:none}.spinner{border:3px solid #ffffff1a;border-top-color:var(--accent-primary);border-radius:50%;width:40px;height:40px;animation:1s ease-in-out infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.catalog-loading{flex-direction:column;justify-content:center;align-items:center;gap:1rem;min-height:100dvh;display:flex}.catalog-loading-text{color:var(--fg-primary);font-weight:500}.login-container{justify-content:center;align-items:center;min-height:100vh;padding:1rem;display:flex}.login-box{background:var(--bg-surface-solid);border-radius:var(--radius-lg);width:100%;max-width:420px;box-shadow:var(--shadow-lg);border:1px solid var(--border-light);padding:2.5rem}.custom-select-container{flex:1;min-width:140px;position:relative}.custom-select-trigger{text-align:left;justify-content:space-between;align-items:center;width:100%;display:flex}.custom-select-overlay{z-index:100;position:fixed;inset:0}.custom-select-dropdown{background-color:var(--bg-surface-solid);border:1px solid var(--border-light);border-radius:var(--radius-md);width:100%;min-width:250px;box-shadow:var(--shadow-lg);z-index:101;flex-direction:column;max-height:350px;animation:.2s ease-out fadeIn;display:flex;position:absolute;top:calc(100% + .5rem);left:0;overflow:hidden}.custom-select-dropdown.align-right{left:auto;right:0}.custom-select-header{border-bottom:1px solid var(--border-light);background:var(--bg-elevated);gap:.5rem;padding:.5rem;display:flex}.custom-select-search{background-color:var(--bg-base);border:1px solid var(--border-color);color:var(--fg-primary);border-radius:var(--radius-sm);flex:1;padding:.5rem;font-size:.85rem}.custom-select-search:focus{border-color:var(--accent-primary);outline:none}.custom-select-options{flex-direction:column;flex:1;padding:.25rem 0;display:flex;overflow-y:auto}.custom-select-option{text-align:left;color:var(--fg-primary);transition:var(--transition);background:0 0;border-radius:0;padding:.6rem 1rem;font-size:.85rem}.custom-select-option:hover{background-color:#ffffff0d}.custom-select-option.selected{color:var(--accent-hover);background-color:#3b82f633;font-weight:600}.custom-select-footer{background:var(--bg-elevated)}html,body{overflow-x:hidden}@media (width<=640px){.product-image{padding:.25rem!important}.product-grid{grid-template-columns:repeat(2,1fr);gap:.5rem;padding:.5rem .5rem 90px}.catalog-header{padding:.5rem}.catalog-header-top{flex-direction:row;justify-content:space-between;align-items:center;gap:.4rem;margin-bottom:.35rem}.catalog-container:has(.assembly-detail) .catalog-header{padding:.22rem .45rem}.catalog-container:has(.assembly-detail) .catalog-header-top{flex-direction:row;align-items:center;gap:.3rem;margin-bottom:0}.catalog-container:has(.assembly-detail) .catalog-title{display:none}.catalog-container:has(.assembly-detail) .catalog-header-nav{justify-content:flex-start;width:100%}.catalog-header-top:has(.catalog-back-btn) .catalog-title{display:none}.catalog-header-nav{justify-content:flex-start;gap:.35rem;width:100%}.catalog-header-btn{padding:.3rem .55rem!important;font-size:.75rem!important}.catalog-header-btn-secondary{opacity:.9}.plastic-remainder{margin:0 0 .45rem;font-size:.7rem}.search-input{padding:.4rem .75rem;font-size:.9rem}.filters-container{gap:.5rem;margin-top:.5rem}.filter-select{min-width:calc(50% - .25rem);padding:.4rem 2rem .4rem .75rem;font-size:.8rem}.product-info{padding:.5rem}.product-name{margin-bottom:.25rem;font-size:.75rem;line-height:1.25}.price-value{font-size:.85rem}.price-label{font-size:.65rem}.price-row{flex-wrap:wrap;gap:.25rem}h1.catalog-title{margin-bottom:0;font-size:1.1rem}.qty-input{width:28px!important;padding:0!important;font-size:.8rem!important}.qty-btn{width:22px!important;height:22px!important;font-size:.75rem!important}.primary-button{padding:.4rem;font-size:.8rem}.product-stock{gap:.1rem;min-height:calc(2.6em + .1rem);margin-bottom:.5rem;font-size:.7rem;line-height:1.3}.product-card-actions{min-height:2.75rem}.product-card-actions .primary-button{min-height:2.75rem;padding:.35rem .4rem;font-size:.75rem}.product-card-actions .cart-qty-controls{min-height:2.75rem}.cart-fab{padding:.75rem 1rem;font-size:1rem;bottom:.75rem;left:.75rem;right:.75rem}.cart-header-drawer{padding:.4rem .75rem!important}.cart-items-drawer,.cart-footer-drawer{padding:.75rem!important}}.login-page{flex-direction:column;justify-content:center;align-items:center;min-height:100dvh;padding:1.5rem 1rem 6rem;display:flex}.login-card{background:var(--bg-surface-solid);border:1px solid var(--border-color);border-radius:var(--radius-md);width:100%;max-width:400px;box-shadow:var(--shadow-md);padding:2rem}.login-title{text-align:center;color:var(--fg-primary);margin-bottom:1.5rem}.login-form{flex-direction:column;gap:1rem;display:flex}.login-field{flex-direction:column;gap:.5rem;display:flex}.login-field label{color:var(--fg-secondary);font-size:.875rem}.login-field .search-input{width:100%}.login-error{color:var(--danger);text-align:center;font-size:.875rem}.login-policy-check{color:var(--fg-secondary);cursor:pointer;align-items:flex-start;gap:.6rem;font-size:.8rem;line-height:1.4;display:flex}.login-policy-check input{flex-shrink:0;margin-top:.15rem}.legal-inline-link,.cookie-notice-link{color:var(--accent-hover);font:inherit;cursor:pointer;background:0 0;border:none;padding:0;text-decoration:underline}.legal-page{min-height:100vh;padding:1.25rem 1rem 7rem}.legal-page-inner{background:var(--bg-surface-solid);border:1px solid var(--border-color);border-radius:var(--radius-md);max-width:720px;box-shadow:var(--shadow-md);margin:0 auto;padding:1.5rem}.legal-back-btn{color:var(--accent-hover);margin-bottom:1rem;padding:.25rem 0;font-size:.9rem}.legal-title{margin-bottom:.35rem;font-size:1.35rem}.legal-meta{color:var(--fg-muted);margin-bottom:1.5rem;font-size:.85rem}.legal-section{margin-bottom:1.25rem}.legal-section h2{color:var(--fg-primary);margin-bottom:.5rem;font-size:1rem}.legal-section p{color:var(--fg-secondary);margin-bottom:.45rem;font-size:.9rem}.legal-bottom-btn{width:100%;margin-top:.5rem}.cookie-notice{z-index:2000;border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0f172af5;flex-wrap:wrap;align-items:center;gap:.75rem 1rem;padding:1rem 1.1rem;display:flex;position:fixed;bottom:1rem;left:1rem;right:1rem}.cookie-notice-text{color:var(--fg-secondary);flex:240px;margin:0;font-size:.85rem;line-height:1.45}.cookie-notice-btn{flex:none;min-width:110px}@media (width<=640px){.cookie-notice{flex-direction:column;align-items:stretch;bottom:.75rem;left:.75rem;right:.75rem}.cookie-notice-btn{width:100%}}.barcode-scanner-overlay{z-index:1200;background:var(--bg-base,#020617);box-sizing:border-box;justify-content:stretch;align-items:stretch;padding:0;display:flex;position:fixed;inset:0}.barcode-scanner-panel{background:var(--bg-surface-solid,#0f172a);width:100%;max-width:none;height:100%;max-height:none;color:var(--fg-primary,#fff);box-shadow:none;border-radius:0;flex-direction:column;display:flex;overflow:hidden}.barcode-scanner-header{z-index:5;background:var(--bg-surface-solid,#0f172a);border-bottom:1px solid var(--border-color,#ffffff1f);flex-shrink:0;justify-content:space-between;align-items:center;gap:.5rem;padding:.55rem 1rem;display:flex;position:sticky;top:0}.barcode-scanner-header h2{margin:0;font-size:.95rem}.barcode-scanner-header-actions{flex-shrink:0;align-items:center;gap:.35rem;display:flex}.barcode-scanner-close{flex-shrink:0;min-height:2.25rem;padding:.3rem .7rem;font-size:.82rem;font-weight:600;line-height:1.2}.barcode-scanner-body{-webkit-overflow-scrolling:touch;flex:1;min-height:0;padding:.75rem 1rem .7rem;overflow-y:auto}.barcode-scanner-quote-col.is-empty{display:none}.barcode-scanner-camera{aspect-ratio:16/9;border-radius:var(--radius-md);cursor:pointer;-webkit-tap-highlight-color:transparent;width:100%;height:auto;max-height:180px;color:inherit;font:inherit;text-align:center;background:#000;border:none;flex-shrink:0;margin-bottom:.35rem;padding:0;transition:max-height .2s,aspect-ratio .2s;display:block;position:relative;overflow:hidden}.barcode-scanner-panel.is-camera-expanded .barcode-scanner-camera,.barcode-scanner-camera.is-scanning{aspect-ratio:4/3;max-height:220px}.barcode-scanner-panel.has-result .barcode-scanner-camera{aspect-ratio:16/9;max-height:140px}.barcode-scanner-camera:disabled{cursor:not-allowed}.barcode-scanner-camera.is-scanning{cursor:default}.barcode-scanner-video{object-fit:cover;object-position:center;background:#000;width:100%;height:100%;transition:filter .2s;display:block}.barcode-scanner-camera.is-paused .barcode-scanner-video{filter:blur(6px)brightness(.55)}.barcode-scanner-camera-placeholder{text-align:center;color:#cbd5e1;pointer-events:none;background:#0f172a;justify-content:center;align-items:center;padding:.5rem .75rem;font-size:.85rem;font-weight:600;display:flex;position:absolute;inset:0}.barcode-scanner-tap-overlay{z-index:3;pointer-events:none;background:#0f172a73;justify-content:center;align-items:center;padding:.5rem;display:flex;position:absolute;inset:0}.barcode-scanner-tap-label{color:#f8fafc;letter-spacing:.01em;background:#0000009e;border-radius:999px;max-width:90%;padding:.45rem .85rem;font-size:.85rem;font-weight:600;line-height:1.25;box-shadow:0 2px 12px #00000059}.barcode-scanner-frame{z-index:2;border-radius:var(--radius-md);pointer-events:none;border:2px solid #2dd4bfb3;position:absolute;inset:6px}.barcode-camera-active-label{z-index:2;border-radius:var(--radius-md);color:#e2e8f0;white-space:nowrap;text-overflow:ellipsis;pointer-events:none;background:#0000008c;max-width:calc(100% - 1.2rem);padding:.25rem .5rem;font-size:.72rem;line-height:1.2;position:absolute;bottom:.6rem;left:.6rem;overflow:hidden}.barcode-camera-disclosure-toggle{appearance:none;color:var(--fg-secondary,#94a3b8);cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;min-height:2.25rem;padding:.35rem .4rem;font-size:.78rem;font-weight:500;line-height:1.2}.barcode-camera-disclosure-toggle:hover,.barcode-camera-disclosure-toggle[aria-expanded=true]{color:var(--fg-primary,#e2e8f0)}.barcode-camera-picker{flex-direction:column;flex-shrink:0;gap:.35rem;width:100%;margin-bottom:.4rem;display:flex}.barcode-camera-picker-row{align-items:stretch;gap:.45rem;display:flex}.barcode-camera-select{flex:1;min-width:0}.barcode-camera-picker-row .searchable-select-trigger{background:var(--bg-surface,#ffffff0f);border:1px solid var(--border-light,#ffffff1f);border-radius:var(--radius-md);width:100%;min-height:36px;color:var(--fg-primary,#fff);cursor:pointer;justify-content:space-between;align-items:center;padding:.4rem .65rem;font-size:.82rem;display:flex}.barcode-camera-picker-row .searchable-select-value{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.barcode-camera-picker-row .searchable-dropdown{border-radius:var(--radius-md);color:#fff;background:#161a18;border:1px solid #ffffff29;overflow:hidden;box-shadow:0 12px 28px #00000073}.barcode-camera-picker-row .searchable-dropdown-search{border-bottom:1px solid #ffffff1a;padding:6px}.barcode-camera-picker-row .searchable-search-input{border-radius:var(--radius-sm);width:100%;color:#fff!important;background:#ffffff14!important;border:1px solid #ffffff2e!important;outline:none!important;margin:0!important;padding:6px 8px!important}.barcode-camera-picker-row .searchable-options{max-height:220px;overflow-y:auto}.barcode-camera-picker-row .searchable-option,.barcode-camera-picker-row .searchable-option-empty{cursor:pointer;padding:8px 12px}.barcode-camera-picker-row .searchable-option:hover{background:#ffffff14}.barcode-camera-picker-row .searchable-option.selected{background:#1f6f5b66}.barcode-camera-picker-row .searchable-option-empty{color:#ffffff8c;cursor:default;text-align:center}.barcode-camera-cycle{white-space:nowrap;flex-shrink:0;padding:.4rem .65rem;font-size:.82rem}.barcode-wedge-input{background-color:var(--bg-elevated-solid,#1e293b);border:1px solid var(--border-color,#ffffff29);margin-bottom:.45rem;font-size:1.15rem}.barcode-scanner-hint,.barcode-scanner-status{color:var(--fg-secondary,#94a3b8);margin:0 0 .45rem;font-size:.8rem}.barcode-scanner-error{color:#fecaca;border-radius:var(--radius-md);background:#ef444426;border:1px solid #ef444466;margin-bottom:.45rem;padding:.45rem .65rem;font-size:.82rem}.barcode-scanner-error-inline{width:100%;margin:0}.barcode-result-panel{border-radius:var(--radius-md);border:1px solid var(--border-color,#ffffff1f);background:var(--bg-elevated-solid,#1e293b);flex-direction:column;justify-content:flex-start;min-height:0;display:flex;overflow:hidden}.barcode-result-placeholder{text-align:center;min-height:0;color:var(--fg-secondary,#94a3b8);flex:1;justify-content:center;align-items:center;padding:.55rem .75rem;font-size:.82rem;line-height:1.35;display:flex}.barcode-result-placeholder.is-thin{flex:none;min-height:0;padding:.35rem .65rem;font-size:.78rem}.barcode-result-panel .barcode-scanner-error-inline{width:auto;margin:.55rem}.barcode-result-body .barcode-scanner-error-inline{width:100%;margin:.2rem 0;padding:.3rem .4rem;font-size:.75rem}.barcode-result-card{box-sizing:border-box;flex-direction:column;gap:.35rem;min-height:0;padding:.45rem .55rem;display:flex}.barcode-result-top{align-items:flex-start;gap:.55rem;display:flex}.barcode-result-image{object-fit:cover;border-radius:var(--radius-md);background:#0f172a;flex-shrink:0;width:64px;height:64px}.barcode-result-image-empty{color:var(--fg-muted,#64748b);justify-content:center;align-items:center;font-size:.68rem;display:flex}.barcode-result-body{flex:1;min-width:0}.barcode-result-body .product-sku{margin-bottom:.1rem;font-size:.7rem;line-height:1.2}.barcode-result-body .product-name{-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-bottom:.15rem;font-size:.78rem;font-weight:600;line-height:1.25;display:-webkit-box;overflow:hidden}.barcode-result-body .product-stock{min-height:0;margin-top:.25rem;margin-bottom:0;font-size:.72rem;line-height:1.25}.barcode-result-code{color:var(--fg-secondary,#94a3b8);word-break:break-all;margin:.1rem 0 .15rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.7rem;line-height:1.25}.barcode-result-card .product-prices{border-radius:var(--radius-md);gap:.12rem;margin-top:0;margin-bottom:0;padding:.35rem .45rem}.barcode-result-card .price-label{font-size:.68rem;line-height:1.2}.barcode-result-card .price-value{font-size:.92rem;line-height:1.2}.barcode-result-actions{flex-wrap:nowrap;gap:.4rem;margin-top:0;display:flex}.barcode-result-actions .primary-button,.barcode-result-actions .secondary-button{min-width:0;min-height:2.5rem;box-shadow:none;flex:1 1 0;padding:.35rem .55rem;font-size:.85rem}.barcode-result-actions .primary-button:hover:not(:disabled){transform:none}.barcode-qty-block{flex-direction:column;gap:.25rem;margin-top:0;display:flex}.barcode-qty-label{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.barcode-qty-controls{align-items:stretch;gap:.35rem;display:flex}.barcode-qty-step{border:1px solid var(--border-light,#ffffff24);border-radius:var(--radius-md);background:var(--bg-surface,#ffffff0f);width:2.5rem;min-width:2.5rem;min-height:2.5rem;color:var(--fg-primary,#fff);cursor:pointer;-webkit-tap-highlight-color:transparent;font-size:1.25rem;font-weight:600;line-height:1}.barcode-qty-step-sm{border-radius:var(--radius-md);width:1.875rem;min-width:1.875rem;min-height:1.875rem;padding:0;font-size:1rem}.barcode-qty-input{text-align:center;border-radius:var(--radius-md);border:1px solid var(--border-light,#ffffff24);min-width:0;color:var(--fg-primary,#fff);-moz-appearance:textfield;background:#00000040;flex:1;min-height:2.5rem;padding:.25rem .4rem;font-size:1.1rem;font-weight:700}.barcode-qty-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.barcode-qty-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.barcode-qty-input-sm{border-radius:var(--radius-md);flex:0 0 2.25rem;width:2.25rem;min-height:1.875rem;padding:.15rem .2rem;font-size:.88rem}.barcode-qty-chips{flex-wrap:wrap;gap:.3rem;display:flex}.barcode-qty-chip{border-radius:var(--radius-md);border:1px solid var(--border-light,#ffffff24);min-width:2.5rem;min-height:2.5rem;color:var(--fg-primary,#fff);cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;padding:.3rem .55rem;font-size:.85rem;font-weight:600}.barcode-qty-chip.is-active{color:#99f6e4;background:#2dd4bf2e;border-color:#2dd4bf8c}.barcode-add-quote-btn.is-added{background:#0f766e}.barcode-quote-list{border-radius:var(--radius-md);border:1px solid var(--border-color,#ffffff1f);background:var(--bg-elevated-solid,#1e293b);margin-top:.5rem;overflow:hidden}.barcode-quote-list-head{border-bottom:1px solid var(--border-light,#ffffff14);justify-content:space-between;align-items:center;gap:.5rem;padding:.4rem .6rem;display:flex}.barcode-quote-list-head h3{margin:0;font-size:.85rem}.barcode-quote-clear{color:#fda4af;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;padding:.25rem 0;font-size:.8rem;font-weight:600}.barcode-quote-items{margin:0;padding:0;list-style:none}.barcode-quote-item{border-bottom:1px solid var(--border-light,#ffffff0f);align-items:center;gap:.35rem;padding:.4rem .55rem;display:flex}.barcode-quote-item:last-child{border-bottom:none}.barcode-quote-item-main{flex:1;min-width:0}.barcode-quote-item-sku{color:var(--fg-secondary,#94a3b8);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.72rem}.barcode-quote-item-name{-webkit-line-clamp:2;word-break:break-word;-webkit-box-orient:vertical;font-size:.68rem;font-weight:600;line-height:1.28;display:-webkit-box;overflow:hidden}.barcode-quote-item-controls{flex-shrink:0;align-items:center;gap:.18rem;display:flex}.barcode-quote-remove{border-radius:var(--radius-md);color:#fecaca;cursor:pointer;-webkit-tap-highlight-color:transparent;background:#ef44441f;border:none;width:1.875rem;min-width:1.875rem;min-height:1.875rem;padding:0;font-size:1.1rem;line-height:1}.barcode-quote-footer{z-index:6;padding:.65rem 1rem;padding-bottom:max(.65rem, env(safe-area-inset-bottom));background:var(--bg-surface-solid,#0f172a);border-top:1px solid var(--border-color,#ffffff1f);box-shadow:none;flex-direction:column;flex-shrink:0;gap:.4rem;display:flex;position:sticky;bottom:0}.barcode-quote-footer.is-empty{padding:.4rem .75rem;padding-bottom:max(.4rem, env(safe-area-inset-bottom));box-shadow:none;gap:0}.barcode-quote-footer-empty{justify-content:space-between;align-items:center;gap:.65rem;display:flex}.barcode-quote-footer.is-empty .barcode-open-cart-btn{flex-shrink:0;width:auto;min-height:2.1rem;padding:.35rem .75rem;font-size:.82rem}.barcode-quote-footer-main{grid-template-columns:minmax(0,1fr) max-content;grid-template-areas:"meta totals""pack totals";align-items:start;gap:.15rem .85rem;display:grid}.barcode-quote-footer-meta{color:var(--fg-secondary,#94a3b8);grid-area:meta;padding-bottom:0;font-size:.72rem}.barcode-quote-footer-pack{min-width:0;color:var(--fg-muted,#94a3b8);overflow-wrap:anywhere;grid-area:pack;font-size:.72rem;line-height:1.3}.barcode-quote-footer-totals{flex-direction:column;grid-area:totals;align-items:flex-end;gap:.1rem;min-width:max-content;display:flex}.barcode-open-cart-btn{width:100%;min-height:2.5rem;box-shadow:none;justify-content:center;padding:.45rem .85rem;font-size:.9rem}.barcode-open-cart-btn:disabled{opacity:.45;cursor:not-allowed}.barcode-quote-total-row{justify-content:flex-end;align-items:baseline;gap:.55rem;max-width:100%;display:flex}.barcode-quote-total-row.is-selected .barcode-quote-total-label{color:var(--accent-primary,#60a5fa);font-weight:600}.barcode-quote-total-label{color:var(--fg-secondary,#94a3b8);white-space:nowrap;text-overflow:ellipsis;max-width:9rem;font-size:.7rem;overflow:hidden}.barcode-quote-total-value{font-variant-numeric:tabular-nums;white-space:nowrap;font-size:.95rem;font-weight:700}@media (width>=641px){.barcode-scanner-overlay{align-items:stretch;padding:0}.barcode-scanner-panel{max-width:none;height:100%;max-height:none;box-shadow:none;border-radius:0}.barcode-scanner-camera{aspect-ratio:16/9;max-height:220px}.barcode-scanner-panel.is-camera-expanded .barcode-scanner-camera,.barcode-scanner-camera.is-scanning{aspect-ratio:4/3;max-height:280px}.barcode-scanner-panel.has-result .barcode-scanner-camera{aspect-ratio:16/9;max-height:180px}.barcode-result-image{width:96px;height:96px}.barcode-result-body .product-name{font-size:.95rem}.barcode-quote-item-name{font-size:.82rem}.barcode-quote-footer-meta{font-size:.85rem}.barcode-quote-total-value{font-size:1.1rem}}.academy-shell{max-width:720px;min-height:100vh;margin:0 auto;padding:1rem 1rem 2.5rem}.academy-hero{border-radius:var(--radius-lg);border:1px solid var(--border-color);background:radial-gradient(circle at 90% 10%,#38bdf847,#0000 45%),linear-gradient(145deg,#0b1224 0%,#12304f 55%,#0f766e 140%);margin-bottom:1.25rem;padding:1.25rem 1.15rem 1.5rem;position:relative;overflow:hidden}.academy-kicker{color:#7dd3fc;letter-spacing:.08em;text-transform:uppercase;margin:.75rem 0 .25rem;font-size:.78rem;font-weight:600}.academy-title{letter-spacing:-.03em;margin:0;font-size:clamp(1.75rem,6vw,2.25rem);line-height:1.15}.academy-tagline{color:#dbeafe;max-width:34rem;margin:.65rem 0 0;font-size:.98rem}.academy-exit{min-height:44px;padding:.55rem .9rem!important;font-size:.9rem!important}.academy-topbar{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:1rem;display:flex}.academy-back{border-radius:var(--radius-md);background:var(--bg-elevated);border:1px solid var(--border-color);min-height:44px;color:var(--fg-primary);padding:.55rem .85rem;font-weight:600}.academy-section{margin-bottom:1.5rem}.academy-section-title{color:var(--fg-secondary);margin:0 0 .75rem;font-size:1rem}.academy-cards{flex-direction:column;gap:.85rem;display:flex}.academy-card{text-align:left;border-radius:var(--radius-lg);background:var(--bg-surface-solid);border:1px solid var(--border-color);flex-direction:column;min-height:44px;transition:border-color .2s,transform .2s;display:flex;overflow:hidden}.academy-card:active{transform:scale(.995)}.academy-card-cover{object-fit:cover;background:#0f172a;width:100%;height:120px;display:block}.academy-card-cover--empty{background:linear-gradient(120deg,#1e293b,#0ea5e9)}.academy-card-body{padding:.9rem 1rem 1.05rem}.academy-card-body h3{margin:0 0 .35rem;font-size:1.05rem}.academy-card-body p{color:var(--fg-secondary);margin:0;font-size:.9rem}.academy-state{text-align:center;color:var(--fg-secondary);padding:1.25rem}.academy-error{color:#fecaca;border-radius:var(--radius-md);background:#ef44441f;margin-bottom:1rem}.academy-article{background:var(--bg-surface-solid);border:1px solid var(--border-color);border-radius:var(--radius-lg);overflow:hidden}.academy-cover{object-fit:cover;width:100%;max-height:180px;display:block}.academy-article-meta{color:#7dd3fc;letter-spacing:.06em;text-transform:uppercase;padding:.85rem 1rem 0;font-size:.78rem;font-weight:600}.academy-md{padding:.5rem 1rem 1.4rem}.academy-md h1{margin:.4rem 0 .75rem;font-size:1.45rem}.academy-md h2{margin:1.1rem 0 .5rem;font-size:1.15rem}.academy-md h3{margin:.9rem 0 .4rem;font-size:1.02rem}.academy-p{color:var(--fg-secondary);margin:0 0 .75rem;font-size:1rem;line-height:1.55}.academy-list{color:var(--fg-secondary);margin:0 0 .9rem 1.1rem}.academy-list li{margin-bottom:.35rem;line-height:1.45}.academy-quote{border-radius:0 var(--radius-md) var(--radius-md) 0;background:#38bdf814;border-left:3px solid #38bdf8;margin:.85rem 0;padding:.85rem 1rem}.academy-quote p{color:#e2e8f0;margin:0}.academy-table-wrap{-webkit-overflow-scrolling:touch;margin:.75rem 0 1rem;overflow-x:auto}.academy-table{border-collapse:collapse;width:100%;min-width:280px;font-size:.9rem}.academy-table th,.academy-table td{border:1px solid var(--border-color);text-align:left;vertical-align:top;padding:.55rem .65rem}.academy-table th{background:#1e293bcc}.academy-inline-img{border-radius:var(--radius-md);max-width:100%;margin:.5rem 0 .85rem}.academy-md code{background:#94a3b826;border-radius:4px;padding:.1em .35em;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.88em}.academy-md a{color:#7dd3fc;text-decoration:underline}.catalog-header-btn-active{box-shadow:0 0 0 2px var(--accent-primary)}body:has(.assembly-detail){overflow:hidden}.catalog-container:has(.assembly-detail){height:100dvh;overflow:hidden}.catalog-container:has(.assembly-detail) .catalog-header{flex:none}.assembly-page{min-height:60vh;padding:.7rem .85rem 1.25rem}.assembly-page-sheet{flex-direction:column;flex:1;min-height:0;padding:.12rem .45rem 0;display:flex;overflow:hidden}.assembly-hid{opacity:.01;border:0;width:1px;height:1px;padding:0;position:absolute}.assembly-title{margin:.2rem 0 .4rem;font-size:1.15rem}.assembly-list-head{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.65rem;display:flex}.assembly-list-head .assembly-title{flex:1;margin:0}.assembly-checked-toggle{flex:none;min-width:0;height:2.2rem;padding:0 .45rem 0 .6rem;font-size:.78rem}.assembly-hint{color:var(--fg-secondary);margin-bottom:.5rem;font-size:.9rem}.assembly-error{color:#fecaca;border-radius:var(--radius-md);background:#ef444426;border:1px solid #ef444466;margin-bottom:.75rem;padding:.75rem 1rem;font-size:1rem}.assembly-sheet-list{flex-direction:column;gap:.65rem;list-style:none;display:flex}.assembly-sheet-card{text-align:left;background:var(--bg-surface-solid);border:1px solid var(--border-color);border-radius:var(--radius-md);width:100%;min-height:0;padding:.7rem .85rem}.assembly-sheet-label{font-size:1.15rem;font-weight:600;display:block}.assembly-sheet-client{color:var(--fg-primary);margin-top:.2rem;font-size:.92rem;font-weight:600;line-height:1.3;display:block}.assembly-rescan-badge{color:#92400e;vertical-align:middle;background:#fef3c7;border-radius:999px;margin-left:.35rem;padding:.05rem .4rem;font-size:.75rem;font-weight:700;display:inline-block}.assembly-sheet-meta{color:var(--fg-muted);margin-top:.25rem;font-size:.95rem;display:block}.assembly-detail{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.assembly-detail-chrome{flex:none}.assembly-detail-scroll{-webkit-overflow-scrolling:touch;flex:1;min-height:0;overflow-y:auto}.assembly-detail-scroll .assembly-lines{flex:none;min-height:0;overflow:visible}.assembly-detail-bar{align-items:center;gap:.5rem;margin-bottom:.35rem;display:flex}.assembly-detail .assembly-title{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;margin:0;font-size:.82rem;overflow:hidden}.assembly-detail-actions{gap:.4rem;margin-bottom:.22rem;display:flex}.assembly-detail-actions .assembly-btn,.assembly-detail-actions .assembly-btn-ghost{flex:1 1 0;min-height:2.2rem;padding:.28rem .4rem;font-size:.82rem}.assembly-detail-bar .assembly-box-photo-btn{white-space:nowrap;flex:none;width:auto;min-width:4.6rem;min-height:2rem;margin-right:3px;padding:.22rem .95rem;font-size:.75rem}.assembly-totals{border-radius:var(--radius-md);border:1px solid #0000;flex-wrap:wrap;align-items:center;gap:.2rem .35rem;margin:0 0 .12rem;padding:.08rem .22rem;font-size:.82rem;font-weight:700;display:flex}.assembly-totals>span:first-child{flex:none}.assembly-totals-remain{color:var(--fg-secondary);flex:1;font-size:.82rem}.assembly-actions{gap:.65rem;margin-bottom:.85rem;display:flex}.assembly-btn{border-radius:var(--radius-md);background:var(--accent-primary);color:#fff;flex:1;min-height:3.1rem;padding:.7rem .9rem;font-size:1.05rem;font-weight:600}.assembly-btn-compact{flex:none;min-height:1.75rem;padding:.18rem .45rem;font-size:.72rem;font-weight:600}.assembly-btn:disabled{opacity:.4;cursor:not-allowed}.assembly-btn-ghost{border:1px solid var(--border-color);color:var(--fg-primary);background:0 0;flex:none}.assembly-btn.assembly-btn-ghost.assembly-btn-back{background:var(--bg-elevated-solid);border:1.5px solid #cbd5e1;flex:none;min-width:4.4rem;min-height:2.15rem;padding:.28rem .7rem;font-size:.82rem;font-weight:700}.assembly-detail-actions .assembly-btn-ghost{background:var(--bg-elevated-solid);border:1.5px solid #94a3b8}.assembly-detail-actions .assembly-btn.assembly-btn-ghost.assembly-undo-btn,.assembly-btn.assembly-btn-ghost.assembly-undo-btn{color:#fde68a;background:#fbbf2433;border:1.5px solid #fbbf24;flex:1 1 0;min-height:2.2rem;padding:.28rem .35rem;font-size:.78rem;font-weight:700}.assembly-btn.assembly-btn-ghost.assembly-minus-btn,.assembly-btn.assembly-btn-ghost.assembly-plus-btn,.assembly-btn.assembly-btn-ghost.assembly-plus-box-btn,.assembly-btn.assembly-btn-ghost.assembly-minus-box-btn{background:var(--bg-elevated-solid);border:1.5px solid #94a3b8;flex:1 1 0;min-width:0;min-height:2.05rem;padding:.22rem .35rem;font-size:.82rem;font-weight:700;line-height:1}.assembly-line-actions{gap:.28rem;margin-top:.22rem;display:flex}.assembly-lines{-webkit-overflow-scrolling:touch;flex-direction:column;flex:1;gap:.28rem;min-height:0;padding-bottom:.75rem;list-style:none;display:flex;overflow-y:auto}.assembly-line{background:var(--bg-surface-solid);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:.32rem .5rem .32rem .55rem}.assembly-line-row{align-items:center;gap:.55rem;display:flex}.assembly-line-body{flex:1;min-width:0}.assembly-sheet-card.is-partial,.assembly-line.is-partial,.assembly-totals.is-partial{background:#fca5a557;border-color:#f871718c}.assembly-sheet-card.is-done,.assembly-line.is-done,.assembly-totals.is-done{background:#86efac47;border-color:#4ade8080}.assembly-line.is-missing,.assembly-line.is-partial.is-missing,.assembly-line.is-done.is-missing{color:#1e293b;background:#fff4e5;border-color:#d9770673}.assembly-line.is-missing .assembly-line-sku,.assembly-line.is-missing .assembly-line-qty,.assembly-line.is-missing .assembly-line-name,.assembly-line.is-missing .assembly-line-remain,.assembly-line.is-missing .assembly-line-scan{color:#334155}.assembly-line-missing{color:#9a6700;margin:.08rem 0 0;font-size:.65rem;font-weight:700}.assembly-line-top{justify-content:space-between;align-items:baseline;gap:.4rem;display:flex}.assembly-line-sku{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.82rem;font-weight:700;overflow:hidden}.assembly-line-name{color:var(--fg-secondary);white-space:normal;overflow-wrap:anywhere;word-break:break-word;margin:.08rem 0 0;font-size:.72rem;line-height:1.3;overflow:visible}.assembly-line-scan,.assembly-totals-scan{color:var(--fg-muted);white-space:nowrap;font-size:.62rem;font-weight:500}.assembly-totals-scan{display:none}.assembly-line-qty{flex-shrink:0;align-items:center;gap:.35rem;font-size:.82rem;font-weight:700;display:flex}.assembly-fact-input{border-radius:var(--radius-md);width:4.6rem;min-height:2.5rem;font:inherit;text-align:right;color:var(--fg-primary);background:var(--bg-elevated-solid);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;border:1.5px solid #94a3b8;padding:.25rem .45rem;font-weight:700;box-shadow:inset 0 0 0 1px #ffffff0a}.assembly-fact-input:focus{border-color:var(--accent-primary);outline:none}.assembly-fact-input:disabled{opacity:.55}.assembly-line-remain{color:var(--fg-muted);font-size:.65rem;font-weight:600}.assembly-undo-last{overflow-wrap:anywhere;word-break:break-word;min-width:0;color:var(--fg-secondary);font-size:.68rem;font-weight:600;line-height:1.2}.assembly-camera{flex-shrink:0;margin-bottom:.28rem}.assembly-camera .barcode-camera-picker{margin-bottom:.1rem}.assembly-camera .barcode-camera-select{padding:.18rem .45rem;font-size:.72rem}.assembly-sound-toggle{flex:none;min-height:1.7rem;padding:.18rem .45rem;font-size:.72rem}.assembly-camera-zoom{color:#cbd5e1;flex:none;padding:.18rem .2rem;font-size:.72rem;font-weight:600}.assembly-camera-stage{border-radius:var(--radius-md);cursor:pointer;-webkit-tap-highlight-color:transparent;background:#000;border:0;width:100%;padding:0;display:block;position:relative;overflow:hidden}.assembly-camera-video{object-fit:cover;pointer-events:none;width:100%;height:128px;display:block}.assembly-camera-overlay{color:#fff;text-align:center;pointer-events:none;background:linear-gradient(#0000 40%,#020617a6);justify-content:center;align-items:flex-end;padding:.35rem .5rem;font-size:.78rem;font-weight:600;display:flex;position:absolute;inset:0}.assembly-camera-stage.is-armed .assembly-camera-overlay{font-size:.8rem}.assembly-confirm-overlay{z-index:40;background:#02061773;justify-content:center;align-items:flex-end;padding:1rem;display:flex;position:fixed;inset:0}.assembly-confirm-card{background:var(--bg-surface-solid);border:1px solid var(--border-color);border-radius:var(--radius-md);width:min(22rem,100%);padding:.9rem .85rem .85rem}.assembly-confirm-copy{text-align:center;margin:0 0 .7rem;font-size:1.15rem;font-weight:700}.assembly-confirm-actions{gap:.65rem;display:flex}.assembly-confirm-actions .assembly-btn{flex:1}.assembly-status{margin:0 0 .25rem;font-size:.82rem}.assembly-status.is-reserved{min-height:1.35rem;max-height:1.35rem;overflow:hidden}.assembly-status-reject{color:#fecaca;border-radius:var(--radius-md);overflow-wrap:anywhere;word-break:break-word;background:#ef444426;border:1px solid #ef444466;width:100%;max-height:1.35rem;padding:.12rem .4rem;font-size:.78rem;line-height:1.25;overflow-y:auto}.assembly-box-photos{margin:0 0 .15rem}.assembly-box-shutter-handle{border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-elevated-solid);width:100%;min-height:2.1rem;color:var(--fg-primary);margin:0 0 .2rem;padding:.28rem .5rem;font-size:.85rem;font-weight:650;line-height:1.2;display:block}.assembly-box-shutter.is-open .assembly-box-shutter-handle{border-bottom-right-radius:0;border-bottom-left-radius:0}.assembly-box-shutter.is-open .assembly-box-photo-strip{border:1px solid var(--border-color);border-radius:0 0 var(--radius-md) var(--radius-md);border-top:0;padding:.3rem}.assembly-box-photo-input{display:none}.assembly-box-photo-btn{white-space:normal;width:100%;min-height:2.2rem;margin-bottom:0;line-height:1.15}.assembly-box-photo-strip{gap:.35rem;padding-bottom:.15rem;display:flex;overflow-x:auto}.assembly-box-photo-thumb{border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-elevated-solid);flex:none;width:3.4rem;height:3.4rem;padding:0;position:relative;overflow:hidden}.assembly-box-photo-thumb.is-active{border:2px solid var(--accent-primary,#3b82f6)}.assembly-box-photo-thumb img{object-fit:cover;width:100%;height:100%;display:block}.assembly-box-photo-num{color:#fff;background:#0f172ab8;border-radius:999px;min-width:1rem;padding:0 .2rem;font-size:.68rem;line-height:1.2;position:absolute;bottom:2px;left:2px}.assembly-box-photo-view{z-index:40;background:#020617e0;flex-direction:column;justify-content:center;align-items:center;gap:.6rem;padding:.8rem;display:flex;position:fixed;inset:0}.assembly-box-photo-counter{color:#fff;background:#0f172ae0;border:1px solid #fff3;border-radius:999px;padding:.25rem .75rem;font-size:.82rem;font-weight:600}.assembly-box-photo-stage{justify-content:center;align-items:center;gap:.6rem;max-width:100%;display:flex}.assembly-box-photo-view img{object-fit:contain;border-radius:var(--radius-md);max-width:calc(100vw - 7rem);max-height:72vh}.assembly-box-photo-nav{border-radius:var(--radius-md);color:#fff;cursor:pointer;background:#0f172acc;border:1px solid #ffffff4d;flex:none;justify-content:center;align-items:center;width:2.6rem;height:3.4rem;font-size:1.75rem;line-height:1;display:inline-flex}.assembly-box-photo-nav:disabled{opacity:.3;cursor:default}.assembly-box-photo-view-actions{flex-wrap:wrap;gap:.5rem;width:min(28rem,100%);display:flex}.assembly-box-photo-view-actions .assembly-btn{flex:1}.assembly-box-photo-contents{border-radius:var(--radius-md);color:#f8fafc;background:#0f172aeb;border:1px solid #ffffff38;flex-direction:column;gap:.35rem;width:min(36rem,100vw - 2rem);padding:.45rem .7rem;font-size:.78rem;display:flex}.assembly-box-photo-contents-title{color:#5eead4;font-size:.74rem;font-weight:600}.assembly-box-photo-contents-list{flex-wrap:wrap;gap:.35rem;max-height:5.5rem;display:flex;overflow-y:auto}.assembly-box-photo-contents-chip{color:#fff;background:#ffffff1a;border:1px solid #ffffff2e;border-radius:6px;align-items:center;gap:.35rem;padding:.15rem .45rem;font-size:.75rem;display:inline-flex}.assembly-box-photo-contents-name{color:#cbd5e1;white-space:nowrap;text-overflow:ellipsis;max-width:11rem;overflow:hidden}.assembly-box-photo-contents-qty{color:#fde68a;font-weight:700}.assembly-line-photo-badges{flex-wrap:wrap;gap:.25rem;margin-top:.2rem;display:flex}.assembly-line-photo-badge{color:#5eead4;cursor:pointer;background:#0f766e2e;border:1px solid #2dd4bf8c;border-radius:999px;align-items:center;padding:.12rem .45rem;font-size:.7rem;font-weight:600;line-height:1.25;display:inline-flex}.assembly-line-photo-badge.is-unphotographed{color:#fcd34d;cursor:default;background:#b4530933;border-color:#fbbf248c}@media (width>=760px) and (orientation:landscape){.catalog-container:has(.assembly-detail) .catalog-header{display:none}.assembly-page{padding:.5rem .9rem 1rem}.assembly-page-sheet{padding:.35rem .7rem 0}.assembly-detail-chrome{flex-wrap:wrap;align-items:center;gap:.45rem .65rem;margin-bottom:.35rem;display:flex}.assembly-detail-bar{flex:18rem;min-width:0;margin-bottom:0}.assembly-detail .assembly-title{font-size:.95rem}.assembly-totals{flex:none;order:2;margin:0;padding:.25rem .6rem;font-size:.92rem}.assembly-totals-remain{flex:none;font-size:.88rem}.assembly-detail-actions{flex:none;order:3;gap:.4rem;margin-bottom:0}.assembly-detail-actions .assembly-btn,.assembly-detail-actions .assembly-btn-ghost,.assembly-detail-actions .assembly-btn.assembly-btn-ghost.assembly-undo-btn{flex:none;min-height:2.3rem;padding:.3rem .8rem;font-size:.86rem}.assembly-status{flex:1 0 100%;order:4;margin:0}.assembly-status:empty{display:none}.assembly-camera{flex:1 0 100%;order:5}.assembly-detail-scroll .assembly-lines{flex-direction:column;gap:.32rem;display:flex}.assembly-line{grid-template-columns:8.5rem minmax(8rem,1fr) 11.5rem 17.5rem;align-items:center;gap:.1rem .55rem;min-height:2.75rem;padding:.26rem .6rem;display:grid}.assembly-line-row,.assembly-line-body,.assembly-line-top{display:contents}.assembly-line-sku{grid-area:1/1;align-self:center;font-size:.88rem}.assembly-line-name{white-space:nowrap;text-overflow:ellipsis;grid-area:1/2;align-self:center;margin:0;font-size:.82rem;line-height:1.25;overflow:hidden}.assembly-line-missing{grid-area:2/2;margin:0}.assembly-line-scan{display:none}.assembly-line-qty{white-space:nowrap;grid-area:1/3;justify-content:flex-start;align-self:center;gap:.35rem;font-size:.88rem}.assembly-fact-input{box-sizing:border-box;width:3.8rem;height:2.15rem;min-height:2.15rem;max-height:2.15rem;padding:.15rem .4rem}.assembly-line-actions{grid-area:1/4;align-self:center;gap:.3rem;width:100%;margin-top:0;display:flex}.assembly-btn.assembly-btn-ghost.assembly-minus-btn,.assembly-btn.assembly-btn-ghost.assembly-plus-btn,.assembly-btn.assembly-btn-ghost.assembly-plus-box-btn,.assembly-btn.assembly-btn-ghost.assembly-minus-box-btn{white-space:nowrap;flex:1 1 0;min-width:0;height:2.15rem;min-height:2.15rem;padding:0 .35rem;font-size:.82rem}}@media (width>=1100px) and (orientation:landscape){html.tablet-landscape:has(.catalog-container.is-tablet-landscape){height:100dvh;overflow:hidden}html.tablet-landscape:has(.catalog-container.is-tablet-landscape) body{height:100dvh;overflow:hidden}html.tablet-landscape:has(.catalog-container.is-tablet-landscape) #root{height:100dvh;overflow:hidden}html.tablet-landscape:has(.catalog-container.is-tablet-landscape) body{background-attachment:fixed}.catalog-container.is-tablet-landscape{grid-template-rows:auto minmax(0,1fr);grid-template-columns:minmax(0,1fr);max-width:none;height:100dvh;display:grid;overflow:hidden}.catalog-container.is-tablet-landscape:has(.catalog-cart-dock){grid-template-columns:minmax(0,1fr) 22rem}.catalog-container.is-tablet-landscape .catalog-header{z-index:30;background-color:var(--bg-surface-solid);-webkit-backdrop-filter:none;grid-column:1/-1;grid-template-columns:auto auto minmax(14rem,22rem) 1fr auto;grid-template-areas:"back title search nav actions""tools tools tools tools remainder";align-items:center;gap:.4rem .6rem;padding:.45rem .85rem .5rem;display:grid;position:relative;top:auto}.catalog-container.is-tablet-landscape .catalog-header-top{display:contents}.catalog-container.is-tablet-landscape .catalog-back-btn{grid-area:back}.catalog-container.is-tablet-landscape .catalog-title{grid-area:title;font-size:1.05rem;font-weight:700}.catalog-container.is-tablet-landscape .catalog-header-actions{grid-area:actions;margin-left:0}.catalog-container.is-tablet-landscape .catalog-header-btn-secondary{display:none}.catalog-container.is-tablet-landscape .catalog-header-nav{flex-wrap:nowrap;grid-area:nav;justify-content:flex-end}.catalog-container.is-tablet-landscape .catalog-search{grid-area:search;max-width:22rem;margin:0;padding:.45rem .75rem;font-size:.9rem}.catalog-container.is-tablet-landscape .plastic-remainder{white-space:nowrap;grid-area:remainder;justify-self:end;width:auto;margin:0;font-size:.78rem}.catalog-container.is-tablet-landscape .catalog-tools{grid-area:tools;align-items:center;gap:.4rem;width:auto;min-width:0;display:flex}.catalog-container.is-tablet-landscape .filters-container{flex:0 auto;gap:.4rem;min-width:0;margin:0;display:flex}.catalog-container.is-tablet-landscape .filters-container>*{flex:0 11rem;min-width:8.5rem;max-width:14rem}.catalog-container.is-tablet-landscape .catalog-sort{flex:0 0 12.5rem;width:12.5rem;margin:0}.catalog-container.is-tablet-landscape>main,.catalog-container.is-tablet-landscape .assembly-page{min-height:0;overflow:auto}.catalog-container.is-tablet-landscape .product-grid{grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch;gap:.85rem;padding:.85rem 1rem 1.1rem}.catalog-container.is-tablet-landscape .product-card{box-shadow:none}.catalog-container.is-tablet-landscape .product-card:hover{border-color:#ffffff2e;transform:none}.catalog-container.is-tablet-landscape .product-image{aspect-ratio:4/3;background-color:#f1f5f9;max-height:280px;padding:.75rem}.catalog-container.is-tablet-landscape .product-image--empty{color:#64748b;background-color:#e2e8f0;font-size:.72rem}.catalog-container.is-tablet-landscape .product-info{padding:.75rem .85rem .85rem}.catalog-container.is-tablet-landscape .product-name{-webkit-line-clamp:3;-webkit-box-orient:vertical;min-height:0;margin-bottom:.35rem;font-size:.95rem;line-height:1.3;display:-webkit-box;overflow:hidden}.catalog-container.is-tablet-landscape .product-reviews-link{margin-bottom:.35rem;font-size:.85rem}.catalog-container.is-tablet-landscape .product-stock{min-height:0;margin-bottom:.45rem;font-size:.85rem}.catalog-container.is-tablet-landscape .product-prices{gap:.2rem;min-height:0;margin-bottom:.55rem;padding:.55rem .65rem}.catalog-container.is-tablet-landscape .price-label{font-size:.78rem}.catalog-container.is-tablet-landscape .price-value{font-size:1.05rem}.catalog-container.is-tablet-landscape .product-card-actions,.catalog-container.is-tablet-landscape .product-card-actions .primary-button{min-height:2.6rem}.catalog-container.is-tablet-landscape .product-card-actions .primary-button{padding:.45rem .7rem;font-size:.95rem}.catalog-container.is-tablet-landscape .cart-fab{display:none}.catalog-container.is-tablet-landscape .catalog-cart-dock{z-index:20;width:auto;min-width:0;max-width:none;height:100%;min-height:0;box-shadow:none;border-left:1px solid var(--border-color);animation:none;position:relative;inset:auto}.catalog-container.is-tablet-landscape .catalog-cart-dock .cart-header-drawer{padding:.55rem .75rem}.catalog-container.is-tablet-landscape .catalog-cart-dock .cart-items-drawer{gap:.5rem;padding:.6rem}.catalog-container.is-tablet-landscape .catalog-cart-dock .cart-item-card{gap:.4rem;padding:.55rem .6rem}.catalog-container.is-tablet-landscape .catalog-cart-dock .cart-item-main{grid-template-columns:44px minmax(0,1fr) 1.6rem;align-items:start;gap:.45rem;padding-right:0;display:grid;position:static}.catalog-container.is-tablet-landscape .catalog-cart-dock .cart-item-photo,.catalog-container.is-tablet-landscape .catalog-cart-dock .cart-item-photo--empty{width:44px;height:44px}.catalog-container.is-tablet-landscape .catalog-cart-dock .cart-item-info h4{-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-bottom:.15rem;padding-bottom:0;font-size:.78rem;line-height:1.25;display:-webkit-box;overflow:hidden}.catalog-container.is-tablet-landscape .catalog-cart-dock .cart-item-price{font-size:.78rem}.catalog-container.is-tablet-landscape .catalog-cart-dock .cart-item-hint{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.catalog-container.is-tablet-landscape .catalog-cart-dock .cart-item-remove{border:1px solid var(--border-color);border-radius:var(--radius-sm);justify-content:center;align-items:center;width:1.6rem;height:1.6rem;font-size:1rem;display:inline-flex;position:static}.catalog-container.is-tablet-landscape .catalog-cart-dock .cart-qty-controls{gap:.2rem;padding:.1rem}.catalog-container.is-tablet-landscape .catalog-cart-dock .qty-btn{width:28px;height:28px}.catalog-container.is-tablet-landscape .catalog-cart-dock .qty-input{width:36px;font-size:.9rem}.catalog-container.is-tablet-landscape .catalog-cart-dock .cart-price-type-options{flex-flow:wrap}.catalog-container.is-tablet-landscape .catalog-cart-dock .cart-footer-drawer{padding:.65rem .75rem}.catalog-container.is-tablet-landscape .catalog-cart-dock .cart-footer-total{flex-wrap:wrap;align-items:flex-start}.catalog-container.is-tablet-landscape .catalog-cart-dock .cart-footer-total-label{flex:8rem;line-height:1.3}.catalog-container.is-tablet-landscape .catalog-header-btn{min-height:2.15rem;padding:.3rem .7rem!important;font-size:.8rem!important}.history-panel{border-radius:var(--radius-lg);width:min(72rem,100vw - 3rem);max-width:min(72rem,100vw - 3rem);height:auto;max-height:calc(100dvh - 2.5rem);top:1.25rem;bottom:1.25rem;left:50%;transform:translate(-50%)}.history-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid}.assembly-list{max-width:none}.product-reviews-overlay{align-items:center}.product-reviews-modal{border-radius:var(--radius-lg);width:min(48rem,100vw - 4rem);max-height:min(48rem,100dvh - 3rem)}.login-card{max-width:26rem;padding:2rem}.academy-shell{width:min(1400px,100vw - 2rem);max-width:none;height:100dvh;padding:1.25rem 1.5rem 2rem;overflow:auto}.academy-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem;display:grid}.academy-card-cover{height:140px}.academy-article{max-width:52rem}.photo-lightbox-img{max-width:80vw;max-height:88vh}.repeat-choice{max-width:28rem}.barcode-scanner-panel{grid-template-rows:auto minmax(0,1fr) auto;grid-template-columns:minmax(0,1fr) minmax(22rem,26rem);display:grid}.barcode-scanner-header{grid-column:1/-1;padding:.55rem 1rem}.barcode-scanner-header h2{font-size:1.05rem}.barcode-scanner-body{grid-column:1/-1;grid-template-columns:minmax(0,1fr) minmax(22rem,26rem);padding:0;display:grid;overflow:hidden}.barcode-scanner-stage{min-width:0;padding:.85rem 1rem;overflow:auto}.barcode-scanner-quote-col{border-left:1px solid var(--border-color);background:var(--bg-elevated-solid);min-width:0;padding:.85rem .9rem .4rem;overflow:auto}.barcode-scanner-quote-col.is-empty{color:var(--fg-muted);justify-content:center;align-items:center;display:flex}.barcode-scanner-quote-col.is-empty:before{content:"Расчёт появится после скана";font-size:.9rem}.barcode-wedge-input{min-height:2.75rem;font-size:1.15rem}.barcode-scanner-camera{max-height:240px}.barcode-result-image{width:88px;height:88px}.barcode-quote-footer{border-left:1px solid var(--border-color);grid-column:2}.barcode-quote-item-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.assembly-page{padding:.55rem .85rem .9rem}}@media (width>=1600px) and (orientation:landscape){.catalog-container.is-tablet-landscape:has(.catalog-cart-dock){grid-template-columns:minmax(0,1fr) 24rem}}
