*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #ffffff;--bg-app: #f7f7f9;--bg-card: #ffffff;--bg-input: #ffffff;--bg-hover: #f5f5f7;--bg-section: #f9fafb;--bg-active: #fdf2f0;--border: #e5e7eb;--border-strong:#d1d5db;--brand: #c0392b;--brand-dark: #a93226;--brand-soft: #fdecea;--success: #16a34a;--success-soft: #ecfdf5;--warning: #d97706;--warning-soft: #fef3c7;--info: #2563eb;--info-soft: #eff6ff;--danger: #dc2626;--danger-soft: #fee2e2;--text: #1a1a2e;--text-muted: #6b7280;--text-dim: #9ca3af;--mono: "JetBrains Mono", "Fira Code", "Cascadia Code", "Courier New", monospace;--radius: 6px;--radius-lg: 8px;--radius-pill: 999px;--shadow-sm: 0 1px 2px rgba(15, 23, 42, .04);--sidebar-w: 220px;--header-h: 52px}html,body{height:100%;background:var(--bg-app);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{height:100%;display:flex;flex-direction:column}.app-shell{display:flex;flex-direction:column;height:100%}.app-body{flex:1;display:flex;min-height:0}.app-header{background:var(--bg);border-bottom:1px solid var(--border);height:var(--header-h);flex-shrink:0;display:flex;align-items:center;padding:0 24px;gap:16px}.app-brand{display:flex;align-items:center;gap:8px;text-decoration:none;color:var(--brand);font-weight:800;font-size:16px;letter-spacing:.01em;white-space:nowrap}.app-brand-mark{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;background:var(--brand);color:#fff;border-radius:4px;font-weight:800;font-size:12px;letter-spacing:.02em}.app-brand-logo{height:32px;width:auto;display:block;mix-blend-mode:multiply}.app-brand-sub{color:var(--text);font-weight:500;font-size:13px;margin-left:4px}.app-header-actions{margin-left:auto;display:flex;align-items:center;gap:4px}.header-icon-btn{position:relative;width:34px;height:34px;border-radius:6px;background:transparent;border:none;color:var(--text-muted);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background .15s,color .15s}.header-icon-btn:hover{background:var(--bg-hover);color:var(--text)}.header-icon-btn .dot{position:absolute;top:7px;right:7px;width:7px;height:7px;background:var(--brand);border:2px solid var(--bg);border-radius:50%}.rt-status{display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--text-dim);margin-right:6px;flex-shrink:0;cursor:help}.rt-status-connected{background:var(--success);box-shadow:0 0 #16a34a80;animation:rt-pulse 2.4s ease-in-out infinite}.rt-status-reconnecting{background:var(--warning)}.rt-status-disconnected{background:var(--danger)}.rt-status-off{background:var(--text-dim);opacity:.5}@keyframes rt-pulse{0%,to{box-shadow:0 0 #16a34a73}50%{box-shadow:0 0 0 6px #16a34a00}}.header-avatar{width:32px;height:32px;border-radius:50%;background:var(--brand);color:#fff;font-weight:700;font-size:12px;display:inline-flex;align-items:center;justify-content:center;border:none;cursor:pointer;margin-left:6px;letter-spacing:.02em}.header-scan-link{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--text-muted);text-decoration:none;padding:6px 10px;border-radius:6px;border:1px solid var(--border);background:var(--bg);transition:background .15s,color .15s,border-color .15s;white-space:nowrap}.header-scan-link:hover{border-color:var(--brand);color:var(--brand);background:var(--brand-soft)}.app-sidebar{width:var(--sidebar-w);flex-shrink:0;background:var(--bg);border-right:1px solid var(--border);display:flex;flex-direction:column;overflow-y:auto}.sidebar-section-label{font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--text-dim);padding:18px 20px 10px}.sidebar-nav{display:flex;flex-direction:column;gap:2px;padding:0 8px}.nav-item{position:relative;display:flex;align-items:center;gap:10px;width:100%;background:transparent;border:none;border-left:3px solid transparent;color:var(--text-muted);cursor:pointer;font-size:13px;font-weight:500;padding:9px 12px 9px 14px;border-radius:0 6px 6px 0;text-align:left;transition:background .12s,color .12s}.nav-item .nav-icon{width:16px;height:16px;flex-shrink:0;color:currentColor}.nav-item .nav-chevron{margin-left:auto;width:14px;height:14px;color:var(--text-dim)}.nav-item:hover{background:var(--bg-hover);color:var(--text)}.nav-item.active{background:var(--bg-hover);border-left-color:var(--brand);color:var(--text);font-weight:600}.nav-item.active .nav-icon{color:var(--brand)}.sidebar-footer{margin-top:auto;padding:16px 16px 18px;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:12px}.sidebar-user{display:flex;align-items:center;gap:10px}.sidebar-user .avatar{width:36px;height:36px;border-radius:50%;background:var(--brand);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:12px;letter-spacing:.02em;flex-shrink:0}.sidebar-user .user-name{font-size:13px;font-weight:600;color:var(--text);line-height:1.2}.sidebar-user .user-role{font-size:11px;color:var(--text-muted);margin-top:2px}.sidebar-footer-links{display:flex;flex-direction:column;gap:2px}.sidebar-footer-links button{display:flex;align-items:center;gap:8px;background:transparent;border:none;color:var(--text-muted);font-size:12px;font-weight:500;padding:6px 4px;cursor:pointer;border-radius:4px;text-align:left;transition:color .12s,background .12s}.sidebar-footer-links button:hover{color:var(--text);background:var(--bg-hover)}.sidebar-footer-links svg{width:14px;height:14px;flex-shrink:0}.app-main{flex:1;overflow-y:auto;background:var(--bg-app);padding:24px 28px 40px;min-width:0}.page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:22px}.page-title{font-size:24px;font-weight:700;color:var(--text);letter-spacing:-.01em}.page-subtitle{margin-top:4px;font-size:13px;color:var(--text-muted)}.page-meta{text-align:right;font-size:12px;color:var(--text-muted)}.page-meta strong{display:block;color:var(--text);font-weight:600;font-size:13px}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);margin-bottom:16px;box-shadow:var(--shadow-sm);overflow:hidden}.card-body{padding:18px 20px 20px}.card-title{display:flex;align-items:center;gap:8px;background:var(--bg-section);border-bottom:1px solid var(--border);padding:11px 16px;font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--text)}.card-title svg{width:14px;height:14px;color:var(--brand);flex-shrink:0}.card-title .count-pill{margin-left:6px;font-size:11px;font-weight:600;letter-spacing:0;text-transform:none;color:var(--text-muted);background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-pill);padding:1px 8px}.card-title .card-title-actions{margin-left:auto;display:flex;align-items:center;gap:8px;text-transform:none;letter-spacing:0;font-weight:500}.status-bar{display:flex;align-items:center;gap:14px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-lg);padding:12px 18px;margin-bottom:16px;box-shadow:var(--shadow-sm)}.status-bar .label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);white-space:nowrap}.status-bar .value{font-family:var(--mono);font-size:15px;font-weight:700;color:var(--brand)}.status-bar .value.none{color:var(--text-muted);font-weight:400;font-size:13px;font-family:inherit}.input-row{display:flex;gap:8px;align-items:flex-start;margin-bottom:8px}.scan-input-wrap{flex:1;display:flex;flex-direction:column;gap:4px}input[type=text],input[type=date],input[type=number],input[type=file],select{background:var(--bg-input);border:1px solid var(--border-strong);border-radius:var(--radius);color:var(--text);font-family:inherit;font-size:14px;padding:0 12px;height:36px;width:100%;transition:border-color .15s,box-shadow .15s;outline:none}select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>");background-repeat:no-repeat;background-position:right 10px center;padding-right:32px}input[type=text]::placeholder{color:var(--text-dim)}input[type=text]:focus,input[type=date]:focus,input[type=number]:focus,select:focus{border-color:var(--brand);box-shadow:0 0 0 3px #c0392b1f}input[type=text]:disabled{opacity:.5;cursor:not-allowed;background:var(--bg-hover)}.form-field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.form-field label{font-size:12px;font-weight:500;color:var(--text-muted)}.form-field .req{color:var(--brand);margin-left:3px}.input-hint{font-size:11px;color:var(--text-muted)}.inline-error{font-size:12px;color:var(--danger);min-height:18px}.inline-warn{font-size:12px;color:var(--warning)}.inline-success{font-size:12px;color:var(--success)}.btn{background:var(--brand);border:1px solid var(--brand);border-radius:var(--radius);color:#fff;cursor:pointer;font-size:13px;font-weight:600;padding:0 16px;height:36px;display:inline-flex;align-items:center;justify-content:center;gap:6px;transition:background .15s,border-color .15s,color .15s;white-space:nowrap;font-family:inherit}.btn:hover{background:var(--brand-dark);border-color:var(--brand-dark)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-danger{background:var(--danger-soft);border-color:var(--danger-soft);color:var(--danger)}.btn-danger:hover{background:#fbcfcf;border-color:#fbcfcf}.btn-sm{font-size:12px;padding:0 10px;height:28px}.btn-outline{background:var(--bg);border:1px solid var(--border-strong);color:var(--text)}.btn-outline:hover{background:var(--bg-hover);border-color:var(--border-strong);color:var(--text)}.table-wrap{overflow-x:auto;background:var(--bg);border-radius:var(--radius-lg);border:1px solid var(--border)}table{width:100%;border-collapse:collapse;font-size:13px}thead tr{background:var(--bg-section)}th{padding:10px 16px;text-align:left;font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);border-bottom:1px solid var(--border)}td{padding:11px 16px;border-bottom:1px solid var(--border);vertical-align:middle;color:var(--text)}tr:last-child td{border-bottom:none}tbody tr{transition:background .1s}tbody tr:hover{background:var(--bg-hover)}.mono{font-family:var(--mono);font-size:12.5px;color:var(--text)}.badge{display:inline-flex;align-items:center;font-size:11px;font-weight:600;letter-spacing:.02em;padding:3px 10px;border-radius:var(--radius-pill);border:1px solid transparent;white-space:nowrap}.badge-open{background:var(--success-soft);color:var(--success)}.badge-closed{background:#f1f5f9;color:var(--text-muted)}.badge-lot{background:var(--info-soft);color:var(--info)}.badge-warn{background:var(--warning-soft);color:var(--warning)}.badge-none{background:#f1f5f9;color:var(--text-muted)}.badge-on-site{background:var(--info-soft);color:var(--info)}.badge-processing{background:var(--warning-soft);color:var(--warning)}.badge-complete{background:var(--success-soft);color:var(--success)}.badge-expected,.badge-pending{background:#f1f5f9;color:var(--text-muted)}.badge-building{background:var(--warning-soft);color:var(--warning)}.tag{display:inline-flex;font-size:10px;font-weight:700;letter-spacing:.08em;padding:2px 7px;border-radius:4px;text-transform:uppercase;background:var(--bg-section);color:var(--text-muted);border:1px solid var(--border)}.delta-pill{display:inline-flex;align-items:center;gap:2px;font-size:11px;font-weight:600;padding:2px 8px;border-radius:var(--radius-pill);background:var(--success-soft);color:var(--success)}.delta-pill.neg{background:var(--danger-soft);color:var(--danger)}.scan-list{list-style:none;max-height:300px;overflow-y:auto;border:1px solid var(--border);border-radius:var(--radius);margin-top:12px;background:var(--bg)}.scan-list-item{display:flex;align-items:center;gap:12px;padding:8px 14px;border-bottom:1px solid var(--border);font-size:13px}.scan-list-item:last-child{border-bottom:none}.scan-list-item .bc{font-family:var(--mono);font-size:12px;color:var(--brand);min-width:100px;font-weight:600}.scan-list-item .desc{color:var(--text);font-size:13px;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.scan-list-item .pallet-tag{font-family:var(--mono);font-size:11px;color:var(--text-muted)}.scan-list-item.latest{background:var(--brand-soft)}.metrics-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}@media (max-width: 1100px){.metrics-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 600px){.metrics-grid{grid-template-columns:1fr}}.metric-card{position:relative;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-lg);padding:18px 20px 20px;box-shadow:var(--shadow-sm)}.metric-card .m-value{font-size:30px;font-weight:700;color:var(--text);line-height:1.1;letter-spacing:-.01em}.metric-card .m-label{margin-top:6px;font-size:12px;font-weight:500;color:var(--text-muted)}.metric-card .m-delta{position:absolute;top:16px;right:16px}.metric-card .m-sub{margin-top:6px;font-size:11px;color:var(--text-dim)}.metrics-grid-5{grid-template-columns:repeat(5,1fr)}@media (max-width: 1300px){.metrics-grid-5{grid-template-columns:repeat(3,1fr)}}@media (max-width: 700px){.metrics-grid-5{grid-template-columns:repeat(2,1fr)}}.expand-row td{padding:0;background:var(--bg-section)}.expand-inner{padding:14px 18px;border-top:1px dashed var(--border)}.lot-photo-badge{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:4px;background:var(--brand-soft);color:var(--brand)}.lot-photo-badge svg{width:13px;height:13px}.lot-desc-preview{font-size:12px;color:var(--text-muted);margin-top:3px;font-style:italic;line-height:1.3}.lot-details-panel{display:grid;grid-template-columns:1fr auto;gap:18px;align-items:start;padding:12px;margin-bottom:12px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-md, 8px)}.lot-details-panel .field-label{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);margin-bottom:4px}.lot-desc-block{min-width:0}.lot-desc-text{font-size:14px;color:var(--text);line-height:1.45;white-space:pre-wrap}.lot-photo-gallery{flex-shrink:0}.lot-photo-gallery .field-label{margin-bottom:6px}.lot-photo-grid{display:grid;grid-template-columns:repeat(2,90px);grid-template-rows:repeat(2,90px);gap:6px}.lot-photo-cell{width:90px;height:90px;border-radius:var(--radius-md, 8px);overflow:hidden;border:1px solid var(--border);background:var(--bg-section);display:flex;align-items:center;justify-content:center}.lot-photo-cell img{width:100%;height:100%;object-fit:cover;cursor:zoom-in;display:block}.lot-photo-cell-empty{color:var(--text-dim);font-size:18px;background:var(--bg-section);border-style:dashed}.lot-lightbox{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000eb;z-index:10000;display:flex;align-items:center;justify-content:center;padding:40px;cursor:zoom-out}.lot-lightbox img{max-width:100%;max-height:100%;object-fit:contain;cursor:default}.lot-lightbox-close{position:absolute;top:16px;right:16px;width:40px;height:40px;border-radius:50%;background:#ffffff26;color:#fff;border:none;font-size:28px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center}.lot-lightbox-close:hover{background:#ffffff4d}.lot-row-confirm{display:flex;flex-direction:column;gap:8px;padding:8px 10px;background:var(--danger-soft);border:1px solid var(--danger);border-radius:var(--radius);min-width:320px}.lot-row-confirm-msg{font-size:12px;line-height:1.4;color:var(--text)}.lot-row-confirm-actions{display:flex;gap:6px;justify-content:flex-end}.lot-detail-danger{grid-column:1 / -1;margin-top:8px;padding-top:10px;border-top:1px dashed var(--border);display:flex;justify-content:flex-end}.lot-delete-confirm{display:flex;flex-direction:column;gap:8px;padding:10px 12px;background:var(--danger-soft);border:1px solid var(--danger);border-radius:var(--radius);font-size:13px;color:var(--text);width:100%;max-width:520px}.lot-delete-confirm-actions{display:flex;gap:8px;justify-content:flex-end}.drop-zone{border:2px dashed var(--border-strong);background:var(--bg-section);border-radius:var(--radius-lg);padding:28px;text-align:center;cursor:pointer;transition:border-color .15s,background .15s;margin-bottom:14px}.drop-zone:hover,.drop-zone.drag-over{border-color:var(--brand);background:var(--brand-soft)}.drop-zone p{color:var(--text-muted);font-size:13px}.drop-zone .drop-icon{font-size:24px;margin-bottom:6px;color:var(--text-dim)}.drop-zone:hover .drop-icon,.drop-zone.drag-over .drop-icon{color:var(--brand)}.drop-zone input[type=file]{display:none}.form-grid{display:grid;grid-template-columns:1fr 1fr 2fr auto;gap:10px;align-items:start}@media (max-width: 700px){.form-grid{grid-template-columns:1fr}}.lot-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;font-size:12px;color:var(--text-muted);margin-bottom:8px}.upload-result{background:var(--success-soft);border:1px solid #bbf7d0;border-radius:var(--radius);padding:10px 14px;font-size:13px;color:var(--success);margin-bottom:12px}.upload-result.has-skipped{background:var(--warning-soft);border-color:#fde68a;color:var(--warning)}.alert{display:flex;gap:12px;align-items:flex-start;padding:12px 16px;border-radius:var(--radius-lg);border-left:4px solid;margin-bottom:16px;font-size:13px;line-height:1.5}.alert svg{width:18px;height:18px;flex-shrink:0;margin-top:1px}.alert .alert-title{font-weight:600;margin-bottom:2px}.alert-warning{background:var(--warning-soft);border-color:var(--warning);color:#92400e}.alert-warning .alert-title{color:#78350f}.alert-info{background:var(--info-soft);border-color:var(--info);color:#1e3a8a}.alert-info .alert-title{color:#1e3a8a}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-dim)}.divider{border:none;border-top:1px solid var(--border);margin:20px 0}.section-heading{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);margin-bottom:10px}.empty-state{text-align:center;padding:36px 24px;color:var(--text-muted);font-size:13px}.flex-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.sidebar-toggle{margin-right:4px;margin-left:-6px}.app-shell.is-collapsed{--sidebar-w: 64px}.app-shell.is-collapsed .nav-item{justify-content:center;padding:10px;border-left-width:0;border-right:3px solid transparent;border-radius:6px;margin:0 6px}.app-shell.is-collapsed .nav-item.active{border-right-color:var(--brand);background:var(--bg-active)}.app-shell.is-collapsed .sidebar-nav{padding:0}.app-shell.is-collapsed .nav-label,.app-shell.is-collapsed .nav-chevron,.app-shell.is-collapsed .sidebar-section-label,.app-shell.is-collapsed .sidebar-user .user-text,.app-shell.is-collapsed .sidebar-user-text,.app-shell.is-collapsed .sidebar-footer-links,.app-shell.is-collapsed .app-brand-sub{display:none}.app-shell.is-collapsed .sidebar-footer{align-items:center;padding:14px 8px}@media (max-width: 900px){:root{--sidebar-w: 64px}.nav-item{justify-content:center;padding:10px;border-left-width:0;border-right:3px solid transparent;border-radius:6px;margin:0 6px}.nav-item.active{border-right-color:var(--brand);background:var(--bg-active)}.sidebar-nav{padding:0}.nav-label,.nav-chevron,.sidebar-section-label,.sidebar-user .user-text,.sidebar-user-text,.sidebar-footer-links,.app-brand-sub{display:none}.sidebar-footer{align-items:center;padding:14px 8px}}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a80;z-index:1000;display:flex;align-items:center;justify-content:center;padding:20px;animation:modal-fade-in .12s ease-out}@keyframes modal-fade-in{0%{opacity:0}to{opacity:1}}.modal-card{width:520px;max-width:100%;max-height:90vh;background:var(--bg);border-radius:var(--radius-lg);display:flex;flex-direction:column;overflow:hidden;box-shadow:0 20px 50px #0f172a40;outline:none}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border)}.modal-title{font-size:16px;font-weight:700;color:var(--text);margin:0}.modal-close-btn{background:transparent;border:none;color:var(--text-muted);font-size:24px;line-height:1;cursor:pointer;padding:0 4px;border-radius:4px;transition:background .12s,color .12s}.modal-close-btn:hover{background:var(--bg-hover);color:var(--text)}.modal-body{padding:20px;overflow-y:auto;flex:1}.modal-footer{display:flex;justify-content:flex-end;gap:8px;padding:14px 20px;border-top:1px solid var(--border);background:var(--bg-section)}.nav-group{display:flex;flex-direction:column}.nav-chevron-btn{margin-left:auto;display:inline-flex;align-items:center;justify-content:center;padding:2px;border-radius:4px;color:var(--text-dim);cursor:pointer}.nav-chevron-btn:hover{background:var(--bg-hover);color:var(--text)}.nav-children{display:flex;flex-direction:column;margin:2px 0 4px}.nav-subitem{display:flex;align-items:center;gap:10px;background:transparent;border:none;color:var(--text-muted);cursor:pointer;font-size:12.5px;font-weight:500;padding:7px 12px 7px 38px;border-radius:0 6px 6px 0;text-align:left;transition:background .12s,color .12s}.nav-subitem:hover{background:var(--bg-hover);color:var(--text)}.nav-subitem .nav-icon{width:14px;height:14px;color:var(--text-dim)}.nav-subitem:hover .nav-icon{color:var(--brand)}.app-shell.is-collapsed .nav-children{display:none}@media (max-width: 900px){.nav-children{display:none}}.row-actions-table th.row-actions-col,.row-actions-table td.row-actions-col{width:1%;white-space:nowrap;text-align:right}.row-actions{display:inline-flex;gap:4px;opacity:0;transition:opacity .12s}tr:hover .row-actions{opacity:1}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;background:transparent;border:1px solid transparent;border-radius:6px;color:var(--text-muted);cursor:pointer;transition:background .12s,color .12s,border-color .12s}.icon-btn svg{width:15px;height:15px}.icon-btn:hover{background:var(--bg-hover);color:var(--text);border-color:var(--border)}.icon-btn-danger:hover{color:var(--danger);border-color:var(--danger-soft);background:var(--danger-soft)}.icon-btn-success:hover{color:var(--success);border-color:var(--success-soft);background:var(--success-soft)}.inline-edit{display:inline-flex;align-items:center;gap:6px}.inline-edit input[type=text]{height:28px;width:180px;padding:0 8px;font-family:var(--mono);font-size:12.5px}.inline-edit .icon-btn{width:26px;height:26px}.row-confirm{display:inline-flex;align-items:center;gap:8px;font-size:12.5px}.row-confirm-msg{color:var(--text)}.row-confirm-warn{color:var(--warning);font-weight:500}.detail-back-row{display:flex;justify-content:space-between;margin-bottom:14px;gap:8px}.detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px 24px}@media (max-width: 700px){.detail-grid{grid-template-columns:1fr 1fr}}.detail-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-bottom:4px}.detail-value{font-size:14px;color:var(--text);font-weight:500}.detail-value.mono{font-family:var(--mono);font-size:13px}.scheduler{display:grid;grid-template-columns:320px minmax(0,1fr);gap:18px;align-items:start;height:calc(100vh - var(--header-h) - 130px);min-height:560px}@media (max-width: 1100px){.scheduler{grid-template-columns:280px minmax(0,1fr)}}.scheduler-left{display:flex;flex-direction:column;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;height:100%;box-shadow:var(--shadow-sm)}.scheduler-left-header{padding:14px 16px 10px;border-bottom:1px solid var(--border);background:var(--bg-section)}.scheduler-left-title{display:flex;align-items:center;gap:8px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text);margin-bottom:10px}.filter-pills{display:flex;flex-wrap:wrap;gap:4px}.filter-pill{background:var(--bg);border:1px solid var(--border);color:var(--text-muted);font-size:11px;font-weight:600;padding:4px 10px;border-radius:var(--radius-pill);cursor:pointer;transition:background .12s,color .12s,border-color .12s}.filter-pill:hover{background:var(--bg-hover);color:var(--text)}.filter-pill.active{background:var(--brand);border-color:var(--brand);color:#fff}.scheduler-card-list{flex:1;overflow-y:auto;padding:12px 12px 18px;display:flex;flex-direction:column;gap:10px}.scheduler-section-label{display:flex;align-items:center;gap:8px;font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;padding:6px 4px 4px;margin-top:4px}.scheduler-section-expected{color:var(--text-muted)}.scheduler-section-arrived{color:var(--success)}.scheduler-section-label:first-child{margin-top:0}.scheduler-section-label .count-pill{font-size:10px;padding:1px 7px}.delivery-card{position:relative;background:var(--bg);border:1px solid var(--border);border-left:3px solid var(--text-dim);border-radius:var(--radius-lg);padding:12px 14px;cursor:grab;transition:box-shadow .12s,border-color .12s,transform .05s;-webkit-user-select:none;user-select:none}.delivery-card:hover{box-shadow:0 4px 12px #0f172a14}.delivery-card:active{cursor:grabbing}.delivery-card.is-dragging{opacity:.35}.delivery-card.is-full{opacity:.6}.delivery-card.chip-standard{border-left-color:var(--text-dim)}.delivery-card.chip-express{border-left-color:var(--info)}.delivery-card.chip-fragile{border-left-color:var(--warning)}.delivery-card.chip-oversized{border-left-color:#7c3aed}.delivery-card-row{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin-bottom:6px}.delivery-card-ref{font-weight:700;font-size:13px;color:var(--text);font-family:var(--mono)}.delivery-card-client{font-size:12px;color:var(--text-muted);margin-top:2px}.delivery-card-meta{align-items:center;margin-bottom:8px}.delivery-card-date{font-size:12px;color:var(--text-muted)}.delivery-card-pallets{font-size:13px;font-weight:700;color:var(--info);display:inline-flex;align-items:center;gap:4px}.delivery-card-pallets.is-arrived-no-count{color:var(--info);font-weight:600}.delivery-card-pallets.is-match{color:var(--success)}.delivery-card-pallets.is-mismatch{color:var(--warning)}.delivery-card-allocations{border-top:1px dashed var(--border);padding-top:8px;display:flex;flex-direction:column;gap:5px;font-size:12px}.delivery-card-alloc-row{display:flex;align-items:center;gap:6px}.alloc-dot{width:8px;height:8px;border-radius:50%;display:inline-block}.alloc-dot-auction{background:var(--info)}.alloc-dot-storage{background:var(--text-dim)}.alloc-count{font-weight:700;color:var(--text);min-width:20px;text-align:right}.alloc-arrow{color:var(--text-dim);font-weight:500}.alloc-label{color:var(--text-muted)}.delivery-card-fully{margin-top:8px;text-align:right}.delivery-card-auctions{margin-top:8px;padding-top:8px;border-top:1px dashed var(--border);display:flex;flex-direction:column;gap:3px}.delivery-card-auction-line{font-size:11px;color:var(--text-muted)}.delivery-card-auction-line .mono{color:var(--brand);font-weight:700}.delivery-drag-preview{background:var(--bg);border:1px solid var(--brand);border-radius:var(--radius);padding:10px 12px;box-shadow:0 12px 24px #0f172a2e;font-size:13px;cursor:grabbing;max-width:240px}.delivery-card-meta-inline{font-size:12px;color:var(--text-muted);margin-top:2px}.scheduler-right{display:flex;flex-direction:column;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;height:100%;box-shadow:var(--shadow-sm)}.scheduler-week-nav{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid var(--border);background:var(--bg-section)}.week-nav-controls{display:flex;align-items:center;gap:6px}.week-nav-label{display:inline-flex;align-items:center;gap:8px;justify-self:center;font-size:14px;font-weight:600;color:var(--text)}.week-nav-label svg{width:16px;height:16px;color:var(--brand)}.week-nav-view select{height:30px;font-size:12px;padding:0 28px 0 10px;width:auto}.calendar-grid{flex:1;overflow:auto;display:flex;flex-direction:column}.cal-row{display:grid;grid-template-columns:120px repeat(7,minmax(110px,1fr));border-bottom:1px solid var(--border);min-height:92px}.cal-row:last-child{border-bottom:none}.cal-header-row{min-height:52px;background:var(--bg-section);position:sticky;top:0;z-index:2}.cal-cell{padding:8px;border-right:1px solid var(--border);position:relative}.cal-cell:last-child{border-right:none}.cal-saleroom-cell{font-size:12px;font-weight:700;letter-spacing:.04em;color:var(--text);background:var(--bg-section);display:flex;align-items:center;padding-left:16px;border-right:1px solid var(--border-strong)}.cal-corner{font-size:10px;color:var(--text-muted);letter-spacing:.1em;text-transform:uppercase}.cal-day-header{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}.cal-day-name{font-size:10px;font-weight:700;letter-spacing:.1em;color:var(--text-muted)}.cal-day-date{font-size:13px;font-weight:600;color:var(--text)}.cal-day-header.weekend,.cal-day-cell.weekend{background:#fafbfc}.cal-day-header.weekend .cal-day-name,.cal-day-header.weekend .cal-day-date{color:var(--text-dim)}.cal-day-header.today{border-top:3px solid var(--info);background:var(--info-soft)}.cal-day-header.today .cal-day-date{color:var(--info)}.cal-day-cell.today{background:#2563eb0a}.cal-day-cell{display:flex;flex-direction:column;gap:4px;align-items:stretch;transition:background .12s,box-shadow .12s}.cal-day-cell.is-over{background:var(--info-soft)!important;outline:2px dashed var(--info);outline-offset:-2px;z-index:1}.cal-day-cell.has-auction{background:#c0392b0a}.cal-auction-indicator{display:inline-flex;align-items:center;font-size:9px;font-weight:700;padding:1px 6px;border-radius:var(--radius-pill);background:var(--brand-soft);color:var(--brand);border:1px solid #f5c4be;margin-bottom:4px;align-self:flex-start;letter-spacing:.02em}.cal-auction-indicator .mono{font-size:9px}.alloc-chip{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:600;padding:3px 4px 3px 8px;border-radius:var(--radius);border:1px solid;background:#fff;cursor:default;max-width:100%;overflow:hidden}.alloc-chip-ref{font-family:var(--mono);font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:90px}.alloc-chip-count{font-size:10px;font-weight:700;padding:1px 6px;border-radius:var(--radius-pill);background:#fff9}.alloc-chip.chip-standard{border-color:var(--border-strong);background:#f1f5f9;color:var(--text)}.alloc-chip.chip-express{border-color:#bfdbfe;background:var(--info-soft);color:var(--info)}.alloc-chip.chip-express .alloc-chip-count{background:#2563eb26;color:var(--info)}.alloc-chip.chip-fragile{border-color:#fde68a;background:var(--warning-soft);color:var(--warning)}.alloc-chip.chip-fragile .alloc-chip-count{background:#d977062e;color:var(--warning)}.alloc-chip.chip-oversized{border-color:#ddd6fe;background:#f5f3ff;color:#6d28d9}.alloc-chip.chip-oversized .alloc-chip-count{background:#7c3aed26;color:#6d28d9}.alloc-chip-x{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;padding:0;border:none;background:transparent;color:currentColor;opacity:.55;border-radius:50%;cursor:pointer}.alloc-chip-x:hover{opacity:1;background:#00000014}.alloc-chip-x svg{width:10px;height:10px}.alloc-chip-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.alloc-chip-dot.dot-grey{background:var(--text-dim)}.alloc-chip-dot.dot-green{background:var(--success)}.alloc-chip-dot.dot-amber{background:var(--warning);box-shadow:0 0 0 2px var(--warning-soft)}.alloc-chip.has-mismatch{outline:1px solid var(--warning)}.alloc-chip.is-highlighted{animation:alloc-highlight 1s ease-in-out 0s 4 alternate}@keyframes alloc-highlight{0%{box-shadow:0 0 #d9770600}to{box-shadow:0 0 0 4px #d9770673}}.planned-allocation-label{display:inline-block;font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);background:var(--bg-section);border:1px solid var(--border);border-radius:var(--radius-pill);padding:3px 10px;margin-bottom:12px}.alloc-modal-summary{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px;padding-bottom:14px;border-bottom:1px solid var(--border)}.alloc-modal-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:16px}.alloc-stat{background:var(--bg-section);border:1px solid var(--border);border-radius:var(--radius);padding:10px 12px;text-align:center}.alloc-stat-value{font-size:20px;font-weight:700;color:var(--text)}.alloc-stat-label{font-size:11px;color:var(--text-muted);margin-top:2px}.alloc-stat.highlight{background:var(--brand-soft);border-color:var(--brand)}.alloc-stat.highlight .alloc-stat-value{color:var(--brand)}.pallet-controls{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.pallet-search{display:flex;align-items:center;gap:8px;flex:1;min-width:240px;padding:0 12px;height:36px;background:var(--bg-input);border:1px solid var(--border-strong);border-radius:var(--radius)}.pallet-search:focus-within{border-color:var(--brand);box-shadow:0 0 0 3px #c0392b1f}.pallet-search svg{width:16px;height:16px;color:var(--text-dim);flex-shrink:0}.pallet-search input[type=text]{flex:1;border:none;height:auto;padding:0;background:transparent;box-shadow:none}.pallet-search input[type=text]:focus{box-shadow:none}.pallet-controls-actions{display:flex;gap:6px;margin-left:auto}.row-expand-btn{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:4px;border:1px solid transparent;background:transparent;color:var(--text-muted);cursor:pointer;margin-right:8px;vertical-align:middle;transition:background .12s,color .12s;padding:0}.row-expand-btn:hover:not(:disabled){background:var(--bg-hover);color:var(--text)}.row-expand-btn:disabled{opacity:.3;cursor:not-allowed}.row-expand-btn svg{width:13px;height:13px}.pallet-items-table th{font-size:10px}.pallet-items-table td{font-size:12.5px;padding:8px 12px}.add-item-form{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);padding:12px 14px;margin-bottom:10px}.add-item-grid{display:grid;grid-template-columns:1fr 1fr auto;gap:10px;align-items:end}.add-item-label{display:block;font-size:11px;font-weight:600;color:var(--text-muted);margin-bottom:4px}.add-item-hint{display:block;font-size:11px;margin-top:4px;color:var(--text-muted)}.add-item-hint.ok{color:var(--success)}.add-item-hint.warn{color:var(--warning)}@media (max-width: 700px){.add-item-grid{grid-template-columns:1fr}}.pallet-group{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-lg);margin-bottom:12px;overflow:hidden;box-shadow:var(--shadow-sm)}.pallet-group-header{display:grid;grid-template-columns:24px minmax(180px,1.4fr) auto 140px auto;align-items:center;gap:16px;width:100%;background:var(--bg-section);border:none;padding:14px 18px;text-align:left;cursor:pointer;transition:background .12s;font-family:inherit}.pallet-group-header:hover{background:var(--bg-hover)}.pallet-group-header.expanded{border-bottom:1px solid var(--border)}.pallet-group-chevron-left{display:inline-flex;align-items:center;justify-content:center;color:var(--text-muted)}.pallet-group-chevron-left svg{width:16px;height:16px}.pallet-group-titlecol{min-width:0}.pallet-group-ref{display:inline-flex;align-items:center;gap:6px;font-family:var(--mono);font-size:14px;font-weight:700;color:var(--text)}.pallet-group-ref svg{width:14px;height:14px;color:var(--brand)}.pallet-group-meta{font-size:12px;color:var(--text-muted);margin-top:2px}.pallet-group-counts{text-align:right;white-space:nowrap}.pallet-group-count-line{font-size:13px;color:var(--text)}.pallet-group-count-line strong{color:var(--brand)}.pallet-group-count-sub{font-size:11px;color:var(--text-muted);margin-top:2px}.pallet-group-progress{height:6px;background:var(--bg-hover);border-radius:var(--radius-pill);overflow:hidden}.pallet-group-progress-bar{height:100%;background:var(--success);transition:width .2s;border-radius:var(--radius-pill)}.pallet-group-body{background:var(--bg)}.pallet-group-unlinked .pallet-group-header{background:#f1f3f5}.pallet-group-unlinked .pallet-group-ref{color:var(--text-muted);font-family:inherit;font-weight:700;text-transform:uppercase;font-size:12px;letter-spacing:.05em}@media (max-width: 800px){.pallet-group-header{grid-template-columns:24px 1fr auto;row-gap:10px}.pallet-group-progress{grid-column:2 / -1}}.auction-id{color:var(--brand);font-weight:700}.view-toggle{display:inline-flex;border:1px solid var(--border-strong);border-radius:var(--radius);overflow:hidden;height:32px}.view-toggle button{display:inline-flex;align-items:center;gap:4px;background:var(--bg);border:none;font-size:12px;font-weight:600;color:var(--text-muted);padding:0 12px;cursor:pointer;font-family:inherit}.view-toggle button+button{border-left:1px solid var(--border-strong)}.view-toggle button.active{background:var(--brand);color:#fff}.view-toggle button svg{width:13px;height:13px}.site-badge{font-weight:700;letter-spacing:.02em}.site-red{background:var(--brand-soft);color:var(--brand);border:1px solid #f5c4be}.site-blue{background:var(--info-soft);color:var(--info);border:1px solid #bfdbfe}.site-green{background:var(--success-soft);color:var(--success);border:1px solid #bbf7d0}.site-amber{background:var(--warning-soft);color:var(--warning);border:1px solid #fde68a}.site-purple{background:#f5f3ff;color:#6d28d9;border:1px solid #ddd6fe}.site-teal{background:#f0fdfa;color:#0f766e;border:1px solid #99f6e4}.auction-live{display:inline-flex;align-items:center;gap:6px}.auction-live-dot{width:7px;height:7px;border-radius:50%;background:var(--success);box-shadow:0 0 0 0 var(--success);animation:auction-live-pulse 1.6s infinite;display:inline-block}@keyframes auction-live-pulse{0%{box-shadow:0 0 #16a34a99}70%{box-shadow:0 0 0 6px #16a34a00}to{box-shadow:0 0 #16a34a00}}.cal-month-nav{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid var(--border);background:var(--bg-section)}.cal-month-grid{display:grid;grid-template-columns:repeat(7,1fr);background:var(--bg)}.cal-month-head{background:var(--bg-section);font-size:10px;font-weight:700;letter-spacing:.1em;color:var(--text-muted);text-transform:uppercase;padding:8px 10px;border-bottom:1px solid var(--border);border-right:1px solid var(--border)}.cal-month-head:last-child{border-right:none}.cal-month-cell{min-height:110px;border-right:1px solid var(--border);border-bottom:1px solid var(--border);padding:6px;display:flex;flex-direction:column}.cal-month-cell:nth-child(7n+1){border-left:none}.cal-month-cell.other-month{background:#fafbfc;color:var(--text-dim)}.cal-month-cell.today{box-shadow:inset 0 0 0 2px var(--brand)}.cal-month-daynum{font-size:12px;font-weight:700;color:var(--text);margin-bottom:4px}.cal-month-cell.other-month .cal-month-daynum{color:var(--text-dim)}.cal-month-cell.today .cal-month-daynum{color:var(--brand)}.cal-month-blocks{display:flex;flex-direction:column;gap:3px;overflow:hidden}.cal-month-block{display:flex;align-items:center;gap:4px;font-size:10px;padding:3px 6px;border-radius:4px;border:1px solid;text-align:left;cursor:pointer;font-family:inherit;overflow:hidden}.cal-month-block .mono{font-size:9px;font-weight:700;flex-shrink:0}.cal-month-block-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.product-thumb{width:40px;height:40px;object-fit:cover;border-radius:6px;background:var(--bg-section);border:1px solid var(--border);display:block}.product-thumb-placeholder{display:flex;align-items:center;justify-content:center;color:var(--text-dim);font-size:12px}.products-table th{font-size:10px}.catalogue-name{display:block;font-size:11px;color:var(--text-muted);margin-top:2px}.catalogue-rrp{color:var(--success);font-weight:700;font-size:12px}.ean-cell{display:inline-flex;align-items:center;gap:6px;position:relative}.catalogue-link{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:4px;color:var(--info);background:var(--info-soft);cursor:help;position:relative}.catalogue-link svg{width:11px;height:11px}.catalogue-tooltip{position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%);min-width:200px;background:var(--text);color:#fff;border-radius:6px;padding:8px 10px;font-size:11px;line-height:1.4;opacity:0;pointer-events:none;transition:opacity .12s;z-index:200;box-shadow:0 6px 20px #0f172a40;white-space:nowrap}.catalogue-link:hover .catalogue-tooltip{opacity:1}.catalogue-tooltip-name{font-weight:700;font-size:12px}.catalogue-tooltip-brand{opacity:.7}.catalogue-tooltip-row{display:flex;align-items:center;gap:6px;margin-top:4px}.catalogue-tooltip-row .catalogue-rrp{color:#34d399}.side-panel-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a66;z-index:900;display:flex;justify-content:flex-end;animation:modal-fade-in .12s ease-out}.side-panel{width:480px;max-width:100%;background:var(--bg);height:100%;display:flex;flex-direction:column;box-shadow:-10px 0 40px #0f172a2e;animation:side-panel-in .16s ease-out}@keyframes side-panel-in{0%{transform:translate(40px);opacity:.6}to{transform:translate(0);opacity:1}}.side-panel-header{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--border);background:var(--bg-section)}.side-panel-eyebrow{font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted)}.side-panel-image{width:100%;height:200px;background:var(--bg-section);display:flex;align-items:center;justify-content:center;overflow:hidden;border-bottom:1px solid var(--border)}.side-panel-image img{width:100%;height:100%;object-fit:cover}.side-panel-image-placeholder{color:var(--text-dim);font-size:14px}.side-panel-body{flex:1;overflow-y:auto;padding:18px}.side-panel-title{font-size:20px;font-weight:700;color:var(--text);margin:0}.side-panel-brand{font-size:13px;color:var(--text-muted);margin-top:2px}.side-panel-ean{display:inline-flex;align-items:center;gap:8px;margin-top:8px;background:var(--bg-section);border:1px solid var(--border);border-radius:var(--radius-pill);padding:4px 12px;font-size:12px}.side-panel-ean .icon-btn{width:22px;height:22px}.side-panel-ean .icon-btn svg{width:12px;height:12px}.side-panel-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px 18px;margin-top:18px;padding-top:18px;border-top:1px solid var(--border)}.rrp-large{color:var(--success);font-weight:700;font-size:18px}.side-panel-section{margin-top:18px;padding-top:14px;border-top:1px solid var(--border)}.side-panel-section-title{font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);margin-bottom:8px}.side-panel-section p{font-size:13px;line-height:1.5;color:var(--text);margin:0}.side-panel-stock{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:8px}.side-panel-footer{display:flex;gap:8px;padding:14px 18px;border-top:1px solid var(--border);background:var(--bg-section);justify-content:space-between}@media (max-width: 600px){.side-panel{width:100%}.side-panel-grid{grid-template-columns:1fr}}.booking-badge{display:inline-flex;align-items:center;gap:4px;border:none;cursor:pointer;font-family:inherit}.booking-badge svg{width:12px;height:12px}.booking-badge:hover{filter:brightness(.95)}.linked-delivery{margin-top:18px;padding-top:14px;border-top:1px solid var(--border)}.linked-delivery-head{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);margin-bottom:10px;display:flex;align-items:center;gap:6px}.linked-delivery-head svg{width:14px;height:14px;color:var(--brand)}.linked-delivery-card{background:var(--bg-section);border:1px solid var(--border);border-radius:var(--radius);padding:12px 14px}.linked-delivery-fields{display:grid;grid-template-columns:repeat(2,1fr);gap:10px 18px}.delivery-card-booking{margin-top:4px;font-size:11px}.booking-line{color:var(--text-muted)}.booking-line-warn{display:inline-flex;align-items:center;gap:4px;font-size:10px;padding:2px 7px}.cal-page{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:18px;align-items:start}@media (max-width: 1100px){.cal-page{grid-template-columns:minmax(0,1fr) 240px}}@media (max-width: 900px){.cal-page{grid-template-columns:1fr}}.cal-main{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden;display:flex;flex-direction:column;min-width:0}.cal-week-nav{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid var(--border);background:var(--bg-section)}.cal-grid-wrap{overflow:auto;max-height:calc(100vh - 320px)}.cal-grid{display:grid;min-width:760px}.cal-grid-cell{border-right:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--bg)}.cal-grid-cell:last-child{border-right:none}.cal-time-corner{font-size:10px;font-weight:700;letter-spacing:.1em;color:var(--text-muted);background:var(--bg-section);padding:8px;display:flex;align-items:center;justify-content:center}.cal-day-head{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:10px;background:var(--bg-section);position:sticky;top:0;z-index:3}.cal-day-head.weekend{background:#fafbfc}.cal-day-head.weekend .cal-day-name,.cal-day-head.weekend .cal-day-date{color:var(--text-dim)}.cal-day-head.today{border-top:3px solid var(--info);background:var(--info-soft)}.cal-day-head.today .cal-day-date{color:var(--info)}.cal-allday-label{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);background:var(--bg-section);padding:6px 8px;display:flex;align-items:center;justify-content:flex-end;border-right:1px solid var(--border-strong)}.cal-allday-cell{min-height:28px;background:#fcfcfd}.cal-allday-cell.weekend{background:#f4f5f7}.cal-time-col{position:relative;background:var(--bg-section);border-right:1px solid var(--border-strong)}.cal-time-tick{position:absolute;left:0;right:0;padding-right:8px;text-align:right;font-size:11px;color:var(--text-muted);transform:translateY(-50%)}.cal-day-col{position:relative;border-right:1px solid var(--border);cursor:pointer}.cal-day-col:last-child{border-right:none}.cal-day-col.weekend{background:#fafbfc}.cal-day-col.today{background:#2563eb0a}.cal-hour-line,.cal-half-line{position:absolute;left:0;right:0;height:0;border-bottom:1px solid var(--border)}.cal-half-line{border-bottom:1px dashed #f0f1f4}.cal-now-line{position:absolute;left:0;right:0;height:0;border-top:2px solid var(--danger);z-index:5;pointer-events:none}.cal-now-dot{position:absolute;left:-5px;top:-5px;width:10px;height:10px;border-radius:50%;background:var(--danger)}.cal-booking{position:absolute;left:4px;right:4px;border-radius:6px;border:1px solid;padding:6px 8px;font-size:11px;line-height:1.25;cursor:pointer;overflow:hidden;z-index:2;transition:transform .05s,box-shadow .12s}.cal-booking:hover{box-shadow:0 4px 12px #0f172a1f}.cal-booking.block-inbound{background:var(--info-soft);border-color:#93c5fd;color:var(--info)}.cal-booking.block-outbound{background:var(--warning-soft);border-color:#fde68a;color:var(--warning)}.cal-booking-head{display:flex;align-items:flex-start;justify-content:space-between;gap:6px}.cal-booking-title{font-weight:700;font-size:12px;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cal-booking-sub{font-size:11px;opacity:.85;margin-top:1px}.cal-booking-meta{font-size:10px;opacity:.7;margin-top:2px}.cal-booking-time{font-size:10px;opacity:.7;margin-top:2px;font-family:var(--mono)}.cal-booking-link{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:4px;background:#fff9;color:currentColor;flex-shrink:0}.cal-booking-link svg{width:10px;height:10px}.cal-booking-nolink{display:inline-flex;align-items:center;font-size:9px;font-weight:600;padding:1px 5px;border-radius:var(--radius-pill);background:#ffffffb3;color:var(--text-muted);border:1px solid var(--border);flex-shrink:0;letter-spacing:.02em}.cal-booking-status{display:inline-flex;align-items:center;gap:4px;margin-top:4px;font-size:10px;font-weight:700;padding:1px 6px;border-radius:var(--radius-pill);align-self:flex-start;background:#ffffffa6}.cal-booking-status.expected{color:var(--text-muted)}.cal-booking-status.received{color:var(--success);background:#16a34a2e}.cal-booking-status.processing{color:var(--warning);background:#d977062e}.cal-booking-status.complete{color:var(--success);background:#16a34a38}.cal-booking-status-dot{width:6px;height:6px;border-radius:50%;background:var(--success)}.cal-booking-status-dot.status-blue{background:var(--info)}.cal-booking-status-dot.status-green{background:var(--success)}.cal-booking-warn{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:4px;background:var(--warning-soft);color:var(--warning);flex-shrink:0}.cal-booking-warn svg{width:11px;height:11px}.cal-booking.cal-booking-status-processing,.cal-booking.cal-booking-status-received{border-left-width:3px;border-left-color:var(--success)}.cal-right{display:flex;flex-direction:column;gap:14px;padding:14px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.cal-add-btn{width:100%;justify-content:center}.cal-panel-section{display:flex;flex-direction:column;gap:6px;padding-top:12px;border-top:1px solid var(--border)}.cal-panel-section:first-of-type{padding-top:0;border-top:none}.cal-panel-label{font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted)}.cal-ref-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px;font-size:12px}.cal-ref-list li{display:flex;justify-content:space-between;align-items:center;padding:4px 0;border-bottom:1px dashed var(--border);color:var(--text)}.cal-ref-list li:last-child{border-bottom:none}.cal-ref-list .cal-ref-val{color:var(--text-muted);font-family:var(--mono);font-size:11px}.cal-cap-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.cal-cap-row{display:flex;justify-content:space-between;font-size:12px;margin-bottom:4px}.cal-cap-bar{height:6px;background:var(--bg-hover);border-radius:var(--radius-pill);overflow:hidden}.cal-cap-fill{height:100%;border-radius:var(--radius-pill);transition:width .2s}.cal-cap-green{background:var(--success)}.cal-cap-amber{background:var(--warning)}.cal-cap-red{background:var(--danger)}.form-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-field-wide{grid-column:1 / -1}.toggle-group{display:flex;border:1px solid var(--border-strong);border-radius:var(--radius);overflow:hidden;height:36px}.toggle-btn{flex:1;background:var(--bg);border:none;font-size:13px;font-weight:600;color:var(--text-muted);cursor:pointer;transition:background .12s,color .12s;font-family:inherit}.toggle-btn+.toggle-btn{border-left:1px solid var(--border-strong)}.toggle-btn:hover{background:var(--bg-hover);color:var(--text)}.toggle-btn.active{background:var(--brand);color:#fff}textarea{background:var(--bg-input);border:1px solid var(--border-strong);border-radius:var(--radius);color:var(--text);font-family:inherit;font-size:14px;padding:10px 12px;width:100%;resize:vertical;outline:none;transition:border-color .15s,box-shadow .15s}textarea:focus{border-color:var(--brand);box-shadow:0 0 0 3px #c0392b1f}input[readonly]{background:var(--bg-section);color:var(--text-muted);cursor:not-allowed}.sm-app{--sm-bg: #f8f8f8;--sm-card: #ffffff;--sm-text: #1a1a1a;--sm-text-2: #6b6b6b;--sm-border: #e8e8e8;--sm-success: #27ae60;--sm-warning: #f39c12;--sm-error: #e74c3c;position:fixed;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;background:var(--sm-bg);color:var(--sm-text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;overflow:hidden;overscroll-behavior:none;-webkit-overflow-scrolling:touch;-webkit-tap-highlight-color:transparent}.sm-app *{-webkit-tap-highlight-color:transparent}.sm-root{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--bg)}.sm-app-header{flex-shrink:0;height:calc(56px + env(safe-area-inset-top));padding:env(safe-area-inset-top) 12px 0;background:var(--sm-card);border-bottom:1px solid var(--sm-border);display:flex;flex-wrap:nowrap;align-items:center;gap:8px}.sm-app-header-left{flex:1 1 0;min-width:0;display:flex;align-items:center;overflow:hidden}.sm-app-header-center{flex:0 0 auto;display:flex;align-items:center}.sm-app-logo-link{display:inline-flex;align-items:center;text-decoration:none;border:none;-webkit-tap-highlight-color:transparent;transition:opacity .15s ease}.sm-app-logo-link:active{opacity:.7}.sm-app-logo{height:18px;width:auto;max-width:120px;object-fit:contain;flex-shrink:0;mix-blend-mode:multiply;display:block}.sm-app-header-right{flex:0 0 auto;display:flex;align-items:center;gap:8px}.sm-app-desktop-link{font-size:13px;font-weight:600;color:var(--sm-text-2);text-decoration:none;padding:6px 8px;border-radius:6px}.sm-app-desktop-link:active{background:#0000000a}.sm-rt-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--sm-text-2)}.sm-rt-dot-connected{background:var(--sm-success)}.sm-rt-dot-reconnecting{background:var(--sm-warning)}.sm-rt-dot-disconnected{background:var(--sm-error)}.sm-rt-dot-off{background:var(--sm-text-2);opacity:.4}.sm-app-content{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;position:relative}.sm-tab-pane{display:none}.sm-tab-pane.active{display:flex;flex-direction:column}.sm-pane{padding:12px 16px 120px;display:flex;flex-direction:column;gap:12px}.sm-app-nav{flex-shrink:0;position:relative;z-index:100;display:grid;grid-template-columns:1fr 1fr 1fr;height:calc(72px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:var(--sm-card);border-top:1px solid var(--sm-border)}.sm-app-nav-4{grid-template-columns:repeat(4,1fr)}.sm-tab-btn{position:relative;background:transparent;border:none;color:var(--sm-text-2);cursor:pointer;font-family:inherit;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:44px}.sm-tab-btn.active{color:var(--brand)}.sm-tab-indicator{position:absolute;top:6px;width:28px;height:3px;border-radius:2px;background:transparent}.sm-tab-btn.active .sm-tab-indicator{background:var(--brand)}.sm-tab-icon svg{width:24px;height:24px}.sm-tab-label{font-size:11px;font-weight:600;letter-spacing:.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;padding:0 4px}.sm-input-toggle{display:inline-flex;align-items:center;background:#e8e8e8;border-radius:20px;padding:3px;flex-shrink:0;gap:0}.sm-input-toggle button{display:flex;align-items:center;justify-content:center;padding:5px 14px;border-radius:17px;font-family:inherit;font-size:13px;font-weight:600;white-space:nowrap;border:none;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background .15s ease,color .15s ease;min-width:60px;height:30px}.sm-input-toggle button:not(.active){background:transparent!important;color:#888!important}.sm-input-toggle button.active{background:#c0392b!important;color:#fff!important}.sm-week-card{background:var(--sm-card);border:1px solid var(--sm-border);border-radius:12px;padding:16px;box-shadow:0 1px 3px #00000014}.sm-week-label{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--sm-text-2);margin-bottom:6px}.sm-week-count{font-size:20px;font-weight:700;color:var(--sm-text)}.sm-week-range{font-size:13px;color:var(--sm-text-2);margin-top:2px}.sm-delivery-card{border-left:4px solid var(--sm-border);border-radius:12px;box-shadow:0 1px 3px #00000014;padding:16px;min-height:44px}.sm-delivery-card-expected{border-left-color:var(--sm-text-2)}.sm-delivery-card-received{border-left-color:var(--info, #3b82f6)}.sm-delivery-card-processing{border-left-color:var(--sm-warning)}.sm-delivery-card-complete{border-left-color:var(--sm-success)}.sm-sheet-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;z-index:199;display:flex;align-items:flex-end;animation:sm-sheet-fade .15s ease-out}@keyframes sm-sheet-fade{0%{opacity:0}to{opacity:1}}.sm-sheet{position:relative;z-index:200;width:100%;max-height:85vh;background:var(--sm-card);border-radius:16px 16px 0 0;display:flex;flex-direction:column;padding-bottom:calc(88px + env(safe-area-inset-bottom));animation:sm-sheet-up .3s ease;box-shadow:0 -4px 20px #00000026}@keyframes sm-sheet-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}.sm-sheet-handle{width:36px;height:4px;background:#d0d0d0;border-radius:2px;margin:10px auto 4px}.sm-sheet-header{display:flex;align-items:center;justify-content:space-between;padding:8px 16px 4px}.sm-sheet-title{font-family:var(--mono);font-size:16px;font-weight:700;color:var(--sm-text)}.sm-sheet-close{background:transparent;border:none;color:var(--sm-text-2);font-size:26px;line-height:1;padding:4px 8px;cursor:pointer;border-radius:6px}.sm-sheet-body{padding:12px 16px 16px;overflow-y:auto;flex:1;min-height:0}.sm-sheet-footer{padding:12px 16px 16px;border-top:1px solid var(--sm-border);display:flex;flex-direction:column;gap:8px}.sm-sheet-message{font-size:15px;line-height:1.4;color:var(--sm-text)}.sm-header{flex-shrink:0;height:var(--header-h);background:var(--bg);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 16px}.sm-brand{display:flex;align-items:center;gap:8px}.sm-brand-mark{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;background:var(--brand);color:#fff;border-radius:4px;font-weight:800;font-size:12px}.sm-brand-name{color:var(--brand);font-weight:800;font-size:15px;letter-spacing:.01em}.sm-brand-logo{height:28px;width:auto;display:block;mix-blend-mode:multiply}.sm-back{font-size:13px;font-weight:600;color:var(--text-muted);text-decoration:none;padding:8px 12px;border-radius:6px}.sm-back:active{background:var(--bg-hover)}.sm-conn-banner{position:sticky;top:0;z-index:60;background:var(--warning-soft);color:var(--warning);border-bottom:1px solid var(--warning);padding:10px 16px;font-size:13px;font-weight:700;text-align:center;letter-spacing:.02em}.sm-conn-flash{position:sticky;top:0;z-index:60;background:var(--success-soft);color:var(--success);border-bottom:1px solid var(--success);padding:8px 16px;font-size:13px;font-weight:700;text-align:center;animation:sm-conn-fade 2s ease-out forwards}@keyframes sm-conn-fade{0%{opacity:1}85%{opacity:1}to{opacity:0}}.sm-header{gap:10px}.sm-cam-wrap{position:relative;width:100%;max-width:400px;aspect-ratio:1 / 1;background:#000;border-radius:var(--radius-lg);overflow:hidden;align-self:center;box-shadow:var(--shadow-sm)}.sm-cam-video{width:100%;height:100%;object-fit:cover;display:block;background:#000}.sm-cam-overlay{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;display:flex;align-items:center;justify-content:center}.sm-cam-frame{position:relative;width:78%;aspect-ratio:1 / 1;border:2px solid rgba(255,255,255,.6);border-radius:8px;box-shadow:0 0 0 9999px #00000059;overflow:hidden}.sm-cam-line{position:absolute;left:0;right:0;height:3px;background:var(--brand);box-shadow:0 0 12px var(--brand);animation:sm-scan-line 1.6s ease-in-out infinite alternate;top:0}@keyframes sm-scan-line{0%{transform:translateY(0)}to{transform:translateY(calc(100%*.78vw - 3px))}}.sm-cam-frame .sm-cam-line{animation:sm-scan-line-pct 1.6s ease-in-out infinite alternate}@keyframes sm-scan-line-pct{0%{top:4px}to{top:calc(100% - 7px)}}.sm-cam-loading{position:absolute;bottom:14px;background:#00000080;color:#fff;padding:4px 12px;border-radius:var(--radius-pill);font-size:12px}.sm-cam-torch{position:absolute;bottom:12px;right:12px;width:44px;height:44px;border-radius:50%;background:#ffffffd9;border:none;color:var(--text);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #0000004d;-webkit-tap-highlight-color:transparent}.sm-cam-torch.active{background:var(--warning);color:#fff}.sm-cam-error{width:100%;max-width:400px;align-self:center;background:var(--bg);border:1px solid var(--border);border-left:4px solid var(--warning);border-radius:var(--radius-lg);padding:18px 20px;text-align:center}.sm-screen-camera{gap:10px}.sm-screen-camera .sm-heading{font-size:18px}.sm-screen-camera .sm-subtext{margin-bottom:4px}.sm-manual-link{background:transparent;border:none;color:var(--text-muted);font-size:13px;font-weight:600;cursor:pointer;padding:6px 8px;text-decoration:underline;font-family:inherit}.sm-manual-link:active{color:var(--brand)}.sm-manual-entry{width:100%;background:var(--bg-section);border:1px solid var(--border);border-radius:var(--radius-lg);padding:12px;display:flex;flex-direction:column;gap:8px}.sm-manual-entry input[type=text]{height:48px;font-size:16px;font-family:var(--mono)}.sm-mode-row{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:12px 16px;border-bottom:1px solid var(--border)}.sm-mode-row-3{grid-template-columns:1fr 1fr 1fr}.sm-mode-row-3 .sm-mode-btn{font-size:13px;padding:0 6px}.sm-mode-btn{height:56px;border:1px solid var(--border-strong);background:var(--bg);color:var(--text);font-family:inherit;font-size:15px;font-weight:700;border-radius:var(--radius-lg);cursor:pointer;transition:background .12s,color .12s,border-color .12s;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.sm-mode-btn:active{background:var(--bg-hover)}.sm-mode-btn.active{background:var(--brand);color:#fff;border-color:var(--brand)}.sm-banner{margin:12px 16px 0;padding:14px 16px;border-radius:var(--radius-lg);font-size:14px;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:8px}.sm-banner-error{background:var(--danger-soft);color:var(--danger);border-left:4px solid var(--danger)}.sm-banner-warn{background:var(--warning-soft);color:var(--warning);border-left:4px solid var(--warning)}.sm-banner-success{background:var(--success-soft);color:var(--success);border-left:4px solid var(--success)}.sm-flow{flex:1;display:flex;flex-direction:column;padding:16px 16px calc(168px + env(safe-area-inset-bottom));gap:12px}.sm-stepper{display:flex;flex-direction:row;gap:4px;margin-bottom:4px}.sm-step{flex:1 1 0;min-width:0;display:flex;align-items:center;gap:4px;padding:6px 8px;background:var(--bg-section);border:1px solid var(--border);border-radius:var(--radius);font-size:11px;line-height:1.2;color:var(--text-muted)}.sm-step.active{background:var(--brand-soft);border-color:var(--brand);color:var(--brand);font-weight:700}.sm-step.done{background:var(--success-soft);border-color:#bbf7d0;color:var(--success)}.sm-step-num{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;background:var(--bg);border:1px solid currentColor;font-weight:700;font-size:10px;flex-shrink:0}.sm-step.active .sm-step-num{background:var(--brand);color:#fff;border-color:var(--brand)}.sm-step.done .sm-step-num{background:var(--success);color:#fff;border-color:var(--success)}.sm-step-label{min-width:0;overflow-wrap:anywhere;white-space:normal;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.sm-summary-card{background:var(--bg);border:1px solid var(--border);border-left:4px solid var(--brand);border-radius:var(--radius-lg);padding:12px 16px;box-shadow:var(--shadow-sm)}.sm-summary-label{font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);margin-bottom:6px}.sm-summary-row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:4px}.sm-summary-ref{font-family:var(--mono);font-size:18px;font-weight:700;color:var(--text)}.sm-summary-sub{font-size:12px;color:var(--text-muted);margin-top:2px}.sm-jp-pill{background:var(--info-soft);border:1px solid #bfdbfe;border-radius:var(--radius-pill);padding:6px 14px;display:inline-flex;align-items:center;gap:8px;font-size:13px;align-self:flex-start}.sm-jp-pill-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--info)}.sm-screen{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-lg);padding:24px 20px;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;align-items:center;gap:12px}.sm-back-btn{align-self:flex-start;background:transparent;border:none;color:var(--text-muted);font-size:13px;font-weight:600;padding:6px 8px;border-radius:6px;cursor:pointer;margin-bottom:4px;font-family:inherit}.sm-back-btn:active{background:var(--bg-hover)}.sm-heading{font-size:24px;font-weight:700;color:var(--text);text-align:center;letter-spacing:-.01em}.sm-subtext{font-size:14px;color:var(--text-muted);text-align:center;max-width:320px;margin-bottom:8px}.sm-pulse-wrap{position:relative;width:96px;height:96px;display:flex;align-items:center;justify-content:center}.sm-pulse{width:64px;height:64px;border-radius:50%;background:var(--brand);position:relative;z-index:2;animation:sm-pulse-scale 1.6s ease-in-out infinite}.sm-pulse-solid{animation:none}.sm-pulse:before,.sm-pulse:after{content:"";position:absolute;top:-16px;right:-16px;bottom:-16px;left:-16px;border-radius:50%;background:var(--brand);opacity:.3;z-index:-1;animation:sm-pulse-ring 1.6s ease-out infinite}.sm-pulse:after{animation-delay:.8s}.sm-pulse-solid:before,.sm-pulse-solid:after{display:none}@keyframes sm-pulse-scale{0%,to{transform:scale(1)}50%{transform:scale(.95)}}@keyframes sm-pulse-ring{0%{transform:scale(.8);opacity:.4}to{transform:scale(1.6);opacity:0}}.sm-ready-label{font-size:14px;color:var(--text-muted)}.sm-screen-confirm .sm-pulse{background:var(--success)}.sm-screen-confirm .sm-pulse:before,.sm-screen-confirm .sm-pulse:after{display:none}.sm-screen-confirm .sm-pulse{display:flex;align-items:center;justify-content:center}.sm-screen-confirm .sm-pulse:after{display:block;content:"✓";position:static;background:transparent;inset:auto;color:#fff;font-size:36px;font-weight:700;animation:none;opacity:1}.sm-scanned-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted)}.sm-scanned-value{font-family:var(--mono);font-size:22px;font-weight:700;color:var(--text);word-break:break-all;text-align:center;margin-bottom:4px}.sm-details{width:100%}.sm-detail-card{background:var(--bg-section);border:1px solid var(--border);border-radius:var(--radius);padding:12px 14px;display:flex;flex-direction:column;gap:8px}.sm-detail-row{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:13px}.sm-detail-row>span:first-child{color:var(--text-muted);font-size:12px;flex-shrink:0}.sm-detail-row>strong,.sm-detail-row>span:last-child{color:var(--text);text-align:right;word-break:break-word}.sm-alert{border-radius:var(--radius);padding:10px 12px;font-size:13px;font-weight:500;border-left:4px solid}.sm-alert-warn{background:var(--warning-soft);color:var(--warning);border-color:var(--warning)}.sm-alert-error{background:var(--danger-soft);color:var(--danger);border-color:var(--danger)}.sm-alert-success{background:var(--success-soft);color:var(--success);border-color:var(--success)}.sm-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;width:100%;margin-top:4px}.sm-btn{min-height:56px;padding:0 18px;border-radius:var(--radius-lg);font-size:15px;font-weight:700;font-family:inherit;cursor:pointer;border:1px solid;transition:background .12s,color .12s,border-color .12s;-webkit-tap-highlight-color:transparent;touch-action:manipulation;display:inline-flex;align-items:center;justify-content:center}.sm-btn:disabled{opacity:.45;cursor:not-allowed}.sm-btn-primary{background:var(--brand);color:#fff;border-color:var(--brand)}.sm-btn-primary:active:not(:disabled){background:var(--brand-dark);border-color:var(--brand-dark)}.sm-btn-secondary{background:var(--bg);color:var(--text);border-color:var(--border-strong)}.sm-btn-secondary:active:not(:disabled){background:var(--bg-hover)}.sm-btn-danger{background:var(--danger-soft);color:var(--danger);border-color:var(--danger-soft);font-weight:700}.sm-btn-danger:active:not(:disabled){background:#fbcfcf}.sm-btn-block{width:100%}.sm-btn-confirm{width:100%;margin-top:8px;background:var(--bg-section);color:var(--text-muted);border-color:var(--border)}.sm-btn-confirm-ready{background:var(--info-soft);color:var(--info);border-color:#bfdbfe}.sm-screen-success{gap:16px}.sm-success-icon{width:80px;height:80px;border-radius:50%;background:var(--success);color:#fff;font-size:44px;font-weight:800;display:flex;align-items:center;justify-content:center;margin-bottom:4px}.sm-success-card{background:var(--success-soft);border:1px solid #bbf7d0;border-radius:var(--radius);padding:12px 14px;width:100%;display:flex;flex-direction:column;gap:8px}.sm-running-count{font-size:13px;color:var(--text-muted);text-align:center}.sm-flash{position:fixed;top:0;right:0;bottom:0;left:0;background:#16a34a2e;pointer-events:none;z-index:100;animation:sm-flash-fade .5s ease-out forwards}@keyframes sm-flash-fade{0%{opacity:1}to{opacity:0}}.sm-close-bar{position:fixed;left:0;right:0;bottom:calc(72px + env(safe-area-inset-bottom));padding:10px 16px;background:var(--sm-card);border-top:1px solid var(--sm-border);display:flex;flex-direction:column;gap:8px;z-index:50}.sm-close-msg{font-size:14px;text-align:center;color:var(--text)}.sm-close-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.sm-screen-list{gap:14px;align-items:stretch}.sm-heading-left,.sm-subtext-left{text-align:left;align-self:stretch}.sm-heading-left{font-size:22px}.sm-subtext-left{margin-bottom:4px}.sm-empty{text-align:center;color:var(--text-muted);padding:32px 0;font-size:14px}.sm-delivery-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.sm-delivery-card{display:block;width:100%;background:var(--bg);border:1px solid var(--border);border-left:4px solid var(--brand);border-radius:var(--radius-lg);padding:14px 16px;text-align:left;cursor:pointer;font-family:inherit;-webkit-tap-highlight-color:transparent;touch-action:manipulation;min-height:56px}.sm-delivery-card:active{background:var(--bg-hover)}.sm-delivery-card-row{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:6px}.sm-delivery-ref{font-family:var(--mono);font-size:14px;font-weight:700;color:var(--text)}.sm-delivery-client{font-size:12px;color:var(--text-muted);margin-top:2px}.sm-delivery-meta{display:flex;justify-content:space-between;font-size:12px;color:var(--text-muted);margin-bottom:4px}.sm-delivery-pallets{color:var(--info);font-weight:700}.sm-delivery-booking{font-size:11px;color:var(--text-muted)}.sm-screen-detail{gap:14px;align-items:stretch;padding:18px}.sm-detail-card-block{padding:14px 16px}.sm-arrived-banner{background:var(--success-soft);color:var(--success);border-left:4px solid var(--success);border-radius:var(--radius);padding:10px 14px;font-weight:700;font-size:14px;display:inline-flex;align-items:center;gap:8px;align-self:stretch}.sm-arrived-icon{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:var(--success);color:#fff;font-size:13px}.sm-confirm-block{background:var(--bg-section);border:1px solid var(--border);border-radius:var(--radius-lg);padding:14px;display:flex;flex-direction:column;gap:10px}.sm-confirm-msg{font-size:15px;color:var(--text);margin:0}.sm-confirm-sub{font-size:12px;color:var(--text-muted);margin:0}.sm-btn-large{min-height:64px;font-size:16px}.sm-undo-link{background:transparent;border:none;color:var(--text-muted);font-size:12px;text-decoration:underline;cursor:pointer;padding:8px;align-self:center;font-family:inherit}.sm-undo-link:active{color:var(--danger)}.sm-progress-line{margin-top:10px;font-size:13px;color:var(--text-muted)}.sm-progress-line strong{color:var(--text);font-weight:700}.sm-progress-bar{margin-top:6px;height:6px;background:var(--bg-hover);border-radius:var(--radius-pill);overflow:hidden}.sm-progress-fill{height:100%;background:var(--brand);transition:width .2s;border-radius:var(--radius-pill)}.sm-label-card{background:#fff;border:2px solid var(--text);border-radius:var(--radius-lg);padding:16px;font-family:var(--mono);text-align:center;align-self:stretch}.sm-label-brand{font-size:11px;font-weight:700;letter-spacing:.18em;color:var(--text)}.sm-label-ref{font-size:22px;font-weight:700;margin:12px 0 8px;color:var(--text);letter-spacing:.04em}.sm-label-barcode-bars{display:inline-flex;align-items:center;height:50px;gap:1px;margin:4px 0}.sm-label-barcode-bars span{display:inline-block;height:100%;background:var(--text)}.sm-label-bc-text{font-size:13px;font-weight:700;letter-spacing:.12em;color:var(--text)}.sm-label-meta{text-align:left;margin-top:14px;font-size:12px;color:var(--text)}.sm-label-meta div{margin-top:3px}.pallet-label-print{display:none}.sm-btn-outline-brand{border-color:var(--brand)!important;color:var(--brand)!important;background:var(--bg)!important}.sm-btn-outline-brand:active:not(:disabled){background:var(--brand-soft)!important}.sm-pallet-list{margin-top:14px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-lg);padding:8px 10px;align-self:stretch;max-height:240px;overflow-y:auto}.sm-pallet-list-label{font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);padding:4px 4px 8px}.sm-pallet-list-row{display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:center;padding:8px 4px;border-top:1px dashed var(--border);font-size:13px}.sm-recon-card{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-lg);padding:14px 16px;align-self:stretch}.sm-recon-title{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);margin-bottom:10px;padding-bottom:8px;border-bottom:1px solid var(--border)}.sm-recon-row{display:flex;justify-content:space-between;align-items:center;padding:6px 0;font-size:14px}.sm-recon-diff.has-diff strong{color:var(--warning)}@media print{body *{visibility:hidden!important}.pallet-label-print,.pallet-label-print *{visibility:visible!important}.pallet-label-print{display:block!important;position:fixed;top:0;right:0;bottom:0;left:0;background:#fff;color:#000;font-family:monospace;width:90mm;padding:4mm;border:1px solid #000}.pallet-label-print .barcode-text{font-size:14pt;font-weight:700;letter-spacing:2px}@page{size:100mm 150mm;margin:5mm}.no-print,.no-print *{display:none!important}}.sm-product-card{display:flex;gap:12px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-lg);padding:12px;align-items:center;margin-bottom:8px}.sm-product-thumb{width:64px;height:64px;flex-shrink:0;background:var(--bg-section);border-radius:var(--radius);overflow:hidden;display:flex;align-items:center;justify-content:center;color:var(--text-dim)}.sm-product-thumb img{width:100%;height:100%;object-fit:cover}.sm-product-info{flex:1;min-width:0}.sm-product-name{font-size:14px;font-weight:700;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sm-product-brand{font-size:12px;color:var(--text-muted);margin-top:2px}.sm-product-row{display:flex;align-items:center;gap:8px;margin-top:6px}.sm-product-rrp{font-size:14px;font-weight:700;color:var(--success)}.sm-auction-list{display:flex;flex-direction:column;gap:8px;width:100%;max-height:380px;overflow-y:auto}.sm-auction-card{display:block;width:100%;background:var(--bg);border:1px solid var(--border);border-left:4px solid var(--text-dim);border-radius:var(--radius-lg);padding:12px 14px;text-align:left;cursor:pointer;font-family:inherit;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.sm-auction-card:active{background:var(--bg-hover)}.sm-auction-card.selected{border-left-color:var(--brand);border-color:var(--brand);box-shadow:0 0 0 2px var(--brand-soft)}.sm-auction-card-row{display:flex;justify-content:space-between;align-items:center}.sm-auction-banner{display:flex;align-items:center;gap:12px;background:var(--brand-soft);color:var(--brand);border-left:4px solid var(--brand);padding:10px 14px;border-radius:var(--radius-lg);margin-bottom:8px}.sm-auction-banner .mono{color:var(--brand)}.sm-auction-change{margin-left:auto;background:transparent;border:none;color:var(--brand);font-size:12px;font-weight:700;text-decoration:underline;cursor:pointer;font-family:inherit}.sm-auction-banner-confirm{background:var(--warning-soft);color:var(--warning);border-left-color:var(--warning)}.arrival-banners{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.arrival-banner{padding-right:14px}.sm-ghost-input{position:absolute;left:-9999px;top:0;width:1px;height:1px;opacity:0;border:none;padding:0;margin:0;background:transparent;color:transparent;outline:none;overflow:hidden}.sm-test-banner{background:#fef3c7;color:#92400e;font-size:12px;font-weight:700;letter-spacing:.02em;padding:6px 14px;text-align:center;border-bottom:1px solid #fcd34d;flex-shrink:0}.ios-toggle{display:flex;align-items:center;gap:6px;cursor:pointer;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none}.ios-toggle input{display:none}.ios-toggle-track{position:relative;width:44px;height:26px;background:#d1d1d6;border-radius:13px;transition:background .2s ease;flex-shrink:0}.ios-toggle input:checked+.ios-toggle-track{background:#f39c12}.ios-toggle-thumb{position:absolute;top:2px;left:2px;width:22px;height:22px;background:#fff;border-radius:50%;transition:transform .2s ease;box-shadow:0 1px 3px #0000004d}.ios-toggle input:checked+.ios-toggle-track .ios-toggle-thumb{transform:translate(18px)}.ios-toggle-label{font-size:12px;color:#6b6b6b;font-weight:500;transition:color .2s ease}.ios-toggle input:checked~.ios-toggle-label{color:#f39c12}.mock-badge{display:inline-block;margin-left:6px;padding:1px 6px;font-size:9px;font-weight:700;letter-spacing:.08em;background:#e5e7eb;color:#6b7280;border-radius:3px;vertical-align:middle;text-transform:uppercase;font-family:var(--mono, monospace)}button.sm-step{font-family:inherit;cursor:pointer;text-align:left;-webkit-tap-highlight-color:transparent}.sm-step.is-clickable{cursor:pointer}button.sm-step.is-clickable:active{transform:scale(.98);filter:brightness(.97)}.sm-step4{display:flex;flex-direction:column;gap:12px;align-items:stretch;width:100%}.sm-step4-lot-ref{font-family:var(--mono);font-size:28px;font-weight:700;color:var(--text);line-height:1.1;text-align:center;margin-top:4px}.sm-step4-auction{display:flex;justify-content:center}.sm-step4-count{text-align:center;font-size:13px;color:var(--text-muted);margin-bottom:2px}.sm-step4-rrp{text-align:center;font-size:13px;color:#6b1a1a;margin-bottom:4px}.sm-step4-rrp strong{font-weight:700;color:#8b1a1a}.sm-step4-label{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);margin-top:6px}.sm-step4-textarea{width:100%;min-height:96px;padding:12px 14px;font-family:inherit;font-size:15px;line-height:1.4;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-lg);resize:vertical;outline:none;-webkit-appearance:none;box-sizing:border-box}.sm-step4-textarea:focus{border-color:var(--brand);box-shadow:0 0 0 2px var(--brand-soft)}.sm-step4-hint{font-size:12px;color:var(--text-muted);margin-top:2px}.sm-step4-submit{display:flex;flex-direction:column;gap:10px;margin-top:16px;padding-top:12px;border-top:1px solid var(--border)}.sm-lot-items-list{display:flex;flex-direction:column;gap:8px;width:100%}.sm-lot-item-row{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-md, 10px);padding:10px 12px;max-height:260px;overflow:hidden;transition:opacity .2s ease,max-height .2s ease,padding .2s ease,margin .2s ease,border-width .2s ease}.sm-lot-item-row.is-removing{opacity:0;max-height:0;padding-top:0;padding-bottom:0;border-top-width:0;border-bottom-width:0;margin-top:0;margin-bottom:0}.sm-lot-item-row-main{display:flex;flex-direction:row;align-items:center;gap:10px}.sm-lot-item-left{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.sm-lot-item-jp{font-size:14px;font-weight:700;color:var(--text)}.sm-lot-item-ean{font-size:11px;color:var(--text-muted)}.sm-lot-item-name{font-size:12px;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sm-lot-item-right{flex:0 0 auto;display:flex;align-items:center;gap:8px}.sm-lot-item-rrp{font-size:13px;font-weight:700;color:#8b1a1a}.sm-lot-item-delete{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;padding:0;background:transparent;border:1px solid var(--border);border-radius:50%;color:var(--danger, #c84a31);cursor:pointer;-webkit-tap-highlight-color:transparent}.sm-lot-item-delete:active{background:var(--bg-hover)}.sm-lot-item-delete svg{width:16px;height:16px}.sm-lot-item-delete:disabled{opacity:.4;cursor:not-allowed}.sm-lot-item-confirm{margin-top:10px;padding-top:10px;border-top:1px dashed var(--border);display:flex;flex-direction:column;gap:8px}.sm-lot-item-confirm-msg{font-size:13px;color:var(--text)}.sm-lot-item-confirm-actions{display:flex;gap:8px}.sm-lot-item-confirm-actions .sm-btn{flex:1;min-height:38px}.sm-lot-items-empty{padding:16px;background:var(--bg-section);border:1px dashed var(--border);border-radius:var(--radius-lg);text-align:center;color:var(--text-muted);display:flex;flex-direction:column;gap:10px}.sm-lot-items-empty p{margin:0;font-size:14px}.sm-autofill-prompt{margin-top:8px;padding:10px 12px;background:var(--brand-soft);border:1px solid var(--brand);border-radius:var(--radius-md, 8px);display:flex;flex-direction:column;gap:8px}.sm-autofill-prompt-msg{font-size:13px;color:var(--brand);font-weight:600}.sm-autofill-prompt-actions{display:flex;gap:8px}.sm-autofill-prompt-actions .sm-btn{flex:1;min-height:36px}.sm-photo-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;width:100%}.sm-photo-slot{position:relative;aspect-ratio:1 / 1;border-radius:var(--radius-lg);overflow:hidden;background:var(--bg-hover, #f3f4f6);border:1px solid var(--border);padding:0;cursor:pointer;font-family:inherit;-webkit-tap-highlight-color:transparent;touch-action:manipulation;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:4px}.sm-photo-slot-empty{color:var(--text-muted);border:2px dashed var(--border);background:var(--bg)}.sm-photo-slot-empty:active{background:var(--bg-hover)}.sm-photo-slot-plus{font-size:36px;font-weight:300;line-height:1;color:var(--text-dim)}.sm-photo-slot-label{font-size:12px;color:var(--text-muted)}.sm-photo-slot-filled img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;cursor:zoom-in}.sm-photo-slot-remove{position:absolute;top:6px;right:6px;width:28px;height:28px;border-radius:50%;background:#0009;color:#fff;border:none;font-size:20px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:2;-webkit-tap-highlight-color:transparent}.sm-photo-slot-remove:active{background:#000c}.sm-photo-slot-number{position:absolute;left:0;right:0;bottom:0;padding:4px 8px;background:#0000008c;color:#fff;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;text-align:left}.sm-photo-picker{display:flex;flex-direction:column;gap:10px}.sm-lightbox{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000eb;z-index:10000;display:flex;align-items:center;justify-content:center;padding:20px;cursor:zoom-out}.sm-lightbox img{max-width:100%;max-height:100%;object-fit:contain}.sm-lightbox-close{position:absolute;top:calc(16px + env(safe-area-inset-top));right:16px;width:40px;height:40px;border-radius:50%;background:#ffffff26;color:#fff;border:none;font-size:28px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;-webkit-tap-highlight-color:transparent}.sm-lightbox-close:active{background:#ffffff4d}.sm-photo-thumbs-row{display:flex;flex-direction:row;gap:6px;justify-content:center;flex-wrap:wrap}.sm-photo-thumb-small{width:64px;height:64px;object-fit:cover;border-radius:var(--radius-md, 8px);border:1px solid var(--border)}.vendors-toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.vendors-search{position:relative;display:flex;align-items:center;gap:6px;flex:1;min-width:220px;max-width:380px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);padding:0 10px;height:36px}.vendors-search svg{color:var(--text-muted);flex-shrink:0}.vendors-search input{flex:1;border:none;outline:none;font-size:13px;background:transparent;height:100%;font-family:inherit}.vendors-status-pills{display:inline-flex;gap:6px}.vendor-pill{background:var(--bg);border:1px solid var(--border);color:var(--text-muted);border-radius:999px;padding:4px 12px;font-size:12px;font-weight:600;cursor:pointer;font-family:inherit}.vendor-pill.active{background:var(--brand);color:#fff;border-color:var(--brand)}.clickable-row{cursor:pointer}.clickable-row:hover{background:var(--bg-hover)}.vendor-ref{color:var(--brand);font-weight:700}.vendor-detail{display:flex;flex-direction:column;gap:14px}.vendor-back{align-self:flex-start}.vendor-header-card{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:18px 20px}.vendor-header-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}.vendor-header-ref{font-size:12px;font-weight:700;color:var(--brand);letter-spacing:.05em}.vendor-header-name{margin:0;font-size:24px;font-weight:800;color:var(--text)}.vendor-header-badges{display:inline-flex;gap:6px;flex-wrap:wrap;margin-top:2px}.vendor-header-contact{display:inline-flex;gap:16px;flex-wrap:wrap;font-size:13px;color:var(--text-muted);margin-top:6px}.vendor-header-contact a{color:var(--brand);text-decoration:none}.vendor-header-contact a:hover{text-decoration:underline}.vendor-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.vendor-metric{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-lg);padding:14px 16px;display:flex;flex-direction:column;gap:4px}.vendor-metric-label{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}.vendor-metric-value{font-size:22px;font-weight:700;color:var(--text)}.vendor-metric-sub{font-size:12px;color:var(--text-muted);margin-top:2px}.vendor-commission-badge{display:inline-flex;align-items:center;align-self:flex-start;padding:3px 10px;font-size:12px;font-weight:700;color:#14532d;background:#dcfce7;border-radius:999px;letter-spacing:.01em}@media (max-width: 900px){.vendor-metrics{grid-template-columns:repeat(2,1fr)}}.vendor-section{padding:0;overflow:hidden}.vendor-section-header{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid var(--border);background:var(--bg-section)}.vendor-section-toggle{display:inline-flex;align-items:center;gap:8px;background:transparent;border:none;font-family:inherit;font-size:14px;font-weight:700;color:var(--text);cursor:pointer;padding:0}.vendor-section-title{flex-shrink:0}.vendor-section-subtitle{font-size:12px;font-weight:500;color:var(--text-muted);margin-left:8px}.vendor-section-body{padding:0}.vendor-section-body table{border:none}.section-filter-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;border-bottom:1px solid var(--border)}.vendor-form{display:flex;flex-direction:column;gap:10px}.vendor-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.vendor-form .form-row-full{grid-template-columns:1fr}.vendor-form .form-row-3{grid-template-columns:1fr 1fr 1fr}.vendor-form label{display:flex;flex-direction:column;gap:4px;font-size:12px;font-weight:600;color:var(--text-muted)}.vendor-form .req{color:var(--danger)}.vendor-form input,.vendor-form select,.vendor-form textarea{font-family:inherit;font-size:13px;padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);color:var(--text)}.vendor-form select{-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23797469' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>");background-repeat:no-repeat;background-position:right 10px center;padding-right:28px}.vendor-form input.readonly{background:var(--bg-section);color:var(--text-muted)}.vendor-form .form-error{background:var(--danger-soft);color:var(--danger);border-left:3px solid var(--danger);padding:8px 10px;border-radius:var(--radius);font-size:13px}.link-list{display:flex;flex-direction:column;gap:4px;max-height:400px;overflow-y:auto}.link-list-row{display:grid;grid-template-columns:160px 1fr auto;align-items:center;gap:10px;padding:10px 12px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);text-align:left;font-family:inherit;font-size:13px;cursor:pointer}.link-list-row:hover{background:var(--bg-hover);border-color:var(--brand)}.link-list-checkbox-row{display:flex;align-items:center;gap:10px;padding:8px 10px;font-size:13px;border-bottom:1px solid var(--border)}.instruction-breadcrumb{font-size:13px;color:var(--text-muted);margin-bottom:4px}.instruction-breadcrumb span{margin:0 4px}.instruction-breadcrumb .mono{color:var(--brand);font-weight:700}.link-btn{background:none;border:none;color:var(--brand);font-family:inherit;font-size:inherit;cursor:pointer;padding:0;text-decoration:none}.link-btn:hover{text-decoration:underline}.status-timeline{display:flex;align-items:flex-start;justify-content:space-between;gap:4px;overflow-x:auto;padding:4px 0}.status-step{flex:1;min-width:70px;display:flex;flex-direction:column;align-items:center;gap:6px;position:relative}.status-step:before{content:"";position:absolute;top:14px;left:calc(-50% + 14px);width:calc(100% - 28px);height:2px;background:var(--border)}.status-step:first-child:before{display:none}.status-step-done:before,.status-step-current:before{background:var(--success)}.status-step-dot{width:28px;height:28px;border-radius:50%;background:var(--bg-section);border:2px solid var(--border);display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:var(--text-muted);position:relative;z-index:1}.status-step-done .status-step-dot{background:var(--success);border-color:var(--success);color:#fff}.status-step-current .status-step-dot{background:var(--brand);border-color:var(--brand);color:#fff}.status-step-label{font-size:11px;font-weight:600;color:var(--text-muted);text-align:center;line-height:1.2;white-space:nowrap}.status-step-current .status-step-label{color:var(--brand)}.status-step-done .status-step-label{color:var(--text)}.badge-instruction-manifested{background:#a855f71f;color:#7e22ce}.badge-instruction-scheduled{background:#14b8a61f;color:#0f766e}.badge-instruction-intransit{background:var(--warning-soft);color:var(--warning);animation:inst-pulse 1.2s ease-in-out infinite}@keyframes inst-pulse{0%,to{opacity:1}50%{opacity:.6}}.instruction-badge{display:inline-block;padding:1px 8px;font-size:11px;font-weight:700;border-radius:3px;background:var(--brand-soft);color:var(--brand);letter-spacing:.02em}.instruction-badge-unlinked{display:inline-block;padding:1px 8px;font-size:11px;font-weight:600;color:var(--text-muted);background:var(--bg-section);border:1px dashed var(--border);border-radius:3px}.instruction-link-summary{display:flex;align-items:center;gap:10px;padding:12px 14px}.cal-booking-instruction{font-size:10px;font-weight:700;color:var(--brand);background:var(--brand-soft);padding:1px 6px;border-radius:3px;align-self:flex-start;margin-bottom:4px;letter-spacing:.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.sm-instruction-label{background:var(--brand-soft);border-left:3px solid var(--brand);padding:8px 12px;border-radius:var(--radius);margin-bottom:10px}.sm-instruction-label-heading{font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);margin-bottom:2px}.sm-instruction-label-ref{font-size:14px;font-weight:700;color:var(--brand)}.manifests-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px}.manifests-list{display:flex;flex-direction:column;gap:10px}.manifest-group{padding:0;overflow:hidden}.manifest-group-row{display:flex;align-items:stretch;position:relative}.manifest-group-row:hover .manifest-group-delete{opacity:1}.manifest-group-header{flex:1;min-width:0;display:flex;align-items:center;gap:12px;padding:14px 16px;background:var(--bg);border:none;text-align:left;cursor:pointer;font-family:inherit}.manifest-group-header:hover{background:var(--bg-hover)}.manifest-group-delete{flex-shrink:0;align-self:center;margin-right:12px;opacity:0;transition:opacity .15s}.manifest-group-upload{flex-shrink:0;align-self:center;margin-right:4px;opacity:0;transition:opacity .15s}.manifest-group-row:hover .manifest-group-upload,.vendor-manifest-row:hover .manifest-group-upload{opacity:1}.upload-column-guide{margin-top:12px;padding:10px 12px;background:var(--bg-section);border:1px solid var(--border);border-radius:var(--radius);font-size:12px;color:var(--text-muted);line-height:1.6}.upload-column-guide strong{color:var(--text)}.upload-preview{margin-top:12px;padding:10px 12px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius)}.upload-preview-rows{font-size:13px;margin-bottom:6px}.upload-preview-cols{display:flex;flex-direction:column;gap:2px;font-size:12px}.upload-col{display:flex;justify-content:space-between;padding:2px 0}.upload-col-found{color:var(--success);font-weight:600}.upload-col-missing{color:var(--danger);font-weight:700}.upload-col-absent{color:var(--text-muted)}.upload-result{display:flex;flex-direction:column;gap:6px;font-size:14px}.upload-result-line{line-height:1.5}.upload-result-ok{color:var(--success);font-weight:600}.upload-result-warn{color:var(--warning)}.upload-result-err{color:var(--danger);font-weight:600}.upload-result-errors ul{margin:4px 0 0;padding-left:20px;font-size:13px;color:var(--text)}.instr-detail{gap:0}.instr-detail .vendor-back{margin-bottom:8px}.instr-detail .instruction-breadcrumb{margin-bottom:4px}.instr-detail .instr-tabs{margin-top:0}.instr-detail>.vendor-metrics,.instr-detail>.instr-status-grid,.instr-detail>:not(.vendor-back):not(.instruction-breadcrumb):not(.instr-header):not(.instr-tabs){margin-top:20px}.instr-header{padding:4px 0 0}.instr-header-row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.instr-header-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.instr-header-ref{font-size:13px;font-weight:700;color:var(--brand);letter-spacing:.02em;line-height:1.2}.instr-header-title{font-size:22px;font-weight:700;color:#1a1a1a;line-height:1.2;margin:0}.instr-header-vendor{font-size:13px;color:#6b6b6b;font-weight:500;align-self:flex-start}.instr-header-actions{display:flex;align-items:center;gap:8px;flex-shrink:0;padding-top:4px}.instr-header-status{width:160px;height:32px;padding:0 10px;font-family:inherit;font-size:13px;font-weight:500;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:var(--radius)}.instr-header-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding-top:12px;margin-bottom:12px}.instr-header-meta-item{font-size:13px;color:var(--text)}.instr-header-meta-item+.instr-header-meta-item:before{content:"·";color:var(--text-dim);margin-right:8px}.instr-header-meta-muted{color:#6b6b6b}.instr-status-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}@media (max-width: 1100px){.instr-status-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width: 680px){.instr-status-grid{grid-template-columns:repeat(2,1fr)}}.instr-status-tile{display:flex;flex-direction:column;gap:4px;padding:12px 14px;background:var(--bg);border:1px solid var(--border);border-left:4px solid var(--border-strong);border-radius:8px;text-align:left;font-family:inherit;cursor:pointer;transition:transform .1s ease,box-shadow .15s ease,border-color .15s ease}.instr-status-tile:hover{transform:translateY(-1px);box-shadow:0 4px 10px #0000000d}.instr-status-tile-top{display:flex;align-items:center;gap:6px;color:var(--text-muted)}.instr-status-tile-icon{display:inline-flex}.instr-status-tile-icon svg{width:14px;height:14px}.instr-status-tile-label{font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.instr-status-tile-primary{font-size:18px;font-weight:700;color:var(--text);margin-top:2px}.instr-status-tile-secondary{font-size:12px;color:var(--text-muted)}.instr-status-none{border-left-color:var(--border-strong)}.instr-status-ok{border-left-color:var(--success)}.instr-status-warn{border-left-color:var(--warning)}.instr-tabs{display:flex;gap:0;padding:0 28px;background:#f5f5f5;border-top:1px solid #e8e8e8;border-bottom:1px solid #e8e8e8;margin:0 -28px}.instr-tab{background:transparent;border:none;padding:12px 16px;font-family:inherit;font-size:14px;font-weight:500;color:#6b6b6b;cursor:pointer;border-bottom:3px solid transparent;margin-bottom:-1px;display:inline-flex;align-items:center;gap:0;transition:color .15s,border-color .15s}.instr-tab:hover{color:#1a1a1a}.instr-tab.active{color:#1a1a1a;border-bottom-color:#c0392b}.instr-tab-count{background:#e8e8e8;color:#888;font-size:11px;font-weight:700;padding:2px 7px;border-radius:10px;margin-left:6px;letter-spacing:.02em}.instr-tab.active .instr-tab-count{background:#fde8e8;color:#c0392b}.instr-tab-toolbar{display:flex;justify-content:flex-end;gap:8px;margin-bottom:10px}.instr-delivery-list{display:flex;flex-direction:column;gap:8px}.instr-delivery-card{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-lg);padding:14px 16px;display:flex;align-items:center;gap:14px}.instr-delivery-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.instr-delivery-title{font-size:14px;font-weight:700;color:var(--text)}.instr-delivery-meta{display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-size:13px;color:var(--text)}.instr-delivery-actions{display:flex;gap:6px;align-items:center}.instr-pallet-groups{display:flex;flex-direction:column;gap:10px}.auction-metrics{display:grid;grid-template-columns:repeat(7,1fr);gap:10px}@media (max-width: 1200px){.auction-metrics{grid-template-columns:repeat(4,1fr)}}@media (max-width: 720px){.auction-metrics{grid-template-columns:repeat(2,1fr)}}.auction-metric{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-lg);padding:12px 14px;display:flex;flex-direction:column;gap:4px}.auction-metric-label{font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}.auction-metric-value{font-size:18px;font-weight:700;color:var(--text)}.auction-metric-bp .auction-metric-value{color:#2563eb}.auction-metric-vc .auction-metric-value{color:#d97706}.auction-metric-net .auction-metric-value{color:var(--success)}.auction-lots-toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.auction-lots-table{width:100%}.auction-lots-table td{vertical-align:middle}.auction-lot-row:hover{background:var(--bg-hover)}.auction-lot-row.expanded{background:var(--bg-section)}.auction-lot-num{display:inline-flex;align-items:center;gap:4px;background:transparent;border:none;color:var(--brand);font-family:var(--mono);font-weight:700;cursor:pointer;padding:0}.auction-lot-num:hover{text-decoration:underline}.auction-lot-thumb{width:40px;height:40px;object-fit:cover;border-radius:6px;border:1px solid var(--border);background:var(--bg-section);display:block}.auction-lot-thumb-placeholder{display:inline-flex;align-items:center;justify-content:center;color:var(--text-dim);font-size:13px}.auction-lot-desc,.auction-lot-vendor{font-size:13px;color:var(--text)}.auction-lot-vendor span{color:var(--text-muted);font-weight:500}.auction-cell-bp{color:#2563eb;font-weight:600}.auction-cell-vc{color:#d97706;font-weight:600}.auction-hammer-display{background:transparent;border:1px solid transparent;padding:4px 8px;border-radius:var(--radius);font-family:var(--mono);font-size:13px;font-weight:700;color:var(--text);cursor:text;min-width:90px;text-align:right}.auction-hammer-display:hover{border-color:var(--border);background:var(--bg)}.auction-hammer-display.is-empty{color:var(--text-muted);font-weight:500;font-style:italic}.auction-hammer-input{width:110px;padding:4px 8px;font-family:var(--mono);font-size:13px;font-weight:700;text-align:right;border:1px solid var(--brand);border-radius:var(--radius);background:var(--bg);outline:none}.pallet-loc-badge{display:inline-flex;align-items:center;padding:3px 10px;border-radius:999px;border:1px solid transparent;font-size:12px;font-weight:700;letter-spacing:.02em;cursor:pointer;font-family:inherit}.pallet-loc-badge:hover{filter:brightness(.95)}.pallet-loc-unset{background:#f3f4f6;color:#6b7280}.pallet-loc-yard{background:#e5e7eb;color:#374151}.pallet-loc-saleroom{background:#dbeafe;color:#1d4ed8}.pallet-loc-storage{background:#fef3c7;color:#92400e}.pallet-loc-dispatch{background:#dcfce7;color:#166534}.pallet-loc-select{font-size:12px;padding:4px 8px;border:1px solid var(--brand);border-radius:6px;font-family:inherit;background:var(--bg)}.pallet-movement-history{margin-top:14px}.pallet-movement-head{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);margin-bottom:8px}.pallet-movement-timeline{list-style:none;margin:0;border-left:2px solid var(--border);padding:0 0 0 18px;display:flex;flex-direction:column;gap:12px}.pallet-movement-entry{position:relative;padding-left:6px}.pallet-movement-dot{position:absolute;left:-25px;top:6px;width:10px;height:10px;border-radius:50%;background:var(--text-muted);border:2px solid var(--bg)}.pallet-movement-tone-yard .pallet-movement-dot{background:#6b7280}.pallet-movement-tone-saleroom .pallet-movement-dot{background:#2563eb}.pallet-movement-tone-storage .pallet-movement-dot{background:#d97706}.pallet-movement-tone-dispatch .pallet-movement-dot{background:var(--success)}.pallet-movement-text{font-size:13px;font-weight:600;color:var(--text)}.pallet-movement-arrow{margin:0 6px;color:var(--text-muted);font-weight:400}.pallet-movement-meta{font-size:12px;color:var(--text-muted);margin-top:2px}.pallet-movement-notes{font-size:12px;color:var(--text-muted);font-style:italic;margin-top:2px}.sm-pallet-loc-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.sm-pallet-loc-time{font-size:12px;color:var(--text-muted)}.sm-pallet-move-flash{padding:10px 14px;background:var(--success);color:#fff;font-weight:700;font-size:13px;border-radius:var(--radius);text-align:center;animation:sm-pallet-flash .5s ease-out}@keyframes sm-pallet-flash{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.sm-pallet-move{display:flex;flex-direction:column;gap:12px}.sm-pallet-move-head{display:flex;gap:10px;align-items:center}.sm-pallet-move-ref{font-size:16px;color:var(--brand);font-weight:700}.sm-loc-group{display:flex;flex-direction:column;gap:6px}.sm-loc-grid{display:grid;gap:6px}.sm-loc-grid-3{grid-template-columns:repeat(3,1fr)}.sm-loc-grid-4{grid-template-columns:repeat(4,1fr)}.sm-loc-btn{position:relative;display:flex;align-items:center;justify-content:center;height:44px;padding:0 8px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);font-family:inherit;font-size:14px;font-weight:700;color:var(--text);cursor:pointer;-webkit-tap-highlight-color:transparent}.sm-loc-btn.is-wide{width:100%}.sm-loc-btn.is-current{border-color:var(--brand);color:var(--brand)}.sm-loc-btn.is-picked{background:var(--brand);border-color:var(--brand);color:#fff}.sm-loc-btn-current-mark{position:absolute;top:2px;right:4px;font-size:9px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:inherit;opacity:.7}.sm-loc-confirm{display:flex;flex-direction:column;gap:8px;padding-top:6px;border-top:1px solid var(--border)}.sm-loc-note-label{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}.sm-loc-note{width:100%;padding:10px 12px;font-size:14px;font-family:inherit;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);color:var(--text)}.sm-screen-scan-lookup{display:flex;flex-direction:column;gap:14px}.sm-scan-chips{display:flex;gap:8px;justify-content:center}.sm-scan-chip{background:var(--bg-section);color:var(--text-muted);font-size:12px;font-weight:700;padding:6px 14px;border-radius:999px;letter-spacing:.02em}.sm-scan-history{display:flex;flex-direction:column;gap:4px}.sm-scan-history-head{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);margin-bottom:2px}.sm-scan-history-row{display:grid;grid-template-columns:1fr auto auto;column-gap:10px;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg);text-align:left;font-family:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}.sm-scan-history-row:active{background:var(--bg-hover)}.sm-scan-history-bc{font-size:13px;font-weight:700;color:var(--brand)}.sm-scan-history-summary{font-size:12px;color:var(--text-muted)}.sm-scan-history-time{font-size:11px;color:var(--text-dim)}.sm-scan-results,.sm-scan-result{display:flex;flex-direction:column;gap:10px}.sm-scan-result-sep{border:none;border-top:1px dashed var(--border);margin:6px 0}.sm-scan-result-head{display:flex;flex-direction:column;gap:2px;align-items:flex-start}.sm-scan-result-kind{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted)}.sm-scan-result-ref{font-size:20px;font-weight:700;color:var(--brand)}.sm-scan-result-sub{color:var(--text-muted);font-size:13px}.sm-scan-section-label{font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);margin-bottom:6px}.sm-scan-product-card{display:flex;gap:12px;align-items:center}.sm-scan-product-thumb{width:60px;height:60px;object-fit:cover;border-radius:var(--radius-md, 8px);border:1px solid var(--border);flex-shrink:0}.sm-scan-product-thumb-placeholder{background:var(--bg-section);display:flex;align-items:center;justify-content:center;color:var(--text-dim);font-size:18px}.sm-scan-product-info{flex:1;min-width:0}.sm-scan-product-name{font-size:14px;font-weight:700;color:var(--text)}.sm-scan-product-brand{font-size:12px;color:var(--text-muted)}.sm-scan-product-meta{margin-top:4px;font-size:12px}.sm-scan-product-rrp{color:var(--success);font-weight:700}.sm-scan-journey-step{display:flex;gap:10px;padding:8px 0;border-bottom:1px dashed var(--border)}.sm-scan-journey-step:last-child{border-bottom:none}.sm-scan-journey-tick{width:22px;height:22px;border-radius:50%;border:1.5px solid var(--border);display:inline-flex;align-items:center;justify-content:center;color:var(--text-dim);font-weight:700;font-size:13px;flex-shrink:0;background:var(--bg)}.sm-scan-journey-step.is-active .sm-scan-journey-tick{background:var(--success);border-color:var(--success);color:#fff}.sm-scan-journey-body{flex:1;min-width:0}.sm-scan-journey-label{font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}.sm-scan-journey-value{font-size:14px;font-weight:600;color:var(--text)}.sm-scan-journey-sub{font-size:12px;color:var(--text-muted);margin-top:2px}.sm-scan-item-list{display:flex;flex-direction:column;gap:6px}.sm-scan-item-row{display:flex;gap:8px;align-items:center;padding:8px;background:var(--bg-section);border-radius:var(--radius-md, 8px);font-size:12px}.sm-scan-item-thumb{width:32px;height:32px;object-fit:cover;border-radius:4px;border:1px solid var(--border);flex-shrink:0}.sm-scan-item-thumb-placeholder{background:var(--bg)}.sm-scan-item-jp{font-weight:700;color:var(--text)}.sm-scan-item-ean{color:var(--text-muted);font-size:11px}.sm-scan-item-name{color:var(--text);font-size:12px}.sm-scan-item-lot{margin-left:auto}.sm-scan-notfound{display:flex;flex-direction:column;gap:10px;align-items:center;text-align:center;padding:16px 0}.sm-scan-notfound-icon{width:48px;height:48px;border-radius:50%;background:var(--danger-soft);color:var(--danger);font-size:24px;display:inline-flex;align-items:center;justify-content:center;font-weight:700}.sm-scan-notfound-barcode{background:var(--bg-section);border:1px solid var(--border);border-radius:var(--radius);padding:6px 12px;font-size:13px;color:var(--text)}.hammer-summary-bar{position:relative;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;align-items:center;padding:12px 16px;margin-bottom:14px;background:var(--bg);border:1px solid var(--border);border-radius:8px}@media (max-width: 900px){.hammer-summary-bar{grid-template-columns:repeat(2,1fr)}}.hammer-summary-metric{display:flex;flex-direction:column;gap:2px;min-width:0}.hammer-summary-label{font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hammer-summary-value{font-size:16px;font-weight:700;color:#1a1a1a}.hammer-summary-bp .hammer-summary-value{color:#2563eb}.hammer-summary-vc .hammer-summary-value{color:#d97706}.hammer-summary-net .hammer-summary-value{color:var(--success)}.hammer-summary-progress-value{font-size:14px}.hammer-summary-progress{width:100%;height:4px;background:var(--bg-section);border-radius:2px;overflow:hidden;margin-top:4px}.hammer-summary-progress-fill{height:100%;background:var(--brand);transition:width .3s ease}.hammer-summary-empty{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);pointer-events:none;font-size:12px;font-weight:600;color:var(--text-muted);background:#ffffffe6;padding:2px 10px;border-radius:4px}.hammer-summary-loading,.hammer-summary-error{display:block;padding:10px 14px;font-size:13px;color:var(--text-muted)}.hammer-summary-error{color:var(--danger)}.sm-hammer-line{padding:6px 14px;font-size:12px;font-weight:600;color:var(--brand);background:var(--brand-soft);border-radius:var(--radius);margin-top:-4px;margin-bottom:6px;text-align:center}.sm-hammer-line strong{font-weight:700}.sm-hammer-line-sep{margin:0 8px;opacity:.6}.lot-link-badge{border:none;cursor:pointer;font-family:inherit;padding:2px 8px}.lot-link-badge:hover{text-decoration:underline}.vendor-breakdown-table tbody tr.clickable-row{cursor:pointer}.vendor-breakdown-table tbody tr.clickable-row.expanded,.vendor-breakdown-table tbody tr.clickable-row:hover{background:var(--bg-hover)}.vendor-breakdown-expanded>td{background:var(--bg-section);padding:0}.vendor-breakdown-lots{padding:10px 14px}.vendor-breakdown-footer td{background:var(--bg-section);border-top:2px solid var(--border-strong);padding-top:12px;padding-bottom:12px}.auction-lot-expanded>td{background:var(--bg-section);padding:0}.auction-lot-expanded-inner{padding:14px 18px;display:flex;flex-direction:column;gap:12px}.auction-lot-expanded-block{display:flex;flex-direction:column;gap:6px}.auction-lot-expanded-block .field-label{font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}.auction-lot-expanded-photos{display:flex;gap:8px;flex-wrap:wrap}.auction-lot-expanded-photos img{width:80px;height:80px;object-fit:cover;border-radius:6px;border:1px solid var(--border);cursor:zoom-in}.product-import-toast{position:fixed;bottom:24px;right:24px;background:var(--success);color:#fff;padding:10px 16px;border-radius:var(--radius);box-shadow:0 4px 12px #00000026;font-size:13px;font-weight:600;z-index:3000;animation:toast-in .2s ease-out}@keyframes toast-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.manifest-delete-confirm{display:flex;flex-direction:column;gap:8px;padding:10px 14px;background:var(--danger-soft);border-top:1px solid var(--danger);font-size:13px;color:var(--text)}.manifest-delete-confirm-actions{display:flex;gap:8px;justify-content:flex-end}.manifest-group-chev{display:inline-flex;align-items:center;color:var(--text-muted);flex-shrink:0}.manifest-group-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.manifest-group-title-row{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}.manifest-ref{color:var(--brand);font-weight:700}.manifest-group-vendor{font-size:13px;font-weight:600;color:var(--text)}.manifest-group-desc{font-size:13px;color:var(--text-muted)}.manifest-group-meta{display:inline-flex;align-items:center;gap:10px;font-size:12px;color:var(--text-muted)}.manifest-group-body{border-top:1px solid var(--border)}.manifest-group-actions{display:flex;justify-content:flex-end;padding:8px 14px;background:var(--bg-section);border-bottom:1px solid var(--border)}.jp-barcode-cell{color:var(--text)}.jp-barcode-empty{display:inline-flex;align-items:center;gap:6px;background:transparent;border:1px dashed var(--border-strong);border-radius:var(--radius);padding:4px 8px;color:var(--text-muted);font-size:12px;font-style:italic;cursor:pointer;font-family:inherit}.jp-barcode-empty:hover{border-color:var(--brand);color:var(--brand)}.vendor-manifests-list{display:flex;flex-direction:column;gap:6px;padding:10px 14px}.vendor-manifest-card{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.vendor-manifest-row{display:flex;align-items:stretch}.vendor-manifest-row:hover .manifest-group-delete{opacity:1}.vendor-manifest-header{flex:1;min-width:0;display:flex;align-items:center;gap:12px;padding:10px 12px;background:var(--bg);border:none;text-align:left;cursor:pointer;font-family:inherit}.vendor-manifest-header:hover{background:var(--bg-hover)}.vendor-manifest-chev{display:inline-flex;color:var(--text-muted);flex-shrink:0}.vendor-manifest-title{flex:1;min-width:0;display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.vendor-manifest-desc{font-size:13px;color:var(--text-muted)}.vendor-manifest-meta{display:inline-flex;align-items:center;gap:8px;font-size:12px;color:var(--text-muted)}.vendor-manifest-body{border-top:1px solid var(--border);background:var(--bg-section)}.sp-root{position:fixed;top:0;right:0;bottom:0;left:0;background:#000;color:#fff;display:flex;flex-direction:column;overflow:hidden;overscroll-behavior:none;-webkit-overflow-scrolling:touch}.sp-banner{position:absolute;top:0;left:0;right:0;z-index:50;padding:18px 20px;font-size:17px;font-weight:700;text-align:center;cursor:pointer;opacity:0;pointer-events:none;transition:opacity .15s;border-radius:0}.sp-banner-visible{opacity:1;pointer-events:auto}.sp-banner-error{background:#dc2626;color:#fff}.sp-banner-warn{background:#b45309;color:#fff}.sp-banner-success{background:#16a34a;color:#fff}.sp-status{flex-shrink:0;padding:20px 20px 16px;border-bottom:1px solid #1c1c1c;min-height:82px;display:flex;flex-direction:column;justify-content:center;gap:4px}.sp-status-tag{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#4b5563}.sp-status-ref{font-family:var(--mono);font-size:26px;font-weight:700;color:#22c55e;line-height:1.1;word-break:break-all}.sp-status-bc{font-family:var(--mono);font-size:13px;color:#374151;margin-top:2px}.sp-status-idle{font-size:16px;color:#4b5563}.sp-ghost-input{position:absolute;left:-9999px;top:0;width:1px;height:1px;opacity:0;border:none;padding:0;margin:0;background:transparent;color:transparent;outline:none;overflow:hidden}.sp-main{flex:1;display:flex;flex-direction:column;align-items:center;padding:24px 16px 16px;gap:20px;overflow-y:auto;cursor:default}.sp-ready{display:flex;flex-direction:column;align-items:center;gap:16px;padding:24px 0 8px}.sp-ready-label{font-size:22px;font-weight:700;color:#d1d5db;letter-spacing:.02em;text-align:center}.sp-counter{text-align:center;padding:4px 0;width:100%}.sp-count-num{display:block;font-family:var(--mono);font-size:80px;font-weight:700;color:#22c55e;line-height:1}.sp-count-label{display:block;font-size:18px;color:#6b7280;margin-top:6px}.sp-last-bc{display:block;font-family:var(--mono);font-size:16px;color:#4b5563;margin-top:12px}.sp-confirm-scan{width:100%;margin-top:auto;padding:20px;background:#111;border:2px solid #1f2937;border-radius:12px;color:#374151;cursor:not-allowed;font-size:18px;font-weight:700;letter-spacing:.02em;transition:background .15s,border-color .15s,color .15s;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.sp-confirm-scan-ready{background:#1c2d40;border-color:#3b82f6;color:#93c5fd;cursor:pointer}.sp-confirm-scan-ready:active{background:#1e3a5f}.sp-confirm-scan:disabled:not(.sp-confirm-scan-ready){opacity:1}.sp-bottom{flex-shrink:0;padding:14px 16px calc(14px + env(safe-area-inset-bottom));border-top:1px solid #1c1c1c;background:#000}.sp-close-btn{width:100%;padding:20px;background:transparent;border:2px solid #dc2626;border-radius:12px;color:#dc2626;cursor:pointer;font-size:18px;font-weight:700;letter-spacing:.03em;-webkit-tap-highlight-color:transparent;touch-action:manipulation;transition:background .15s}.sp-close-btn:active{background:#dc26261f}.sp-close-confirm{display:flex;flex-direction:column;gap:14px}.sp-close-confirm-msg{font-size:18px;text-align:center;color:#d1d5db;line-height:1.4}.sp-close-confirm-msg strong{color:#fff}.sp-close-confirm-btns{display:flex;gap:12px}.sp-btn-close-ok{flex:1;padding:20px;background:#dc2626;border:none;border-radius:12px;color:#fff;cursor:pointer;font-size:18px;font-weight:700;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.sp-btn-close-cancel{flex:1;padding:20px;background:#111;border:2px solid #1f2937;border-radius:12px;color:#9ca3af;cursor:pointer;font-size:18px;font-weight:700;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.sp-back-link{position:absolute;bottom:calc(94px + env(safe-area-inset-bottom));right:16px;font-size:12px;color:#1f2937;text-decoration:none;padding:4px 8px}.sp-back-link:hover{color:#374151}.login-page{min-height:100vh;width:100%;display:flex;flex-direction:row;background:#fff!important;color-scheme:light;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.login-loading{min-height:100vh;display:flex;align-items:center;justify-content:center;color:var(--brand);font-size:14px;background:#fff}.login-brand{flex:0 0 35%;width:35%;max-width:35%;min-width:0;background:#2c2c2c;display:flex;align-items:center;justify-content:center;padding:32px}.login-brand-logo{height:40px;width:auto;filter:brightness(0) invert(1);display:block}.login-panel{flex:1 1 65%;width:65%;display:flex;align-items:center;justify-content:center;padding:48px;background:#fff}.login-panel-inner{width:100%;max-width:440px;margin:0 auto;display:flex;flex-direction:column}.login-mobile-logo{display:none;height:32px;width:auto;margin:0 auto 24px}.login-heading{font-size:32px;font-weight:700;color:#1a1a2e;text-align:center;margin-bottom:32px;line-height:1.2}.login-form{display:flex;flex-direction:column;gap:16px}.login-field{display:flex;flex-direction:column;gap:6px}.login-label{font-size:13px;color:#6b7280;font-weight:500}.login-page .login-input{height:44px;padding:0 12px;border:1px solid #e0e0e0!important;border-radius:6px;font-size:14px;background:#f5f5f5!important;color:#1a1a1a!important;outline:none;transition:border-color .12s,background-color .12s,box-shadow .12s;font-family:inherit;width:100%;-webkit-text-fill-color:#1a1a1a}.login-page .login-input:focus{border-color:#c0392b!important;background:#fff!important;box-shadow:0 0 0 3px #c0392b1f}.login-page .login-input:disabled{background:#ececec!important;cursor:not-allowed}.login-page .login-input:-webkit-autofill,.login-page .login-input:-webkit-autofill:hover,.login-page .login-input:-webkit-autofill:focus{-webkit-box-shadow:0 0 0 1000px #f5f5f5 inset!important;-webkit-text-fill-color:#1a1a1a!important;caret-color:#1a1a1a;transition:background-color 5000s ease-in-out 0s}.login-row{display:flex;flex-wrap:nowrap;align-items:center;justify-content:space-between;gap:12px;margin:4px 0 8px;font-size:13px}.login-check{display:inline-flex;flex:0 0 auto;align-items:center;gap:8px;color:#6b7280;cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}.login-check input[type=checkbox]{width:16px;height:16px;accent-color:#c0392b;cursor:pointer;margin:0}.login-forgot{flex:0 0 auto;color:#6b7280;text-decoration:none;font-size:13px;white-space:nowrap}.login-forgot:hover{color:#1a1a2e;text-decoration:underline}.login-button,.login-button:link,.login-button:visited{-moz-appearance:none;appearance:none;-webkit-appearance:none;height:48px;margin-top:8px;border:none;border-radius:6px;background:#c0392b;color:#fff;font-size:15px;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:10px;transition:background-color .12s;font-family:inherit;width:100%}.login-button:hover:not(:disabled){background:#a93226}.login-button:active:not(:disabled){background:#8f2a20}.login-button:focus-visible{outline:2px solid rgba(192,57,43,.35);outline-offset:2px}.login-button:disabled{opacity:.7;cursor:not-allowed}.login-spinner{width:14px;height:14px;border:2px solid rgba(255,255,255,.45);border-top-color:#fff;border-radius:50%;animation:login-spin .7s linear infinite}@keyframes login-spin{to{transform:rotate(360deg)}}.login-error{color:#c0392b;font-size:13px;text-align:center;margin-top:4px}.login-footer{margin-top:40px;color:#9ca3af;font-size:12px;line-height:1.6;text-align:center}.login-footer a{color:#6b7280;text-decoration:underline}.login-footer a:hover{color:#1a1a2e}@media (max-width: 768px){.login-brand{display:none}.login-panel{flex:1 1 100%;width:100%;padding:32px 20px}.login-mobile-logo{display:block}.login-heading{font-size:26px;margin-bottom:24px}}.sidebar-footer-links button.sidebar-signout{color:var(--brand)}.sm-app-header-right .sm-signout-btn{background:transparent;border:1px solid var(--sm-border);color:var(--sm-text-2);font-size:11px;padding:4px 8px;border-radius:6px;cursor:pointer;line-height:1;font-weight:600}.sm-app-header-right .sm-signout-btn:active{background:#0000000a}.vendors-page{display:flex;flex-direction:column;gap:16px}.vendors-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius-lg);padding:0;overflow:hidden}.vendors-card-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 24px 16px}.vendors-card-title{font-size:18px;font-weight:700;color:var(--brand);margin:0;line-height:1.2}.vendors-add-btn{display:inline-flex;align-items:center;gap:8px;background:var(--brand);color:#fff;border:none;border-radius:8px;height:38px;padding:0 16px;font-size:13px;font-weight:600;cursor:pointer;transition:background-color .12s;font-family:inherit}.vendors-add-btn:hover{background:var(--brand-dark)}.vendors-add-btn svg{width:14px;height:14px}.vendors-filters{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:0 24px 16px}.vendors-card .vendors-search{flex:0 0 auto;width:260px;max-width:100%;min-width:200px;height:38px;background:#fff;border:1px solid var(--border-strong);border-radius:8px;padding:0 12px}.vendors-card .vendors-search input{font-size:13px}.vendors-filter-group{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}.select-pill{position:relative;display:inline-flex;align-items:center;gap:8px;height:38px;padding:0 34px 0 14px;border:1px solid var(--border-strong);border-radius:8px;background:#fff;color:var(--text);font-size:13px;font-weight:500;cursor:pointer;transition:border-color .12s,background-color .12s;-webkit-user-select:none;user-select:none;white-space:nowrap}.select-pill:hover{border-color:#9ca3af;background:#fafafa}.select-pill:focus-within{border-color:var(--brand);box-shadow:0 0 0 3px #c0392b1f}.select-pill-label{display:inline-flex;gap:4px;align-items:center}.select-pill-prefix{color:var(--text-muted);font-weight:500}.select-pill-chev{position:absolute;right:12px;top:50%;transform:translateY(-50%);width:14px;height:14px;color:var(--text-muted);pointer-events:none}.select-pill select{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;-moz-appearance:none;appearance:none;-webkit-appearance:none;border:none;background:transparent;cursor:pointer;font:inherit}.select-pill-compact{height:32px;padding:0 28px 0 10px;font-size:12px}.select-pill-compact .select-pill-chev{right:8px;width:12px;height:12px}.vendors-table-wrap{border-top:1px solid var(--border);overflow-x:auto}.vendors-table{width:100%;border-collapse:collapse;font-size:13px}.vendors-table thead th{text-align:left;padding:12px 16px;font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);border-bottom:1px solid var(--border);background:#fff;white-space:nowrap}.vendors-table tbody td{padding:14px 16px;border-bottom:1px solid var(--border);color:var(--text);vertical-align:middle}.vendors-table tbody tr:last-child td{border-bottom:none}.vendors-table tbody tr:hover{background:var(--bg-hover)}.vendors-table .text-muted{color:var(--text-muted)}.vendors-table .vendor-ref{font-family:var(--mono);font-size:12px;color:var(--text-muted);font-weight:500}.vendors-table .vendors-date-col{text-align:right;color:var(--text-muted);white-space:nowrap}.vendors-table .vendors-actions-col{width:96px;text-align:right}.vendors-table .vendors-actions-col .row-actions{justify-content:flex-end}.vendors-table .badge{font-size:11px;padding:3px 10px;border-radius:999px;font-weight:600}.vendors-empty{text-align:center;color:var(--text-muted);padding:32px 16px}.vendors-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 20px;border-top:1px solid var(--border);background:#fff;font-size:12px;color:var(--text-muted)}.vendors-pagination-left,.vendors-pagination-right{display:inline-flex;align-items:center;gap:8px}.vendors-pagination-mid{flex:1;text-align:center}.vendors-page-label{min-width:96px;text-align:center;color:var(--text);font-weight:500}.vendors-pagination .icon-btn:disabled{opacity:.35;cursor:not-allowed}.vendor-detail{display:flex;flex-direction:column;gap:16px}.vendor-breadcrumb-row{display:flex;align-items:center;gap:10px}.vendor-back-arrow{width:32px;height:32px;border:1px solid var(--border);border-radius:8px;background:#fff;color:var(--text);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.vendor-back-arrow:hover{background:var(--bg-hover)}.vendor-breadcrumb{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:var(--text-muted)}.vendor-breadcrumb a{color:var(--text-muted);text-decoration:none}.vendor-breadcrumb a:hover{color:var(--text)}.vendor-breadcrumb-sep{color:var(--text-muted);font-weight:600;line-height:1}.vendor-breadcrumb-current{color:var(--text);font-weight:600}.vendor-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:4px 0 12px}.vendor-hero-left{display:flex;flex-direction:column;gap:6px;min-width:0}.vendor-hero-right{flex-shrink:0}.vendor-hero-name{font-size:28px;font-weight:700;color:var(--text);margin:0;line-height:1.15;letter-spacing:-.01em}.vendor-hero-meta{display:inline-flex;align-items:center;flex-wrap:wrap;gap:8px;font-size:13px;color:var(--text-muted)}.vendor-hero-dot{color:var(--text-muted);font-weight:600;line-height:1}.vendor-hero-status{display:inline-flex;align-items:center;gap:6px;color:var(--text);font-weight:500}.vendor-status-dot{width:8px;height:8px;border-radius:50%;background:var(--text-dim);display:inline-block;flex-shrink:0}.vendor-status-dot-active{background:var(--success);box-shadow:0 0 0 3px var(--success-soft)}.vendor-status-dot-inactive{background:var(--text-muted)}.vendor-status-dot-suspended{background:var(--danger);box-shadow:0 0 0 3px var(--danger-soft)}.vendor-status-dot-onboarding{background:var(--warning);box-shadow:0 0 0 3px var(--warning-soft)}.vendor-layout{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:20px;align-items:start;transition:grid-template-columns .3s ease;overflow:visible}.vendor-layout.is-metrics-collapsed{grid-template-columns:minmax(0,1fr) 0;gap:0}.vendor-main{min-width:0;display:flex;flex-direction:column;gap:16px}.vendor-detail .instr-tabs{margin:0;padding:0 4px;border-top:none;border-radius:8px 8px 0 0}.vendor-detail .instr-tab{padding:12px 14px}.vendor-detail .instr-tab-toolbar{background:transparent;padding:0;border:none;margin:0}.vendor-sidebar{position:relative;display:flex;flex-direction:column;gap:16px;min-width:0;overflow:visible;transition:transform .3s ease,opacity .2s ease}.vendor-sidebar-body{display:flex;flex-direction:column;gap:16px}.vendor-sidebar-card{overflow:visible}.vendor-sidebar-toggle{position:absolute;top:12px;right:-12px;width:20px;height:32px;display:inline-flex;align-items:center;justify-content:center;background:var(--brand);color:#fff;border:none;border-radius:4px 0 0 4px;cursor:pointer;padding:0;z-index:100;transition:background-color .12s}.vendor-sidebar-toggle:hover{background:var(--brand-dark)}.vendor-sidebar-toggle svg{width:10px;height:10px}.vendor-layout.is-metrics-collapsed .vendor-sidebar{transform:translate(calc(100% + 20px));pointer-events:none;opacity:.6}.vendor-layout.is-metrics-collapsed .vendor-sidebar-body{visibility:hidden}.vendor-layout.is-metrics-collapsed .vendor-sidebar-toggle{position:fixed;top:120px;right:0;left:auto;transform:none;pointer-events:auto;opacity:1;visibility:visible}@media (max-width: 960px){.vendor-layout,.vendor-layout.is-metrics-collapsed{grid-template-columns:minmax(0,1fr)}.vendor-sidebar-toggle{display:none}.vendor-layout.is-metrics-collapsed .vendor-sidebar{transform:none;opacity:1}.vendor-layout.is-metrics-collapsed .vendor-sidebar-body{visibility:visible}}.vendor-sidebar-card{position:relative;background:#fff;border:1px solid var(--border);border-radius:var(--radius-lg);padding:16px}.vendor-sidebar-head{font-size:13px;font-weight:700;color:var(--text);margin-bottom:8px}.vendor-metric-list{display:flex;flex-direction:column}.vendor-metric-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:.5px solid var(--border)}.vendor-metric-row:last-child{border-bottom:none}.vendor-metric-row-progress{padding-bottom:4px;border-bottom:none}.vendor-metric-text{min-width:0;display:flex;flex-direction:column;gap:2px}.vendor-metric-label{font-size:10px;font-weight:500;color:var(--text-muted);letter-spacing:.04em;text-transform:uppercase}.vendor-metric-sub{font-size:10px;font-weight:400;color:var(--text-muted)}.vendor-metric-value{font-size:16px;font-weight:600;color:var(--text);text-align:right;white-space:nowrap;flex-shrink:0;font-variant-numeric:tabular-nums}.vendor-metric-value-count{font-size:18px}.vendor-metric-bar{height:4px;width:100%;background:#e8e8e8;border-radius:2px;overflow:hidden;margin-top:2px;margin-bottom:10px}.vendor-metric-bar-fill{height:100%;background:#1a1a1a;border-radius:2px;transition:width .22s ease}.vendor-activity-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.vendor-activity-row{position:relative;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 14px 10px 0;border-bottom:1px solid var(--border);font-size:13px}.vendor-activity-row:last-child{border-bottom:none}.vendor-activity-label{color:var(--text);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vendor-activity-date{color:var(--text-muted);font-size:12px;white-space:nowrap}.vendor-activity-dot{position:absolute;right:0;top:50%;transform:translateY(-50%);width:6px;height:6px;border-radius:50%;background:var(--text)}.vendor-activity-empty{padding:4px 0;color:var(--text-muted);font-size:13px}.vendor-overview-stack{display:flex;flex-direction:column;gap:16px}.vendor-overview-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius-lg);padding:24px}.vendor-section-head{font-size:14px;font-weight:700;color:var(--text);margin-bottom:16px}.vendor-contact-label{font-size:11px;font-weight:700;color:var(--brand);letter-spacing:.08em;text-transform:uppercase;margin-bottom:12px}.vendor-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 28px}.vendor-field{display:flex;flex-direction:column;gap:4px;min-width:0}.vendor-field-label{font-size:13px;font-weight:700;color:var(--text)}.vendor-field-value{font-size:13px;color:var(--text-muted);word-break:break-word}.vendor-field-value.is-empty{color:var(--text-dim)}.vendor-field-value a{color:var(--brand);text-decoration:none}.vendor-field-value a:hover{text-decoration:underline}.vendor-field-value .badge{display:inline-block}.vendor-notes{margin-top:18px;padding-top:18px;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:6px}.vendor-notes-head{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:700;color:var(--text)}.vendor-notes-head svg{width:14px;height:14px;color:var(--text-muted)}.vendor-notes-text{font-size:13px;color:var(--text-muted);font-style:italic;white-space:pre-wrap}.instr-list{display:flex;flex-direction:column;gap:12px}.instr-search-row,.instr-list-topbar{display:flex;align-items:center;justify-content:space-between;gap:12px}.instr-controls-filters-only{justify-content:flex-end}.instr-controls-filters-only .instr-controls-right{flex-wrap:wrap;justify-content:flex-end}.instr-search-row .vendors-search{flex:1 1 auto;width:auto;min-width:240px;max-width:420px}.instr-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.instr-controls .vendors-search{flex:0 0 auto;width:320px;max-width:100%;min-width:220px;height:38px;background:#fff;border:1px solid var(--border-strong);border-radius:8px;padding:0 12px}.instr-controls .vendors-search input{font-size:13px}.instr-controls-right{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}.instr-export-btn{display:inline-flex;align-items:center;gap:6px;height:38px;padding:0 14px;border-radius:8px;font-size:13px;font-weight:500}.instr-export-btn svg{width:14px;height:14px}.instr-table-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius-lg);padding:0;overflow:hidden}.instr-table-wrap{overflow-x:auto}.instr-table thead th{background:#fff}.instr-checkbox-col{width:40px;padding-right:0!important;text-align:center}.instr-checkbox-col input[type=checkbox]{width:16px;height:16px;accent-color:var(--brand);margin:0;cursor:pointer}.instr-th-sort{display:inline-flex;align-items:center;gap:4px;background:transparent;border:none;padding:0;margin:0;font:inherit;color:inherit;letter-spacing:inherit;cursor:pointer;text-transform:inherit}.instr-th-sort svg{width:12px;height:12px;opacity:.6}.instr-th-sort:hover svg{opacity:1}.instr-ref{font-family:var(--mono);font-size:12px;color:var(--text);font-weight:600}.instr-date{color:var(--text-muted);white-space:nowrap}.instr-table tbody .instr-row-actions{opacity:0;transition:opacity .12s}.instr-table tbody tr:hover .instr-row-actions{opacity:1}.instr-table tbody tr:focus-within .instr-row-actions{opacity:1}.instr-pill{display:inline-block;padding:3px 10px;border-radius:999px;font-size:11px;font-weight:600;line-height:1.4;white-space:nowrap}.instr-pill-grey{background:#eef0f3;color:var(--text-muted)}.instr-pill-blue{background:var(--info-soft);color:var(--info)}.instr-pill-purple{background:#f3e8ff;color:#7c3aed}.instr-pill-teal{background:#ccfbf1;color:#0d9488}.instr-pill-amber{background:var(--warning-soft);color:var(--warning)}.instr-pill-green{background:var(--success-soft);color:var(--success)}.instr-pill-red{background:#fde7eb;color:var(--danger, #c8102e)}.vendors-table .vendors-checkbox-col{width:40px;padding-right:0!important;text-align:center}.vendors-table .vendors-checkbox-col input[type=checkbox]{width:16px;height:16px;accent-color:var(--brand);margin:0;cursor:pointer}.vendors-table-sortable thead th{padding:0}.vendors-table-sortable thead th.vendors-checkbox-col,.vendors-table-sortable thead th.vendors-actions-col{padding:12px 16px}.vendors-th-sort{background:#fff;transition:background-color .12s}.vendors-th-sort.is-active{color:var(--text)}.vendors-th-btn{display:inline-flex;align-items:center;gap:4px;background:transparent;border:none;padding:12px 16px;width:100%;font:inherit;color:inherit;letter-spacing:inherit;text-transform:inherit;text-align:inherit;cursor:pointer;font-weight:600;font-size:11px}.vendors-th-btn:hover{background:var(--bg-hover)}.vendors-th-btn:focus-visible{outline:2px solid rgba(192,57,43,.25);outline-offset:-2px}.vendors-th-sort[style*=right] .vendors-th-btn{justify-content:flex-end}.vendors-th-sort[style*=center] .vendors-th-btn{justify-content:center}.vendors-th-icon{width:12px;height:12px;flex-shrink:0;color:var(--text-dim);transition:color .12s}.vendors-th-sort.is-active .vendors-th-icon{color:var(--brand)}.vendors-table .vendors-hammer-cell{font-variant-numeric:tabular-nums;white-space:nowrap}.jp-toolbar-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;flex-wrap:wrap}.jp-filter-row{display:flex;align-items:center;gap:8px;margin-bottom:16px;flex-wrap:wrap}.jp-filter-row-right{margin-left:auto;display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}.jp-search{position:relative;display:flex;align-items:center;flex:1 1 240px;min-width:240px;max-width:420px;height:36px;padding:0 12px 0 36px;background:#fff;border:1px solid #e0e0e0;border-radius:8px}.jp-search .jp-search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);width:14px;height:14px;color:var(--text-muted);pointer-events:none}.jp-search input{flex:1;border:none;outline:none;background:transparent;font-family:inherit;font-size:13px;height:100%;width:100%;color:var(--text)}.jp-search input::placeholder{color:var(--text-dim)}.jp-search:focus-within{border-color:var(--brand);box-shadow:0 0 0 3px #c0392b1f}.jp-btn-primary{height:36px;padding:0 16px;background:var(--brand);border:none;border-radius:8px;color:#fff;font-size:13px;font-weight:500;font-family:inherit;cursor:pointer;display:inline-flex;align-items:center;gap:6px;white-space:nowrap;transition:background-color .12s}.jp-btn-primary:hover:not(:disabled){background:var(--brand-dark)}.jp-btn-primary:disabled{opacity:.6;cursor:not-allowed}.jp-btn-primary svg{width:14px;height:14px}.jp-btn-secondary{height:36px;padding:0 12px;background:#fff;border:1px solid #e0e0e0;border-radius:8px;color:var(--text);font-size:13px;font-family:inherit;cursor:pointer;display:inline-flex;align-items:center;gap:6px;white-space:nowrap;transition:background-color .12s,border-color .12s}.jp-btn-secondary:hover{background:var(--bg-hover);border-color:#c8c8c8}.jp-btn-secondary svg{width:14px;height:14px}.instr-status-dot{width:8px;height:8px;border-radius:50%;display:inline-block;flex-shrink:0;background:var(--text-dim)}.instr-status-dot-grey{background:#9ca3af}.instr-status-dot-blue{background:var(--info);box-shadow:0 0 0 3px var(--info-soft)}.instr-status-dot-purple{background:#7c3aed;box-shadow:0 0 0 3px #f3e8ff}.instr-status-dot-teal{background:#0d9488;box-shadow:0 0 0 3px #ccfbf1}.instr-status-dot-amber{background:var(--warning);box-shadow:0 0 0 3px var(--warning-soft)}.instr-status-dot-green{background:var(--success);box-shadow:0 0 0 3px var(--success-soft)}.sm-offline-pill{display:inline-flex;align-items:center;gap:6px;padding:2px 8px;border-radius:999px;background:#fde8e8;color:var(--danger);font-size:11px;font-weight:600;line-height:1.4;white-space:nowrap}.sm-offline-dot{width:6px;height:6px;border-radius:50%;background:var(--danger);display:inline-block;flex-shrink:0}.sm-install-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;background:#fff5f4;border-bottom:1px solid #f5d5d1;color:var(--text);font-size:13px;flex-shrink:0}.sm-install-msg{min-width:0}.sm-install-actions{display:inline-flex;align-items:center;gap:8px;flex-shrink:0}.sm-install-btn{background:var(--brand);color:#fff;border:none;border-radius:6px;height:30px;padding:0 14px;font-size:12px;font-weight:600;font-family:inherit;cursor:pointer}.sm-install-btn:active{background:var(--brand-dark)}.sm-install-dismiss{background:transparent;border:none;color:var(--text-muted);width:28px;height:28px;font-size:20px;line-height:1;cursor:pointer;padding:0}.sm-install-dismiss:active{color:var(--text)}.sm-zebra-wrap{position:relative;width:100%;display:flex;flex-direction:column;align-items:center;gap:12px;flex:1 1 auto}.sm-zebra-focus-catcher{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;background:transparent;cursor:pointer}.sm-zebra-controls{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;gap:10px;width:100%;max-width:320px}.sm-zebra-refocus{background:var(--brand, #c0392b);color:#fff;border:none;font-weight:600}.sm-zebra-debug{position:relative;z-index:2;margin-top:6px;font-size:11px;color:#9ca3af;text-align:center}.sm-scan-preview{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;gap:4px;margin-top:4px}.sm-scan-preview-label{font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#6b6b6b}.sm-scan-preview-value{font-size:18px;font-weight:700;color:#1a1a1a;word-break:break-all;text-align:center;max-width:320px;padding:4px 10px;background:#f5f5f5;border-radius:6px}.sm-lookup-status{font-size:13px;font-weight:700;text-align:center;margin-bottom:10px}.sm-lookup-status-ok{color:#27ae60}.sm-zebra-wrap-visible{width:100%;max-width:480px;display:flex;flex-direction:column;align-items:center;gap:12px}.sm-zebra-wrap-visible .sm-ready-label{margin:0;font-size:13px;color:#6b6b6b;font-weight:500}.sm-scan-bar{width:100%;background:#f8f8f8;border:2px solid #d0d0d0;border-radius:10px;padding:0 12px;display:flex;align-items:center;gap:12px;height:52px;transition:border-color .12s,background-color .12s;cursor:text}.sm-scan-bar.is-focused{border-color:#c0392b;background:#fff}.sm-scan-bar-icon{font-size:20px;color:#c0392b;flex-shrink:0;line-height:1}.sm-scan-bar-input{flex:1;min-width:0;border:none;background:transparent;font-size:15px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;outline:none;color:#1a1a1a;padding:0;height:100%}.sm-scan-bar-input::placeholder{color:#9ca3af}.sm-scan-bar-dot{width:12px;height:12px;border-radius:50%;background:#c0c4c8;border:none;padding:0;flex-shrink:0;cursor:pointer;transition:background-color .12s,box-shadow .12s}.sm-scan-bar-dot.is-on{background:#27ae60;box-shadow:0 0 0 3px #27ae6026}.jp-side-panel-wrap{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a59;z-index:90;display:flex;justify-content:flex-end;animation:jp-fade-in .16s ease}@keyframes jp-fade-in{0%{opacity:0}to{opacity:1}}.jp-side-panel{width:480px;max-width:100vw;background:#fff;height:100%;display:flex;flex-direction:column;box-shadow:-12px 0 24px #0f172a24;animation:jp-slide-in .22s ease}@keyframes jp-slide-in{0%{transform:translate(100%)}to{transform:translate(0)}}.jp-side-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:20px 24px;border-bottom:1px solid var(--border)}.jp-side-panel-body{flex:1;overflow-y:auto;padding:20px 24px;display:flex;flex-direction:column;gap:20px}.jp-side-panel-foot{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:14px 24px;border-top:1px solid var(--border);background:#fafafa}.jp-side-section{display:flex;flex-direction:column;gap:10px}.jp-side-section-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.jp-side-section-title{font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted)}.invoice-breakdown{background:#fafafa;border:1px solid var(--border);border-radius:10px;padding:14px 16px;display:flex;flex-direction:column;gap:6px}.invoice-breakdown-row{display:flex;align-items:baseline;justify-content:space-between;gap:12px;font-size:13px}.invoice-breakdown-label{color:var(--text)}.invoice-breakdown-note{color:var(--text-muted);font-size:11px}.invoice-breakdown-value{font-variant-numeric:tabular-nums;font-weight:600}.invoice-breakdown-row-bp .invoice-breakdown-value{color:var(--info)}.invoice-breakdown-row-muted .invoice-breakdown-value{color:var(--text-muted);font-weight:500}.invoice-breakdown-divider{height:1px;background:var(--border-strong);margin:4px 0}.invoice-breakdown-row-total .invoice-breakdown-label{font-weight:700;letter-spacing:.04em}.invoice-breakdown-row-total .invoice-breakdown-value{font-size:20px;font-weight:700}.dash{--dash-red-500: #c8102e;--dash-red-600: #9a0a23;--dash-red-50: #fdecee;--dash-bg: #f5f5f4;--dash-surface: #ffffff;--dash-border: #ebe5e3;--dash-divider: #f1ebe9;--dash-ink-900: #14130f;--dash-ink-700: #27251f;--dash-ink-500: #54514a;--dash-ink-400: #797469;--dash-ink-300: #a8998f;--dash-ink-200: #cfc9c2;--dash-good-500: #2f9e5c;--dash-good-100: #d7f0de;--dash-bad-500: #c8102e;--dash-bad-100: #fdecee;display:flex;flex-direction:column;gap:18px;color:var(--dash-ink-700)}.dash .mono{font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.dash-header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;flex-wrap:wrap}.dash-title{font-size:26px;font-weight:800;letter-spacing:-.5px;color:var(--dash-ink-900);margin:0;line-height:1.1}.dash-subtitle{margin:4px 0 0;color:var(--dash-ink-500);font-size:13.5px;font-weight:500}.dash-header-actions{display:inline-flex;align-items:center;gap:10px;flex-wrap:wrap}.dash-btn{display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 14px;border:1px solid var(--dash-border);border-radius:8px;background:var(--dash-surface);color:var(--dash-ink-700);font-size:13px;font-weight:600;font-family:inherit;cursor:pointer;transition:background .12s,border-color .12s}.dash-btn:hover:not(:disabled){background:#faf7f6;border-color:#ddd6d2}.dash-btn:disabled{opacity:.6;cursor:not-allowed}.dash-btn svg{width:14px;height:14px}.dash-week-picker{display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 6px;border:1px solid var(--dash-border);border-radius:8px;background:var(--dash-surface)}.dash-week-arrow{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;border:none;background:transparent;color:var(--dash-ink-500);border-radius:6px;cursor:pointer}.dash-week-arrow:hover:not(:disabled){background:#f4f0ee;color:var(--dash-ink-900)}.dash-week-arrow:disabled{opacity:.35;cursor:not-allowed}.dash-week-arrow svg{width:14px;height:14px}.dash-week-chip{display:inline-flex;align-items:center;gap:8px;padding:0 8px}.dash-week-label{font-size:12.5px;font-weight:600;color:var(--dash-ink-700);white-space:nowrap;font-family:JetBrains Mono,ui-monospace,Menlo,monospace;letter-spacing:-.2px}.dash-week-badge{font-size:9.5px;font-weight:800;letter-spacing:.5px;text-transform:uppercase;padding:2px 6px;border-radius:999px;background:var(--dash-red-50);color:var(--dash-red-500)}.dash-updated{font-size:11.5px;color:var(--dash-ink-400);font-family:JetBrains Mono,ui-monospace,Menlo,monospace;letter-spacing:-.2px}.dash-kpis{display:grid;grid-template-columns:1.4fr 3fr;gap:14px}.dash-kpis-left{display:grid;grid-template-columns:1fr}.dash-kpis-right{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(2,1fr);gap:14px}@media (max-width: 1100px){.dash-kpis{grid-template-columns:1fr}.dash-kpis-right{grid-template-columns:repeat(2,minmax(0,1fr))}}.kpi-tile{position:relative;background:var(--dash-surface);border:1px solid var(--dash-border);border-radius:14px;padding:16px 18px 14px;display:flex;flex-direction:column;gap:6px;min-height:140px}.kpi-tile-headline{border:1.5px solid var(--dash-red-500);box-shadow:0 0 0 6px #fdecee99;padding:18px 20px 16px;min-height:170px}.kpi-headline-flag{position:absolute;top:-1.5px;right:-1.5px;background:var(--dash-red-500);color:#fff;font-size:9px;font-weight:800;letter-spacing:.6px;padding:4px 9px 4px 10px;border-radius:0 14px 0 8px}.kpi-top-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.kpi-label{font-size:11.5px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;color:var(--dash-ink-400)}.kpi-tile-headline .kpi-label{font-size:11.5px}.kpi-value{font-size:26px;font-weight:700;letter-spacing:-.6px;color:var(--dash-ink-900);line-height:1.1;margin-top:2px}.kpi-tile-headline .kpi-value{font-size:30px}.kpi-spark{display:block;flex-shrink:0}.kpi-divider{height:1px;background:var(--dash-divider);margin:4px 0 2px}.kpi-footer{display:flex;align-items:baseline;gap:10px;font-size:12px;color:var(--dash-ink-400)}.kpi-delta{display:inline-flex;align-items:center;gap:2px;padding:2px 8px;border-radius:999px;font-size:11.5px;font-weight:700;letter-spacing:-.1px;font-family:JetBrains Mono,ui-monospace,Menlo,monospace}.kpi-delta-up{background:var(--dash-good-100);color:var(--dash-good-500)}.kpi-delta-down{background:var(--dash-bad-100);color:var(--dash-bad-500)}.kpi-delta-flat{background:#f1ebe9;color:var(--dash-ink-400)}.kpi-vs{font-size:11.5px;color:var(--dash-ink-400);font-weight:500}.dash-row{display:grid;gap:18px}.dash-row-5050{grid-template-columns:1fr 1fr}.dash-row-6040{grid-template-columns:1.5fr 1fr}.dash-row-4{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}@media (max-width: 1400px){.dash-row-4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 1100px){.dash-row-5050,.dash-row-6040,.dash-row-4{grid-template-columns:1fr}}.dash-row-4 .dash-panel{padding:14px}.dash-row-4 .dash-rank-row{padding:10px 0;gap:10px}.dash-row-4 .dash-rank-row:first-child{padding-top:6px}.dash-row-4 .dash-rank-num{min-width:18px;font-size:11px}.dash-row-4 .dash-rank-name,.dash-row-4 .dash-rank-value{font-size:13px}.dash-row-4 .dash-rank-subtitle{font-size:11px}.dash-row-4 .dash-rank-share{min-width:30px;font-size:10.5px}.dash-row-4 .dash-panel-title{font-size:13.5px}.dash-row-4 .dash-panel-link{font-size:11.5px}.dash-panel{background:var(--dash-surface);border:1px solid var(--dash-border);border-radius:14px;padding:18px;display:flex;flex-direction:column;gap:4px}.dash-panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:6px}.dash-panel-title{font-size:15px;font-weight:700;letter-spacing:-.2px;color:var(--dash-ink-900)}.dash-panel-link{background:none;border:none;color:var(--dash-ink-500);font-size:12px;font-weight:600;cursor:pointer;font-family:inherit;padding:4px 0}.dash-panel-link:hover{color:var(--dash-red-500)}.dash-empty{color:var(--dash-ink-400);font-size:13px;padding:16px 0;text-align:center}.dash-loading{color:var(--dash-ink-400);font-size:13px;padding:40px 0;text-align:center}.dash-rank-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column}.dash-rank-row{display:flex;align-items:flex-start;gap:14px;padding:12px 0;border-top:1px solid var(--dash-divider)}.dash-rank-row:first-child{border-top:none;padding-top:8px}.dash-rank-row-compact{padding:10px 0}.dash-rank-num{color:var(--dash-ink-300);font-size:12px;font-weight:700;padding-top:2px;min-width:22px}.dash-rank-inline-num{color:var(--dash-ink-300);font-size:11px;font-weight:700;margin-right:6px}.dash-rank-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}.dash-rank-top{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.dash-rank-name{font-size:13.5px;font-weight:700;color:var(--dash-ink-900);letter-spacing:-.1px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dash-rank-name-trunc{max-width:100%}.dash-rank-value{font-size:14px;font-weight:700;color:var(--dash-ink-900);flex-shrink:0;letter-spacing:-.2px}.dash-rank-bar-row{display:flex;align-items:center;gap:8px}.dash-rank-bar{flex:1;height:5px;border-radius:3px;background:var(--dash-red-50);overflow:hidden}.dash-rank-bar-fill{height:100%;background:var(--dash-red-500);border-radius:3px;transition:width .22s ease}.dash-rank-share{font-size:11px;color:var(--dash-ink-400);font-weight:600;min-width:36px;text-align:right;font-family:JetBrains Mono,ui-monospace,Menlo,monospace}.dash-rank-subtitle{font-size:11.5px;color:var(--dash-ink-400);font-weight:500;display:inline-flex;align-items:center;flex-wrap:wrap;gap:4px}.dash-rank-dot{display:inline-block;width:3px;height:3px;border-radius:50%;background:var(--dash-ink-200);margin:0 4px}.dash-rank-row.is-clickable{padding:0}.dash-rank-row.is-clickable:first-child{padding-top:0}.dash-rank-row-btn{display:flex;align-items:flex-start;gap:14px;padding:12px 0;width:100%;background:transparent;border:none;border-top:1px solid var(--dash-divider);text-align:left;color:inherit;font:inherit;cursor:pointer;transition:background .12s}.dash-rank-row.is-clickable:first-child .dash-rank-row-btn{border-top:none}.dash-rank-row-btn:hover{background:#fbf8f7}.dash-row-4 .dash-rank-row-btn{padding:10px 0;gap:10px}.lot-detail{display:flex;flex-direction:column;gap:16px}.lot-detail-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.lot-detail-ref{display:inline-block;font-size:12px;font-weight:700;color:var(--brand);letter-spacing:.5px;margin-bottom:4px}.lot-detail-title{margin:0;font-size:18px;font-weight:700;color:var(--text);letter-spacing:-.2px;line-height:1.25}.lot-detail-meta{margin-top:6px;display:inline-flex;align-items:center;flex-wrap:wrap;gap:4px;font-size:12px;color:var(--text-muted)}.lot-detail-photos{display:flex;flex-direction:column;gap:8px}.lot-detail-photo-main{width:100%;aspect-ratio:16 / 10;background:#f4f1ef;border:1px solid var(--border);border-radius:10px;overflow:hidden;display:flex;align-items:center;justify-content:center}.lot-detail-photo-main img{width:100%;height:100%;object-fit:cover;display:block}.lot-detail-photo-thumbs{display:flex;gap:6px}.lot-detail-thumb{width:60px;height:60px;padding:0;border:2px solid transparent;border-radius:8px;overflow:hidden;background:#f4f1ef;cursor:pointer;transition:border-color .12s}.lot-detail-thumb img{width:100%;height:100%;object-fit:cover;display:block}.lot-detail-thumb.is-active{border-color:var(--brand)}.lot-detail-nophoto{padding:24px;text-align:center;background:#f4f1ef;border:1px dashed var(--border);border-radius:10px;color:var(--text-muted);font-size:13px}.lot-detail-financials{background:#fafaf9;border:1px solid var(--border);border-radius:10px;padding:12px 16px;display:flex;flex-direction:column;gap:4px}.lot-detail-fin-row{display:flex;align-items:baseline;justify-content:space-between;gap:12px;font-size:13px}.lot-detail-fin-label{color:var(--text)}.lot-detail-fin-note{color:var(--text-muted);font-size:11px;margin-left:4px}.lot-detail-fin-value{font-weight:600;font-variant-numeric:tabular-nums}.lot-detail-fin-row-hero .lot-detail-fin-label{font-weight:700;letter-spacing:.02em}.lot-detail-fin-row-hero .lot-detail-fin-value{font-size:18px;font-weight:700;color:var(--brand)}.lot-detail-fin-row-total{border-top:1px solid var(--border-strong);padding-top:6px;margin-top:4px}.lot-detail-fin-row-total .lot-detail-fin-label{font-weight:700}.lot-detail-fin-row-total .lot-detail-fin-value{font-size:16px;font-weight:700}.lot-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 20px}.lot-detail-field{display:flex;flex-direction:column;gap:4px}.lot-detail-field-label{font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted)}.lot-detail-field-value{font-size:13px;color:var(--text)}button.kpi-tile.kpi-tile-clickable{font:inherit;color:inherit;text-align:left;cursor:pointer;transition:background-color .12s,border-color .12s,box-shadow .12s,transform .12s}button.kpi-tile.kpi-tile-clickable:hover{background:#fdfaf8;border-color:#ddd6d2}button.kpi-tile.kpi-tile-clickable.kpi-tile-headline:hover{box-shadow:0 0 0 6px #fdeceee6}button.kpi-tile.kpi-tile-clickable:active{transform:translateY(1px)}.kpi-history{display:flex;flex-direction:column;gap:16px}.kpi-history-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}.kpi-history-total-label{font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted)}.kpi-history-total-value{font-size:24px;font-weight:700;color:var(--text);letter-spacing:-.4px;margin-top:2px}.kpi-history-filter{display:flex;flex-direction:column;gap:6px}.kpi-history-filter-label{font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);white-space:nowrap}.kpi-history-filter-row{display:flex;align-items:center;gap:12px}.kpi-history-filter-row .kpi-history-filter-label{flex:0 0 auto;min-width:44px}.kpi-history-pills{display:inline-flex;flex-wrap:nowrap;gap:6px;flex:1 1 auto;min-width:0;overflow-x:auto;scrollbar-width:thin}.kpi-history-pills::-webkit-scrollbar{height:6px}.kpi-history-pills::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:3px}.kpi-history-pill{border:1px solid var(--border);background:#fff;color:var(--text);font-size:12px;font-weight:500;padding:5px 10px;border-radius:999px;cursor:pointer;font-family:inherit;transition:background-color .12s,color .12s,border-color .12s}.kpi-history-pill:hover{background:#fdfaf8}.kpi-history-pill.is-active{background:var(--brand);border-color:var(--brand);color:#fff}.kpi-line{width:100%;max-width:100%;background:#fefcfb;border:1px solid var(--border);border-radius:10px;display:block}.cal-site-group{display:contents}.cal-site-header{grid-column:1 / -1;padding:10px 12px 6px;font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);background:#f9f6f5;border-top:1px solid var(--border)}.cal-site-group:first-child .cal-site-header{border-top:none}.kpi-history-list{margin-top:10px;display:flex;flex-direction:column;gap:2px}.kpi-history-list-head{font-size:10px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;color:var(--dash-ink-400);margin-bottom:2px}.kpi-history-list ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.kpi-history-list li{display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding:3px 0;border-top:1px solid var(--dash-divider);font-size:11.5px}.kpi-history-list li:first-child{border-top:none}.kpi-history-week{color:var(--dash-ink-400);font-size:11px}.kpi-history-value{color:var(--dash-ink-900);font-weight:600;font-variant-numeric:tabular-nums}.kpi-history-daterange{display:flex;align-items:flex-end;gap:12px;padding:10px 14px;background:#fefcfb;border:1px solid var(--border);border-radius:10px;flex-wrap:wrap}.kpi-history-date-field{display:flex;flex-direction:column;gap:4px}.kpi-history-date-field span{font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted)}.kpi-history-date-field input[type=date]{height:34px;padding:0 10px;border:1px solid var(--border-strong);border-radius:8px;background:#fff;font-size:13px;font-family:inherit;color:var(--text)}.kpi-history-date-field input[type=date]:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px #c0392b1f}.kpi-history-date-note{font-size:11px;color:var(--text-muted);margin-left:auto;padding-bottom:8px}.kpi-sortable{position:relative;display:flex}.kpi-sortable>.kpi-tile{flex:1 1 auto;width:100%}.kpi-sortable.is-dragging{z-index:2}.kpi-drag-handle{position:absolute;top:8px;right:10px;z-index:3;font-size:12px;line-height:1;color:var(--dash-ink-400, #797469);opacity:.4;cursor:grab;-webkit-user-select:none;user-select:none;padding:2px 4px;border-radius:4px;font-family:JetBrains Mono,ui-monospace,Menlo,monospace;letter-spacing:-1px;transition:opacity .12s,background-color .12s;touch-action:none}.kpi-tile:hover .kpi-drag-handle{opacity:.8}.kpi-drag-handle:hover{background:#0000000a;opacity:1}.kpi-drag-handle:active{cursor:grabbing}.kpi-drag-overlay{transform:scale(1.02);opacity:.95;box-shadow:0 18px 42px -14px #1e181459,0 4px 10px -4px #1e18142e;border-radius:14px;cursor:grabbing}.kpi-drag-overlay .kpi-tile{background:var(--dash-surface, #ffffff)}.dash-kpis-reset-row{display:flex;justify-content:flex-end;margin-top:6px}.dash-kpis-reset{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:none;padding:4px 6px;font-size:12px;color:var(--text-muted, #797469);cursor:pointer;text-decoration:underline;text-decoration-color:#79746966;text-underline-offset:3px;font-family:inherit}.dash-kpis-reset:hover{color:var(--brand, #c8102e);text-decoration-color:currentColor}.dash-kpis-reset:focus-visible{outline:2px solid var(--brand, #c8102e);outline-offset:2px;border-radius:4px}.ranking-sortable{position:relative;display:flex}.ranking-sortable>.dash-panel{flex:1 1 auto;width:100%}.ranking-sortable.is-dragging{z-index:2}.dash-panel-head-actions{display:flex;align-items:center;gap:8px}.dash-panel-drag-handle{position:static;top:auto;right:auto;font-size:13px;padding:2px 4px}.ranking-drag-overlay .dash-panel{background:var(--dash-surface, #ffffff);box-shadow:0 18px 42px -14px #1e181459,0 4px 10px -4px #1e18142e}.lot-barcode-sub{font-size:10.5px;color:var(--text-muted, #797469);letter-spacing:-.2px;margin-top:2px;opacity:.8}.sm-summary-barcode,.sm-step4-lot-barcode,.sm-scan-result-barcode,.sm-confirm-barcode-sub{display:block;font-size:11px;color:#ffffff8c;letter-spacing:-.2px;margin-top:2px;opacity:.85}.sm-confirm-barcode-sub{margin-left:6px}.staff-role-pill{display:inline-flex;align-items:center;padding:3px 10px;border-radius:999px;font-size:11.5px;font-weight:700;letter-spacing:.02em;text-transform:uppercase;line-height:1.4}.staff-role-admin{background:var(--brand, #c8102e);color:#fff}.staff-role-manager{background:#e0ecff;color:#1e4fad}.staff-role-warehouse{background:#fdebc9;color:#8a5a00}.staff-role-porter{background:#e8e4e0;color:#5a544c}.staff-role-viewer{background:#f4f1ee;color:#8a847a}.staff-name-cell{display:flex;align-items:center;gap:10px}.staff-avatar{display:inline-flex;align-items:center;justify-content:center;background:var(--brand, #c8102e);color:#fff;font-weight:700;letter-spacing:.02em;border-radius:50%;flex-shrink:0}.staff-avatar-sm{width:32px;height:32px;font-size:11.5px}.staff-last-login{font-size:12px;color:var(--text-muted, #797469)}.staff-status-pills{display:inline-flex;align-items:center;gap:4px;padding:4px;background:var(--bg-subtle, #f6f2ef);border:1px solid var(--border, #e7e1dd);border-radius:999px}.staff-status-pill{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:none;padding:5px 12px;border-radius:999px;font-size:12px;font-weight:600;color:var(--text-muted, #797469);cursor:pointer;transition:background-color .12s,color .12s;font-family:inherit}.staff-status-pill:hover{color:var(--text, #1f1c19)}.staff-status-pill.is-active{background:#fff;color:var(--text, #1f1c19);box-shadow:0 1px 2px #0000000f}.staff-table td,.staff-table th{vertical-align:middle}.staff-form{display:flex;flex-direction:column;gap:14px}.staff-form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.staff-form-divider{height:1px;background:var(--border, #e7e1dd);margin:4px 0 2px}.staff-field{display:flex;flex-direction:column;gap:4px;font-size:13px}.staff-field-label{font-size:12px;font-weight:600;color:var(--text, #1f1c19)}.staff-field-required{color:var(--brand, #c8102e);font-weight:700}.staff-field input,.staff-field select{height:38px;padding:0 12px;border:1px solid var(--border-strong, #d8d2cd);border-radius:8px;background:#fff;font-size:13.5px;font-family:inherit;color:var(--text, #1f1c19)}.staff-field input:focus,.staff-field select:focus{outline:none;border-color:var(--brand, #c8102e);box-shadow:0 0 0 3px #c8102e1f}.staff-field-hint{font-size:11.5px;color:var(--text-muted, #797469)}.staff-field-error{font-size:11.5px;color:var(--danger, #c8102e)}.sidebar-user-profile{display:flex;align-items:flex-start;gap:10px;padding-bottom:10px;border-bottom:1px solid var(--border, #e7e1dd);margin-bottom:8px}.sidebar-user-avatar{width:36px;height:36px;border-radius:50%;background:var(--brand, #c8102e);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:12.5px;letter-spacing:.02em;flex-shrink:0}.sidebar-user-text{display:flex;flex-direction:column;min-width:0}.sidebar-user-name{font-size:13px;font-weight:700;color:var(--text, #1f1c19);line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:160px}.sidebar-user-meta{font-size:11px;color:var(--text-muted, #797469);line-height:1.4}.staff-bulkbar{position:sticky;top:0;z-index:5;display:flex;align-items:center;gap:12px;padding:10px 14px;margin-bottom:10px;background:#fffaf6;border:1px solid var(--border, #e7e1dd);border-radius:10px;box-shadow:0 2px 6px #1e18140d}.staff-bulkbar-count{font-size:13px;font-weight:600;color:var(--text, #1f1c19)}.staff-bulkbar-clear{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:none;font:inherit;font-size:12px;color:var(--text-muted, #797469);cursor:pointer;text-decoration:underline;padding:4px 6px}.staff-bulkbar-clear:hover{color:var(--brand, #c8102e)}.staff-select-col{width:38px;text-align:center}.staff-select-col input[type=checkbox]{cursor:pointer}.staff-table tr.is-selected{background:#c8102e08}.announce-subtext{font-size:12.5px;color:var(--text-muted, #797469)}.announce-recipients{display:flex;flex-wrap:wrap;gap:6px;max-height:120px;overflow-y:auto;padding:8px;background:var(--bg-subtle, #f6f2ef);border:1px solid var(--border, #e7e1dd);border-radius:8px}.announce-recipient-pill{display:inline-flex;align-items:center;padding:3px 10px;border-radius:999px;background:#fff;border:1px solid var(--border, #e7e1dd);font-size:12px;color:var(--text, #1f1c19)}.announce-textarea{width:100%;min-height:110px;padding:10px 12px;border:1px solid var(--border-strong, #d8d2cd);border-radius:8px;background:#fff;font-size:13.5px;font-family:inherit;color:var(--text, #1f1c19);resize:vertical;line-height:1.5}.announce-textarea:focus{outline:none;border-color:var(--brand, #c8102e);box-shadow:0 0 0 3px #c8102e1f}.header-bell{position:relative}.header-bell-badge{position:absolute;top:4px;right:4px;min-width:16px;height:16px;padding:0 4px;background:var(--brand, #c8102e);color:#fff;font-size:10px;font-weight:700;line-height:16px;border-radius:999px;text-align:center;box-shadow:0 0 0 2px #fff;font-family:JetBrains Mono,ui-monospace,Menlo,monospace}.announce-panel{position:absolute;top:52px;right:16px;width:380px;max-height:480px;background:#fff;border:1px solid var(--border, #e7e1dd);border-radius:12px;box-shadow:0 18px 42px -14px #1e181440,0 6px 12px -4px #1e18141a;z-index:200;display:flex;flex-direction:column;overflow:hidden}.announce-panel-head{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid var(--border, #e7e1dd)}.announce-panel-title{font-size:14px;font-weight:700;color:var(--text, #1f1c19)}.announce-panel-markall{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:none;font:inherit;font-size:12px;color:var(--text-muted, #797469);cursor:pointer}.announce-panel-markall:hover{color:var(--brand, #c8102e)}.announce-panel-list{overflow-y:auto;display:flex;flex-direction:column}.announce-panel-empty{padding:32px 16px;text-align:center;color:var(--text-muted, #797469);font-size:13px}.announce-item{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#fff;border:none;border-left:2px solid var(--brand, #c8102e);border-bottom:1px solid var(--border, #e7e1dd);text-align:left;padding:12px 14px;font:inherit;cursor:pointer;display:flex;flex-direction:column;gap:4px;transition:background-color .12s}.announce-item:hover{background:#fdfaf8}.announce-item.is-read{background:#f8f8f8;border-left-color:transparent}.announce-item.is-read:hover{background:#f1eeeb}.announce-item:last-child{border-bottom:none}.announce-item-meta{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.announce-item-sender{font-size:12px;color:var(--text-muted, #797469)}.announce-item-time{font-size:11px;color:var(--text-muted, #797469);flex-shrink:0}.announce-item-title{font-size:14px;font-weight:700;color:var(--text, #1f1c19)}.announce-item-preview{font-size:12.5px;color:var(--text-muted, #797469);line-height:1.45}.announce-modal{display:flex;flex-direction:column;gap:12px}.announce-modal-meta{display:flex;justify-content:space-between;align-items:baseline;gap:8px;padding-bottom:10px;border-bottom:1px solid var(--border, #e7e1dd)}.announce-modal-sender{font-size:12px;font-weight:600;color:var(--brand, #c8102e)}.announce-modal-time{font-size:12px;color:var(--text-muted, #797469)}.announce-modal-title{margin:0;font-size:20px;font-weight:700;color:var(--text, #1f1c19);line-height:1.3}.announce-modal-body{margin:0;font-size:14px;color:var(--text, #1f1c19);line-height:1.55;white-space:pre-wrap}.announce-toast{position:fixed;top:72px;left:50%;transform:translate(-50%);z-index:300;-webkit-appearance:none;-moz-appearance:none;appearance:none;font:inherit;border:1px solid #c38a18;background:#fff4d6;color:#7a5200;padding:10px 16px;border-radius:10px;box-shadow:0 12px 28px -10px #7a520059;display:inline-flex;align-items:center;gap:10px;max-width:560px;cursor:pointer;font-size:13.5px;animation:announce-toast-in .18s ease-out}@keyframes announce-toast-in{0%{opacity:0;transform:translate(-50%,-8px)}to{opacity:1;transform:translate(-50%)}}.announce-toast-icon{font-size:16px}.announce-toast-text{text-align:left}.simple-toast{position:fixed;bottom:24px;right:24px;z-index:300;padding:10px 16px;border-radius:10px;font-size:13.5px;font-weight:600;box-shadow:0 12px 28px -10px #1e18144d;animation:simple-toast-in .18s ease-out}@keyframes simple-toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.simple-toast-success{background:#123f28;color:#e5fbee}.simple-toast-error{background:#7a1721;color:#ffe7eb}.simple-toast-info{background:#1f1c19;color:#f8f5f2}.staff-detail{display:flex;flex-direction:column;gap:22px}.staff-detail-head{display:flex;gap:16px;align-items:flex-start;padding-bottom:16px;border-bottom:1px solid var(--border, #e7e1dd)}.staff-detail-name{margin:0 0 2px;font-size:20px;font-weight:700;color:var(--text, #1f1c19);line-height:1.2}.staff-detail-sub{font-size:13px;color:var(--text-muted, #797469);margin-bottom:8px}.staff-detail-pills{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:6px}.staff-detail-email{font-size:12.5px;color:var(--text-muted, #797469)}.staff-activity-metrics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}@media (max-width: 720px){.staff-activity-metrics{grid-template-columns:repeat(2,1fr)}}.staff-metric{background:var(--bg-subtle, #f6f2ef);border:1px solid var(--border, #e7e1dd);border-radius:10px;padding:12px 14px;display:flex;flex-direction:column;gap:2px;min-height:72px}.staff-metric-value{font-size:22px;font-weight:700;color:var(--text, #1f1c19);line-height:1.1;letter-spacing:-.5px}.staff-metric-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted, #797469)}.staff-metric-delivery{border-left:3px solid #1e4fad}.staff-metric-pallet{border-left:3px solid #c38a18}.staff-metric-item{border-left:3px solid #797469}.staff-metric-lot{border-left:3px solid #2f9458}.staff-metric-invoice{border-left:3px solid var(--brand, #c8102e)}.staff-activity-section-title{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted, #797469);margin-bottom:10px}.staff-activity-empty{padding:20px;text-align:center;color:var(--text-muted, #797469);font-size:13px;background:var(--bg-subtle, #f6f2ef);border-radius:8px}.staff-activity-timeline{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px;max-height:420px;overflow-y:auto}.staff-activity-row{display:flex;align-items:center;gap:10px;padding:10px 12px;background:#fff;border:1px solid var(--border, #e7e1dd);border-left-width:3px;border-radius:8px;font-size:13px}.staff-activity-row-delivery{border-left-color:#1e4fad}.staff-activity-row-pallet{border-left-color:#c38a18}.staff-activity-row-item{border-left-color:#797469}.staff-activity-row-lot{border-left-color:#2f9458}.staff-activity-row-invoice{border-left-color:var(--brand, #c8102e)}.staff-activity-row-default{border-left-color:#797469}.staff-activity-icon{font-size:15px;flex-shrink:0;width:22px;text-align:center}.staff-activity-body{flex:1;display:flex;align-items:baseline;gap:8px;min-width:0}.staff-activity-desc{color:var(--text, #1f1c19);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.staff-activity-ref,.staff-activity-time{font-size:11.5px;color:var(--text-muted, #797469);flex-shrink:0}.staff-leaderboard-card{margin-top:14px}.staff-leaderboard-wrap{overflow-x:auto;margin-top:4px}.staff-leaderboard-table{width:100%;border-collapse:collapse;font-size:13px}.staff-leaderboard-table th{text-align:left;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted, #797469);padding:6px 10px;border-bottom:1px solid var(--border, #e7e1dd)}.staff-leaderboard-table td{padding:10px;border-bottom:1px solid var(--border, #e7e1dd);vertical-align:middle}.staff-leaderboard-table tr:last-child td{border-bottom:none}.staff-leaderboard-table tr.is-top-performer td:first-child{border-left:3px solid #d4a01e;background:linear-gradient(90deg,rgba(212,160,30,.08),transparent 40%)}.staff-leader-name{display:flex;flex-direction:column;gap:2px}.staff-leader-sub{font-size:11px;color:var(--text-muted, #797469)}.staff-leader-time{font-size:12px;color:var(--text-muted, #797469)}.staff-timereport-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:10px}.staff-timereport-pills{display:inline-flex;align-items:center;gap:4px;padding:4px;background:var(--bg-subtle, #f6f2ef);border:1px solid var(--border, #e7e1dd);border-radius:999px}.staff-timereport-custom{display:flex;gap:12px;margin-bottom:12px}.staff-timereport-date{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--text-muted, #797469)}.staff-timereport-date input[type=date]{height:34px;padding:0 10px;border:1px solid var(--border-strong, #d8d2cd);border-radius:8px;background:#fff;font-size:13px;font-family:inherit}.staff-timereport-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px}@media (max-width: 720px){.staff-timereport-cards{grid-template-columns:repeat(2,1fr)}}.staff-timereport-bars{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.staff-timereport-bar-row{display:grid;grid-template-columns:140px 1fr 80px;align-items:center;gap:12px;font-size:13px}.staff-timereport-bar-label{color:var(--text, #1f1c19);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.staff-timereport-bar-track{height:12px;border-radius:999px;background:var(--bg-subtle, #f6f2ef);overflow:hidden}.staff-timereport-bar-fill{height:100%;border-radius:999px;transition:width .16s ease-out}.staff-timereport-bar-lot{background:#2f9458}.staff-timereport-bar-delivery{background:#1e4fad}.staff-timereport-bar-pallet{background:#c38a18}.staff-timereport-bar-item{background:#797469}.staff-timereport-bar-invoice{background:var(--brand, #c8102e)}.staff-timereport-bar-default{background:#8a847a}.staff-timereport-bar-value{text-align:right;color:var(--text-muted, #797469);font-size:12px}.staff-timereport-daily{overflow-x:auto}.manifest-qty-cell{display:inline-flex;align-items:center;gap:8px;white-space:nowrap}.manifest-qty-num{font-size:13px;color:var(--text, #1f1c19);min-width:52px;display:inline-block;text-align:right}.manifest-recon-banner{display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding:10px 14px;margin-bottom:10px;background:#fff8ec;border:1px solid #f3d9a4;border-radius:10px;font-size:13px;color:var(--text, #1f1c19)}.manifest-recon-banner.is-all-matched{background:var(--success-soft, #e4f7ec);border-color:#b9e7c9}.manifest-recon-head{margin-right:4px}.manifest-recon-done{color:var(--success, #2f9458);font-weight:600;margin-left:auto}.upload-result{border:1px solid var(--border, #e7e1dd);border-radius:10px;overflow:hidden}.upload-result-info{border-color:#b9e7c9}.upload-result-notice{border-color:#f3c77c}.upload-result-concern{border-color:#f4b0bb}.upload-result-head{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;color:var(--text, #1f1c19)}.upload-result-info .upload-result-head{background:var(--success-soft, #e4f7ec)}.upload-result-notice .upload-result-head{background:#fff4d6}.upload-result-concern .upload-result-head{background:#fde7eb}.upload-result-icon{flex-shrink:0;font-size:18px;width:24px;text-align:center;line-height:1.4;font-weight:700}.upload-result-info .upload-result-icon{color:var(--success, #2f9458)}.upload-result-notice .upload-result-icon{color:#8a5a00}.upload-result-concern .upload-result-icon{color:var(--danger, #c8102e)}.upload-result-title{font-size:15px;font-weight:700;line-height:1.3}.upload-result-sub{font-size:13px;color:var(--text, #1f1c19);margin-top:2px;line-height:1.4}.upload-result-meta-inline{font-size:12px;color:var(--text-muted, #797469);margin-top:4px}.upload-result-body{padding:12px 14px;font-size:13px;color:var(--text, #1f1c19)}.upload-result-warnings{display:flex;flex-direction:column;gap:10px;padding:12px 14px;background:#fff}.warning-card{padding:10px 12px;border-radius:8px;border:1px solid var(--border, #e7e1dd);border-left-width:3px}.warning-card-notice{background:#fffaf0;border-left-color:var(--warning, #c38a18)}.warning-card-concern{background:#fff5f7;border-left-color:var(--danger, #c8102e)}.warning-card-info{background:var(--success-soft, #e4f7ec);border-left-color:var(--success, #2f9458)}.warning-card-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:4px}.warning-card-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.warning-card-notice .warning-card-dot{background:var(--warning, #c38a18)}.warning-card-concern .warning-card-dot{background:var(--danger, #c8102e)}.warning-card-info .warning-card-dot{background:var(--success, #2f9458)}.warning-card-title{font-size:13.5px;font-weight:700;color:var(--text, #1f1c19)}.warning-card-count{margin-left:auto;font-size:11.5px;font-weight:600;color:var(--text-muted, #797469);padding:2px 8px;border-radius:999px;background:#0000000a}.warning-card-detail{font-size:12.5px;line-height:1.5;color:var(--text, #1f1c19)}.warning-card-table-wrap{margin-top:8px;border:1px solid var(--border, #e7e1dd);border-radius:6px;background:#fff;overflow:hidden}.warning-card-table{width:100%;border-collapse:collapse;font-size:12px;line-height:1.35}.warning-card-table thead th{text-align:left;padding:5px 8px;background:#f4f1ee;border-bottom:1px solid var(--border, #e7e1dd);font-size:10.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted, #797469)}.warning-card-table thead th.num{text-align:right}.warning-card-table tbody td{padding:5px 8px;border-bottom:1px solid var(--border, #e7e1dd);vertical-align:top}.warning-card-table tbody tr:last-child td{border-bottom:none}.warning-card-table tbody tr:nth-child(odd) td{background:#fbfaf8}.warning-card-table td.num{text-align:right;font-variant-numeric:tabular-nums}.warning-card-table td.mono{font-family:JetBrains Mono,ui-monospace,Menlo,monospace;font-size:11.5px;white-space:nowrap}.warning-card-trunc{max-width:60ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.warning-card-multi{font-size:11.5px}.warning-card-multi-stack{line-height:1.3}.warning-card-multi-line{max-width:28ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.warning-card-multi-more{color:var(--text-muted, #797469);font-size:11px;margin-top:1px}.warning-card-table-foot{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:6px 8px;background:#fbfaf8;border-top:1px solid var(--border, #e7e1dd);flex-wrap:wrap}.warning-card-expand{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:none;padding:0;font:inherit;font-size:12px;color:var(--brand, #c8102e);cursor:pointer;text-decoration:underline;text-decoration-color:#c8102e59}.warning-card-expand:hover{text-decoration-color:currentColor}.warning-card-truncated-note{font-size:11px;color:var(--text-muted, #797469)}.mapping-saved-banner{padding:8px 12px;background:var(--info-soft, #e0ecff);border:1px solid #bcd3f7;border-radius:8px;font-size:12.5px;color:#1e4fad;margin-bottom:10px}.mapping-stale-banner{padding:8px 12px;background:#fff4d6;border:1px solid #f3c77c;border-radius:8px;font-size:12.5px;color:#7a5200;margin-bottom:10px}.mapping-table{width:100%;border-collapse:collapse;margin-bottom:14px;font-size:13px}.mapping-table th{text-align:left;padding:6px 10px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted, #797469);border-bottom:1px solid var(--border, #e7e1dd)}.mapping-table td{padding:8px 10px;border-bottom:1px solid var(--border, #e7e1dd);vertical-align:middle}.mapping-table td:first-child{width:180px}.mapping-table td select{width:100%;max-width:100%;height:34px;padding:0 10px;border:1px solid var(--border-strong, #d8d2cd);border-radius:8px;background:#fff;font-size:13px;font-family:inherit}.mapping-table td select:focus{outline:none;border-color:var(--brand, #c8102e);box-shadow:0 0 0 3px #c8102e1f}.mapping-table .req{color:var(--brand, #c8102e);font-weight:700}.mapping-table tr.is-stale td select{border-color:var(--warning, #c38a18);background:#fff9ee}.mapping-preview-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted, #797469);margin:6px 0}.mapping-preview-wrap{max-height:220px;overflow:auto;border:1px solid var(--border, #e7e1dd);border-radius:8px;background:#fbf9f7}.mapping-preview-table{width:100%;border-collapse:collapse;font-size:12.5px}.mapping-preview-table th{text-align:left;padding:8px 10px;border-bottom:1px solid var(--border, #e7e1dd);background:#fff;position:sticky;top:0;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text, #1f1c19)}.mapping-preview-sub{font-size:10.5px;font-weight:400;text-transform:none;letter-spacing:normal;color:var(--text-muted, #797469);margin-top:1px}.mapping-preview-table td{padding:6px 10px;border-bottom:1px solid var(--border, #e7e1dd);vertical-align:top}.mapping-preview-table tr:last-child td{border-bottom:none}.mapping-save-check{display:flex;align-items:center;gap:8px;margin-top:14px;font-size:13px;color:var(--text, #1f1c19);cursor:pointer}.mapping-save-check input{cursor:pointer}.mapping-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:14px}.mapping-saved-pill{display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;background:var(--info-soft, #e0ecff);color:#1e4fad;font-size:10.5px;font-weight:600;letter-spacing:.02em;margin-left:6px}.input-invalid,input.input-invalid,select.input-invalid,textarea.input-invalid{border-color:var(--danger, #c8102e)!important;box-shadow:0 0 0 2px #c8102e1a!important}.field-error{color:var(--danger, #c8102e);font-size:11.5px;margin-top:3px;line-height:1.35}.money-input-wrap{display:flex;align-items:stretch;border:1px solid var(--border, #e7e1dd);border-radius:var(--radius, 8px);background:var(--bg, #ffffff);overflow:hidden}.money-input-wrap:focus-within{border-color:var(--brand, #c8102e);box-shadow:0 0 0 3px #c8102e1f}.money-input-wrap.input-invalid{border-color:var(--danger, #c8102e);box-shadow:0 0 0 2px #c8102e1a}.money-input-prefix{display:inline-flex;align-items:center;padding:0 8px;background:var(--bg-subtle, #f6f2ef);color:var(--text-muted, #797469);font-size:13px;font-weight:600;border-right:1px solid var(--border, #e7e1dd)}.money-input-wrap input{border:none!important;box-shadow:none!important;background:transparent!important;flex:1 1 auto;padding:8px 10px;font:inherit;color:var(--text, #1f1c19);outline:none;min-width:0}
