/* Betreiberbereich auf dem Handy: Leiste am unteren Rand und das
   Freigabe-Postfach. Farben und Flaechen kommen aus portal-design.css. */

/* ---------- Leiste am unteren Rand (nur schmale Bildschirme) ---------- */
.sv-bleiste{display:none}
@media(max-width:1023px){
  .sv-bleiste{position:fixed;left:0;right:0;bottom:0;z-index:30;display:flex;justify-content:space-around;align-items:stretch;height:calc(64px + env(safe-area-inset-bottom));padding:0 6px env(safe-area-inset-bottom);background:#ffffffee;border-top:1px solid var(--portal-line);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
  .sv-bleiste a,.sv-bleiste button{position:relative;display:flex;flex:1 1 0;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-width:56px;padding:6px 4px;border:0;border-radius:12px;background:transparent;font:inherit;font-size:.68rem;font-weight:650;color:var(--portal-muted);text-decoration:none;cursor:pointer}
  .sv-bleiste .sv-icon{display:block;width:22px;height:22px}
  .sv-bleiste a[aria-current=page]{color:var(--svw-gruen-text,#0b6b4f)}
  .sv-bleiste__zaehler{position:absolute;top:4px;left:calc(50% + 6px);min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:#b45309;color:#fff;font-size:.64rem;font-weight:700;line-height:18px;text-align:center}
  html.fi .fi-page{padding-bottom:calc(84px + env(safe-area-inset-bottom))}
  html.fi .fi-topbar-ctn{position:sticky;top:0;z-index:30}
  /* Startseite: erst, was zu tun ist, dann die Kennzahlen. */
  html.fi .fi-wi-widget:has(.sv-arbeitsvorrat){order:-1}
  /* Tabellen im Betreiberbereich: waagerecht wischen statt abschneiden. */
  html.fi .fi-ta-content{overflow-x:auto;-webkit-overflow-scrolling:touch}
  /* Fingerfreundliche Ziele in Tabellenaktionen und Modalen. */
  html.fi .fi-ta-actions .fi-link,html.fi .fi-ta-actions .fi-btn{min-height:40px}
  html.fi .fi-modal-footer-actions{flex-direction:column-reverse;align-items:stretch}
  html.fi .fi-modal-footer-actions .fi-btn{width:100%;min-height:46px}
}
html.dark .sv-bleiste{background:#0e1626ee;border-color:#ffffff24}

/* Anfrageübersicht: zusammengehörige Angaben statt einer überbreiten Tabelle.
   Container-Abfragen berücksichtigen die Seitenleiste und den Browser-Zoom. */
html.fi .sv-anfragen-uebersicht{container-type:inline-size}
html.fi .sv-anfragen-uebersicht :is(.fi-ta-record,.fi-ta-record-content-ctn,.fi-ta-record-content-ctn>div,.fi-ta-record-content,.fi-ta-col,.fi-ta-stack,.fi-ta-grid>div){min-width:0;max-width:100%}
html.fi .sv-anfragen-uebersicht .fi-ta-record-content-ctn{flex-direction:column;align-items:stretch}
html.fi .sv-anfragen-uebersicht .sv-anfragen-raster{grid-template-columns:minmax(0,1fr);gap:16px}
html.fi .sv-anfragen-uebersicht :is(.fi-ta-text-item,.fi-ta-text-description){white-space:normal;overflow-wrap:anywhere}
html.fi .sv-anfragen-uebersicht .fi-badge{max-width:100%;white-space:normal;flex-shrink:0}
html.fi .sv-anfragen-uebersicht .fi-badge .fi-badge-label{white-space:normal;overflow-wrap:normal;word-break:normal}
html.fi .sv-anfragen-uebersicht .fi-ta-actions{flex-wrap:wrap;justify-content:flex-start}
html.fi .sv-anfragen-uebersicht .fi-ta-sorting-settings{min-width:0;flex-wrap:wrap;row-gap:8px}
html.fi .fi-page:has(.sv-anfragen-uebersicht) .fi-tabs{flex-wrap:wrap;justify-content:center}
@container (min-width:38rem){
  html.fi .sv-anfragen-uebersicht .sv-anfragen-raster{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@container (min-width:58rem){
  html.fi .sv-anfragen-uebersicht .sv-anfragen-raster{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@container (min-width:70rem){
  html.fi .sv-anfragen-uebersicht .fi-ta-record-content-ctn{flex-direction:row;align-items:center}
  html.fi .sv-anfragen-uebersicht .fi-ta-actions{flex-direction:column;align-items:flex-start;flex-shrink:0}
}

/* ---------- Freigabe-Postfach ---------- */
.sv-frei{display:grid;gap:18px;max-width:760px;margin:0 auto;width:100%}
.sv-frei__kopf{padding:18px;border:1px solid var(--portal-line);border-radius:18px;background:var(--portal-surface)}
.sv-frei__zahl{display:flex;align-items:baseline;gap:10px;margin-bottom:6px}
.sv-frei__zahl strong{font-size:2.2rem;line-height:1;font-weight:750}
.sv-frei__zahl span{font-weight:600}
.sv-frei__sperre{padding:14px 16px;border:1px solid #f59e0b66;border-radius:14px;background:#fffbeb;color:#78350f;font-size:.92rem}
html.dark .sv-frei__sperre{background:#451a0333;color:#fde68a}
.sv-frei__gruppe{display:grid;gap:12px}
.sv-frei__gruppenkopf{padding:4px 2px 0}
.sv-frei__gruppenkopf h2{font-size:1.15rem;font-weight:750;margin:0 0 2px}
.sv-frei__gruppenkopf p{margin:0 0 2px}
.sv-frei__link{display:inline-block;padding:6px 0;border:0;background:none;font:inherit;font-size:.9rem;font-weight:600;color:var(--portal-link);text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.sv-frei__sammel{display:grid;grid-template-columns:3fr 2fr;gap:10px}
.sv-frei__sammel .sv-frei__knopf--leise{font-size:.92rem}
.sv-frei__karte{padding:16px;border:1px solid var(--portal-line);border-radius:18px;background:var(--portal-surface);box-shadow:var(--portal-shadow,none)}
.sv-frei__karte-kopf{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:10px}
.sv-frei__karte-kopf h3{margin:0;font-size:1.05rem;font-weight:700;line-height:1.3;overflow-wrap:anywhere}
.sv-frei__daten{display:grid;gap:6px;margin:0 0 14px;font-size:.92rem}
.sv-frei__daten>div{display:grid;grid-template-columns:72px 1fr;gap:10px}
.sv-frei__daten dt{color:var(--portal-muted)}
.sv-frei__daten dd{margin:0;overflow-wrap:anywhere}
.sv-frei__daten dd a{color:var(--portal-link)}
.sv-frei__knoepfe{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.sv-frei__knoepfe .sv-frei__knopf--ja{grid-column:1 / -1}
.sv-frei__knopf{min-height:50px;padding:10px 14px;border:1px solid var(--portal-line);border-radius:14px;background:var(--portal-surface);font:inherit;font-size:1rem;font-weight:700;color:var(--portal-text);cursor:pointer;touch-action:manipulation}
.sv-frei__knopf--ja{border-color:transparent;background:var(--svw-verlauf,#075387);color:#fff}
.sv-frei__knopf--nein{color:#991b1b;border-color:#991b1b40}
html.dark .sv-frei__knopf--nein{color:#fca5a5;border-color:#fca5a540}
.sv-frei__knopf:disabled{opacity:.45;cursor:not-allowed}
.sv-frei__knopf:focus-visible,.sv-frei__link:focus-visible{outline:3px solid var(--portal-link);outline-offset:2px}
.sv-frei__vorschau{display:block;width:100%;height:70vh;margin-top:14px;border:1px solid var(--portal-line);border-radius:12px;background:#fff}
.sv-frei__leer{padding:40px 20px;border:1px dashed var(--portal-line);border-radius:18px;text-align:center}
.sv-frei__leer .sv-icon{width:40px;height:40px;margin:0 auto 10px;color:var(--svw-gruen-text,#0b6b4f)}
.sv-frei__leer h2{margin:0 0 6px;font-size:1.15rem;font-weight:700}
@media(min-width:640px){
  .sv-frei__knoepfe{grid-template-columns:2fr 1fr 1fr}
  .sv-frei__knoepfe .sv-frei__knopf--ja{grid-column:auto}
}

/* Gemeinsame Struktur für alle Betreiberseiten. */
.sv-admin-intro{max-width:65ch;color:var(--portal-muted);line-height:1.6}
.sv-admin-bereiche{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,21rem),1fr));gap:24px;align-items:start}
.sv-admin-bereich{min-width:0}
.sv-admin-bereich h2{font-size:1.05rem;font-weight:750;margin-bottom:10px}
.sv-admin-ziele{display:grid;gap:8px;min-width:0}
.sv-admin-ziel{display:flex;align-items:center;justify-content:space-between;gap:14px;min-width:0;min-height:76px;padding:16px;background:var(--portal-surface);border:1px solid var(--portal-line);border-radius:14px;color:var(--portal-text);text-decoration:none}
.sv-admin-ziel>span:first-child{min-width:0;overflow-wrap:anywhere}
.sv-admin-ziel strong{display:block;font-weight:700}
.sv-admin-ziel small{display:block;color:var(--portal-muted);font-size:.875rem;line-height:1.5;margin-top:3px}
.sv-admin-ziel:hover{border-color:var(--portal-link);background:var(--portal-active)}
.sv-admin-ziel:focus-visible,.sv-admin-kontext a:focus-visible{outline:3px solid var(--portal-link);outline-offset:3px}
.sv-admin-kontext a{display:inline-flex;align-items:center;min-height:44px;color:var(--portal-link);font-weight:650;text-decoration:none}
html.fi :is(.fi-header-heading,.fi-section-header-heading,.fi-in-text-item,.fi-ta-text-item){overflow-wrap:anywhere}
html.fi :is(.fi-page-content,.fi-modal-content) :is(pre,iframe,img){max-width:100%}
html.fi pre{white-space:pre-wrap;overflow-wrap:anywhere}

@media(max-width:767px){
  /* Den Platz für Inhalte nutzen, einschließlich der feststehenden Handyleiste. */
  html.fi .fi-main{padding-inline:max(12px,env(safe-area-inset-left)) max(12px,env(safe-area-inset-right))}
  html.fi .fi-page{row-gap:18px;padding-bottom:calc(92px + env(safe-area-inset-bottom))}
  html.fi .fi-header{flex-wrap:wrap;gap:12px}
  html.fi .fi-header-heading{font-size:1.55rem;line-height:1.25}
  html.fi .fi-header-actions{display:flex;flex-wrap:wrap;width:100%;gap:8px}
  html.fi .fi-header-actions>.fi-btn{flex:1 1 140px}
  html.fi :is(.fi-section-content,.fi-section-header){padding-inline:14px}
  html.fi .fi-section .fi-section{border-inline:0;box-shadow:none;border-radius:0}
  html.fi .fi-section .fi-section :is(.fi-section-content,.fi-section-header){padding-inline:0}
  html.fi :is(.fi-sc,.fi-grid){min-width:0}
  html.fi .fi-page-content [style*="grid-template-columns"]{grid-template-columns:minmax(0,1fr)!important}
  html.fi :is(.fi-fo-field,.fi-input-wrp,.fi-select-input,.fi-ta-cell-content){min-width:0;max-width:100%}
  html.fi :is(input:not([type=checkbox]):not([type=radio]),textarea,select){font-size:16px;max-width:100%}
  html.fi :is(.fi-btn,.fi-icon-btn,.fi-tabs-item,.fi-dropdown-list-item){min-height:44px;touch-action:manipulation}
  html.fi .fi-btn{white-space:normal;overflow-wrap:anywhere}
  html.fi .fi-ta-header-toolbar{flex-wrap:wrap;gap:10px}
  html.fi .fi-ta-search-field{width:100%;max-width:none}
  html.fi .fi-ta-table-stacked-on-mobile .fi-ta-cell-content{overflow-wrap:anywhere;white-space:normal}
  html.fi .fi-ta-table-stacked-on-mobile :is(.fi-ta-text-item,.fi-ta-text){white-space:normal}
  html.fi .fi-ta-table-stacked-on-mobile .fi-ta-cell-label{color:var(--portal-muted);font-size:.8rem;line-height:1.4}
  html.fi .fi-ta-table-stacked-on-mobile .fi-ta-actions{flex-wrap:wrap;gap:8px}
  html.fi .fi-pagination{flex-wrap:wrap;gap:12px}
  html.fi .fi-modal-window{max-height:calc(100dvh - 12px);margin-block:6px}
  html.fi :is(.fi-modal-content,.fi-modal-header,.fi-modal-footer){padding-inline:14px}
  .sv-admin-bereiche{grid-template-columns:minmax(0,1fr);gap:24px}
  .sv-admin-ziel{padding:14px;min-height:74px}
  .sv-admin-kontext{margin-bottom:-8px}
  /* Eigene Auswertungstabellen erhalten dieselbe lesbare Darstellung. */
  .sv-admin-mobile-table{display:block;width:100%;min-width:0!important;max-width:100%}
  .sv-admin-mobile-table>thead{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
  .sv-admin-mobile-table>tbody{display:grid;gap:12px;width:100%}
  .sv-admin-mobile-table>tbody>tr{display:block;padding:12px;border:1px solid var(--portal-line);border-radius:12px;min-width:0}
  .sv-admin-mobile-table>tbody>tr>td{display:block;min-width:0!important;width:auto!important;max-width:100%;padding:7px 0!important;text-align:left!important;white-space:normal!important;overflow-wrap:anywhere;border:0!important}
  .sv-admin-mobile-table>tbody>tr>td::before{display:block;content:attr(data-mobile-label);font-size:.8rem;font-weight:600;color:var(--portal-muted);overflow-wrap:anywhere}
  .sv-admin-mobile-table>tbody>tr>td[colspan]{display:block}
  .sv-admin-mobile-table>tbody>tr>td[colspan]::before{content:none}
  .seo-table-wrap:has(>.sv-admin-mobile-table){max-height:none;overflow:visible}
  .seo-controls{align-items:stretch}
  .seo-controls label{flex:1 1 100%;min-width:0}
  .seo-tabs{display:grid;grid-template-columns:1fr;width:100%}
  .seo-tabs button{min-height:44px;text-align:left}
  .sv-frei{gap:14px}
  .sv-frei__kopf,.sv-frei__karte{padding:14px}
  .sv-frei__sammel{grid-template-columns:1fr}
}
@media print{.sv-bleiste,.sv-admin-kontext{display:none!important}}
@media(max-width:639px){
  html.fi .fi-ta-table-stacked-on-mobile tbody .fi-ta-cell:has(>.fi-ta-cell-label){display:grid;grid-template-columns:minmax(72px,29%) minmax(0,1fr);gap:12px;padding:9px 14px;align-items:start}
  html.fi .fi-ta-table-stacked-on-mobile .fi-ta-cell-label{margin:0;padding-top:2px}
  html.fi .fi-ta-table-stacked-on-mobile .fi-ta-col{padding:0;min-width:0}
}

/* ---------- Verbesserungen Betreiberbereich 22.09.2026 ---------- */
/* Zähler offener Arbeit auf den Kacheln der Sammelseiten (Befund 1). */
.sv-admin-ziel__ende{display:inline-flex;align-items:center;gap:10px;flex-shrink:0}
.sv-admin-zaehler{display:inline-block;min-width:26px;height:26px;padding:0 8px;border-radius:13px;background:#6b7280;color:#fff;font-size:.8rem;font-weight:750;line-height:26px;text-align:center}
.sv-admin-zaehler--warning{background:#b45309}
.sv-admin-zaehler--danger{background:#b91c1c}
.sv-admin-zaehler--success{background:#047857}
.sv-admin-zaehler--primary,.sv-admin-zaehler--info{background:var(--portal-link,#075387)}
/* Server-Watchlist: ein Satz vorweg, Technik eingeklappt (Befund 12). */
.sv-watch__satz{display:grid;gap:4px;padding:14px 16px;border:1px solid var(--portal-line);border-left-width:6px;border-radius:14px;background:var(--portal-surface)}
.sv-watch__satz strong{font-size:1.05rem}
.sv-watch__satz--gruen{border-left-color:#047857}
.sv-watch__satz--gelb{border-left-color:#d97706;background:#fffbeb}
.sv-watch__satz--rot{border-left-color:#b91c1c;background:#fef2f2}
.sv-watch__technik{padding:0 2px}
.sv-watch__technik summary{display:inline-flex;align-items:center;min-height:44px;font-weight:650;color:var(--portal-link);cursor:pointer}
.sv-watch__technik p{margin:.4rem 0;max-width:75ch;line-height:1.55}
@media(max-width:1023px){
  /* Tap-Ziele in Tabellenaktionen mindestens 44 px (Befund 14). */
  html.fi .fi-ta-actions :is(.fi-link,.fi-btn,.fi-icon-btn,.fi-ac-action){min-height:44px}
  html.fi .fi-ta-actions .fi-icon-btn{min-width:44px}
  html.fi .fi-ta-actions .fi-link{padding-inline:6px}
}
@media(max-width:767px){
  /* Übersicht: Kennzahlen mit Wert 0 am Handy weglassen (Befund 7). */
  html.fi .fi-wi-stats-overview-stat.sv-kennzahl-null{display:none}
  /* Anfrage-Ansicht: Angebote und Gespräche vor den Anfragedaten (Befund 3). */
  html.fi .fi-resource-anfragen.fi-resource-view-record-page .fi-page-content>.fi-sc>.fi-grid-col:has(.fi-resource-relation-manager,.fi-sc-tabs){order:-1}
}
