/* ============================================================
   v717: Lagepläne – Kartenebene (vorab gerechnete Kacheln) und Importliste.
   ============================================================ */

/* Direkt über dem Luftbild, unter Gleisen, Ortsnamen, Flächen, Streckenverlauf und Markern. */
.strecken-osm-lageplan-tiles {
  position: absolute;
  inset: 0;
  z-index: 1;
  overflow: hidden;
  pointer-events: none;
}
.strecken-osm-bewegt .strecken-osm-lageplan-tiles { z-index: 1; }
.strecken-osm-lageplankachel { pointer-events: none; }

/* Weitere Aktionen: Stand je Blatt (Zeilen wie beim Flächenimport) */
.lageplan-zeile .lageplan-stand { font-weight: 600; }
.lageplan-zeile[data-lageplan-status="eingepasst"] .lageplan-stand { color: var(--ok, #1f8a4c); }
.lageplan-zeile[data-lageplan-status="wartet"] .lageplan-stand,
.lageplan-zeile[data-lageplan-status="verarbeitung"] .lageplan-stand { color: var(--accent); }
.lageplan-zeile[data-lageplan-status="nicht_eingepasst"] .lageplan-stand,
.lageplan-zeile[data-lageplan-status="fehler"] .lageplan-stand { color: var(--bad, #c53b3b); }
/* v720: Neu einpassen misslungen – bisherige Lage bleibt, Hinweis in Warnfarbe */
.lageplan-zeile[data-lageplan-hinweis] .lageplan-stand { color: var(--warn, #d69218); }

/* v720: „Neu einpassen“ und „Entfernen“ gleich breit nebeneinander (Spalten 1fr = breitester Knopf) */
.lageplan-aktionen {
  display: grid;
  flex: none;
  grid-auto-columns: 1fr;
  grid-auto-flow: column;
  gap: 8px;
}
#managementActionsCard .lageplan-aktionen .btn-secondary { width: 100%; white-space: nowrap; }
#managementActionsCard .lageplan-aktionen .btn-secondary:disabled { opacity: .5; cursor: not-allowed; }
@media (max-width: 640px) {
  /* schmal: Knöpfe unter dem Text, je halbe Breite, Beschriftung einzeilig */
  .lageplan-zeile { flex-wrap: wrap; }
  .lageplan-aktionen { flex: 1 1 100%; }
  #managementActionsCard .lageplan-aktionen .btn-secondary { min-width: 0; padding: 0 8px; }
}

#managementActionsCard .weitere-aktion-block.lageplan-import-block::before {
  content: "▧";
  color: var(--accent);
  border-color: color-mix(in srgb, var(--accent) 38%, var(--border));
  background: color-mix(in srgb, var(--accent) 5%, var(--bg-elevated));
}

/* v732: eine Zeile je importierter Datei; ihre Blätter darunter aufklappbar, eingerückt mit Führungslinie.
   Alle Aktionsknöpfe innerhalb einer Datei gleich breit – Kopf- und Blattzeilen auf derselben rechten Spalte. */
.lageplan-datei { display: grid; gap: 6px; }
/* Kopfzeile: reicht der Platz nicht für Text und Knöpfe, rutschen die Knöpfe rechtsbündig in die nächste Zeile;
   die Standzeile bricht um statt abgeschnitten zu werden. */
.lageplan-datei-kopf { flex-wrap: wrap; row-gap: 10px; }
.lageplan-datei-kopf .lageplan-aktionen { margin-left: auto; }
.lageplan-datei-kopf .karten-import-text small { white-space: normal; }
#managementActionsCard .lageplan-datei-schalter {
  display: flex;
  flex: 1 1 260px;
  align-items: center;
  gap: 10px;
  width: auto;
  min-width: 0;
  height: auto;
  min-height: 0;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 6px;
  background: none;
  box-shadow: none;
  color: inherit;
  font: inherit;
  text-align: left;
  cursor: pointer;
}
#managementActionsCard .lageplan-datei-schalter:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
.lageplan-datei-pfeil {
  flex: none;
  width: 0;
  height: 0;
  border-top: 5px solid transparent;
  border-bottom: 5px solid transparent;
  border-left: 7px solid currentColor;
  opacity: .65;
  transition: transform .15s ease;
}
.lageplan-datei-schalter[aria-expanded="true"] .lageplan-datei-pfeil { transform: rotate(90deg); }
.lageplan-datei-kopf .lageplan-stand { color: var(--text, #1f2937); }
.lageplan-anzahl { font-weight: 600; }
.lageplan-anzahl[data-art="eingepasst"] { color: var(--ok, #1f8a4c); }
.lageplan-anzahl[data-art="laufend"] { color: var(--accent); }
.lageplan-anzahl[data-art="nicht"] { color: var(--bad, #c53b3b); }
.lageplan-blaetter {
  display: grid;
  gap: 6px;
  margin-left: 17px;
  padding-left: 12px;
  border-left: 2px solid var(--border);
}
.lageplan-blaetter[hidden] { display: none; }
#managementActionsCard .lageplan-datei .lageplan-aktionen { grid-auto-columns: 172px; }
#managementActionsCard .lageplan-datei .lageplan-aktionen .btn-secondary { min-width: 0; width: 172px; }

/* Die Blattcontainer behalten ihre Position innerhalb der Kachelebene. */
.strecken-osm-lageplan-blatt {
  position: absolute;
  inset: 0;
  pointer-events: none;
}

/* ============================================================
   v728: Lageplan als ganzes Blatt – weißes „Papier“ im Umriss der Zeichenfläche, Deckkraft für Plan und Papier
   ============================================================ */
.strecken-osm-lageplan-ebene {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.strecken-osm-lageplan-papier {
  position: absolute;
  left: 0;
  top: 0;
  overflow: visible;
  pointer-events: none;
}
.strecken-osm-lageplan-papier polygon {
  fill: #fff;
  stroke: rgba(60,64,67,.55);
  stroke-width: 1;
  stroke-linejoin: round;
  filter: drop-shadow(0 1px 3px rgba(0,0,0,.35));
}
/* v734: weit herausgezoomt ohne weißen Hintergrund – nur der Blattumriss zeigt, wo die Pläne liegen */
.strecken-osm-lageplan-papier polygon.umriss {
  fill: none;
  stroke: #fff;
  stroke-width: 1.5;
  filter: drop-shadow(0 0 1.5px rgba(0,0,0,.85));
}

/* Ebenen-Menü: Unterpunkte von „Lagepläne“ um 12 px eingerückt (gemeinsame Textachse für Schalter und Regler),
   rechte Achse wie bei allen Schaltern: Schalterkante = Reglerende = Prozentwert. */
.strecken-osm-ebenen-panel .strecken-osm-ebenen-gruppe .strecken-osm-ebenen-unterpunkt,
#streckenGpsKarte .strecken-osm-ebenen-panel .strecken-osm-ebenen-gruppe button.strecken-osm-ebenen-unterpunkt { padding-left: 19px; }
.strecken-osm-ebenen-regler {
  min-height: 52px;
  padding: 6px 7px 8px 19px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 4px 8px;
  border-radius: 9px;
  color: #1f2937;
  font-size: 11px;
  cursor: default;
}
.strecken-osm-ebenen-regler[hidden] { display: none !important; }
/* feste Plätze: Zeile 1 Beschriftung + Wert, Zeile 2 Regler über die volle Breite */
.strecken-osm-ebenen-regler > span { grid-area: 1 / 1; font-weight: 700; }
.strecken-osm-ebenen-regler output {
  grid-area: 1 / 2;
  min-width: 34px;
  color: #174ea6;
  font-weight: 800;
  text-align: right;
  font-variant-numeric: tabular-nums;
}
.strecken-osm-ebenen-regler input[type="range"] {
  grid-area: 2 / 1 / 3 / 3;
  width: 100%;
  height: 18px;
  margin: 0;
  accent-color: #4f7ff0;
  cursor: pointer;
}
html[data-theme="dark"] .strecken-osm-ebenen-regler { color: #e5edf7; }
html[data-theme="dark"] .strecken-osm-ebenen-regler output { color: #bfdbfe; }
