/* Экономика */
.ec-lead { margin: -6px 0 16px; max-width: 720px; }
.ec-months { margin-bottom: 14px; }
.ec-mtitle { font: 700 22px var(--display); margin: 0 0 12px; }
.ec-mtitle .muted { font: 500 16px var(--body); }
.vr-tiles.ec-tiles { grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); margin-bottom: 14px; }
.ec-tiles .vr-tile b { font-size: 22px; }
.ec-tiles .vr-tile.warn { background: var(--warn-soft); }
.ec-two { margin-bottom: 14px; align-items: start; }
.ec-lines { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; }
.ec-lines li { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; padding: 10px 0; border-bottom: 1px solid var(--line); }
.ec-lines li:last-child { border-bottom: 0; }
.ec-what { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.ec-what a { font-weight: 700; color: var(--ink); }
.ec-what small { color: var(--muted); font-size: 13.5px; line-height: 1.4; }
.ec-lines b { font: 700 17px var(--display); white-space: nowrap; }
.ec-price { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 10px 14px; }
.ec-price .field { flex: 1 1 170px; }
.ec-price .btn { flex: none; height: 46px; margin-bottom: 22px; }
.ec-start { display: flex; flex-direction: column; gap: 10px; max-width: 760px; margin-bottom: 14px; }
.ec-start h2 { font: 700 20px var(--display); margin: 0; }
.ec-start p { margin: 0; line-height: 1.5; }
.ec-plist { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 4px; }
.ec-plist li { display: grid; grid-template-columns: 1fr auto auto; gap: 12px; align-items: center; padding: 8px 12px; border-radius: 12px; background: var(--ground); }
.ec-table { min-width: 760px; }
.ec-table th.num, .ec-table td.num { text-align: right; white-space: nowrap; }
.ec-table tbody tr { cursor: pointer; }
.ec-table tbody tr:hover td, .ec-table tbody tr.on td { background: var(--ground); }
.ec-table td:first-child { white-space: nowrap; }
.ec-table .sub { display: block; color: var(--muted); font-size: 13px; }
.ec-est { color: var(--muted); margin-left: 3px; }

/* Болезни */
.ed-table { min-width: 860px; }
.ed-table td.num .sub { white-space: nowrap; }
.ec-howto ul { margin: 0; padding-left: 20px; display: flex; flex-direction: column; gap: 6px; line-height: 1.5; max-width: 860px; }

/* Расходы и доходы */
.ec-tiles .vr-tile.good { background: var(--good-soft, #E3F3EA); }
.ec-exp { margin-bottom: 14px; }
.ec-exp .vr-chead .btn { margin-left: auto; }
.ex-cols { display: grid; grid-template-columns: minmax(0, 3fr) minmax(0, 2fr); gap: 10px 32px; }
.ex-col { display: flex; flex-direction: column; gap: 6px; }
.ex-col h3 { font: 700 16px var(--display); margin: 4px 0 2px; }
.ex-row { display: grid; grid-template-columns: minmax(0, 1fr) 170px; align-items: center; gap: 12px; }
.ex-label { display: flex; flex-direction: column; line-height: 1.3; }
.ex-label small { color: var(--muted); font-size: 13px; }
.ex-in { height: 42px; padding: 0 12px; border: 1px solid #C9CEE0; border-radius: 10px; background: #fff; font: 600 16px var(--body); text-align: right; color: var(--ink); }
.ex-in::placeholder { color: #B6BCCF; font-weight: 400; }
.ex-in:focus { outline: none; border-color: var(--night); box-shadow: 0 0 0 3px rgba(30, 42, 85, .15); }
.ex-in.saved { border-color: var(--good); }
.ex-in.err { border-color: var(--bad); background: var(--bad-soft); }
.ex-in.queued { border-style: dashed; border-color: #C99A2E; background: var(--warn-soft); }
.ex-total { display: flex; justify-content: space-between; gap: 12px; padding: 10px 0 0; margin-top: 4px; border-top: 1px solid var(--line); }
.ex-total b { font: 700 17px var(--display); }
.ec-plus { color: var(--good-ink); font-weight: 700; }
.ec-minus { color: var(--bad-ink); font-weight: 700; }
@media (max-width: 860px) { .ex-cols { grid-template-columns: 1fr; } .ex-row { grid-template-columns: minmax(0, 1fr) 140px; } }
