.mono{font-family:var(--font-mono)}.mono,.tabular{font-variant-numeric:tabular-nums}.party-link{color:var(--color-text-info);text-decoration:none}.party-link:hover{text-decoration:underline}.i-card{background:var(--color-bg-card);border:.5px solid var(--color-border-default);border-radius:var(--radius-lg);padding:16px 18px}.i-card-title{font-size:var(--text-md);font-weight:500;margin:0 0 12px;padding-bottom:10px;border-bottom:.5px solid var(--color-border-default);display:flex;align-items:center;gap:8px;color:var(--color-text-primary)}.i-card-title .card-count{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-muted);background:var(--color-bg-secondary);padding:1px 7px;border-radius:var(--radius-pill);font-weight:500}.field-row{display:grid;grid-template-columns:96px 1fr;gap:12px;padding:7px 0;align-items:flex-start;font-size:var(--text-base)}.field-row+.field-row{border-top:.5px dashed var(--color-border-default)}.field-row .f-label{color:var(--color-text-secondary);line-height:1.6}.field-row .f-value{color:var(--color-text-primary);line-height:1.6;word-break:break-word}.field-row .f-value.mono{font-family:var(--font-mono)}.field-row .f-value.muted{color:var(--color-text-muted)}.btn{border:.5px solid transparent;border-radius:var(--radius-md);padding:7px 14px;font-size:var(--text-base);font-weight:500;font-family:inherit;display:inline-flex;align-items:center;gap:6px;cursor:pointer}.btn-primary{background:var(--color-brand);color:var(--color-text-on-brand)}.btn-primary:hover{background:var(--color-brand-hover)}.btn-secondary{background:var(--color-bg-card);color:var(--color-text-primary);border-color:var(--color-border-default)}.btn-secondary:hover{border-color:var(--color-border-medium)}.btn-ghost{background:transparent;color:var(--color-brand)}.btn-ghost:hover{background:var(--color-brand-light)}.btn-sm{padding:4px 10px;font-size:var(--text-sm)}.subtype-badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:500;white-space:nowrap;line-height:1.4}.subtype-badge.customer{background:var(--color-bg-info);color:var(--color-text-info)}.subtype-badge.notify{background:var(--color-bg-secondary);color:var(--color-text-secondary)}.subtype-badge.supplier{background:rgba(124,58,237,.1);color:var(--color-node-purple)}.subtype-badge.airline{background:rgba(43,92,230,.12);color:var(--color-brand)}.subtype-badge.transport{background:var(--color-bg-warning);color:var(--color-text-warning)}.subtype-badge.broker{background:rgba(202,138,4,.12);color:var(--color-node-yellow)}.subtype-badge.warehouse{background:var(--color-bg-success);color:var(--color-text-success)}.subtype-badge.agent{background:var(--color-bg-secondary);color:var(--color-text-secondary)}[data-theme=dark] .subtype-badge.supplier{background:rgba(124,58,237,.18)}[data-theme=dark] .subtype-badge.airline{background:rgba(43,92,230,.18)}[data-theme=dark] .subtype-badge.broker{background:rgba(202,138,4,.18)}.qual-badge{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:500;white-space:nowrap}.qual-badge.qual-valid{background:var(--color-bg-success);color:var(--color-text-success)}.qual-badge.qual-expired{background:var(--color-bg-danger);color:var(--color-text-danger)}.qual-badge.qual-none{background:var(--color-bg-secondary);color:var(--color-text-muted)}.qual-badge.qual-danger{background:var(--color-bg-danger);color:var(--color-text-danger);font-weight:500}.qual-badge.qual-warning{background:var(--color-bg-warning);color:var(--color-text-warning)}.qual-badge.qual-success{background:var(--color-bg-success);color:var(--color-text-success)}.party-list-page{display:flex;flex-direction:column;min-height:100%}.party-list-head{background:var(--color-bg-card);border-bottom:.5px solid var(--color-border-default);padding:18px 28px 0}.party-list-head-row{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:14px}.party-list-h1{font-size:var(--text-2xl);font-weight:500;margin:0}.party-list-sub{font-size:var(--text-base);color:var(--color-text-secondary);margin-top:2px}.party-head-actions{display:flex;gap:8px;align-items:center}.party-tabs{display:flex;gap:2px;margin:0 -28px;padding:0 28px}.party-tab{padding:10px 18px;background:transparent;font-size:var(--text-base);color:var(--color-text-secondary);border:none;border-bottom:2px solid transparent;margin-bottom:-1px}.party-tab.active{font-weight:500;border-bottom-color:var(--color-brand)}.party-tab.active,.party-tab:hover{color:var(--color-text-primary)}.party-filter-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:12px 28px;background:var(--color-bg-page);border-bottom:.5px solid var(--color-border-default)}.party-search{width:280px;padding:6px 12px 6px 32px;font-size:var(--text-base);font-family:inherit;background:var(--color-bg-card);border:.5px solid var(--color-border-default);border-radius:var(--radius-md);color:var(--color-text-primary);outline:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%236B6B6B' stroke-width='2'><circle cx='11' cy='11' r='7'/><path d='M21 21l-4.35-4.35'/></svg>");background-repeat:no-repeat;background-position:10px}.party-search:focus{border-color:var(--color-brand)}.party-search::placeholder{color:var(--color-text-muted)}.filter-chips{display:flex;gap:6px;flex-wrap:wrap}.filter-chip{padding:4px 10px;background:var(--color-bg-card);border:.5px solid var(--color-border-default);border-radius:var(--radius-pill);font-size:var(--text-sm);color:var(--color-text-secondary)}.filter-chip.active{background:var(--color-brand-light);border-color:var(--color-brand);color:var(--color-text-info);font-weight:500}.filter-chip:hover{border-color:var(--color-border-medium);color:var(--color-text-primary)}.sort-select{margin-left:auto;padding:5px 10px;background:var(--color-bg-card);border:.5px solid var(--color-border-default);border-radius:var(--radius-md);font-size:var(--text-sm);font-family:inherit;color:var(--color-text-primary);cursor:pointer;outline:none}.party-listwrap{flex:1;padding:16px 28px 80px}.party-table{background:var(--color-bg-card);border:.5px solid var(--color-border-default);border-radius:var(--radius-lg);overflow:hidden}.party-thead{display:grid;align-items:center;padding:10px 0;background:var(--color-bg-secondary);border-bottom:.5px solid var(--color-border-default);font-size:var(--text-xs);color:var(--color-text-muted);letter-spacing:.04em;text-transform:uppercase}.party-thead .col{padding:0 14px}.party-list-cols{grid-template-columns:minmax(220px,1fr) 80px minmax(160px,1.2fr) 130px 56px}.party-trow{display:grid;align-items:center;padding:11px 0;border-bottom:.5px solid var(--color-border-default);font-size:var(--text-base);cursor:pointer;transition:background .12s}.party-trow:last-child{border-bottom:none}.party-trow:hover{background:var(--color-bg-secondary)}.party-trow .col{padding:0 14px;min-width:0;overflow:hidden;text-overflow:ellipsis}.party-trow .col-name{display:flex;flex-direction:column;gap:4px;overflow:visible}.party-trow .col-name .name-text{font-weight:500;color:var(--color-text-primary);font-size:var(--text-base);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.party-trow .col-name .name-chips{display:flex;gap:4px;flex-wrap:wrap}.party-trow .col-orders{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-weight:500;color:var(--color-text-primary);font-size:var(--text-md)}.party-trow .col-orders.zero{color:var(--color-text-muted);font-weight:400}.party-trow .col-contact{color:var(--color-text-secondary);font-size:var(--text-sm);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.party-trow .col-action{text-align:right}.party-trow .col-action .view-btn{background:transparent;border:none;color:var(--color-text-info);font-size:var(--text-base);font-weight:500;padding:4px 8px;border-radius:var(--radius-sm)}.party-trow .col-action .view-btn:hover{background:var(--color-brand-light)}.party-empty{padding:80px 24px;text-align:center;color:var(--color-text-muted);font-size:var(--text-base)}.party-empty .empty-icon{font-size:32px;margin-bottom:12px;opacity:.5}.party-empty .empty-title{font-size:var(--text-md);color:var(--color-text-secondary)}.party-detail-page{display:flex;flex-direction:column;min-height:100%}.party-detail-head{position:sticky;top:0;z-index:10;background:var(--color-bg-page);border-bottom:.5px solid var(--color-border-default);padding:14px 28px}.detail-back-row{display:flex;align-items:center;gap:12px;margin-bottom:10px}.back-btn{display:inline-flex;align-items:center;gap:6px;background:transparent;border:.5px solid var(--color-border-default);color:var(--color-text-secondary);padding:5px 10px;border-radius:var(--radius-md);font-size:var(--text-sm)}.back-btn:hover{color:var(--color-text-primary);background:var(--color-bg-card)}.detail-company-name{font-size:var(--text-2xl);font-weight:500;color:var(--color-text-primary)}.detail-chips{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.detail-actions{margin-left:auto;display:flex;gap:8px}.party-detail-body{padding:20px 28px 80px;display:grid;grid-template-columns:340px 1fr;grid-template-rows:auto auto;gap:16px;align-items:start}.party-detail-left{grid-row:1/-1}.party-detail-left,.party-detail-right{display:flex;flex-direction:column;gap:16px}.contact-list{display:flex;flex-direction:column;gap:0}.contact-item{display:grid;grid-template-columns:24px 1fr auto;gap:8px;align-items:flex-start;padding:10px 0;border-bottom:.5px dashed var(--color-border-default)}.contact-item:last-child{border-bottom:none}.contact-primary-dot{width:20px;height:20px;border-radius:50%;background:var(--color-brand);color:var(--color-text-on-brand);display:grid;place-items:center;font-size:9px;font-weight:500;flex-shrink:0;margin-top:2px}.contact-primary-dot.secondary{background:var(--color-bg-secondary);color:var(--color-text-muted)}.contact-body{min-width:0}.contact-name{font-weight:500;font-size:var(--text-base);color:var(--color-text-primary)}.contact-role{font-size:var(--text-xs);color:var(--color-text-muted);margin-bottom:3px}.contact-line{font-size:var(--text-sm);color:var(--color-text-secondary);display:flex;align-items:center;gap:5px}.contact-line .ci-icon{color:var(--color-text-muted);font-size:var(--text-xs)}.contact-history-toggle{display:flex;align-items:center;gap:6px;padding:8px 0;background:transparent;border:none;font-size:var(--text-sm);color:var(--color-text-muted);width:100%}.contact-history-toggle:hover{color:var(--color-text-secondary)}.contact-historical{opacity:.6}.contact-historical .contact-name{text-decoration:line-through;color:var(--color-text-muted)}.alias-chips{display:flex;flex-wrap:wrap;gap:4px}.alias-chip{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;background:var(--color-bg-secondary);border:.5px solid var(--color-border-default);border-radius:var(--radius-pill);font-size:var(--text-xs);color:var(--color-text-secondary)}.alias-chip .alias-src{color:var(--color-text-muted)}.remark-textarea{width:100%;min-height:72px;padding:8px 10px;font-family:inherit;font-size:var(--text-base);background:var(--color-bg-card);color:var(--color-text-primary);border:.5px solid var(--color-border-default);border-radius:var(--radius-md);outline:none;resize:vertical;line-height:1.6}.remark-textarea:focus{border-color:var(--color-brand)}.remark-textarea::placeholder{color:var(--color-text-muted)}.remark-save-row{display:flex;justify-content:flex-end;margin-top:8px}.metrics-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:4px}.metric-card{background:var(--color-bg-secondary);border-radius:var(--radius-lg);padding:12px 14px;display:flex;flex-direction:column;gap:4px}.metric-label{font-size:var(--text-xs);color:var(--color-text-muted)}.metric-value{font-size:var(--text-xl);font-weight:500;font-variant-numeric:tabular-nums;color:var(--color-text-primary);line-height:1.2}.metric-value.success{color:var(--color-text-success)}.metric-value.warning{color:var(--color-text-warning)}.metric-value.danger{color:var(--color-text-danger)}.metric-value.muted{color:var(--color-text-muted)}.metric-unit{font-size:var(--text-sm);font-weight:400;color:var(--color-text-secondary)}.metric-sub{font-size:var(--text-xs);color:var(--color-text-muted)}.transit-bar-card{background:var(--color-bg-secondary);border-radius:var(--radius-lg);padding:12px 14px;margin-bottom:2px}.transit-bar-header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:8px}.transit-bar-label{font-size:var(--text-xs);color:var(--color-text-muted)}.transit-bar-total{font-size:var(--text-xl);font-weight:500;color:var(--color-text-primary);font-variant-numeric:tabular-nums}.transit-segments{display:flex;gap:3px;height:8px;border-radius:var(--radius-sm);overflow:hidden}.transit-seg{height:100%;border-radius:1px}.transit-seg.info{background:var(--color-text-info)}.transit-seg.warning{background:var(--color-text-warning)}.transit-seg.danger{background:var(--color-text-danger)}.transit-legend{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}.transit-legend-item{display:flex;align-items:center;gap:4px;font-size:var(--text-xs);color:var(--color-text-secondary);font-variant-numeric:tabular-nums}.transit-legend-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.transit-legend-dot.info{background:var(--color-text-info)}.transit-legend-dot.warning{background:var(--color-text-warning)}.transit-legend-dot.danger{background:var(--color-text-danger)}.cargo-type-bar{display:flex;flex-direction:column;gap:4px;margin-top:2px}.cargo-type-row{display:flex;align-items:center;gap:8px;font-size:var(--text-xs)}.cargo-type-label{width:36px;color:var(--color-text-secondary)}.cargo-type-track{flex:1;height:6px;background:var(--color-border-default);border-radius:var(--radius-sm);overflow:hidden}.cargo-type-fill{height:100%;border-radius:var(--radius-sm)}.cargo-type-fill.info{background:var(--color-text-info)}.cargo-type-fill.warning{background:var(--color-text-warning)}.cargo-type-fill.danger{background:var(--color-text-danger)}.cargo-type-pct{width:28px;text-align:right;color:var(--color-text-muted);font-variant-numeric:tabular-nums}.comms-list{display:flex;flex-direction:column;gap:0}.comm-item{display:grid;grid-template-columns:56px auto 1fr;gap:8px;align-items:flex-start;padding:8px 0;border-bottom:.5px solid var(--color-border-default);font-size:var(--text-sm)}.comm-item:last-child{border-bottom:none}.comm-ts{font-family:var(--font-mono);color:var(--color-text-muted);padding-top:1px}.comm-channel,.comm-ts{font-size:var(--text-xs)}.comm-channel{font-weight:500;padding:1px 6px;border-radius:var(--radius-sm);background:var(--color-bg-info);color:var(--color-text-info);white-space:nowrap;align-self:start}.comm-channel.wechat{background:rgba(9,187,7,.1);color:#0B9B09}.comm-content{color:var(--color-text-primary);line-height:1.5}[data-theme=dark] .comm-channel.wechat{background:rgba(9,187,7,.18)}.alert-list{display:flex;flex-direction:column;gap:6px}.alert-item{display:flex;align-items:flex-start;gap:8px;padding:8px 10px;border-radius:var(--radius-md);font-size:var(--text-sm)}.alert-item.danger{background:var(--color-bg-danger);color:var(--color-text-danger)}.alert-item.warning{background:var(--color-bg-warning);color:var(--color-text-warning)}.alert-item .alert-icon{flex-shrink:0}.alert-item .alert-text{flex:1;color:var(--color-text-primary)}.alert-item .alert-date{font-size:var(--text-xs);color:var(--color-text-muted);white-space:nowrap}.qual-alert-banner{display:flex;align-items:center;gap:12px;padding:10px 14px;border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:500;margin-bottom:4px}.qual-alert-banner.danger{background:var(--color-bg-danger);color:var(--color-text-danger)}.qual-alert-banner.warning{background:var(--color-bg-warning);color:var(--color-text-warning)}.qual-alert-banner .qa-icon{font-size:var(--text-md)}.qual-alert-banner .qa-text{flex:1}.qual-alert-banner .qa-days{font-family:var(--font-mono);font-size:var(--text-md);font-weight:500}.wo-filter-bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:12px}.wo-filter-select{padding:5px 10px;background:var(--color-bg-secondary);border:.5px solid var(--color-border-default);border-radius:var(--radius-md);font-size:var(--text-sm);font-family:inherit;color:var(--color-text-primary);cursor:pointer;outline:none}.wo-filter-select:focus{border-color:var(--color-brand)}.wo-export-btn{margin-left:auto;display:inline-flex;align-items:center;gap:5px;padding:5px 12px;background:var(--color-bg-card);border:.5px solid var(--color-border-default);border-radius:var(--radius-md);font-size:var(--text-sm);color:var(--color-text-secondary)}.wo-export-btn:hover{color:var(--color-text-primary);border-color:var(--color-border-medium)}.wo-table{background:var(--color-bg-card);border:.5px solid var(--color-border-default);border-radius:var(--radius-md);overflow:hidden}.wo-thead,.wo-trow{display:grid;grid-template-columns:140px 76px 80px 56px 130px 80px 80px 52px;align-items:center}.wo-thead{padding:8px 0;background:var(--color-bg-secondary);border-bottom:.5px solid var(--color-border-default);font-size:var(--text-xs);color:var(--color-text-muted);letter-spacing:.04em;text-transform:uppercase}.wo-thead .col{padding:0 10px}.wo-trow{padding:9px 0;border-bottom:.5px solid var(--color-border-default);font-size:var(--text-base);cursor:pointer;transition:background .12s}.wo-trow:last-child{border-bottom:none}.wo-trow:hover{background:var(--color-bg-secondary)}.wo-trow .col{padding:0 10px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wo-trow .col-wo{font-family:var(--font-mono);font-weight:500;color:var(--color-text-info)}.wo-trow .col-awb,.wo-trow .col-date,.wo-trow .col-depart{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--color-text-secondary)}.wo-trow .col-anomaly{text-align:center}.wo-status-badge{display:inline-flex;align-items:center;padding:2px 7px;border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:500;white-space:nowrap}.wo-status-info{background:var(--color-bg-info);color:var(--color-text-info)}.wo-status-warn{background:var(--color-bg-warning);color:var(--color-text-warning)}.wo-status-done{background:var(--color-bg-success);color:var(--color-text-success)}.wo-status-neutral{background:var(--color-bg-secondary);color:var(--color-text-muted)}.wo-status-danger{background:var(--color-bg-danger);color:var(--color-text-danger)}.wo-role-chip{display:inline-flex;align-items:center;padding:1px 6px;border-radius:var(--radius-sm);font-size:var(--text-xs);background:var(--color-bg-secondary);color:var(--color-text-secondary);margin-right:2px}.wo-anomaly-flag{color:var(--color-text-danger);font-size:var(--text-md)}.wo-empty{padding:40px;text-align:center;color:var(--color-text-muted);font-size:var(--text-base)}.merge-page{display:flex;flex-direction:column;min-height:100%}.merge-head{background:var(--color-bg-card);border-bottom:.5px solid var(--color-border-default);padding:18px 28px}.merge-head-row{display:flex;align-items:center;gap:16px}.merge-h1{font-size:var(--text-2xl);font-weight:500;margin:0}.merge-sub{font-size:var(--text-base);color:var(--color-text-secondary);margin-top:2px}.merge-body{padding:20px 28px 80px;display:flex;flex-direction:column;gap:14px}.merge-candidate-card{background:var(--color-bg-card);border:.5px solid var(--color-border-default);border-radius:var(--radius-lg);overflow:hidden}.merge-card-head{display:flex;align-items:center;gap:12px;padding:14px 18px;background:var(--color-bg-secondary);border-bottom:.5px solid var(--color-border-default);font-size:var(--text-sm)}.merge-raw-name{font-size:var(--text-md);font-weight:500;color:var(--color-text-primary)}.merge-source-chip{padding:2px 8px;border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:500;background:var(--color-bg-info);color:var(--color-text-info)}.merge-source-wo{color:var(--color-text-muted);font-family:var(--font-mono);font-size:var(--text-xs);margin-left:auto}.merge-card-body{display:grid;grid-template-columns:1fr auto 1fr;gap:16px;align-items:center;padding:16px 18px}.merge-left,.merge-right{display:flex;flex-direction:column;gap:8px}.merge-section-label{font-size:var(--text-xs);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:2px}.merge-company-name{font-weight:500;font-size:var(--text-md);color:var(--color-text-primary)}.merge-company-meta{font-size:var(--text-sm);color:var(--color-text-secondary)}.merge-arrow-col{display:flex;flex-direction:column;align-items:center;gap:6px;color:var(--color-text-muted)}.merge-arrow-icon{font-size:var(--text-xl)}.merge-confidence-badge{padding:3px 10px;border-radius:var(--radius-pill);font-size:var(--text-sm);font-weight:500;white-space:nowrap}.merge-confidence-badge.high{background:var(--color-bg-success);color:var(--color-text-success)}.merge-confidence-badge.medium{background:var(--color-bg-warning);color:var(--color-text-warning)}.merge-confidence-badge.low{background:var(--color-bg-danger);color:var(--color-text-danger)}.merge-ai-reason{padding:10px 12px;background:var(--color-bg-info);border-radius:var(--radius-md);font-size:var(--text-sm);color:var(--color-text-secondary);line-height:1.6}.merge-ai-label{font-size:var(--text-xs);color:var(--color-text-info);font-weight:500;margin-bottom:3px}.merge-card-actions{display:flex;align-items:center;gap:10px;padding:12px 18px;border-top:.5px solid var(--color-border-default);background:var(--color-bg-card)}.merge-action-hint{font-size:var(--text-sm);color:var(--color-text-muted);flex:1}.btn-merge-confirm{background:var(--color-brand);color:var(--color-text-on-brand);border:none;border-radius:var(--radius-md);padding:7px 16px;font-size:var(--text-base);font-weight:500;font-family:inherit}.btn-merge-confirm:hover{background:var(--color-brand-hover)}.btn-merge-new{background:var(--color-bg-card);color:var(--color-text-primary);border:.5px solid var(--color-border-default);border-radius:var(--radius-md);padding:7px 16px;font-size:var(--text-base);font-weight:500;font-family:inherit}.btn-merge-new:hover{border-color:var(--color-border-medium)}.merge-decided-strip{display:flex;align-items:center;gap:10px;padding:12px 18px;font-size:var(--text-sm);font-weight:500;border-top:.5px solid var(--color-border-default)}.merge-decided-strip.merged{color:var(--color-text-success);background:var(--color-bg-success)}.merge-decided-strip.new{color:var(--color-text-secondary);background:var(--color-bg-secondary)}@keyframes party-slideDown{0%{transform:translateY(-6px);opacity:0}to{transform:translateY(0);opacity:1}}.slide-down{animation:party-slideDown .18s ease-out}@media (min-width:1680px){.party-detail-body{grid-template-columns:360px 1fr}.metrics-grid{grid-template-columns:repeat(4,1fr)}}@media (min-width:1920px){.party-detail-body{grid-template-columns:380px 1fr}}@media (max-width:1439px){.party-detail-body{grid-template-columns:300px 1fr;gap:12px}.metrics-grid{grid-template-columns:repeat(2,1fr)}.wo-thead,.wo-trow{grid-template-columns:120px 70px 74px 52px 110px 70px 70px 44px}}.search-trigger-btn.search-active{background:var(--color-brand-light);color:var(--color-brand)}.search-overlay{position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:1000;display:flex;justify-content:center;align-items:flex-start;padding-top:10vh}.search-dialog{position:relative;width:640px;max-height:70vh;background:var(--color-bg-card);border-radius:var(--radius-xl);overflow:hidden;display:flex;flex-direction:column;border:.5px solid var(--color-border-default);animation:search-dialog-enter .15s ease-out both}@keyframes search-dialog-enter{0%{transform:scale(.97);opacity:.85}to{transform:scale(1);opacity:1}}.search-loading-bar{position:absolute;top:0;left:0;right:0;height:2px;background:var(--color-border-default);overflow:hidden;z-index:2}.search-loading-bar-fill{height:100%;width:35%;background:var(--color-brand);animation:search-loading-slide 1.4s ease-in-out infinite}@keyframes search-loading-slide{0%{transform:translateX(-100%)}to{transform:translateX(340%)}}.search-input-row{gap:10px;padding:14px 16px}.search-input-icon,.search-input-row{display:flex;align-items:center;flex-shrink:0}.search-input-icon{color:var(--color-text-muted)}.search-input-field{flex:1;border:none;background:transparent;font-size:var(--text-md);font-family:var(--font-sans);color:var(--color-text-primary);outline:none;min-width:0}.search-input-field::placeholder{color:var(--color-text-muted)}.search-clear-btn{width:20px;height:20px;border:none;background:transparent;color:var(--color-text-muted);font-size:var(--text-sm);display:grid;place-items:center;border-radius:50%}.search-clear-btn:hover{background:var(--color-bg-secondary);color:var(--color-text-secondary)}.search-divider{height:.5px;background:var(--color-border-default);flex-shrink:0}.search-content{overflow-y:auto;flex:1;min-height:0}.search-section{padding:6px 0}.search-section+.search-section{border-top:.5px solid var(--color-border-default)}.search-section-header{display:flex;align-items:center;gap:6px;padding:6px 16px 4px;font-size:var(--text-sm);font-weight:500;color:var(--color-text-secondary)}.search-section-total{font-size:var(--text-xs);color:var(--color-text-muted);font-weight:400}.search-more-btn{margin-left:auto;background:transparent;border:none;font-size:var(--text-xs);color:var(--color-brand);cursor:pointer;padding:0;font-family:inherit}.search-more-btn:hover{text-decoration:underline}.search-section-body{padding:2px 0}.search-result-item{display:flex;align-items:flex-start;gap:10px;padding:8px 14px;cursor:pointer;border-radius:var(--radius-md);margin:1px 6px;transition:background 80ms}.search-result-item.focused,.search-result-item:hover{background:var(--color-bg-secondary)}.sri-type-icon{width:28px;height:28px;border-radius:var(--radius-md);display:grid;place-items:center;flex-shrink:0;font-size:13px;margin-top:1px}.sri-type-icon.workorder{background:var(--color-bg-info);color:var(--color-text-info)}.sri-type-icon.customer{background:var(--color-bg-success);color:var(--color-text-success)}.sri-type-icon.partner{background:var(--color-bg-warning);color:var(--color-text-warning)}.sri-type-icon.contact{background:var(--color-bg-secondary);color:var(--color-text-secondary)}.sri-main{flex:1;min-width:0}.sri-title{font-size:var(--text-md);color:var(--color-text-primary);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.4}.sri-mono{font-family:var(--font-mono);font-weight:400;letter-spacing:.02em}.sri-mono,.sri-subtitle{font-size:var(--text-sm)}.sri-subtitle{color:var(--color-text-secondary);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.4}.sri-alias{font-size:var(--text-xs);color:var(--color-text-muted);margin-top:3px;font-style:italic}.sri-right{flex-shrink:0;display:flex;align-items:center;padding-top:2px}.search-mark{background:var(--color-brand-light);color:var(--color-brand);border-radius:2px;padding:0 1px;font-style:normal}.search-suggestions{display:flex;gap:8px;padding:6px 16px 10px;flex-wrap:wrap}.search-suggestion-chip{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;background:var(--color-bg-secondary);border-radius:var(--radius-pill);font-size:var(--text-sm);color:var(--color-text-secondary);cursor:default;border:.5px solid var(--color-border-default)}.search-suggestion-chip code{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-brand);background:var(--color-brand-light);padding:1px 5px;border-radius:var(--radius-sm)}.search-empty{padding:40px 24px;text-align:center}.search-empty-title{font-size:var(--text-md);color:var(--color-text-primary);font-weight:500;margin-bottom:10px}.search-empty-tips{font-size:var(--text-sm);color:var(--color-text-muted);display:flex;gap:8px;justify-content:center;flex-wrap:wrap}.search-empty-sep{color:var(--color-border-medium)}.search-error{padding:32px 24px;text-align:center;font-size:var(--text-base);color:var(--color-text-secondary)}.search-footer{display:flex;gap:5px;padding:8px 16px;border-top:.5px solid var(--color-border-default);color:var(--color-text-muted);flex-shrink:0}.search-footer,.search-kbd{align-items:center;font-size:var(--text-xs)}.search-kbd{display:inline-flex;padding:1px 5px;font-family:var(--font-mono);color:var(--color-text-secondary);background:var(--color-bg-card);border:.5px solid var(--color-border-default);border-radius:var(--radius-sm)}.search-kbd-sep{color:var(--color-border-medium)}@keyframes search-fade-in{0%{opacity:0}to{opacity:1}}.search-empty.fade-in,.search-error.fade-in,.search-results.fade-in,.search-zero-query.fade-in{animation:search-fade-in .15s ease-out}.xfr-page{display:flex;flex-direction:column;min-height:100%}.xfr-page .xfr-tab-bar{display:flex;padding:0 24px;background:var(--color-bg-card);border-bottom:.5px solid var(--color-border-default);flex-shrink:0}.xfr-page .xfr-tab{padding:10px 16px;background:transparent;font-size:var(--text-base);color:var(--color-text-secondary);border:none;border-bottom:2px solid transparent;margin-bottom:-.5px;font-family:inherit;transition:color .1s}.xfr-page .xfr-tab.active,.xfr-page .xfr-tab:hover{color:var(--color-text-primary)}.xfr-page .xfr-tab.active{font-weight:500;border-bottom-color:var(--color-brand)}.xfr-page .xfr-op-view{padding:20px 28px 80px;display:flex;flex-direction:column;gap:12px}.xfr-page .xfr-section{background:var(--color-bg-card);border:.5px solid var(--color-border-default);border-radius:var(--radius-lg);padding:16px 18px}.xfr-page .xfr-section-title{display:flex;align-items:center;gap:8px;font-size:var(--text-md);font-weight:500;color:var(--color-text-primary);margin-bottom:12px;padding-bottom:10px;border-bottom:.5px solid var(--color-border-default)}.xfr-page .step-badge{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;background:var(--color-bg-secondary);color:var(--color-text-muted);font-size:var(--text-sm);font-weight:500;flex-shrink:0;font-family:var(--font-mono)}.xfr-page .step-badge--active{background:var(--color-brand);color:var(--color-text-on-brand)}.xfr-page .xfr-filter-row{display:flex;align-items:center;gap:10px;margin-bottom:12px;flex-wrap:wrap}.xfr-page .filter-bar-label{font-size:var(--text-sm);color:var(--color-text-muted)}.xfr-page .xfr-op-select{padding:7px 30px 7px 10px;font-size:var(--text-base);font-family:inherit;background:var(--color-bg-card);border:.5px solid var(--color-border-default);border-radius:var(--radius-md);color:var(--color-text-primary);outline:none;-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 10 10'><path d='M2 3.5L5 6.5L8 3.5' stroke='%236B6B6B' stroke-width='1.2' fill='none' stroke-linecap='round'/></svg>");background-repeat:no-repeat;background-position:right 10px center;min-width:160px;cursor:pointer;transition:border-color .12s}.xfr-page .xfr-op-select:focus{border-color:var(--color-brand)}[data-theme=dark] .xfr-page .xfr-op-select{background-color:var(--color-bg-card)}.xfr-page .wo-summary-bar{font-size:var(--text-base);color:var(--color-text-secondary);margin-bottom:8px}.xfr-page .wo-summary-bar b{color:var(--color-text-primary);font-weight:500}.xfr-page .pool-table{background:var(--color-bg-card);border:.5px solid var(--color-border-default);border-radius:var(--radius-lg);overflow:hidden}.xfr-page .wo-cols-7{grid-template-columns:40px 150px minmax(130px,1fr) 110px 148px 120px 72px}.xfr-page .wo-thead{padding:9px 0;background:var(--color-bg-secondary);font-size:var(--text-xs);color:var(--color-text-muted);letter-spacing:.04em;text-transform:uppercase}.xfr-page .pool-trow,.xfr-page .wo-thead{display:grid;align-items:center;border-bottom:.5px solid var(--color-border-default)}.xfr-page .pool-trow{padding:11px 0;font-size:var(--text-base);background:transparent;transition:background .12s;cursor:pointer}.xfr-page .pool-trow:last-child{border-bottom:none}.xfr-page .pool-trow:hover{background:var(--color-bg-secondary)}.xfr-page .pool-trow.wo-row-checked{background:var(--color-brand-light)}.xfr-page .pool-trow.wo-row-checked:hover{background:#dce6ff}[data-theme=dark] .xfr-page .pool-trow.wo-row-checked{background:#0d1433}[data-theme=dark] .xfr-page .pool-trow.wo-row-checked:hover{background:#101840}.xfr-page .wo-col{padding:0 12px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.xfr-page .col-wo{font-weight:500;color:var(--color-text-info)}.xfr-page .col-route,.xfr-page .col-wo{font-family:var(--font-mono);font-size:var(--text-sm)}.xfr-page .col-route{color:var(--color-text-primary)}.xfr-page .col-date{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--color-text-secondary)}.xfr-page .xfr-checkbox{width:15px;height:15px;cursor:pointer;accent-color:var(--color-brand);flex-shrink:0}.xfr-page .node-pill{display:inline-flex;align-items:center;gap:5px;font-size:var(--text-sm);color:var(--color-text-primary)}.xfr-page .node-pill .node-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.xfr-page .node-pill.tone-orange .node-dot{background:var(--color-node-orange)}.xfr-page .node-pill.tone-purple .node-dot{background:var(--color-node-purple)}.xfr-page .node-pill.tone-yellow .node-dot{background:var(--color-node-yellow)}.xfr-page .node-pill.tone-blue .node-dot{background:var(--color-node-blue)}.xfr-page .node-pill.tone-green .node-dot{background:var(--color-node-green)}.xfr-page .enum-badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:500;white-space:nowrap}.xfr-page .enum-badge.done{background:var(--color-bg-success);color:var(--color-text-success)}.xfr-page .pool-empty{padding:60px 24px;text-align:center;color:var(--color-text-muted);font-size:var(--text-base)}.xfr-page .pool-empty .empty-icon{font-size:28px;margin-bottom:10px;opacity:.6}.xfr-page .pool-empty .empty-title{font-size:var(--text-md);color:var(--color-text-secondary);margin-bottom:4px}.xfr-page .seg-control{display:inline-flex;padding:3px;background:var(--color-bg-secondary);border:.5px solid var(--color-border-default);border-radius:var(--radius-md);gap:2px;margin-bottom:12px}.xfr-page .seg-btn{padding:6px 14px;background:transparent;border:.5px solid transparent;border-radius:var(--radius-sm);font-size:var(--text-base);color:var(--color-text-secondary);font-family:inherit;transition:background .1s,color .1s}.xfr-page .seg-btn.active,.xfr-page .seg-btn:hover{background:var(--color-bg-card);color:var(--color-text-primary)}.xfr-page .seg-btn.active{font-weight:500;border-color:var(--color-border-default)}.xfr-page .per-item-list{display:flex;flex-direction:column;gap:8px}.xfr-page .per-item-row{display:flex;align-items:center;gap:12px;padding:9px 12px;background:var(--color-bg-secondary);border-radius:var(--radius-md);border:.5px solid var(--color-border-default)}.xfr-page .per-item-wo{flex:1;display:flex;align-items:center;gap:8px;min-width:0}.xfr-page .per-item-wo .col-wo{font-size:var(--text-sm)}.xfr-page .per-item-wo .customer{font-size:var(--text-sm);color:var(--color-text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.xfr-page .per-item-arrow{color:var(--color-text-muted);flex-shrink:0;font-size:var(--text-base)}.xfr-page .reason-input{width:100%;padding:10px 12px;font-size:var(--text-md);font-family:inherit;background:var(--color-bg-card);border:.5px solid var(--color-border-default);border-radius:var(--radius-md);color:var(--color-text-primary);outline:none;resize:vertical;line-height:1.6;transition:border-color .12s}.xfr-page .reason-input:focus{border-color:var(--color-brand)}.xfr-page .reason-input::placeholder{color:var(--color-text-muted)}.xfr-page .xfr-submit-row{display:flex;align-items:center;gap:12px;padding:14px 18px;background:var(--color-bg-card);border:.5px solid var(--color-border-default);border-radius:var(--radius-lg)}.xfr-page .xfr-submit-hint{font-size:var(--text-base);color:var(--color-text-muted)}.xfr-page .btn-primary{padding:9px 22px;background:var(--color-brand);color:var(--color-text-on-brand);border:none;border-radius:var(--radius-md);font-size:var(--text-md);font-weight:500;font-family:inherit;cursor:pointer;transition:background .15s;flex-shrink:0}.xfr-page .btn-primary:hover:not(:disabled){background:var(--color-brand-hover)}.xfr-page .btn-primary:disabled{background:var(--color-text-muted);cursor:not-allowed}.xfr-page .history-list{display:flex;flex-direction:column;gap:10px}.xfr-page .history-batch{background:var(--color-bg-card);border:.5px solid var(--color-border-default);border-radius:var(--radius-lg);padding:16px 18px}.xfr-page .batch-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;gap:12px}.xfr-page .batch-route{display:flex;align-items:center;gap:8px;font-size:var(--text-md);flex-wrap:wrap}.xfr-page .batch-from,.xfr-page .batch-to{font-weight:500;color:var(--color-text-primary)}.xfr-page .batch-arrow{color:var(--color-text-muted);font-size:var(--text-base)}.xfr-page .batch-count{font-size:var(--text-sm);color:var(--color-text-secondary);background:var(--color-bg-secondary);padding:2px 8px;border-radius:var(--radius-pill)}.xfr-page .batch-meta{display:flex;gap:20px;font-size:var(--text-base);color:var(--color-text-secondary);flex-wrap:wrap;margin-bottom:2px}.xfr-page .batch-meta-item{display:flex;align-items:center;gap:4px}.xfr-page .batch-meta-label{color:var(--color-text-muted)}.xfr-page .batch-meta-val{color:var(--color-text-primary)}.xfr-page .batch-meta-val.mono{font-family:var(--font-mono);font-size:var(--text-sm)}.xfr-page .revoke-btn{padding:6px 12px;background:var(--color-bg-card);border:.5px solid var(--color-border-danger);border-radius:var(--radius-md);font-size:var(--text-base);font-weight:500;color:var(--color-text-danger);font-family:inherit;flex-shrink:0;transition:background .12s}.xfr-page .revoke-btn:hover:not(:disabled){background:var(--color-bg-danger)}.xfr-page .revoke-btn--disabled,.xfr-page .revoke-btn:disabled{color:var(--color-text-muted);border-color:var(--color-border-default);cursor:not-allowed}.xfr-page .block-hint{margin-top:8px;font-size:var(--text-sm);color:var(--color-text-warning);background:var(--color-bg-warning);padding:6px 10px;border-radius:var(--radius-sm);line-height:1.5}.xfr-page .confirm-mask{position:fixed;inset:0;background:rgba(0,0,0,.28);display:grid;place-items:center;z-index:999;animation:fadeIn .15s ease-out}[data-theme=dark] .xfr-page .confirm-mask{background:rgba(0,0,0,.5)}.xfr-page .confirm-box{width:420px;background:var(--color-bg-card);border:.5px solid var(--color-border-default);border-radius:var(--radius-xl);padding:22px 24px 18px;animation:scaleIn .15s ease-out}.xfr-page .confirm-box .cb-title{font-size:var(--text-lg);font-weight:500;color:var(--color-text-primary);margin:0 0 8px}.xfr-page .confirm-box .cb-body{font-size:var(--text-base);color:var(--color-text-secondary);line-height:1.7;margin-bottom:18px;text-wrap:pretty}.xfr-page .confirm-box .cb-actions{display:flex;gap:10px;justify-content:flex-end}.xfr-page .cb-btn{padding:7px 16px;border-radius:var(--radius-md);font-size:var(--text-base);font-weight:500;font-family:inherit;border:.5px solid transparent;cursor:pointer;transition:background .12s}.xfr-page .cb-btn.secondary{background:var(--color-bg-card);color:var(--color-text-primary);border-color:var(--color-border-default)}.xfr-page .cb-btn.secondary:hover{border-color:var(--color-border-medium)}.xfr-page .cb-btn.brand{background:var(--color-brand);color:var(--color-text-on-brand);border-color:var(--color-brand)}.xfr-page .cb-btn.brand:hover{background:var(--color-brand-hover);border-color:var(--color-brand-hover)}.xfr-page .cb-btn.danger{background:var(--color-text-danger);color:var(--color-text-on-brand);border-color:var(--color-text-danger)}.xfr-page .cb-btn.danger:hover{background:#b91c1c;border-color:#b91c1c}.xfr-page .b-toast{position:fixed;bottom:32px;left:50%;transform:translateX(-50%);background:var(--color-text-primary);color:var(--color-bg-card);padding:10px 18px;border-radius:var(--radius-md);font-size:var(--text-base);font-weight:400;z-index:1000;white-space:nowrap;animation:toastPop .2s ease-out;pointer-events:none}@keyframes scaleIn{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}@keyframes toastPop{0%{transform:translate(-50%,8px);opacity:0}to{transform:translate(-50%);opacity:1}}.node-h .create-page{max-width:960px;margin:0 auto;padding:28px 28px 120px;display:flex;flex-direction:column;gap:20px}.node-h .create-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px}.node-h .create-head-left{min-width:0}.node-h .create-h1{font-size:var(--text-2xl);font-weight:500;margin:0 0 4px;color:var(--color-text-primary);display:flex;align-items:center;gap:8px;white-space:nowrap}.node-h .create-head-left{flex:1}.node-h .create-h1-sub{margin:0}.node-h .back-btn,.node-h .create-h1-sub{font-size:var(--text-base);color:var(--color-text-secondary)}.node-h .back-btn{display:inline-flex;align-items:center;gap:6px;background:transparent;border:.5px solid var(--color-border-default);padding:6px 12px;border-radius:var(--radius-md);white-space:nowrap;flex-shrink:0}.node-h .back-btn:hover{color:var(--color-text-primary);background:var(--color-bg-card)}.node-h .h-banner{position:relative;display:flex;align-items:flex-start;gap:12px;padding:14px 16px 14px 18px;border-radius:var(--radius-lg);overflow:hidden}.node-h .h-banner:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px}.node-h .h-banner .bn-icon{font-size:var(--text-lg);line-height:1.5;flex-shrink:0}.node-h .h-banner .bn-body{min-width:0;flex:1}.node-h .h-banner .bn-title{font-size:var(--text-md);font-weight:500;color:var(--color-text-primary);margin:0 0 2px;line-height:1.4}.node-h .h-banner .bn-desc{font-size:var(--text-base);color:var(--color-text-secondary);margin:0;line-height:1.6}.node-h .h-banner .bn-desc .mono{font-family:var(--font-mono);color:var(--color-text-primary)}.node-h .h-banner .bn-pill{flex-shrink:0;align-self:center;display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:var(--radius-pill);font-size:var(--text-sm);font-weight:500;font-family:var(--font-mono)}.node-h .h-banner.tone-info{background:var(--color-bg-info)}.node-h .h-banner.tone-info:before{background:var(--color-brand)}.node-h .h-banner.tone-info .bn-pill{background:var(--color-bg-card);color:var(--color-text-info)}.node-h .h-banner.tone-success{background:var(--color-bg-success)}.node-h .h-banner.tone-success:before{background:var(--color-text-success)}.node-h .h-banner.tone-success .bn-title{color:var(--color-text-success)}.node-h .h-banner.tone-success .bn-pill{background:var(--color-bg-card);color:var(--color-text-success)}.node-h .h-banner.tone-warning{background:var(--color-bg-warning)}.node-h .h-banner.tone-warning:before{background:var(--color-text-warning)}.node-h .h-banner.tone-warning .bn-title{color:var(--color-text-warning)}.node-h .h-banner.tone-warning .bn-pill{background:var(--color-bg-card);color:var(--color-text-warning)}.node-h .h-banner.tone-danger{background:var(--color-bg-danger)}.node-h .h-banner.tone-danger:before{background:var(--color-text-danger)}.node-h .h-banner.tone-danger .bn-title{color:var(--color-text-danger)}.node-h .h-banner.tone-danger .bn-pill{background:var(--color-bg-card);color:var(--color-text-danger)}.node-h .h-banner.tone-brand{background:var(--color-brand-light)}.node-h .h-banner.tone-brand:before{background:var(--color-brand)}.node-h .h-banner.tone-brand .bn-title{color:var(--color-text-info)}.node-h .h-banner.tone-brand .bn-pill{background:var(--color-brand);color:var(--color-text-on-brand)}.node-h .section{display:flex;flex-direction:column;gap:12px}.node-h .section-head{display:flex;align-items:baseline;gap:10px}.node-h .section-num{font-family:var(--font-mono);font-size:var(--text-sm);font-weight:500;color:var(--color-text-on-brand);background:var(--color-brand);width:20px;height:20px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;align-self:center}.node-h .section-num.done{background:var(--color-text-success)}.node-h .section-num.muted{background:var(--color-text-muted)}.node-h .section-title{font-size:var(--text-lg);font-weight:500;color:var(--color-text-primary);margin:0}.node-h .section-hint{font-size:var(--text-sm);color:var(--color-text-muted);margin-left:auto}.node-h .dropzone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:40px 24px;background:var(--color-bg-card);border:1.5px dashed var(--color-border-medium);border-radius:var(--radius-lg);text-align:center;transition:border-color .15s,background .15s;cursor:pointer}.node-h .dropzone.is-dragging,.node-h .dropzone:hover{border-color:var(--color-brand);background:var(--color-brand-light)}.node-h .dropzone.is-dragging{border-style:solid}.node-h .dropzone .dz-icon{width:44px;height:44px;border-radius:50%;background:var(--color-brand-light);color:var(--color-text-info);display:grid;place-items:center;font-size:var(--text-xl)}.node-h .dropzone .dz-main{font-size:var(--text-md);color:var(--color-text-primary)}.node-h .dropzone .dz-main .dz-link{color:var(--color-text-info);font-weight:500;text-decoration:underline;text-underline-offset:2px}.node-h .dropzone .dz-sub{font-size:var(--text-sm);color:var(--color-text-muted)}.node-h .file-chip{display:flex;align-items:center;gap:12px;padding:14px 16px;background:var(--color-bg-card);border:.5px solid var(--color-border-default);border-radius:var(--radius-lg)}.node-h .file-chip .fc-icon{width:36px;height:36px;border-radius:var(--radius-md);background:var(--color-bg-danger);color:var(--color-text-danger);display:grid;place-items:center;font-size:var(--text-xs);font-weight:500;font-family:var(--font-mono);flex-shrink:0}.node-h .file-chip .fc-body{min-width:0;flex:1}.node-h .file-chip .fc-name{font-size:var(--text-md);color:var(--color-text-primary);font-family:var(--font-mono);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.node-h .file-chip .fc-meta{font-size:var(--text-sm);color:var(--color-text-muted);margin-top:1px}.node-h .file-chip .fc-meta .ok{color:var(--color-text-success)}.node-h .file-chip .fc-actions{display:flex;gap:8px;flex-shrink:0}.node-h .file-chip .fc-link{background:transparent;border:none;color:var(--color-text-info);font-size:var(--text-base);padding:4px 8px;border-radius:var(--radius-sm)}.node-h .file-chip .fc-link:hover{background:var(--color-brand-light)}.node-h .file-chip .fc-link.danger{color:var(--color-text-danger)}.node-h .file-chip .fc-link.danger:hover,.node-h .file-chip.is-error{background:var(--color-bg-danger)}.node-h .file-chip.is-error{border-color:var(--color-text-danger)}.node-h .file-chip.is-error .fc-icon{background:var(--color-text-danger);color:var(--color-text-on-brand)}.node-h .file-chip.is-error .fc-meta .err{color:var(--color-text-danger)}.node-h .parse-card{padding:16px 18px;background:var(--color-bg-card);border:.5px solid var(--color-border-default);border-radius:var(--radius-lg)}.node-h .parse-row{display:flex;align-items:center;gap:10px;margin-bottom:12px}.node-h .parse-row .pulse-dot{width:10px;height:10px;border-radius:50%;background:var(--color-brand);flex-shrink:0;animation:pulse-dot 2s ease-in-out infinite}.node-h .parse-row .pr-label{font-size:var(--text-md);color:var(--color-text-primary)}.node-h .parse-row .pr-pct{margin-left:auto;font-family:var(--font-mono);font-size:var(--text-md);font-weight:500;color:var(--color-text-info);font-variant-numeric:tabular-nums}.node-h .progress-track{height:4px;border-radius:2px;background:var(--color-border-default);overflow:hidden}.node-h .progress-fill{height:100%;border-radius:2px;background:var(--color-brand);transition:width .4s ease-out}.node-h .parse-steps{margin-top:14px;display:flex;flex-direction:column;gap:0}.node-h .parse-step{display:flex;align-items:center;gap:10px;padding:7px 0;font-size:var(--text-base)}.node-h .parse-step+.parse-step{border-top:.5px solid var(--color-border-default)}.node-h .parse-step .ps-ico{width:18px;height:18px;border-radius:50%;display:grid;place-items:center;font-size:var(--text-xs);flex-shrink:0}.node-h .parse-step.done .ps-ico{background:var(--color-bg-success);color:var(--color-text-success)}.node-h .parse-step.run .ps-ico{background:var(--color-bg-info);color:var(--color-text-info)}.node-h .parse-step.wait .ps-ico{background:var(--color-bg-secondary);color:var(--color-text-muted)}.node-h .parse-step.run .ps-ico .pulse-dot-sm{width:6px;height:6px;border-radius:50%;background:var(--color-brand);animation:pulse-dot 2s ease-in-out infinite}.node-h .parse-step .ps-label{color:var(--color-text-primary)}.node-h .parse-step .ps-time,.node-h .parse-step.wait .ps-label{color:var(--color-text-muted)}.node-h .parse-step .ps-time{margin-left:auto;font-family:var(--font-mono);font-size:var(--text-sm)}.node-h .fields-stack{display:flex;flex-direction:column;gap:16px}.node-h .field-card{background:var(--color-bg-card);border:.5px solid var(--color-border-default);border-radius:var(--radius-lg);padding:16px 18px}.node-h .field-card .fc-title{font-size:var(--text-md);font-weight:500;color:var(--color-text-primary);margin:0 0 10px;padding-bottom:10px;border-bottom:.5px solid var(--color-border-default);display:flex;align-items:center;gap:8px}.node-h .field-card .fc-title .fc-tag{font-size:var(--text-xs);font-weight:500;color:var(--color-text-info);background:var(--color-brand-light);padding:1px 8px;border-radius:var(--radius-pill);white-space:nowrap;flex-shrink:0}.node-h .field-card .fc-title .fc-count{margin-left:auto;font-size:var(--text-sm);font-weight:400;color:var(--color-text-muted);display:inline-flex;align-items:center;gap:8px}.node-h .field-card .fc-title .fc-count .miss{color:var(--color-text-warning)}.node-h .field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px}.node-h .field-grid.one-col{grid-template-columns:1fr}.node-h .fld{display:grid;grid-template-columns:92px 1fr;gap:12px;padding:9px 0;align-items:start;border-top:.5px solid var(--color-border-default)}.node-h .field-grid>.fld:first-child,.node-h .field-grid>.fld:nth-child(2){border-top:none}.node-h .field-grid.one-col>.fld:nth-child(2){border-top:.5px solid var(--color-border-default)}.node-h .fld.span-2{grid-column:1/-1}.node-h .fld .fl-label{font-size:var(--text-base);color:var(--color-text-secondary);line-height:1.5;padding-top:1px}.node-h .fld .fl-label .req{color:var(--color-text-danger);margin-left:1px}.node-h .fld .fl-main{min-width:0}.node-h .fld .fl-value{font-size:var(--text-md);color:var(--color-text-primary);line-height:1.5;white-space:pre-wrap;word-break:normal;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.node-h .fld .fl-value.mono>span:first-child{white-space:nowrap}.node-h .fld .fl-value.mono{font-family:var(--font-mono)}.node-h .fld-badge{display:inline-flex;align-items:center;gap:3px;padding:1px 7px;border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:500;white-space:nowrap;flex-shrink:0}.node-h .fld-badge.ok{background:var(--color-bg-success);color:var(--color-text-success)}.node-h .fld-badge.ai{background:var(--color-brand-light);color:var(--color-text-info)}.node-h .fld-badge.miss{background:var(--color-bg-warning);color:var(--color-text-warning)}.node-h .fld-badge.error{background:var(--color-bg-danger);color:var(--color-text-danger)}.node-h .fld.is-miss{background:var(--color-bg-warning)}.node-h .fld.is-error,.node-h .fld.is-miss{border-radius:var(--radius-md);padding-left:8px;padding-right:8px;margin:0 -8px;border-top-color:transparent}.node-h .fld.is-error{background:var(--color-bg-danger)}[data-theme=dark] .node-h .fld.is-miss{background:var(--color-bg-warning)}.node-h .fld-input{width:100%;padding:6px 10px;font-size:var(--text-md);background:var(--color-bg-card);color:var(--color-text-primary);border:.5px solid var(--color-border-warning);border-radius:var(--radius-md);outline:none}.node-h .fld-input:focus-visible{border-color:var(--ring);box-shadow:0 0 0 3px color-mix(in srgb,var(--ring) 50%,transparent)}.node-h .fld-input::placeholder{color:var(--color-text-muted)}.node-h .fld.is-error .fld-input{border-color:var(--color-border-danger)}.node-h .fld-input.mono{font-family:var(--font-mono)}.node-h .fld-hint{font-size:var(--text-xs);color:var(--color-text-muted);margin-top:4px;line-height:1.5}.node-h .fld-hint.warn{color:var(--color-text-warning)}.node-h .fld-hint .lk{color:var(--color-text-info);background:none;border:none;padding:0;font-size:var(--text-xs);text-decoration:underline;cursor:pointer}.node-h .fl-empty{color:var(--color-text-muted)}.node-h .charge-section{margin-top:6px}.node-h .charge-section+.charge-section{margin-top:16px}.node-h .charge-section-title{font-size:var(--text-sm);font-weight:500;color:var(--color-text-secondary);letter-spacing:.02em;margin-bottom:6px;padding-bottom:6px;border-bottom:.5px solid var(--color-border-default);display:flex;align-items:center;gap:8px}.node-h .charge-section-title .total{margin-left:auto;font-family:var(--font-mono);color:var(--color-text-primary);font-weight:400}.node-h .charge-table{background:var(--color-bg-card);border:.5px solid var(--color-border-default);border-radius:var(--radius-md);overflow:hidden;width:100%}.node-h .charge-thead,.node-h .charge-trow{display:grid;grid-template-columns:minmax(150px,2fr) minmax(86px,1.3fr) 48px 74px 66px minmax(96px,1fr);align-items:center}.node-h .charge-thead{padding:8px 0;background:var(--color-bg-secondary);border-bottom:.5px solid var(--color-border-default);font-size:var(--text-xs);color:var(--color-text-muted);letter-spacing:.03em}.node-h .charge-thead .col{padding:0 10px}.node-h .charge-trow{padding:9px 0;border-bottom:.5px solid var(--color-border-default);font-size:var(--text-base);font-variant-numeric:tabular-nums}.node-h .charge-trow:last-child{border-bottom:none}.node-h .charge-trow .col{padding:0 10px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.node-h .charge-trow .col.amt,.node-h .charge-trow .col.num{font-family:var(--font-mono);font-size:var(--text-sm)}.node-h .charge-trow .col.amt{color:var(--color-text-primary);font-weight:500}.node-h .charge-trow .col.supplier-tag .sup{font-family:var(--font-mono);color:var(--color-text-info);font-size:var(--text-sm)}.node-h .email-card{background:var(--color-bg-card);border:.5px solid var(--color-border-default);border-radius:var(--radius-lg);padding:16px 18px}.node-h .email-card .ec-title{font-size:var(--text-md);font-weight:500;color:var(--color-text-primary);margin:0 0 10px;padding-bottom:10px;border-bottom:.5px solid var(--color-border-default);display:flex;align-items:center;gap:8px}.node-h .email-card .ec-title .ec-from{margin-left:auto;font-size:var(--text-sm);font-weight:400;color:var(--color-text-muted)}.node-h .email-card .ec-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px}.node-h .email-card .ec-hts{margin-top:12px;display:flex;align-items:center;gap:8px;padding:10px 12px;background:var(--color-bg-info);border-radius:var(--radius-md);font-size:var(--text-base)}.node-h .email-card .ec-hts .lbl{color:var(--color-text-secondary)}.node-h .email-card .ec-hts .val{font-family:var(--font-mono);color:var(--color-text-info);font-weight:500}.node-h .email-card .ec-hts .note{margin-left:auto;color:var(--color-text-muted);font-size:var(--text-xs)}.node-h .confirm-bar{position:sticky;bottom:0;margin:8px -28px -120px;padding:16px 28px;background:var(--color-bg-card);border-top:.5px solid var(--color-border-default);display:flex;align-items:center;gap:16px;z-index:20}.node-h .confirm-bar .cf-info{min-width:0;flex:1}.node-h .confirm-bar .cf-main{font-size:var(--text-md);color:var(--color-text-primary)}.node-h .confirm-bar .cf-sub{font-size:var(--text-sm);color:var(--color-text-muted);margin-top:1px}.node-h .confirm-bar .cf-sub .warn{color:var(--color-text-warning)}.node-h .confirm-bar .cf-actions{display:flex;align-items:center;gap:10px;flex-shrink:0}.node-h .btn{padding:9px 18px;border-radius:var(--radius-md);font-size:var(--text-md);font-weight:500;font-family:inherit;border:.5px solid transparent;white-space:nowrap}.node-h .btn-primary{background:var(--color-brand);color:var(--color-text-on-brand);border-color:var(--color-brand)}.node-h .btn-primary:hover{background:var(--color-brand-hover);border-color:var(--color-brand-hover)}.node-h .btn-primary.is-disabled,.node-h .btn-primary:disabled{background:var(--color-bg-secondary);color:var(--color-text-muted);border-color:var(--color-border-default);cursor:not-allowed}.node-h .btn-secondary{background:var(--color-bg-card);color:var(--color-text-primary);border-color:var(--color-border-default)}.node-h .btn-secondary:hover{border-color:var(--color-border-medium)}.node-h .btn-done{background:var(--color-bg-success);color:var(--color-text-success);border-color:transparent;cursor:default}.node-h .btn-ghost-link:focus-visible,.node-h .btn-primary:focus-visible,.node-h .btn-secondary:focus-visible,.node-h .btn:focus-visible,.node-h .cb-btn:focus-visible{outline:none;border-color:var(--ring);box-shadow:0 0 0 3px color-mix(in srgb,var(--ring) 50%,transparent)}.node-h .next-card{background:var(--color-bg-card);border:.5px solid var(--color-border-default);border-radius:var(--radius-lg);padding:16px 18px}.node-h .next-card .nc-title{font-size:var(--text-md);font-weight:500;color:var(--color-text-primary);margin:0 0 10px}.node-h .next-steps{display:flex;flex-direction:column;gap:0}.node-h .next-step{display:flex;align-items:flex-start;gap:10px;padding:9px 0;font-size:var(--text-base)}.node-h .next-step+.next-step{border-top:.5px solid var(--color-border-default)}.node-h .next-step .ns-ico{width:20px;height:20px;border-radius:50%;display:grid;place-items:center;font-size:var(--text-xs);flex-shrink:0;margin-top:1px}.node-h .next-step.done .ns-ico{background:var(--color-bg-success);color:var(--color-text-success)}.node-h .next-step.wait .ns-ico{background:var(--color-bg-warning);color:var(--color-text-warning)}.node-h .next-step.idle .ns-ico{background:var(--color-bg-secondary);color:var(--color-text-muted)}.node-h .next-step .ns-body{min-width:0}.node-h .next-step .ns-main{color:var(--color-text-primary)}.node-h .next-step .ns-sub,.node-h .next-step.idle .ns-main{color:var(--color-text-muted)}.node-h .next-step .ns-sub{font-size:var(--text-sm);margin-top:1px}.node-h .next-step .ns-sub .mono{font-family:var(--font-mono)}.node-h .next-step .ns-time{font-size:var(--text-xs);color:var(--color-text-info);font-weight:500;margin-top:2px}.node-h .cargo-type-pill{display:inline-flex;align-items:center;gap:6px;padding:5px 14px;border-radius:var(--radius-pill);font-size:var(--text-sm);font-weight:500;margin:-4px 0 8px}.node-h .cargo-type-pill.tone-general{background:var(--color-bg-secondary);color:var(--color-text-secondary)}.node-h .cargo-type-pill.tone-danger{background:var(--color-bg-danger);color:var(--color-text-danger)}.node-h .cargo-type-pill.tone-info{background:var(--color-bg-info);color:var(--color-text-info)}.node-h .cargo-type-pill.tone-warning{background:var(--color-bg-warning);color:var(--color-text-warning)}.node-h .confirm-mask{position:fixed;inset:0;background:rgba(0,0,0,.32);display:grid;place-items:center;z-index:999}[data-theme=dark] .node-h .confirm-mask{background:rgba(0,0,0,.5)}.node-h .confirm-box{width:440px;background:var(--color-bg-card);border-radius:var(--radius-xl);padding:22px 24px 18px;animation:box-pop .15s ease-out}@keyframes box-pop{0%{transform:scale(.97);opacity:0}to{transform:scale(1);opacity:1}}.node-h .confirm-box .cb-title{font-size:var(--text-lg);font-weight:500;color:var(--color-text-primary);margin:0 0 8px}.node-h .confirm-box .cb-body{font-size:var(--text-base);color:var(--color-text-secondary);line-height:1.7;margin-bottom:18px}.node-h .confirm-box .cb-body .mono{font-family:var(--font-mono);color:var(--color-text-primary)}.node-h .confirm-box .cb-actions{display:flex;gap:10px;justify-content:flex-end}.node-h .cb-btn{padding:8px 16px;border-radius:var(--radius-md);font-size:var(--text-base);font-weight:500;font-family:inherit;border:.5px solid transparent}.node-h .cb-btn.secondary{background:var(--color-bg-card);color:var(--color-text-primary);border-color:var(--color-border-default)}.node-h .cb-btn.secondary:hover{border-color:var(--color-border-medium)}.node-h .cb-btn.primary{background:var(--color-brand);color:var(--color-text-on-brand);border-color:var(--color-brand)}.node-h .cb-btn.primary:hover{background:var(--color-brand-hover)}.node-h .dup-options{display:flex;flex-direction:column;gap:8px;margin-bottom:18px}.node-h .dup-option{display:flex;align-items:flex-start;gap:10px;padding:12px;background:var(--color-bg-secondary);border:.5px solid transparent;border-radius:var(--radius-md);text-align:left;font-family:inherit}.node-h .dup-option:hover{border-color:var(--color-brand);background:var(--color-brand-light)}.node-h .dup-option .do-ico{font-size:var(--text-md);flex-shrink:0}.node-h .dup-option .do-main{font-size:var(--text-base);font-weight:500;color:var(--color-text-primary)}.node-h .dup-option .do-sub{font-size:var(--text-sm);color:var(--color-text-secondary);margin-top:1px}.node-h .er-table{display:grid;grid-template-columns:120px minmax(0,1fr) minmax(0,1fr) minmax(140px,auto);gap:0;border:.5px solid var(--color-border-default);border-radius:var(--radius-md);overflow:hidden}.node-h .er-thead{display:contents}.node-h .er-thead>span{padding:8px 12px;font-size:var(--text-xs);color:var(--color-text-muted);background:var(--color-bg-secondary);letter-spacing:.03em;text-transform:uppercase;border-bottom:.5px solid var(--color-border-default)}.node-h .er-row{display:contents}.node-h .er-row>span{padding:10px 12px;font-size:var(--text-base);color:var(--color-text-primary);border-bottom:.5px solid var(--color-border-default);display:flex;flex-direction:column;gap:4px;justify-content:center}.node-h .er-row:last-child>span{border-bottom:none}.node-h .er-row.mismatch>span{background:var(--color-bg-warning)}.node-h .er-row.critical>span{background:var(--color-bg-danger)}.node-h .er-row.info>span{background:var(--color-bg-secondary)}.node-h .er-col-field{font-weight:500}.node-h .er-critical-tag{font-size:var(--text-xs);color:var(--color-text-danger);font-weight:600}.node-h .er-low-conf-tag{font-size:var(--text-xs);color:var(--color-text-warning);font-weight:600}.node-h .er-empty{color:var(--color-text-muted);font-style:italic}.node-h .er-col-action{display:flex;flex-direction:column;gap:6px}.node-h .er-radio{display:flex;align-items:center;gap:6px;font-size:var(--text-sm);color:var(--color-text-secondary);cursor:pointer}.node-h .er-radio input[type=radio]{accent-color:var(--color-brand);cursor:pointer}.node-h .er-radio:has(input:checked){color:var(--color-text-primary);font-weight:500}.node-h .er-actions{display:flex;gap:10px;align-items:center;padding-top:16px}.node-h .er-actions .btn:last-child{margin-left:auto}.node-h .cg-fields{display:flex;flex-direction:column;gap:0}.node-h .cg-fields.locked{opacity:.75;pointer-events:none}.node-h .cg-select{width:100%;max-width:280px;padding:8px 12px;font-size:var(--text-base);font-family:inherit;color:var(--color-text-primary);background:var(--color-bg-card);border:1px solid var(--color-border-medium);border-radius:var(--radius-sm);outline:none;cursor:pointer}.node-h .cg-select:focus-visible{border-color:var(--ring);box-shadow:0 0 0 3px color-mix(in srgb,var(--ring) 50%,transparent)}.node-h .cg-error{margin-top:12px;padding:10px 14px;font-size:var(--text-sm);color:var(--color-text-danger);background:var(--color-bg-danger);border:1px solid var(--color-border-danger);border-radius:var(--radius-sm)}.node-h .fld-select{width:100%;max-width:200px;padding:6px 10px;font-size:var(--text-base);font-family:inherit;color:var(--color-text-primary);background:var(--color-bg-card);border:1px solid var(--color-border-medium);border-radius:var(--radius-sm);outline:none;cursor:pointer}.node-h .fld-select:focus{border-color:var(--color-brand);box-shadow:0 0 0 2px var(--color-brand-light)}.node-h .parse-error-bar{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;background:var(--color-bg-danger);border:.5px solid var(--color-text-danger);border-radius:var(--radius-lg);margin-top:12px}.node-h .parse-error-bar .pe-info{font-size:var(--text-base);color:var(--color-text-danger);display:flex;align-items:center;gap:8px}.node-h .parse-error-bar .pe-actions{display:flex;gap:8px}@media (max-width:1024px){.node-h .create-page{max-width:100%}.node-h .email-card .ec-grid,.node-h .er-table,.node-h .field-grid{grid-template-columns:1fr}}