.fv2{--fv2-ok:#167a4d;--fv2-warn:#b8730a;--fv2-bad:#c2401e;display:flex;flex-direction:column;gap:10px;min-height:650px}
.fv2 *{box-sizing:border-box}
.fv2-toolbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:10px;border:1px solid var(--border);border-radius:10px;background:var(--s1)}
.fv2-toolbar .form-input{width:auto;min-width:150px;padding:7px 9px;font-size:13px}
.fv2-toolbar .fv2-search{flex:1;min-width:220px}
.fv2-bank{margin-left:auto;font-size:11px;color:var(--muted);padding:5px 8px;border-radius:7px;background:var(--s2)}
.fv2-bank.is-stale{color:var(--fv2-bad);background:#c2401e12;font-weight:700}
.fv2-grid{display:grid;grid-template-columns:minmax(260px,.85fr) minmax(380px,1.25fr) minmax(310px,1fr);gap:10px;min-height:480px;height:calc(100dvh - 235px)}
.fv2-panel{border:1px solid var(--border);border-radius:10px;background:var(--s1);min-width:0;overflow:hidden;display:flex;flex-direction:column}
.fv2-panel-head{padding:10px 12px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12px;font-weight:800}
.fv2-scroll{overflow:auto;min-height:0;flex:1}
.fv2-empty{padding:22px 14px;color:var(--muted);font-size:12px;text-align:center}
.fv2-item{width:100%;display:grid;grid-template-columns:24px minmax(0,1fr) auto;gap:7px;text-align:left;padding:9px 10px;border-bottom:1px solid var(--border);background:transparent;color:var(--text)}
.fv2-item:hover,.fv2-item.is-active{background:var(--hl-bg)}
.fv2-item-main{min-width:0;overflow:hidden}
.fv2-item-title{display:block;font-size:12px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fv2-item-sub{display:block;font-size:10.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px}
.fv2-money{font-size:12px;font-weight:900;white-space:nowrap;flex-shrink:0;min-width:72px;text-align:right}
.fv2-chip{display:inline-flex;align-items:center;padding:2px 7px;border-radius:999px;background:#64748b14;color:#475569;font-size:10px;font-weight:800;line-height:1.4}
.fv2-chip.safe{background:#167a4d14;color:var(--fv2-ok)}
.fv2-chip.warn{background:#b8730a14;color:var(--fv2-warn)}
.fv2-chip.bad{background:#c2401e14;color:var(--fv2-bad)}
.fv2-section{padding:10px 12px;border-bottom:1px solid var(--border)}
.fv2-section:last-child{border-bottom:0}
.fv2-kicker{font-size:10px;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);font-weight:800;margin-bottom:5px}
.fv2-tx-title{display:flex;gap:8px;justify-content:space-between;align-items:start}
.fv2-purpose{margin-top:6px;padding:7px 8px;border-radius:7px;background:var(--s2);font-size:11px;overflow-wrap:anywhere}
.fv2-table{width:100%;border-collapse:collapse;font-size:11px}
.fv2-table th,.fv2-table td{padding:6px 7px;border-bottom:1px solid var(--border);text-align:left;vertical-align:top}
.fv2-table th{position:sticky;top:0;background:var(--s2);z-index:1;color:var(--muted);font-size:10px}
.fv2-table tr.is-selected{background:var(--hl-bg)}
.fv2-linkbtn{background:none;color:var(--accent);font-size:11px;font-weight:800;padding:1px 2px;text-decoration:underline}
.fv2-explain{font-size:11px;line-height:1.45;color:var(--muted)}
.fv2-feature{display:flex;justify-content:space-between;gap:8px;padding:4px 0;border-bottom:1px dashed var(--border)}
.fv2-feature strong{color:var(--text)}
.fv2-selection{display:flex;flex-direction:column;gap:6px}
.fv2-selection-row{display:grid;grid-template-columns:1fr 95px 24px;gap:6px;align-items:center}
.fv2-selection-row input{width:100%;padding:5px 6px;font-size:12px;border:1px solid var(--border);border-radius:6px;background:var(--s1);color:var(--text)}
.fv2-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
.fv2-actions button{min-height:34px;padding:6px 8px;border-radius:7px;font-size:11px;font-weight:800;border:1px solid var(--border);background:var(--s2);color:var(--text)}
.fv2-actions button:hover{border-color:var(--accent);color:var(--accent)}
.fv2-actions .primary{background:var(--accent);border-color:var(--accent);color:#fff}
.fv2-actions .danger{color:var(--fv2-bad)}
.fv2-actions button:disabled{opacity:.45;cursor:not-allowed}
.fv2-view-switch{display:flex;gap:8px;margin-bottom:10px}
.fv2-view-switch .is-active{border-color:var(--accent);color:var(--accent)}
.fv2-shadow-view{display:grid;gap:12px}
.fv2-shadow-banner{display:flex;flex-direction:column;gap:4px;padding:12px 14px;border:1px solid #e4a11b;border-radius:10px;background:#fff8e6;color:#6b4a00}
.fv2-shadow-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.fv2-shadow-summary>div{display:flex;flex-direction:column;gap:3px;padding:10px;border:1px solid var(--border);border-radius:8px;background:var(--s1)}
.fv2-shadow-summary span{font-size:11px;color:var(--muted)}
.fv2-shadow-classes{display:flex;flex-wrap:wrap;gap:6px}
.fv2-shadow-table{max-height:620px;overflow:auto;border:1px solid var(--border);border-radius:8px}
.fv2-history{display:flex;flex-direction:column;gap:6px}
.fv2-history-row{padding:7px;border:1px solid var(--border);border-radius:7px;font-size:10.5px}
.fv2-history-row-head{display:flex;justify-content:space-between;gap:6px;font-weight:800}
.fv2-doc-placeholder{border:1px dashed var(--border);border-radius:8px;padding:10px;color:var(--muted);font-size:11px;text-align:center}
.fv2-loading{opacity:.6;pointer-events:none}
@media(max-width:1250px){.fv2-grid{grid-template-columns:280px 1fr;height:auto}.fv2-panel:last-child{grid-column:1/-1;min-height:360px}}
@media(max-width:760px){.fv2-grid{display:flex;flex-direction:column}.fv2-panel{min-height:340px}.fv2-toolbar .form-input{width:100%}.fv2-bank{margin-left:0}.fv2-actions{grid-template-columns:1fr}}

/* 6.85.0 (audit/127): Karten-Erkennungsmerkmale, Auswahl-Summe, schwache Kandidaten */
.fv2-item-ref { display:block; font-size:14px; font-weight:700; letter-spacing:.01em; }
.fv2-item-ref b { font-size:15px; }
.fv2-ref { font-weight:700; }
.fv2-sum { margin-top:6px; padding:5px 8px; border-radius:6px; font-size:12px; font-weight:600; }
.fv2-sum.ok { background:#e7f5ec; color:#166534; }
.fv2-sum.warn { background:#fef3c7; color:#92400e; }
.fv2-weak td { opacity:.62; }
.fv2-weak-table { margin-top:2px; }

/* 6.86.0 (audit/128): getrennte Scroll-Container */

/* 6.86.1 (audit/129): ECHTE Ursache der Betrag-Ueberlappung — Titel/Sub waren INLINE-Spans,
   overflow/text-overflow sind dort wirkungslos; nowrap-Text malte ueber die Betragsspalte.
   Fix: display:block + overflow:hidden am Container. Kein position:absolute. */

/* 6.87.0 (audit/130): Doppelzahlungs-Banner */
.fv2-settled{padding:9px 10px;border-radius:8px;background:#c2401e10;border:1px solid #c2401e40;font-size:12px}
