:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#14171c;--panel:#1c2128;--row:#242a33;--row-alt:#2a313b;--border:#646464;--text:#e6e6e6;--muted:#9a9a9a;--accent:#6fa892;--accent-hover:#82bba5;--accent-text:#14171c;--danger:#e07055;--input:#2a313b;color:var(--text);background:var(--bg);font-family:Segoe UI,system-ui,sans-serif}*{box-sizing:border-box}body{background:var(--bg);min-height:100vh;color:var(--text);margin:0}#root{min-height:100vh}button,input,select,textarea{font:inherit;color:inherit;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.btn{cursor:pointer;background:var(--border);color:var(--text);border:none;border-radius:10px;padding:.55rem 1rem}.btn:hover{filter:brightness(1.08)}.btn-accent{background:var(--accent);color:var(--accent-text);font-weight:600}.btn-danger{background:var(--danger);color:#fff}.btn:disabled{opacity:.5;cursor:not-allowed}.input,input.input,select.input,textarea.input{border:1px solid var(--border);width:100%;caret-color:var(--text);border-radius:10px;padding:.55rem .75rem;background:var(--input)!important;color:var(--text)!important}.input::placeholder{color:var(--muted);opacity:1}.input:focus{outline:1px solid var(--accent);border-color:var(--accent)}input.input:-webkit-autofill{-webkit-text-fill-color:var(--text);-webkit-box-shadow:0 0 0 1000px var(--input) inset;transition:background-color 99999s ease-in-out}input.input:-webkit-autofill:hover{-webkit-text-fill-color:var(--text);-webkit-box-shadow:0 0 0 1000px var(--input) inset;transition:background-color 99999s ease-in-out}input.input:-webkit-autofill:focus{-webkit-text-fill-color:var(--text);-webkit-box-shadow:0 0 0 1000px var(--input) inset;transition:background-color 99999s ease-in-out}select.input option{background:var(--panel);color:var(--text)}.app-shell{flex-direction:column;min-height:100vh;display:flex}.header{background:var(--panel);z-index:40;border-bottom:1px solid #2a313b;position:sticky;top:0}.header-mobile{padding:.65rem .85rem;padding-top:calc(.65rem + env(safe-area-inset-top,0px));justify-content:space-between;align-items:center;gap:.5rem;width:100%;display:none}.header-desktop{grid-template-columns:1fr auto 1fr;align-items:center;gap:1rem;padding:.85rem 1.25rem;display:grid}.brand{letter-spacing:.01em;justify-self:start;font-size:1.35rem;font-weight:700}.header-mobile .brand{text-align:center;flex:1;justify-self:center;min-width:0;font-size:1.15rem}.header-tabs{justify-self:center;gap:.45rem;display:flex}.header-actions{flex-wrap:wrap;justify-self:end;align-items:center;gap:.5rem;display:flex}.icon-btn{background:var(--row);width:44px;height:44px;color:var(--text);cursor:pointer;border:none;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.icon-btn:active{filter:brightness(1.12)}.nav-backdrop{z-index:45;cursor:pointer;background:#00000080;border:none;padding:0;position:fixed;inset:0}.nav-drawer{z-index:50;background:var(--panel);width:min(300px,82vw);padding:calc(1rem + env(safe-area-inset-top,0px)) .85rem 1rem;flex-direction:column;gap:.4rem;display:flex;position:fixed;top:0;bottom:0;left:0;box-shadow:8px 0 28px #00000059}.nav-drawer-item{background:var(--row);color:var(--text);text-align:left;font:inherit;cursor:pointer;border:none;border-radius:12px;min-height:48px;padding:.9rem 1rem;font-size:1.05rem}.nav-drawer-item.active{background:var(--accent);color:var(--accent-text);font-weight:700}.tab{background:var(--row);cursor:pointer;color:var(--text);border:none;border-radius:10px;padding:.5rem 1.15rem}.tab.active{background:var(--accent);color:var(--accent-text);font-weight:600}.main{flex:1;padding:1rem 1.25rem 2rem}.card{background:var(--panel);border-radius:12px;padding:1rem}.table{border-collapse:separate;border-spacing:0 .4rem;width:100%}.table th{color:var(--muted);text-align:center;padding:.4rem;font-size:.85rem}.table td{background:var(--row);text-align:center;vertical-align:middle;color:var(--text);padding:.6rem}.table tr td:first-child{border-radius:10px 0 0 10px}.table tr td:last-child{border-radius:0 10px 10px 0}.table th.thumb-cell,.table td.thumb-cell{text-align:left;white-space:nowrap;width:1%;padding:.6rem}.thumb{object-fit:cover;background:var(--input);vertical-align:middle;border-radius:10px;width:150px;height:150px;display:inline-block}.thumb.placeholder{color:var(--muted);justify-content:center;align-items:center;font-size:.85rem;display:inline-flex}.login-page{background:radial-gradient(ellipse at top, #1e2a28, var(--bg));place-items:center;min-height:100vh;padding:1rem;display:grid}.login-card{background:var(--panel);border-radius:16px;flex-direction:column;gap:0;width:min(360px,92vw);padding:1.75rem 1.5rem 1.5rem;display:flex}.login-card h1{text-align:center;letter-spacing:.01em;margin:0 0 1.35rem;font-size:1.65rem;font-weight:700}.login-fields{flex-direction:column;gap:1rem;display:flex}.field{flex-direction:column;gap:.45rem;display:flex}.field-label{color:var(--muted);padding-left:2px;font-size:.9rem}.login-submit{width:100%;margin-top:1.25rem;padding:.7rem 1rem}.muted{color:var(--muted)}.error{color:var(--danger);text-align:center;margin-top:.85rem;font-size:.9rem}.toolbar{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.85rem;display:flex}.toolbar-split{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.toolbar-group{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.toolbar-hint{align-items:center;font-size:.85rem;line-height:1;display:inline-flex}.user-form{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));align-items:end;gap:.85rem;display:grid}.user-form-actions{align-items:end;display:flex}.admin-stack{gap:1rem;display:grid}.grid-2{grid-template-columns:240px 1fr;gap:1rem;display:grid}.table-scroll{-webkit-overflow-scrolling:touch;width:100%;overflow-x:auto}.qty-input{text-align:center;max-width:96px;margin-left:auto;margin-right:auto}.modal-scroll{-webkit-overflow-scrolling:touch;max-height:min(360px,45vh);overflow:auto}.assemble-help{margin-top:0}.assemble-kit-head{align-items:center;margin-bottom:0}.assemble-kit-title{word-break:break-word;flex:1;min-width:0;font-weight:600}.kit-editor{gap:.85rem;min-width:0;display:grid}.kit-editor-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end}.kit-editor-fields{flex-wrap:wrap;flex:1;align-items:flex-end;gap:12px;min-width:0;display:flex}.kit-total{color:var(--accent);white-space:nowrap}.user-chip{text-overflow:ellipsis;white-space:nowrap;max-width:180px;overflow:hidden}.products-desktop{display:block}.products-mobile,.mobile-action-bar{display:none}.product-card{background:var(--row);-webkit-user-select:none;user-select:none;border:2px solid #0000;border-radius:14px;grid-template-columns:150px 1fr;align-items:stretch;gap:.85rem;padding:.75rem;display:grid}.product-card.is-selected{border-color:var(--accent)}.product-card-photo{background:var(--input);border-radius:12px;flex-shrink:0;width:150px;height:150px;overflow:hidden}.product-card-photo img{object-fit:cover;width:100%;height:100%;display:block}.product-card-photo-empty{width:100%;height:100%;color:var(--muted);place-items:center;font-size:.85rem;display:grid}.product-card-meta{grid-template-rows:repeat(5,minmax(28px,auto));align-content:center;min-width:0;display:grid}.kit-item-card .product-card-meta{grid-template-rows:repeat(auto-fit,minmax(28px,auto))}.product-card-row{grid-template-columns:88px 1fr;align-items:center;gap:.5rem;min-height:28px;display:grid}.product-card-label{color:var(--muted);font-size:.82rem;line-height:1.2}.product-card-value{text-align:right;word-break:break-word;min-width:0;font-size:.95rem;line-height:1.25}.product-card-select{background:var(--input);border:1px solid var(--border);width:100%;max-width:100%;color:var(--text);text-align:right;font:inherit;border-radius:8px;padding:.25rem .4rem}.kit-compose-list{gap:.65rem;display:grid}.kit-compose-head{justify-content:space-between;margin-bottom:.75rem}.products-table tr.is-selected{outline:2px solid var(--accent);outline-offset:0}@media (width<=1024px){.header-desktop{display:none}.header-mobile{display:flex}.grid-2{grid-template-columns:1fr}.thumb{width:110px;height:110px}.toolbar-split{flex-direction:column;align-items:stretch}.toolbar-group{width:100%}.toolbar-actions-primary{order:-1;grid-template-columns:1fr 1fr;display:grid}.toolbar-actions-primary .btn{width:100%}.products-desktop{display:none}.products-mobile{gap:.75rem;display:grid}.carousel-viewport{min-height:220px}.carousel-slot.side,.carousel-slot.center{width:160px;height:160px}.carousel-empty{height:180px}}@media (width<=720px){.main{padding:.65rem .55rem calc(1.1rem + env(safe-area-inset-bottom,0px))}.products-page.has-selection{padding-bottom:calc(5.5rem + env(safe-area-inset-bottom,0px))}.btn{min-height:44px;padding:.65rem .9rem}.input,input.input,select.input,textarea.input{min-height:44px;font-size:16px}.desktop-only{display:none!important}.card{border-radius:14px;padding:.75rem}.product-card{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:.7rem;width:100%;padding:.55rem}.product-card-photo{aspect-ratio:1;align-self:stretch;width:100%;height:auto}.product-card-meta{flex-direction:column;grid-template-rows:none;justify-content:center;gap:.4rem;height:100%;min-height:0;display:flex}.kit-item-card .product-card-meta{grid-template-rows:none;gap:.55rem}.product-card-row{flex:none;grid-template-columns:none;justify-content:space-between;align-items:center;gap:.5rem;height:auto;min-height:1.5rem;padding:0;display:flex}.kit-item-card .product-card-row{height:auto;min-height:2.2rem}.product-card-label{flex-shrink:0;font-size:.8rem}.product-card-value{text-align:right;font-size:.92rem}.product-card-value .qty-input{max-width:88px;min-height:36px;margin:0}.mobile-action-bar{z-index:35;padding:.7rem .7rem calc(.7rem + env(safe-area-inset-bottom,0px));background:var(--panel);border-top:1px solid #2a313b;grid-template-columns:1fr 1fr;gap:.55rem;display:grid;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -8px 24px #00000059}.mobile-action-bar .btn{width:100%}.toolbar-group .btn{flex:calc(50% - .25rem)}.toolbar-actions-primary{order:-1}.modal-backdrop{place-items:end center;padding:0}.modal.modal-sheet,.modal.modal-wide.modal-sheet{width:100%;max-width:100%;max-height:min(94vh,100%);padding:1rem .85rem calc(1rem + env(safe-area-inset-bottom,0px));border-radius:16px 16px 0 0;flex-direction:column;display:flex}.modal-scroll{flex:1;min-height:0;max-height:none}.modal-actions{background:var(--panel);flex-wrap:wrap;padding-top:.5rem;position:sticky;bottom:0}.modal-actions .btn{flex:1}.table-compact thead{display:none}.table-compact,.table-compact tbody{display:block}.table-compact tr{background:var(--row);border-radius:10px;grid-template-columns:1fr auto;gap:.2rem .5rem;margin-bottom:.45rem;padding:.65rem .75rem;display:grid}.table-compact td{text-align:left;background:0 0;padding:0;border-radius:0!important}.table-compact td:first-child{color:var(--muted);grid-column:1;font-size:.8rem}.table-compact td:nth-child(2){grid-column:1;font-weight:600}.table-compact td:nth-child(3){grid-area:1/2/span 2;align-self:center}.qty-input{min-width:72px;max-width:88px}.store-picker{grid-template-columns:1fr}.kit-editor-fields{flex-direction:column;align-items:stretch;width:100%}.kit-editor-fields .field{width:100%;max-width:none!important}.kit-total{text-align:right;width:100%}.carousel{gap:.35rem;padding:.5rem .25rem}.carousel-arrow{width:2.25rem;height:2.25rem}.carousel-viewport{min-height:200px}.carousel-empty{width:100%;max-width:none;height:180px}.carousel-slot.side,.carousel-slot.center{width:140px;height:140px}.carousel-slot.center{transform:scale(1.06)}.carousel-fog{width:min(56px,14%)}.supplier-row,.user-form{grid-template-columns:1fr}.user-form-actions,.user-form-actions .btn{width:100%}.kit-compose-head{flex-direction:column;align-items:stretch;gap:.55rem}.kit-compose-head .btn{width:100%}.kit-delete-btn{opacity:1;pointer-events:auto}}@media (width<=420px){.toolbar-actions-primary{grid-template-columns:1fr}.header-mobile .brand{font-size:1.05rem}}@media (hover:none){.kit-delete-btn{opacity:1;pointer-events:auto}.btn:hover{filter:none}}@media (width>=721px) and (width<=1024px){.main{padding:.9rem .85rem 1.5rem}.product-card-photo{width:160px;height:160px}.product-card{grid-template-columns:160px 1fr}}.kit-list-header{justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.65rem;display:flex}.kit-list-header h3{margin:0;font-size:1.05rem}.kit-list-items{flex-direction:column;gap:.3rem;display:flex}.kit-list-row{background:var(--row);border-radius:10px;align-items:center;gap:.25rem;padding:.35rem .35rem .35rem .15rem;display:flex}.kit-list-row.active{background:var(--accent)}.kit-list-row.active .kit-list-select{color:var(--accent-text)}.kit-list-select{text-align:left;min-width:0;color:var(--text);cursor:pointer;font:inherit;background:0 0;border:none;border-radius:8px;flex:1;padding:.55rem .65rem}.kit-list-select:hover{opacity:.92}.kit-icon-btn{width:30px;height:30px;color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;padding:0;line-height:1;display:inline-flex}.kit-add-btn{color:var(--accent);font-size:1.35rem;font-weight:600}.kit-add-btn:hover{background:color-mix(in srgb, var(--accent) 18%, transparent);color:var(--accent)}.kit-delete-btn{opacity:0;pointer-events:none;transition:opacity .12s,background .12s,color .12s}.kit-list-row:hover .kit-delete-btn,.kit-list-row:focus-within .kit-delete-btn{opacity:1;pointer-events:auto}.kit-delete-btn:hover{background:color-mix(in srgb, var(--danger) 22%, transparent);color:var(--danger)}.kit-list-row.active .kit-delete-btn{color:color-mix(in srgb, var(--accent-text) 75%, transparent)}.kit-list-row.active .kit-delete-btn:hover{color:#fff;background:#0000002e}.kit-list-hint{margin-top:.75rem;margin-bottom:0;font-size:.85rem}.modal-backdrop{z-index:50;background:#0000008c;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.modal{background:var(--panel);width:min(720px,100%);max-height:90vh;color:var(--text);border-radius:14px;gap:.75rem;padding:1.25rem;display:grid;overflow:auto}.modal.modal-wide{width:min(820px,100%)}.modal h2{margin:0}.modal-actions{justify-content:flex-end;gap:.5rem;display:flex}.assemble-kit{background:var(--row);border-radius:12px;gap:.55rem;padding:.75rem;display:grid}.assemble-checklist{gap:.4rem;padding-left:.25rem;display:grid}.assemble-check{cursor:pointer;border-radius:8px;align-items:flex-start;gap:.55rem;padding:.35rem .4rem;display:flex}.assemble-check:hover{background:var(--row-alt)}.assemble-check input{width:1.05rem;height:1.05rem;accent-color:var(--accent);flex-shrink:0;margin-top:.2rem}.store-picker{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.5rem;display:grid}.store-option{background:var(--row);cursor:pointer;border:2px solid #0000;border-radius:10px;align-items:center;gap:.5rem;padding:.65rem .75rem;display:flex}.store-option.active{border-color:var(--accent);background:var(--row-alt)}.store-option input{accent-color:var(--accent)}.field{gap:.35rem;display:grid}.field-label{color:var(--muted);font-size:.85rem}.file-input-hidden{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.file-picker{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.file-picker-name{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:.9rem;overflow:hidden}.supplier-row{grid-template-columns:1fr minmax(100px,140px) auto;align-items:center;gap:.5rem;margin-top:.35rem;display:grid}.supplier-price{width:100%}.carousel{background:var(--bg);border-radius:12px;align-items:center;gap:.65rem;padding:.75rem .5rem;display:flex;overflow:hidden}.carousel-arrow{border-radius:999px;flex-shrink:0;width:2.5rem;height:2.5rem;padding:0}.carousel-viewport{flex:1;justify-content:center;align-items:center;min-width:0;min-height:300px;display:flex;position:relative;overflow:hidden}.carousel-empty{background:var(--input);width:min(420px,90%);height:240px;color:var(--muted);text-align:center;z-index:1;border-radius:12px;place-items:center;padding:1rem;display:grid}.carousel-fog{z-index:2;pointer-events:none;width:min(120px,18%);position:absolute;top:0;bottom:0}.carousel-fog-left{background:linear-gradient(to right, var(--bg) 10%, transparent);left:0}.carousel-fog-right{background:linear-gradient(to left, var(--bg) 10%, transparent);right:0}.carousel-track{will-change:transform;align-items:center;gap:1rem;padding:.5rem 0;transition:transform .22s ease-out;display:flex;position:absolute;top:50%;left:0;translate:0 -50%}.carousel-slot{background:var(--input);cursor:pointer;color:inherit;border:none;border-radius:12px;flex-shrink:0;padding:0;transition:transform .18s,opacity .18s,box-shadow .18s;position:relative;overflow:hidden}.carousel-slot img{object-fit:cover;width:100%;height:100%;display:block}.carousel-slot.side{opacity:.78;width:230px;height:230px;transform:scale(.94)}.carousel-slot.center{opacity:1;z-index:1;width:230px;height:230px;box-shadow:0 0 0 2px var(--accent);transform:scale(1.12)}.carousel-slot.empty{color:var(--muted);text-align:center;cursor:default;place-items:center;width:min(420px,100%);height:240px;padding:.5rem;display:grid}.carousel-qty{z-index:1;color:#fff;white-space:nowrap;background:#0a0c10c7;border-radius:999px;justify-content:center;align-items:center;min-width:2.5rem;height:2.5rem;padding:0 .45rem;font-size:.72rem;font-weight:700;line-height:1;display:inline-flex;position:absolute;top:8px;right:8px;box-shadow:0 1px 4px #00000059}.carousel-no-photo{width:100%;height:100%;color:var(--muted);place-items:center;font-size:.9rem;display:grid}.supplier-cell select{border:1px solid var(--border);text-align:center;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;border-radius:8px;min-width:140px;padding:.4rem .55rem;background:var(--input)!important;color:var(--text)!important}.supplier-cell span{background:var(--input);border-radius:8px;min-width:140px;padding:.4rem .55rem;display:inline-block}.audit-table td,.audit-table th{text-align:left;font-size:.85rem}.audit-table tr td:first-child,.audit-table tr th:first-child{border-radius:10px 0 0 10px}.audit-table tr td:last-child,.audit-table tr th:last-child{border-radius:0 10px 10px 0}.pager{flex-wrap:wrap;justify-content:center;align-items:center;gap:1rem;margin-top:1rem;display:flex}
