/* vtable (aus vsuite) im Portal: vtable erzeugt Bootstrap-Klassen, das Portal hat kein Bootstrap.
   Hier die wenigen nötigen Regeln im Filament-Look (CI-Blau, abgerundete Felder). */
:root { --vt-accent: #203D4C; --vt-accent-rgb: 32, 61, 76; --vt-hl-bg: rgba(51, 153, 51, .28); }
.dark { --vt-accent: #93C5FD; --vt-accent-rgb: 147, 197, 253; }
.vtable-toolbar { margin-bottom: .75rem; }
.vtable-toolbar .input-group { display: flex; align-items: stretch; flex: 1 1 16rem; max-width: 24rem; }
.vtable-toolbar .input-group-text { display: flex; align-items: center; padding: 0 .6rem; border: 1px solid #D1D5DB; border-right: 0; border-radius: .5rem 0 0 .5rem; background: #F9FAFB; color: #6B7280; }
.form-control, .form-select { width: 100%; font: inherit; font-size: .875rem; padding: .4rem .65rem; border: 1px solid #D1D5DB; border-radius: .5rem; background: #fff; color: #111827; }
.vtable-toolbar .form-control { border-radius: 0 .5rem .5rem 0; }
.form-control:focus, .form-select:focus { outline: 2px solid rgba(32, 61, 76, .35); outline-offset: 0; border-color: #203D4C; }
.form-control-sm, .form-select-sm { padding: .25rem .5rem; font-size: .8rem; }
.dark .form-control, .dark .form-select { background: rgba(255,255,255,.05); border-color: rgba(255,255,255,.15); color: #F3F4F6; }
.dark .vtable-toolbar .input-group-text { background: rgba(255,255,255,.04); border-color: rgba(255,255,255,.15); color: #9CA3AF; }
.vtable-count, .vtable-pager .text-muted, .text-muted { color: #6B7280; }
.dark .vtable-count, .dark .text-muted { color: #9CA3AF; }
.small { font-size: .8rem; }
.vtable-pager .pagination { display: flex; gap: .25rem; list-style: none; padding: 0; margin: 0; }
.vtable-pager .page-link { display: inline-block; min-width: 2rem; padding: .2rem .5rem; text-align: center; border: 1px solid #D1D5DB; border-radius: .4rem; color: inherit; text-decoration: none; cursor: pointer; }
.vtable-pager .active .page-link { background: #203D4C; border-color: #203D4C; color: #fff; }
.vtable-pager .disabled .page-link { opacity: .4; pointer-events: none; }
table.vtable th.vtable-sortable { padding-right: 1.4rem; }
.text-center { text-align: center; }
.py-3 { padding-top: 1rem; padding-bottom: 1rem; }

/* Filament-Tabellen passen in die Seitenbreite, ohne seitliches Scrollen: Suchfelder unter den Spaltenköpfen ohne
   Mindestbreite (Filament: 12rem je Spalte), Köpfe und Texte brechen um (App\Filament\Tabellen setzt wrap()).
   Am Handy entfällt die Spaltensuche, die Suche über der Tabelle bleibt. */
.fi-ta-individual-search-cell { min-width: 0; padding-inline: .4rem; }
.fi-ta-individual-search-cell .fi-ta-search-field, .fi-ta-individual-search-cell .fi-input-wrp, .fi-ta-individual-search-cell input { min-width: 0; width: 100%; }
.fi-ta-individual-search-cell .fi-input-wrp-prefix { display: none; }
.fi-ta-header-cell:not(.fi-wrapped) { white-space: normal; }
.fi-ta-header-cell { padding-inline: .6rem; }
.fi-ta-text { overflow-wrap: anywhere; hyphens: auto; -webkit-hyphens: auto; }
/* Namen (Betrieb, Person) nicht mit Bindestrich trennen, nur umbrechen, wenn es gar nicht passt */
.uge-ohne-trennung.fi-ta-text, .uge-ohne-trennung .fi-ta-text { hyphens: manual; -webkit-hyphens: manual; overflow-wrap: break-word; min-width: 9rem; }
/* Ohne Silbentrennung, aber ohne Mindestbreite (z. B. Änderungsprotokoll: Wer, Datensatz, Was) */
.uge-keine-silben.fi-ta-text, .uge-keine-silben .fi-ta-text { hyphens: manual; -webkit-hyphens: manual; overflow-wrap: break-word; }
/* Nie umbrechen (Datum/Uhrzeit), breite Textspalte mit Mindestbreite (z. B. „Was“ im Änderungsprotokoll) */
.uge-ohne-umbruch.fi-ta-text, .uge-ohne-umbruch .fi-ta-text { white-space: nowrap; }
.uge-breit.fi-ta-text, .uge-breit .fi-ta-text { min-width: 14rem; }
@media (max-width: 47.999rem) { .fi-ta-individual-search-row { display: none; } }
