/* Gemeinsame Portaloberfläche. Markenwerte: website-marke.css aus dem Website-Build.
   Filament behält Layout, Zustände und Bedienlogik; diese Datei gestaltet die Oberfläche. */
:root {
    --portal-text: var(--svw-text);
    --portal-muted: var(--svw-text-weich);
    --portal-link: var(--svw-blau);
    --portal-line: var(--svw-linie);
    --portal-field-line: #b6c5ce;
    --portal-surface: #fff;
    --portal-soft: #f3f7f9;
    --portal-glass: var(--svw-glas-fuell-fest);
    --portal-shadow: var(--svw-glas-schatten-weich);
    --portal-active: linear-gradient(115deg, #e7f4f7, #e8f8f0);
    --portal-success: #00795a;
    --portal-success-soft: #ecf8f2;
    --portal-backdrop: radial-gradient(ellipse at 8% 5%, #00ad7910, transparent 48%), radial-gradient(ellipse at 90% 35%, #1287d012, transparent 52%), linear-gradient(180deg, #f7fafc, #eff5f6 34%, #f4f8fa 62%, #eef4f8);
}
html.dark {
    --portal-text: #ecf3fc;
    --portal-muted: #b6c5d9;
    --portal-link: #9cd5f5;
    --portal-line: #ffffff24;
    --portal-field-line: #61718b;
    --portal-surface: #142036;
    --portal-soft: #1b2b43;
    --portal-glass: linear-gradient(155deg, #1a2947f5, #0e1626f0);
    --portal-shadow: 0 10px 26px #03091440, inset 0 1px 0 #ffffff15;
    --portal-active: linear-gradient(115deg, #123d57, #164437);
    --portal-success: #8ce6bd;
    --portal-success-soft: #15382f;
    --portal-backdrop: radial-gradient(ellipse at 10% 0%, #00ad7910, transparent 45%), linear-gradient(155deg, #0e1626, #0a0f1a);
}
:is(html.fi, html.sv-portal-page) body.fi-body, body.sv-portal {
    font-family: var(--svw-font-text);
    color: var(--portal-text);
    background: var(--portal-backdrop);
    background-attachment: fixed;
    -webkit-font-smoothing: antialiased;
}
:is(html.fi, html.sv-portal-page) :is(h1,h2,h3,h4,h5,h6), .sv-portal :is(h1,h2,h3,h4,h5,h6),
:is(html.fi, html.sv-portal-page) :is(.fi-btn,.fi-tabs-item,.fi-section-header-heading,.fi-wi-stats-overview-stat-value,.fi-sidebar-group-label),
:is(html.fi, html.sv-portal-page) :is(.sv-events__stat strong,.mep-karte__preis,.mep-buchen__preis,.smavendo-fortschritt-kopf) {
    font-family: var(--svw-font-titel);
    letter-spacing: -.015em;
}
:is(html.fi, html.sv-portal-page) :is(.fi-header-heading,.fi-simple-header-heading) {
    font-size: clamp(1.8rem, 2.6vw, 2.45rem);
    line-height: 1.15;
    font-weight: 650;
    color: var(--portal-text);
    letter-spacing: -.035em;
}
:is(html.fi, html.sv-portal-page) :is(.fi-header-subheading,.fi-simple-header-subheading,.fi-section-header-description,.fi-fo-field-helper-text) {
    color: var(--portal-muted);
    line-height: 1.6;
}
:is(html.fi, html.sv-portal-page) .fi-body { --topbar-height: 5rem; }
:is(html.fi, html.sv-portal-page) .fi-topbar-ctn { padding: 12px 18px; background: transparent; overflow: visible; }
:is(html.fi, html.sv-portal-page) .fi-topbar {
    min-height: 56px;
    border: var(--svw-glas-kante);
    border-color: var(--portal-line);
    border-radius: var(--svw-radius-pille);
    background: var(--portal-glass);
    box-shadow: var(--portal-shadow);
    backdrop-filter: var(--svw-glas-blur);
    -webkit-backdrop-filter: var(--svw-glas-blur);
}
:is(html.fi, html.sv-portal-page) .fi-topbar .fi-logo { max-height: 32px; max-width: 178px; width: auto; }
:is(html.fi, html.sv-portal-page) .fi-sidebar-nav {
    background: var(--portal-glass);
    border: 1px solid var(--portal-line);
    border-radius: var(--svw-radius-gross);
    box-shadow: var(--portal-shadow);
    margin: 12px 0 18px 18px;
    padding: 24px 20px;
    gap: 24px;
}
:is(html.fi, html.sv-portal-page) .fi-sidebar-header { background: transparent; box-shadow: none; }
:is(html.fi, html.sv-portal-page) .fi-sidebar-item-btn { border-radius: var(--svw-radius-zeile); padding-block: 10px; }
:is(html.fi, html.sv-portal-page) .fi-sidebar-item-label { color: var(--portal-muted); }
:is(html.fi, html.sv-portal-page) .fi-sidebar-group-label { color: var(--portal-muted); font-size: .8rem; font-weight: 600; }
:is(html.fi, html.sv-portal-page) .fi-sidebar-item.fi-active > .fi-sidebar-item-btn {
    background: var(--portal-active);
    box-shadow: inset 3px 0 0 var(--svw-gruen-mittel);
}
:is(html.fi, html.sv-portal-page) .fi-sidebar-item.fi-active > .fi-sidebar-item-btn :is(.fi-icon,.fi-sidebar-item-label) { color: var(--portal-link); }
:is(html.fi, html.sv-portal-page) .fi-sidebar-item-btn:hover, :is(html.fi, html.sv-portal-page) .fi-sidebar-item-btn:focus-visible { background: var(--portal-soft); }
:is(html.fi, html.sv-portal-page) .fi-main { padding-top: 26px; }
/* Gemeinsame Karten einschließlich eingebetteter und freistehender Formulare. */
:is(html.fi, html.sv-portal-page) .fi-section:not(.fi-section-not-contained):not(.fi-aside),
:is(html.fi, html.sv-portal-page) .fi-section.fi-aside > .fi-section-content-ctn,
:is(html.fi, html.sv-portal-page) :is(.fi-ta-ctn,.fi-wi-stats-overview-stat,.fi-simple-main,.fi-sc-tabs.fi-contained),
:is(html.fi, html.sv-portal-page) :is(.sv-event,.sv-events__stat,.mep-kiv,.mep-awa,.mep-vergleich,.mep-kal,.mep-buchen__block,.mep-ed__karte),
.sv-portal :is(.karte,.vertrag) {
    background: var(--portal-glass);
    border: 1px solid var(--portal-line);
    border-radius: var(--svw-radius);
    color: var(--portal-text);
    box-shadow: var(--portal-shadow);
}
:is(html.fi, html.sv-portal-page) :is(.fi-section-header,.fi-section-content-ctn,.fi-section-footer,.fi-ta-header,.fi-ta-header-toolbar) { border-color: var(--portal-line); }
:is(html.fi, html.sv-portal-page) .fi-simple-main {
    border-radius: var(--svw-radius-panel);
    padding: clamp(1.5rem, 4vw, 2.75rem);
    box-shadow: var(--svw-glas-schatten);
}
:is(html.fi, html.sv-portal-page) .fi-simple-header .fi-logo { height: 44px; max-width: 235px; }
:is(html.fi, html.sv-portal-page) .fi-simple-page { gap: 2rem; }
:is(html.fi, html.sv-portal-page) .fi-section-header-heading { font-weight: 600; color: var(--portal-text); }
:is(html.fi, html.sv-portal-page) .fi-wi-stats-overview-stat-value, :is(html.fi, html.sv-portal-page) .sv-events__stat strong { color: var(--portal-link); font-weight: 600; }
:is(html.fi, html.sv-portal-page) .sv-events__stat { border-top: 3px solid var(--svw-gruen-mittel); }
:is(html.fi, html.sv-portal-page) .sv-event__details { background: var(--portal-success-soft); border-color: var(--portal-line); border-radius: var(--svw-radius-klein); }
:is(html.fi, html.sv-portal-page) .sv-events__muted { color: var(--portal-muted); }
/* Buttons: status colours (warning / danger) remain Filament's own. */
:is(html.fi, html.sv-portal-page) .fi-btn, .sv-portal .knopf {
    border-radius: var(--svw-radius-pille);
    font-weight: 600;
    min-height: 40px;
    padding-inline: 18px;
    transition: box-shadow .15s ease, background-color .15s ease;
}
:is(html.fi, html.sv-portal-page) .fi-btn.fi-size-xs { min-height: 32px; padding-inline: 12px; }
:is(html.fi, html.sv-portal-page) .fi-btn.fi-color-primary:not(.fi-outlined):not(label), .sv-portal .knopf:not(.gruen) {
    background: var(--svw-verlauf);
    color: white;
    box-shadow: 0 4px 10px #07538724, inset 0 1px 0 #ffffff38;
}
:is(html.fi, html.sv-portal-page) .fi-btn.fi-color-success:not(.fi-outlined):not(label), .sv-portal .knopf.gruen {
    background: linear-gradient(155deg, #008761, #006b4d);
    color: white;
    box-shadow: 0 4px 10px #00795a20, inset 0 1px 0 #ffffff38;
}
:is(html.fi, html.sv-portal-page) .fi-btn:is(.fi-color-primary,.fi-color-success):not(.fi-outlined):not(label) > .fi-icon { color: white; }
:is(html.fi, html.sv-portal-page) .fi-btn:not(.fi-outlined):not(label):is(.fi-color-primary,.fi-color-success):not([disabled]):not(.fi-disabled):hover,
.sv-portal .knopf:hover { box-shadow: 0 6px 16px #07538735, inset 0 1px 0 #ffffff50; }
:is(html.fi, html.sv-portal-page) .fi-btn.fi-color-gray, :is(html.fi, html.sv-portal-page) .fi-btn:not(.fi-color) { background: var(--portal-surface); color: var(--portal-text); }
:is(html.fi, html.sv-portal-page) .fi-btn.fi-outlined.fi-color-primary { color: var(--portal-link); background: transparent; }
:is(html.fi, html.sv-portal-page) .fi-btn:focus-visible, .sv-portal :is(a,button,input,select,textarea):focus-visible,
:is(html.fi, html.sv-portal-page) :is(.mep-ed__chip,.mep-ed__feld,.mep-notiz,.mep-check__knopf):focus-visible {
    outline: 3px solid var(--portal-link);
    outline-offset: 3px;
}
:is(html.fi, html.sv-portal-page) :is(.fi-input-wrp,.fi-fo-textarea,.fi-fo-rich-editor),
:is(html.fi, html.sv-portal-page) :is(.mep-ed__feld,.mep-notiz), .sv-portal :is(input[type=email],input[type=text]) {
    border-radius: var(--svw-radius-zeile);
    background: var(--portal-surface);
    color: var(--portal-text);
}
:is(html.fi, html.sv-portal-page) .fi-input-wrp:not(.fi-invalid) { box-shadow: 0 0 0 1px var(--portal-field-line), inset 0 1px 3px #12284604; }
:is(html.fi, html.sv-portal-page) .fi-input-wrp:not(.fi-invalid):focus-within { box-shadow: 0 0 0 2px var(--portal-link), 0 0 0 5px #07538712; }
:is(html.fi, html.sv-portal-page) :is(.fi-input,.fi-select-input) { padding-block: 10px; }
:is(html.fi, html.sv-portal-page) .fi-fo-field-label-content { color: var(--portal-text); }
:is(html.fi, html.sv-portal-page) .fi-fo-checkbox { border-radius: 6px; }
:is(html.fi, html.sv-portal-page) :is(.fi-ta-header-cell,.fi-ta-group-header,.fi-ta-summary-header-cell) { background: var(--portal-soft); color: var(--portal-muted); }
:is(html.fi, html.sv-portal-page) .fi-ta-header-cell-label { color: var(--portal-muted); font-weight: 600; }
:is(html.fi, html.sv-portal-page) .fi-ta-row:not(.fi-selected):hover { background: var(--portal-soft); }
:is(html.fi, html.sv-portal-page) :is(.fi-ta-row,.fi-ta-content,.fi-pagination) { border-color: var(--portal-line); }
:is(html.fi, html.sv-portal-page) .fi-ta-text-item { line-height: 1.5; }
:is(html.fi, html.sv-portal-page) .fi-badge { border-radius: var(--svw-radius-pille); padding-inline: 9px; }
:is(html.fi, html.sv-portal-page) :is(.fi-dropdown-panel,.fi-select-dropdown,.fi-global-search-results-ctn,.fi-no-notification) {
    border-radius: var(--svw-radius-klein);
    border-color: var(--portal-line);
    background: var(--portal-surface);
    color: var(--portal-text);
    box-shadow: var(--portal-shadow);
}
:is(html.fi, html.sv-portal-page) .fi-modal-window { background: var(--portal-surface); color: var(--portal-text); border: 1px solid var(--portal-line); }
:is(html.fi, html.sv-portal-page) .fi-modal:not(.fi-modal-slide-over):not(.fi-width-screen) .fi-modal-window { border-radius: var(--svw-radius-gross); }
:is(html.fi, html.sv-portal-page) :is(.fi-modal-header,.fi-modal-footer) { background-color: var(--portal-surface); border-color: var(--portal-line); }
:is(html.fi, html.sv-portal-page) .fi-modal-heading { color: var(--portal-text); font-family: var(--svw-font-titel); }
:is(html.fi, html.sv-portal-page) .fi-tabs { background: var(--portal-glass); border-radius: var(--svw-radius-klein); }
:is(html.fi, html.sv-portal-page) .fi-tabs-item { border-radius: var(--svw-radius-zeile); }
:is(html.fi, html.sv-portal-page) .fi-tabs-item.fi-active { background: var(--portal-active); color: var(--portal-link); }
:is(html.fi, html.sv-portal-page) .fi-pagination-item-btn { border-radius: 12px; }
/* Eigene Portalbausteine verwenden dieselben Flächen und Textfarben. */
:is(html.fi, html.sv-portal-page) .mep-vergleich {
    --mep-rahmen: var(--portal-line); --mep-grund: var(--portal-surface);
    --mep-gedaempft: var(--portal-muted); --mep-text: var(--portal-text);
    --mep-primaer: var(--portal-link); --mep-primaer-grund: var(--portal-soft); --mep-gruen: var(--svw-gruen-mittel);
}
:is(html.fi, html.sv-portal-page) .mep-kiv { --mep-kiv-rahmen: var(--portal-line); --mep-kiv-grund: var(--portal-surface); --mep-kiv-gedaempft: var(--portal-muted); --mep-kiv-text: var(--portal-text); }
:is(html.fi, html.sv-portal-page) .mep-awa { --mep-awa-rahmen: var(--portal-line); --mep-awa-grund: var(--portal-surface); --mep-awa-gedaempft: var(--portal-muted); --mep-awa-text: var(--portal-text); }
:is(html.fi, html.sv-portal-page) .mep-kal { --kal-rahmen: var(--portal-line); --kal-grund: var(--portal-surface); --kal-gedaempft: var(--portal-muted); --kal-text: var(--portal-text); --kal-fremd: var(--portal-soft); }
:is(html.fi, html.sv-portal-page) .mep-aw { --mep-aw-rahmen: var(--portal-line); --mep-aw-gedaempft: var(--portal-muted); }
:is(html.fi, html.sv-portal-page) :is(.mep-karte,.mep-highlight,.mep-awa__angebot,.mep-qualitaet__kachel) { border-radius: var(--svw-radius-klein); }
:is(html.fi, html.sv-portal-page) :is(.mep-karte,.mep-ed__karte) { background-color: var(--portal-surface); }
:is(html.fi, html.sv-portal-page) :is(.mep-marke,.mep-status,.mep-muster,.mep-kiv__status,.mep-aw__marke) { border-radius: var(--svw-radius-pille); }
:is(html.fi, html.sv-portal-page) .mep-karten { grid-template-columns: repeat(auto-fit,minmax(min(100%,19rem),1fr)); }
:is(html.fi, html.sv-portal-page) :is(.mep-ed__einleitung,.mep-ed__quelle,.mep-eck__quelle) { color: var(--portal-link); border-color: var(--portal-link); }
:is(html.fi, html.sv-portal-page) :is(.mep-ed__warum,.mep-ed__karte-zahl,.mep-ed__weiss:not(.mep-ed__weiss--an),.mep-eck__frage,.mep-abg__loesung,.mep-buchen__label,.mep-buchen__preis-klein,.mep-buchen__block h3) { color: var(--portal-muted); }
:is(html.fi, html.sv-portal-page) .mep-ed__karte > summary { background: var(--portal-soft); font-family: var(--svw-font-titel); padding: 16px 20px; }
:is(html.fi, html.sv-portal-page) .mep-ed__inhalt { padding-inline: 20px; }
:is(html.fi, html.sv-portal-page) .mep-ed__feld { min-height: 42px; padding: 10px 12px; border-color: var(--portal-field-line); }
:is(html.fi, html.sv-portal-page) .mep-ed__chip { min-height: 40px; padding-inline: 15px; border-color: var(--portal-field-line); }
:is(html.fi, html.sv-portal-page) .mep-ed__chip--an { background: var(--svw-verlauf); border-color: var(--svw-blau); color: #fff; }
:is(html.fi, html.sv-portal-page) :is(.mep-ed__balken span,.mep-check__balken span,.mep-balken__fuellung) { background: var(--svw-verlauf-neon); }
:is(html.fi, html.sv-portal-page) .mep-check__knopf--an { background: #00795a; border-color: #00795a; }
:is(html.fi, html.sv-portal-page) :is(.mep-freigaben__rolle) { background: var(--portal-soft); color: var(--portal-link); }
:is(html.fi, html.sv-portal-page) .smavendo-fortschritt, .sv-portal .smavendo-fortschritt { border-radius: var(--svw-radius); background: var(--portal-success-soft); border-color: var(--portal-line); color: var(--portal-text); }
:is(html.fi, html.sv-portal-page) .smavendo-fortschritt progress::-webkit-progress-value, .sv-portal .smavendo-fortschritt progress::-webkit-progress-value { background: var(--svw-verlauf-neon); }
:is(html.fi, html.sv-portal-page) .smavendo-fortschritt progress::-moz-progress-bar, .sv-portal .smavendo-fortschritt progress::-moz-progress-bar { background: var(--svw-verlauf-neon); }
:is(html.fi, html.sv-portal-page) .mep-rechtsfuss { color: var(--portal-muted); padding-top: 24px; }
:is(html.fi, html.sv-portal-page) .mep-rechtsfuss a:hover { color: var(--portal-link); }
.sv-portal { --mep-blau: var(--svw-blau); --mep-gruen: #00795a; --mep-text: var(--portal-text); }
.sv-portal h1 { font-size: clamp(1.85rem,4vw,2.75rem); font-weight: 650; letter-spacing: -.035em; line-height: 1.15; }
.sv-portal h2, .sv-portal h3 { font-weight: 600; }
.sv-portal .huelle { padding-block: clamp(1.5rem,5vw,4rem); }
.sv-portal .schmal { max-width: 34rem; }
.sv-portal .kopf { justify-content: center; margin-bottom: 2.5rem; }
.sv-portal .knopf { font-family: var(--svw-font-titel); }
.sv-portal :is(.hinweis,.fehler) { border-radius: var(--svw-radius-zeile); }
.sv-portal .vertrag { padding: clamp(1rem,4vw,2.5rem); overflow-wrap: anywhere; }
.sv-portal .fuss { color: var(--portal-muted); }
@media (max-width:1023px) {
    :is(html.fi, html.sv-portal-page) .fi-topbar-ctn { padding: 10px 12px; }
    :is(html.fi, html.sv-portal-page) .fi-body { --topbar-height: 76px; }
    :is(html.fi, html.sv-portal-page) .fi-sidebar { background: var(--portal-surface); }
    :is(html.fi, html.sv-portal-page) .fi-sidebar-nav { margin: 0 12px 12px; box-shadow: none; border: 0; padding: 16px; }
    :is(html.fi, html.sv-portal-page) .fi-main { padding-top: 18px; }
}
@media (max-width:639px) {
    :is(html.fi, html.sv-portal-page) .fi-topbar { padding-inline: 12px; }
    :is(html.fi, html.sv-portal-page) .fi-topbar .fi-logo { max-width: 132px; }
    :is(html.fi, html.sv-portal-page) .fi-simple-main { border-radius: 24px; }
    :is(html.fi, html.sv-portal-page) :is(.fi-header-heading,.fi-simple-header-heading) { font-size: 1.8rem; }
    :is(html.fi, html.sv-portal-page) .fi-btn { padding-inline: 14px; }
    :is(html.fi, html.sv-portal-page) .sv-events__stats { grid-template-columns: 1fr; }
    :is(html.fi, html.sv-portal-page) .sv-events__stat { display: flex; align-items: center; gap: 12px; }
    :is(html.fi, html.sv-portal-page) .sv-events__stat strong { min-width: 36px; font-size: 1.7rem; }
    :is(html.fi, html.sv-portal-page) .sv-event__actions .fi-btn { width: 100%; }
    :is(html.fi, html.sv-portal-page) .mep-ed__inhalt { padding-inline: 14px; }
    :is(html.fi, html.sv-portal-page) :is(.mep-astandort dl,.mep-kal-detail dl) { grid-template-columns: 1fr; }
    :is(html.fi, html.sv-portal-page) .mep-eck__zeile { flex-wrap: wrap; gap: .25rem; }
    :is(html.fi, html.sv-portal-page) .mep-eck__wert { max-width: 100%; overflow-wrap: anywhere; }
    .sv-portal .karten { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion:reduce) {
    :is(html.fi, html.sv-portal-page) .fi-btn, .sv-portal .knopf { transition: none; }
}
@media (forced-colors:active) {
    :is(html.fi, html.sv-portal-page) :is(.fi-btn,.fi-sidebar-item.fi-active > .fi-sidebar-item-btn,.fi-input-wrp), .sv-portal .knopf { border: 1px solid ButtonText; }
}
@media print {
    :is(html.fi, html.sv-portal-page) body.fi-body, body.sv-portal { background: #fff; color: #111; }
    :is(html.fi, html.sv-portal-page) :is(.fi-topbar-ctn,.fi-sidebar) { display: none; }
    :is(html.fi, html.sv-portal-page) .fi-main { padding: 0; }
    :is(html.fi, html.sv-portal-page) :is(.fi-section,.fi-ta-ctn,.sv-event), .sv-portal .karte { box-shadow: none; background: #fff; }
}

/* Mobile Kopfzeile: Marke und Suche bleiben erreichbar, ohne gedrängte Symbole. */
@media (max-width:1023px) {
    html.fi .fi-topbar-start { display:flex; margin-inline-end:0; }
    html.fi .fi-topbar-collapse-sidebar-btn-ctn { display:none; }
}
@media (max-width:639px) {
    html.fi .fi-body { --topbar-height:128px; }
    html.fi .fi-topbar { flex-wrap:wrap; gap:8px; padding:10px 12px; border-radius:26px; }
    html.fi .fi-topbar-start { flex:1; }
    html.fi .fi-topbar-end { width:100%; gap:12px; }
    html.fi .fi-global-search-ctn { flex:1; min-width:0; }
    html.fi .fi-global-search-field { width:100%; }
}

/* Bedienung auf schmalen Bildschirmen und mit Tastatur. */
html.fi :is(.fi-main-ctn,.fi-main,.fi-page,.fi-page-content,.fi-section,.fi-section-content,.fi-sc,.fi-fo-field,.fi-ta) { min-width: 0; }
html.fi :is(.fi-ta-content,.sv-horizontal-scroll) { max-width: 100%; overflow-x: auto; overscroll-behavior-inline: contain; }
html.fi :is(.fi-ta-content,.sv-horizontal-scroll):focus-visible { outline: 3px solid var(--portal-link); outline-offset: 3px; }
html.fi :is(.fi-header-actions,.fi-ac,.fi-modal-footer-actions) { flex-wrap: wrap; }
html.fi :is(.fi-header-heading,.fi-section-header-heading,.fi-fo-field-wrp-label,.fi-in-text-item) { overflow-wrap: anywhere; }
html.fi .fi-modal-window { max-height: calc(100dvh - 2rem); }
html.fi .fi-modal-content { overscroll-behavior-y: contain; }
html.fi .fi-tabs { max-width: 100%; overflow-x: auto; }
html.fi :is(.sv-device-actions,.sv-notification-channels) { display: flex; flex-wrap: wrap; gap: .75rem; }
html.fi .sv-device-actions { margin-block: 1rem; }
html.fi .sv-notification-grid { display: grid; gap: 1rem; margin-block: 1.5rem; }
html.fi .sv-notification-row { border: 1px solid var(--portal-line); border-radius: 18px; padding: 1rem; min-width: 0; }
html.fi .sv-notification-row legend { font-family: var(--svw-font-titel); font-weight: 650; padding-inline: .35rem; }
html.fi :is(.sv-notification-help,.sv-install-hilfe) { color: var(--portal-muted); font-size: .9rem; margin-block: .5rem 1rem; overflow-wrap: anywhere; }
html.fi .sv-notification-channels label { display: flex; align-items: center; gap: .6rem; min-height: 44px; padding: .5rem .8rem; background: var(--portal-soft); border-radius: 12px; cursor: pointer; }
html.fi .sv-notification-channels input { width: 1.25rem; height: 1.25rem; accent-color: var(--portal-link); }
html.fi .sv-push-status { overflow-wrap: anywhere; }
html.fi .sv-push-geraete { display: grid; gap: .75rem; margin-block: 1rem; }
html.fi .sv-push-geraete li { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .5rem; padding: .75rem; border: 1px solid var(--portal-line); border-radius: 12px; overflow-wrap: anywhere; }
html.fi .sv-plain-button { color: var(--portal-link); text-decoration: underline; text-underline-offset: 3px; cursor: pointer; padding: .65rem; min-height: 44px; }
html.fi :is(.sv-plain-button,.sv-notification-channels label):focus-within { outline: 2px solid var(--portal-link); outline-offset: 2px; }
html.fi .mep-kal-abo code { overflow-wrap: anywhere; word-break: break-all; }
html.fi .mep-kal__kopf { flex-wrap: wrap; gap: .75rem; }
html.fi .sv-calendar-scroll { overflow-x: auto; max-width: 100%; }
html.fi .sv-calendar-scroll .mep-kal__raster { min-width: 630px; }
html.fi .sv-calendar-hilfe { font-size: .875rem; color: var(--portal-muted); margin-bottom: .75rem; }
@media (min-width: 768px) { html.fi .sv-calendar-hilfe { display: none; } }
@media (max-width: 639px) {
    html.fi .fi-main { padding-inline: max(12px, env(safe-area-inset-left)) max(12px, env(safe-area-inset-right)); }
    html.fi .fi-page { padding-bottom: max(1rem, env(safe-area-inset-bottom)); }
    html.fi :is(.fi-btn,.fi-icon-btn,.fi-sidebar-item-btn,.fi-pagination-item-btn,.fi-tabs-item,.fi-dropdown-list-item,.mep-kal__knopf,.mep-kal__eintrag,.mep-ed__chip,.mep-ed__weiss) { min-height: 44px; }
    html.fi .fi-icon-btn { min-width: 44px; }
    html.fi :is(input:not([type=checkbox]):not([type=radio]),textarea,select,.fi-select-input-value) { font-size: 16px; }
    html.fi .fi-btn { white-space: normal; text-align: center; }
    html.fi .fi-simple-main { width: 100%; padding-inline: 20px; }
    html.fi .fi-modal-window { max-height: calc(100dvh - 1rem); }
    html.fi :is(.fi-modal-header,.fi-modal-content,.fi-modal-footer) { padding-inline: 16px; }
    html.fi .fi-modal-footer-actions > .fi-btn { flex: 1 1 10rem; }
    html.fi .sv-device-actions > .fi-btn { flex: 1 1 100%; }
    html.fi .mep-kal__knoepfe { display: flex; flex-wrap: wrap; gap: .4rem; }
    html.fi .fi-topbar-ctn { padding-top: max(8px, env(safe-area-inset-top)); }
}

html.fi .sv-chart-hilfe { display:none; }
@media (max-width:639px) { html.fi .sv-chart-scroll svg { min-width:1000px; } html.fi .sv-chart-hilfe { display:block; font-size:.875rem; color:var(--portal-muted); margin-block:.5rem; } }

/* Standortkarten teilen die Typografie und Bedienelemente des Portals. */
.sv-standort{margin:1rem 0;min-width:0;line-height:1.55}
.sv-standort__titel{font-weight:700;margin-bottom:.35rem}
.sv-standort__hinweis{color:#526879;font-size:.875rem;margin:.5rem 0}
.sv-standort__karte{border:1px solid #cde4df;border-radius:1rem;overflow:hidden;margin-top:.8rem;max-width:100%;background:#f1faf7}
.sv-standort__start{display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:1.5rem;text-align:center}
.sv-standort__start p{max-width:38rem;font-size:.875rem;color:#526879}
.sv-standort__symbol{width:2.5rem;height:2.5rem;color:#008568}
.sv-standort__start a,.sv-standort__aktionen a,.sv-standort__aktionen button{text-decoration:underline;text-underline-offset:3px;min-height:44px;display:inline-flex;align-items:center;padding:.35rem .5rem;color:#07577c;cursor:pointer}
.sv-standort__rahmen{display:block;border:0;width:100%;height:360px;background:#e6f1ed}
.sv-standort__aktionen{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;padding:.4rem .65rem}
.sv-standort__karte>div>.sv-standort__hinweis{padding:0 1rem .75rem}
@media(max-width:640px){.sv-standort__start{padding:1rem}.sv-standort__rahmen{height:310px}.sv-standort__aktionen a,.sv-standort__aktionen button{font-size:.875rem}}

/* ---- 13.09.2026: Kopfleiste mit Navigation (Partnerportal), Wortmarke, Kennzahlen als Kacheln ---- */
:is(html.fi, html.sv-portal-page) .fi-topbar .fi-logo { max-height: 28px; height: 28px; max-width: 170px; }
:is(html.fi, html.sv-portal-page) .fi-simple-header .fi-logo { height: 36px; max-width: 220px; }
html.fi .fi-topbar-nav { display: flex; align-items: center; gap: 4px; margin-inline-start: 18px; min-width: 0; overflow-x: auto; scrollbar-width: none; }
html.fi .fi-topbar-nav::-webkit-scrollbar { display: none; }
html.fi .fi-topbar-item-btn { min-height: 40px; padding: 0 15px; border-radius: var(--svw-radius-pille); font-size: .9rem; font-weight: 600; color: var(--svw-text-mittel); gap: 8px; }
html.fi .fi-topbar-item-btn:hover { background: var(--portal-soft); }
html.fi .fi-topbar-item.fi-active > .fi-topbar-item-btn, html.fi .fi-topbar-item.fi-active .fi-topbar-item-btn { background: var(--portal-active); color: var(--svw-gruen-text); box-shadow: inset 0 0 0 1px #00ad7938; }
html.fi .fi-topbar-item-icon { display: none; }
html.fi .fi-topbar-item-label { white-space: nowrap; }
html.fi .fi-topbar-item .fi-badge { border-radius: var(--svw-radius-pille); }
html.fi .fi-topbar-item .fi-dropdown-panel { border-radius: var(--svw-radius-klein); }
html.fi .fi-topbar-item .fi-dropdown-list-item .fi-icon { display: none; }
html.fi .fi-wi-stats-overview { gap: 12px; }
html.fi .fi-wi-stats-overview-stat { border-radius: var(--svw-radius-klein); padding: 14px 16px; gap: 6px; }
html.fi .fi-wi-stats-overview-stat-label { color: var(--portal-muted); font-weight: 650; font-size: .82rem; }
html.fi .fi-wi-stats-overview-stat-value { font-family: var(--svw-font-titel); font-size: 1.55rem; letter-spacing: -.02em; color: var(--portal-text); }
html.fi .fi-wi-stats-overview-stat-description { color: var(--portal-muted); }
html.fi .fi-wi-stats-overview-stat-description-icon { display: none; }
html.dark .fi-topbar-item-btn { color: #b6c5d9; }
html.dark .fi-topbar-item.fi-active .fi-topbar-item-btn { color: #8ce6bd; }
@media (max-width: 1023px) {
    html.fi .fi-topbar-nav { display: none; }
}
/* Kopfleiste ohne Suchfeld (Partnerportal): eine Zeile auch auf dem Handy. */
@media (max-width:639px) {
    html.fi .fi-topbar:not(:has(.fi-global-search-ctn)) { flex-wrap: nowrap; padding: 8px 8px 8px 14px; gap: 8px; }
    html.fi .fi-topbar:not(:has(.fi-global-search-ctn)) .fi-topbar-end { width: auto; gap: 6px; }
    html.fi .fi-body:has(.fi-topbar:not(:has(.fi-global-search-ctn))) { --topbar-height: 66px; }
}

/* ---- 13.09.2026: Betreiber-Startseite (Arbeitsvorrat, System) und gemeinsame Kachel-Bausteine ---- */
.sv-icon{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round;flex:none}
html.fi .sv-kachel{background:var(--portal-glass);border:1px solid var(--portal-line);border-radius:var(--svw-radius);box-shadow:var(--portal-shadow);padding:14px 18px 16px;min-width:0}
html.fi .sv-kachel__kopf{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px;flex-wrap:wrap}
html.fi .sv-kachel__kopf h2{display:flex;align-items:center;gap:9px;font-size:1rem;font-weight:650;font-family:var(--svw-font-titel);letter-spacing:-.015em;color:var(--portal-text)}
html.fi .sv-kachel__kopf h2 .sv-icon{color:var(--svw-gruen-text);width:18px;height:18px}
html.fi .sv-kachel__chips{display:flex;gap:6px;flex-wrap:wrap}
html.fi .sv-leise{font-size:.86rem;color:var(--portal-muted)}
html.fi .sv-chip{display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 10px;border-radius:var(--svw-radius-pille);font-size:.75rem;font-weight:650;white-space:nowrap;background:#eef1f5;color:var(--portal-muted)}
html.fi .sv-chip--gruen{background:#e6f7ef;color:var(--svw-gruen-text)}
html.fi .sv-chip--warn{background:#fff1e6;color:#9a3412}
html.fi .sv-chip--grau{background:#eef1f5;color:var(--portal-muted)}
html.fi .sv-punkt{width:8px;height:8px;border-radius:50%;background:var(--svw-neon);box-shadow:0 0 0 3px #00da722e;flex:none}
html.fi .sv-punkt--warn{background:#f97316;box-shadow:0 0 0 3px #f9731633}
html.fi .sv-punkt--rot{background:#dc2626;box-shadow:0 0 0 3px #dc262633}
html.fi .sv-punkt--grau{background:#94a3b8;box-shadow:0 0 0 3px #94a3b833}
html.fi .sv-chip--rot{background:#fee2e2;color:#991b1b}
/* Server-Watchlist: Zeile je Server mit Punkt, Name, Listenstand, PTR, Zeit */
html.fi .sv-watch__zeile{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--portal-line);font-size:.85rem;color:var(--portal-text)}
html.fi .sv-watch__zeile:last-of-type{border-bottom:0}
html.fi .sv-watch__zeile>.sv-punkt{margin-top:6px;align-self:flex-start}
html.fi .sv-watch__text{flex:1;min-width:0}
html.fi .sv-watch__name{font-weight:650;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
html.fi .sv-watch__name .sv-leise{font-size:.74rem;font-weight:500}
html.fi .sv-watch__fakten{display:flex;align-items:center;gap:4px 12px;flex-wrap:wrap;margin-top:2px;font-size:.8rem}
html.fi .sv-watch__wert{font-weight:650;color:var(--portal-muted);white-space:nowrap;font-variant-numeric:tabular-nums}
html.fi .sv-watch__wert--gut{color:var(--svw-gruen-text)}
html.fi .sv-watch__wert--warn{color:#9a3412}
html.fi .sv-watch__wert--rot{color:#991b1b}
html.fi .sv-watch__ptr{display:inline-flex;align-items:center;gap:3px}
html.fi .sv-watch__ptr .sv-icon{width:15px;height:15px}
html.fi .sv-watch__fuss{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-top:10px}
html.fi button.sv-knopf{border:0;cursor:pointer;font-family:inherit}
html.fi button.sv-knopf:disabled{opacity:.6;cursor:wait}
html.fi .sv-watch__tabelle{width:100%;border-collapse:collapse;font-size:.85rem}
html.fi .sv-watch__tabelle th,html.fi .sv-watch__tabelle td{padding:.45rem .5rem;border-bottom:1px solid var(--portal-line);text-align:left;vertical-align:top}
html.fi .sv-watch__tabelle th{font-weight:650;color:var(--portal-muted);font-size:.78rem}
html.fi .sv-watch__tabelle td.sv-watch__zahl{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
html.fi .sv-watch__feld{display:grid;gap:4px;font-size:.85rem}
html.fi .sv-watch__feld input,html.fi .sv-watch__feld textarea{border:1px solid #94a3b8;border-radius:.5rem;padding:.45rem .6rem;background:transparent;color:inherit;font:inherit;width:100%}
html.fi .sv-knopf{display:inline-flex;align-items:center;justify-content:center;height:34px;padding:0 14px;border-radius:var(--svw-radius-pille);font-size:.8rem;font-weight:650;text-decoration:none;white-space:nowrap}
html.fi .sv-knopf--primaer{background:var(--svw-verlauf);color:#fff;box-shadow:0 4px 10px #07538724,inset 0 1px 0 #ffffff38}
html.fi .sv-knopf--leise{background:linear-gradient(160deg,#fffffff2,#ffffff9e);border:1px solid #fff;color:var(--svw-blau);box-shadow:0 6px 16px #12284614,inset 0 1px 0 #fff}
html.fi .sv-knopf:hover{filter:brightness(1.03)}
html.fi .sv-vorrat__zeile{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--portal-line)}
html.fi .sv-vorrat__zeile:last-child{border-bottom:0}
html.fi .sv-vorrat__icon{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:12px;background:#eef1f5;color:var(--portal-muted);flex:none}
html.fi .sv-vorrat__icon .sv-icon{width:18px;height:18px}
html.fi .sv-vorrat__icon--dringend{background:#9a341218;color:#9a3412}
html.fi .sv-vorrat__text{flex:1;min-width:0}
html.fi .sv-vorrat__titel{font-size:.9rem;font-weight:650;color:var(--portal-text)}
html.fi .sv-vorrat__text .sv-leise{font-size:.78rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
html.fi .sv-vorrat__leer{padding:6px 0 2px}
html.fi .sv-system__zeile{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:7px 0;border-bottom:1px solid var(--portal-line);font-size:.85rem;color:var(--portal-text)}
html.fi .sv-system__zeile:last-of-type{border-bottom:0}
html.fi .sv-system__wert{font-weight:650;color:var(--portal-muted);text-align:right;overflow-wrap:anywhere}
html.fi .sv-system__wert--gut{color:var(--svw-gruen-text)}
html.fi .sv-system__wert--warn{color:#9a3412}
html.fi .sv-system__mehr{display:inline-block;margin-top:10px;font-size:.82rem;font-weight:650;color:var(--svw-gruen-text)}
html.fi .sv-system__mehr:hover{text-decoration:underline;text-underline-offset:3px}
/* Seitenleiste des Betreibers: Website-Icons, Glas, aktive Zeile gruen */
html.fi .fi-sidebar-item-icon{width:20px;height:20px}
html.fi .fi-sidebar-item.fi-active .fi-sidebar-item-icon{color:var(--svw-gruen-text)}
html.fi .fi-sidebar-group-label{color:var(--portal-muted)}
html.fi .fi-topbar-collapse-sidebar-btn-ctn,html.fi .fi-topbar-open-sidebar-btn-ctn{margin-inline-end:6px}
html.dark .sv-chip--gruen{background:#15382f;color:#8ce6bd}
html.dark .sv-chip--warn{background:#3b2314;color:#fdba74}
html.dark .sv-chip--rot{background:#3f1d1d;color:#fca5a5}
html.dark .sv-watch__wert--warn{color:#fdba74}
html.dark .sv-watch__wert--rot{color:#fca5a5}
html.dark .sv-watch__wert--gut{color:#8ce6bd}
html.dark :is(.sv-chip--grau,.sv-vorrat__icon){background:#1b2b43;color:#b6c5d9}
html.dark .sv-knopf--leise{background:#1b2b43;border-color:#ffffff24;color:#9cd5f5;box-shadow:none}
@media (max-width:639px){
    html.fi .sv-vorrat__zeile{flex-wrap:wrap}
    html.fi .sv-vorrat__bereich{display:none}
    html.fi .sv-vorrat__text{flex-basis:calc(100% - 48px)}
    html.fi .sv-vorrat__zeile .sv-knopf{margin-left:48px}
}

/* ---- 13.09.2026: Karte im Portal-Design (Leaflet, eigene Kacheln) ---- */
.sv-karte{border:1px solid var(--portal-line);border-radius:var(--svw-radius-klein);overflow:hidden;background:#e9f1ee;margin:.8rem 0;box-shadow:var(--portal-shadow)}
.sv-karte__flaeche{height:320px;width:100%;background:#e9f1ee}
.sv-karte__quelle{margin:0;padding:6px 12px;font-size:.72rem;color:var(--portal-muted);background:var(--portal-glass)}
.sv-karte__quelle a{color:inherit;text-decoration:underline}
.sv-karte .leaflet-container{font-family:var(--svw-font-text);font-size:.8rem}
.sv-karte .leaflet-bar{border:1px solid var(--portal-line);border-radius:12px;box-shadow:var(--portal-shadow);overflow:hidden}
.sv-karte .leaflet-bar a{background:#fff;color:var(--svw-text-mittel);border-bottom-color:var(--portal-line);width:34px;height:34px;line-height:34px}
.sv-karte .leaflet-bar a:hover{background:var(--portal-soft)}
.sv-karte__pin{background:transparent;border:0;filter:drop-shadow(0 6px 10px #07538740)}
@media (max-width:639px){.sv-karte__flaeche{height:240px}}
html.dark .sv-karte{background:#142036}html.dark .sv-karte .leaflet-bar a{background:#1b2b43;color:#ecf3fc}html.dark .sv-karte .leaflet-tile{filter:brightness(.82) contrast(1.05)}

/* ---- 14.09.2026: Vorschau-Modus des Betreibers (nur ansehen) ---- */
.sv-vorschau-banner{position:sticky;top:0;z-index:70;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:8px 18px;background:linear-gradient(120deg,#fff1e6,#ffe7d1);border-bottom:1px solid #f2b98a;color:#7c2d12;font-size:.86rem;line-height:1.4}
.sv-vorschau-banner strong{font-weight:700}
.sv-vorschau-banner form{margin:0}
.sv-vorschau-banner button{height:34px;padding:0 14px;border:0;border-radius:999px;background:#9a3412;color:#fff;font:inherit;font-size:.82rem;font-weight:650;cursor:pointer}
.sv-vorschau-banner button:hover{background:#7c2d12}
/* Alles unterhalb der Kopfleiste nur ansehen: Eingaben und Knöpfe ohne Wirkung. */
body:has(.sv-vorschau-banner) .fi-main :is(button,input,select,textarea,label,[role=switch],[role=checkbox],.fi-btn,.fi-icon-btn,.fi-link):not(.sv-nachricht):not(.sv-filter button){pointer-events:none;opacity:.62}
body:has(.sv-vorschau-banner) :is(.fi-modal,.fi-dropdown-panel) :is(button,input,select,textarea,.fi-btn){pointer-events:none;opacity:.62}
body:has(.sv-vorschau-banner) .fi-topbar .fi-user-menu{pointer-events:none;opacity:.62}
@media (max-width:639px){.sv-vorschau-banner{font-size:.78rem;padding:8px 12px}.sv-vorschau-banner form{width:100%}.sv-vorschau-banner button{width:100%}}
html.dark .sv-vorschau-banner{background:linear-gradient(120deg,#3b2314,#4a2a12);border-color:#7c4a1e;color:#fdba74}

/* Smavendo-Haken: das V der Wortmarke (bilder/smavendo-haken.svg) ist der einzige Haken im Portal.
   Gilt für Checklisten, Abgleiche, Auswertungstabellen und alle Filament-Checkboxen. */
:is(html.fi, html.sv-portal-page) .sv-logo-haken{display:inline-block;width:23px;height:24px;vertical-align:middle;flex-shrink:0}
:is(html.fi, html.sv-portal-page) .sv-checkv{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;border-radius:12px;background:transparent;border:0;padding:0;cursor:pointer}
:is(html.fi, html.sv-portal-page) .sv-checkv[disabled]{cursor:default}
:is(html.fi, html.sv-portal-page) .sv-checkv__feld{display:flex;align-items:center;justify-content:center;width:25px;height:26px;border:1.5px solid #b5c8c0;border-radius:7px;background:#fff}
:is(html.fi, html.sv-portal-page) .sv-checkv--fertig .sv-checkv__feld{background:#006a55;border-color:#006a55}
:is(html.fi, html.sv-portal-page) .sv-checkv:focus-visible{outline:2px solid #008568;outline-offset:2px}
:is(html.fi, html.sv-portal-page) .sv-haken-klein{width:16px;height:17px}
:is(html.fi, html.sv-portal-page) .mep-abg__zeichen .sv-logo-haken,
:is(html.fi, html.sv-portal-page) .mep-aw__zeichen .sv-logo-haken{width:16px;height:17px;background:#006a55;border-radius:4px;padding:2px;box-sizing:content-box}
:is(html.fi, html.sv-portal-page) .mep-aw__optional{display:inline-block;padding:.1rem .5rem;border-radius:999px;background:#eef6f2;color:#00795a;font-size:.78rem;font-weight:600;white-space:nowrap}
:is(html.fi, html.sv-portal-page) .mep-check__knopf--an{background:#006a55;border-color:#006a55}
html.fi .fi-checkbox-input{border-radius:6px;box-shadow:inset 0 0 0 1.5px #b5c8c0}
html.fi .fi-checkbox-input:checked{background-color:#006a55;background-image:url("../bilder/smavendo-haken.svg");background-size:70% 70%;background-position:center;background-repeat:no-repeat;box-shadow:none}
html.fi .fi-checkbox-input:checked:focus{box-shadow:0 0 0 2px #fff,0 0 0 4px #008568}

/* ---------- Karte im Smavendo-Look (21.09.2026) ----------
   Die Kacheln kommen unverändert von OpenStreetMap über den eigenen Proxy. Den Look macht
   ein Filter auf der Kachelebene: fast farblos, kühl getönt, etwas heller - so tragen die
   Markenfarben (Pins, Radius, Bereich) die Karte und nicht das Gelb-Rot der Straßen. */
.sv-karte{border-radius:var(--svw-radius);border:1px solid #fff;background:#eaf2f4;box-shadow:0 18px 44px rgba(18,40,70,.10),inset 0 1px 0 #fff}
.sv-karte__flaeche{height:340px;background:#eaf2f4}
.sv-karte--hoch .sv-karte__flaeche{height:420px}
.sv-karte .leaflet-tile-pane{filter:grayscale(.92) sepia(.22) hue-rotate(152deg) saturate(1.5) brightness(1.06) contrast(.9)}
.sv-karte .leaflet-container{background:#eaf2f4;outline:0}
.sv-karte .leaflet-top.leaflet-left{top:6px;left:6px}
.sv-karte .leaflet-bar{border:1px solid #fff;border-radius:999px;box-shadow:0 8px 20px rgba(18,40,70,.14),inset 0 1px 0 #fff;overflow:hidden;background:linear-gradient(160deg,rgba(255,255,255,.96),rgba(255,255,255,.78));-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.sv-karte .leaflet-bar a{background:transparent;color:var(--svw-blau);border-bottom:1px solid rgba(18,40,70,.08);width:36px;height:36px;line-height:36px;font-family:var(--svw-font-titel);font-weight:600;font-size:18px}
.sv-karte .leaflet-bar a:last-child{border-bottom:0}
.sv-karte .leaflet-bar a:hover{background:rgba(7,83,135,.08);color:var(--svw-blau)}
.sv-karte .leaflet-bar a:focus-visible{outline:2px solid var(--svw-gruen-text);outline-offset:-3px}
.sv-karte__pin{background:transparent;border:0;filter:drop-shadow(0 7px 10px rgba(7,83,135,.30))}
.sv-karte .sv-karte__schild{padding:4px 10px;border:1px solid #fff;border-radius:999px;background:linear-gradient(160deg,rgba(255,255,255,.97),rgba(255,255,255,.84));box-shadow:0 8px 18px rgba(18,40,70,.14);font-family:var(--svw-font-titel);font-size:.74rem;font-weight:600;color:var(--svw-text-mittel);white-space:nowrap}
.sv-karte .sv-karte__schild::before{display:none}
.sv-karte__legende{list-style:none;display:flex;flex-wrap:wrap;gap:6px 18px;margin:0;padding:10px 14px 2px;font-size:.8rem;color:var(--svw-text-mittel);background:var(--portal-glass)}
.sv-karte__legende li{display:inline-flex;align-items:center;gap:8px;min-width:0}
.sv-karte__zeichen{display:inline-block;flex:none;width:14px;height:14px;border-radius:50%}
.sv-karte__zeichen--eigen{background:linear-gradient(150deg,#00c98a,#00714e);box-shadow:0 0 0 2px #fff,0 2px 5px rgba(0,113,78,.4)}
.sv-karte__zeichen--event{background:linear-gradient(150deg,#0d74b8,#06507f);box-shadow:0 0 0 2px #fff,0 2px 5px rgba(7,83,135,.4)}
.sv-karte__zeichen--bereich{background:rgba(0,173,121,.22);border:2px solid #00AD79}
.sv-karte__zeichen--radius{background:rgba(7,83,135,.06);border:1.6px dashed #075387}
.sv-karte__quelle{padding:6px 14px 8px;font-size:.7rem}
.sv-standort__weg{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 10px;margin:.5rem 0 .2rem;font-size:.9rem;color:var(--svw-text-mittel)}
.sv-standort__km{font-family:var(--svw-font-titel);font-size:1.35rem;font-weight:700;letter-spacing:-.02em;color:var(--svw-text)}
.sv-standort__marke{display:inline-flex;align-items:center;height:24px;padding:0 10px;border-radius:999px;font-size:.74rem;font-weight:650}
.sv-standort__marke--ja{background:#e6f7ef;color:var(--svw-gruen-text)}
.sv-standort__marke--nein{background:#fff1e6;color:#9a3412}
.sv-einzug{margin-top:.4rem}
.sv-einzug__titel{font-family:var(--svw-font-titel);font-weight:600;font-size:.95rem;margin:0 0 .2rem}
.sv-einzug__hinweis{font-size:.82rem;line-height:1.5;color:var(--portal-muted);margin:.4rem 0 0;max-width:70ch}
@media (max-width:639px){.sv-karte__flaeche{height:260px}.sv-karte--hoch .sv-karte__flaeche{height:320px}.sv-standort__km{font-size:1.2rem}}

/* ---------- Partnerportal: Hinweiszeile, Radius-Schnellwahl (21.09.2026) ---------- */
.sv-partnerfreigabe--zeile{margin:0 0 1rem;padding:10px 14px;border:1px solid #cfe9dc;border-radius:16px;background:var(--portal-success-soft);font-size:.88rem;color:var(--svw-text-mittel)}
.sv-partnerfreigabe--zeile>summary{display:flex;align-items:center;flex-wrap:wrap;gap:6px 10px;list-style:none;cursor:pointer}
.sv-partnerfreigabe--zeile>summary::-webkit-details-marker{display:none}
.sv-partnerfreigabe--zeile>summary:focus-visible{outline:2px solid var(--portal-link);outline-offset:3px;border-radius:10px}
.sv-partnerfreigabe__titel{font-family:var(--svw-font-titel);font-weight:650;color:var(--svw-text)}
.sv-partnerfreigabe__stand{display:inline-flex;align-items:center;gap:6px;height:24px;padding:0 10px;border-radius:999px;font-size:.74rem;font-weight:650;background:#fff;border:1px solid #d6e6dd}
.sv-partnerfreigabe__stand::before{content:"";width:7px;height:7px;border-radius:50%;background:#c2410c}
.sv-partnerfreigabe__stand--ja{color:var(--svw-gruen-text)}
.sv-partnerfreigabe__stand--ja::before{background:#00a372}
.sv-partnerfreigabe__stand--offen{color:#9a3412}
.sv-partnerfreigabe__mehr{font-size:.78rem;color:var(--portal-muted);text-decoration:underline;text-underline-offset:3px}
.sv-partnerfreigabe--zeile[open] .sv-partnerfreigabe__mehr{color:var(--svw-text-mittel)}
.sv-partnerfreigabe__knopf{margin-left:auto;display:inline-flex;align-items:center;min-height:34px;padding:0 14px;border-radius:999px;background:var(--svw-verlauf);color:#fff!important;font-weight:650;font-size:.8rem;text-decoration:none;white-space:nowrap}
.sv-partnerfreigabe--zeile>p{margin:8px 0 2px;max-width:80ch;line-height:1.5}
.sv-partnerfreigabe--zeile>p a{color:var(--portal-link);text-decoration:underline;text-underline-offset:3px}
html.fi .sv-radiuswahl{margin-top:-6px}
html.fi .sv-radiuswahl :is(.fi-btn,.fi-link,button){min-height:34px;border-radius:999px;padding:0 14px;font-size:.8rem;font-weight:650;background:#fff;border:1px solid rgba(7,83,135,.26);color:var(--svw-blau);text-decoration:none}
html.fi .sv-radiuswahl :is(.fi-btn,.fi-link,button):hover{background:var(--portal-active);color:var(--svw-gruen-text)}
html.fi .sv-radiuswahl .fi-ac{gap:8px;flex-wrap:wrap}
.sv-standort__fahrt{font-size:.85rem;color:var(--portal-muted)}
@media (max-width:639px){
  .sv-partnerfreigabe__knopf{margin-left:0;min-height:40px}
  html.fi .sv-radiuswahl .fi-btn{min-height:40px}
}
