.expense{background:rgba(239,68,68,.10);}
.number{white-space:nowrap;}
.income{background:rgba(16,185,129,.12);}
.rotate-180{transform:rotate(180deg);}
.filter-input:focus{outline:2px solid #06b6d4;}
.card-shadow{box-shadow:0 4px 16px 0 rgba(0,0,0,0.07);}
.card-soft{border-radius:1rem;}
.tx-btn{transition:all .14s;}
.tx-btn:hover{filter:brightness(1.12) drop-shadow(0 2px 6px #facc15);}
.tx-reset{color:#64748b;transition:color .18s;}
.tx-reset:hover{color:#eab308;}
.empty-msg{color:#64748b;font-size:1.05em;padding:1.2em 0;text-align:center;}
#cashStats > div:first-child{display:none;}
.month-nav-btn{width:38px;height:38px;border-radius:50%;border:1px solid #cbd5f5;color:#0f172a;background:#fff;transition:all .2s;}
.month-nav-btn:hover{border-color:#06b6d4;color:#06b6d4;box-shadow:0 4px 12px rgba(6,182,212,.2);}
.month-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.9rem;}
.month-card{padding:1rem;border-radius:1rem;border:1px solid #e2e8f0;background:#f8fafc;transition:all .2s;}
.month-card.active{border-color:#06b6d4;background:linear-gradient(135deg,#ecfeff,#e0f2fe);box-shadow:0 8px 20px rgba(14,165,233,.2);transform:translateY(-2px);}
.month-card h4{font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:#64748b;margin-bottom:.35rem;}
.month-card.active h4{color:#0f172a;}
.month-card .month-net{font-size:1.65rem;font-weight:700;color:#0f172a;}
.month-card .month-row{display:flex;justify-content:space-between;font-size:.9rem;color:#475569;margin-top:.2rem;}
.summary-row{display:flex;flex-direction:column;gap:1.5rem;}
.summary-col{flex:1;min-width:0;}
@media (min-width:1024px){
  .summary-row{flex-direction:row;}
}
.chartMode{border-radius:999px;border:1px solid #e2e8f0;color:#475569;transition:all .2s;}
.chartMode.active{background:#0284c7;border-color:#0284c7;color:#fff;box-shadow:0 8px 18px rgba(2,132,199,.35);}
.chartAccum{border-radius:999px;border:1px dashed #94a3b8;color:#475569;padding:.25rem .9rem;font-size:.85rem;transition:all .2s;}
.chartAccum.active{border-style:solid;border-color:#0ea5e9;color:#0ea5e9;background:#e0f2fe;box-shadow:0 6px 16px rgba(14,165,233,.25);}
.chartAccum.disabled{opacity:.45;cursor:not-allowed;}
.line-chart-container{width:100%;}
.line-chart{width:100%;height:220px;}
.line-chart svg{width:100%;height:100%;overflow:visible;}
.line-point{fill:#fff;stroke:#0284c7;stroke-width:2;}
.chart-line-labels{display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-top:.75rem;font-size:.8rem;color:#475569;}
.chart-line-label{flex:1;min-width:90px;text-align:center;}
.chart-line-label .value{font-weight:600;color:#0f172a;}

.accounting-root{max-width:none;margin:0 auto;padding:0;}
.accounting-title{letter-spacing:-.02em;}
.accounting-sheet{background:#fff;border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 10px 24px rgba(15,23,42,.08);padding:18px;}
.acct-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;padding:14px;}
.studio-warning{border:1px dashed #f59e0b;background:#fff7ed;color:#92400e;border-radius:14px;padding:10px 14px;font-size:.95rem;}
.txn-scale{font-size:15px;}
.txn-scale input,.txn-scale select,.txn-scale button{font-size:14px;}

.top-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:16px;
}
@media (min-width: 1280px){
  .top-grid{
    grid-template-columns:6fr 2fr 4fr;
  }
}

.months-panel{min-width:0;max-width:none;padding-left:10px;padding-right:10px;}
.accounts-panel{min-width:0;}
.chart-panel{min-width:0;}

.accounts-table{table-layout:fixed;width:100%;}
.accounts-table th:nth-child(1), .accounts-table td:nth-child(1){width:34%;word-break:break-word;}
.accounts-table th:nth-child(2), .accounts-table td:nth-child(2){width:16%;}
.accounts-table th:nth-child(3), .accounts-table td:nth-child(3){width:16%;}
.accounts-table th:nth-child(4), .accounts-table td:nth-child(4){width:16%;}
.accounts-table th:nth-child(5), .accounts-table td:nth-child(5){width:8%;}
.accounts-table input{width:100%;min-width:72px;}

.month-cards-vert{display:flex;flex-direction:column;gap:10px;}
.months-scroll{max-height:360px;overflow-y:auto;padding-right:6px;}
.month-card{width:100%;cursor:pointer;}
.month-card.active{
  border-color:#22c55e;
  box-shadow:0 8px 18px rgba(34,197,94,.2);
  background:linear-gradient(135deg,#ecfeff,#f0fdf4);
}
.desktop-only{display:block;}
.mobile-only{display:none;}
@media (max-width: 1024px){
  .desktop-only{display:none;}
  .mobile-only{display:block;}
}
