/* Portfolio-Sicht: Regeln, Spalten, Ansichten (js/06z-ansichten.js, docs/FILTER-ANSICHTEN.md) */
.pfv-bar, .pfv-chips { flex-wrap: wrap; row-gap: 6px; }
.pfv-bar .spacer { flex: 1 1 auto; }
.pfv-chips { margin-top: -4px; }
.fchip.fchip-off { opacity: .55; font-style: italic; }
.pfv-panel { min-width: 420px; max-width: min(720px, 92vw); max-height: 70vh; overflow: auto; padding: 4px 6px 8px; }
.pfv-rule { display: flex; align-items: flex-start; gap: 6px; padding: 4px 0; flex-wrap: wrap; }
.pfv-rule select, .pfv-rule input[type=text], .pfv-rule input[type=date], .pfv-rule input[type=number] { padding: 5px 7px; border: 1px solid var(--border-strong); border-radius: var(--radius); background: var(--surface); max-width: 200px; }
.pfv-pair { display: inline-flex; gap: 6px; align-items: center; }
.pfv-pair input { width: 110px; }
.pfv-multi { min-width: 180px; }
.pfv-opts { max-height: 150px; overflow: auto; border: 1px solid var(--border); border-radius: var(--radius); padding: 2px 6px; }
.pfv-actions { display: flex; align-items: center; gap: 12px; padding: 6px 0 2px; }
.pfv-none { padding: 6px 0; }
.pfv-cols { min-width: 280px; }
.pfv-colgroup { margin-bottom: 4px; }
.pfv-count, .pfv-hint { margin: 4px 0 8px; }
.pfv-more { text-align: center; padding: 12px 0; }
.ptable .progress.over .bar { background: var(--danger); }
.ptable td .bad { color: var(--danger); font-weight: 600; }
.ptable .tkey { font-size: 11px; }
.ptable tr.trow.done td { opacity: .6; }
.menu:has(.pfv-panel) { max-width: min(760px, 94vw); max-height: 75vh; }
.pfsection { margin: 22px 0 8px; font-size: 14px; color: var(--text-2); font-weight: 600; }
/* Filterzeile unter den Spaltenköpfen (wie weclapp) */
.pfv-table thead th { cursor: pointer; }
.pfv-table .pfv-frow th { cursor: default; font-weight: 400; padding: 2px 6px 8px; border-bottom: 1px solid var(--border-strong); }
.pfv-fin { width: 100%; min-width: 80px; max-width: 220px; box-sizing: border-box; font-size: 12px; padding: 4px 6px; border: 1px solid var(--border); border-radius: var(--radius); background: var(--surface); color: var(--text-2); }
.pfv-fbtn { text-align: left; cursor: pointer; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pfv-fbtn:hover { border-color: var(--border-strong); }
.pfv-fbtn.on { background: var(--bg-subtle); color: var(--text); border-color: var(--border-strong); font-weight: 600; }
.pfv-colpop { min-width: 260px; }
.pfv-colpop .pfv-rule { flex-direction: column; align-items: stretch; }
/* Ausgeklappt: nächste Aufgaben je Projekt */
.pfv-chev { margin-right: 4px; vertical-align: middle; }
.pfv-nextrow td { background: var(--bg-subtle); padding: 6px 12px 10px 38px; }
.pfv-next { display: flex; flex-direction: column; gap: 4px; }
.pfv-nline { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; font-size: 13px; }
.pfv-nline .plink { flex: 1 1 280px; min-width: 200px; }
.pfv-nline.first .plink { font-weight: 600; }
.pfv-nbadge { font-size: 11px; width: 84px; color: var(--text-2); text-transform: uppercase; letter-spacing: .4px; }
.pfv-nline.first .pfv-nbadge { color: var(--accent, #3f9c6b); font-weight: 600; }
