/* Cashflow a výhled (dashboard) */
.cf-head { display: flex; align-items: center; justify-content: space-between; gap: .6rem; flex-wrap: wrap; margin-bottom: .75rem; }
.cf-ctl { display: flex; gap: .5rem; align-items: center; flex-wrap: wrap; }
.cf-ctl select, .cf-form input, .cf-form select { padding: .35rem .5rem; border: 1.5px solid var(--border); border-radius: 7px; font-size: .82rem; background: #fff; }
.cf-btn { border: 1px solid var(--border); background: #fff; border-radius: 8px; padding: .35rem .8rem; cursor: pointer; font-size: .82rem; font-weight: 600; }
.cf-btn:hover { background: var(--blue-xl); }
.cf-btn.primary { background: var(--blue); color: #fff; border-color: var(--blue); }
.cf-kpi { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: .6rem; margin-bottom: .9rem; }
.cf-tile { background: var(--gray-l, #f8fafc); border-radius: 10px; padding: .7rem .85rem; }
.cf-tile .l { font-size: .72rem; color: var(--gray); font-weight: 600; }
.cf-tile .v { font-size: 1.25rem; font-weight: 800; margin-top: .1rem; }
.cf-tile .s { font-size: .72rem; color: var(--gray); margin-top: .1rem; }
.cf-tile.bad .v { color: var(--red); }
.cf-legend { display: flex; flex-wrap: wrap; gap: .3rem 1rem; font-size: .75rem; color: var(--gray); margin-bottom: .4rem; align-items: center; }
.cf-legend i { display: inline-block; width: 12px; height: 10px; border-radius: 2px; margin-right: .3rem; vertical-align: -1px; }
.cf-legend i.ln { height: 0; border-top: 2px solid; border-radius: 0; }
.cf-legend i.dash { border-top-style: dashed; }
.cf-chart svg { width: 100%; height: auto; display: block; }
.cf-chart .wk { cursor: pointer; }
.cf-chart .wk:hover rect.hit { fill: rgba(30, 64, 175, .06); }
.cf-chart .wk.sel rect.hit { fill: rgba(30, 64, 175, .12); }
.cf-radce { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: .7rem; margin: .9rem 0 .6rem; }
.cf-card { border: 1px solid var(--border); border-radius: 10px; padding: .75rem .9rem; font-size: .83rem; line-height: 1.5; }
.cf-card .t { font-weight: 800; margin-bottom: .2rem; }
.cf-card.danger { background: #fef2f2; border-color: #fca5a5; } .cf-card.danger .t { color: #991b1b; }
.cf-card.warn { background: #fffbeb; border-color: #fcd34d; } .cf-card.warn .t { color: #92400e; }
.cf-card.ok { background: #f0fdf4; border-color: #86efac; } .cf-card.ok .t { color: #166534; }
.cf-card.info { background: #f8fafc; }
.cf-navrh { border-top: 1px dashed #fca5a5; margin-top: .5rem; padding-top: .45rem; }
.cf-navrh .row { display: flex; gap: .5rem; align-items: center; justify-content: space-between; flex-wrap: wrap; margin-top: .25rem; }
.cf-inv { border: 1px solid var(--border); border-radius: 10px; padding: .75rem .9rem; font-size: .83rem; margin-bottom: .6rem; }
.cf-inv .t { font-weight: 800; margin-bottom: .35rem; }
.cf-form { display: flex; gap: .45rem; align-items: center; flex-wrap: wrap; }
.cf-form input[type=number] { width: 110px; }
.cf-det { border: 1px solid var(--border); border-radius: 10px; padding: .5rem .9rem; margin-bottom: .6rem; font-size: .82rem; }
.cf-det summary { cursor: pointer; font-weight: 700; padding: .2rem 0; }
.cf-tab { width: 100%; border-collapse: collapse; margin-top: .5rem; font-size: .8rem; }
.cf-tab th { text-align: left; font-size: .68rem; text-transform: uppercase; color: var(--gray); padding: .3rem .4rem; border-bottom: 1px solid var(--border); }
.cf-tab td { padding: .3rem .4rem; border-bottom: 1px solid var(--border); }
.cf-tab .r { text-align: right; white-space: nowrap; }
.cf-pos { color: #166534; } .cf-neg { color: var(--red); }
.cf-nast { background: var(--gray-l, #f8fafc); border: 1px solid var(--border); border-radius: 10px; padding: .8rem .9rem; margin-bottom: .8rem; }
.cf-nast label { font-size: .78rem; font-weight: 600; display: flex; flex-direction: column; gap: .2rem; }
.cf-nast .grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: .6rem; margin-bottom: .6rem; }
.cf-nast input, .cf-nast select { padding: .4rem .5rem; border: 1.5px solid var(--border); border-radius: 7px; font-size: .85rem; background: #fff; width: 100%; }
.cf-note { font-size: .74rem; color: var(--gray); }
.cf-wkdet { border: 1px solid var(--border); border-radius: 10px; padding: .6rem .8rem; margin: .5rem 0; font-size: .8rem; background: #fff; }
.cf-ev { display: flex; gap: .5rem; align-items: baseline; padding: .15rem 0; border-bottom: 1px solid var(--border); }
.cf-ev:last-child { border-bottom: none; }
.cf-ev .g { flex: 1; }
