:root{--bg-0:#0b0b0a;--bg-1:#131312;--bg-2:#1a1a18;--bg-panel:#161615;--line:#ffffff14;--line-strong:#ffffff24;--text-0:#f0ece3;--text-1:#b5b0a4;--text-2:#76716a;--accent:#d4a84a;--accent-dim:#8a7a58;--err:#d46a5a;--ok:#8fb86b;--mono:"JetBrains Mono", ui-monospace, Menlo, Consolas, monospace;--sans:"Inter", system-ui, -apple-system, sans-serif}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{background:var(--bg-0);color:var(--text-0);font-family:var(--sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400;overflow-x:hidden}button,input{color:inherit;font-family:inherit}input:focus,button:focus{outline:none}::selection{background:var(--accent);color:var(--bg-0)}.bs-app{background:radial-gradient(ellipse 80% 50% at 50% 0%, #d4a84a0f, transparent 60%), linear-gradient(180deg, var(--bg-0) 0%, #070706 100%);grid-template-rows:auto 1fr auto;min-height:100vh;display:grid;position:relative}.bs-app:before{content:"";background-image:linear-gradient(to right, var(--line) 1px, transparent 1px), linear-gradient(to bottom, var(--line) 1px, transparent 1px);opacity:.4;pointer-events:none;z-index:0;background-size:80px 80px;position:fixed;inset:0;-webkit-mask-image:radial-gradient(100% 70% at 50% 40%,#000 30%,#0000 80%);mask-image:radial-gradient(100% 70% at 50% 40%,#000 30%,#0000 80%)}.bs-topbar{z-index:2;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0b0b0a99;justify-content:space-between;align-items:center;padding:1.25rem 2rem;display:flex;position:relative}.bs-brand{font-family:var(--mono);letter-spacing:.18em;text-transform:uppercase;align-items:center;gap:.75rem;font-size:.8rem;display:flex}.bs-brand-dot{background:var(--accent);border-radius:50%;width:8px;height:8px;box-shadow:0 0 12px #d4a84a99}.bs-meta{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--text-2);gap:1.5rem;font-size:.72rem;display:flex}.bs-meta-item{gap:.5rem;display:flex}.bs-meta-key{color:var(--text-2)}.bs-meta-val{color:var(--text-1)}.bs-main{z-index:1;grid-template-columns:400px 1fr;gap:0;min-height:0;display:grid;position:relative}.bs-panel{border-right:1px solid var(--line);background:linear-gradient(#16161566,#0b0b0a00 80%);flex-direction:column;gap:2rem;padding:2.5rem 2rem 3rem;display:flex}.bs-panel-heading{flex-direction:column;gap:.3rem;display:flex}.bs-panel-title{letter-spacing:.01em;color:var(--text-0);font-size:1.15rem;font-weight:500}.bs-panel-desc{color:var(--text-2);max-width:34ch;font-size:.8rem;line-height:1.5}.bs-field{border:none;flex-direction:column;gap:.6rem;display:flex}.bs-field-label{font-family:var(--mono);letter-spacing:.2em;text-transform:uppercase;color:var(--text-2);font-size:.68rem}.bs-sym{background:var(--bg-1);border:1px solid var(--line);border-radius:3px;gap:.25rem;padding:3px;display:flex}.bs-sym-btn{font-family:var(--mono);letter-spacing:.1em;color:var(--text-2);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:2px;flex:1;padding:.55rem .5rem;font-size:.72rem;transition:color .15s,background .15s,border-color .15s}.bs-sym-btn:hover:not(.is-active){color:var(--text-0)}.bs-sym-btn.is-active{background:var(--bg-2);color:var(--text-0);border-color:var(--line-strong)}.bs-input-wrap{position:relative}.bs-input{background:var(--bg-1);border:1px solid var(--line);width:100%;font-family:var(--mono);letter-spacing:.14em;color:var(--text-0);border-radius:3px;padding:.95rem 2.8rem .95rem 1rem;font-size:1.05rem;transition:border-color .2s,background .2s}.bs-input::placeholder{color:var(--text-2);opacity:.5}.bs-input:focus{border-color:var(--accent-dim);background:var(--bg-2)}.bs-input.is-ok{border-color:#8fb86b66}.bs-input.is-err{border-color:#d46a5a80}.bs-input-status{font-family:var(--mono);font-size:.85rem;font-weight:500;line-height:1;position:absolute;top:50%;right:.9rem;transform:translateY(-50%)}.bs-input-status.is-ok{color:var(--ok)}.bs-input-status.is-err{color:var(--err)}.bs-helper{font-family:var(--mono);letter-spacing:.04em;color:var(--text-2);min-height:1em;font-size:.72rem;line-height:1.5}.bs-helper.is-err{color:var(--err)}.bs-helper.is-ok{color:var(--text-1)}.bs-text-field{background:var(--bg-1);border:1px solid var(--line);width:100%;font-family:var(--sans);color:var(--text-0);border-radius:3px;padding:.75rem 1rem;font-size:.9rem;transition:border-color .2s,background .2s}.bs-text-field::placeholder{color:var(--text-2);opacity:.5}.bs-text-field:focus{border-color:var(--accent-dim);background:var(--bg-2)}.bs-text-grid{grid-template-columns:1fr 1fr;gap:.5rem;display:grid}.bs-stage{grid-template-rows:1fr auto;min-height:0;display:grid;position:relative;overflow:hidden}.bs-canvas-wrap{width:100%;height:100%;min-height:520px;position:relative}.bs-canvas-wrap canvas{display:block;width:100%!important;height:100%!important}.bs-empty{font-family:var(--mono);letter-spacing:.2em;text-transform:uppercase;color:var(--text-2);pointer-events:none;justify-content:center;align-items:center;font-size:.75rem;display:flex;position:absolute;inset:0}.bs-stage-corner{border-color:var(--line-strong);pointer-events:none;width:24px;height:24px;position:absolute}.bs-stage-corner--tl{border-top:1px solid;border-left:1px solid;top:1rem;left:1rem}.bs-stage-corner--tr{border-top:1px solid;border-right:1px solid;top:1rem;right:1rem}.bs-stage-corner--bl{border-bottom:1px solid;border-left:1px solid;bottom:1rem;left:1rem}.bs-stage-corner--br{border-bottom:1px solid;border-right:1px solid;bottom:1rem;right:1rem}.bs-readout{pointer-events:none;z-index:2;flex-direction:column;align-items:center;gap:.3rem;display:flex;position:absolute;top:1.5rem;left:50%;transform:translate(-50%)}.bs-readout-gtin{font-family:var(--mono);letter-spacing:.35em;color:var(--text-0);text-shadow:0 0 20px #000c;font-size:1.1rem}.bs-readout-sym{font-family:var(--mono);letter-spacing:.3em;text-transform:uppercase;color:var(--accent);font-size:.68rem}.bs-stage-footer{border-top:1px solid var(--line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:2;background:#0b0b0a80;justify-content:space-between;align-items:center;padding:1.25rem 2rem;display:flex}.bs-stage-foot-meta{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--text-2);gap:2rem;font-size:.7rem;display:flex}.bs-stage-foot-meta-val{color:var(--text-0);margin-left:.5rem}.bs-actions{gap:.5rem;display:flex}.bs-btn{border:1px solid var(--line-strong);font-family:var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--text-0);cursor:pointer;background:0 0;border-radius:3px;padding:.65rem 1.1rem;font-size:.7rem;transition:background .15s,border-color .15s,color .15s,transform .1s}.bs-btn:hover:not(:disabled){border-color:var(--text-1);background:#ffffff0a}.bs-btn:active:not(:disabled){transform:translateY(1px)}.bs-btn:disabled{opacity:.3;cursor:not-allowed}.bs-btn--primary{background:var(--accent);border-color:var(--accent);color:var(--bg-0);font-weight:500}.bs-btn--primary:hover:not(:disabled){background:#e2b757;border-color:#e2b757}@media (width<=960px){.bs-main{grid-template-columns:1fr}.bs-panel{border-right:none;border-bottom:1px solid var(--line)}.bs-canvas-wrap{min-height:420px}}@media print{@page{size:auto;margin:10mm}body *{visibility:hidden!important}.bs-print-only,.bs-print-only *{visibility:visible!important}.bs-print-only{background:#fff!important;justify-content:center!important;align-items:center!important;padding:20mm!important;display:flex!important;position:fixed!important;inset:0!important}.bs-print-only img{max-width:100%!important;height:auto!important}}.bs-print-only{display:none}@media print{.bs-print-only{display:block}}.bs-boot{min-height:100vh;font-family:var(--mono);letter-spacing:.2em;text-transform:uppercase;color:var(--text-2);justify-content:center;align-items:center;font-size:.8rem;display:flex}.bs-onboard{z-index:1;justify-content:center;align-items:center;min-height:100vh;padding:2rem;display:flex;position:relative}.bs-onboard-card{background:var(--bg-panel);border:1px solid var(--line);border-radius:6px;flex-direction:column;gap:1.75rem;width:100%;max-width:460px;padding:2.5rem;display:flex;box-shadow:0 40px 80px -20px #0009,0 0 60px -20px #d4a84a1a}.bs-onboard-heading{flex-direction:column;gap:.6rem;display:flex}.bs-onboard-eyebrow{font-family:var(--mono);letter-spacing:.3em;color:var(--accent);text-transform:uppercase;font-size:.65rem}.bs-onboard-title{letter-spacing:-.01em;color:var(--text-0);margin:0;font-size:1.5rem;font-weight:500}.bs-onboard-desc{color:var(--text-2);max-width:42ch;font-size:.82rem;line-height:1.6}.bs-onboard-submit{margin-top:.5rem}.bs-modal{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:100;background:#0b0b0ab3;justify-content:center;align-items:center;padding:2rem;display:flex;position:fixed;inset:0}.bs-modal-card{background:var(--bg-panel);border:1px solid var(--line);border-radius:6px;flex-direction:column;gap:1.5rem;width:100%;max-width:520px;max-height:90vh;padding:2.25rem;display:flex;overflow-y:auto;box-shadow:0 40px 80px -20px #000c,0 0 60px -20px #d4a84a1f}.bs-import-drop{background:var(--bg-1);border:1px dashed var(--line-strong);cursor:pointer;text-align:center;border-radius:4px;flex-direction:column;justify-content:center;align-items:center;gap:.5rem;padding:2.5rem 1.5rem;transition:border-color .2s,background .2s;display:flex;position:relative}.bs-import-drop:hover,.bs-import-drop.is-drag{border-color:var(--accent-dim);background:var(--bg-2)}.bs-import-input{opacity:0;cursor:pointer;pointer-events:none;position:absolute;inset:0}.bs-import-drop-eyebrow{font-family:var(--mono);letter-spacing:.28em;text-transform:uppercase;color:var(--accent);font-size:.62rem}.bs-import-drop-title{letter-spacing:-.01em;color:var(--text-0);font-family:Fraunces,Georgia,serif;font-size:1.2rem;font-weight:400}.bs-import-drop-sub{color:var(--text-2);font-size:.82rem}.bs-import-busy{font-family:var(--mono);letter-spacing:.22em;text-transform:uppercase;color:var(--text-2);justify-content:center;align-items:center;gap:.6rem;padding:2rem 1rem;font-size:.7rem;display:flex}.bs-import-summary{background:var(--bg-1);border:1px solid var(--line);border-radius:3px;grid-template-columns:auto 1px auto 1px auto 1px auto;align-items:center;gap:0;padding:.85rem 1rem;display:grid}.bs-import-stat{flex-direction:column;gap:.3rem;padding:0 .75rem;display:flex}.bs-import-stat:first-child{padding-left:0}.bs-import-stat-k{font-family:var(--mono);letter-spacing:.22em;text-transform:uppercase;color:var(--text-3);font-size:.58rem}.bs-import-stat-v{color:var(--text-0);letter-spacing:-.005em;font-family:Fraunces,Georgia,serif;font-size:1.15rem;font-weight:400}.bs-import-stat-v--err{color:var(--err)}.bs-import-stat-rule{background:var(--line);height:22px}.bs-import-list{border:1px solid var(--line);background:var(--bg-1);border-radius:3px}.bs-import-list-summary{cursor:pointer;font-family:var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--text-2);padding:.75rem 1rem;font-size:.66rem;list-style:none}.bs-import-list-summary::-webkit-details-marker{display:none}.bs-import-list-summary:before{content:"› ";margin-right:.4rem;transition:transform .2s;display:inline-block}.bs-import-list[open] .bs-import-list-summary:before{transform:rotate(90deg)}.bs-import-list-body{border-top:1px solid var(--line);color:var(--text-1);grid-template-columns:repeat(2,1fr);gap:.25rem 1rem;max-height:200px;margin:0;padding:.5rem 1rem 1rem;font-size:.78rem;list-style:none;display:grid;overflow-y:auto}.bs-import-list-more{font-family:var(--mono);letter-spacing:.14em;color:var(--text-3);font-size:.7rem;font-style:italic}.bs-import-actions{gap:.5rem;margin-top:.5rem;display:flex}.bs-import-actions .bs-onboard-submit{flex:1}@media (width<=600px){.bs-import-summary{grid-template-columns:1fr;gap:.75rem}.bs-import-stat-rule{display:none}.bs-import-list-body{grid-template-columns:1fr}}.bs-meta-reset{border:1px solid var(--line);font-family:var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--text-2);cursor:pointer;background:0 0;border-radius:3px;padding:.35rem .7rem;font-size:.65rem;transition:color .15s,border-color .15s}.bs-meta-reset:hover{color:var(--err);border-color:#d46a5a66}.bs-newprod{background:var(--bg-1);border:1px solid var(--line);border-radius:4px;flex-direction:column;gap:.5rem;padding:1rem;display:flex}.bs-newprod-heading{justify-content:space-between;align-items:baseline;gap:.75rem;margin-bottom:.25rem;display:flex}.bs-newprod-preview{font-family:var(--mono);letter-spacing:.08em;color:var(--accent);white-space:nowrap;text-overflow:ellipsis;font-size:.72rem;overflow:hidden}.bs-newprod-submit{margin-top:.25rem}.bs-divider{background:var(--line);height:1px;margin:.25rem 0}.bs-products{scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent;flex-direction:column;gap:.25rem;max-height:420px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.bs-products::-webkit-scrollbar{width:6px}.bs-products::-webkit-scrollbar-thumb{background:var(--line-strong);border-radius:3px}.bs-product{border:1px solid var(--line);text-align:left;cursor:pointer;background:0 0;border-radius:3px;flex-direction:column;gap:.3rem;width:100%;padding:.75rem .9rem;transition:background .15s,border-color .15s;display:flex}.bs-product:hover{border-color:var(--line-strong);background:#ffffff05}.bs-product.is-selected{border-color:var(--accent-dim);background:#d4a84a14}.bs-product-main{justify-content:space-between;align-items:baseline;gap:.5rem;display:flex}.bs-product-name{color:var(--text-0);font-size:.9rem;font-weight:500}.bs-product-variant{color:var(--text-2);font-size:.72rem;font-style:italic}.bs-product-gtin{font-family:var(--mono);letter-spacing:.08em;color:var(--text-1);font-size:.72rem}.bs-product.is-selected .bs-product-gtin{color:var(--accent)}.bs-products-empty{border-top:1px dashed var(--line);border-bottom:1px dashed var(--line);flex-direction:column;gap:.4rem;padding:1.25rem .25rem;display:flex}.bs-products-empty-label{font-family:var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--text-2);font-size:.72rem}.bs-products-empty-hint{color:var(--text-2);font-size:.78rem;line-height:1.5}.bs-panel-footer{border-top:1px solid var(--line);gap:.5rem;margin-top:auto;padding-top:1rem;display:flex}.bs-btn--ghost{border-color:var(--line);background:0 0;flex:1}.bs-btn--danger:hover:not(:disabled){color:var(--err);border-color:#d46a5a66}.bs-stage-idle{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:.8rem;padding:2rem;display:flex;position:absolute;inset:0}.bs-stage-idle-eyebrow{font-family:var(--mono);letter-spacing:.3em;text-transform:uppercase;color:var(--accent);font-size:.65rem}.bs-stage-idle-title{color:var(--text-0);max-width:32ch;font-size:1.2rem;font-weight:500}.bs-stage-idle-desc{color:var(--text-2);max-width:42ch;font-size:.85rem;line-height:1.6}.bs-mono{font-family:var(--mono);color:var(--accent)}
