.cash-history-panel{border:1px solid rgba(53,215,229,.2);border-radius:16px;background:linear-gradient(120deg,rgba(53,215,229,.06),rgba(162,143,255,.025));padding:20px;margin-bottom:18px;min-width:0}
.cash-history-panel .period-toolbar{border:0;border-radius:0;background:none;padding:0;margin-bottom:20px;gap:20px;align-items:flex-start}
.cash-history-panel .period-selector{flex-wrap:wrap;justify-content:flex-end}
.cash-history-panel .finance-controls{flex:1;min-width:0;gap:12px}
.cash-history-panel .period-selector button{min-width:51px}
.cash-range-controls{display:flex;justify-content:space-between;gap:22px;align-items:flex-start;border-top:1px solid var(--line);padding-top:18px}
.cash-range-controls label,.cash-period-add label{display:flex;flex-direction:column;gap:7px;color:var(--muted);font-size:12px;min-width:0}
.cash-range-controls label>small{font-size:10px;line-height:1.5}
.cash-range-controls input,.cash-period-add input,.cash-pagination select{min-width:145px;border:1px solid var(--line2,var(--line));border-radius:8px;background:#081316;color:var(--ink);padding:10px 12px;font:inherit;color-scheme:dark}
.cash-range-controls input:focus,.cash-period-add input:focus{outline:2px solid var(--cyan);outline-offset:2px}
#cash-range-form,#cash-period-add-form{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px;margin:0}
#cash-range-form>span{padding-bottom:12px;color:var(--dim)}
#cash-range-form button,#cash-period-add-form button{padding:11px 16px;min-height:40px}
.cash-period-help{font-size:11px;line-height:1.7;color:var(--muted);margin:14px 0 0}
.cash-period-add{border-top:1px solid var(--line);margin-top:18px;padding-top:16px}
.cash-period-add summary{cursor:pointer;color:var(--cyan);font-size:12px;font-weight:700}
.cash-period-add p{color:var(--muted);font-size:12px;line-height:1.7}
.cash-period-add button:disabled,.cash-period-add input:disabled{opacity:.5;cursor:wait}
.cash-period-message{display:block;border:1px solid var(--line);border-radius:9px;padding:13px 16px;margin-top:15px;color:var(--muted);font-size:12px;line-height:1.7;overflow-wrap:anywhere}
.cash-period-message[hidden]{display:none}
.cash-period-message.error{border-color:rgba(255,110,114,.3);background:rgba(255,110,114,.07);color:var(--red)}
.cash-period-message.success{border-color:rgba(120,247,166,.28);background:rgba(120,247,166,.05);color:var(--green)}
.cash-period-message.warning{border-color:rgba(255,202,107,.3);color:var(--amber);background:rgba(255,202,107,.06)}
.cash-pagination{display:flex;align-items:center;gap:18px;flex-wrap:wrap;padding:0 0 15px;color:var(--muted);font-size:11px}
.cash-pagination p{margin:0;flex:1;min-width:220px}.cash-pagination label{display:flex;align-items:center;gap:9px}.cash-pagination select{min-width:88px;padding:7px 10px}
.cash-pagination nav{display:flex;gap:6px}.cash-pagination button{background:rgba(3,11,13,.3);border:1px solid var(--line);border-radius:7px;color:var(--cyan);font:inherit;padding:8px 11px;cursor:pointer}
.cash-pagination button:disabled{opacity:.35;cursor:default}.cash-input-status{display:block;white-space:nowrap;color:var(--amber);font-size:10px;margin-top:5px}.cash-needs-input input::placeholder{color:var(--dim);font-size:11px}
.cash-chart-note{color:var(--muted);font-size:10px;line-height:1.6;margin:12px 0 0}.cash-chart-empty span{margin-top:8px;line-height:1.7;font-size:11px}.cash-table-empty{padding:30px!important;text-align:center;color:var(--muted);white-space:normal}
.cash-history-panel~.finance-hero{min-width:0}.cash-history-panel~.finance-hero .panel{min-width:0}
@media(max-width:1100px){.cash-history-panel .period-toolbar{flex-direction:column}.cash-history-panel .finance-controls{justify-content:flex-start;width:100%}.cash-history-panel .period-selector{justify-content:flex-start}.cash-range-controls{flex-direction:column}}
@media(max-width:600px){.cash-history-panel{padding:16px}.cash-history-panel .period-selector{width:100%}.cash-history-panel .period-selector button{flex:0 1 auto}.cash-range-controls,#cash-range-form,#cash-period-add-form{width:100%}.cash-range-controls>label{width:100%}#cash-range-form label,#cash-period-add-form label{flex:1;min-width:120px}.cash-range-controls input,.cash-period-add input{min-width:0;width:100%;box-sizing:border-box}#cash-range-form>span{display:none}#cash-range-form button,#cash-period-add-form button{width:100%}.cash-pagination{gap:12px}.cash-pagination nav{width:100%}.cash-pagination nav button{flex:1}}
