.logistics-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:18px 0 24px}.logistics-stats>div{padding:20px 24px;background:var(--surface,#fff);border:1px solid var(--border,#e2e8f0);border-radius:10px}.logistics-stats span{color:#4A5B75;display:block;font-size:13px}.logistics-stats strong{font-size:30px;line-height:1.7;color:#163660;font-variant-numeric:tabular-nums}.logistics-filters{display:flex;gap:10px;flex-wrap:wrap;padding:20px;border-bottom:1px solid #e2e8f0}.logistics-filters input,.logistics-filters select{padding:9px 11px;border:1px solid #C7D1DF;border-radius:6px;min-width:130px;background:#fff;font:inherit;font-size:13px}.logistics-filters input[name=q]{min-width:240px;flex:1}.logistics-table{min-width:950px}.logistics-table td{vertical-align:top;padding-top:18px;padding-bottom:18px}.logistics-package{display:flex;flex-direction:column;gap:4px;margin-bottom:10px;max-width:270px;overflow-wrap:anywhere}.logistics-package code{background:#f1f5f9;padding:3px 7px;width:fit-content;border-radius:4px}.logistics-error{color:#b45309;font-size:12px;max-width:280px;overflow-wrap:anywhere;margin-top:6px}.logistics-sync{padding:14px 20px;margin:16px 0}.logistics-sync summary{cursor:pointer;font-weight:600}.logistics-sync-line{display:flex;gap:12px;flex-wrap:wrap;padding:12px 0;border-bottom:1px solid #EDF1F6;font-size:13px}.logistics-page .notice{margin:16px 0;line-height:1.8}.logistics-page .pagination{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding:16px 20px}.logistics-page .pagination-size{display:inline-flex;align-items:center;gap:5px;color:#4A5B75;font-size:12px}.logistics-page .pagination-size select{height:32px;border:1px solid #C7D1DF;border-radius:6px;background:#fff;padding:0 8px;color:inherit;font:inherit}.logistics-page .page-head p{color:#4A5B75;margin-top:8px}@media(max-width:700px){.logistics-stats{grid-template-columns:repeat(2,1fr);gap:10px}.logistics-stats>div{padding:14px}.logistics-filters{padding:12px}.logistics-page .page-head{align-items:flex-start;gap:14px;flex-direction:column}.logistics-page .pagination{align-items:flex-start;flex-direction:column}}

.finance-subnav{padding:0 0 12px 34px}.finance-subnav a{font-size:12px!important;padding:8px 12px!important}.finance-subnav a.selected{background:#e9efff;color:#2456E6}.finance-nav-arrow{margin-left:auto}.finance-tabs{display:flex;gap:24px;border-bottom:1px solid #C7D1DF;margin-bottom:20px}.finance-tabs a{padding:12px 3px;color:#4A5B75}.finance-tabs a.selected{border-bottom:2px solid #2456E6;color:#2456E6;font-weight:600}

.logistics-sync-section{position:relative;margin:16px 0}
.logistics-sync-section .logistics-sync{margin:0}
.logistics-sync-section summary{min-height:36px;padding-right:140px;align-content:center}
.logistics-sync-copy{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px;flex:1;min-width:0;overflow-wrap:anywhere}
.logistics-sync-line{align-items:center;flex-wrap:nowrap}
.logistics-clear-one{width:36px;height:36px;padding:8px!important;flex:0 0 36px;align-self:center}
.logistics-clear-all{position:absolute;top:14px;right:20px;min-height:36px;display:inline-flex;align-items:center;gap:6px}
.logistics-clear-one img,.logistics-clear-all img{display:block;flex:0 0 16px}
.logistics-clear-one:hover,.logistics-clear-all:not(:disabled):hover{background:#fff1f2;border-color:#fda4af}
.logistics-clear-all:disabled{cursor:not-allowed;opacity:.5}
@media(max-width:700px){
 .logistics-sync-section .logistics-sync{padding:12px}
 .logistics-sync-section summary{padding-right:125px;font-size:13px}
 .logistics-clear-all{right:12px;top:12px;padding:6px 10px!important;font-size:12px}
 .logistics-sync-copy>strong{flex-basis:100%}
 .logistics-sync-copy .muted{flex-basis:100%;font-size:12px}
}
.logistics-detail-dialog{width:680px;max-width:calc(100vw - 24px)}
.logistics-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 24px;margin:0 0 24px}
.logistics-detail-grid>div{min-width:0}
.logistics-detail-grid dt{color:#4A5B75;font-size:12px;margin-bottom:5px}
.logistics-detail-grid dd{margin:0;overflow-wrap:anywhere;white-space:normal;font-size:14px;line-height:1.6}
.logistics-detail-packages>dl{padding-top:16px;border-top:1px solid #e2e8f0}
.logistics-detail-dialog h3{font-size:15px;margin:8px 0 16px}
.logistics-detail-dialog .notice{overflow-wrap:anywhere}
@media(max-width:540px){.logistics-detail-grid{grid-template-columns:minmax(0,1fr);gap:12px}.logistics-detail-dialog .panel-body{padding:16px}}
.logistics-batch-dialog{width:min(920px,calc(100vw - 32px))}.logistics-batch-dialog .panel-body{max-height:min(72vh,720px);overflow:auto}.logistics-batch-template-actions{display:flex;justify-content:flex-end;margin:8px 0 12px}.logistics-batch-list{display:grid;gap:8px;margin-top:14px}.logistics-batch-row{display:grid;grid-template-columns:minmax(150px,1.1fr) minmax(190px,1.4fr) minmax(130px,1fr) auto;gap:12px;align-items:center;padding:12px;border:1px solid #C7D1DF;border-radius:8px;background:#fff}.logistics-batch-row.is-invalid{background:#fff7ed;border-color:#fed7aa}.logistics-batch-row code{overflow-wrap:anywhere}.logistics-batch-row>div{min-width:0;overflow-wrap:anywhere}.logistics-batch-row .muted{display:block;font-size:12px}.logistics-batch-status.error{color:#b45309}@media(max-width:800px){.logistics-batch-row{grid-template-columns:1fr 1fr}.logistics-batch-row>div:last-child{grid-column:1/-1}}@media(max-width:560px){.logistics-batch-row{grid-template-columns:1fr}}
.logistics-note{display:flex;flex-direction:column;gap:3px;max-width:250px;margin-top:8px;padding:7px 10px;border-left:3px solid #f59e0b;border-radius:6px;background:#fffbeb}
.logistics-note-label{color:#b45309;font-size:11px;font-weight:600;letter-spacing:.02em}
.logistics-note-text{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;color:#3f2c0a;font-size:12px;line-height:1.6;overflow-wrap:anywhere}
.logistics-note-meta{color:#8a6a2a;font-size:11px}
.logistics-note-edit{align-self:flex-start;margin-top:2px;padding:0;border:0;background:none;color:#2456E6;font:inherit;font-size:12px;cursor:pointer}
.logistics-note-edit:hover{text-decoration:underline}
.logistics-note-add{display:flex;width:fit-content;margin-top:8px;padding:3px 8px;border:1px dashed #C7D1DF;border-radius:6px;background:#fff;color:#4A5B75;font:inherit;font-size:12px;cursor:pointer}
.logistics-note-add:hover{border-color:#2456E6;color:#2456E6}
.logistics-detail-note-actions{display:flex;justify-content:flex-end;margin:-6px 0 16px}
.logistics-note-dialog{width:min(560px,calc(100vw - 32px))}
.logistics-note-dialog textarea{min-height:120px;resize:vertical;line-height:1.6}
.logistics-board{margin:0 0 22px;padding:20px 22px 22px}
.board-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}
.board-head h2{font-size:17px;margin:0 0 6px;color:#163660}
.board-head p{margin:0;max-width:640px;font-size:12.5px;line-height:1.7;color:#4A5B75}
.board-actions{display:flex;align-items:center;gap:8px;flex:0 0 auto}
.board-actions .btn{min-height:34px;padding:6px 14px}
.board-grid{display:grid;grid-template-columns:minmax(300px,0.85fr) minmax(0,1.5fr);gap:18px;margin-top:18px}
.board-card{padding:16px 18px 18px;border:1px solid #E4E9F0;border-radius:10px;background:#FCFDFF}
.board-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:14px}
.board-card-head h3{margin:0;font-size:14.5px;color:#163660}
.board-card-head .muted{font-size:12px;color:#4A5B75}
.board-range{display:flex;gap:6px}
.board-range-btn{min-height:28px;padding:4px 10px!important;border:1px solid #C7D1DF;border-radius:6px;background:#fff;color:#4A5B75;font-size:12px}
.board-range-btn:hover{border-color:#2456E6;color:#2456E6}
.board-range-btn.selected{border-color:#2456E6;background:#E9EFFF;color:#2456E6;font-weight:600}
.board-donut{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.board-donut-chart{flex:0 0 190px;width:190px}
.board-donut-chart svg{display:block;width:100%;height:auto}
.board-donut-total{fill:#163660;font-size:26px;font-weight:700}
.board-donut-label{fill:#4A5B75;font-size:11px}
.board-legend{flex:1 1 200px;min-width:190px;margin:0;padding:0;list-style:none;display:grid;gap:7px}
.board-legend li{margin:0;padding:0;display:block}
.board-legend-row{display:grid;grid-template-columns:10px minmax(0,1fr) auto auto;align-items:center;gap:8px;width:100%;margin:0 -5px;padding:3px 5px;border:0;border-radius:6px;background:none;color:#3C4C63;font:inherit;font-size:12.5px;line-height:1.5;text-align:left;cursor:pointer}
.board-legend-row:not(:disabled):hover{background:#EEF3FB;color:#163660}
.board-legend-row:not(:disabled):focus-visible{outline:2px solid #2456E6;outline-offset:1px}
.board-legend-row:disabled{cursor:default;opacity:.62}
.board-donut-chart circle[data-board-bucket]{cursor:pointer}
.board-donut-chart circle[data-board-bucket]:hover{filter:brightness(1.12)}
.board-hit{fill:transparent;stroke:none;cursor:pointer}
.board-legend i{width:10px;height:10px;border-radius:3px;display:block}
.board-legend-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.board-legend strong{font-variant-numeric:tabular-nums;color:#163660}
.board-legend small{color:#8A97A8;font-variant-numeric:tabular-nums;min-width:42px;text-align:right}
.board-line{display:block;width:100%;height:auto}
.board-grid-line{stroke:#EDF1F6;stroke-width:1}
.board-axis-text{fill:#8A97A8;font-size:11px}
.board-area{fill:rgba(154,165,177,.16);stroke:none}
.board-line-path{fill:none;stroke:#9AA5B1;stroke-width:2;stroke-linejoin:round;stroke-linecap:round}
.board-dot{fill:#9AA5B1}
.board-note{margin:12px 0 0;font-size:12px;line-height:1.7}
@media(max-width:1080px){.board-grid{grid-template-columns:minmax(0,1fr)}}
@media(max-width:700px){
 .logistics-board{padding:14px}
 .board-head{align-items:stretch;flex-direction:column}
 .board-card{padding:13px 14px 15px}
 .board-donut-chart{flex:0 0 150px;width:150px;margin:0 auto}
 .board-legend{flex-basis:100%}
}
.board-empty-text{fill:#9AA5B1;font-size:13px}
@media(max-width:700px){
 /* 折线图在窄屏下由 boardLine() 改用 380x210 的小坐标系，这里只做溢出保护。 */
 .board-card [data-board-chart]{overflow:hidden}
 .board-card-head{align-items:flex-start;gap:10px}
 .board-axis-text{font-size:10px}
}
.board-legend-row.selected{background:#E9EFFF;color:#163660;box-shadow:inset 0 0 0 1px #B9CBFF}
.board-legend-row.selected:not(:disabled):hover{background:#DCE6FF}
.logistics-board-filter{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:16px 0 0;padding:11px 16px;border:1px solid #BFCCE6;border-radius:10px;background:#EEF3FB;color:#163660;font-size:13px;line-height:1.7}
.logistics-board-filter strong{font-variant-numeric:tabular-nums}
.logistics-board-filter .btn{min-height:30px;margin-left:auto;padding:5px 12px;flex:0 0 auto}
@media(max-width:700px){
 .logistics-board-filter{padding:11px 13px;font-size:12.5px}
 .logistics-board-filter .btn{margin-left:0}
}
