/* Cash Book only; consumes existing Optical controls and theme tokens. */
.cashbook-page{min-width:0;max-width:100%;color:var(--z-text)}
.cashbook-page h1{font-size:1.5rem;margin:0 0 8px}
.cashbook-page .cashbook-panel{padding:16px;min-width:0;max-width:100%}
.cashbook-note{color:var(--z-text-muted);font-size:.875rem;line-height:1.5;margin:8px 0 16px}
.cashbook-filters{display:flex;align-items:flex-end;flex-wrap:wrap;gap:12px}
.cashbook-filters label,.cashbook-pagination label{display:grid;gap:5px;font-size:.8rem;font-weight:500;min-width:0;color:var(--z-text-muted)}
.cashbook-filters label{flex:1 1 140px;max-width:240px}
.cashbook-filters select,.cashbook-filters input{display:block;width:100%;min-width:0;height:38px;padding:7px 10px;border:1px solid var(--z-border);border-radius:8px;background:var(--z-surface);color:var(--z-text);font:inherit;font-size:.875rem}
.cashbook-filters button{min-height:38px}
.cashbook-totals{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:12px;margin:16px 0}
.cashbook-totals article{padding:16px;background:var(--z-surface-alt);border:1px solid var(--z-border);border-radius:10px}
.cashbook-totals dl{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;margin:12px 0}
.cashbook-totals dd{margin:0;text-align:right;font-variant-numeric:tabular-nums}
.cashbook-totals dt:last-of-type,.cashbook-totals dd:last-of-type{border-top:1px solid var(--z-border);padding-top:10px;color:var(--z-primary);font-weight:600}
.cashbook-method{font-size:.825rem;color:var(--z-text-muted);margin-top:5px}
.cashbook-table{overflow-x:auto;max-width:100%;border:1px solid var(--z-border);border-radius:8px}
.cashbook-table table{width:100%;min-width:960px;border-collapse:collapse;font-size:.825rem}
.cashbook-table th{background:var(--z-surface-alt);font-weight:600;text-align:left;color:var(--z-text-muted)}
.cashbook-table th,.cashbook-table td{padding:10px 12px;border-bottom:1px solid var(--z-border);vertical-align:top;overflow-wrap:anywhere}
.cashbook-table td:nth-child(2),.cashbook-table td:nth-child(3){max-width:175px}
.cashbook-table small{color:var(--z-text-muted)}
.cashbook-table tr:last-child td{border-bottom:0}
.cashbook-number{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
.cashbook-table .cashbook-in{color:var(--z-success,var(--z-primary))}
.cashbook-table .cashbook-out{color:var(--z-danger)}
.cashbook-source{display:inline-block;margin-bottom:4px}
.cashbook-page h2{font-size:1rem;margin:20px 0 8px}
.cashbook-pagination{display:flex;gap:12px;align-items:center;justify-content:flex-end;flex-wrap:wrap;margin-top:16px;font-size:.85rem}
.cashbook-pagination select{min-height:34px;border:1px solid var(--z-border);border-radius:6px;background:var(--z-surface);color:var(--z-text)}
@media(max-width:600px){.cashbook-page .cashbook-panel{padding:12px}.cashbook-filters label{flex-basis:calc(50% - 12px);max-width:none}.cashbook-filters button{width:100%}.cashbook-pagination{justify-content:flex-start}.cashbook-note{font-size:.8rem}}
.cashbook-table table{table-layout:fixed}
.cashbook-table th:nth-child(1){width:9%}.cashbook-table th:nth-child(2){width:12%}.cashbook-table th:nth-child(3){width:15%}.cashbook-table th:nth-child(4){width:17%}.cashbook-table th:nth-child(5){width:16%}.cashbook-table th:nth-child(6){width:9%}.cashbook-table th:nth-child(7),.cashbook-table th:nth-child(8){width:11%}
.cashbook-table td:first-child{white-space:nowrap}
@media(min-width:1200px){.cashbook-table th,.cashbook-table td{padding:10px 8px}}
