/* expense.css — expense tracker (expense-ui.js); studio base in biz-doc.css */
.ex{display:grid;gap:14px}
.ex [data-body]{display:grid;gap:14px}
.ex-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.ex-kpis>div{background:var(--panel,#fff);border:1px solid var(--border,#e4e9f2);border-radius:14px;padding:14px 16px;display:grid;gap:2px}
.ex-kpis span{font-size:12.5px;color:var(--muted,#5a6377);font-weight:600}
.ex-kpis b{font-size:22px;font-variant-numeric:tabular-nums}
.ex-kpis small{font-size:12px;color:var(--muted,#5a6377)}
.ex .g{color:#15803d}.ex .r{color:#b91c1c}
.ex-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:14px}
.ex-dn{display:flex;gap:16px;align-items:center;flex-wrap:wrap}
.ex-donut{width:150px;height:150px;flex:none}
.ex-leg{flex:1;min-width:180px;display:grid;gap:5px}
.ex-leg div{display:grid;grid-template-columns:10px minmax(0,1fr) auto 38px;gap:8px;align-items:center;font-size:13px}
.ex-leg i{width:10px;height:10px;border-radius:3px}
.ex-leg span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ex-leg small{color:var(--muted,#5a6377);text-align:right}
.ex-bars{width:100%;height:auto;color:var(--muted,#5a6377);margin-top:8px}
.ex-bud{display:grid;gap:8px;margin-top:6px}
.ex-bud>div{display:grid;grid-template-columns:150px minmax(0,1fr) auto;gap:10px;align-items:center;font-size:13px}
.ex-pb{height:9px;border-radius:9px;background:var(--field,#eef1f6);overflow:hidden}
.ex-pb i{display:block;height:100%;border-radius:9px}
.ex-budset{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.ex-budset span i{display:inline-block;width:9px;height:9px;border-radius:3px;margin-right:6px}
.ex-tw{overflow:auto}
.ex-t{width:100%;border-collapse:collapse;font-size:13.5px}
.ex-t td{padding:9px 6px;border-bottom:1px solid var(--border,#eef1f6);vertical-align:middle}
.ex-t tr[data-id]{cursor:pointer}
.ex-t tr[data-id]:hover td{background:var(--field,#f8fafc)}
.ex-t td.d{color:var(--muted,#5a6377);white-space:nowrap;width:70px}
.ex-t td b{display:block;font-weight:600}
.ex-t td small{color:var(--muted,#5a6377);font-size:12px}
.ex-t td.r{text-align:right;white-space:nowrap;font-weight:700;font-variant-numeric:tabular-nums}
.ex-dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:8px;float:left;margin-top:5px}
.ex-rc{border:0;background:none;cursor:pointer;padding:0 2px;width:auto;min-width:0}
.ex-in{padding:8px 10px;border:1px solid var(--border,#e4e9f2);border-radius:9px;font:inherit;background:var(--panel,#fff);color:inherit;min-width:0}
@media (max-width:900px){.ex-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.ex-grid{grid-template-columns:minmax(0,1fr)}.ex-budset{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){.ex-bud>div{grid-template-columns:minmax(0,1fr) auto}.ex-bud .ex-pb{grid-column:1/-1;grid-row:2}.ex-budset{grid-template-columns:minmax(0,1fr)}.ex-kpis b{font-size:18px}}
