/* Mietrix – Finanzen, Statistik, Einstellungen (internes System) */
.fin-h { margin: 1.4rem 0 .6rem; font-size: 1rem; color: var(--ink-2); }
.fin-over { color: var(--bad); font-weight: 700; }
.fin-inline { display: flex; gap: .35rem; align-items: center; flex-wrap: wrap; }
.fin-inline select, .fin-inline input { width: auto; padding: .32rem .45rem; font-size: .85rem; }
.fin-inline .check { margin: 0; font-size: .85rem; }
.fin-actions { display: flex; flex-direction: column; gap: .5rem; }
.fin-actions form { display: flex; flex-direction: column; gap: .4rem; }
.fin-kv { grid-template-columns: 110px 1fr; }
.fin-list { list-style: none; margin: 0; padding: 0; }
.fin-list li { padding: .3rem 0; border-bottom: 1px solid var(--line); font-size: .9rem; }
.fin-list li:last-child { border-bottom: 0; }
.fin-catgrid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 1rem; }
.fin-catgroup { border: 1px solid var(--line); border-radius: var(--r-s); padding: .5rem .7rem; }
.fin-catrow { display: flex; align-items: center; justify-content: space-between; gap: .6rem; padding: .18rem 0; font-size: .88rem; font-weight: 400; }
.fin-catrow span { flex: 1 1 auto; min-width: 0; }
.fin-catrow input, .fin-catrow input[type=text] { flex: 0 0 82px; width: 82px; padding: .28rem .4rem; text-align: right; }
.fin-catrow.fin-main { font-weight: 700; border-bottom: 1px solid var(--line); padding-bottom: .4rem; margin-bottom: .2rem; }
.fin-type { border-bottom: 1px solid var(--line); padding-bottom: .8rem; margin-bottom: .8rem; }
.fin-kvform { display: flex; gap: .4rem; align-items: flex-start; }
.fin-kvform textarea { min-height: 0; font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: .82rem; }
.fin-val { max-width: 360px; word-break: break-word; font-size: .85rem; }
.fin-exp { font-size: .82rem; }
.fin-cron code { background: #f3f5f6; padding: .35rem .55rem; border-radius: var(--r-s); word-break: break-all; }
.fin-key { background: #fff; padding: .3rem .5rem; border-radius: 4px; word-break: break-all; }
.fin-ph { background: #f3f5f6; padding: .05rem .3rem; border-radius: 4px; font-size: .8rem; }
.fin-side { padding: .6rem; }
.fin-navlist { list-style: none; margin: 0; padding: 0; }
.fin-navlist a { display: block; padding: .38rem .55rem; border-radius: var(--r-s); color: var(--ink-2); font-size: .9rem; }
.fin-navlist a:hover { background: #f3f5f6; text-decoration: none; }
.fin-navlist a.on { background: var(--brand-l); color: var(--brand); font-weight: 700; }
.fin-legal { max-height: 520px; overflow: auto; border: 1px solid var(--line); border-radius: var(--r-s); padding: .8rem 1rem; background: #fcfdfd; }
.fin-doc h2 { margin-top: 1.4rem; } .fin-doc h3 { margin-top: 1.2rem; }
.fin-doc code { background: #f3f5f6; padding: .05rem .3rem; border-radius: 4px; font-size: .86em; }
.fin-pre { background: #1f2a2d; color: #e4ecee; padding: .9rem 1rem; border-radius: var(--r-s); overflow-x: auto; font-size: .82rem; }
.fin-pre code { background: none; color: inherit; padding: 0; }
.fin-mdtable td, .fin-mdtable th { font-size: .88rem; } .fin-mdtable td:first-child { white-space: nowrap; }
.fin-rank th, .fin-rank td { padding: .45rem .5rem; font-size: .85rem; }
.chart-fig { margin: 0; }
.chart { width: 100%; height: auto; display: block; }
.chart-legend { display: flex; flex-wrap: wrap; gap: .9rem; font-size: .8rem; color: var(--mute); margin-top: .3rem; }
.chart-legend i { display: inline-block; width: 10px; height: 10px; border-radius: 2px; margin-right: 5px; vertical-align: -1px; }
.hbars { display: flex; flex-direction: column; gap: .35rem; }
.hb { display: grid; grid-template-columns: minmax(0, 1.3fr) 1fr auto; gap: .5rem; align-items: center; font-size: .82rem; }
.hb-l { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.hb-b { background: #eef2f3; border-radius: 3px; height: 9px; overflow: hidden; }
.hb-b i { display: block; height: 100%; background: var(--teal); border-radius: 3px; }
.hb-v { font-weight: 700; white-space: nowrap; }
.h3 { font-size: 1.1rem; }
details summary { cursor: pointer; color: var(--link); font-weight: 600; }

/* Betragsspalten rechtsbündig (überschreibt .table td { text-align:left }) */
.table td.right, .table th.right, .table tfoot td.right { text-align: right; white-space: nowrap; }
.fin-doc .table-wrap { margin: .4rem 0 1.1rem; }
