/* ════════════════════════════════════════════════════════════════════════════
   FEEDBACK — Verwaltung/Detail/Meine Meldungen (Namespace fba-) · nur Tokens
   ════════════════════════════════════════════════════════════════════════════ */
.fba-wrap, .fba-detail { display: block; }
.fba-loading, .fba-empty { padding: var(--space-5, 24px); text-align: center; color: var(--gray-500, #5F6B66); font-size: var(--text-sm, 14px); }
.fba-muted { color: var(--gray-500, #5F6B66); }
.fba-mono { font-variant-numeric: tabular-nums; letter-spacing: .01em; }
.fba-nowrap { white-space: nowrap; }

/* Kennzahlen */
.fba-kpis { display: grid; grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)); gap: var(--space-2, 8px); margin-bottom: var(--space-4, 16px); }
.fba-kpi { padding: var(--space-3, 12px); border: 1px solid var(--gray-300, #D8DFDC); border-radius: var(--radius-md, 10px); background: var(--color-surface, #fff); }
.fba-kpi-n { font-size: 24px; font-weight: 600; letter-spacing: -0.02em; font-variant-numeric: tabular-nums lining-nums; color: var(--color-forest, #0F5C42); }
.fba-kpi-l { font-size: var(--text-xs, 12px); color: var(--gray-500, #5F6B66); margin-top: 2px; }
.fba-kpi.is-danger .fba-kpi-n { color: var(--color-danger, #C0392C); }
.fba-kpi.is-ok .fba-kpi-n { color: var(--color-mint-ink, #12704B); }
.fba-kpi.is-info .fba-kpi-n { color: var(--color-sage, #147352); }

/* Filterleiste */
.fba-filterbar { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-bottom: 10px; }
.fba-inp { min-height: 36px; padding: 6px 10px; border: 1px solid var(--gray-300, #D8DFDC); border-radius: var(--radius-md, 10px); background: var(--color-surface, #fff); color: var(--gray-900, #141A17); font-family: inherit; font-size: var(--text-sm, 14px); }
.fba-inp:focus { outline: none; border-color: var(--color-sage, #147352); box-shadow: var(--focus-ring); }
.fba-inp-sm { min-height: 32px; font-size: var(--text-xs, 12px); }
#fba-q { flex: 1 1 240px; min-width: 180px; }
.fba-grow { flex: 1 1 auto; }
.fba-chk { display: inline-flex; align-items: center; gap: 5px; font-size: var(--text-sm, 14px); color: var(--gray-700, #3A4441); }
.fba-spacer { flex: 1 1 auto; }
.fba-textarea { resize: vertical; line-height: 1.5; }

/* Status-Filterpills */
.fba-pills { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 12px; }
.fba-pill { padding: 4px 10px; border: 1px solid var(--gray-300, #D8DFDC); border-radius: var(--radius-pill); background: var(--color-surface, #fff); font-size: var(--text-xs, 12px); color: var(--gray-700, #3A4441); cursor: pointer; }
.fba-pill:hover { border-color: var(--color-sage, #147352); }
.fba-pill.is-active { background: var(--color-forest, #0F5C42); border-color: var(--color-forest, #0F5C42); color: var(--color-surface); }

/* Status-Badges */
.fba-st { display: inline-block; padding: 2px 9px; border-radius: var(--radius-pill); font-size: var(--text-xs, 12px); font-weight: 500; white-space: nowrap; }

/* Tabelle */
.fba-tablewrap { overflow-x: auto; border: 1px solid var(--gray-300, #D8DFDC); border-radius: var(--radius-md, 10px); }
.fba-table { width: 100%; border-collapse: collapse; font-size: var(--text-sm, 14px); }
.fba-table th { text-align: left; padding: 9px 12px; background: var(--gray-100, #EFF2F1); font-size: var(--text-xs, 12px); font-weight: 600; text-transform: none; letter-spacing: normal; color: var(--gray-500, #5F6B66); border-bottom: 1px solid var(--gray-300, #D8DFDC); white-space: nowrap; }
.fba-table td { padding: 9px 12px; border-bottom: 1px solid var(--gray-100, #EFF2F1); vertical-align: middle; }
.fba-row { cursor: pointer; }
.fba-row:hover { background: var(--color-sage-soft, #EDF7F2); }
.fba-title-c { max-width: 320px; }
.fba-clip, .fba-dupc { font-size: var(--text-xxs); color: var(--gray-500, #5F6B66); margin-left: 4px; }
.fba-pager { display: flex; align-items: center; gap: 10px; justify-content: flex-end; padding: 10px 4px; font-size: var(--text-sm, 14px); color: var(--gray-500, #5F6B66); }

/* Detailseite */
.fba-det-head { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-bottom: 14px; }
.fba-det-title { flex: 1 1 auto; display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.fba-det-num { font-size: var(--text-base, 16px); color: var(--gray-700, #3A4441); }
.fba-det-h { margin: 0; font-size: var(--text-lg, 20px); font-weight: 600; color: var(--color-forest, #0F5C42); }
.fba-det-actions { display: flex; gap: 8px; }
.fba-statusbar { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; padding: 10px 12px; background: var(--gray-100, #EFF2F1); border-radius: var(--radius-md, 10px); margin-bottom: 14px; }
.fba-statusbar label { display: inline-flex; align-items: center; gap: 6px; font-size: var(--text-sm, 14px); }
/* Tableiste: kanonisches Tab-System (.vi-tabs/.vi-tab, ui-standard.css §3).
   Hier NUR der Modulabstand — keine eigene Tab-Optik. */
.fba-det-tabs { margin-bottom: 16px; }

.fba-dl { border: 1px solid var(--gray-300, #D8DFDC); border-radius: var(--radius-md, 10px); overflow: hidden; }
.fba-dl-row { display: grid; grid-template-columns: 200px 1fr; gap: 12px; padding: 10px 14px; border-bottom: 1px solid var(--gray-100, #EFF2F1); }
.fba-dl-row:last-child { border-bottom: none; }
.fba-dl-k { font-size: var(--text-xs, 12px); font-weight: 600; text-transform: uppercase; letter-spacing: .03em; color: var(--gray-500, #5F6B66); }
.fba-dl-v { font-size: var(--text-sm, 14px); color: var(--gray-900, #141A17); word-break: break-word; }
.fba-textblock h4 { margin: 16px 0 6px; font-size: var(--text-sm, 14px); color: var(--gray-500, #5F6B66); text-transform: uppercase; letter-spacing: .03em; }
.fba-textblock p { margin: 0; line-height: 1.55; }
.fba-json { margin-top: 12px; }
.fba-json pre { background: var(--gray-100, #EFF2F1); padding: 12px; border-radius: var(--radius-md, 10px); overflow-x: auto; font-size: var(--text-xs); }

/* Anhänge */
.fba-atts-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: 12px; }
.fba-att-card { border: 1px solid var(--gray-300, #D8DFDC); border-radius: var(--radius-md, 10px); overflow: hidden; }
.fba-att-img { width: 100%; height: 120px; object-fit: cover; display: block; background: var(--gray-100, #EFF2F1); }
.fba-att-pdf { display: block; padding: 40px 10px; text-align: center; color: var(--color-sage, #147352); }
.fba-att-cap { padding: 6px 8px; font-size: var(--text-xs, 12px); color: var(--gray-700, #3A4441); }

/* Timeline / Kommentare */
.fba-timeline { list-style: none; margin: 0 0 16px; padding: 0; }
.fba-tl-item { display: flex; gap: 10px; padding: 8px 0; border-bottom: 1px solid var(--gray-100, #EFF2F1); }
.fba-tl-dot { flex: 0 0 auto; width: 9px; height: 9px; margin-top: 5px; border-radius: var(--radius-pill); background: var(--color-sage, #147352); }
.fba-tl-dot-c { background: var(--color-gold, #C8A96E); }
.fba-tl-t { font-size: var(--text-sm, 14px); }
.fba-tl-c { font-size: var(--text-sm, 14px); color: var(--gray-900, #141A17); margin-top: 2px; }
.fba-tl-d { font-size: var(--text-xs, 12px); color: var(--gray-500, #5F6B66); margin-top: 2px; }
.fba-cvis { font-size: 10px; padding: 1px 6px; border-radius: var(--radius-pill); text-transform: uppercase; letter-spacing: .03em; }
.fba-comment-box { border: 1px solid var(--gray-300, #D8DFDC); border-radius: var(--radius-md, 10px); padding: 10px; }
.fba-cm-actions { display: flex; justify-content: flex-end; gap: 8px; margin-top: 8px; }

/* Links/Duplikate */
.fba-link-list { list-style: none; margin: 0 0 10px; padding: 0; }
.fba-link-row { padding: 6px 0; font-size: var(--text-sm, 14px); border-bottom: 1px solid var(--gray-100, #EFF2F1); }
.fba-rel { font-size: var(--text-xs, 12px); color: var(--gray-500, #5F6B66); }
.fba-link-open { color: var(--color-sage, #147352); cursor: pointer; text-decoration: underline; }
.fba-link-del { border: none; background: transparent; color: var(--gray-500, #5F6B66); cursor: pointer; font-size: var(--text-xs, 12px); }
.fba-link-del:hover { color: var(--color-danger, #C0392C); }
.fba-link-add, .fba-cat-add { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; }
.fba-sim-row { padding: 5px 0; font-size: var(--text-sm, 14px); }

/* Entwicklung */
.fba-dev-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 12px; margin-bottom: 12px; }
.fba-dev-f { display: flex; flex-direction: column; gap: 4px; }
.fba-dev-f > span { font-size: var(--text-xs, 12px); font-weight: 600; color: var(--gray-500, #5F6B66); text-transform: uppercase; letter-spacing: .03em; }
.fba-dev-save { margin-top: 12px; }
.fba-prompt textarea { width: 100%; }

/* Eigenständiges Modal (Prompt/Meine-Meldung-Detail) */
.fba-modal-layer { position: fixed; inset: 0; z-index: 9500; display: flex; align-items: center; justify-content: center; }
.fba-modal-bd { position: absolute; inset: 0; background: rgba(26, 32, 28, 0.32); }
.fba-modal-box { position: relative; width: min(640px, calc(100vw - 32px)); max-height: calc(100vh - 64px); overflow: auto; background: var(--color-surface, #fff); border-radius: var(--radius-lg, 16px); box-shadow: var(--shadow-xl, var(--shadow-md)); }
.fba-modal-head { display: flex; align-items: center; gap: 8px; padding: var(--space-4, 16px) var(--space-5, 24px); border-bottom: 1px solid var(--gray-100, #EFF2F1); }
.fba-modal-head h3 { flex: 1; margin: 0; font-size: var(--text-lg, 20px); color: var(--color-forest, #0F5C42); }
.fba-modal-body { padding: var(--space-4, 16px) var(--space-5, 24px); }

/* Meine Meldungen */
.fba-mine-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 12px; }
.fba-mine-card { border: 1px solid var(--gray-300, #D8DFDC); border-radius: var(--radius-md, 10px); padding: var(--space-3, 12px); cursor: pointer; background: var(--color-surface, #fff); }
.fba-mine-card:hover { border-color: var(--color-sage, #147352); box-shadow: var(--shadow-sm); }
.fba-mine-top { display: flex; align-items: center; gap: 8px; margin-bottom: 6px; }
.fba-mine-title { font-weight: 500; margin-bottom: 4px; }
.fba-mine-meta { font-size: var(--text-xs, 12px); color: var(--gray-500, #5F6B66); }
.fba-mine-res { margin-top: 8px; padding: 8px; background: var(--color-mint-soft, #E1F0E6); border-radius: var(--radius-sm, 6px); font-size: var(--text-sm, 14px); color: var(--color-mint-ink, #12704B); }
.fba-qflag { font-size: var(--text-xs, 12px); color: var(--color-warning-ink, #8A6D1E); }
.fba-mine-cmts { list-style: none; margin: 8px 0; padding: 0; }
.fba-mine-cmts li { padding: 6px 0; font-size: var(--text-sm, 14px); border-bottom: 1px solid var(--gray-100, #EFF2F1); }
