/* 收支周报独立样式，不影响货柜成本页和销售端。 */
.cashbook-page{max-width:1440px;margin:0 auto}
.cash-period-picker{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.cash-period-picker>select{flex:1;min-width:220px;padding:9px;border:1px solid var(--border);border-radius:8px;background:#fff}
.cash-summary-caption{font-size:12px;color:var(--muted);margin:12px 0 8px}
.cash-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:14px}
.cash-owner-summary{grid-template-columns:repeat(3,minmax(0,1fr))}
.cash-summary .stat{min-width:0;background:#fff;border:1px solid var(--border);padding:14px;border-radius:10px}
.cash-summary .value{font-size:23px;overflow-wrap:anywhere;line-height:1.4}
.cash-summary small{display:block;font-size:12px;color:var(--muted);line-height:1.7;margin-top:5px}
.cash-warning{padding:10px 12px;background:var(--gold-bg);color:#765b13;border:1px solid #eddfb0;border-radius:8px;font-size:13px;margin-bottom:8px;overflow-wrap:anywhere}
.cash-dates{display:grid;grid-template-columns:1fr 1fr 2fr;gap:12px}
.cash-section{padding:16px;border-top:1px solid var(--border)}
.cash-section-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:10px}
.cash-section h2{font-size:15px;margin:0}
.cash-entry{display:grid;grid-template-columns:minmax(160px,1fr) minmax(130px,.5fr) auto;align-items:end;gap:8px 12px;background:var(--bg);padding:12px;border:1px solid var(--border);border-radius:8px;margin-top:8px}
#cash_transfers .cash-entry{grid-template-columns:140px minmax(160px,1fr) minmax(130px,.5fr) auto}
.cash-entry label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--muted);min-width:0}
.cash-entry input,.cash-entry select{width:100%;min-height:40px;border:1px solid var(--border);border-radius:7px;padding:8px;background:#fff}
.cash-amount,#cash_opening{font-variant-numeric:tabular-nums}
.cash-cny{font-variant-numeric:tabular-nums}
.cash-cny-label[hidden]{display:none!important}
.cash-entry-owner .cash-cny-label{grid-column:2/4;grid-row:2}
.cash-entry-owner .cash-remove{grid-column:4;grid-row:1}
.cash-entry input:disabled,.cash-entry select:disabled{color:var(--text);background:#f9fafb;opacity:1}
.cash-optional{grid-column:1/-1;min-width:0}
.cash-optional summary{cursor:pointer;font-size:12px;color:var(--blue);padding:4px 0}
.cash-optional-fields{display:grid;grid-template-columns:1fr 1fr 2fr;gap:10px;padding-top:8px}
.cash-subtotal{text-align:right;font-size:13px;color:var(--navy);margin-top:10px;font-weight:600}
.cash-complete{display:flex;gap:8px;align-items:flex-start;line-height:1.7}
.cash-complete input{margin-top:5px;flex:0 0 auto}
#cash_save{margin-top:12px;min-height:44px}
#cash_save_status{margin-left:12px}
.cash-daily>summary{padding:14px;cursor:pointer;font-size:14px;color:var(--navy)}
.cash-day-detail{min-height:40px;display:inline-flex;align-items:center;justify-content:center}
.cash-daily-note{padding:8px 14px}
.cash-daily .table-viewport>table>thead>tr>.table-frozen-cell,
.cash-daily .table-viewport>table>tbody>tr>.table-frozen-cell{width:1%;min-width:calc(10ch + 12px);max-width:none;white-space:nowrap;overflow-wrap:normal;padding-left:6px;padding-right:6px}
.cash-statement textarea{width:100%;resize:vertical;min-height:160px;line-height:1.65;padding:10px;border:1px solid var(--border);border-radius:8px;font-size:14px;white-space:pre-wrap}
.cash-statement .field{margin:14px 0}
.cash-statement .flex{flex-wrap:wrap;gap:8px}
.cash-statement-totals{padding:10px;background:var(--bg);border-radius:8px;margin:10px 0;overflow-wrap:anywhere}
.cash-statement .table-wrap{margin:12px 0}
.cash-statement select{max-width:300px;width:100%;min-width:180px;min-height:40px;border:1px solid var(--border);border-radius:6px;padding:6px}
.cash-statement td:first-child{min-width:180px;max-width:320px;overflow-wrap:anywhere}
.cash-statement-changes{padding:12px;background:var(--green-bg);line-height:1.8;border-radius:8px;margin:12px 0}
.cash-statement-ack{display:flex;gap:8px;align-items:flex-start;line-height:1.7;margin:12px 0}
.cash-statement-ack input{flex:0 0 auto;margin-top:5px}
.cash-statement #statement_status{margin-top:8px}
.cashbook-page .flex{flex-wrap:wrap}
.cash-form-period{min-width:0}
.cash-period-part{white-space:nowrap}
.cash-form-actions{flex-shrink:0;margin-left:auto}
.cash-form-actions .btn{white-space:nowrap}
@media(max-width:860px){
  .cashbook-page .cash-form-head{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:9px 6px;padding:12px}
  .cash-form-period{grid-column:1;grid-row:1;line-height:1.6;letter-spacing:-.55px;overflow-wrap:normal;word-break:normal}
  .cash-form-head>#cash_delete{grid-column:2;grid-row:1;white-space:nowrap;padding:7px 8px;min-height:36px;font-size:12px}
  .cashbook-page .cash-form-actions{grid-column:1/-1;grid-row:2;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:100%;margin-left:0}
  .cash-form-actions .btn{padding:8px 6px;min-height:44px}
  .cash-statement .statement-map{border:0;max-height:none}
  .cash-statement .statement-map table,.cash-statement .statement-map tbody{display:block;min-width:0;width:100%}
  .cash-statement .statement-map thead{display:none}
  .cash-statement .statement-map tr{display:grid;grid-template-columns:minmax(0,1fr);border:1px solid var(--border);border-radius:8px;margin-bottom:10px;padding:8px;background:var(--bg)}
  .cash-statement .statement-map td,.cash-statement .statement-map td:first-child{display:block;width:auto;min-width:0;max-width:none;border:0;padding:6px;white-space:normal;overflow-wrap:anywhere}
  .cash-statement .statement-map select{max-width:none;min-width:0;width:100%}
  .cash-statement .statement-map td:last-child::before{content:'对应值：';color:var(--muted)}
  .cash-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .cash-owner-summary>.stat:last-child{grid-column:1/-1}
  .cash-summary .stat{padding:10px}
  .cash-summary .value{font-size:20px}
  .cash-dates{grid-template-columns:repeat(2,minmax(0,1fr));padding:12px}
  .cash-opening{grid-column:1/-1}
  .cash-section{padding:12px}
  .cash-entry,#cash_transfers .cash-entry{grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:10px}
  .cash-name-label,.cash-kind-label{grid-column:1/-1}
  .cash-amount-label{grid-column:1}
  .cash-remove{grid-column:2;min-height:40px}
  .cash-optional-fields{grid-template-columns:minmax(0,1fr)}
  .cash-entry-owner .cash-kind-label{grid-row:1}
  .cash-entry-owner .cash-name-label{grid-row:2}
  .cash-entry-owner .cash-amount-label{grid-row:3}
  .cash-entry-owner .cash-remove{grid-column:2;grid-row:3}
  .cash-entry-owner .cash-cny-label{grid-column:1/-1;grid-row:4}
  .cash-entry-owner .cash-optional{grid-row:5}
  .cash-period-picker>select{min-width:0;flex-basis:100%;max-width:100%}
  .cash-period-picker{padding:12px}
  #cash_save{width:100%}
}
