: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:12px;--radius-md:12px;--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-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;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}.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-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-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-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-card-actions .cart-qty-controls{justify-content:center;width:100%;min-height:3rem}.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%}}@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-info h4{color:var(--fg-primary);margin-bottom:.25rem;font-size:.95rem}.cart-item-price{color:var(--accent-primary);font-weight:600}.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:column;align-items:stretch;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-container:has(.assembly-detail) .catalog-header-btn-secondary{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;padding:max(12vh, env(safe-area-inset-top,0px)) 0 0;box-sizing:border-box;background:#000000b8;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.barcode-scanner-panel{background:var(--bg-elevated,#1a1f2e);border-radius:var(--radius-md) var(--radius-md) 0 0;width:100%;max-width:560px;height:100%;max-height:min(88vh,100dvh);color:var(--fg-primary,#fff);flex-direction:column;display:flex;overflow:hidden;box-shadow:0 -8px 32px #00000059}.barcode-scanner-header{z-index:5;background:var(--bg-elevated,#1a1f2e);border-bottom:1px solid var(--border-light,#ffffff14);flex-shrink:0;justify-content:space-between;align-items:center;gap:.5rem;padding:.45rem .75rem;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:.5rem .75rem .55rem;overflow-y:auto}.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{appearance:none;background:var(--bg-surface,#ffffff0f);border:1px solid var(--border-light,#ffffff1f);border-radius:var(--radius-md);min-width:0;color:var(--fg-primary,#fff);flex:1;padding:.4rem .65rem;font-size:.82rem}.barcode-camera-cycle{white-space:nowrap;flex-shrink:0;padding:.4rem .65rem;font-size:.82rem}.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-light,#ffffff14);background:var(--bg-surface,#ffffff08);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-light,#ffffff14);background:var(--bg-surface,#ffffff08);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:.5rem .75rem;padding-bottom:max(.5rem, env(safe-area-inset-bottom));background:var(--bg-elevated,#1a1f2e);border-top:1px solid var(--border-light,#ffffff1a);flex-direction:column;flex-shrink:0;gap:.4rem;display:flex;position:sticky;bottom:0;box-shadow:0 -4px 14px #00000038}.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{justify-content:space-between;align-items:flex-end;gap:.55rem;display:flex}.barcode-quote-footer-meta{color:var(--fg-secondary,#94a3b8);flex-shrink:0;padding-bottom:.1rem;font-size:.72rem}.barcode-quote-footer-totals{flex-direction:column;flex:1;align-items:flex-end;gap:.1rem;min-width:0;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:center;padding:1rem}.barcode-scanner-panel{border-radius:var(--radius-md);height:auto;max-height:90vh;box-shadow:0 16px 48px #00000073}.barcode-scanner-camera{aspect-ratio:16/9;max-height:200px}.barcode-scanner-panel.is-camera-expanded .barcode-scanner-camera,.barcode-scanner-camera.is-scanning{aspect-ratio:4/3;max-height:240px}.barcode-scanner-panel.has-result .barcode-scanner-camera{aspect-ratio:16/9;max-height:160px}.barcode-result-image{width:72px;height:72px}}.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:.4rem 0 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{align-items:center;gap:.5rem;margin-bottom:.4rem;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-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-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:1.15rem;margin-bottom:.4rem;display:flex}.assembly-detail-actions .assembly-btn,.assembly-detail-actions .assembly-btn-ghost{flex:1 1 0;min-height:3.1rem;padding:.55rem .75rem;font-size:1rem}.assembly-totals{border-radius:var(--radius-md);border:1px solid #0000;flex-wrap:wrap;align-items:center;gap:.28rem .35rem;margin:0 0 .18rem;padding:.12rem .28rem;font-size:.95rem;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:5rem;min-height:2.75rem;padding:.4rem .9rem;font-size:.9rem;font-weight:700}.assembly-detail-actions .assembly-btn-ghost{background:var(--bg-elevated-solid);border:1.5px solid #94a3b8}.assembly-btn.assembly-btn-ghost.assembly-undo-btn{color:#fde68a;background:#fbbf2433;border:1.5px solid #fbbf24;flex:none;min-height:2.75rem;padding:.4rem .85rem;font-size:.9rem;font-weight:700}.assembly-btn.assembly-btn-ghost.assembly-minus-btn{background:var(--bg-elevated-solid);border:1.5px solid #94a3b8;flex:none;align-self:center;min-width:3.1rem;min-height:3.1rem;padding:.4rem .5rem;font-size:1.1rem;font-weight:700;line-height:1}.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:.45rem .6rem .45rem .65rem}.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:baseline;gap:.35rem;font-size:.82rem;font-weight:700;display:flex}.assembly-line-remain{color:var(--fg-muted);font-size:.65rem;font-weight:600}.assembly-undo-bar{align-items:center;gap:.5rem;min-height:2.75rem;margin:0 0 .22rem;display:flex}.assembly-undo-last{overflow-wrap:anywhere;word-break:break-word;min-width:0;font-size:.78rem;font-weight:600;line-height:1.25}.assembly-undo-last.is-empty{color:var(--fg-muted);font-weight:500}.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:192px;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:2.2rem;max-height:2.2rem;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:2.2rem;padding:.4rem .5rem;font-size:.86rem;line-height:1.35;overflow-y:auto}
