.expense-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:20px}.expense-summary>div{padding:22px;background:var(--surface);border:1px solid var(--border);border-radius:16px;min-width:0}.expense-summary span,.expense-summary small{display:block;color:var(--muted)}.expense-summary strong{display:block;font-size:26px;margin:10px 0;overflow-wrap:anywhere}.expense-layout{display:grid;grid-template-columns:minmax(270px,340px) minmax(0,1fr);gap:20px;align-items:start}.expense-layout .panel{min-width:0;padding:22px}.expense-layout h3{margin:0 0 18px}.expense-layout label{display:grid;gap:8px;color:var(--muted);font-size:13px;min-width:0}.expense-layout input,.expense-layout select{width:100%;min-width:0;box-sizing:border-box;min-height:46px;font-size:16px;padding:10px;background:var(--surface-2);border:1px solid var(--border);border-radius:8px;color:var(--text)}.expense-entry form{display:grid;gap:16px}.expense-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.expense-actions{display:flex;gap:8px;flex-wrap:wrap}.expense-layout .btn{min-height:44px}.expense-layout [hidden]{display:none!important}.expense-note,.expense-status{font-size:12px;line-height:1.6;color:var(--muted)}.expense-status{color:var(--ice);margin:0}.expense-entry details{border-top:1px solid var(--border);margin-top:20px;padding-top:12px}.expense-entry summary{cursor:pointer;min-height:44px;display:flex;align-items:center}.expense-categories>div{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-top:12px;overflow-wrap:anywhere}.expense-filters{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:24px}.expense-filters label:last-child{grid-column:1/-1}.expense-breakdown{display:grid;gap:14px;margin-bottom:28px}.expense-breakdown>div{display:grid;grid-template-columns:1fr auto;gap:8px;font-size:13px}.expense-breakdown progress{grid-column:1/-1;width:100%;height:7px;accent-color:var(--ice);border:0;border-radius:8px;overflow:hidden}.expense-breakdown progress::-webkit-progress-bar{background:var(--surface-2)}.expense-breakdown progress::-webkit-progress-value{background:var(--ice);border-radius:8px}.expense-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;border-top:1px solid var(--border);padding:18px 0}.expense-row strong{overflow-wrap:anywhere}.expense-row small{display:block;color:var(--muted);margin-top:6px}.expense-row>.expense-actions{grid-column:1/-1;justify-content:flex-end}.expense-empty{text-align:center;padding:28px 12px;color:var(--muted)}.expense-empty p{line-height:1.6}.expense-count{color:var(--muted)}@media(max-width:1050px){.expense-layout{grid-template-columns:1fr}}@media(max-width:600px){.expense-summary{grid-template-columns:1fr;gap:8px}.expense-summary>div{padding:16px}.expense-summary strong{font-size:24px;margin:6px 0}.expense-layout .panel{padding:16px}.expense-fields,.expense-filters{grid-template-columns:1fr}.expense-filters label:last-child{grid-column:auto}.expense-row>.expense-actions{justify-content:stretch}.expense-row .btn{flex:1}}

.expense-salary{padding:22px;margin-bottom:20px}.expense-salary h3{margin:0 0 18px}.expense-salary form{display:grid;grid-template-columns:1fr 1fr auto;gap:14px;align-items:end}.expense-salary label{display:grid;gap:8px;color:var(--muted);font-size:13px;min-width:0}.expense-salary input{box-sizing:border-box;width:100%;min-width:0;min-height:46px;padding:10px;font-size:16px;color:var(--text);background:var(--surface-2);border:1px solid var(--border);border-radius:8px}.expense-salary .btn{min-height:46px}.salary-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;border-top:1px solid var(--border);padding-top:20px}.salary-summary span,.salary-summary small{display:block;color:var(--muted);font-size:13px}.salary-summary strong{display:block;font-size:26px;margin:8px 0;overflow-wrap:anywhere}.salary-negative strong{color:var(--rose)}.salary-status{color:var(--ice);font-size:13px}@media(max-width:700px){.expense-salary{padding:16px}.expense-salary form,.salary-summary{grid-template-columns:1fr}.salary-summary{gap:12px}}
