@import "https://fonts.googleapis.com/css2?family=Lato:ital,wght@0,300;0,400;0,700;0,900;1,400&display=swap";:root{--craie:#f7f2eb;--shadow:#2b2b2b;--gris:#4a4a47;--gold:#b8945a;--cream:#f5efe6;--offwhite:#faf7f2;--border:#d6d2cb;--white:#fff;--ok:#cfe0c3;--watch:#f0dcb4;--over:#e8c4b8;--ok-text:#3f6b2f;--watch-text:#8a6a23;--over-text:#9c4b35;--radius:10px;--shadow-sm:0 1px 2px #2b2b2b0f;--shadow-md:0 6px 20px #2b2b2b1f;font-family:Lato,Roboto,system-ui,sans-serif}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--offwhite);color:var(--shadow);-webkit-font-smoothing:antialiased;font-size:14px}h1,h2,h3{letter-spacing:-.01em;margin:0;font-weight:900}a{color:var(--gold)}button{font-family:inherit}.app{flex-direction:column;height:100vh;display:flex;overflow:hidden}.topbar{background:var(--craie);border-bottom:1px solid var(--border);flex:none;align-items:center;gap:18px;padding:10px 22px;display:flex}.topbar .brand{align-items:center;gap:10px;display:flex}.topbar .brand img.monogram{height:34px}.topbar .brand img.wordmark{opacity:.9;height:18px}.topbar .appname{border-left:1px solid var(--border);color:var(--gris);letter-spacing:.04em;text-transform:uppercase;margin-left:6px;padding-left:14px;font-size:12px;font-weight:700}.topbar .spacer{flex:1}.topbar .scan-quick{align-items:center;gap:6px;display:flex}.nav{background:var(--offwhite);border-bottom:1px solid var(--border);flex:none;gap:2px;padding:0 18px;display:flex}.nav button{color:var(--gris);letter-spacing:.03em;cursor:pointer;background:0 0;border:none;border-bottom:3px solid #0000;align-items:center;gap:7px;padding:12px 16px;font-size:13px;font-weight:700;display:flex}.nav button:hover:not(.active){color:var(--shadow);background:#2b2b2b0a}.nav button.active{color:var(--shadow);border-bottom-color:var(--gold)}.nav .count-pill{background:var(--cream);color:var(--gris);border-radius:999px;padding:1px 8px;font-size:11px}.main{flex-direction:column;flex:auto;width:100%;max-width:1400px;min-height:0;margin:0 auto;padding:22px 22px 0;display:flex;overflow:hidden}.view{flex-direction:column;flex:auto;min-height:0;display:flex}.view-head{flex:none}.view-scroll{flex:auto;min-height:0;padding-bottom:22px;overflow-y:auto}.footer{text-align:center;background:var(--craie);border-top:1px solid var(--border);color:var(--gris);letter-spacing:.02em;flex:none;padding:9px;font-size:11px;font-weight:700}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:18px;display:flex}.page-head h1{font-size:24px}.page-head .sub{color:var(--gris);margin-top:3px;font-size:13px}.card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.card.pad{padding:18px}.stat-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;display:grid}.stat{background:var(--white);border:1px solid var(--border);border-radius:var(--radius);padding:16px}.stat .label{text-transform:uppercase;letter-spacing:.06em;color:var(--gris);font-size:11px;font-weight:700}.stat .value{margin-top:4px;font-size:30px;font-weight:900}.stat .value.gold{color:var(--gold)}.btn{border:1px solid var(--border);background:var(--white);color:var(--shadow);cursor:pointer;white-space:nowrap;border-radius:8px;align-items:center;gap:6px;padding:9px 15px;font-size:13px;font-weight:700;display:inline-flex}.btn:hover{border-color:var(--gold)}.btn.primary{background:var(--shadow);color:var(--white);border-color:var(--shadow)}.btn.primary:hover{background:#000}.btn.gold{background:var(--gold);border-color:var(--gold);color:var(--white)}.btn.gold:hover{filter:brightness(.95)}.btn.sm{padding:5px 10px;font-size:12px}.btn.danger{color:var(--over-text)}.btn.danger:hover{border-color:var(--over-text)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}input,select,textarea{border:1px solid var(--border);background:var(--white);color:var(--shadow);border-radius:8px;width:100%;padding:8px 10px;font-family:inherit;font-size:13px}input:focus,select:focus,textarea:focus{border-color:var(--gold);outline:none;box-shadow:0 0 0 2px #b8945a2e}label.field{text-transform:uppercase;letter-spacing:.04em;color:var(--gris);margin-bottom:4px;font-size:11px;font-weight:700;display:block}.form-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;display:grid}.toolbar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:14px;display:flex}.toolbar .search{flex:1;min-width:220px;position:relative}.toolbar .search input{padding-left:34px}.toolbar .search svg{color:var(--gris);position:absolute;top:9px;left:9px}.toolbar select{width:auto;min-width:130px}.table-wrap{border:1px solid var(--border);border-radius:var(--radius);background:var(--white);overflow:auto}.table-wrap.scroll-area,.view-scroll.scroll-area{flex:auto;min-height:0}table{border-collapse:collapse;width:100%;font-size:13px}thead th{background:var(--craie);color:var(--shadow);text-align:left;text-transform:uppercase;letter-spacing:.04em;border-bottom:2px solid var(--gold);white-space:nowrap;padding:10px 12px;font-size:11px;font-weight:700;position:sticky;top:0}tbody td{border-bottom:1px solid var(--border);vertical-align:middle;padding:9px 12px}tbody tr:nth-child(2n){background:var(--offwhite)}tbody tr:hover{background:var(--cream)}.row-click{cursor:pointer}td.mono,.mono{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:12px}.badge{white-space:nowrap;border-radius:999px;padding:2px 9px;font-size:11px;font-weight:700;display:inline-block}.badge.received{color:#3a5a72;background:#e6eef4}.badge.instock{background:var(--ok);color:var(--ok-text)}.badge.installed{color:#5a4a72;background:#e8e2f0}.badge.delivered{background:var(--cream);color:var(--gris)}.badge.unordered{color:#6a6a6a;background:#ececec}.badge.ordered{background:var(--watch);color:var(--watch-text)}.badge.backorder{background:var(--over);color:var(--over-text)}.badge.draft{color:#6a6a6a;background:#ececec}.badge.issued{background:var(--watch);color:var(--watch-text)}.badge.low{background:var(--over);color:var(--over-text)}.badge.shipped{color:#3a6079;background:#dbe7ee}.overlay{z-index:50;background:#2b2b2b73;justify-content:flex-end;display:flex;position:fixed;inset:0}.overlay.center{justify-content:center;align-items:center}.drawer{background:var(--offwhite);width:min(620px,100%);height:100%;box-shadow:var(--shadow-md);flex-direction:column;animation:.18s slidein;display:flex}.modal{background:var(--offwhite);border-radius:var(--radius);width:min(560px,94vw);max-height:90vh;box-shadow:var(--shadow-md);overflow:auto}@keyframes slidein{0%{opacity:.6;transform:translate(30px)}to{opacity:1;transform:translate(0)}}.drawer-head,.modal-head{background:var(--craie);border-bottom:2px solid var(--gold);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.drawer-head h2,.modal-head h2{font-size:18px}.drawer-body,.modal-body{flex:1;padding:20px;overflow-y:auto}.drawer-foot,.modal-foot{background:var(--white);border-top:1px solid var(--border);flex-wrap:wrap;justify-content:flex-end;gap:10px;padding:14px 20px;display:flex}.icon-btn{cursor:pointer;color:var(--gris);background:0 0;border:none;border-radius:6px;padding:4px;display:flex}.icon-btn:hover{color:var(--shadow);background:#0000000f}.empty{text-align:center;color:var(--gris);padding:60px 20px}.empty svg{opacity:.4;margin-bottom:10px}.spinner{border:3px solid var(--border);border-top-color:var(--gold);border-radius:50%;width:22px;height:22px;animation:.7s linear infinite spin}.loading{justify-content:center;padding:50px;display:flex}@keyframes spin{to{transform:rotate(360deg)}}.kv{grid-template-columns:130px 1fr;gap:6px 14px;font-size:13px;display:grid}.kv dt{color:var(--gris);font-weight:700}.kv dd{margin:0}.section-label{text-transform:uppercase;letter-spacing:.05em;color:var(--gris);border-bottom:1px solid var(--border);margin:18px 0 8px;padding-bottom:6px;font-size:12px;font-weight:900}.pill-add{align-items:center;gap:6px;display:inline-flex}.toast{background:var(--shadow);color:var(--white);box-shadow:var(--shadow-md);z-index:100;border-left:4px solid var(--gold);border-radius:999px;padding:11px 20px;font-size:13px;font-weight:700;position:fixed;bottom:22px;left:50%;transform:translate(-50%)}.muted{color:var(--gris)}.right{text-align:right}.nowrap{white-space:nowrap}.scan-video{border-radius:var(--radius);aspect-ratio:4/3;object-fit:cover;background:#000;width:100%}.btn,.nav button,.stat,.card,.badge,.icon-btn,input,select,textarea,.ms-btn,.row-click,tbody tr{transition:background-color .16s,border-color .16s,color .16s,box-shadow .16s,transform .12s,opacity .16s}.btn:active{transform:translateY(1px)scale(.99)}.stat:hover,.card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.nav button:hover:not(.active){background:#ffffff0f}@keyframes fadeUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:.26s both fadeUp}@keyframes overlayIn{0%{opacity:0}to{opacity:1}}.overlay{animation:.15s overlayIn}@keyframes rowIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}tbody tr.row-anim{animation:.2s both rowIn}tbody tr.sel{background:#b8945a29!important}tbody tr.sel:hover{background:#b8945a3d!important}input.cb{cursor:pointer;width:16px;height:16px;accent-color:var(--gold);margin:0}.btn.chip{border-radius:999px}.global-search-trigger{border:1px solid var(--border);background:var(--white);width:min(540px,46vw);min-width:320px;color:var(--gris);cursor:pointer;box-shadow:var(--shadow-sm);border-radius:999px;justify-self:center;align-items:center;gap:9px;padding:9px 16px;font-size:13px;font-weight:600;display:flex}.global-search-trigger:hover{border-color:var(--gold);color:var(--shadow)}.global-search-trigger span{text-align:left;flex:1}.global-search-trigger kbd{background:var(--cream);border:1px solid var(--border);color:var(--gris);border-radius:5px;padding:1px 6px;font-family:inherit;font-size:11px;font-weight:700}.gs-overlay{justify-content:center;align-items:flex-start}.gs{background:var(--white);width:min(640px,94vw);box-shadow:var(--shadow-md);border-radius:14px;flex-direction:column;max-height:72vh;margin-top:9vh;animation:.18s both fadeUp;display:flex;overflow:hidden}.gs-input{border-bottom:1px solid var(--border);color:var(--gris);align-items:center;gap:10px;padding:16px 18px;display:flex}.gs-input input{background:0 0;border:none;padding:0;font-size:16px}.gs-input input:focus{box-shadow:none}.gs-results{padding:6px;overflow-y:auto}.gs-hint{text-align:center;color:var(--gris);padding:26px;font-size:13px}.gs-group{text-transform:uppercase;letter-spacing:.05em;color:var(--gris);align-items:center;gap:6px;padding:10px 12px 4px;font-size:11px;font-weight:800;display:flex}.gs-row{text-align:left;cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:center;gap:10px;width:100%;padding:9px 12px;display:flex}.gs-row.active{background:var(--cream)}.gs-seeall{border:1px solid var(--border);background:var(--offwhite);width:100%;color:var(--shadow);cursor:pointer;text-align:left;border-radius:8px;align-items:center;gap:8px;margin-bottom:4px;padding:11px 12px;font-size:13px;font-weight:600;display:flex}.gs-seeall:hover{border-color:var(--gold);background:var(--cream)}.gs-seeall .gs-arrow{color:var(--gold);margin-left:auto;font-weight:800}.gs-row .gs-main{white-space:nowrap;text-overflow:ellipsis;font-weight:700;overflow:hidden}.gs-row .gs-sub{color:var(--gris);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:12px;overflow:hidden}.gs-foot{border-top:1px solid var(--border);background:var(--offwhite);color:var(--gris);gap:16px;padding:10px 16px;font-size:11px;display:flex}.gs-foot span{align-items:center;gap:4px;display:inline-flex}.ms{position:relative}.ms-btn{border:1px solid var(--border);background:var(--white);width:100%;color:var(--shadow);cursor:pointer;border-radius:8px;justify-content:space-between;align-items:center;gap:6px;padding:8px 11px;font-size:13px;font-weight:600;display:flex}.ms-btn:hover{border-color:var(--gold)}.ms-btn.active{border-color:var(--gold);background:var(--cream)}.ms-label{align-items:center;gap:6px;display:inline-flex}.ms-count{background:var(--gold);color:var(--white);border-radius:999px;padding:0 7px;font-size:11px;font-weight:800;line-height:17px}.ms-chev{color:var(--gris);transition:transform .15s}.ms-chev.up{transform:rotate(180deg)}.ms-panel{z-index:30;background:var(--white);border:1px solid var(--border);width:max(220px,100%);box-shadow:var(--shadow-md);border-radius:10px;animation:.14s both fadeUp;position:absolute;top:calc(100% + 6px);left:0;overflow:hidden}.ms-search{border-bottom:1px solid var(--border);color:var(--gris);align-items:center;gap:6px;padding:8px 10px;display:flex}.ms-search input{border:none;padding:2px 0;font-size:13px}.ms-search input:focus{box-shadow:none}.ms-clear{text-align:left;cursor:pointer;background:var(--offwhite);width:100%;color:var(--gold);border:none;border-bottom:1px solid var(--border);padding:7px 12px;font-size:12px;font-weight:700}.ms-list{max-height:240px;padding:4px;overflow-y:auto}.ms-opt{cursor:pointer;border-radius:7px;align-items:center;gap:9px;padding:7px 9px;font-size:13px;display:flex}.ms-opt:hover{background:var(--cream)}.ms-opt input{width:15px;height:15px;accent-color:var(--gold);margin:0}.ms-empty{text-align:center;color:var(--gris);padding:14px;font-size:12px}.bulk-bar{background:var(--shadow);color:var(--white);box-shadow:var(--shadow-md);z-index:60;border-bottom:2px solid var(--gold);border-radius:12px;align-items:center;gap:16px;padding:10px 14px 10px 18px;animation:.2s both barIn;display:flex;position:fixed;bottom:22px;left:50%;transform:translate(-50%)}@keyframes barIn{0%{opacity:0;transform:translate(-50%,14px)}to{opacity:1;transform:translate(-50%)}}.bulk-count{white-space:nowrap;font-weight:800}.bulk-actions{align-items:center;gap:10px;display:flex}.bulk-field{color:var(--white);background:#ffffff1f;border-radius:8px;align-items:center;gap:6px;padding:4px 8px;display:flex}.bulk-field select,.bulk-field input{color:var(--white);background:0 0;border:none;width:auto;min-width:120px;padding:3px;font-size:13px;font-weight:600}.bulk-field select:focus,.bulk-field input:focus{box-shadow:none}.bulk-field select option{color:var(--shadow)}.bulk-field input::placeholder{color:#ffffffb3}.icon-btn.light{color:#fffc}.icon-btn.light:hover{color:var(--white);background:#ffffff26}.segmented{background:var(--cream);border:1px solid var(--border);border-radius:10px;gap:2px;margin-bottom:14px;padding:3px;display:inline-flex}.segmented button{color:var(--gris);cursor:pointer;background:0 0;border:none;border-radius:7px;align-items:center;gap:6px;padding:7px 14px;font-size:13px;font-weight:700;display:inline-flex}.segmented button:hover:not(.active){color:var(--shadow)}.segmented button.active{background:var(--white);color:var(--shadow);box-shadow:var(--shadow-sm)}.result-count{margin:0 2px 8px}.result-count .hint{opacity:.7;margin-left:8px;font-style:italic}th.draggable-col{cursor:grab;-webkit-user-select:none;user-select:none}th.draggable-col:hover .col-grip{opacity:1}th.draggable-col:active{cursor:grabbing}.col-grip{vertical-align:middle;opacity:.35;color:var(--gris);margin-right:4px;display:inline-flex}.sort-caret{vertical-align:middle;color:var(--gold);margin-left:3px}th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}th.sortable:hover{color:var(--gold)}.waiting-group{margin-bottom:16px;overflow:hidden}.waiting-head{background:var(--craie);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.waiting-head h3{font-size:15px}.count-pill.dark{background:var(--shadow);color:var(--white);border-radius:999px;padding:2px 10px;font-size:11px;font-weight:800}.waiting-group table thead th{background:var(--offwhite)}.eta{font-weight:700}.eta.overdue{color:var(--over-text)}.stepper{border-bottom:1px solid var(--border);align-items:center;margin-bottom:18px;padding-bottom:16px;display:flex}.step{color:var(--gris);flex:1;align-items:center;gap:8px;display:flex;position:relative}.step:last-child{flex:0}.step-dot{background:var(--cream);border:1px solid var(--border);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;font-size:12px;font-weight:800;display:inline-flex}.step-label{white-space:nowrap;font-size:13px;font-weight:700}.step-line{background:var(--border);flex:1;min-width:24px;height:2px;margin:0 12px}.step.active .step-dot{background:var(--gold);border-color:var(--gold);color:var(--white)}.step.active .step-label{color:var(--shadow)}.step.done .step-dot{background:var(--shadow);border-color:var(--shadow);color:var(--white)}.step.done .step-line{background:var(--gold)}.review-summary{background:var(--cream);border:1px solid var(--border);border-radius:var(--radius);flex-wrap:wrap;gap:28px;margin-bottom:12px;padding:14px 18px;display:flex}.review-summary>div{flex-direction:column;gap:2px;display:flex}.review-summary .muted{text-transform:uppercase;letter-spacing:.05em;font-size:11px}.review-summary strong{font-size:17px}.supply-thumb{object-fit:cover;border:1px solid var(--border);cursor:pointer;background:var(--cream);cursor:zoom-in;border-radius:7px;width:38px;height:38px;display:block}.supply-thumb.placeholder{color:var(--gris);opacity:.5;cursor:pointer;justify-content:center;align-items:center;display:inline-flex}.overlay.lightbox{cursor:zoom-out;z-index:80;background:#141311db;padding:30px}.lightbox-img{object-fit:contain;max-width:92vw;max-height:90vh;box-shadow:var(--shadow-md);background:var(--white);border-radius:8px}.lightbox-close{color:#fff;cursor:pointer;background:#ffffff24;border:none;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;display:flex;position:fixed;top:18px;right:22px}.lightbox-close:hover{background:#ffffff47}.photo-field{align-items:center;gap:16px;margin-bottom:16px;display:flex}.photo-preview{border-radius:var(--radius);border:1px dashed var(--border);background:var(--cream);text-align:center;cursor:pointer;flex-shrink:0;justify-content:center;align-items:center;width:110px;height:110px;font-size:12px;display:flex;overflow:hidden}.photo-preview:hover{border-color:var(--gold)}.photo-preview img{object-fit:cover;width:100%;height:100%}.photo-actions{flex-direction:column;gap:8px;display:flex}.photo-url{align-items:center;gap:6px;display:flex}.photo-url input{padding:6px 8px;font-size:12px}
