:root{--bg:#f4f2f6;--surface:#fff;--surface-2:#f8f6fa;--text:#1c1520;--text-2:#4a4150;--border:#cfc6d6;--primary:#5a1d6e;--primary-hover:#471558;--primary-soft:#efe4f4;--on-primary:#fff;--success:#146c2e;--success-soft:#e3f3e7;--danger:#b3261e;--danger-soft:#fbe7e5;--warning:#7a4a00;--warning-soft:#fff1d6;--info-soft:#e6eef9;--focus:#0b57d0;--radius:14px;--shadow:0 1px 2px #1e0a2814, 0 2px 8px #1e0a280f;--font:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-size:18px}@media (width>=1200px){:root{font-size:19px}}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg);color:var(--text);font-family:var(--font);-webkit-text-size-adjust:100%;margin:0;line-height:1.45}h1,h2,h3{margin:0 0 .5em;line-height:1.2}h1{font-size:1.75rem}h2{font-size:1.35rem}h3{font-size:1.1rem}p{margin:0 0 .75em}a{color:var(--primary)}:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.muted{color:var(--text-2)}.small{font-size:.88rem}.big{font-size:1.3rem}.huge{letter-spacing:-.5px;font-size:2.4rem;font-weight:800}.nowrap{white-space:nowrap}.right{text-align:right}.center{text-align:center}.mono{font-family:ui-monospace,Consolas,monospace}.strong{font-weight:700}.danger-text{color:var(--danger)}.success-text{color:var(--success)}.warning-text{color:var(--warning)}.app{min-height:100%;display:flex}.sidebar{background:var(--surface);border-right:1px solid var(--border);flex-direction:column;flex-shrink:0;width:280px;height:100vh;display:flex;position:sticky;top:0;overflow-y:auto}.sidebar .brand{color:var(--primary);padding:18px 20px 10px;font-size:1.5rem;font-weight:800}.sidebar .brand small{color:var(--text-2);font-size:.8rem;font-weight:500;display:block}.nav-group{padding:6px 12px 10px}.nav-group h4{text-transform:uppercase;letter-spacing:.06em;color:var(--text-2);margin:10px 10px 4px;font-size:.78rem}.nav-link{color:var(--text);border-radius:10px;align-items:center;gap:12px;min-height:48px;padding:11px 12px;font-size:1rem;font-weight:600;text-decoration:none;display:flex}.nav-link:hover{background:var(--surface-2)}.nav-link.active{background:var(--primary);color:var(--on-primary)}.main{flex-direction:column;flex:1;min-width:0;display:flex}.topbar{background:var(--surface);border-bottom:1px solid var(--border);z-index:20;align-items:center;gap:12px;min-height:64px;padding:10px 20px;display:flex;position:sticky;top:0}.topbar .title{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:1.25rem;font-weight:700;overflow:hidden}.topbar .who{color:var(--text-2);text-align:right;font-size:.92rem}.btn.menu-button{display:none}.content{width:100%;max-width:1280px;margin:0 auto;padding:20px}.demo-banner{background:var(--warning-soft);color:var(--warning);border-bottom:1px solid #e8cf9c;flex-wrap:wrap;align-items:center;gap:12px;padding:6px 20px;font-size:.9rem;font-weight:600;display:flex}@media (width<=1023px){.sidebar{z-index:50;box-shadow:var(--shadow);width:min(320px,88vw);transition:transform .2s;position:fixed;top:0;bottom:0;left:0;transform:translate(-100%)}.sidebar.open{transform:none}.btn.menu-button{display:inline-flex}.scrim{z-index:40;background:#00000059;position:fixed;inset:0}.content{padding:14px}.topbar{padding:8px 12px}.topbar .who .name-full{display:none}}.btn{min-height:52px;font:inherit;cursor:pointer;background:var(--surface);color:var(--text);border:2px solid #0000;border-color:var(--border);touch-action:manipulation;-webkit-user-select:none;user-select:none;border-radius:12px;justify-content:center;align-items:center;gap:10px;padding:10px 20px;font-size:1.02rem;font-weight:700;line-height:1.15;text-decoration:none;display:inline-flex}.btn:hover{background:var(--surface-2)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.primary{background:var(--primary);color:var(--on-primary);border-color:var(--primary)}.btn.primary:hover:not(:disabled){background:var(--primary-hover)}.btn.success{background:var(--success);color:#fff;border-color:var(--success)}.btn.danger{background:var(--danger);color:#fff;border-color:var(--danger)}.btn.danger-outline{color:var(--danger);border-color:var(--danger);background:var(--surface)}.btn.ghost{background:0 0;border-color:#0000}.btn.ghost:hover{background:var(--surface-2)}.btn.lg{min-height:64px;padding:12px 26px;font-size:1.2rem}.btn.xl{border-radius:16px;min-height:80px;padding:14px 30px;font-size:1.45rem}.btn.sm{min-height:42px;padding:6px 14px;font-size:.95rem}.btn.block{width:100%}.btn.square{width:56px;min-width:56px;padding:0}.btn.selected{background:var(--primary-soft);border-color:var(--primary);color:var(--primary)}.btn-row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.btn-row.end{justify-content:flex-end}.btn-grid{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px;display:grid}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px}.card+.card{margin-top:16px}.card h2{align-items:center;gap:10px;display:flex}.stack>*+*{margin-top:16px}.grid{gap:16px;display:grid}.grid.two{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.grid.three{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.grid.stats{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.stat{padding:16px 18px}.stat .label{color:var(--text-2);font-size:.95rem;font-weight:600}.stat .value{margin-top:4px;font-size:2rem;font-weight:800}.page-head{flex-wrap:wrap;align-items:flex-end;gap:16px;margin-bottom:16px;display:flex}.page-head>div:first-child{flex:1;min-width:220px}.page-head h1{margin:0}.page-head p{color:var(--text-2);margin:4px 0 0}.tiles{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:14px;display:grid}.tile{background:var(--surface);border:2px solid var(--border);min-height:130px;color:var(--text);box-shadow:var(--shadow);border-radius:16px;flex-direction:column;justify-content:space-between;align-items:flex-start;gap:12px;padding:18px;font-size:1.15rem;font-weight:700;text-decoration:none;display:flex}.tile:hover{border-color:var(--primary)}.tile .tile-icon{background:var(--primary-soft);width:52px;height:52px;color:var(--primary);border-radius:14px;place-items:center;display:grid}.tile small{color:var(--text-2);margin-top:2px;font-size:.88rem;font-weight:500;display:block}.tile.primary{background:var(--primary);color:#fff;border-color:var(--primary)}.tile.primary small{color:#f0dff6}.tile.primary .tile-icon{color:#fff;background:#ffffff2e}.section-title{text-transform:uppercase;letter-spacing:.06em;color:var(--text-2);margin:28px 0 12px;font-size:1.05rem}.field{flex-direction:column;gap:6px;display:flex}.field>label,.field>.label{font-size:1rem;font-weight:700}.field .hint{color:var(--text-2);font-size:.88rem}.field .error{color:var(--danger);font-size:.92rem;font-weight:600}.input,select.input,textarea.input{font:inherit;border:2px solid var(--border);min-height:54px;color:var(--text);background:#fff;border-radius:12px;width:100%;padding:10px 14px;font-size:1.1rem}textarea.input{min-height:90px}.input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft);outline:none}.input.xl{min-height:72px;font-size:1.6rem;font-weight:700}.input.invalid{border-color:var(--danger)}.form-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;display:grid}.checkbox{cursor:pointer;align-items:center;gap:12px;min-height:48px;font-weight:600;display:flex}.checkbox input{width:28px;height:28px;accent-color:var(--primary)}.input-addon{align-items:stretch;display:flex}.input-addon .input{border-top-right-radius:0;border-bottom-right-radius:0}.input-addon .addon{border:2px solid var(--border);background:var(--surface-2);color:var(--text-2);border-left:0;border-radius:0 12px 12px 0;place-items:center;padding:0 14px;font-weight:700;display:grid}.step-title{align-items:center;gap:12px;margin-bottom:12px;font-size:1.15rem;font-weight:800;display:flex}.step-num{background:var(--primary);color:#fff;border-radius:50%;flex-shrink:0;place-items:center;width:34px;height:34px;font-size:1rem;display:grid}.chips{flex-wrap:wrap;gap:8px;display:flex}.chip{border:2px solid var(--border);background:var(--surface);font:inherit;cursor:pointer;border-radius:999px;min-height:46px;padding:8px 16px;font-weight:700}.chip.selected{border-color:var(--primary);background:var(--primary-soft);color:var(--primary)}.stepper{align-items:stretch;gap:8px;display:flex}.stepper .btn{width:64px;min-width:64px;padding:0;font-size:1.8rem}.stepper .input{text-align:center;min-height:64px;font-size:1.6rem;font-weight:800}.notice{border:2px solid;border-radius:12px;align-items:flex-start;gap:12px;padding:14px 16px;font-weight:600;display:flex}.notice.success{background:var(--success-soft);color:var(--success);border-color:#9fd3ad}.notice.error{background:var(--danger-soft);color:var(--danger);border-color:#eeb0aa}.notice.warning{background:var(--warning-soft);color:var(--warning);border-color:#e8cf9c}.notice.info{background:var(--info-soft);color:#1e3a6b;border-color:#b4c8e8}.notice .notice-body{flex:1}.badge{background:var(--surface-2);border:1px solid var(--border);white-space:nowrap;border-radius:999px;align-items:center;gap:4px;padding:2px 10px;font-size:.82rem;font-weight:700;display:inline-flex}.badge.success{background:var(--success-soft);color:var(--success);border-color:#9fd3ad}.badge.danger{background:var(--danger-soft);color:var(--danger);border-color:#eeb0aa}.badge.warning{background:var(--warning-soft);color:var(--warning);border-color:#e8cf9c}.badge.primary{background:var(--primary-soft);color:var(--primary);border-color:#d7bfe2}.list{flex-direction:column;display:flex}.list-item{border-bottom:1px solid var(--border);color:inherit;align-items:center;gap:14px;min-height:64px;padding:14px 6px;text-decoration:none;display:flex}.list-item:last-child{border-bottom:0}button.list-item{border:0;border-bottom:1px solid var(--border);font:inherit;text-align:left;cursor:pointer;background:0 0;width:100%}.list-item:hover{background:var(--surface-2)}.list-item .grow{flex:1;min-width:0}.list-item .title{font-size:1.05rem;font-weight:700}.table-wrap{overflow-x:auto}table.table{border-collapse:collapse;width:100%;font-size:.98rem}.table th{text-align:left;color:var(--text-2);text-transform:uppercase;letter-spacing:.04em;border-bottom:2px solid var(--border);white-space:nowrap;padding:10px 8px;font-size:.85rem}.table td{border-bottom:1px solid var(--border);vertical-align:top;padding:10px 8px}.table tr.clickable{cursor:pointer}.table tr.clickable:hover td{background:var(--surface-2)}.table td.num,.table th.num{text-align:right;white-space:nowrap}.table tr.row-error td{background:var(--danger-soft)}.table tr.row-warning td{background:#fffaf0}.table input.cell{font:inherit;border:1px solid var(--border);border-radius:6px;width:100%;min-width:90px;padding:6px 8px;font-size:.95rem}.empty{text-align:center;color:var(--text-2);padding:30px 10px}.bar{background:var(--primary-soft);border-radius:6px;height:12px;overflow:hidden}.bar>span{background:var(--primary);border-radius:6px;height:100%;display:block}.modal-backdrop{z-index:100;background:#14081a80;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.modal{background:var(--surface);border-radius:18px;width:min(640px,100%);max-height:calc(100vh - 32px);padding:22px;overflow-y:auto;box-shadow:0 10px 40px #0000004d}.modal.wide{width:min(900px,100%)}.modal-head{align-items:flex-start;gap:12px;margin-bottom:14px;display:flex}.modal-head h2{flex:1;margin:0;font-size:1.45rem}.modal-actions{flex-wrap:wrap;gap:12px;margin-top:22px;display:flex}.modal-actions .btn{flex:1;min-width:160px}.pos{grid-template-columns:minmax(0,1fr) 400px;align-items:start;gap:16px;display:grid}.pos-cart{position:sticky;top:84px}@media (width<=1023px){.pos{grid-template-columns:1fr}.pos-cart{position:static}}.cart-line{border-bottom:1px solid var(--border);grid-template-columns:1fr auto;gap:6px 10px;padding:12px 0;display:grid}.cart-line .desc{font-weight:700}.cart-line .amount{text-align:right;font-size:1.1rem;font-weight:800}.cart-line .controls{flex-wrap:wrap;grid-column:1/-1;align-items:center;gap:8px;display:flex}.total-box{background:var(--primary);color:#fff;border-radius:14px;margin:14px 0;padding:14px 18px}.total-box .label{opacity:.9;font-weight:600}.total-box .value{font-size:2.6rem;font-weight:800;line-height:1.1}.finder-results{max-height:60vh;margin-top:10px;overflow-y:auto}.product-big{font-size:1.6rem;font-weight:800}.price-big{color:var(--primary);font-size:2.2rem;font-weight:800}.option-btn{border:2px solid var(--border);width:100%;min-height:72px;font:inherit;cursor:pointer;text-align:left;background:#fff;border-radius:14px;justify-content:space-between;align-items:center;gap:12px;padding:12px 18px;font-size:1.15rem;font-weight:700;display:flex}.option-btn:hover{border-color:var(--primary);background:var(--primary-soft)}.option-btn:disabled{opacity:.55;cursor:not-allowed}.option-btn+.option-btn{margin-top:10px}.option-btn .sub{color:var(--text-2);font-size:.92rem;font-weight:500;display:block}.loading-screen{text-align:center;place-items:center;min-height:100vh;padding:20px;display:grid}.spinner{border:5px solid var(--primary-soft);border-top-color:var(--primary);border-radius:50%;width:48px;height:48px;margin:0 auto 16px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.login{place-items:center;min-height:100vh;padding:16px;display:grid}.login .card{width:min(520px,100%);padding:28px}.labels-sheet{grid-template-columns:repeat(auto-fill,50mm);gap:4mm;display:grid}.qr-label{color:#000;page-break-inside:avoid;background:#fff;border:1px dashed #999;border-radius:2mm;gap:2mm;width:50mm;height:30mm;padding:2mm;display:flex;overflow:hidden}.qr-label img{flex-shrink:0;align-self:center;width:24mm;height:24mm}.qr-label .l-text{flex-direction:column;justify-content:center;min-width:0;display:flex}.qr-label .l-title{max-height:3.4em;font-size:8pt;font-weight:700;line-height:1.1;overflow:hidden}.qr-label .l-price{margin-top:1mm;font-size:11pt;font-weight:800}.qr-label .l-sku{font-family:monospace;font-size:6.5pt}.print-only{display:none}@media print{body{background:#fff}.sidebar,.topbar,.demo-banner,.no-print{display:none!important}.content{max-width:none;padding:0}.card{box-shadow:none;border:0;padding:0}.print-only{display:block}.qr-label{border-color:#ccc}}
