* { box-sizing: border-box; }

:root {
  --navy: #101b2e;
  --navy-2: #17263d;
  --rot: #e23b32;
  --rot-dunkel: #c62f28;
  --bg: #eef1f6;
  --karte: #ffffff;
  --text: #152033;
  --muted: #5c6b7e;
  --linie: #e4eaf1;
  --gruen: #1f9d55;
}

body {
  margin: 0;
  font-family: "Segoe UI", system-ui, sans-serif;
  background: var(--bg);
  color: var(--text);
}

.app {
  display: flex;
  min-height: 100vh;
}

.marke {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 4px 10px 22px;
}
.marke-zeichen {
  width: 28px;
  height: 28px;
  border-radius: 8px;
  background: var(--rot);
  display: block;
  position: relative;
  flex-shrink: 0;
}
.marke-zeichen::after {
  content: "";
  position: absolute;
  left: 6px;
  right: 6px;
  top: 11px;
  height: 6px;
  border-radius: 2px;
  background: #fff;
}
.marke strong {
  font-size: 18px;
  letter-spacing: 0.02em;
}

.menue {
  width: 232px;
  flex-shrink: 0;
  background: var(--navy);
  color: #f4f7fb;
  padding: 22px 14px;
  display: flex;
  flex-direction: column;
}
.menue nav {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.menue a {
  display: block;
  padding: 11px 12px;
  border-radius: 8px;
  color: #c5d0de;
  text-decoration: none;
  font-weight: 600;
  font-size: 14px;
}
.menue a:hover { background: var(--navy-2); color: #fff; }
.menue a.aktiv {
  background: #fff;
  color: var(--navy);
}

.rechts {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
}

header {
  background: var(--karte);
  color: var(--text);
  padding: 16px 28px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 24px;
  border-bottom: 1px solid var(--linie);
}
h1 { margin: 0; font-size: 18px; font-weight: 700; }
.sub { margin: 4px 0 0; color: var(--muted); font-size: 13px; }
.hint { margin: 0; color: var(--muted); max-width: 320px; font-size: 13px; line-height: 1.4; text-align: right; }

main { padding: 28px; max-width: 1180px; width: 100%; }

section {
  background: var(--karte);
  border-radius: 14px;
  padding: 24px 26px 28px;
  margin-bottom: 20px;
  border: 1px solid var(--linie);
  box-shadow: 0 8px 24px rgba(16, 27, 46, 0.04);
}
h2 { margin: 0 0 6px; font-size: 22px; letter-spacing: -0.02em; }
.lead { margin: 0 0 20px; color: var(--muted); line-height: 1.5; }

.knoepfe { display: flex; gap: 8px; flex-wrap: wrap; justify-content: flex-end; }

.playlist {
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-width: 180px;
}
.playlist-zeile {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
}
.playlist-zeile span { flex: 1; }
.klickbar { cursor: pointer; }
.klickbar:hover { background: #eef3f8; }

.screen {
  display: grid;
  grid-template-columns: 1.4fr 0.7fr 0.9fr 1.4fr auto;
  gap: 12px;
  align-items: center;
  padding: 14px 14px;
  margin-bottom: 10px;
  border: 1px solid var(--linie);
  border-radius: 12px;
  background: #fbfcfe;
}
.screen:first-child { border-top: 1px solid var(--linie); }
.screen-form {
  margin-top: 18px;
  padding-top: 16px;
  border-top: 1px dashed var(--linie);
}

.offen { margin-top: 8px; }
.offen-zeile {
  display: flex;
  gap: 12px;
  align-items: center;
  background: #fff6e8;
  border: 1px solid #f3ddb4;
  padding: 12px 14px;
  border-radius: 10px;
  margin-bottom: 10px;
}

.status-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--muted);
  background: #eef2f6;
  border-radius: 999px;
  padding: 5px 10px;
  width: fit-content;
}
.status-pill.an {
  color: #157a42;
  background: #e5f7ec;
}

.dot {
  display: inline-block;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #9aa8b8;
}
.dot.an { background: var(--gruen); }

.btn-klein {
  background: #eef2f6;
  color: var(--text);
  font-weight: 600;
  padding: 8px 12px;
  border-radius: 8px;
}
.btn-klein:hover { background: #e2e8ef; filter: none; }
header .btn-klein {
  background: transparent;
  border: 1px solid var(--linie);
}

.modell { color: var(--muted); font-size: 13px; margin-top: 3px; }

input[type="text"],
input[type="password"],
input[type="file"],
input[type="datetime-local"],
select {
  font-size: 14px;
  font-family: inherit;
  padding: 9px 12px;
  border: 1px solid #cfd8e3;
  border-radius: 8px;
  background: #fff;
  color: var(--text);
}
input:focus, select:focus {
  outline: 2px solid rgba(226, 59, 50, 0.25);
  border-color: var(--rot);
}

.filter-zeile {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 16px;
}
.filter-zeile label {
  font-size: 14px;
  font-weight: 600;
  color: var(--muted);
}

form { display: flex; gap: 12px; align-items: center; margin-bottom: 14px; flex-wrap: wrap; }

button {
  background: var(--rot);
  color: #fff;
  border: 0;
  border-radius: 8px;
  padding: 10px 16px;
  font-size: 14px;
  font-family: inherit;
  font-weight: 700;
  cursor: pointer;
}
button:hover { background: var(--rot-dunkel); filter: none; }

.tabelle-box { overflow-x: auto; }
table { width: 100%; border-collapse: collapse; font-size: 14px; }
th, td { text-align: left; padding: 11px 10px; border-bottom: 1px solid var(--linie); white-space: nowrap; }
th {
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  background: #f7f9fc;
}
tbody tr:hover { background: #f8fafc; }

.badge {
  display: inline-block;
  font-size: 12px;
  font-weight: 700;
  color: #9a3412;
  background: #ffedd5;
  border-radius: 999px;
  padding: 3px 8px;
}

.status { color: var(--navy); }
.badge.warnung { color: #92400e; background: #fef3c7; cursor: help; }
.badge.ok { color: #166534; background: #dcfce7; }
.geraet-zustand { display: flex; flex-wrap: wrap; gap: 4px; }
#geraete td:nth-child(3) { white-space: normal; min-width: 170px; max-width: 200px; }
.kamera-schalter { display: inline-flex; align-items: center; gap: 4px; font-size: 13px; white-space: nowrap; cursor: pointer; }
.pruefung { margin: 0 0 12px; font-size: 14px; color: var(--muted); }
.pruefung strong { color: var(--text); }
.pruefung .gut { color: var(--gruen); font-weight: 700; }
.pruefung .achtung { color: #b45309; font-weight: 700; }
.status.fehler { color: var(--rot); }
code {
  background: #f3f6fa;
  padding: 2px 6px;
  border-radius: 4px;
  font-size: 13px;
}
.empty { color: var(--muted); padding: 8px 0; }

.konto { display: flex; flex-direction: column; align-items: flex-end; gap: 8px; }
.konto select { max-width: 240px; }

.login-seite {
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  background:
    radial-gradient(1200px 500px at 10% -10%, rgba(226, 59, 50, 0.18), transparent 50%),
    var(--navy);
}
.login-karte {
  background: #fff;
  width: 100%;
  max-width: 420px;
  border-radius: 16px;
  padding: 32px 28px 34px;
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.25);
}
.login-karte h1 { margin-bottom: 8px; font-size: 26px; }
.login-karte .marke { padding: 0 0 12px; color: var(--text); }
.login-karte form { flex-direction: column; align-items: stretch; }
.login-karte input {
  font-size: 16px;
  padding: 12px 12px;
}

@media (max-width: 860px) {
  .app { flex-direction: column; }
  .menue { width: 100%; flex-direction: row; flex-wrap: wrap; align-items: center; padding: 12px; }
  .marke { padding: 4px 10px 4px 4px; }
  .menue nav { flex-direction: row; flex-wrap: wrap; }
  .screen { grid-template-columns: 1fr; }
}

/* Kampagnen */
.kampagne-form[hidden] { display: none; }
.badge.aus { color: var(--muted); background: #eef1f6; }
.knoepfe.links { justify-content: flex-start; }
td.knoepfe { display: table-cell; }
td.knoepfe .btn-klein { margin-right: 6px; }
.kampagne-form { flex-direction: column; align-items: stretch; max-width: 640px; }
.kampagne-form h3 { margin: 0; }
.kampagne-form label { display: flex; flex-direction: column; gap: 6px; font-size: 13px; font-weight: 600; }
.kampagne-form fieldset { border: 1px solid var(--linie); border-radius: 10px; padding: 10px 14px; margin: 0; }
.kampagne-form legend { font-size: 13px; font-weight: 600; padding: 0 4px; }
.auswahl { display: flex; flex-direction: column; gap: 6px; }
.auswahl label { flex-direction: row; align-items: center; gap: 6px; font-weight: 400; font-size: 14px; }
.kampagne-hinweis {
  font-size: 13px;
  color: #1e40af;
  background: #dbeafe;
  border-radius: 8px;
  padding: 6px 10px;
}
.report-kopf p { margin: 4px 0; }
.report h3 { margin: 22px 0 8px; font-size: 16px; }
.kacheln { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 12px; margin: 18px 0 4px; }
.kachel { border: 1px solid var(--linie); border-radius: 12px; padding: 14px; display: flex; flex-direction: column; gap: 4px; }
.kachel strong { font-size: 22px; }
.kachel span { color: var(--muted); font-size: 13px; }
.report-fuss { margin-top: 20px; color: var(--muted); font-size: 12px; line-height: 1.5; }

/* Beim Drucken (bzw. "Als PDF speichern") nur den Report zeigen. */
@media print {
  body { background: #fff; }
  .menue, header, .nicht-drucken, .seite > h2, .seite > .lead { display: none !important; }
  main { padding: 0; }
  section { border: none; box-shadow: none; padding: 0; }
  th, td { white-space: normal; }
}

/* Preisschilder am Bildschirm */
.anzahl { display: flex; align-items: center; gap: 8px; font-size: 13px; font-weight: 600; white-space: nowrap; }
.schilder-bereich { grid-column: 1 / -1; min-width: 0; display: flex; flex-direction: column; gap: 10px; }
.schilder-liste { display: grid; grid-template-columns: repeat(auto-fill, minmax(380px, 1fr)); gap: 8px 16px; }
.schild-zeile { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.farb-zeile { display: flex; align-items: center; gap: 8px; flex: 1; min-width: 0; flex-wrap: wrap; }
.farb-zeile select { flex: 1; min-width: 160px; }
.farb-titel { font-size: 13px; color: var(--muted); }
.angebot-wahl { flex-basis: 100%; }
.farb-wahl { display: inline-flex; align-items: center; gap: 4px; }
.farb-knopf { width: 22px; height: 22px; padding: 0; border-radius: 50%; border: 2px solid #d6dde6; cursor: pointer; }
.farb-standard { font-size: 12px; padding: 3px 8px; border-radius: 11px; border: 1px solid #d6dde6; background: #fff; color: var(--text); cursor: pointer; }
.farb-wahl input[type="color"] { width: 28px; height: 24px; padding: 0; border: 2px solid #d6dde6; border-radius: 6px; background: none; cursor: pointer; }
.farb-knopf.aktiv, .farb-standard.aktiv, .farb-wahl input.aktiv { border-color: var(--rot); box-shadow: 0 0 0 2px rgba(227, 6, 19, 0.2); }
.schild-zeile select { flex: 1; min-width: 130px; }
.vorschau { position: relative; width: 100%; overflow: hidden; border-radius: 8px; background: #0b1220; }
/* Absolut, damit das 1920+ px breite Vorschaufenster die Seite nicht verbreitert. */
.vorschau iframe { position: absolute; top: 0; left: 0; border: 0; transform-origin: 0 0; pointer-events: none; }
.mini-bild { width: 120px; height: 40px; object-fit: cover; border-radius: 6px; display: block; }
.schild-zeile input[type="range"] { flex: 1.2; min-width: 90px; accent-color: var(--rot); }
.position-wert { width: 44px; text-align: right; font-size: 13px; color: var(--muted); }
/* Im Etiketten-Layout lassen sich die Etiketten in der Vorschau ziehen. */
.vorschau.ziehbar iframe { pointer-events: auto; }

/* Promo-Regale */
.regal-karte { border: 1px solid var(--linie); border-radius: 12px; padding: 14px; margin-bottom: 12px; background: #fbfcfe; }
.regal-kopf { display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.regal-vorschau { position: relative; width: 100%; max-width: 900px; margin-top: 10px; background: #0b1220; border-radius: 8px; overflow: hidden; }
.regal-vorschau video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.regal-streifen { position: absolute; left: 0; right: 0; border-top: 2px dashed rgba(255, 255, 255, 0.8); }
.regal-streifen:first-of-type { border-top: none; }
.regal-streifen span { position: absolute; left: 6px; top: 4px; font-size: 11px; color: #fff; background: rgba(0, 0, 0, 0.55); padding: 1px 6px; border-radius: 4px; }

/* Zeitplan der Promo-Regale */
.zeitplan { display: flex; flex-direction: column; gap: 12px; }
.zeitplan-zeile { display: flex; flex-wrap: wrap; gap: 14px; align-items: flex-end; }
.zeitplan-zeile[hidden] { display: none; }
.zeitplan input[type="number"] { width: 90px; }
.zeitplan input[type="time"], .zeitplan input[type="number"] {
  font-size: 14px; font-family: inherit; padding: 7px 10px; border: 1px solid #cfd8e3; border-radius: 8px;
}
.klein-titel { font-size: 13px; margin-right: 6px; }
.tag { flex-direction: row !important; align-items: center; gap: 4px; font-weight: 400 !important; }
.zp-fenster-zeile { gap: 6px; }

/* Regal-Ansicht */
.regale-ansicht { display: flex; flex-direction: column; gap: 18px; margin-bottom: 14px; }
.regal { border: 1px solid #d6dde6; border-radius: 14px; background: #f3f5f8; overflow: hidden; }
.regal.promo { border-color: #f59e0b; box-shadow: 0 0 0 2px rgba(245, 158, 11, 0.15); }
.regal > .regal-kopf { padding: 12px 14px; background: #fff; border-bottom: 1px solid var(--linie); }
.regal-promo-info { margin: 0; padding: 6px 14px; background: #fffbeb; }
.bretter { display: flex; flex-direction: column; gap: 0; padding: 10px 14px; min-height: 54px; }
.bretter.einzeln { border: 1px dashed #cfd8e3; border-radius: 12px; gap: 10px; margin-bottom: 14px; }
.regal .bretter .brett { border-radius: 0; border-bottom: 6px solid #8b98a8; }   /* Regalboden */
.regal .bretter .brett:first-child { border-top-left-radius: 10px; border-top-right-radius: 10px; }
.brett { background: #fff; border: 1px solid var(--linie); border-radius: 10px; padding: 10px 12px; display: flex; flex-direction: column; gap: 8px; }
.brett.wird-gezogen { opacity: 0.35; }
.brett-kopf { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.brett-kopf .knoepfe { margin-left: auto; }
.griff { cursor: grab; font-size: 20px; color: var(--muted); padding: 0 4px; user-select: none; }
.griff:active { cursor: grabbing; }
.name-feld { border: 1px solid transparent !important; background: transparent !important; font-weight: 700; padding: 4px 6px !important; min-width: 160px; }
.name-feld:hover { border-color: #cfd8e3 !important; background: #fff !important; }
.name-feld:focus { background: #fff !important; }
.regal-name { font-size: 17px; min-width: 260px; }
.einfuege-marke { height: 4px; margin: 3px 0; border-radius: 2px; background: var(--rot); }
.ablage-hinweis { margin: 8px 0; }
.regal-fuss { display: flex; gap: 8px; align-items: center; padding: 0 14px 12px; }
.brett-kurz { margin: 0; }
.brett-einstellungen { display: flex; flex-direction: column; gap: 10px; }
.abschnitt { margin: 22px 0 6px; }
.promo-dialog { border: none; border-radius: 14px; padding: 22px 24px; width: min(860px, 94vw); max-height: 90vh; box-shadow: 0 24px 60px rgba(16, 27, 46, 0.35); }
.promo-dialog::backdrop { background: rgba(16, 27, 46, 0.45); }
.promo-dialog .kampagne-form { max-width: none; }

/* Sortiment */
.sortiment { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 18px; align-items: start; }
.sortiment-regale { display: flex; flex-direction: column; gap: 16px; min-width: 0; }
.sortiment-katalog { position: sticky; top: 12px; display: flex; flex-direction: column; gap: 8px; max-height: calc(100vh - 40px); }
.sortiment-katalog input[type="search"] { font-size: 14px; padding: 9px 12px; border: 1px solid #cfd8e3; border-radius: 8px; }
.katalog { display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px; overflow-y: auto; padding-right: 4px; }
.sortiment-regal .regal-kopf { display: flex; gap: 10px; align-items: center; }
.produkt-brett { background: #fff; border-bottom: 6px solid #8b98a8; padding: 8px 12px 10px; }
.produkt-brett-info { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; margin-bottom: 6px; }
.produkt-reihe { display: flex; gap: 8px; min-height: 112px; align-items: stretch; padding: 6px; border: 1px dashed #d6dde6; border-radius: 8px; overflow-x: auto; }
.reihe-leer { margin: auto; color: var(--muted); font-size: 13px; }
.produkt-kachel { position: relative; width: 104px; flex: 0 0 104px; display: flex; flex-direction: column; align-items: center; gap: 3px;
  padding: 6px; border: 1px solid var(--linie); border-radius: 10px; background: #fff; cursor: grab; text-align: center; }
.produkt-kachel:active { cursor: grabbing; }
.produkt-kachel.wird-gezogen { opacity: 0.35; }
.produkt-kachel.bild-ziel { outline: 3px dashed var(--rot); }
.katalog .produkt-kachel { width: auto; flex: none; }
.produkt-bild { width: 64px; height: 64px; border-radius: 8px; display: flex; align-items: center; justify-content: center;
  font-size: 34px; overflow: hidden; background: #f1f5f9; }
.produkt-bild img { width: 100%; height: 100%; object-fit: contain; background: #fff; }
.produkt-name { font-size: 12px; font-weight: 600; line-height: 1.2; max-height: 2.4em; overflow: hidden; }
.produkt-preis { font-size: 12px; color: var(--rot); font-weight: 700; }
.kachel-weg, .kachel-bild { position: absolute; top: 2px; padding: 0; width: 22px; height: 22px; border-radius: 50%;
  font-size: 13px; line-height: 22px; background: #eef1f6; color: var(--text); }
.kachel-weg { right: 2px; }
.kachel-bild { right: 2px; background: #fff; }
.kachel-weg:hover { background: var(--rot); color: #fff; }
.einfuege-marke.senkrecht { width: 4px; height: auto; margin: 0 2px; }
@media (max-width: 1000px) { .sortiment { grid-template-columns: 1fr; } .sortiment-katalog { position: static; max-height: none; } }

/* Echte Größen: Regalbrett in voller Breite, eShelf im Verhältnis */
.regal-breite { display: flex; align-items: center; gap: 6px; font-size: 13px; color: var(--muted); white-space: nowrap; }
.regal-breite input { width: 80px; font-size: 14px; padding: 6px 8px; border: 1px solid #cfd8e3; border-radius: 8px; }
.mass-zeile { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; font-size: 12px; color: var(--muted); }
.mass-zeile select { font-size: 12px; padding: 4px 8px; }
.frei-text { color: var(--gruen); }
.zu-breit-text { color: var(--rot); }
.brett-flaeche { display: flex; width: 100%; padding: 4px 0; border-radius: 6px;
  background: repeating-linear-gradient(45deg, #e6eaf0 0 8px, #f4f6f9 8px 16px); }
.brett-flaeche.zu-breit { outline: 2px solid var(--rot); outline-offset: 1px; }
.brett-flaeche.duenn { padding: 3px 0; margin-top: 8px; }
.brett-flaeche.duenn .eshelf-koerper { height: 10px; background: #0b1220; border-radius: 3px; }
.eshelf-koerper { flex: none; min-width: 0; }
.eshelf-balken { height: 34px; display: flex; align-items: center; justify-content: center; background: #0b1220;
  color: #e6ebf2; font-size: 12px; border-radius: 6px; white-space: nowrap; overflow: hidden; }

/* Automatisch erkanntes Modell */
.offen-zeile[draggable="true"] { cursor: grab; }
.offen-zeile .griff { margin-right: 4px; }
.modell-wahl { font-size: 12px; padding: 5px 8px; max-width: 230px; }
.modell-warnung { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; font-size: 13px; color: #92400e;
  background: #fef3c7; border-radius: 8px; padding: 6px 10px; }

/* Marken-Portal und Marken-Felder */
.feld-hinweis { font-weight: 400; color: var(--muted); font-size: 12px; }
.portal main { margin: 0 auto; }

/* Freigabe von Marken-Videos */
.badge.fehler { color: #991b1b; background: #fee2e2; }
.menue-zahl { display: inline-block; min-width: 20px; margin-left: 6px; padding: 1px 6px; border-radius: 10px;
  background: var(--rot); color: #fff; font-size: 12px; text-align: center; }
.menue-zahl[hidden] { display: none; }
.freigabe-liste { display: flex; flex-direction: column; gap: 12px; margin-bottom: 24px; }
.freigabe-karte { display: flex; gap: 16px; flex-wrap: wrap; align-items: flex-start; border: 1px solid var(--linie);
  border-radius: 12px; padding: 14px; background: #fffbeb; }
.freigabe-karte video { width: 360px; max-width: 100%; background: #000; border-radius: 6px; }
.freigabe-karte .freigabe-text { flex: 1; min-width: 220px; display: flex; flex-direction: column; gap: 4px; font-size: 14px; }
.formate { margin: 0 0 16px; padding-left: 20px; line-height: 1.7; }
.portal-video-link { font-size: 13px; }

/* Warengruppe und Werbeflächen-Katalog */
.warengruppe-feld { width: 190px; font-size: 13px; padding: 6px 8px; }
.portal-nav { display: flex; gap: 8px; margin-bottom: 16px; flex-wrap: wrap; }
.portal-nav button.aktiv { background: var(--navy); color: #fff; }
.filter-reihe { display: flex; flex-wrap: wrap; gap: 12px; align-items: flex-end; margin-bottom: 8px; }
.filter-reihe label { display: flex; flex-direction: column; gap: 4px; font-size: 13px; font-weight: 600; }
.filter-reihe label.haken { flex-direction: row; align-items: center; font-weight: 400; }

/* Kundenfrequenz und Platz im Markt (geschätzte Kontakte) */
.frequenz-form { display: flex; flex-wrap: wrap; gap: 12px; align-items: flex-end; margin-bottom: 16px; padding: 12px 14px;
  border: 1px solid var(--linie); border-radius: 12px; }
.frequenz-form label { display: flex; flex-direction: column; gap: 4px; font-size: 13px; font-weight: 600; }
.frequenz-form input { width: 150px; }
.frequenz-form .feld-hinweis { flex: 1; min-width: 220px; }
.platz-zeile { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; padding: 8px 14px; font-size: 13px;
  color: var(--muted); background: #fff; border-bottom: 1px solid var(--linie); }
.platz-zeile label { display: flex; align-items: center; gap: 6px; }
.platz-zeile select, .platz-zeile input { font-size: 13px; padding: 5px 7px; }
.platz-zeile input { width: 70px; }

.regal > .regal-kopf { flex-wrap: wrap; }

/* Betriebszeiten des Marktes */
.betrieb-form { margin: 12px 0; }
.betrieb-schalter { display: flex; align-items: center; gap: 8px; }
.betrieb-tage { display: grid; gap: 6px; margin: 10px 0; max-width: 480px; }
.betrieb-tage[hidden] { display: none; }
.betrieb-tag { display: grid; grid-template-columns: 96px auto auto auto 1fr; align-items: center; gap: 8px; }
.betrieb-tag label { display: flex; align-items: center; gap: 4px; }
.betrieb-fuss { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; margin-top: 6px; }
