*{box-sizing:border-box}:root{--navy: #1e405c;--navy-dark: #14293c;--accent: #e07a1f;--bg: #f2f4f6;--card: #ffffff;--border: #d6dde3;--text: #1a2430;--muted: #5c6b78;--danger: #c0392b;--ok: #2e7d32}html,body,#root{height:100%;margin:0}html{font-size:17px}body{background:var(--bg);color:var(--text);font-family:-apple-system,Segoe UI,Roboto,Arial,sans-serif;font-size:19px}button{font-family:inherit;cursor:pointer}select,input,button{font-size:1rem;min-height:48px}.app{display:flex;flex-direction:column;height:100%}.topbar{background:var(--navy);color:#fff;padding:.75rem 1.25rem;display:flex;justify-content:space-between;align-items:center}.topbar h1{font-size:1.25rem;margin:0}.status{font-size:.85rem;padding:.3rem .7rem;border-radius:999px;background:rgba(255,255,255,.15)}.status.connected{background:rgba(46,125,50,.333)}.status.disconnected{background:rgba(192,57,43,.333)}.main{flex:1;display:flex;padding:1rem;overflow:hidden}.main-single{justify-content:center}@media (max-width: 900px){.main{overflow:auto}}.card{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:1rem 1.25rem}.form-card{overflow-y:auto;width:100%;max-width:1100px}.cart-tab{position:fixed;top:50%;right:0;transform:translateY(-50%);z-index:40;display:flex;flex-direction:column;align-items:center;gap:.4rem;background:var(--navy);color:#fff;border:none;border-radius:10px 0 0 10px;padding:1rem .6rem;box-shadow:-2px 2px 10px rgba(0,0,0,.18);min-height:auto}.cart-tab-label{writing-mode:vertical-rl;transform:rotate(180deg);font-weight:700;font-size:.9rem;letter-spacing:.03em}.cart-tab-badge{background:var(--accent);color:#fff;border-radius:999px;min-width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;padding:0 .3rem}.cart-tab-total{writing-mode:vertical-rl;transform:rotate(180deg);font-size:.8rem;font-weight:600;white-space:nowrap}.cart-drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(0,0,0,.35);z-index:55}.cart-drawer{position:fixed;top:0;right:0;height:100%;width:min(420px,92vw);background:var(--card);box-shadow:-6px 0 20px rgba(0,0,0,.2);z-index:56;display:flex;flex-direction:column;overflow:hidden;padding:1rem 1.25rem;transform:translate(100%);transition:transform .22s ease}.cart-drawer.open{transform:translate(0)}.cart-drawer-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.25rem}.cart-drawer-header h2{margin:0}.cart-drawer-close{background:none;border:none;font-size:1.6rem;line-height:1;color:var(--muted);min-height:auto;padding:.2rem .5rem}h2{margin-top:0;font-size:1.1rem;color:var(--navy-dark)}.field{margin-bottom:1rem}.field label{display:block;font-weight:600;margin-bottom:.3rem;color:var(--navy-dark)}.field select,.field input,.field textarea{width:100%;padding:.6rem .7rem;border:1px solid var(--border);border-radius:8px;background:#fff;font-family:inherit}.field textarea{min-height:unset;resize:vertical}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.field select:disabled,.field input:disabled{background:#eee;color:#888}.filter-input{margin-bottom:.4rem}.btn{border:none;border-radius:8px;padding:.75rem 1.25rem;font-weight:600;color:#fff;background:var(--navy)}.btn:disabled{background:#a7b4bf;cursor:not-allowed}.btn-accent{background:var(--accent)}.btn-outline{background:transparent;color:var(--navy);border:1px solid var(--navy)}.btn-full{width:100%}.price-preview{margin:1rem 0;padding:.75rem 1rem;background:#eef3f7;border-radius:8px;font-size:1.1rem;display:flex;justify-content:space-between;align-items:center}.cart-list{flex:1;overflow-y:auto;margin:.5rem 0}.cart-line{padding:.6rem 0;border-bottom:1px solid var(--border)}.cart-line-main{display:flex;justify-content:space-between;align-items:center;gap:.5rem}.cart-line-desc{flex:1;font-size:.95rem}.cart-line-unit{font-size:.78rem;color:var(--muted)}.cart-line-controls{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.cart-line-price{font-weight:700;white-space:nowrap}.cart-line-remove{background:transparent;border:none;color:var(--danger);font-size:1.3rem;line-height:1;min-height:auto;padding:.2rem .4rem}.breakdown-toggle-wrap{margin-top:.35rem}.breakdown-toggle{background:none;border:none;color:var(--navy);font-size:.8rem;text-decoration:underline;padding:0;min-height:auto}.breakdown{margin-top:.5rem;padding:.6rem .8rem;background:#f4f7f9;border:1px solid var(--border);border-radius:8px;font-size:.85rem}.breakdown-row{display:flex;justify-content:space-between;gap:.75rem;padding:.15rem 0;color:var(--muted)}.breakdown-row span:first-child{flex:1}.breakdown-total{font-weight:700;color:var(--text);border-top:1px solid var(--border);margin-top:.3rem;padding-top:.4rem}.cart-empty{color:var(--muted);text-align:center;padding:2rem 0}.cart-total{display:flex;justify-content:space-between;font-size:1.3rem;font-weight:700;padding:.75rem 0;border-top:2px solid var(--navy)}.customer-section{margin:.75rem 0;padding-top:.75rem;border-top:1px solid var(--border)}.customer-toggle{display:flex;gap:.5rem;margin-bottom:.5rem}.customer-toggle button{flex:1;padding:.5rem;border-radius:8px;border:1px solid var(--border);background:#fff}.customer-toggle button.active{background:var(--navy);color:#fff;border-color:var(--navy)}.contact-results{border:1px solid var(--border);border-radius:8px;max-height:160px;overflow-y:auto;margin-top:.3rem}.contact-result{padding:.5rem .75rem;border-bottom:1px solid var(--border)}.contact-result:last-child{border-bottom:none}.selected-contact{display:flex;justify-content:space-between;align-items:center;background:#eef3f7;padding:.5rem .75rem;border-radius:8px;margin-top:.3rem}.login-screen{height:100%;display:flex;align-items:center;justify-content:center;background:var(--navy)}.login-card{background:var(--card);border-radius:12px;padding:2rem 1.75rem;width:min(380px,92vw);box-shadow:0 10px 30px rgba(0,0,0,.25)}.login-card h1{margin:0 0 .3rem;font-size:1.3rem;color:var(--navy-dark)}.login-subtitle{margin:0 0 1.25rem;color:var(--muted)}.banner{padding:.75rem 1rem;border-radius:8px;margin-bottom:.75rem}.banner.error{background:#fcebea;color:var(--danger);border:1px solid #f3c4bf}.banner.success{background:#eaf5ea;color:var(--ok);border:1px solid #bfe3bf}.field select.filled,.field input.filled{border:2px solid var(--ok);background:#eaf7ea}.topbar-actions{display:flex;gap:.5rem;align-items:center}.topbar-link{background:transparent;border:1px solid rgba(255,255,255,.4);color:#fff;border-radius:8px;padding:.4rem .8rem;min-height:auto;font-size:.9rem}.standalone-section{margin-top:1.25rem;padding-top:1rem;border-top:1px solid var(--border)}.standalone-section.no-border{margin-top:0;padding-top:0;border-top:none}.standalone-results{border:1px solid var(--border);border-radius:8px;max-height:320px;overflow-y:auto;margin-top:.3rem}.standalone-result{padding:.5rem .75rem;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;gap:.5rem}.standalone-result:last-child{border-bottom:none}.standalone-result-desc{font-size:.9rem}.standalone-result-cat{font-size:.75rem;color:var(--muted)}.standalone-result.selected{background:#f3faf3;flex-wrap:wrap}.standalone-result-controls{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.picker-split{display:flex;gap:1rem;align-items:flex-start}.picker-split-controls,.picker-split-results{flex:1;min-width:0}@media (max-width: 700px){.picker-split{flex-direction:column}}.item-picker-results{border:1px solid var(--border);border-radius:8px;max-height:320px;overflow-y:auto;margin-top:.3rem}.item-picker-result{padding:.6rem .75rem;border-bottom:1px solid var(--border);font-size:.9rem}.item-picker-result:last-child{border-bottom:none}.item-picker-result:active{background:#eef3f7}.item-picker-result.selected{background:#f3faf3;font-weight:600}.item-picker-check{color:var(--ok);font-weight:700}.picker-placeholder{color:var(--muted);font-size:.9rem;padding:.5rem 0}.qty-stepper{display:inline-flex;align-items:center;gap:.4rem}.qty-stepper-btn{width:40px;min-height:40px;border:1px solid var(--border);border-radius:8px;background:#fff;color:var(--navy-dark);font-size:1.1rem;font-weight:700;line-height:1;padding:0}.qty-stepper-btn:disabled{opacity:.4}.qty-stepper-input{width:48px;min-height:40px;padding:.2rem;text-align:center;border:1px solid var(--border);border-radius:6px}.qty-stepper-compact .qty-stepper-btn{width:30px;min-height:30px;font-size:.95rem}.qty-stepper-compact .qty-stepper-input{width:38px;min-height:30px}.cart-line-qty{font-size:.85rem;color:var(--muted)}.admin-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(0,0,0,.4);display:flex;align-items:center;justify-content:center;z-index:50;padding:1rem}.admin-panel{background:#fff;border-radius:12px;width:min(900px,100%);max-height:90vh;display:flex;flex-direction:column;padding:1.25rem}.admin-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.admin-tabs{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.75rem}.admin-tabs button{border:1px solid var(--border);background:#fff;border-radius:999px;padding:.4rem .9rem;min-height:auto;font-size:.9rem}.admin-tabs button.active{background:var(--navy);color:#fff;border-color:var(--navy)}.admin-add-form{display:grid;grid-template-columns:1fr 2fr .8fr 1fr auto;gap:.5rem;align-items:center;margin-bottom:.5rem}.admin-add-form input{padding:.5rem .6rem;border:1px solid var(--border);border-radius:8px}.sell-preview{font-size:.85rem;color:var(--muted);white-space:nowrap}.sell-price-cell{color:var(--muted)}.admin-search{width:100%;padding:.5rem .7rem;border:1px solid var(--border);border-radius:8px;margin-bottom:.5rem}.admin-table-wrap{overflow-y:auto;flex:1}.admin-table{width:100%;border-collapse:collapse;font-size:.9rem}.admin-table th{text-align:left;border-bottom:2px solid var(--border);padding:.4rem;position:sticky;top:0;background:#fff}.admin-table td{border-bottom:1px solid var(--border);padding:.4rem;vertical-align:middle}.price-input{width:90px;padding:.3rem;min-height:36px}.row-error{color:var(--danger);font-size:.75rem}.btn-small{min-height:36px;padding:.3rem .6rem;font-size:.85rem;margin-right:.3rem}@media (max-width: 700px){.admin-add-form{grid-template-columns:1fr}}.section-header-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.section-header-row h2{margin:0}.btn-text{background:none;border:none;color:var(--navy);font-size:.85rem;text-decoration:underline;padding:0;min-height:auto}.stepper-bar{display:flex;align-items:flex-start;flex-wrap:wrap;margin:.6rem 0 .75rem}.stepper-item{display:flex;align-items:center}.stepper-dot{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;min-height:26px;flex-shrink:0;border:none;border-radius:50%;background:var(--border);color:var(--muted);font-weight:700;font-size:.8rem;padding:0}.stepper-dot-active{background:var(--navy);color:#fff}.stepper-dot-done{background:var(--ok);color:#fff;cursor:pointer}.stepper-dot-pending{opacity:.6;cursor:default}.stepper-label{font-size:.72rem;margin:0 .35rem;white-space:nowrap;color:var(--muted)}.stepper-label-active{color:var(--navy-dark);font-weight:700}.stepper-label-done{color:var(--ok)}.stepper-line{width:14px;height:2px;background:var(--border);margin-right:.1rem}.wizard-step{margin-bottom:.75rem;border-radius:10px}.wizard-step-active{border:1px solid var(--border);background:#fbfcfd;padding:.9rem 1rem .5rem;animation:wizard-step-in .15s ease-out}@keyframes wizard-step-in{0%{opacity:0}to{opacity:1}}.wizard-step-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.wizard-step-header h3{margin:0;font-size:1rem;color:var(--navy-dark);flex:1}.wizard-step-badge{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;flex-shrink:0;border-radius:50%;background:var(--border);color:var(--muted);font-weight:700;font-size:.85rem}.wizard-step-badge-active{background:var(--navy);color:#fff}.step-clear-link{background:none;border:none;color:var(--danger);font-size:.8rem;text-decoration:underline;padding:0;min-height:auto}.step-next-btn{margin-top:.5rem}.facet-filters{margin-bottom:.5rem}.facet-group{margin-bottom:.4rem}.facet-group-label{display:block;font-size:.75rem;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.02em;margin-bottom:.25rem}.facet-chip-row{display:flex;flex-wrap:wrap;gap:.35rem}.facet-chip{min-height:32px;padding:.25rem .65rem;border:1px solid var(--border);border-radius:999px;background:#fff;color:var(--navy-dark);font-size:.82rem}.facet-chip.active{background:var(--navy);color:#fff;border-color:var(--navy)}.facet-clear{min-height:auto;padding:.2rem 0;background:transparent;border:none;color:var(--danger);font-size:.8rem;text-decoration:underline}.facet-no-match{color:var(--muted);font-size:.85rem;padding:.4rem 0}.standalone-more-hint{color:var(--muted);font-size:.8rem;padding:.3rem .1rem}.builder-tabs{display:flex;gap:.4rem;margin-bottom:1rem}.builder-tabs button{flex:1;border:1px solid var(--border);background:#fff;border-radius:8px;padding:.6rem;font-weight:600;color:var(--navy-dark)}.builder-tabs button.active{background:var(--navy);color:#fff;border-color:var(--navy)}
