/* Gemeinsame Ordnung: dieselbe Gewichtung, Abstände und Bedienflächen in allen Portalen. */
:root{--portal-backdrop:#f5f7f7;--portal-glass:#fff;--portal-shadow:0 2px 5px #193a3010;--portal-line:#dde5e3;--portal-active:#e9f6ef}
html.dark{--portal-backdrop:#0f1725;--portal-glass:#152135;--portal-shadow:0 2px 5px #0002;--portal-line:#ffffff24;--portal-active:#193c32}
html.fi :is(.fi-header-heading,.fi-simple-header-heading){font-size:clamp(1.6rem,2.5vw,2.1rem);line-height:1.2}
html.fi :is(.fi-header-subheading,.fi-section-header-description,.fi-fo-field-helper-text){line-height:1.5;font-size:.875rem}
html.fi .fi-topbar{border-radius:18px;box-shadow:0 1px 3px #153b3010;backdrop-filter:none;-webkit-backdrop-filter:none}
html.fi .fi-sidebar-nav{padding:16px 12px;gap:18px;margin-top:8px;box-shadow:none;border-radius:18px}
html.fi .fi-sidebar-group-label{font-size:.72rem;font-weight:700;letter-spacing:.035em;text-transform:uppercase}
html.fi .fi-sidebar-item-btn{min-height:40px;padding:8px 10px;border-radius:10px}
html.fi .fi-sidebar-item-label{font-size:.875rem;line-height:1.35}
html.fi .fi-sidebar-item.fi-active>.fi-sidebar-item-btn{box-shadow:inset 3px 0 0 #00a874;font-weight:650}
html.fi .fi-section:not(.fi-aside):not(.fi-section-not-contained),html.fi :is(.fi-ta-ctn,.fi-wi-stats-overview-stat,.sv-event,.mep-ed__karte){border-radius:16px}
html.fi :is(.fi-section-header,.fi-section-content,.fi-section-footer){padding:18px 20px}
html.fi .fi-section-header-heading{font-size:1rem;line-height:1.4}
html.fi .fi-section-header{gap:12px}
html.fi .fi-main{padding-top:22px}
html.fi :is(.fi-sc.fi-sc-has-gap,.fi-page-content){gap:20px}
html.fi .fi-wi-stats-overview-stat{padding:18px 20px}
html.fi .fi-wi-stats-overview-stat-value{font-size:1.65rem;line-height:1.25;overflow-wrap:anywhere}
html.fi .fi-wi-stats-overview-stat-label{font-size:.85rem;font-weight:600}
html.fi .fi-wi-stats-overview-stat-description{font-size:.8rem;line-height:1.4}
html.fi a.fi-wi-stats-overview-stat:hover{border-color:var(--portal-link);box-shadow:0 2px 8px #153b3014}
html.fi :is(.fi-ta-header,.fi-ta-header-toolbar){padding:14px 18px;gap:12px}
html.fi .fi-ta-cell{padding-top:12px;padding-bottom:12px}
html.fi .fi-ta-text-item{font-size:.875rem}
html.fi .fi-ta-header-cell-label{font-size:.8rem}
html.fi :is(.fi-btn,.fi-tabs-item,.fi-dropdown-list-item){min-height:40px}
html.fi .fi-btn{padding-inline:16px;box-shadow:none!important;font-size:.875rem}
html.fi .fi-header-actions{gap:8px}
html.fi :is(.fi-fo-textarea,.fi-input-wrp){border-radius:10px}
html.fi .fi-fo-field-label-content{font-size:.9rem;font-weight:600}
html.fi .fi-badge{font-size:.75rem;line-height:1.5}
html.fi .fi-modal-window{border-radius:18px}
html.fi .fi-modal-footer{border-top:1px solid var(--portal-line);background:var(--portal-surface)}
html.fi .smavendo-fortschritt{padding:10px 14px;margin-bottom:16px;border-radius:12px}
html.fi .smavendo-fortschritt-kopf{font-size:.85rem}
html.fi .smavendo-fortschritt-prozent{font-size:1.05rem}
html.fi .smavendo-fortschritt progress{height:5px;margin:6px 0}
html.fi .smavendo-fortschritt-hinweis{font-size:.76rem}
html.fi :is(.fi-empty-state-heading,.fi-ta-empty-state-heading){font-size:1.1rem}
html.fi .mep-rechtsfuss{font-size:.76rem;line-height:1.6;padding-top:20px}
html.fi .mep-karte{border-radius:14px;box-shadow:none}
html.fi .mep-karte__kopf{gap:12px}
html.fi .mep-karte__abschnitt{margin-top:14px;padding-top:14px}
html.fi :is(.mep-kiv,.mep-awa){border-radius:16px;box-shadow:none}
html.fi :is(button,a,input,textarea,select):focus-visible{outline:2px solid var(--portal-link);outline-offset:3px}
@media(max-width:1023px){html.fi .fi-sidebar-nav{margin:8px 12px 16px;padding:14px 10px}html.fi .fi-sidebar-item-btn{min-height:44px}}
@media(max-width:639px){html.fi .fi-topbar{border-radius:16px;gap:6px;padding:10px 12px}html.fi :is(.fi-section-header,.fi-section-content,.fi-section-footer){padding:14px}html.fi .fi-wi-stats-overview-stat{padding:14px}html.fi .fi-wi-stats-overview-stat-value{font-size:1.4rem}html.fi .fi-main{padding-top:16px}html.fi :is(.fi-btn,.fi-tabs-item,.fi-dropdown-list-item,.fi-icon-btn){min-height:44px}html.fi :is(.fi-ta-header,.fi-ta-header-toolbar){padding:12px}html.fi .fi-section-header-heading{font-size:.95rem}html.fi .fi-page-header-main-ctn{gap:20px}}
@media print{html.fi .fi-wi-stats-overview-stat,html.fi .fi-section{break-inside:avoid;box-shadow:none}}

html.fi .sv-events__stats .sv-events__stat{display:flex;align-items:baseline;gap:6px}html.fi .sv-events__stats .sv-events__stat strong{min-width:0;width:auto;margin-right:0;flex:0 0 auto}

html.fi .fi-badge{max-width:100%;white-space:normal;text-align:start}html.fi .fi-badge .fi-badge-label{white-space:normal;overflow-wrap:anywhere}html.fi .fi-badge .fi-icon{flex-shrink:0}

/* ---------- Breitenordnung 21.09.2026 ----------
   Die Seitenbreite setzt Filament über fi-width-* (Standard 80rem); Lesetext- und
   Formularseiten geben in der PHP-Klasse eine schmalere Breite an. Hier nur, was
   Filament nicht regelt: Abzeichen in Tabellen brechen nicht mehr buchstabenweise,
   Kennzahlen skalieren mit der Fensterbreite. */
html.fi .fi-ta-cell .fi-badge{white-space:nowrap;max-width:none}
html.fi .fi-ta-cell .fi-badge .fi-badge-label{white-space:nowrap;overflow-wrap:normal}
html.fi .fi-ta-cell .fi-ta-text{gap:4px}
html.fi .fi-wi-stats-overview-stat-value{font-size:clamp(1.3rem,1.5vw,1.65rem)}
html.fi .fi-in-entry-label,html.fi .fi-fo-field-label-content{font-size:.85rem}
html.fi .fi-in-text-item{font-size:.95rem;line-height:1.45}
html.fi .fi-sc-tabs.fi-contained>.fi-tabs{flex-wrap:wrap}

/* ---------- Breitenordnung 21.09.2026 ----------
   Die Seitenbreite setzt Filament über fi-width-* (Standard 80rem); Lesetext- und
   Formularseiten geben in der PHP-Klasse eine schmalere Breite an. Hier nur, was
   Filament nicht regelt: Abzeichen in Tabellen brechen nicht mehr buchstabenweise,
   Kennzahlen skalieren mit der Fensterbreite. */
html.fi .fi-ta-cell .fi-badge{white-space:nowrap;max-width:none}
html.fi .fi-ta-cell .fi-badge .fi-badge-label{white-space:nowrap;overflow-wrap:normal}
html.fi .fi-ta-cell .fi-ta-text{gap:4px}
html.fi .fi-wi-stats-overview-stat-value{font-size:clamp(1.3rem,1.5vw,1.65rem)}
html.fi .fi-in-entry-label,html.fi .fi-fo-field-label-content{font-size:.85rem}
html.fi .fi-in-text-item{font-size:.95rem;line-height:1.45}
html.fi .fi-sc-tabs.fi-contained>.fi-tabs{flex-wrap:wrap}
