/* Sales overview: heading and period controls, followed by one compact filter row. */
.sales-overview-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:22px;flex-wrap:wrap}
.sales-overview-heading h2{margin:0;font-size:20px;line-height:32px;white-space:nowrap}
.sales-overview-heading .date-bar{margin:0 0 0 auto;padding:0;border:0;background:transparent;gap:12px;justify-content:flex-end;max-width:100%}
.sales-overview-heading #dateCurrent{font-size:12px;white-space:nowrap}
.sales-overview-heading .date-shortcuts{padding:3px;background:#f5f6f8;border-radius:6px;gap:2px}
.sales-overview-heading .date-shortcuts button{font-size:13px;line-height:24px;padding:1px 9px;border-radius:4px;white-space:nowrap}
.sales-overview-heading .date-shortcuts button[aria-pressed=true]{color:#315eff;box-shadow:0 1px 5px #182b4914}
.sales-overview-heading #datePanel{left:auto;right:0;top:calc(100% + 10px);max-width:calc(100vw - 48px)}
.sales-filters{align-items:center;gap:14px 8px;margin-bottom:18px}
.sales-filters label{display:flex;align-items:center;gap:6px;font-size:13px;white-space:nowrap}
.sales-filters select{height:34px;min-height:34px;padding:5px 28px 5px 10px;border-radius:5px;font-size:13px;max-width:210px}
.sales-filters select{min-width:0;width:110px}
.sales-filters #shopFilter{width:165px}
.sales-filters #shopStatus{width:205px}
.sales-filters #brand,.sales-filters #platform{width:110px}
.sales-filter-actions{display:flex;gap:10px;align-items:center}
.import-actions{display:flex;align-items:center;gap:10px;flex-wrap:nowrap;margin-top:14px}.import-actions #file{width:185px;min-width:0}.import-actions #confirm{margin:0;font-size:12px;padding:7px 10px}.import-actions #preview{margin:0;font-size:12px;padding:7px 10px}
.sales-filter-actions button{font-size:13px;line-height:20px;padding:6px 15px;border-radius:5px;white-space:nowrap}
.sales-trend{display:block;width:128px;height:32px;overflow:visible}
.sales-trend path{fill:none;stroke:#315eff;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.sales-trend circle{fill:#315eff}
.sales-table th:nth-child(6),.sales-table td:nth-child(6){min-width:140px}
.sales-filters select:focus-visible,.sales-overview-heading button:focus-visible,.sales-filter-actions button:focus-visible{outline:2px solid #315eff;outline-offset:2px}
@media(max-width:1100px){.sales-overview-heading{gap:12px}.sales-overview-heading .date-bar{gap:8px}.sales-filters{gap:12px}}
@media(max-width:700px){.sales-overview-heading .date-bar{width:100%;justify-content:flex-start;margin-left:0}.sales-overview-heading #dateCurrent{width:100%}.sales-overview-heading .date-shortcuts{flex-wrap:wrap}.sales-filters label{width:100%;justify-content:space-between}.sales-filters select,.sales-filters #shopFilter,.sales-filters #shopStatus,.sales-filters #brand,.sales-filters #platform{width:70%;max-width:none}.sales-filter-actions{width:100%;flex-wrap:wrap}.sales-overview-heading #datePanel{right:0;left:auto}}
@media(max-width:700px){.import-actions{flex-wrap:wrap}.import-actions #file{width:100%}}
.target-dialog{width:min(1080px,96vw);max-height:90vh;overflow:auto;border:0;border-radius:12px;padding:24px 32px;color:var(--wb-ink)}.target-dialog::backdrop{background:#0008}.target-close,.target-controls,.target-footer{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.target-close{justify-content:space-between;margin-bottom:20px}.target-close h2{margin:0}.target-close button{border:0;font-size:24px;color:#888}.target-controls label{display:flex;align-items:center;gap:8px}.target-controls input{width:140px}.target-controls select{max-width:220px}.target-dialog table{width:100%;border-collapse:collapse}.target-dialog th{background:#f7f7f8}.target-dialog th,.target-dialog td{padding:9px 12px;border-bottom:1px solid #eee;text-align:right;white-space:nowrap}.target-dialog th:first-child,.target-dialog td:first-child{text-align:left}.target-dialog td input{width:140px;min-height:30px;padding:4px 9px;border-radius:4px}.target-footer{justify-content:flex-end;margin-top:20px}#targetError{color:#a73939}#targetTotals{color:var(--wb-muted)}

.sales-view-toggle{display:flex;align-items:center;gap:6px;margin:14px 0}.sales-view-toggle[hidden]{display:none}.sales-view-toggle span{margin-right:6px;color:var(--wb-muted);font-size:13px}.sales-view-toggle button{border:0;background:#f3f5f8;border-radius:7px;padding:7px 12px;color:var(--wb-ink)}.sales-view-toggle button[aria-pressed=true]{background:#fff;color:var(--wb-blue);box-shadow:0 2px 8px #182b4920}.yearly-month-table{min-width:1230px;table-layout:fixed}.yearly-month-table th,.yearly-month-table td{padding-left:8px;padding-right:8px}.yearly-month-table thead tr:first-child th:first-child{width:190px}.yearly-month-table th,.yearly-month-table td{text-align:right}.yearly-month-table th:first-child,.yearly-month-table td:first-child{text-align:left}.yearly-month-table td:first-child{font-weight:600}.yearly-month-table .yearly-total{font-weight:700;background:#f3f6fb}.yearly-month-table thead th{vertical-align:middle;line-height:1.35}.yearly-month-table .yearly-group{text-align:center;font-weight:600;color:var(--wb-muted);border-bottom:1px solid #dfe6ef}.yearly-month-table thead tr:last-child th{border-bottom:1px solid #e3e9f2}.yearly-month-table tbody tr:hover td{background:#f8fafd}.yearly-month-table tbody tr:hover .yearly-total{background:#eaf0f9}

/* 店铺档案表：固定列宽，店铺名称单独加宽；除日期列（需容纳原生日期控件）外各列等宽 */
#shopList table{width:100%;min-width:1208px;table-layout:fixed}
#shopList th,#shopList td{padding-left:6px;padding-right:6px;font-size:12px}
#shopList th:nth-child(1){width:200px}
#shopList th:nth-child(2){width:84px}
#shopList th:nth-child(3){width:84px}
#shopList th:nth-child(4){width:84px}
#shopList th:nth-child(5){width:84px}
#shopList th:nth-child(6){width:84px}
#shopList th:nth-child(7){width:108px}
#shopList th:nth-child(8){width:108px}
#shopList th:nth-child(9){width:84px}
#shopList th:nth-child(10){width:84px}
#shopList th:nth-child(11){width:84px}
#shopList th:nth-child(12){width:120px}
#shopList td{overflow:hidden;text-overflow:ellipsis}
#shopList td input,#shopList td select,#shopList td input[type=date]{width:100%;min-width:0;box-sizing:border-box}
#shopList input[type=date]::-webkit-calendar-picker-indicator{margin-left:0;padding:0}

/* 目标设置：年度目标 = 12 个月度目标合计，改为派生只读值 */
.target-controls .target-annual input[readonly]{background:#f2f6fb;border:1px solid #dbe4f0;color:#1f3a5f;font-weight:650;cursor:default}
#annualGrowth[readonly]{background:#f2f6fb;color:#5a6f8c;cursor:default}
.target-hint{font-size:12px;color:#3f6fb5;background:#eaf1ff;border:1px solid #d5e3ff;border-radius:99px;padding:3px 10px;white-space:nowrap}
#targetTotals{line-height:1.9;font-size:13px}
#targetTotals:empty{display:none}
.target-dialog .sales-table td input[data-month]{text-align:right}
.target-hint.warn{background:#fff5e8;border-color:#ffe1bd;color:#a4621a}

/* 目标管理：改为与「销售概况 · 年累计 · 月度明细」同款的店铺 × 月份矩阵 */
.target-toolbar{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:18px 0 12px}
.target-toolbar label{display:flex;align-items:center;gap:7px;font-size:13px;white-space:nowrap}
.target-toolbar select{height:32px;min-height:32px;padding:4px 26px 4px 10px;border-radius:6px;font-size:13px}
.target-summary{font-size:13px;color:var(--wb-muted)}
.target-note{margin:12px 0 0;font-size:12px;line-height:1.8;color:var(--wb-muted)}
.target-matrix-wrap th,.target-matrix-wrap td{min-width:0}
.target-shop{font-weight:600}
.target-badge{display:inline-block;margin-left:7px;padding:1px 7px;border-radius:99px;font-size:11px;font-weight:500;line-height:17px;vertical-align:1px;white-space:nowrap}
.target-badge.warn{background:#fff5e8;border:1px solid #ffe1bd;color:#a4621a}
.target-badge.empty{background:#f2f5f9;border:1px solid #e2e8f1;color:#8c9bb0}
.target-badge.closed{background:#f3f4f6;border:1px solid #e4e7ec;color:#98a2b3}
.yearly-num,.target-matrix-wrap td{font-variant-numeric:tabular-nums}
.target-matrix-wrap .target-unset{color:#b3bdcc;font-weight:400}
.target-matrix-wrap .target-zero{color:#9a7332;background:#fffbf2}
.target-matrix-wrap .target-total-row td{font-weight:600;background:#f7f9fc;border-top:1px solid #dfe6ef}
.target-matrix-wrap .target-total-row .yearly-total{background:#eef3fa}
.target-matrix-wrap tbody tr.target-total-row:hover td{background:#f7f9fc}
.target-matrix-wrap tbody tr.target-total-row:hover .yearly-total{background:#eef3fa}

/* 目标管理顶部：主入口与「单个周期」快捷表单并排成一条操作带 */
.target-head{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;margin-bottom:14px}
.target-head h2{margin:0}
.target-head-hint{font-size:12px;color:#3f6fb5;background:#eaf1ff;border:1px solid #d5e3ff;border-radius:99px;padding:2px 10px;white-space:nowrap}
.target-actions{display:flex;align-items:flex-end;gap:22px;flex-wrap:wrap;padding:14px 16px;background:#f7f9fc;border:1px solid #e6ecf5;border-radius:10px}
.target-actions-main{display:flex;flex-direction:column;align-items:flex-start;gap:7px}
.target-actions-main button{margin:0;font-size:13px;padding:8px 16px;border-radius:6px}
.target-actions-hint{font-size:12px;color:var(--wb-muted)}
.target-actions .sales-form{gap:10px 12px;padding-left:20px;border-left:1px dashed #dde5f0}
.target-actions .sales-form label{font-size:12px;color:var(--wb-muted);gap:4px}
.target-actions .sales-form input,.target-actions .sales-form select{height:32px;min-height:32px;padding:4px 9px;border-radius:6px;font-size:13px}
.target-actions .sales-form select{max-width:180px}
.target-actions .sales-form input[name=period]{width:150px}
.target-actions .sales-form input[name=amount]{width:130px}
.target-actions .sales-form button{font-size:13px;padding:7px 14px;border-radius:6px}
@media(max-width:760px){.target-actions{gap:14px}.target-actions .sales-form{padding-left:0;border-left:0;border-top:1px dashed #dde5f0;padding-top:12px;width:100%}}
