.finance-month-nav{align-items:center;gap:var(--space-1);height:var(--size-control-sm);padding:0 var(--space-1);border:1px solid var(--color-gamma-700);border-radius:12px;display:inline-flex}.finance-month-nav span{text-align:center;min-width:150px;color:var(--color-text-strong);font-weight:700}.finance-top{gap:var(--space-4);grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);display:grid}@media (width<=1000px){.finance-top{grid-template-columns:minmax(0,1fr)}}.finance-hero-value{font-family:var(--font-display);letter-spacing:-.03em;color:var(--color-text-strong);font-variant-numeric:tabular-nums;font-size:44px;font-weight:700;line-height:1.05}.finance-hero-value.danger{color:#f87171}.finance-delta{align-items:center;gap:var(--space-1);font-size:var(--font-size-xs);font-weight:700;display:inline-flex}.finance-delta.up{color:#4ade80}.finance-delta.down{color:#f87171}.finance-chart{height:200px;margin:var(--space-5) calc(var(--space-2) * -1) 0}.finance-chart .recharts-surface{overflow:visible}.finance-chart .recharts-bar-rectangle{cursor:pointer}.finance-tooltip{background:var(--color-gamma-850);border:1px solid var(--color-gamma-700);padding:var(--space-2) var(--space-3);font-size:var(--font-size-xs);border-radius:10px}.finance-tooltip strong{color:var(--color-text-strong);font-size:var(--font-size-sm);display:block}.finance-forecast{flex-direction:column;display:flex}.finance-forecast-row{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3) 0;border-top:1px solid var(--hairline);display:flex}.finance-forecast-row:first-of-type{margin-top:var(--space-4)}.finance-forecast-row .dot{background:var(--color-gamma-500);border-radius:50%;flex-shrink:0;width:8px;height:8px}.finance-forecast-row .dot.warning{background:var(--color-warning)}.finance-forecast-row .dot.danger{background:#f87171}.finance-forecast-row .value{color:var(--color-text-strong);font-weight:700}.finance-forecast-row .value.warning{color:var(--color-warning)}.finance-forecast-row .value.danger{color:#f87171}.finance-kpis{gap:var(--space-4);margin-top:var(--space-4);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}@media (width<=900px){.finance-kpis{grid-template-columns:minmax(0,1fr)}}.finance-kpi .stat-value.danger{color:#f87171}.finance-amount{text-align:right;white-space:nowrap}.finance-amount.warning{color:var(--color-warning)}.finance-amount.danger{color:#f87171}.finance-amount.muted{color:var(--color-text-secondary)}.finance-amount.positive{color:#4ade80}.table th.finance-amount{text-align:right}.finance-name{align-items:center;gap:var(--space-3);color:var(--color-text-strong);font-weight:500;display:flex}@media (width<=700px){.table.finance-stack,.table.finance-stack tbody{display:block}.table.finance-stack thead{display:none}.table.finance-stack tr{align-items:center;gap:var(--space-2) var(--space-5);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--hairline);flex-wrap:wrap;display:flex}.table.finance-stack tr:last-child{border-bottom:0}.table.finance-stack tbody tr[data-href]:hover{background:var(--surface-hover)}.table.finance-stack tbody tr[data-href]:hover td{background:0 0}.table.finance-stack td{text-align:left;border:0;padding:0}.table.finance-stack td:empty{display:none}.table.finance-stack td[data-label]:before{content:attr(data-label);font-size:var(--font-size-xxs);color:var(--color-text-subtle);margin-bottom:2px;font-weight:500;display:block}.table.finance-stack.students td:first-child{flex:1 1 0;order:-2}.table.finance-stack.students td:nth-child(3){order:-1}.table.finance-stack.students td:nth-child(2){margin-top:calc(var(--space-2) * -1);padding-left:calc(32px + var(--space-3));font-size:var(--font-size-xs);flex-basis:100%}.table.finance-stack.students td:nth-child(4){padding-left:calc(32px + var(--space-3));flex:1}.table.finance-stack.students td:nth-child(5){text-align:right}.table.finance-stack.ledger td:nth-child(2){order:-2;flex:1 1 calc(100% - 32px - var(--space-5));min-width:0}.table.finance-stack.ledger td:last-child{order:-1}.table.finance-stack.ledger td:first-child{margin-left:calc(32px + var(--space-3))}}.finance-student{gap:var(--space-6);grid-template-columns:340px minmax(0,1fr);align-items:start;display:grid}.finance-aside{top:var(--space-6);gap:var(--space-4);flex-direction:column;display:flex;position:sticky}@media (width<=1100px){.finance-student{grid-template-columns:minmax(0,1fr)}.finance-aside{position:static}}.finance-lock{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--color-warning-alpha20);color:var(--color-warning);font-size:var(--font-size-xs);border-radius:10px;font-weight:500;display:flex}.finance-mini-stats{gap:var(--space-3);padding-top:var(--space-4);border-top:1px solid var(--hairline);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.finance-mini-stats .value{font-family:var(--font-display);font-weight:700;font-size:var(--font-size-xl);color:var(--color-text-strong);font-variant-numeric:tabular-nums}.finance-mini-stats a:hover .value,.finance-mini-stats .value.warning{color:var(--color-warning)}.finance-open-months{gap:var(--space-1-5);flex-wrap:wrap;display:flex}.finance-entry-title{color:var(--color-text-strong);font-weight:500}.finance-entry-icon{background:var(--color-gamma-850);width:32px;height:32px;color:var(--color-text-secondary);border-radius:10px;flex-shrink:0;place-items:center;display:grid}.finance-entry-icon.money{background:var(--color-primary-alpha10);color:var(--color-primary)}.finance-row-action{opacity:.55;transition:opacity var(--transition-duration-short)}.table tbody tr:hover .finance-row-action,.finance-row-action:focus-visible{opacity:1}.finance-form{gap:var(--space-4);flex-direction:column;display:flex}.finance-form-grid{gap:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.finance-form-section{gap:var(--space-3);padding-top:var(--space-4);border-top:1px solid var(--hairline);flex-direction:column;display:flex}.finance-form-section h4{font-size:var(--font-size-sm)}.finance-toggle-row{justify-content:space-between;align-items:center;gap:var(--space-4);display:flex}.finance-toggle-row .label{color:var(--color-text-strong);font-weight:500}.finance-input-affix{position:relative}.finance-input-affix>span{left:var(--space-3);color:var(--color-text-subtle);pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.finance-input-affix>.input{padding-left:38px}.finance-chart{position:relative}.finance-chart-empty{text-align:center;pointer-events:none;place-items:center;display:grid;position:absolute;inset:0 0 32px}
