/* =============================================================================================================
   Händler: Händlersuche, Händlerprofil, Händlerkonto (Übersicht, Bestand, Import, Profil, Tarif).
   Ergänzt das Design-System (ebd.css); nur Klassen, die es dort nicht gibt.
   ============================================================================================================= */

/* ---------- Händlersuche ---------- */
.ebd-haendlersuche { margin-bottom: var(--ebd-a4); }
.ebd-haendlersuche .ebd-standortleiste { margin-bottom: var(--ebd-a3); }
.ebd-haendlersuche__filter { display: grid; gap: var(--ebd-a3); grid-template-columns: 1fr; align-items: end; }
@media (min-width: 700px) { .ebd-haendlersuche__filter { grid-template-columns: repeat(3, minmax(0, 1fr)); } .ebd-haendlersuche__anwenden { grid-column: 1 / -1; justify-self: start; } }
@media (min-width: 1100px) { .ebd-haendlersuche__filter { grid-template-columns: repeat(3, minmax(0, 1fr)) auto; } .ebd-haendlersuche__anwenden { grid-column: auto; min-height: 38px; } }

/* Händlerkarte (Ergänzungen) */
.ebd-haendlerkarte { align-content: start; gap: 10px; }
.ebd-haendlerkarte__kopf { align-items: flex-start; }
.ebd-haendlerkarte__titel { min-width: 0; flex: 1; }
.ebd-haendlerkarte__name { overflow-wrap: anywhere; }
.ebd-haendlerkarte__beispiel { flex: none; }
.ebd-haendlerkarte__zeile { display: flex; align-items: center; gap: 8px; margin: 0; font-size: var(--ebd-fs-s); color: var(--ebd-text-2); }
.ebd-haendlerkarte__zeile .ebd-icon { width: 17px; height: 17px; color: var(--ebd-grau); }
.ebd-haendlerkarte__zeile.ebd-offen .ebd-icon { color: var(--ebd-gruen-text); }
.ebd-haendlerkarte .ebd-merkmale { margin-top: 2px; }

/* ---------- Händlerprofil ---------- */
.ebd-haendlerprofil__vorschau { margin: var(--ebd-a3) 0 var(--ebd-a4); }
.ebd-haendlerprofil__vorschau p { margin: 0; }
.ebd-haendlerprofil__vorschau p + p { margin-top: 4px; }
.ebd-haendlerkopf { display: grid; gap: var(--ebd-a4); grid-template-columns: 1fr; align-items: start; padding-block: var(--ebd-a3) var(--ebd-a6); }
@media (min-width: 700px) { .ebd-haendlerkopf { grid-template-columns: auto minmax(0, 1fr); gap: var(--ebd-a5); } }
.ebd-haendlerkopf__logo { width: 72px; height: 72px; border-radius: 18px; font-size: var(--ebd-fs-2xl); }
@media (min-width: 900px) { .ebd-haendlerkopf__logo { width: 96px; height: 96px; border-radius: 22px; font-size: var(--ebd-fs-3xl); } }
.ebd-haendlerkopf h1 { margin: 4px 0 var(--ebd-a2); overflow-wrap: anywhere; }
.ebd-haendlerkopf__badge { vertical-align: middle; font-size: var(--ebd-fs-xs); letter-spacing: 0; }
.ebd-haendlerkopf__meta { display: flex; flex-wrap: wrap; gap: 6px 18px; margin: 0 0 var(--ebd-a4); color: var(--ebd-text-2); }
.ebd-haendlerkopf__meta span { display: inline-flex; align-items: center; gap: 6px; }
.ebd-haendlerkopf__meta .ebd-icon { width: 18px; height: 18px; color: var(--ebd-grau); }
.ebd-haendlerkopf__meta .ebd-offen .ebd-icon { color: var(--ebd-gruen-text); }
.ebd-haendlerprofil__haupt { display: grid; gap: var(--ebd-a7); min-width: 0; }
.ebd-haendlerprofil__abschnitt > .ebd-abschnitt__kopf { margin-bottom: var(--ebd-a4); }
.ebd-haendlerprofil__abschnitt .ebd-prosa { font-size: var(--ebd-fs-m); }
@media (min-width: 1000px) and (max-width: 1199px) { .ebd-haendlerprofil__raster { grid-template-columns: 1fr 1fr; } }

/* Größen eines Modells beim Händler */
.ebd-groessen { display: flex; flex-wrap: wrap; gap: 4px; list-style: none; margin: 6px 0 0; padding: 0; }
.ebd-groesse { display: inline-flex; align-items: center; min-height: 26px; padding: 2px 8px; border-radius: 6px; border: 1px solid var(--ebd-linie-stark); background: #fff; font-size: var(--ebd-fs-xs); font-weight: 700; color: var(--ebd-text); }
.ebd-groesse::before { content: ""; width: 7px; height: 7px; margin-right: 6px; border-radius: 50%; background: var(--ebd-gruen-text); }
.ebd-groesse--bestellbar { color: var(--ebd-grau); border-style: dashed; }
.ebd-groesse--bestellbar::before { background: transparent; box-shadow: inset 0 0 0 1.5px var(--ebd-grau); }

/* Kontakt, Öffnungszeiten, Anbieterkennzeichnung */
.ebd-kontaktliste { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; font-size: var(--ebd-fs-s); }
.ebd-kontaktliste li { display: flex; gap: 10px; align-items: flex-start; overflow-wrap: anywhere; }
.ebd-kontaktliste .ebd-icon { width: 18px; height: 18px; margin-top: 1px; color: var(--ebd-grau); flex: none; }
.ebd-oeffnungszeiten th { width: 38%; }
.ebd-oeffnungszeiten__heute th, .ebd-oeffnungszeiten__heute td { font-weight: 700; color: var(--ebd-schwarz); }
.ebd-anbieterkennzeichnung .ebd-tabelle-daten th { width: 40%; }
.ebd-anbieterkennzeichnung .ebd-tabelle-daten td { overflow-wrap: anywhere; }
.ebd-seitenleiste .ebd-karte__titel { font-size: var(--ebd-fs-l); }

/* ---------- Händlerkonto: gemeinsam ---------- */
.ebd-bestand__hinweis, .ebd-import__wartet, .ebd-profil__hinweis, .ebd-uebersicht__status { margin-bottom: var(--ebd-a4); }
.ebd-bestand__hinweis p, .ebd-import__wartet p, .ebd-profil__hinweis p, .ebd-uebersicht__status p { margin: 0; }
.ebd-bestand__hinweis p + p, .ebd-import__wartet p + p, .ebd-uebersicht__status p + p { margin-top: 6px; }
.ebd-import__wartet .ebd-reihe { margin-top: 8px; }
.ebd-kennzahl { min-width: 0; }
.ebd-kennzahl--link { display: block; text-decoration: none; color: inherit; transition: border-color .15s, box-shadow .15s; }
.ebd-kennzahl--link:hover { border-color: var(--ebd-schwarz) !important; box-shadow: var(--ebd-schatten-1); color: inherit; }
.ebd-kennzahlen--hell .ebd-kennzahl--link .ebd-kennzahl__text { color: var(--ebd-gruen-text); font-weight: 700; }
.ebd-uebersicht__zahlen, .ebd-import__statistik { margin-bottom: var(--ebd-a5); grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); }
.ebd-karte__titel .ebd-icon { color: var(--ebd-gruen-text); }


/* ---------- Bestand ---------- */
.ebd-bestand__filter { margin-bottom: var(--ebd-a3); }
.ebd-bestand__suche { display: flex; flex-wrap: wrap; gap: var(--ebd-a2); margin-bottom: var(--ebd-a4); }
.ebd-bestand__suche .ebd-eingabe-symbol { flex: 1 1 260px; }
.ebd-bestand__sammel { display: flex; flex-wrap: wrap; align-items: center; gap: var(--ebd-a2); margin-bottom: var(--ebd-a3); }
.ebd-bestand__sammel .ebd-select { width: auto; min-width: 170px; }
.ebd-bestand__alle { align-items: center; margin-right: var(--ebd-a2); }
.ebd-bestand__alle[hidden] { display: none; }
@media (min-width: 800px) {
	.ebd-bestand__tabelle td, .ebd-bestand__tabelle th { padding: 10px 8px; }
	.ebd-bestand__tabelle td:first-child, .ebd-bestand__tabelle th:first-child { padding-left: 14px; }
}
.ebd-bestand__aktion { text-align: right; white-space: nowrap; }
.ebd-bestand__bearbeiten { padding-inline: 9px; }
.ebd-bestand__rad .ebd-badge { margin-top: 4px; }
.ebd-bestand__tabelle .ebd-tabelle__zahl { white-space: nowrap; }
.ebd-bestand__wahl { width: 36px; }
.ebd-bestand__wahl input { width: 20px; height: 20px; margin: 0; accent-color: var(--ebd-schwarz); vertical-align: middle; }
.ebd-bestand__rad { min-width: 170px; }
.ebd-bestand__tabelle thead th { white-space: normal; letter-spacing: .03em; vertical-align: bottom; line-height: 1.3; }
.ebd-bestand__tabelle .ebd-badge { white-space: normal; }
.ebd-bestand__rad a { color: var(--ebd-schwarz); text-decoration: none; }
.ebd-bestand__rad a:hover { text-decoration: underline; }
.ebd-bestand__code { font-variant-numeric: tabular-nums; font-size: var(--ebd-fs-xs); color: var(--ebd-text-2); white-space: nowrap; }
.ebd-bestand__wege { flex-wrap: nowrap; gap: 4px; }
.ebd-bestand__wege .ebd-icon { width: 17px; height: 17px; color: var(--ebd-text-2); }
.ebd-bestand__offen { background: #fffbeb; }
.ebd-tabelle tbody tr.ebd-bestand__offen:hover { background: #fff6d8; }
@media (max-width: 799px) {
	.ebd-bestand__tabelle tr { position: relative; padding-left: 48px; }
	.ebd-bestand__tabelle td.ebd-bestand__wahl { position: absolute; left: 14px; top: 14px; width: auto; padding: 0; }
	.ebd-bestand__rad { min-width: 0; padding-bottom: 6px !important; }
	.ebd-bestand__rad[data-label]::before { content: none; }
	.ebd-bestand__wege { display: inline-flex; }
	.ebd-bestand__aktion { text-align: left; }
	.ebd-bestand__code br, .ebd-tabelle--stapel .ebd-tabelle__zahl br { display: none; }
	.ebd-bestand__code .ebd-gedaempft::before, .ebd-tabelle--stapel .ebd-tabelle__zahl br + .ebd-sehrklein::before { content: " · "; }
}
.ebd-bestand__status { margin-top: var(--ebd-a3); }
.ebd-bestand__status form { margin: 0; }
.ebd-bestand__quelle td { overflow-wrap: anywhere; }

/* Modell suchen und Variante wählen */
.ebd-modellwahl__zeile { display: flex; flex-wrap: wrap; gap: var(--ebd-a2); margin-top: 6px; }
.ebd-modellwahl__zeile .ebd-eingabe-symbol { flex: 1 1 240px; }
.ebd-modellwahl__treffer { list-style: none; margin: 0; padding: 0; border: 1px solid var(--ebd-linie); border-radius: var(--ebd-r); overflow: hidden; }
.ebd-modellwahl__treffer li + li { border-top: 1px solid var(--ebd-linie); }
.ebd-modellwahl__treffer a { display: flex; align-items: center; gap: 8px; padding: 12px 14px; color: var(--ebd-text); text-decoration: none; }
.ebd-modellwahl__treffer a:hover { background: var(--ebd-flaeche); color: var(--ebd-schwarz); }
.ebd-modellwahl__treffer a .ebd-icon { margin-left: auto; color: var(--ebd-grau); }
.ebd-modellwahl__treffer .ebd-gedaempft { font-size: var(--ebd-fs-s); }
.ebd-modellwahl__gewaehlt { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--ebd-a2); padding: 12px 14px; border-radius: var(--ebd-r); background: var(--ebd-gruen-hell); }
.ebd-modellwahl__gewaehlt .ebd-modellkarte__marke { color: #0b5a0b; }
.ebd-modellwahl__name { margin: 2px 0 0; font-size: var(--ebd-fs-l); font-weight: 900; }
.ebd-variantenwahl { list-style: none; margin: 0; padding: 0; grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); }
.ebd-variantenwahl li { display: grid; gap: 4px; align-content: start; }
.ebd-variantenwahl .ebd-badge { justify-self: start; margin-top: 4px; }
.ebd-bestand__zuordnen { margin-top: var(--ebd-a4); }

/* ---------- Import ---------- */
.ebd-import__datei { padding: 9px 12px; cursor: pointer; }
.ebd-import__datei::file-selector-button { margin-right: 12px; padding: 6px 12px; border: 1px solid var(--ebd-linie-stark); border-radius: 8px; background: var(--ebd-flaeche); font: inherit; font-weight: 700; cursor: pointer; }
.ebd-import__feedstatus { margin-bottom: var(--ebd-a4); }
.ebd-import__feedstatus td { overflow-wrap: anywhere; }
.ebd-import__feedaktionen { margin-top: var(--ebd-a3); padding-top: var(--ebd-a3); border-top: 1px solid var(--ebd-linie); }
.ebd-import__feedaktionen form { margin: 0; }
.ebd-import__spalten { margin: 0; display: grid; gap: 10px; }
.ebd-import__spalten div { display: grid; gap: 2px; }
.ebd-import__spalten dt { font-size: var(--ebd-fs-s); }
.ebd-import__spalten dd { margin: 0; font-size: var(--ebd-fs-xs); color: var(--ebd-grau); }
.ebd-import__spalten code { font-size: var(--ebd-fs-s); font-weight: 700; color: var(--ebd-schwarz); }
.ebd-import__spalten .ebd-badge { padding: 1px 6px; font-size: 11px; }
.ebd-import__regeln { padding-left: 1.2em; margin-bottom: var(--ebd-a3); }
.ebd-import__regeln li + li { margin-top: 6px; }
.ebd-import__quelle { display: inline-block; max-width: 240px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; vertical-align: bottom; }
.ebd-import__quelle-lang { overflow-wrap: anywhere; }
.ebd-import__zuordnung { display: grid; gap: var(--ebd-a3); grid-template-columns: 1fr; }
@media (min-width: 700px) { .ebd-import__zuordnung { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1300px) { .ebd-import__zuordnung { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.ebd-import__vorschau td { font-size: var(--ebd-fs-xs); }

/* ---------- Händlerprofil (Konto) ---------- */
.ebd-zeiten { display: grid; gap: 0; border-top: 1px solid var(--ebd-linie); }
.ebd-zeiten__tag { display: grid; gap: 8px 12px; padding: 12px 0; border-bottom: 1px solid var(--ebd-linie); grid-template-columns: 1fr auto; align-items: center; }
.ebd-zeiten__name { font-weight: 700; }
.ebd-zeiten__zu { justify-self: end; align-items: center; }
.ebd-zeiten__fenster { display: flex; align-items: center; gap: 6px; grid-column: 1 / -1; }
.ebd-zeiten__fenster .ebd-input { width: auto; flex: 1 1 0; min-width: 0; max-width: 150px; }
.ebd-zeiten__fehler { grid-column: 1 / -1; }
.ebd-zeiten__tag--fehler .ebd-input { border-color: var(--ebd-fehler); }
@media (min-width: 760px) {
	.ebd-zeiten__tag { grid-template-columns: 120px 130px repeat(2, minmax(0, 1fr)); }
	.ebd-zeiten__zu { justify-self: start; }
	.ebd-zeiten__fenster { grid-column: auto; }
}
.ebd-zeiten__tag input:disabled { opacity: .45; }
[data-zeiten-kopieren] { margin-top: var(--ebd-a3); }
.ebd-profil__marken { display: grid; gap: 8px 16px; grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); max-height: 320px; overflow-y: auto; padding: 4px 2px; }
.ebd-profil__speichern { position: sticky; bottom: 0; z-index: 5; padding: 12px 0; background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, #fff 30%); }
.ebd-check input:disabled + span { color: var(--ebd-grau); }

/* ---------- Tarif ---------- */
.ebd-tarif__preis { margin: var(--ebd-a3) 0 var(--ebd-a4); }
.ebd-tarif__liste { list-style: none; margin: 0 0 var(--ebd-a3); padding: 0; display: grid; gap: 14px; }
.ebd-tarif__liste li { display: flex; gap: 12px; align-items: flex-start; }
.ebd-tarif__liste .ebd-icon { width: 22px; height: 22px; margin-top: 1px; color: var(--ebd-gruen-text); flex: none; }

/* ---------- Übersicht ---------- */
.ebd-aufgaben { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.ebd-aufgabe { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 8px 12px; align-items: center; padding: 12px; border-radius: var(--ebd-r); background: var(--ebd-flaeche); }
.ebd-aufgabe .ebd-btn { grid-column: 2; justify-self: start; }
@media (min-width: 600px) { .ebd-aufgabe { grid-template-columns: auto minmax(0, 1fr) auto; } .ebd-aufgabe .ebd-btn { grid-column: auto; } }
.ebd-aufgabe__symbol { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 10px; background: #fff; color: var(--ebd-text-2); }
.ebd-aufgabe--hoch .ebd-aufgabe__symbol { background: var(--ebd-schwarz); color: var(--ebd-gruen); }
.ebd-aufgabe__text { font-size: var(--ebd-fs-s); }
.ebd-uebersicht__erledigt { display: flex; gap: 10px; align-items: center; margin: 0; color: var(--ebd-gruen-text); font-weight: 700; }
.ebd-uebersicht__diagramme { margin-bottom: var(--ebd-a3); }
.ebd-importliste { list-style: none; margin: 0 0 var(--ebd-a3); padding: 0; }
.ebd-importliste li + li { border-top: 1px solid var(--ebd-linie); }
.ebd-importliste a { display: grid; gap: 2px; padding: 10px 0; color: inherit; text-decoration: none; }
.ebd-importliste a:hover strong { text-decoration: underline; }
.ebd-importliste__kopf { display: flex; justify-content: space-between; gap: 8px; align-items: center; font-size: var(--ebd-fs-s); }
.ebd-schnelllinks { list-style: none; margin: 0; padding: 0; display: grid; gap: 2px; }
.ebd-schnelllinks a { display: flex; align-items: center; gap: 10px; padding: 8px 4px; border-radius: 8px; color: var(--ebd-text); font-weight: 700; font-size: var(--ebd-fs-s); text-decoration: none; }
.ebd-schnelllinks a:hover { background: #fff; color: var(--ebd-schwarz); }
.ebd-schnelllinks .ebd-icon { color: var(--ebd-gruen-text); }

/* Säulendiagramm (Aufrufe) */
.ebd-diagramm { margin: 0; display: grid; gap: 8px; min-width: 0; }
.ebd-diagramm__kopf { display: grid; gap: 2px; font-size: var(--ebd-fs-s); }
.ebd-diagramm__titel { font-weight: 700; }
.ebd-diagramm__summe { color: var(--ebd-grau); }
.ebd-diagramm__summe strong { color: var(--ebd-schwarz); font-size: var(--ebd-fs-l); }
.ebd-diagramm__flaeche { display: grid; grid-template-columns: auto minmax(0, 1fr); column-gap: 8px; row-gap: 4px; }
.ebd-diagramm__skala { display: flex; flex-direction: column; justify-content: space-between; height: 120px; font-size: var(--ebd-fs-xs); line-height: 1; color: var(--ebd-grau); text-align: right; font-variant-numeric: tabular-nums; }
.ebd-diagramm__svg { display: block; width: 100%; height: 120px; overflow: visible; }
.ebd-diagramm__gitter { stroke: var(--ebd-linie); stroke-width: 1; }
.ebd-diagramm__grundlinie { stroke: var(--ebd-linie-stark); stroke-width: 1; }
.ebd-diagramm__balken { fill: var(--ebd-gruen-text); }
.ebd-diagramm__balken:hover { fill: var(--ebd-schwarz); }
.ebd-diagramm__tage { grid-column: 2; display: flex; justify-content: space-between; font-size: var(--ebd-fs-xs); color: var(--ebd-grau); }
.ebd-diagramm__werte summary { cursor: pointer; font-size: var(--ebd-fs-xs); color: var(--ebd-gruen-text); font-weight: 700; }
.ebd-diagramm__werte table { margin-top: 6px; }
.ebd-diagramm__werte td { width: 30%; }
@media (forced-colors: active) { .ebd-diagramm__balken { fill: CanvasText; } }

/* Felder nebeneinander: Eingaben oben ausrichten (sonst dehnt sich das Feld auf die Höhe des Nachbarn) */
.ebd-formular__zeile--oben { align-items: start; }
.ebd-formular__zeile--oben > .ebd-feld { align-content: start; }
