:root{--bg:#f4f6f9;--panel:#ffffff;--sidebar:#0f1c2e;--sidebar-2:#16263d;--text:#1a2332;--muted:#6b778c;--border:#e4e9f0;--primary:#2f6fed;--primary-2:#1f54c7;--danger:#d94848;--warn:#c47f17;--ok:#1f8a5b;--shadow:0 10px 30px rgba(15, 28, 46, 0.08);--radius:14px;font-family:"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif}*{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--bg);color:var(--text);line-height:1.5}button,input,select{font:inherit}a{color:inherit}.hidden{display:none!important}.muted{color:var(--muted);font-size:13px}.btn{border:1px solid var(--border);background:#fff;color:var(--text);border-radius:10px;padding:10px 14px;cursor:pointer}.btn:hover{background:#f7f9fc}.btn.primary{background:var(--primary);border-color:var(--primary);color:#fff}.btn.primary:hover{background:var(--primary-2)}.btn.ghost{background:0 0;border-color:rgba(255,255,255,.18);color:#d7e2f3}.btn.ghost:hover{background:rgba(255,255,255,.06)}.btn.full{width:100%}.login-body{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at top left,rgba(47,111,237,.18),transparent 35%),linear-gradient(160deg,#0f1c2e,#1a3358 45%,#f4f6f9 45%)}.login-card{width:min(420px,calc(100vw - 32px));background:var(--panel);border-radius:20px;padding:28px;box-shadow:var(--shadow)}.brand,.login-brand{display:flex;gap:14px;align-items:center}.login-brand h1{margin:0 0 4px;font-size:22px}.brand small,.login-brand p{margin:0;color:var(--muted)}.logo-mark{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(135deg,#2f6fed,#6aa2ff);color:#fff;font-weight:700}#login-form{display:grid;gap:14px;margin-top:24px}#login-form label{display:grid;gap:6px;font-size:14px;color:var(--muted)}#login-form input{border:1px solid var(--border);border-radius:10px;padding:12px 14px;outline:0}#login-form input:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(47,111,237,.12)}.error{color:var(--danger);margin:0;font-size:13px}.app-shell{display:grid;grid-template-columns:240px 1fr;min-height:100vh;min-height:100dvh;height:100vh;height:100dvh;overflow:hidden}.sidebar{background:linear-gradient(180deg,var(--sidebar),var(--sidebar-2));color:#e8eef8;padding:20px 14px;display:flex;flex-direction:column;gap:18px;min-height:0;overflow-y:auto;overscroll-behavior:contain}.brand strong{display:block}.brand small{color:#9fb0c9}.sidebar nav{display:grid;gap:6px}.nav-group-toggle,.nav-item{text-align:left;border:0;background:0 0;color:#c9d6ea;padding:12px 14px;border-radius:10px;cursor:pointer;font:inherit;width:100%}.nav-group-toggle:hover,.nav-item:hover{background:rgba(255,255,255,.06)}.nav-item.active{background:rgba(47,111,237,.28);color:#fff}.nav-group{display:grid;gap:4px}.nav-group-toggle{color:#e8eef8;font-weight:600;display:flex;align-items:center;justify-content:space-between;gap:8px}.nav-group.has-active>.nav-group-toggle{color:#fff}.sidebar nav>.nav-item{color:#e8eef8;font-weight:600}.sidebar nav>.nav-item.active{color:#fff}.nav-group-toggle::after{content:"";width:6px;height:6px;border-right:2px solid #9fb0c9;border-bottom:2px solid #9fb0c9;transform:rotate(-45deg);transition:transform .15s;margin-top:-2px;flex:0 0 auto}.nav-group.is-open>.nav-group-toggle::after{transform:rotate(45deg);margin-top:-4px}.nav-group-children{display:none;gap:4px;padding:0 0 4px 10px}.nav-group.is-open>.nav-group-children{display:grid}.nav-group-children .nav-item{padding:10px 14px}.nav-group-children .nav-group{margin-top:2px}.nav-group-children .nav-group-toggle{font-weight:500;padding:10px 14px;color:#c9d6ea}.nav-group-children .nav-group.has-active>.nav-group-toggle{color:#fff}.nav-group-children .nav-group-children{padding-left:10px}.empty-placeholder{padding:36px 20px;text-align:center;color:var(--muted);font-size:14px}.sidebar-foot{margin-top:auto;display:grid;gap:10px}.user-chip{padding:10px 12px;border-radius:10px;background:rgba(255,255,255,.06);font-size:13px;color:#c9d6ea}.main{padding:28px 32px 48px;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px;gap:16px}.topbar-title-row{display:flex;align-items:center;gap:12px;min-width:0}.topbar h2{margin:0;font-size:22px;font-weight:650}.settlement-title-tabs{display:flex;align-items:center;gap:16px;min-width:0}.settlement-title-tab{border:0;background:transparent;color:var(--muted);padding:0;margin:0;font:inherit;font-size:22px;font-weight:650;line-height:1.2;cursor:pointer;white-space:nowrap;border-radius:0;box-shadow:inset 0 -2px 0 transparent}.settlement-title-tab:hover{color:var(--text)}.settlement-title-tab.active{color:var(--text);box-shadow:inset 0 -2px 0 var(--primary)}.topbar-meta{color:var(--muted);font-size:13px}#view-refresh:disabled{opacity:.65;cursor:wait}.view{display:none}.view.active{display:grid;gap:20px}.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.kpi{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:18px 20px;box-shadow:var(--shadow)}.kpi .label{color:var(--muted);font-size:13px}.kpi .value{font-size:24px;font-weight:700;margin-top:8px;letter-spacing:-.02em}.kpi .sub{margin-top:6px;font-size:12px;color:var(--muted)}.kpi.warn .value{color:var(--warn)}.kpi.ok .value{color:var(--ok)}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:14px}.panel{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.panel-head{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border)}.panel-head h3{margin:0;font-size:15px}.table-wrap{overflow:auto;max-height:calc(100dvh - 280px);-webkit-overflow-scrolling:touch;overscroll-behavior:contain}table{width:100%;border-collapse:separate;border-spacing:0;font-size:13px}td,th{padding:12px 14px;border-bottom:1px solid var(--border);text-align:left;white-space:nowrap;vertical-align:middle}th{color:var(--muted);font-weight:600;background:#fafbfd;cursor:pointer;user-select:none;position:sticky;top:0;z-index:2;box-shadow:0 1px 0 var(--border)}tbody tr:hover{background:#f8fbff}.filters{display:flex;flex-wrap:wrap;gap:12px;align-items:center;padding:14px 16px;background:#fff;border:1px solid var(--border);border-radius:var(--radius);position:sticky;top:0;z-index:8;box-shadow:0 8px 16px -12px rgba(15,28,46,.18)}.filters input[type=search],.filters select{border:1px solid var(--border);background:#fff;border-radius:10px;padding:10px 12px;min-width:180px}.check{display:inline-flex;gap:8px;align-items:center;color:var(--muted);font-size:14px}.badge{display:inline-flex;align-items:center;padding:3px 8px;border-radius:999px;font-size:12px;font-weight:600;background:#eef2f8;color:#44546a}.badge.ok{background:#e7f7ef;color:var(--ok)}.badge.warn{background:#fff4df;color:var(--warn)}.badge.danger{background:#fdecec;color:var(--danger)}.badge.info{background:#e8f0ff;color:var(--primary)}.bars{padding:16px;display:grid;gap:10px}.bar-row{display:grid;grid-template-columns:90px 1fr 70px;gap:10px;align-items:center;font-size:13px}.bar-track{height:10px;background:#eef2f8;border-radius:999px;overflow:hidden}.bar-fill{height:100%;background:linear-gradient(90deg,#2f6fed,#6aa2ff);border-radius:999px}.bar-fill.alt{background:linear-gradient(90deg,#1f8a5b,#57c08f)}.bar-row span:last-child{text-align:right;color:var(--muted)}.split-lists{display:grid;grid-template-columns:1fr 1fr;gap:0}.split-lists>div{padding:12px 16px 16px}.split-lists>div+div{border-left:1px solid var(--border)}.split-lists h4{margin:0 0 10px;font-size:13px;color:var(--muted)}.simple-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}.simple-list li{display:grid;gap:2px;padding:10px 12px;background:#f7f9fc;border-radius:10px;font-size:13px}.simple-list small{color:var(--muted)}@media (max-width:1100px){.grid-2,.kpi-grid,.split-lists{grid-template-columns:1fr}.app-shell{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr)}.sidebar{position:relative;top:auto;z-index:5;overflow:visible}.sidebar nav{display:flex;flex-flow:row nowrap;align-items:flex-start;overflow:auto;gap:8px}.nav-group,.sidebar nav>.nav-item{flex:0 0 auto;min-width:max-content}.nav-group-toggle,.nav-item{white-space:nowrap}.table-wrap{max-height:calc(100dvh - 220px)}}.callout{padding:12px 14px;border-radius:12px;border:1px solid var(--border);background:#f7f9fc;font-size:13px;line-height:1.5;color:#44546a}.callout.warn{background:#fff7e8;border-color:#f0d7a3;color:#8a5a10}.pager{display:flex;gap:8px;align-items:center;justify-content:flex-end;border-top:1px solid var(--border)}.pager button{min-width:72px}.pager .muted{margin-right:auto}.filters input[type=date]{border:1px solid var(--border);background:#fff;border-radius:10px;padding:10px 12px}.date-input{position:relative;display:inline-flex;min-width:148px;vertical-align:middle}.date-input .date-display{width:100%;border:1px solid var(--border);background:#fff;border-radius:10px;padding:10px 12px;color:inherit;font:inherit;cursor:pointer}.date-input .date-display::placeholder{color:var(--muted)}.date-input input[type=date]{position:absolute;width:1px;height:1px;opacity:0;margin:0;padding:0;border:0;pointer-events:none;overflow:hidden}.kpi-link{color:var(--primary);cursor:pointer;text-decoration:underline;text-underline-offset:4px}.kpi-link:hover{color:var(--primary-2)}.modal{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:20px}.modal.hidden{display:none!important}.modal-backdrop{position:absolute;inset:0;background:rgba(15,28,46,.45)}.modal-panel{position:relative;width:min(980px,calc(100vw - 32px));max-height:min(84vh,860px);background:var(--panel);border-radius:16px;box-shadow:var(--shadow);border:1px solid var(--border);display:flex;flex-direction:column;overflow:hidden}.modal-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:16px 18px;border-bottom:1px solid var(--border)}.modal-head h3{margin:0 0 4px;font-size:18px}.modal-toolbar{display:flex;gap:12px;align-items:center;justify-content:space-between;padding:12px 18px;border-bottom:1px solid var(--border);flex-wrap:wrap}.modal-tabs{display:inline-flex;gap:6px}.tab-btn{border:1px solid var(--border);background:#fff;color:var(--text);border-radius:999px;padding:8px 14px;cursor:pointer}.tab-btn.active{background:rgba(47,111,237,.12);border-color:rgba(47,111,237,.35);color:var(--primary);font-weight:600}.modal-toolbar input[type=search]{border:1px solid var(--border);border-radius:10px;padding:10px 12px;min-width:220px;flex:1}.modal-body{overflow:auto}.modal-body .table-wrap{max-height:none}.btn.danger-outline{border-color:rgba(217,72,72,.35);color:var(--danger);background:#fff}.btn.danger-outline:hover{background:#fdecec}.np-modal-panel{width:min(980px,calc(100vw - 24px));max-height:min(90vh,920px)}.np-modal-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.np-form{overflow:auto;padding:8px 18px 20px;display:grid;gap:12px}.np-section{border:1px solid var(--border);border-radius:12px;background:#fafbfd;padding:12px 14px}.np-section h4{margin:0 0 10px;font-size:14px;color:var(--primary-2)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px 12px}.form-grid label{display:grid;gap:6px;font-size:12px;color:var(--muted)}.form-grid .span-2{grid-column:1/-1}.form-grid input,.form-grid select,.form-grid textarea{border:1px solid var(--border);border-radius:10px;padding:10px 12px;background:#fff;color:var(--text);outline:0;width:100%}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(47,111,237,.12)}.form-grid textarea{resize:vertical;min-height:64px}.check-line{display:flex!important;align-items:center;gap:8px;padding-top:22px;color:var(--text)!important;font-size:14px!important}.check-line input{width:auto!important}.np-profit-box{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:12px;border-radius:10px;background:#eef4ff;border:1px solid rgba(47,111,237,.18);font-size:13px;color:var(--muted)}.np-profit-box strong{display:block;margin-top:4px;color:var(--text);font-size:16px}.np-actions{display:inline-flex;gap:6px}.np-actions .btn{padding:6px 10px;font-size:12px}.pager{display:flex;gap:10px;align-items:center;justify-content:flex-end;padding:12px 16px;border-top:1px solid var(--border)}@media (max-width:800px){.form-grid,.np-profit-box{grid-template-columns:1fr}}.resizable-table td,.resizable-table th{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.resizable-table td{position:relative}.resizable-table thead th{position:sticky;top:0;z-index:4;background:#fafbfd}.resizable-table td.col-msku,.resizable-table th[data-col=list_sku]{width:140px;max-width:140px}.resizable-table td.col-name,.resizable-table th[data-col=name]{width:260px;max-width:260px}.cell-ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block;max-width:100%}.col-resize-handle{position:absolute;top:0;right:-3px;width:8px;height:100%;cursor:col-resize;z-index:3;user-select:none}.col-resize-handle.active,.col-resize-handle:hover{background:rgba(59,130,246,.35)}body.col-resizing,body.col-resizing *{cursor:col-resize!important;user-select:none!important}.resizable-table td.col-thumb,.resizable-table th[data-col=thumb]{width:56px;max-width:56px;text-align:center;overflow:visible}.np-thumb{width:40px;height:40px;object-fit:cover;border-radius:6px;background:#f1f5f9;vertical-align:middle;display:inline-block}.np-thumb-empty{display:inline-block;width:40px;height:40px;line-height:40px;text-align:center;color:#94a3b8;background:#f8fafc;border-radius:6px;font-size:12px}.btn.btn-sm{padding:6px 10px;font-size:12px;border-radius:8px}.listing-result-btn{border:0;background:0 0;padding:0;cursor:pointer;display:inline-flex;align-items:center;gap:6px;max-width:220px;font:inherit;color:inherit;text-align:left}.listing-result-btn:hover{opacity:.85;text-decoration:underline}.listing-fb{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:140px;display:inline-block;vertical-align:middle}.col-listing-action,.col-listing-result,.col-review,.col-review-notes{white-space:nowrap}.col-review-notes .cell-ellipsis{max-width:140px;display:inline-block;vertical-align:middle}.col-new-images{white-space:nowrap}.new-images-btn{display:inline-flex;align-items:center;gap:6px;border:0;background:0 0;padding:0;cursor:pointer}.new-images-btn .np-thumb{width:40px;height:40px;object-fit:cover;border-radius:6px}.new-image-preview-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.gallery-panel{max-width:min(960px,96vw);width:96vw}.gallery-stage{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;padding:12px 16px}.gallery-stage img{width:100%;max-height:70vh;object-fit:contain;background:#0f172a0d;border-radius:10px}.gallery-nav{min-width:72px}.gallery-thumbs{display:flex;gap:8px;overflow-x:auto;padding:0 16px 16px}.gallery-thumb{border:2px solid transparent;border-radius:8px;padding:0;background:0 0;cursor:pointer}.gallery-thumb.active{border-color:var(--primary)}.gallery-thumb img{width:56px;height:56px;object-fit:cover;border-radius:6px;display:block}.resizable-table td.col-category,.resizable-table th[data-col=category]{width:160px;max-width:160px}.resizable-table td.col-ttk-id,.resizable-table th[data-col=ttk_product_id]{width:140px;max-width:140px}.resizable-table td.col-ttk-stock,.resizable-table th[data-col=ttk_stock]{width:72px;max-width:72px;text-align:right}.resizable-table td.col-ttk-status,.resizable-table th[data-col=ttk_product_status]{width:110px;max-width:110px}.resizable-table td.col-ttk-props,.resizable-table th[data-col=ttk_sale_properties]{width:160px;max-width:160px}.resizable-table{table-layout:fixed;min-width:1500px}tr.row-link{cursor:pointer}tr.row-link:hover{background:rgba(37,99,235,.06)}.col-po-remark{max-width:280px}.col-po-remark .cell-ellipsis{max-width:260px;display:inline-block;vertical-align:middle}.btn.danger{background:#fff;border-color:#f0c4c4;color:var(--danger)}.btn.danger:hover{background:#fff5f5}.btn.sm{padding:6px 10px;font-size:12px}.row-actions{display:flex;flex-wrap:wrap;gap:6px}.hr-positions-layout{display:grid;grid-template-columns:minmax(280px,0.9fr) minmax(360px,1.1fr);gap:16px;align-items:start}.hr-pos-row{cursor:pointer}.hr-pos-row.is-selected{background:rgba(47,111,237,.08)}.module-groups{display:grid;gap:16px;padding:8px 16px 20px}.module-group h4{margin:0 0 8px;font-size:13px;color:var(--muted);font-weight:600}.module-checks{display:grid;gap:8px}.module-checks label{display:flex;align-items:center;gap:8px;font-size:14px}.module-checks input{width:auto}@media (max-width:960px){.hr-positions-layout{grid-template-columns:1fr}}.seg-toggle{display:inline-flex;gap:0;align-items:center}.seg-toggle .btn{border-radius:0}.seg-toggle .btn:first-child{border-radius:10px 0 0 10px}.seg-toggle .btn:last-child{border-radius:0 10px 10px 0;margin-left:-1px}.seg-toggle .btn.is-active{background:var(--primary);border-color:var(--primary);color:#fff}.combo{position:relative;min-width:200px;flex:0 0 auto}.combo input[type=search]{border:1px solid var(--border);background:#fff;border-radius:10px;padding:10px 32px 10px 12px;width:220px}.combo-clear{position:absolute;right:8px;top:50%;transform:translateY(-50%);border:0;background:0 0;color:var(--muted);cursor:pointer;font-size:16px;line-height:1;padding:4px}.combo-list{position:absolute;z-index:20;left:0;right:0;top:calc(100% + 4px);max-height:240px;overflow:auto;background:#fff;border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow);padding:4px 0}.combo-item{display:block;width:100%;text-align:left;border:0;background:0 0;padding:8px 12px;cursor:pointer;font:inherit;color:var(--text)}.combo-item.is-active,.combo-item:hover{background:#f4f8ff}.combo-empty{padding:10px 12px;color:var(--muted);font-size:13px}#sales-range-hint{margin:0 0 10px;font-size:12px}.sales-pivot{width:max-content;min-width:100%}.sales-pivot td,.sales-pivot th{padding:10px 12px}.sales-pivot .date-head{text-align:center;min-width:68px;font-weight:600;color:var(--text);line-height:1.25}.sales-pivot .date-head .d{display:block}.sales-pivot .date-head .w{display:block;font-size:11px;font-weight:400;color:var(--muted)}.sales-pivot .num{text-align:right;font-variant-numeric:tabular-nums}.sales-pivot .cell-zero{color:#b7c0cc}.sales-pivot .sticky-col{position:sticky;z-index:3;background:#fff;box-shadow:8px 0 8px -8px rgba(15,28,46,.12)}.sales-pivot thead .sticky-col{z-index:6;background:#fafbfd}.sales-pivot thead th{z-index:4}.sales-pivot thead tr.pivot-dates th{top:0}.sales-pivot thead tr.pivot-totals th{top:48px;font-weight:600;color:var(--text);background:#f3f6fb}.sales-pivot thead tr.pivot-totals .sticky-col{z-index:7;background:#f3f6fb}.sales-pivot tbody td.sticky-col{background:#fff}.sales-pivot tbody tr:hover td.sticky-col{background:#f8fbff}.sales-pivot .sticky-total{position:sticky;right:0;z-index:4;background:#fafbfd;box-shadow:-8px 0 8px -8px rgba(15,28,46,.12);font-weight:600}.sales-pivot thead .sticky-total{z-index:6}.sales-pivot thead tr.pivot-totals .sticky-total{z-index:7;background:#eef3fb}.sales-pivot tbody td.sticky-total{background:#fbfcfe}.sales-pivot tbody tr:hover td.sticky-total{background:#f8fbff}.sales-pivot .ident{overflow:hidden;text-overflow:ellipsis;white-space:normal}#sales-sku-note,.sales-sku-note{margin:0 0 10px;font-size:12px;color:#5b6573}.col-sets{min-width:240px;vertical-align:top}#np-table .col-sets{min-width:0}.col-sets .sets-summary-btn{border:0;background:0 0;padding:0;cursor:pointer;display:flex;flex-direction:column;gap:6px;align-items:flex-start;font:inherit;color:inherit;text-align:left;width:100%}.col-sets .sets-summary-btn:hover{opacity:.88}.set-chip{display:flex;align-items:flex-start;gap:8px;width:100%}.set-chip .np-thumb{flex:0 0 auto}.set-chip-text{min-width:0;flex:1}.set-usage{font-size:12px;line-height:1.4;white-space:normal;color:inherit;display:block}.set-usage.unused{color:#64748b}.set-chip-reviews{display:flex;gap:4px;flex-wrap:wrap;margin-top:2px}.sets-panel{max-width:min(860px,96vw);width:96vw}.sets-modal-body{padding:12px 16px 20px;max-height:75vh;overflow:auto}.set-card{border:1px solid #e2e8f0;border-radius:12px;padding:12px 14px;margin:0 0 12px;background:#fff}.set-card-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.set-usage-line{font-size:13px;line-height:1.45;margin:4px 0 8px;font-weight:600}.set-usage-line.unused{color:#64748b;font-weight:500}.set-listings{width:100%;border-collapse:collapse;font-size:13px;margin-top:8px}.set-listings td,.set-listings th{text-align:left;padding:4px 6px;border-bottom:1px solid #f1f5f9;vertical-align:top}.set-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:8px}.set-form-grid .span-2{grid-column:1/-1}@media (max-width:700px){.set-form-grid{grid-template-columns:1fr}}.compare-btn{display:inline-flex;align-items:center;gap:6px;margin:0 0 6px;border:1px dashed #f59e0b;border-radius:8px;background:#fffbeb;padding:2px 6px 2px 2px;cursor:pointer;font:inherit;color:inherit}.compare-btn:hover{opacity:.85}.compare-btn .np-thumb{width:40px;height:40px}.compare-label{font-size:12px;font-weight:600;color:#b45309;white-space:nowrap}.col-variants{white-space:nowrap}.comp-note{padding:0 16px 8px;font-size:12px}#view-competitor thead th[data-sort]{cursor:pointer;user-select:none}#view-competitor thead th.sorted[data-order=asc]::after{content:' ▲';font-size:10px}#view-competitor thead th.sorted[data-order=desc]::after{content:' ▼';font-size:10px}.comp-table tr.comp-row{cursor:pointer}.comp-table tr.comp-row:hover td{background:#f5f8fe}.comp-thumb{width:48px;height:48px;object-fit:cover;border-radius:6px;display:block;background:#f1f4f9}.comp-title{max-width:360px;min-width:200px;white-space:normal;line-height:1.35}.comp-title a{color:var(--primary);text-decoration:none}.comp-title a:hover{text-decoration:underline}.comp-up{color:#c2410c}.comp-down{color:#15803d}.comp-charts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:12px}.comp-chart{border:1px solid var(--border);border-radius:10px;padding:8px 10px}.comp-chart-title{font-size:13px;font-weight:600;margin-bottom:4px}@media (max-width:760px){.comp-charts{grid-template-columns:1fr}}.cell-stack{display:flex;flex-direction:column;gap:2px;min-width:0;line-height:1.4}.cell-stack-main{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cell-stack-sub{color:var(--muted);font-size:12px;font-weight:400;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cell-stack-sub .badge{font-weight:600}#view-competitor table,#view-dashboard table,#view-inventory-local table,#view-inventory-overseas table,#view-purchases table,#view-shipments table{table-layout:fixed;width:100%}#view-purchases table{min-width:980px}#view-shipments table{min-width:920px}#view-competitor td,#view-dashboard td,#view-inventory-local td,#view-inventory-overseas td,#view-purchases td,#view-shipments td{overflow:hidden;text-overflow:ellipsis}#view-competitor .comp-title,#view-competitor td:has(.cell-stack),#view-purchases .col-po-remark{overflow:hidden}#view-inventory-overseas table.inv-ow-table{table-layout:auto;width:max-content;min-width:100%}#view-inventory-overseas .inv-ow-table td,#view-inventory-overseas .inv-ow-table th{white-space:nowrap;padding:10px 12px}#view-inventory-overseas .inv-ow-table td{max-width:260px}#view-inventory-overseas .inv-ow-table td.num{text-align:right;font-variant-numeric:tabular-nums}#view-inventory-overseas thead th.sorted[data-order=asc]::after{content:' ▲';font-size:10px}#view-inventory-overseas thead th.sorted[data-order=desc]::after{content:' ▼';font-size:10px}.np-profit-placeholder{padding:20px;font-size:14px}#view-inventory-overseas .inv-ow-search-btn{display:inline-flex;align-items:center;gap:6px}#view-inventory-overseas .inv-ow-search-icon{flex:none}#view-inventory-overseas .inv-ow-applied{color:var(--muted);font-size:13px}#view-inventory-overseas .inv-ow-applied strong{color:var(--text,#1f2937);font-weight:600}#view-pallet .pallet-search-btn{display:inline-flex;align-items:center;gap:6px}#view-pallet .pallet-applied{color:var(--muted);font-size:13px}#view-pallet .pallet-applied strong{color:var(--text);font-weight:600}.pallet-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px;padding:4px 2px 8px;align-items:stretch}.pallet-grid>.muted{grid-column:1/-1;padding:40px 0;text-align:center}.pc-card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;min-width:0;cursor:pointer;transition:box-shadow .15s,transform .15s}.pc-card:hover{box-shadow:var(--shadow);transform:translateY(-2px)}.pc-img{position:relative;width:100%;aspect-ratio:4/3;background:#f5f7fa;display:flex;align-items:center;justify-content:center;overflow:hidden;flex:none}.pc-img img{width:100%;height:100%;object-fit:contain;object-position:center;display:block}.pc-img .pc-noimg{color:var(--muted);font-size:13px}.pc-cat{position:absolute;left:10px;top:10px;background:rgba(15,28,46,.75);color:#fff;font-size:12px;padding:2px 8px;border-radius:999px}.pc-swatches{display:flex;gap:6px;padding:8px 12px 0;height:44px;align-items:center;overflow:hidden;flex:none}.pc-swatch{width:36px;height:36px;flex:none;border-radius:6px;border:1px solid var(--border);background:#f5f7fa;overflow:hidden;display:flex;align-items:center;justify-content:center;font-size:10px;color:var(--muted)}.pc-swatch img{width:100%;height:100%;object-fit:cover;display:block}.pc-swatch-more{font-size:12px;color:var(--muted);flex:none}.pc-body{padding:8px 12px 12px;display:flex;flex-direction:column;gap:5px;flex:1;min-width:0}.pc-title{font-weight:650;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pc-title .muted{font-weight:400;font-size:12px;margin-left:4px}.pc-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pc-stats{font-size:13px}.pc-stats b{color:var(--primary);font-size:15px}.pc-row{display:flex;flex-wrap:wrap;gap:4px;align-items:center;font-size:12px;max-height:44px;overflow:hidden}.pc-row .lbl{color:var(--muted);width:30px;flex:none}.pc-chip{background:#eef3fd;color:var(--primary-2);border-radius:6px;padding:1px 6px;font-size:12px;white-space:nowrap}.pc-chip.size{background:#f1f3f6;color:var(--text)}.pc-foot{margin-top:auto;display:grid;grid-template-columns:1fr 1fr;gap:2px 8px;font-size:12px;color:var(--muted);border-top:1px dashed var(--border);padding-top:6px}.pc-foot b{color:var(--text)}.pc-foot .pending{color:var(--warn);font-weight:600}.pallet-modal-head{display:flex;gap:14px;align-items:center;flex:1;min-width:0}#pallet-modal .modal-head>.btn{white-space:nowrap;flex:none}.pallet-modal-img{width:96px;aspect-ratio:4/3;background:#f5f7fa;border-radius:8px;overflow:hidden;flex:none;border:1px solid var(--border)}.pallet-modal-img img{width:100%;height:100%;object-fit:contain;display:block}.pallet-matrix-wrap{padding:12px 18px 18px}.pallet-matrix{border-collapse:collapse;width:auto;min-width:100%}.pallet-matrix td,.pallet-matrix th{border:1px solid var(--border);padding:6px 8px;font-size:12px;text-align:center;vertical-align:middle;white-space:nowrap}.pallet-matrix th{background:#f7f9fc}.pallet-matrix td.pm-color{text-align:left}.pallet-matrix .pm-color-inner{display:flex;align-items:center;gap:8px}.pallet-matrix .pm-color-inner .pc-swatch{width:44px;height:44px}.pallet-matrix td.pm-empty{color:#c3cad5;background:#fbfcfd}.pallet-matrix .pm-sku{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:11px;color:var(--muted)}.pallet-matrix .pm-stock{font-weight:600}.pallet-matrix .pm-stock.pending{color:var(--warn);font-weight:500}.pallet-matrix .pm-stock.zero{color:var(--danger)}.sku-search{display:inline-flex;gap:6px;align-items:center}.sku-search input{min-width:180px}.set-compare-hero{border:1px solid var(--border,#e5e7eb);border-radius:12px;padding:10px;margin-bottom:12px;background:#fafafa}.set-compare-hero.empty{padding:10px 12px}.set-compare-hero-head{display:flex;gap:10px;align-items:baseline;margin-bottom:8px;flex-wrap:wrap}.set-compare-hero-btn{display:block;width:100%;border:0;padding:0;background:0 0;cursor:zoom-in}.set-compare-hero-btn img{display:block;max-width:100%;max-height:520px;margin:0 auto;border-radius:8px;object-fit:contain}.set-compare-hero.broken .set-compare-hero-btn::after{content:'对比图加载失败，点击尝试放大';color:#b45309;font-size:12px}.sku-search{padding:2px 4px 2px 8px;border:1px solid var(--border);border-radius:10px;background:#f8fafc}.sku-search-label{font-weight:600;font-size:13px}a.btn[id$="-export-confirmed"]{text-decoration:none}.confirm-date{display:inline-flex;gap:4px;align-items:center;font-size:13px}.col-confirm{white-space:nowrap}.col-confirm .btn{margin-left:4px}.confirm-reason{white-space:normal;max-width:220px;margin-top:4px}#np-table{min-width:1900px}#np-table th[data-col=content_sets]{width:90px}#np-table th[data-col=confirm_by]{width:100px}#np-table th[data-col=confirm_at]{width:150px}#np-table td.col-confirm-at{white-space:normal}.nav-section{display:grid;gap:4px}.nav-section+.nav-section{margin-top:6px}.nav-section-label{font-size:11px;letter-spacing:.06em;color:rgba(255,255,255,.45);padding:6px 14px 2px;text-transform:none}.pc-hint{margin:0 0 12px;font-size:13px}.pc-neg{color:var(--danger,#d64545);font-weight:600}.pc-pos{color:var(--ok,#1f9d61)}.pc-pending{color:#b7791f;font-weight:600}.pc-warn{color:#b7791f;font-size:12px;margin-top:4px}.pc-flag{display:inline-block;font-size:11px;padding:1px 6px;border-radius:6px;background:#fff4e0;color:#b7791f;margin-left:4px;white-space:nowrap}.pc-chip-acct{display:inline-block;font-size:12px;padding:2px 8px;border-radius:999px;background:#eef3fb;color:#2d4a7a;margin:2px 2px 2px 0;white-space:nowrap}.pc-acct-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin-bottom:14px}.pc-acct-card{background:#fff;border:1px solid var(--line,#e5e9f0);border-radius:12px;padding:14px 16px}.pc-acct-card .muted{font-size:12px}.pc-acct-num{font-size:22px;font-weight:700;margin-top:4px;font-variant-numeric:tabular-nums}.pc-acct-balance{border-color:#c9d8f2;background:#f6f9ff}.pc-acct-balance .pc-acct-num{font-size:28px}.pc-ledger-table td,.pc-ledger-table th{white-space:nowrap}.pc-ledger-table td.num,.pc-ledger-table th.num{font-variant-numeric:tabular-nums}.pc-row-recharge td{background:#f5fbf7}.pc-import-bar{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.pc-import-result{margin-top:12px}.pc-import-sum ul{margin:8px 0;padding-left:20px;color:var(--text,#1f2a37)}#pc-modal textarea{width:100%;resize:vertical}#pc-ledger-modal .modal-panel{width:min(1320px,calc(100vw - 32px));max-width:none!important}#pc-import-modal .modal-panel{width:min(1120px,calc(100vw - 32px));max-width:none!important}#pc-import-modal .modal-body,#pc-ledger-modal .modal-body{overflow:auto}#view-pallet-customers .pc-hint{padding:12px 20px 0}.shop-info-line{white-space:normal;max-width:260px;margin-top:4px;font-size:12px}.assign-add{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:12px}#np-assign-modal h4{margin:14px 0 6px}#np-assign-modal input{min-width:0}#np-table th[data-col=confirm_status]{width:260px}#np-table th[data-col=make_progress]{width:120px}.np-progress-sel{font-size:12px;padding:2px 4px;max-width:110px}.progress-who{font-size:11px;margin-top:2px}.fx-filter-label{color:var(--muted);font-size:13px}.fx-pair-pop{position:relative}.fx-pair-menu{position:absolute;z-index:30;top:calc(100% + 6px);left:0;width:220px;max-height:360px;overflow:auto;background:#fff;border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow);padding:8px 10px 10px}.fx-pair-actions{display:flex;gap:8px;margin-bottom:6px}.fx-pair-menu label{display:flex;gap:8px;align-items:center;font-size:13px;padding:4px 2px;cursor:pointer}.fx-table{width:max-content}.fx-table th{cursor:default}.fx-table td.num,.fx-table th.num{text-align:right;font-variant-numeric:tabular-nums}.fx-table .fx-date{position:sticky;left:0;z-index:1;background:#fff;box-shadow:1px 0 0 var(--border)}.fx-table thead .fx-date{z-index:3;background:#fafbfd}.fx-table tbody tr:hover .fx-date{background:#f8fbff}.settlement-subtabs,.settlement-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 12px}.settlement-subtabs.hidden{display:none}.settlement-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:0 0 12px}.settlement-heading h3{margin:0;font-size:16px}#settlement-tk-filters{margin-bottom:12px}#tk-company{min-width:280px;max-width:440px}#settlement-tk-detail.panel,#settlement-tk-summary.panel{overflow:hidden;display:flex;flex-direction:column}.tk-table-wrap{flex:1 1 auto;max-height:calc(100dvh - 360px);overflow:auto}.tk-detail-table{font-size:12px;--tk-sum-h:40px}.tk-detail-table td,.tk-detail-table th{white-space:nowrap;padding:6px 8px}.tk-detail-table .tk-wrap{white-space:normal;min-width:200px;max-width:280px;vertical-align:middle;word-break:break-word;overflow-wrap:anywhere}.tk-detail-table .tk-wrap .tk-wrap-text{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}.tk-detail-table thead{background:#fafbfd;box-shadow:0 1px 0 var(--border)}.tk-detail-table thead th{vertical-align:bottom;white-space:normal;min-width:72px;background:#fafbfd}.tk-detail-table thead tr.tk-sum-row th{position:sticky;top:0;z-index:8;font-weight:650;background:#eef3f8;white-space:nowrap}.tk-detail-table thead tr.tk-head-row th{position:sticky;top:var(--tk-sum-h);z-index:8}.tk-th-en{display:block;font-weight:650;line-height:1.25}.tk-th-zh{display:block;color:var(--muted);font-size:11px;font-weight:400;line-height:1.3;margin-top:1px}.tk-summary-table .tk-th-en{font-weight:400}.tk-summary-table .tk-lvl-1 .tk-th-en{font-weight:650}.tk-detail-table tfoot td{position:sticky;bottom:0;z-index:2;background:#fafbfd;font-weight:600}.tk-sticky-1,.tk-sticky-2,.tk-sticky-3,.tk-sticky-4,.tk-sticky-5{position:sticky;z-index:1;background:#fff}.tk-sticky-1{left:0;min-width:168px}.tk-sticky-2{left:168px;min-width:100px}.tk-sticky-3{left:268px;min-width:148px}.tk-sticky-4{left:416px;min-width:168px}.tk-sticky-5{left:584px;min-width:156px;box-shadow:1px 0 0 var(--border)}.tk-detail-table thead .tk-sticky-1,.tk-detail-table thead .tk-sticky-2,.tk-detail-table thead .tk-sticky-3,.tk-detail-table thead .tk-sticky-4,.tk-detail-table thead .tk-sticky-5{z-index:11;background:#fafbfd}.tk-detail-table thead tr.tk-sum-row .tk-sticky-1,.tk-detail-table thead tr.tk-sum-row .tk-sticky-2,.tk-detail-table thead tr.tk-sum-row .tk-sticky-3,.tk-detail-table thead tr.tk-sum-row .tk-sticky-4,.tk-detail-table thead tr.tk-sum-row .tk-sticky-5{z-index:12;background:#eef3f8}.tk-detail-table thead tr.tk-head-row .tk-sticky-1,.tk-detail-table thead tr.tk-head-row .tk-sticky-2,.tk-detail-table thead tr.tk-head-row .tk-sticky-3,.tk-detail-table thead tr.tk-head-row .tk-sticky-4,.tk-detail-table thead tr.tk-head-row .tk-sticky-5{z-index:11;background:#fafbfd}.tk-detail-table tfoot .tk-sticky-1,.tk-detail-table tfoot .tk-sticky-2,.tk-detail-table tfoot .tk-sticky-3,.tk-detail-table tfoot .tk-sticky-4,.tk-detail-table tfoot .tk-sticky-5{z-index:4;background:#fafbfd}.tk-detail-table tbody tr:hover .tk-sticky-1,.tk-detail-table tbody tr:hover .tk-sticky-2,.tk-detail-table tbody tr:hover .tk-sticky-3,.tk-detail-table tbody tr:hover .tk-sticky-4,.tk-detail-table tbody tr:hover .tk-sticky-5{background:#f8fbff}.tk-summary-table{font-size:13px}.tk-summary-table .tk-item-name{position:sticky;left:0;z-index:1;min-width:280px;max-width:420px;white-space:normal;background:#fff;box-shadow:1px 0 0 var(--border);vertical-align:top}.tk-summary-table thead .tk-item-name{z-index:5;background:#fafbfd}.tk-summary-table tbody tr:hover .tk-item-name{background:#f8fbff}.tk-summary-table thead th{position:sticky;top:0;z-index:2;background:#fafbfd}.tk-lvl-1,.tk-lvl-2{font-weight:650}.tk-item-label{display:flex;align-items:flex-start;gap:6px}.tk-item-text{min-width:0}.tk-tree-toggle{flex:none;width:18px;height:18px;margin-top:2px;border:0;padding:0;background:0 0;color:var(--muted);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;border-radius:4px}.tk-tree-toggle:hover{background:#e8eef8;color:var(--text)}.tk-tree-toggle::before{content:"";width:0;height:0;border-style:solid;border-width:4px 0 4px 6px;border-color:transparent transparent transparent currentColor;transition:transform .15s}.tk-tree-toggle[aria-expanded=true]::before{transform:rotate(90deg)}.tk-tree-spacer{flex:none;width:18px;height:18px}.tk-item-en{display:block;color:var(--muted);font-size:11px;font-weight:400;line-height:1.3;margin-top:1px}#hk-filters{margin-bottom:12px}#hk-client{min-width:280px;max-width:440px}#hk-detail.panel{overflow:hidden;display:flex;flex-direction:column}.hk-detail-table .hk-sticky-1,.hk-detail-table .hk-sticky-2,.hk-detail-table .hk-sticky-3,.hk-detail-table .hk-sticky-4,.hk-detail-table .hk-sticky-5{position:sticky;z-index:1;background:#fff}.hk-detail-table .hk-sticky-1{left:0;min-width:72px}.hk-detail-table .hk-sticky-2{left:72px;min-width:64px}.hk-detail-table .hk-sticky-3{left:136px;min-width:220px}.hk-detail-table .hk-sticky-4{left:356px;min-width:90px}.hk-detail-table .hk-sticky-5{left:446px;min-width:180px;box-shadow:1px 0 0 var(--border)}.hk-detail-table thead .hk-sticky-1,.hk-detail-table thead .hk-sticky-2,.hk-detail-table thead .hk-sticky-3,.hk-detail-table thead .hk-sticky-4,.hk-detail-table thead .hk-sticky-5{z-index:11;background:#fafbfd}.hk-detail-table thead tr.tk-sum-row .hk-sticky-1,.hk-detail-table thead tr.tk-sum-row .hk-sticky-2,.hk-detail-table thead tr.tk-sum-row .hk-sticky-3,.hk-detail-table thead tr.tk-sum-row .hk-sticky-4,.hk-detail-table thead tr.tk-sum-row .hk-sticky-5{z-index:12;background:#eef3f8}.hk-detail-table thead tr.tk-head-row .hk-sticky-1,.hk-detail-table thead tr.tk-head-row .hk-sticky-2,.hk-detail-table thead tr.tk-head-row .hk-sticky-3,.hk-detail-table thead tr.tk-head-row .hk-sticky-4,.hk-detail-table thead tr.tk-head-row .hk-sticky-5{z-index:11;background:#fafbfd}.hk-detail-table tfoot .hk-sticky-1,.hk-detail-table tfoot .hk-sticky-2,.hk-detail-table tfoot .hk-sticky-3,.hk-detail-table tfoot .hk-sticky-4,.hk-detail-table tfoot .hk-sticky-5{z-index:4;background:#fafbfd}.hk-detail-table tbody tr:hover .hk-sticky-1,.hk-detail-table tbody tr:hover .hk-sticky-2,.hk-detail-table tbody tr:hover .hk-sticky-3,.hk-detail-table tbody tr:hover .hk-sticky-4,.hk-detail-table tbody tr:hover .hk-sticky-5{background:#f8fbff}.pc-admin{position:absolute;right:8px;top:8px;display:flex;gap:6px;z-index:3}.pc-admin .btn{background:#fff;box-shadow:0 1px 4px rgba(15,28,46,.16)}.pe-panel{width:min(1240px,calc(100vw - 32px));max-height:calc(100dvh - 40px);display:flex;flex-direction:column}.pe-panel .modal-body{flex:1;min-height:0}.pe-form{display:flex;flex-direction:column;gap:14px}.pe-top{display:flex;flex-wrap:wrap;gap:14px 18px;align-items:flex-end}.pe-top label{display:grid;gap:6px;font-size:13px;color:var(--muted)}.pe-top input[type=text]{border:1px solid var(--border);border-radius:10px;padding:8px 12px;min-width:180px;color:var(--text);background:#fff}.pe-cover{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.pe-cover-preview{width:64px;height:64px;border-radius:8px;border:1px solid var(--border);background:#f5f7fa;overflow:hidden;display:flex;align-items:center;justify-content:center}.pe-cover-preview img{width:100%;height:100%;object-fit:contain;display:block}.pe-file-btn{margin:0}.pe-sku-head{display:flex;justify-content:space-between;align-items:center}.pe-sku-head h4{margin:0;font-size:14px}.pe-table-wrap{max-height:min(52vh,520px);overflow:auto;border:1px solid var(--border);border-radius:10px}.pe-table{width:max-content;min-width:100%;border-collapse:separate;border-spacing:0;font-size:12px}.pe-table td,.pe-table th{padding:6px 8px;vertical-align:middle}.pe-table input[type=number],.pe-table input[type=text]{border:1px solid var(--border);border-radius:8px;padding:6px 8px;width:100%;min-width:0;font:inherit;background:#fff}.pe-table .pe-sku{min-width:140px}.pe-table .pe-name{min-width:160px}.pe-table .pe-narrow{width:72px;min-width:64px}.pe-table .pe-code{width:90px;min-width:80px}.pe-row-img{display:flex;align-items:center;gap:6px;min-width:88px}.pe-row-img .pe-row-ph,.pe-row-img img{width:36px;height:36px;border-radius:6px;border:1px solid var(--border);object-fit:cover;background:#f5f7fa;flex:none}.pe-row-ph{display:block}.pe-actions{display:flex;gap:10px;justify-content:flex-end;padding-top:4px}@media (max-width:800px){.pc-admin{position:static;padding:0 10px 8px;justify-content:flex-end}}.pc-ledger-bar{margin:0 0 12px;border-left:none;border-right:none;border-radius:0;box-shadow:none}.pc-ledger-bar label{display:inline-flex;gap:8px;align-items:center}#pc-ledger-modal .pc-ledger-bar{position:sticky;top:0}.source-tag{display:inline-block;font-size:12px;padding:1px 8px;border-radius:999px;border:1px solid var(--border);background:#f4f6f9}.source-tag.site{background:#e7f6ed;border-color:#b7e0c2;color:#1a7f3c}.source-tag.sellfox{background:#eef2f7;color:#4a5a6a}.link-ok{color:#1a7f3c}.link-partial{color:#b86a00}.link-none{color:var(--muted)}.doc-form{display:grid;gap:10px;padding:4px 0}.doc-form .form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px}.doc-form .field,.doc-form label{display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--muted)}.doc-form input,.doc-form select,.doc-form textarea{border:1px solid var(--border);border-radius:8px;padding:8px 10px;font:inherit;color:var(--text);background:#fff}.doc-form .span-2{grid-column:1/-1}.doc-form h4{margin:8px 0 0;font-size:14px;color:var(--text)}.doc-form .form-hint{font-size:12px;color:var(--muted);margin:0}.doc-form table input{width:100%;padding:6px 8px}.modal-panel.wide{width:min(1180px,calc(100vw - 24px));max-height:min(90vh,960px)}.modal-actions{display:flex;justify-content:flex-end;gap:8px;padding:10px 16px 16px}@media (max-width:800px){.doc-form .form-grid{grid-template-columns:1fr}.doc-form .span-2{grid-column:auto}}.sku-pick{position:relative;min-width:140px}.sku-pick input{width:100%}.sku-suggest{position:absolute;left:0;right:0;top:calc(100% + 2px);z-index:80;background:var(--panel,#fff);border:1px solid var(--border,#ddd);border-radius:6px;max-height:240px;overflow:auto;box-shadow:0 8px 20px rgba(0,0,0,.12)}.sku-suggest button{display:block;width:100%;text-align:left;padding:7px 10px;border:0;background:0 0;cursor:pointer;font:inherit}.sku-suggest button.is-active,.sku-suggest button:hover{background:var(--bg-muted,#f4f6f8)}.sku-suggest .sku-suggest-sku{font-weight:600;margin-right:8px}.sku-suggest .sku-suggest-name{color:var(--muted,#666);font-size:12px}.prod-actions{white-space:nowrap}.prod-actions .btn{margin-left:4px}.prod-form textarea{width:100%}.prod-dim{color:var(--muted,#666);font-size:12px}#import-modal-hint{margin:0 0 8px}.import-result{background:var(--bg-muted,#f4f6f8);max-height:280px;overflow:auto}.import-result h4{margin:0 0 6px}.prod-sf-panel{width:min(1180px,calc(100vw - 24px))}.prod-sf-form{padding-bottom:8px}.prod-sf-banner{background:#fff7e8;border:1px solid #f0d9a6;color:#8a5a00;border-radius:8px;padding:8px 12px;margin-bottom:12px}.prod-sf-header{display:flex;gap:16px;align-items:flex-start;margin-bottom:12px}.prod-sf-header-fields{flex:1;display:grid;grid-template-columns:1fr 1fr;gap:12px}.prod-sf-main-img{width:88px;height:88px;border:1px dashed var(--border);border-radius:8px;overflow:hidden;background:#f6f7fb;flex-shrink:0;display:flex;align-items:center;justify-content:center}.prod-sf-main-img img{width:100%;height:100%;object-fit:cover}.prod-img-placeholder{color:#98a2b3;font-size:12px}.prod-count-wrap{position:relative}.prod-count-wrap input{padding-right:56px}.prod-count{position:absolute;right:8px;top:50%;transform:translateY(-50%);color:#98a2b3;font-size:12px;pointer-events:none}.prod-tip{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;margin-left:6px;border-radius:50%;background:#e8edf5;color:#5b6b82;font-size:11px;cursor:help;vertical-align:middle}.prod-labline{display:flex;align-items:center;gap:6px}.prod-labline .prod-count-wrap,.prod-labline input,.prod-split{flex:1}.prod-affix,.prod-inline,.prod-split{display:flex;gap:6px;align-items:center}.prod-affix input,.prod-split input{flex:1;min-width:0}.prod-affix span{color:#667;font-size:12px}.prod-subhead{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:16px 0 8px}.prod-subhead h4{margin:0;font-size:14px}.prod-sf-table table{min-width:980px}.prod-sf-tabs{margin:4px 0 12px;flex-wrap:wrap}.prod-thumb-cell{position:relative;width:56px}.prod-thumb,.prod-thumb.ph{width:40px;height:40px;object-fit:cover;border-radius:6px;display:block;background:#f0f2f6;border:1px solid var(--border)}.acc-badge{position:absolute;right:2px;bottom:2px;background:#2f6fed;color:#fff;font-size:10px;line-height:1;padding:2px 4px;border-radius:3px}.prod-img-toolbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:8px}.prod-img-grid{display:flex;flex-wrap:wrap;gap:10px;min-height:80px}.prod-img-card{width:96px;height:96px;border:1px solid var(--border);border-radius:8px;position:relative;overflow:hidden;background:#f6f7fb;cursor:grab}.prod-img-card img{width:100%;height:100%;object-fit:cover}.prod-img-main-tag{position:absolute;left:4px;top:4px;background:rgba(47,111,237,.9);color:#fff;font-size:11px;padding:1px 6px;border-radius:4px}.prod-img-del{position:absolute;right:2px;top:2px;width:20px;height:20px;border:0;border-radius:50%;background:rgba(0,0,0,.55);color:#fff;cursor:pointer}.prod-acc-foot{margin-top:8px;color:#445}.prod-img-lib{display:flex;flex-wrap:wrap;gap:10px}.prod-img-lib-item{width:100px;font-size:12px;color:#556;display:flex;flex-direction:column;gap:4px}.prod-img-lib-item img{width:100px;height:100px;object-fit:cover;border-radius:6px;border:1px solid var(--border)}.btn-drop{position:relative;display:inline-block}.btn-drop-menu{display:none;position:absolute;top:calc(100% + 4px);left:0;min-width:140px;background:#fff;border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 24px rgba(0,0,0,.08);z-index:20;overflow:hidden}.btn-drop-menu.open,.btn-drop.open .btn-drop-menu{display:block}.btn-drop-menu button{display:block;width:100%;text-align:left;border:0;background:#fff;padding:8px 12px;cursor:pointer}.btn-drop-menu button:hover{background:#f4f7ff}.import-kind{display:flex;gap:16px;margin-bottom:8px}.import-result{margin-top:12px;padding:10px 12px;background:#f6f8fc;border-radius:8px}.import-result ul{margin:6px 0 0;padding-left:18px}
.ledger-ccy-tabs{display:flex;flex-wrap:wrap;gap:0;margin:0 0 12px;border-bottom:1px solid var(--border);align-items:stretch}.ledger-ccy-tab{border:0;border-bottom:2px solid transparent;background:transparent;color:var(--text);padding:8px 18px;margin-bottom:-1px;cursor:pointer;font:inherit;border-radius:0}.ledger-ccy-tab:hover{color:var(--primary)}.ledger-ccy-tab.active{color:var(--primary);border-bottom-color:var(--primary);font-weight:600}#ledger-fx-meta{margin:-4px 0 12px;font-size:13px;line-height:1.7;white-space:normal}
#ledger-site-filters{margin-bottom:12px}
#ledger-site-company{min-width:280px;max-width:440px}
#ledger-site-year,#ledger-site-month{min-width:96px}
#ledger-site-pnl.panel{overflow:hidden;display:flex;flex-direction:column;border-radius:0;position:relative}
#ledger-site-pnl.panel::before{content:"";position:absolute;left:0;top:0;bottom:0;width:1px;background:#333;z-index:40;pointer-events:none}
.ledger-site-wrap{flex:1 1 auto;max-height:calc(100dvh - 360px);overflow:auto;--ledger-title-h:56px;--ledger-grp-h:28px;--ledger-col-h:28px}
.ledger-pnl-sheet{min-width:max-content;background:#fff}
.ledger-pnl-titlebar{display:grid;grid-template-columns:minmax(240px,1.1fr) auto minmax(280px,1fr);align-items:center;gap:8px 16px;background:#92d050;color:#111;padding:0 12px;border:1px solid #333;position:sticky;top:0;left:0;z-index:30;height:var(--ledger-title-h);width:100%;box-sizing:border-box;overflow:hidden;border-radius:0}
.ledger-pnl-co{font-size:13px;font-weight:700;justify-self:start;align-self:end;padding-bottom:8px;white-space:nowrap}
.ledger-pnl-name{font-size:18px;font-weight:700;letter-spacing:.04em;text-align:center;justify-self:center;white-space:nowrap}
.ledger-pnl-right{display:grid;grid-template-columns:auto auto;gap:2px 24px;justify-self:end;align-items:center;text-align:right}
.ledger-pnl-period{color:#800080;text-decoration:underline;font-size:13px;align-self:end;padding:0 8px 8px 0;white-space:nowrap}
.ledger-pnl-units{font-size:12px;font-weight:650;line-height:1.4;white-space:nowrap}
.ledger-pnl-units .u-row{display:flex;gap:18px;justify-content:flex-end}
.ledger-pnl-table{border-collapse:separate;border-spacing:0;font-size:12px;width:max-content;min-width:100%;background:#fff}
.ledger-pnl-table th,.ledger-pnl-table td{border:0;border-right:1px solid #333;border-bottom:1px solid #333;padding:4px 6px;text-align:center;white-space:nowrap;font-weight:500;line-height:18px;box-sizing:border-box;box-shadow:none}
.ledger-pnl-table .ls-1{border-left:1px solid #333}
.ledger-pnl-table thead th{font-weight:700;box-shadow:none}
.ledger-pnl-table thead tr.ledger-pnl-grp th{position:sticky;top:calc(var(--ledger-title-h) - 1px);z-index:10}
.ledger-pnl-table thead tr.ledger-pnl-grp th:not([rowspan]){height:var(--ledger-grp-h)}
.ledger-pnl-table thead tr.ledger-pnl-grp th[rowspan]{box-shadow:0 1px 0 #333}
.ledger-pnl-table thead tr.ledger-pnl-col th{position:sticky;top:calc(var(--ledger-title-h) + var(--ledger-grp-h) - 2px);z-index:10;height:var(--ledger-col-h);box-shadow:0 1px 0 #333}
.ledger-pnl-table thead tr.ledger-pnl-col th.ls-4{box-shadow:1px 0 0 #333,0 1px 0 #333}
.ledger-pnl-table .ls{position:sticky}
.ledger-pnl-table .ls-1{left:0;z-index:3;width:72px;min-width:72px;max-width:72px}
.ledger-pnl-table .ls-2{left:71px;z-index:3;width:168px;min-width:168px;max-width:168px}
.ledger-pnl-table .ls-3{left:239px;z-index:3;width:110px;min-width:110px;max-width:110px}
.ledger-pnl-table .ls-4{left:349px;z-index:3;width:132px;min-width:132px;max-width:132px;box-shadow:1px 0 0 #333}
.ledger-pnl-table thead tr.ledger-pnl-grp th.ls-3{width:242px;min-width:242px;max-width:none;box-shadow:1px 0 0 #333}
.ledger-pnl-table tbody td.ls-1[colspan]{width:auto;min-width:0;max-width:none}
.ledger-pnl-table thead .ls{z-index:12}
.ledger-pnl-table thead tr.ledger-pnl-grp .ls{z-index:13}
.ledger-pnl-table thead tr.ledger-pnl-col th.ls{z-index:12}
.ledger-pnl-table thead tr.ledger-pnl-grp th.ls{z-index:13}
.ledger-pnl-table .hdr-id{background:#ffc000}
.ledger-pnl-table .hdr-amz{background:#fadade}
.ledger-pnl-table .hdr-tk{background:#d2f4f2}
.ledger-pnl-table .hdr-shein{background:#f4b7be}
.ledger-pnl-table .hdr-wal{background:#a8eae4}
.ledger-pnl-table .hdr-total{background:#ffc000}
.ledger-pnl-table .band-income{background:#e3f2d9}
.ledger-pnl-table .band-income-tax{background:#b5c6ea}
.ledger-pnl-table .band-fee{background:#fff3ca}
.ledger-pnl-table .band-tax{background:#b5c6ea}
.ledger-pnl-table .band-cost{background:#fadade}
.ledger-pnl-table .band-off{background:#ffffff}
.ledger-pnl-table .band-profit{background:#92d050;font-weight:700}
.ledger-pnl-table td.num{font-variant-numeric:tabular-nums}
.ledger-pnl-table .cat-cell{font-weight:700}
.ledger-pnl-table tr.band-profit td{font-weight:700}
