.backdrop{position:fixed;inset:0;background:rgba(0,0,0,.45);display:none;align-items:flex-start;justify-content:center;z-index:80;padding-top:28px;overflow:auto}.backdrop.show{display:flex}.dialog{background:white;border-radius:16px;padding:18px;width:min(560px,calc(100vw - 24px));box-shadow:0 22px 60px rgba(0,0,0,.35)}.dialog.small{width:min(430px,calc(100vw - 24px))}.dialog h2{margin:0 0 12px;font-size:22px}.form{display:grid;gap:8px}.form label{font-weight:800;font-size:12px}.form input,.form select,.form textarea,.dialog input{width:100%;border:1px solid #cbd5e1;border-radius:8px;padding:7px;font:inherit;font-size:13px}.row{display:grid;grid-template-columns:1fr 1fr;gap:8px}.actions{display:grid;grid-template-columns:1fr auto auto auto;gap:6px;margin-top:6px;align-items:center}@media(max-width:560px){.row{grid-template-columns:1fr}.actions{grid-template-columns:1fr}.actions span{display:none}}

/* Mehr Darstellungsbreite für die Gleise:
   Die Wagen werden dadurch nicht mehr so stark gestaucht.
   Gekuppelte Wagen bleiben direkt aneinander, nicht gekuppelte Wagen bekommen mehr sichtbaren Raum. */
.track{
  grid-template-columns:22px 38px minmax(0,1fr) 58px !important;
  gap:3px !important;
}
.track-len{
  font-size:8px !important;
  padding:2px 3px !important;
}
.track-name{
  min-width:34px !important;
  padding-left:3px !important;
  padding-right:3px !important;
}


/* Abstand jetzt über echte Fahrzeugpositionen:
   Nicht gekuppelte Wagen haben 2 m Mindestabstand.
   Gekuppelte Wagen bleiben ohne Zwischenraum. */
.rail .veh.uncoupled-neighbour::before{
  content:none !important;
}


/* Fahrzeugkarte rechts */
.vehicle-card{
  background:linear-gradient(180deg,#111b2d 0%,#07111f 100%);
  border:1px solid rgba(148,163,184,.35);
  border-radius:14px;
  padding:12px;
  margin-bottom:12px;
  color:#fff;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 8px 22px rgba(0,0,0,.22);
}
.vehicle-card h2{
  margin:0 0 8px;
  font-size:17px;
  color:#fff;
  border-bottom:1px solid rgba(148,163,184,.35);
  padding-bottom:8px;
}
.vehicle-card-row{
  display:grid;
  grid-template-columns:1fr auto;
  gap:10px;
  align-items:center;
  border-bottom:1px solid rgba(148,163,184,.22);
  padding:6px 0;
  font-size:13px;
}
.vehicle-card-row span{
  color:#dbeafe;
}
.vehicle-card-row b{
  color:#fff;
  text-align:right;
  max-width:145px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.vehicle-card-status{
  display:inline-block;
  padding:4px 9px;
  border-radius:999px;
  background:#e5e7eb;
  color:#111827!important;
  border:1px solid rgba(255,255,255,.8);
}
.vehicle-card-status.status-defekt,
.vehicle-card-status.status-graffiti,
.vehicle-card-status.status-anforderung,
.vehicle-card-status.status-reserve{
  color:#fff!important;
}
.vehicle-card-btn{
  width:100%;
  margin-top:9px;
  border-radius:9px;
  padding:9px 10px;
  font-weight:900;
}
.vehicle-card-btn.primary{
  background:linear-gradient(180deg,#60a5fa,#1769e0)!important;
}
.vehicle-card-btn.secondary{
  background:linear-gradient(180deg,#64748b,#334155)!important;
}
.vehicle-card.empty .vehicle-card-btn.primary{
  opacity:.55;
}
body:not(.darkMode) .vehicle-card{
  background:linear-gradient(180deg,#102033,#07111f);
}


/* Einheitlicher Leitstand-Button-Stil */
button,
.app-btn,
.vehicle-card-btn,
.actions button,
.card-actions button,
.searchActions button,
.vehicle-search-actions button{
  border-radius:9px !important;
  border:1px solid rgba(255,255,255,.28) !important;
  color:#ffffff !important;
  font-weight:900 !important;
  text-shadow:0 1px 1px rgba(0,0,0,.65) !important;
  background:
    linear-gradient(180deg,rgba(255,255,255,.34),rgba(255,255,255,.08) 32%,rgba(0,0,0,.18)),
    linear-gradient(180deg,#64748b,#334155) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.35),
    inset 0 -1px 0 rgba(0,0,0,.25),
    0 3px 8px rgba(0,0,0,.28) !important;
  min-height:32px;
}
button:hover,
.app-btn:hover,
.vehicle-card-btn:hover{
  filter:brightness(1.08);
}
button:active,
.app-btn:active,
.vehicle-card-btn:active{
  transform:translateY(1px);
}
button.green,
.app-btn.primary,
.vehicle-card-btn.primary,
.vehicle-search-actions .primary{
  background:
    linear-gradient(180deg,rgba(255,255,255,.38),rgba(255,255,255,.10) 32%,rgba(0,0,0,.16)),
    linear-gradient(180deg,#60a5fa,#1769e0) !important;
}
button.red,
.app-btn.danger{
  background:
    linear-gradient(180deg,rgba(255,255,255,.34),rgba(255,255,255,.08) 32%,rgba(0,0,0,.20)),
    linear-gradient(180deg,#ef4444,#b91c1c) !important;
}
button.secondary,
.app-btn.secondary,
.vehicle-card-btn.secondary,
.vehicle-search-actions .secondary{
  background:
    linear-gradient(180deg,rgba(255,255,255,.30),rgba(255,255,255,.08) 32%,rgba(0,0,0,.18)),
    linear-gradient(180deg,#64748b,#334155) !important;
}

/* Neues Suchfenster wie im Beispiel */
.searchModalBackdrop{
  align-items:center !important;
  justify-content:center !important;
  padding:16px !important;
}
.vehicle-search-dialog{
  width:min(360px,calc(100vw - 24px)) !important;
  padding:0 !important;
  overflow:hidden !important;
  border-radius:12px !important;
  background:#111b2d !important;
  color:#ffffff !important;
  border:1px solid rgba(148,163,184,.40) !important;
  box-shadow:0 18px 45px rgba(0,0,0,.55) !important;
}
.vehicle-search-dialog h2{
  margin:0 !important;
  padding:14px 14px 12px !important;
  font-size:16px !important;
  color:#ffffff !important;
  border-bottom:1px solid rgba(148,163,184,.30) !important;
}
.vehicle-search-input{
  display:block;
  width:calc(100% - 28px) !important;
  margin:14px 14px 8px !important;
  height:46px !important;
  border-radius:9px !important;
  border:1px solid rgba(255,255,255,.85) !important;
  background:#0f172a !important;
  color:#ffffff !important;
  padding:0 10px !important;
  font-size:16px !important;
  font-weight:800 !important;
  outline:none !important;
  box-shadow:inset 0 2px 6px rgba(0,0,0,.35) !important;
}
.vehicle-search-input::placeholder{
  color:#a3a3a3 !important;
  font-weight:900 !important;
}
.vehicle-search-input:focus{
  border-color:#ffffff !important;
  box-shadow:0 0 0 2px rgba(96,165,250,.25), inset 0 2px 6px rgba(0,0,0,.35) !important;
}
.vehicle-search-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
  padding:0 14px 14px;
}
.vehicle-search-actions button{
  width:100% !important;
}


/* Suchfenster fest über dem Gleisplan positionieren:
   Es nimmt keinen Platz im Layout ein und schiebt keine Gleise mehr hoch. */
#vehicleSearchModal.searchModalBackdrop,
#vehicleSearchModal.dialogBackdrop{
  position:fixed !important;
  inset:0 !important;
  display:none !important;
  align-items:flex-start !important;
  justify-content:center !important;
  padding-top:80px !important;
  background:transparent !important;
  z-index:99999 !important;
  pointer-events:none !important;
}

#vehicleSearchModal.searchModalBackdrop.show,
#vehicleSearchModal.dialogBackdrop.show{
  display:flex !important;
}

#vehicleSearchModal .vehicle-search-dialog{
  position:relative !important;
  margin:0 auto !important;
  pointer-events:auto !important;
  z-index:100000 !important;
}


/* Einheitlicher Glanz-Effekt für alle Buttons wie im Suchfenster */
button,
.app-btn,
.vehicle-card-btn,
.actions button,
.card-actions button,
.searchActions button,
.vehicle-search-actions button,
.top-actions button{
  position:relative !important;
  overflow:hidden !important;
  border-radius:9px !important;
  border:1px solid rgba(255,255,255,.32) !important;
  color:#ffffff !important;
  font-weight:900 !important;
  text-shadow:0 1px 2px rgba(0,0,0,.75) !important;
  background:
    linear-gradient(180deg,rgba(255,255,255,.42) 0%,rgba(255,255,255,.18) 26%,rgba(255,255,255,.04) 48%,rgba(0,0,0,.20) 100%),
    linear-gradient(180deg,#64748b 0%,#334155 100%) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.55),
    inset 0 -1px 0 rgba(0,0,0,.35),
    0 3px 8px rgba(0,0,0,.35) !important;
}

button::before,
.app-btn::before,
.vehicle-card-btn::before,
.actions button::before,
.card-actions button::before,
.searchActions button::before,
.vehicle-search-actions button::before,
.top-actions button::before{
  content:"" !important;
  position:absolute !important;
  left:10% !important;
  right:10% !important;
  top:7% !important;
  height:34% !important;
  border-radius:999px !important;
  background:linear-gradient(180deg,rgba(255,255,255,.58),rgba(255,255,255,.10) 70%,rgba(255,255,255,0)) !important;
  pointer-events:none !important;
}

button.green,
button.primary,
.app-btn.primary,
.vehicle-card-btn.primary,
.vehicle-search-actions .primary{
  background:
    linear-gradient(180deg,rgba(255,255,255,.44) 0%,rgba(255,255,255,.18) 26%,rgba(255,255,255,.04) 48%,rgba(0,0,0,.20) 100%),
    linear-gradient(180deg,#60a5fa 0%,#1769e0 100%) !important;
}

button.red,
button.danger,
.app-btn.danger{
  background:
    linear-gradient(180deg,rgba(255,255,255,.38) 0%,rgba(255,255,255,.14) 26%,rgba(255,255,255,.04) 48%,rgba(0,0,0,.24) 100%),
    linear-gradient(180deg,#ef4444 0%,#b91c1c 100%) !important;
}

button.secondary,
.app-btn.secondary,
.vehicle-card-btn.secondary,
.vehicle-search-actions .secondary{
  background:
    linear-gradient(180deg,rgba(255,255,255,.40) 0%,rgba(255,255,255,.16) 26%,rgba(255,255,255,.04) 48%,rgba(0,0,0,.22) 100%),
    linear-gradient(180deg,#64748b 0%,#334155 100%) !important;
}

button:hover,
.app-btn:hover,
.vehicle-card-btn:hover{
  filter:brightness(1.08) !important;
}

button:active,
.app-btn:active,
.vehicle-card-btn:active{
  transform:translateY(1px) !important;
  box-shadow:
    inset 0 2px 5px rgba(0,0,0,.35),
    0 1px 3px rgba(0,0,0,.30) !important;
}


/* Beim Kuppeln/Schieben kein Schattenfahrzeug anzeigen */
.drag-ghost,
.vehicle-ghost,
.veh-ghost,
.coupling-ghost,
.drop-ghost,
.ghost,
.clone,
.dragging-clone{
  display:none !important;
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
}
.veh.dragging{
  opacity:1 !important;
}


/* Editor-Fenster im kompakten Leitstandstil */
#editorModal.dialogBackdrop,
#editorModal{
  position:fixed !important;
  inset:0 !important;
  z-index:100000 !important;
  display:none !important;
  align-items:center !important;
  justify-content:center !important;
  background:rgba(0,0,0,.42) !important;
  padding:14px !important;
}
#editorModal.show,
#editorModal.dialogBackdrop.show{
  display:flex !important;
}
#editorModal .dialog,
#editorModal .editorDialog,
#editorModal .simpleEditor{
  width:min(420px,calc(100vw - 20px)) !important;
  max-height:calc(100vh - 24px) !important;
  overflow:auto !important;
  padding:0 !important;
  border-radius:12px !important;
  background:#111827 !important;
  color:#ffffff !important;
  border:1px solid rgba(148,163,184,.45) !important;
  box-shadow:0 22px 60px rgba(0,0,0,.65) !important;
}
#editorModal .editorHeader,
#editorModal .simpleHeader{
  background:linear-gradient(180deg,#1e293b,#111827) !important;
  border-bottom:1px solid rgba(148,163,184,.35) !important;
  color:#ffffff !important;
  padding:10px 10px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:8px !important;
}
#editorModal .editorHeader h2,
#editorModal .simpleHeader h2{
  margin:0 !important;
  font-size:16px !important;
  line-height:1.15 !important;
  color:#ffffff !important;
}
#editorModal .editorHeader p,
#editorModal .simpleHeader p{
  display:none !important;
}
#editorModal .closeMini{
  min-height:26px !important;
  padding:4px 10px !important;
  font-size:12px !important;
  border-radius:8px !important;
}
#editorModal .editorForm,
#editorModal .simpleForm{
  padding:10px !important;
  gap:8px !important;
  display:grid !important;
}
#editorModal .quickEntryBox{
  border:1px solid rgba(148,163,184,.45) !important;
  border-radius:8px !important;
  background:#111827 !important;
  padding:10px !important;
  display:grid !important;
  gap:8px !important;
}
#editorModal label{
  color:#ffffff !important;
  font-size:12px !important;
  font-weight:900 !important;
}
#editorModal input,
#editorModal select,
#editorModal textarea{
  background:#111827 !important;
  color:#ffffff !important;
  border:1px solid rgba(255,255,255,.82) !important;
  border-radius:8px !important;
  padding:8px !important;
  font-weight:800 !important;
}
#editorModal input:focus,
#editorModal select:focus,
#editorModal textarea:focus{
  outline:none !important;
  border-color:#ffffff !important;
  box-shadow:0 0 0 2px rgba(96,165,250,.25) !important;
}
#editorModal .quickGrid{
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:8px !important;
}
#editorModal .optionalEditor{
  border:1px solid rgba(148,163,184,.45) !important;
  border-radius:8px !important;
  background:#111827 !important;
  overflow:hidden !important;
}
#editorModal .optionalEditor summary{
  padding:8px 10px !important;
  background:#1e293b !important;
  color:#ffffff !important;
  font-size:13px !important;
  font-weight:900 !important;
  cursor:pointer !important;
}
#editorModal .optionalBlock{
  padding:8px 10px !important;
  border-top:1px solid rgba(148,163,184,.28) !important;
  display:grid !important;
  gap:7px !important;
  background:#111827 !important;
}
#editorModal .simpleActions,
#editorModal .editorActions,
#editorModal .actions{
  display:grid !important;
  grid-template-columns:1fr 1fr 1fr !important;
  gap:10px !important;
  padding:4px 0 8px !important;
  margin:0 !important;
  border:0 !important;
  background:transparent !important;
}
#editorModal .simpleActions button,
#editorModal .editorActions button,
#editorModal .actions button{
  width:100% !important;
  min-height:46px !important;
  font-size:14px !important;
}


/* FINAL: Kompaktes Fahrzeugfenster exakt im gewünschten Stil */
#editorModal.dialogBackdrop{
  position:fixed !important;
  inset:0 !important;
  z-index:100000 !important;
  display:none !important;
  align-items:center !important;
  justify-content:center !important;
  background:rgba(0,0,0,.35) !important;
  padding:10px !important;
}
#editorModal.dialogBackdrop.show{
  display:flex !important;
}
#editorModal .dialog.editorDialog.simpleEditor{
  width:420px !important;
  max-width:calc(100vw - 20px) !important;
  max-height:calc(100vh - 20px) !important;
  overflow:hidden !important;
  padding:0 !important;
  border-radius:11px !important;
  background:#111827 !important;
  border:1px solid rgba(148,163,184,.45) !important;
  box-shadow:0 18px 45px rgba(0,0,0,.62) !important;
  color:#ffffff !important;
}
#editorModal .editorHeader.simpleHeader{
  height:45px !important;
  padding:8px 10px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  background:#111827 !important;
  border-bottom:1px solid rgba(148,163,184,.38) !important;
}
#editorModal .editorHeader.simpleHeader h2{
  margin:0 !important;
  font-size:17px !important;
  line-height:1 !important;
  color:#ffffff !important;
}
#editorModal .closeMini{
  height:28px !important;
  min-height:28px !important;
  padding:4px 10px !important;
  font-size:12px !important;
  border-radius:8px !important;
}
#editorModal .editorForm.simpleForm{
  padding:10px !important;
  display:grid !important;
  gap:10px !important;
  background:#111827 !important;
}
#editorModal .quickEntryBox{
  border:1px solid rgba(148,163,184,.45) !important;
  border-radius:8px !important;
  background:#111827 !important;
  padding:10px !important;
  display:grid !important;
  gap:8px !important;
}
#editorModal label{
  display:grid !important;
  gap:3px !important;
  font-size:12px !important;
  font-weight:900 !important;
  color:#ffffff !important;
}
#editorModal input,
#editorModal select,
#editorModal textarea{
  width:100% !important;
  background:#111827 !important;
  color:#ffffff !important;
  border:1px solid rgba(255,255,255,.88) !important;
  border-radius:8px !important;
  padding:8px !important;
  font-size:14px !important;
  font-weight:800 !important;
}
#editorModal .numberFocus input{
  font-size:18px !important;
  padding:8px !important;
}
#editorModal .quickGrid{
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:8px !important;
}
#editorModal .optionalEditor{
  border:1px solid rgba(148,163,184,.45) !important;
  border-radius:8px !important;
  background:#111827 !important;
  overflow:hidden !important;
}
#editorModal .optionalEditor summary{
  list-style:none !important;
  cursor:pointer !important;
  padding:8px 10px !important;
  background:#1e293b !important;
  color:#ffffff !important;
  font-size:13px !important;
  font-weight:900 !important;
}
#editorModal .optionalEditor summary::-webkit-details-marker{
  display:none !important;
}
#editorModal .optionalEditor summary::before{
  content:"› " !important;
}
#editorModal .optionalEditor[open] summary::before{
  content:"⌄ " !important;
}
#editorModal .optionalBlock{
  padding:8px 10px !important;
  display:grid !important;
  gap:7px !important;
  border-top:1px solid rgba(148,163,184,.25) !important;
  background:#111827 !important;
}
#editorModal .optionalBlock h3{
  margin:0 !important;
  font-size:13px !important;
  color:#ffffff !important;
}
#editorModal textarea{
  min-height:54px !important;
  resize:vertical !important;
}
#editorModal .simpleActions{
  display:grid !important;
  grid-template-columns:1fr 1fr 1fr !important;
  gap:10px !important;
  padding:0 !important;
  margin:0 !important;
  border:0 !important;
  background:transparent !important;
}
#editorModal .simpleActions button{
  width:100% !important;
  height:47px !important;
  min-height:47px !important;
  font-size:14px !important;
  border-radius:9px !important;
}
@media(max-width:460px){
  #editorModal .dialog.editorDialog.simpleEditor{
    width:calc(100vw - 20px) !important;
  }
  #editorModal .quickGrid,
  #editorModal .simpleActions{
    grid-template-columns:1fr !important;
  }
}


/* FINAL: Editor exakt wie Referenzdatei */
#editorModal.dialogBackdrop{
  position:fixed !important;
  inset:0 !important;
  display:none !important;
  align-items:center !important;
  justify-content:center !important;
  padding:10px !important;
  background:rgba(0,0,0,.45) !important;
  z-index:100000 !important;
}
#editorModal.dialogBackdrop.show{display:flex !important;}

#editorModal .dialog.editorDialog.simpleEditor{
  width:min(420px,calc(100vw - 18px)) !important;
  max-height:calc(100vh - 18px) !important;
  overflow:hidden !important;
  padding:0 !important;
  border-radius:12px !important;
  background:#111827 !important;
  color:#ffffff !important;
  border:1px solid rgba(148,163,184,.45) !important;
  box-shadow:0 22px 60px rgba(0,0,0,.62) !important;
}

#editorModal .editorHeader.simpleHeader{
  height:45px !important;
  padding:8px 10px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:8px !important;
  background:#111827 !important;
  border-bottom:1px solid rgba(148,163,184,.38) !important;
  border-radius:12px 12px 0 0 !important;
}
#editorModal .editorHeader.simpleHeader h2{
  margin:0 !important;
  font-size:17px !important;
  line-height:1.1 !important;
  color:#ffffff !important;
}
#editorModal .editorHeader.simpleHeader p{display:none !important;}
#editorModal .closeMini{
  height:28px !important;
  min-height:28px !important;
  padding:4px 10px !important;
  font-size:12px !important;
  border-radius:8px !important;
}

#editorModal .editorForm.simpleForm{
  padding:10px !important;
  gap:10px !important;
  display:grid !important;
  max-height:calc(100vh - 70px) !important;
  overflow:auto !important;
  background:#111827 !important;
}

#editorModal .quickEntryBox{
  border:1px solid rgba(148,163,184,.45) !important;
  border-radius:8px !important;
  background:#111827 !important;
  padding:10px !important;
  display:grid !important;
  gap:8px !important;
}
#editorModal label{
  display:grid !important;
  gap:3px !important;
  font-size:12px !important;
  line-height:1.15 !important;
  font-weight:900 !important;
  color:#ffffff !important;
}
#editorModal input,
#editorModal select,
#editorModal textarea{
  width:100% !important;
  background:#111827 !important;
  color:#ffffff !important;
  border:1px solid rgba(255,255,255,.85) !important;
  border-radius:8px !important;
  padding:8px !important;
  font-size:14px !important;
  font-weight:800 !important;
}
#editorModal .numberFocus input{
  font-size:18px !important;
  padding:8px !important;
}
#editorModal .quickGrid{
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:8px !important;
}

#editorModal .optionalEditor{
  border:1px solid rgba(148,163,184,.45) !important;
  border-radius:8px !important;
  background:#111827 !important;
  overflow:hidden !important;
}
#editorModal .optionalEditor summary{
  cursor:pointer !important;
  padding:8px 10px !important;
  font-size:13px !important;
  font-weight:900 !important;
  color:#ffffff !important;
  background:#1e293b !important;
}
#editorModal .optionalBlock{
  padding:8px 10px !important;
  display:grid !important;
  gap:7px !important;
  background:#111827 !important;
  border-top:1px solid rgba(148,163,184,.25) !important;
}
#editorModal .optionalBlock h3{
  margin:0 !important;
  font-size:13px !important;
  color:#ffffff !important;
}
#editorModal .compactTwo{
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:8px !important;
}
#editorModal .statusList,
#editorModal .compactList,
#editorModal .fristBox{
  background:#111827 !important;
  color:#cbd5e1 !important;
  border:1px solid rgba(148,163,184,.45) !important;
  border-radius:8px !important;
  padding:6px !important;
  min-height:28px !important;
}
#editorModal textarea{
  min-height:44px !important;
  resize:vertical !important;
}

#editorModal .simpleActions{
  display:grid !important;
  grid-template-columns:1fr 1fr 1fr !important;
  gap:10px !important;
  padding:0 !important;
  margin:0 !important;
  border:0 !important;
  background:transparent !important;
}
#editorModal .simpleActions button{
  width:100% !important;
  min-height:47px !important;
  height:47px !important;
  font-size:14px !important;
  border-radius:9px !important;
}
@media(max-width:460px){
  #editorModal .dialog.editorDialog.simpleEditor{width:calc(100vw - 18px) !important;}
  #editorModal .quickGrid,
  #editorModal .compactTwo,
  #editorModal .simpleActions{grid-template-columns:1fr !important;}
}


/* FINAL FIX: Nur kompaktes Editorfenster anzeigen */
#editorModal.dialogBackdrop{
  position:fixed !important;
  inset:0 !important;
  z-index:100000 !important;
  display:none !important;
  align-items:center !important;
  justify-content:center !important;
  background:rgba(0,0,0,.45) !important;
  padding:10px !important;
}
#editorModal.dialogBackdrop.show{display:flex !important;}
#editorModal .dialog.editorDialog.simpleEditor{
  width:420px !important;
  max-width:calc(100vw - 18px) !important;
  max-height:calc(100vh - 18px) !important;
  overflow:hidden !important;
  padding:0 !important;
  border-radius:12px !important;
  background:#111827 !important;
  color:#fff !important;
  border:1px solid rgba(148,163,184,.45) !important;
}
#editorModal .editorHeader.simpleHeader{
  height:45px !important;
  padding:8px 10px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  background:#111827 !important;
  border-bottom:1px solid rgba(148,163,184,.38) !important;
}
#editorModal .editorHeader h2{font-size:17px !important;margin:0 !important;color:#fff !important;}
#editorModal .editorHeader p{display:none !important;}
#editorModal .editorForm.simpleForm{
  padding:10px !important;
  display:grid !important;
  gap:10px !important;
  background:#111827 !important;
  max-height:calc(100vh - 63px) !important;
  overflow:auto !important;
}
#editorModal .quickEntryBox{
  border:1px solid rgba(148,163,184,.45) !important;
  border-radius:8px !important;
  background:#111827 !important;
  padding:10px !important;
  display:grid !important;
  gap:8px !important;
}
#editorModal label{display:grid !important;gap:3px !important;font-size:12px !important;font-weight:900 !important;color:#fff !important;}
#editorModal input,#editorModal select,#editorModal textarea{
  background:#111827 !important;color:#fff !important;border:1px solid rgba(255,255,255,.85) !important;border-radius:8px !important;padding:8px !important;font-size:14px !important;font-weight:800 !important;width:100% !important;
}
#editorModal .numberFocus input{font-size:18px !important;}
#editorModal .quickGrid,#editorModal .compactTwo{display:grid !important;grid-template-columns:1fr 1fr !important;gap:8px !important;}
#editorModal .optionalEditor{border:1px solid rgba(148,163,184,.45) !important;border-radius:8px !important;background:#111827 !important;overflow:hidden !important;}
#editorModal .optionalEditor summary{padding:8px 10px !important;background:#1e293b !important;color:#fff !important;font-size:13px !important;font-weight:900 !important;cursor:pointer !important;}
#editorModal .optionalBlock{padding:8px 10px !important;display:grid !important;gap:7px !important;background:#111827 !important;border-top:1px solid rgba(148,163,184,.25) !important;}
#editorModal .optionalBlock h3{margin:0 !important;font-size:13px !important;color:#fff !important;}
#editorModal .statusList,#editorModal .compactList,#editorModal .fristBox{background:#111827 !important;color:#cbd5e1 !important;border:1px solid rgba(148,163,184,.45) !important;border-radius:8px !important;padding:6px !important;}
#editorModal .simpleActions{display:grid !important;grid-template-columns:1fr 1fr 1fr !important;gap:10px !important;padding:0 !important;margin:0 !important;background:transparent !important;border:0 !important;}
#editorModal .simpleActions button{height:47px !important;min-height:47px !important;width:100% !important;font-size:14px !important;border-radius:9px !important;}


/* FINAL: Gleis- und Fahrzeugdarstellung wie in der Farmsen/Ochsenzoll-Referenz */
.tracks{
  display:grid !important;
  gap:3px !important;
  overflow:hidden !important;
  padding-right:0 !important;
  align-content:stretch !important;
  flex:1 !important;
  grid-template-rows:repeat(var(--rows,1),minmax(24px,1fr)) !important;
}
.track{
  min-height:0 !important;
  align-items:center !important;
}
.rail{
  position:relative !important;
  height:78% !important;
  min-height:26px !important;
  max-height:44px !important;
  overflow:hidden !important;
}
.rail:before{
  top:50% !important;
  transform:translateY(-50%) !important;
}
.veh{
  position:absolute !important;
  top:50% !important;
  height:78% !important;
  min-height:20px !important;
  max-height:34px !important;
  transform:translateY(-50%) !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  font-size:14px !important;
  font-weight:900 !important;
  white-space:nowrap !important;
}
.track-len{
  font-size:9px !important;
  line-height:1.05 !important;
}
.railScaleWrap{
  width:100%;
  min-width:0;
}
.railScaleWrap .rail{
  width:var(--display-width,100%) !important;
}


/* Farmsen/Ochsenzoll Optik */
.trackNo,
.track-no,
.trackLabel,
.tracknum{
  border:1px solid #6f84aa !important;
  border-radius:10px !important;
  background:linear-gradient(180deg,#132648 0%,#0a152b 100%) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.25),
    inset 0 -1px 0 rgba(0,0,0,.45),
    0 0 10px rgba(120,160,255,.18) !important;
}

.rail{
  border:1px solid #7f91af !important;
  border-radius:12px !important;
  background:linear-gradient(180deg,#0b1426 0%,#09111f 100%) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.22),
    inset 0 -1px 0 rgba(0,0,0,.55),
    0 0 8px rgba(255,255,255,.05) !important;
}

.rail::before{
  content:"";
  position:absolute;
  left:8px;
  right:8px;
  top:4px;
  height:3px;
  border-radius:999px;
  background:linear-gradient(
    180deg,
    rgba(255,255,255,.75),
    rgba(255,255,255,.18)
  ) !important;
}

.signal,
.sig{
  filter:drop-shadow(0 0 4px rgba(255,255,255,.15));
}

.signal .lamp,
.sig .lamp{
  transform:scale(1.08);
}

.trackNo,
.track-no,
.trackLabel,
.tracknum,
.rail{
  transition:all .15s ease;
}


/* FINAL: Laufweg und Gleissperren wie Farmsen/Ochsenzoll */
.walk{
  position:absolute !important;
  top:0 !important;
  bottom:0 !important;
  width:6px !important;
  background:repeating-linear-gradient(
    45deg,
    #111827 0,
    #111827 2px,
    #facc15 2px,
    #facc15 4px
  ) !important;
  z-index:25 !important;
  transform:translateX(-50%) !important;
  pointer-events:none !important;
  border-left:1px solid #111827 !important;
  border-right:1px solid #111827 !important;
  box-shadow:0 0 0 2px rgba(250,204,21,.14) !important;
}

.lock{
  position:absolute !important;
  top:0 !important;
  bottom:0 !important;
  background:repeating-linear-gradient(
    45deg,
    rgba(255,0,0,.22) 0,
    rgba(255,0,0,.22) 9px,
    rgba(255,255,255,.12) 9px,
    rgba(255,255,255,.12) 18px
  ) !important;
  border:2px solid #ff0000 !important;
  z-index:22 !important;
  pointer-events:none !important;
}

.track-name.locked{
  color:#ef4444 !important;
  border-color:#ef4444 !important;
  box-shadow:0 0 0 2px rgba(239,68,68,.16), inset 0 1px 0 rgba(255,255,255,.20) !important;
}

.lock-menu{
  position:fixed;
  z-index:100001;
  background:#111827;
  color:#e5e7eb;
  border:1px solid #334155;
  border-radius:12px;
  box-shadow:0 18px 45px rgba(0,0,0,.55);
  padding:8px;
  min-width:240px;
}
.lock-menu-title{
  font-weight:900;
  padding:6px 8px 8px;
  border-bottom:1px solid #334155;
  margin-bottom:6px;
}
.lock-menu button{
  width:100%;
  display:block;
  text-align:left;
  border-radius:8px !important;
  padding:9px 10px !important;
  margin:3px 0;
  font-weight:900 !important;
}


/* FINAL FIX: Sperrflächen und Laufweg wie in Farmsen/Ochsenzoll */
.rail{
  position:relative !important;
  overflow:hidden !important;
}

.rail .lock,
.lock{
  position:absolute !important;
  top:0 !important;
  bottom:0 !important;
  height:auto !important;
  background:repeating-linear-gradient(
    45deg,
    rgba(255,0,0,.22) 0,
    rgba(255,0,0,.22) 9px,
    rgba(255,255,255,.12) 9px,
    rgba(255,255,255,.12) 18px
  ) !important;
  border:2px solid #ff0000 !important;
  z-index:20 !important;
  pointer-events:none !important;
  border-radius:8px !important;
}

.rail .walk,
.walk{
  position:absolute !important;
  top:0 !important;
  bottom:0 !important;
  width:6px !important;
  background:repeating-linear-gradient(
    45deg,
    #111827 0,
    #111827 2px,
    #facc15 2px,
    #facc15 4px
  ) !important;
  z-index:60 !important;
  transform:translateX(-50%) !important;
  pointer-events:none !important;
  border-left:1px solid #111827 !important;
  border-right:1px solid #111827 !important;
  box-shadow:0 0 0 2px rgba(250,204,21,.14) !important;
}

.track-name.locked{
  color:#ef4444 !important;
  border-color:#ef4444 !important;
  box-shadow:0 0 0 2px rgba(239,68,68,.18), inset 0 1px 0 rgba(255,255,255,.25) !important;
}

.lock-menu{
  position:fixed !important;
  z-index:100001 !important;
  background:#111827 !important;
  color:#ffffff !important;
  border:1px solid #334155 !important;
  border-radius:12px !important;
  box-shadow:0 18px 45px rgba(0,0,0,.55) !important;
  padding:8px !important;
  min-width:270px !important;
}
.lock-menu-title{
  font-weight:900 !important;
  padding:6px 8px 8px !important;
  border-bottom:1px solid #334155 !important;
  margin-bottom:6px !important;
}
.lock-menu button{
  width:100% !important;
  display:block !important;
  text-align:left !important;
  border-radius:8px !important;
  padding:9px 10px !important;
  margin:4px 0 !important;
  font-weight:900 !important;
}


/* FINAL: Ochsenzoll Blöcke untereinander und Gleisoptik wie Referenz */
body.facility-ochsenzoll .board{
  display:grid !important;
  grid-template-columns:1fr !important;
  grid-template-rows:auto minmax(0,1fr) !important;
  gap:10px !important;
  overflow:hidden !important;
}

body.facility-ochsenzoll .topblocks{
  display:block !important;
  grid-column:1 !important;
  grid-row:1 !important;
  min-height:0 !important;
}

body.facility-ochsenzoll .topblocks .block:first-child{
  display:flex !important;
  grid-column:auto !important;
  grid-row:auto !important;
  min-height:210px !important;
  height:auto !important;
}

body.facility-ochsenzoll .topblocks .block:nth-child(2){
  display:none !important;
}

body.facility-ochsenzoll .block.bottom{
  display:flex !important;
  grid-column:1 !important;
  grid-row:2 !important;
  min-height:0 !important;
}

body.facility-ochsenzoll .block,
body.facility-ochsenzoll .block.bottom{
  background:linear-gradient(180deg,#111827 0%,#0b1220 100%) !important;
  border:1px solid rgba(148,163,184,.28) !important;
  border-radius:12px !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04),0 4px 14px rgba(0,0,0,.22) !important;
}

body.facility-ochsenzoll .block h2{
  background:transparent !important;
  border-bottom:1px solid rgba(148,163,184,.25) !important;
  color:#ffffff !important;
  padding:10px 20px 14px !important;
  margin:0 0 8px !important;
  font-size:15px !important;
}

body.facility-ochsenzoll .tracks{
  display:grid !important;
  gap:14px !important;
  align-content:stretch !important;
  padding:8px 8px 12px !important;
}

/* Gleiszeile wie im Beispiel: Signal | Nummer | langes Gleis | Meterbox */
.track{
  grid-template-columns:20px 42px minmax(0,1fr) 72px !important;
  gap:5px !important;
  min-height:45px !important;
  align-items:center !important;
}

.track-name{
  min-width:38px !important;
  height:36px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  font-size:20px !important;
  font-weight:950 !important;
  color:#ffffff !important;
  border:1px solid #6f84aa !important;
  border-radius:9px !important;
  background:linear-gradient(180deg,#132648 0%,#0a152b 100%) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.25),
    inset 0 -1px 0 rgba(0,0,0,.45),
    0 0 10px rgba(120,160,255,.18) !important;
  text-shadow:0 1px 3px rgba(0,0,0,.85) !important;
  padding:0 !important;
}

.track-len{
  min-width:64px !important;
  border:1px solid rgba(148,163,184,.35) !important;
  border-radius:8px !important;
  background:#0f172a !important;
  color:#ffffff !important;
  font-size:9px !important;
  font-weight:900 !important;
  line-height:1.05 !important;
  padding:4px 3px !important;
  text-align:center !important;
}

/* Schöne Gleisdarstellung: dunkler Innenkörper, heller Rand und Lichtkante */
.rail{
  position:relative !important;
  height:78% !important;
  min-height:30px !important;
  max-height:40px !important;
  border:1px solid #7f91af !important;
  border-radius:9px !important;
  background:linear-gradient(180deg,#111a2d 0%,#07101f 100%) !important;
  overflow:hidden !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.24),
    inset 0 -1px 0 rgba(0,0,0,.55),
    0 0 8px rgba(255,255,255,.05) !important;
}

.rail::before{
  content:"" !important;
  position:absolute !important;
  left:0 !important;
  right:0 !important;
  top:50% !important;
  height:5px !important;
  border-radius:999px !important;
  transform:translateY(-50%) !important;
  background:linear-gradient(180deg,#d8e4f6 0%,#91a4bf 45%,#4b5870 100%) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.70),
    inset 0 -1px 0 rgba(0,0,0,.35),
    0 1px 2px rgba(0,0,0,.35) !important;
}

.rail::after{
  content:"" !important;
  position:absolute !important;
  left:8px !important;
  right:8px !important;
  top:4px !important;
  height:3px !important;
  border-radius:999px !important;
  background:linear-gradient(180deg,rgba(255,255,255,.75),rgba(255,255,255,.18)) !important;
  pointer-events:none !important;
}

/* Fahrzeuge bleiben groß und gut lesbar */
.veh{
  height:78% !important;
  min-height:22px !important;
  max-height:34px !important;
  font-size:15px !important;
  font-weight:950 !important;
  border-radius:8px !important;
}

/* Signale etwas näher am Beispiel */
.track-signal{
  width:20px !important;
  height:52px !important;
  justify-self:center !important;
}
.signal-head{
  width:16px !important;
  height:35px !important;
  border-radius:10px !important;
  background:linear-gradient(180deg,#263448 0%,#050b14 100%) !important;
  border:1px solid rgba(255,255,255,.35) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.22),0 2px 6px rgba(0,0,0,.65) !important;
}
.signal-lamp{
  width:8px !important;
  height:8px !important;
}


/* ORIGINAL FA/OZ FINAL: Ochsenzoll 11–13 über 21–30 und originale Gleiszeile */
body.facility-ochsenzoll .board{
  display:grid !important;
  grid-template-columns:1fr !important;
  grid-template-rows:minmax(105px,.38fr) minmax(0,1fr) !important;
  gap:10px !important;
  overflow:hidden !important;
}
body.facility-ochsenzoll .block.primary{
  grid-column:1 !important;
  grid-row:1 !important;
  min-height:0 !important;
  height:100% !important;
}
body.facility-ochsenzoll .block:not(.primary){
  grid-column:1 !important;
  grid-row:auto !important;
  min-height:0 !important;
}
body.facility-ochsenzoll .block.primary + .block{
  grid-row:2 !important;
}
body.facility-ochsenzoll .tracks{
  overflow:hidden !important;
  align-content:stretch !important;
}

/* Originale Track-Zeile */
.track{
  display:grid !important;
  grid-template-columns:24px 42px minmax(0,1fr) 72px !important;
  gap:5px !important;
  align-items:center !important;
  min-height:0 !important;
  padding-left:0 !important;
  position:relative !important;
}
.tracks{
  display:grid !important;
  gap:6px !important;
  overflow:hidden !important;
  align-content:stretch !important;
  flex:1 !important;
  grid-template-rows:repeat(var(--rows,1),minmax(34px,1fr)) !important;
}

/* Originale Gleisnummern */
.track-name{
  font-size:18px !important;
  font-weight:900 !important;
  min-width:38px !important;
  padding:5px 4px !important;
  text-align:center !important;
  color:#ffffff !important;
  background:#172131 !important;
  border:1px solid #334155 !important;
  border-radius:8px !important;
  cursor:pointer !important;
  text-shadow:0 1px 3px rgba(0,0,0,.8) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.20),0 1px 3px rgba(0,0,0,.22) !important;
}
.track-name.locked{
  color:#ef4444 !important;
  border-color:#ef4444 !important;
}

/* Originale Meterbox */
.track-len{
  font-size:9px !important;
  color:#cbd5e1 !important;
  font-weight:700 !important;
  line-height:1.05 !important;
  text-align:center !important;
  background:#111827 !important;
  border:1px solid #334155 !important;
  border-radius:8px !important;
  padding:3px 4px !important;
}

/* Originale Schiene */
.rail{
  position:relative !important;
  height:78% !important;
  min-height:26px !important;
  max-height:44px !important;
  border:1px solid #475569 !important;
  border-radius:9px !important;
  background:linear-gradient(180deg,#1e293b 0%,#111827 52%,#0f172a 100%) !important;
  overflow:hidden !important;
  width:100% !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.75),
    inset 0 -1px 4px rgba(15,23,42,.08),
    0 1px 3px rgba(15,23,42,.08) !important;
}
.rail:before{
  content:"" !important;
  position:absolute !important;
  left:0 !important;
  right:0 !important;
  top:50% !important;
  height:5px !important;
  background:linear-gradient(180deg,#cbd5e1,#64748b,#334155) !important;
  transform:translateY(-50%) !important;
  border-radius:999px !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.45),
    inset 0 -1px 0 rgba(0,0,0,.22),
    0 1px 2px rgba(15,23,42,.22) !important;
}
.rail:after{
  background:transparent !important;
}

/* Originale Signale */
.track-signal{
  position:relative !important;
  left:auto !important;
  top:auto !important;
  transform:none !important;
  width:20px !important;
  height:52px !important;
  z-index:50 !important;
  pointer-events:none !important;
  justify-self:center !important;
  align-self:center !important;
}
.signal-head{
  position:absolute !important;
  left:2px !important;
  top:0 !important;
  width:16px !important;
  height:35px !important;
  border-radius:10px !important;
  background:linear-gradient(180deg,#1f2937 0%,#020617 100%) !important;
  border:1px solid rgba(255,255,255,.35) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.20),0 2px 6px rgba(0,0,0,.60) !important;
}
.signal-lamp{
  position:absolute !important;
  left:4px !important;
  width:8px !important;
  height:8px !important;
  border-radius:999px !important;
  background:#1f2937 !important;
  box-shadow:inset 0 1px 2px rgba(0,0,0,.85) !important;
}
.signal-lamp.red{top:4px !important}
.signal-lamp.yellow{top:13px !important}
.signal-lamp.green{top:22px !important}
.track-signal.is-green .signal-lamp.green{
  background:#22c55e !important;
  box-shadow:0 0 8px #22c55e,0 0 15px rgba(34,197,94,.60),inset 0 1px 0 rgba(255,255,255,.75) !important;
}
.track-signal.is-yellow .signal-lamp.yellow{
  background:#facc15 !important;
  box-shadow:0 0 8px #facc15,0 0 15px rgba(250,204,21,.60),inset 0 1px 0 rgba(255,255,255,.75) !important;
}
.track-signal.is-red .signal-lamp.red{
  background:#ef4444 !important;
  box-shadow:0 0 8px #ef4444,0 0 15px rgba(239,68,68,.60),inset 0 1px 0 rgba(255,255,255,.75) !important;
}
.signal-post{
  position:absolute !important;
  left:9px !important;
  top:35px !important;
  width:2px !important;
  height:12px !important;
  background:linear-gradient(180deg,#94a3b8,#475569) !important;
}
.signal-foot{
  position:absolute !important;
  left:4px !important;
  top:47px !important;
  width:12px !important;
  height:4px !important;
  border-radius:2px !important;
  background:linear-gradient(180deg,#94a3b8,#334155) !important;
  box-shadow:0 1px 2px rgba(0,0,0,.55) !important;
}

/* Originale Laufweg- und Sperrdarstellung */
.walk{
  position:absolute !important;
  top:0 !important;
  bottom:0 !important;
  width:6px !important;
  background:repeating-linear-gradient(45deg,#111827 0,#111827 2px,#facc15 2px,#facc15 4px) !important;
  z-index:60 !important;
  transform:translateX(-50%) !important;
  pointer-events:none !important;
  border-left:1px solid #111827 !important;
  border-right:1px solid #111827 !important;
  box-shadow:0 0 0 2px rgba(250,204,21,.14) !important;
}
.lock{
  position:absolute !important;
  top:0 !important;
  bottom:0 !important;
  background:repeating-linear-gradient(45deg,rgba(255,0,0,.22) 0,rgba(255,0,0,.22) 9px,rgba(255,255,255,.12) 9px,rgba(255,255,255,.12) 18px) !important;
  border:2px solid #ff0000 !important;
  z-index:8 !important;
  pointer-events:none !important;
}

/* Originales Sperrmenü */
.lock-menu{
  position:fixed !important;
  z-index:100001 !important;
  background:#111827 !important;
  color:#e5e7eb !important;
  border:1px solid #334155 !important;
  border-radius:12px !important;
  box-shadow:0 18px 45px rgba(0,0,0,.55) !important;
  padding:8px !important;
  min-width:240px !important;
}
.lock-menu-title{
  font-weight:900 !important;
  padding:6px 8px 8px !important;
  border-bottom:1px solid #334155 !important;
  margin-bottom:6px !important;
}
.lock-menu button{
  width:100% !important;
  display:block !important;
  text-align:left !important;
  border-radius:8px !important;
  padding:9px 10px !important;
  margin:3px 0 !important;
  font-weight:900 !important;
}

/* Wrapper aus Zwischenversionen deaktivieren */
.railScaleWrap{display:contents !important;}

/* Einstellungen-Menü mit Fahrzeugliste */
.settingsWrap{position:relative;display:inline-block}
.settingsMenu{position:absolute;top:calc(100% + 8px);right:0;z-index:1000;min-width:210px;background:#0f172a;color:#fff;border:1px solid rgba(148,163,184,.35);border-radius:12px;padding:8px;box-shadow:0 18px 45px rgba(0,0,0,.35)}
.settingsMenu::before{content:"⚙ Einstellungen";display:block;font-weight:900;padding:8px 10px;border-bottom:1px solid rgba(148,163,184,.25);margin-bottom:6px}
.settingsMenu button{display:block;width:100%;text-align:left;background:#334155;color:#fff;border-radius:9px;padding:9px 10px}
.vehicleListDialog{width:min(900px,calc(100vw - 24px));max-height:calc(100vh - 34px);overflow:hidden;padding:0;display:flex;flex-direction:column}
.vehicleListHeader{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid var(--line)}
.vehicleListHeader h2{margin:0;font-size:22px}.vehicleListTools{display:grid;grid-template-columns:1fr auto;gap:8px;padding:12px 16px;border-bottom:1px solid var(--line)}
.vehicleListTools input{width:100%;border:1px solid var(--line);border-radius:8px;padding:9px;font:inherit}.vehicleListBody{padding:14px 16px;overflow:auto}.vehicleListGroup{margin-bottom:16px}.vehicleListGroup h3{margin:0 0 8px;font-size:16px;display:flex;justify-content:space-between}.vehicleListGroup h3 span{color:var(--muted)}
.vehicleListGrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:8px}.vehicleListItem{background:#f8fafc!important;color:#17202a!important;border:1px solid #cbd5e1!important;text-align:left;border-radius:10px;padding:9px!important;box-shadow:none!important;text-shadow:none!important}.vehicleListItem b{display:block;font-size:15px}.vehicleListItem small{display:block;color:#64748b;margin-top:3px;line-height:1.25}.vehicleListItem.inUse{border-color:#1769e0!important;background:#eff6ff!important}.vehicleEmpty{padding:18px;text-align:center;color:var(--muted);font-weight:800}
body.darkMode .settingsMenu{background:#111827;border-color:#334155}body.darkMode .settingsMenu button{background:#1e293b;color:#fff}body.darkMode .vehicleListDialog{background:#111827!important;color:#e5e7eb!important;border-color:#334155!important}body.darkMode .vehicleListHeader,body.darkMode .vehicleListTools{border-color:#334155}body.darkMode .vehicleListTools input{background:#0f172a;color:#fff;border-color:#475569}body.darkMode .vehicleListItem{background:#1e293b!important;color:#e5e7eb!important;border-color:#334155!important}body.darkMode .vehicleListItem small{color:#cbd5e1}body.darkMode .vehicleListItem.inUse{background:#172554!important;border-color:#3b82f6!important}
@media(max-width:620px){.vehicleListTools{grid-template-columns:1fr}.settingsMenu{left:0;right:auto}.vehicleListGrid{grid-template-columns:repeat(auto-fill,minmax(105px,1fr))}}


/* Fenster immer über dem Gleisplan anzeigen */
.backdrop,
.dialogBackdrop,
#editorModal.dialogBackdrop,
#vehicleSearchModal.dialogBackdrop,
#vehicleListBackdrop.dialogBackdrop{
  position:fixed !important;
  inset:0 !important;
  z-index:30000 !important;
  overflow:auto !important;
}
.backdrop.show,
.dialogBackdrop.show,
#editorModal.dialogBackdrop.show,
#vehicleSearchModal.dialogBackdrop.show{
  display:flex !important;
  align-items:flex-start !important;
  justify-content:center !important;
  padding-top:54px !important;
}
.dialog,
.vehicle-search-dialog,
.vehicleListDialog{
  position:relative !important;
  z-index:30001 !important;
}

/* Fahrzeugstamm-Ansicht wie Referenzbild: links oben, kompakt, dunkel */
#vehicleListBackdrop.vehicleListBackdrop{
  background:transparent !important;
  align-items:flex-start !important;
  justify-content:flex-start !important;
  padding:53px 0 18px 17px !important;
}
#vehicleListBackdrop.vehicleListBackdrop.show{
  display:flex !important;
  align-items:flex-start !important;
  justify-content:flex-start !important;
}
.vehicleListDialog{
  width:min(720px,calc(100vw - 34px)) !important;
  height:min(835px,calc(100vh - 70px)) !important;
  max-height:calc(100vh - 70px) !important;
  overflow:hidden !important;
  padding:0 !important;
  display:flex !important;
  flex-direction:column !important;
  border-radius:14px !important;
  background:#111827 !important;
  color:#e5e7eb !important;
  border:1px solid rgba(148,163,184,.45) !important;
  box-shadow:0 22px 60px rgba(0,0,0,.55) !important;
}
.vehicleListHeader{
  flex:0 0 auto !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:12px !important;
  padding:12px 14px 8px !important;
  border-bottom:0 !important;
  background:#111827 !important;
}
.vehicleListHeader h2{
  margin:0 !important;
  font-size:22px !important;
  line-height:1.1 !important;
  color:#ffffff !important;
  text-shadow:0 1px 2px rgba(0,0,0,.7) !important;
}
.vehicleListHeaderActions{
  display:flex !important;
  gap:8px !important;
  align-items:center !important;
  flex-wrap:wrap !important;
}
.vehicleListHeaderActions button{
  padding:8px 13px !important;
  border-radius:8px !important;
  font-weight:900 !important;
  white-space:nowrap !important;
}
.vehicleListHint{
  flex:0 0 auto !important;
  margin:0 !important;
  padding:4px 14px 8px !important;
  color:#cbd5e1 !important;
  font-size:12px !important;
  font-weight:800 !important;
}
.vehicleListSearchHidden{
  position:absolute !important;
  width:1px !important;
  height:1px !important;
  opacity:0 !important;
  pointer-events:none !important;
}
.vehicleListBody{
  flex:1 1 auto !important;
  overflow:auto !important;
  padding:12px 12px 14px !important;
  background:#111827 !important;
  scrollbar-color:#a8a8a8 #111827;
}
.vehicleListGroup{
  margin:0 0 10px !important;
  border:1px solid rgba(148,163,184,.35) !important;
  border-radius:10px !important;
  padding:10px !important;
  background:#111827 !important;
}
.vehicleListGroup h3{
  margin:0 0 8px !important;
  display:flex !important;
  justify-content:space-between !important;
  align-items:center !important;
  color:#ffffff !important;
  font-size:16px !important;
}
.vehicleListGroup h3 span{
  color:#cbd5e1 !important;
  font-size:12px !important;
  font-weight:900 !important;
}
.vehicleListGrid{
  display:grid !important;
  grid-template-columns:repeat(8,minmax(0,1fr)) !important;
  gap:6px !important;
}
.vehicleListItem{
  min-height:37px !important;
  padding:7px 6px !important;
  text-align:center !important;
  border-radius:8px !important;
  background:linear-gradient(180deg,#263345 0%,#1e293b 54%,#172033 100%) !important;
  color:#ffffff !important;
  border:1px solid #46566d !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.28),0 1px 3px rgba(0,0,0,.35) !important;
  text-shadow:0 1px 2px rgba(0,0,0,.75) !important;
}
.vehicleListItem.hasInfo,
.vehicleListItem:has(em:not(:empty)){
  min-height:60px !important;
  padding-top:6px !important;
  padding-bottom:5px !important;
}
.vehicleListItem b{
  display:block !important;
  font-size:16px !important;
  line-height:1.2 !important;
}
.vehicleListItem small{
  display:none !important;
}
.vehicleListItem.inUse{
  background:linear-gradient(180deg,#2f64b4 0%,#1d4f9d 54%,#173f7d 100%) !important;
  border-color:#6aa0ff !important;
}
.vehicleListItem em{
  display:flex !important;
  min-height:20px !important;
  margin-top:3px !important;
  gap:3px !important;
  justify-content:center !important;
  align-items:center !important;
  flex-wrap:wrap !important;
  font-style:normal !important;
  overflow:visible !important;
}
.vehicleListItem .vBadge{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  margin:0 !important;
  padding:2px 5px !important;
  min-width:24px !important;
  max-width:54px !important;
  height:18px !important;
  border-radius:999px !important;
  font-size:9px !important;
  line-height:1 !important;
  font-weight:950 !important;
  text-shadow:none !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}
.vehicleListItem .vBadge.status-defekt{
  background:#dc2626 !important;
  color:#fff !important;
}
.vehicleListItem .vBadge.frist,
.vehicleListItem .vBadge.frist-bba,
.vehicleListItem .vBadge.frist-bfa,
.vehicleListItem .vBadge.frist-bbi{
  min-width:28px !important;
  max-width:42px !important;
  font-size:10px !important;
}
.vehicleEmpty{
  padding:18px !important;
  color:#cbd5e1 !important;
  text-align:center !important;
  font-weight:900 !important;
}
@media(max-width:760px){
  #vehicleListBackdrop.vehicleListBackdrop{padding-left:8px !important;padding-top:48px !important;}
  .vehicleListDialog{width:calc(100vw - 16px) !important;}
  .vehicleListGrid{grid-template-columns:repeat(4,minmax(0,1fr)) !important;}
  .vehicleListHeader{align-items:flex-start !important;}
  .vehicleListHeaderActions{justify-content:flex-end !important;}
}
@media(max-width:430px){
  .vehicleListGrid{grid-template-columns:repeat(3,minmax(0,1fr)) !important;}
  .vehicleListHeader{display:block !important;}
  .vehicleListHeaderActions{margin-top:8px !important;display:grid !important;grid-template-columns:1fr !important;}
}

/* Korrektur Fenster-Ebenen und Fahrzeugstamm-Liste */
.dialogBackdrop:not(.show),
#vehicleListBackdrop.dialogBackdrop:not(.show),
#vehicleSearchModal.dialogBackdrop:not(.show),
#editorModal.dialogBackdrop:not(.show){
  display:none !important;
}
.backdrop,
.backdrop.show,
.dialogBackdrop,
.dialogBackdrop.show,
#editorBackdrop,
#searchBackdrop,
#vehicleListBackdrop,
#vehicleSearchModal,
#editorModal{
  position:fixed !important;
  z-index:120000 !important;
}
#vehicleListBackdrop.vehicleListBackdrop.show{
  display:flex !important;
  align-items:flex-start !important;
  justify-content:flex-start !important;
  padding:53px 0 18px 17px !important;
  background:transparent !important;
  pointer-events:none !important;
}
#vehicleListBackdrop.vehicleListBackdrop.show .vehicleListDialog{
  pointer-events:auto !important;
}
#editorBackdrop.backdrop.show,
#searchBackdrop.backdrop.show,
#vehicleSearchModal.dialogBackdrop.show,
#editorModal.dialogBackdrop.show{
  display:flex !important;
  align-items:flex-start !important;
  justify-content:center !important;
  padding-top:70px !important;
  background:transparent !important;
}
#editorBackdrop .dialog,
#searchBackdrop .dialog,
#vehicleSearchModal .dialog,
#editorModal .dialog{
  position:relative !important;
  z-index:120001 !important;
}
#settingsVehicleList.vehicleListBody{
  min-height:200px !important;
}

/* Kleines Fenster zum Fahrzeugstamm hinzufügen/entfernen */
.vehicleMasterEditBackdrop{
  align-items:flex-start !important;
  justify-content:flex-start !important;
  padding-top:10px !important;
  padding-left:8px !important;
  background:rgba(0,0,0,.18) !important;
  z-index:12000 !important;
}
.vehicleMasterEditDialog{
  width:min(420px,calc(100vw - 16px)) !important;
  padding:0 !important;
  border-radius:12px !important;
  background:#111827 !important;
  color:#f8fafc !important;
  border:1px solid #334155 !important;
  box-shadow:0 18px 50px rgba(0,0,0,.55) !important;
  overflow:hidden !important;
}
.vehicleMasterEditHeader{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
  padding:12px 14px;
  border-bottom:1px solid #334155;
  background:linear-gradient(180deg,#1e293b,#111827);
}
.vehicleMasterEditHeader h2{margin:0 !important;font-size:20px !important;color:#fff !important;}
.vehicleMasterEditForm{padding:12px 14px 14px;display:grid;gap:8px;}
.vehicleMasterEditForm label{font-weight:900;font-size:13px;display:grid;gap:4px;}
.vehicleMasterEditForm input,
.vehicleMasterEditForm select{
  width:100%;
  border:1px solid #64748b;
  border-radius:9px;
  padding:8px 9px;
  background:#111827;
  color:#f8fafc;
  font-weight:800;
  font-size:15px;
}
.vehicleMasterEditForm input:focus{outline:2px solid #ffffff;outline-offset:1px;}
.vehicleMasterEditActions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:2px;}
.vehicleMasterEditActions button{width:100%;font-size:14px;padding:8px 10px;}
.vehicleMasterEditActions .remove{background:#dc2626 !important;}

/* Fahrzeugzustand-Dialog */
.vehicleConditionBackdrop{align-items:flex-start !important;justify-content:flex-start !important;padding:74px 0 24px 18px !important;overflow:auto !important;z-index:10020 !important;}
.vehicleConditionDialog{width:min(760px,calc(100vw - 36px)) !important;max-height:calc(100vh - 98px) !important;overflow:hidden !important;padding:0 !important;border-radius:16px !important;background:#0f172a !important;color:#e5e7eb !important;border:1px solid rgba(148,163,184,.35) !important;box-shadow:0 24px 70px rgba(0,0,0,.55) !important;}
.vehicleConditionHeader{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;padding:14px 16px;background:linear-gradient(180deg,#1e293b,#0f172a);border-bottom:1px solid rgba(148,163,184,.35)}
.vehicleConditionHeader h2{margin:0 !important;color:#fff !important;font-size:22px !important}.vehicleConditionHeader p{margin:4px 0 0;color:#cbd5e1;font-size:13px;font-weight:800}.vehicleConditionBody{padding:14px 16px 16px;display:grid;gap:12px;max-height:calc(100vh - 178px);overflow:auto}.conditionSection{border:1px solid rgba(148,163,184,.30);border-radius:14px;background:linear-gradient(180deg,#111827,#0b1220);padding:12px;display:grid;gap:10px}.conditionSection h3{margin:0;color:#fff;font-size:16px}.conditionSectionHead{display:flex;justify-content:space-between;gap:10px;align-items:baseline}.conditionSectionHead small{color:#94a3b8;font-weight:800}.conditionStatusGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.conditionStatusGrid label,.conditionCheck{border:1px solid rgba(148,163,184,.28);border-radius:10px;background:#0f172a;padding:9px 10px;font-weight:900;cursor:pointer}.conditionStatusGrid input,.conditionCheck input{margin-right:7px}.conditionAddLine{display:grid;grid-template-columns:minmax(180px,1fr) minmax(160px,.8fr) auto;gap:8px;align-items:end}.conditionFristGrid{display:grid;grid-template-columns:.7fr .7fr 1fr .8fr auto;gap:8px;align-items:end}.conditionGraffitiGrid{display:grid;grid-template-columns:1fr 1fr;gap:10px;align-items:end}.vehicleConditionDialog label{font-weight:900;font-size:13px;display:grid;gap:5px;color:#e5e7eb}.vehicleConditionDialog input,.vehicleConditionDialog select,.vehicleConditionDialog textarea{width:100%;border:1px solid #475569;border-radius:9px;background:#0f172a;color:#fff;padding:8px;font:inherit}.vehicleConditionDialog textarea{resize:vertical}.conditionList{border:1px solid rgba(148,163,184,.28);border-radius:12px;background:#0f172a;min-height:42px;max-height:150px;overflow:auto;padding:8px;color:#cbd5e1;font-weight:800}.conditionListItem{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;border:1px solid rgba(148,163,184,.25);border-radius:10px;background:#111827;padding:7px 8px;margin-bottom:6px}.conditionListItem:last-child{margin-bottom:0}.conditionActions{display:flex;justify-content:flex-end;gap:8px;position:sticky;bottom:0;background:#0f172a;padding-top:8px}.vBadge{display:inline-block;margin-top:5px;margin-right:4px;padding:2px 6px;border-radius:999px;font-size:10px;font-style:normal;font-weight:950;background:#334155;color:white}.vBadge.defect{background:#dc2626}.vBadge.graffiti{background:#7c3aed}.vBadge.frist{background:#facc15;color:#111}.vehicleListItem em{display:block;min-height:18px;font-style:normal}.vehicleListItem .status-defekt,.vBadge.status-defekt{background:#dc2626}.vehicleListItem .status-graffiti,.vBadge.status-graffiti{background:#7c3aed}.vehicleListItem .status-defekt_graffiti,.vBadge.status-defekt_graffiti{background:#ea580c}.vehicleListItem .status-werkstatt,.vBadge.status-werkstatt{background:#facc15;color:#111}.vehicleListItem .status-reserve,.vBadge.status-reserve{background:#64748b}
@media(max-width:760px){.vehicleConditionBackdrop{padding:64px 8px 16px !important}.vehicleConditionDialog{width:calc(100vw - 16px)!important}.conditionStatusGrid,.conditionGraffitiGrid,.conditionAddLine,.conditionFristGrid{grid-template-columns:1fr}.vehicleConditionHeader{align-items:stretch}.vehicleConditionHeader button{white-space:nowrap}}


/* Graffiti-Bereich vereinfacht: nur Checkbox */
.conditionGraffitiGrid.graffitiSingle{grid-template-columns:1fr!important;}
.conditionListItem button.red{min-width:84px;}
.vehicle-card-status.status-defekt_graffiti{background:#ea580c!important;color:#fff!important;border-radius:999px;padding:3px 8px;display:inline-block}


/* Fahrzeugzustand: Graffiti wird nur noch über den Status gewählt; Datum mit sichtbarem Kalenderfeld */
.vehicleConditionDialog input[type="date"]{
  color-scheme:dark;
  padding-right:34px !important;
}
.vehicleConditionDialog input[type="date"]::-webkit-calendar-picker-indicator{
  opacity:1 !important;
  cursor:pointer;
  filter:invert(1);
}
.dateField{
  position:relative;
  display:block;
}
.dateField .dateIcon{
  position:absolute;
  right:10px;
  top:50%;
  transform:translateY(-50%);
  pointer-events:none;
  font-size:16px;
  opacity:.95;
}
.dateField input[type="date"]::-webkit-calendar-picker-indicator{
  position:relative;
  z-index:2;
  opacity:0;
}

/* KORREKTUR: Defekt + Graffiti diagonal rot/lila darstellen */
.status-defekt_graffiti,
.status-defekt-graffiti,
.vehicle-card-status.status-defekt_graffiti,
.vehicle-card-status.status-defekt-graffiti,
.vehicleListItem .status-defekt_graffiti,
.vehicleListItem .status-defekt-graffiti,
.vBadge.status-defekt_graffiti,
.vBadge.status-defekt-graffiti{
  background:#dc2626 !important;
  background-image:linear-gradient(135deg,#dc2626 0%,#dc2626 49.5%,#7c3aed 50.5%,#7c3aed 100%) !important;
  color:#ffffff !important;
  text-shadow:0 1px 2px rgba(0,0,0,.85) !important;
  border-color:rgba(255,255,255,.55) !important;
}

/* Kleines Fenster: Fahrzeug nur vom Gleisplan entfernen */
.removeFromTrackBackdrop{z-index:10030!important;align-items:flex-start!important;justify-content:flex-start!important;padding:72px 0 0 18px!important;}
.removeFromTrackDialog{width:min(540px,calc(100vw - 24px))!important;padding:0!important;overflow:hidden!important;background:#0f172a!important;color:#f8fafc!important;border:1px solid rgba(148,163,184,.45)!important;}
.removeHint{border:1px solid rgba(148,163,184,.35);border-radius:12px;padding:10px;background:#111827;color:#cbd5e1;font-weight:800;line-height:1.35;}
.twoActions{grid-template-columns:1fr 1.2fr!important;}
@media(max-width:520px){.removeFromTrackBackdrop{padding:60px 8px 0!important}.twoActions{grid-template-columns:1fr!important}}

.removeFromTrackDialog .editorHeader{padding:16px 20px 12px!important;}
.removeFromTrackDialog .simpleForm{padding:10px 20px 18px!important;}
.removeFromTrackDialog #removeFromTrackText{font-size:20px;line-height:1.4;margin:8px 0 4px 0;}


/* Kleiner Kalender im Fahrzeugzustand-Fenster */
.dateField{position:relative;display:block;}
.dateField input[type="text"]{padding-right:42px !important;}
.dateField .dateIcon{
  position:absolute !important;
  right:6px !important;
  top:50% !important;
  transform:translateY(-50%) !important;
  width:30px !important;
  height:30px !important;
  padding:0 !important;
  border-radius:8px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  pointer-events:auto !important;
  cursor:pointer !important;
  font-size:15px !important;
  line-height:1 !important;
  background:linear-gradient(180deg,#334155,#111827) !important;
  border:1px solid #475569 !important;
  color:#fff !important;
  text-shadow:none !important;
}
.dateField .dateIcon::before{display:none!important;content:none!important;}
.miniDateCalendar{
  position:fixed;
  z-index:200000;
  width:300px;
  background:#0f172a;
  color:#f8fafc;
  border:1px solid rgba(148,163,184,.55);
  border-radius:14px;
  box-shadow:0 22px 70px rgba(0,0,0,.65);
  padding:10px;
  font-weight:800;
}
.miniCalHead{display:grid;grid-template-columns:36px 1fr 36px;gap:8px;align-items:center;margin-bottom:8px;}
.miniCalHead strong{text-align:center;text-transform:capitalize;}
.miniCalHead button,.miniCalFoot button,.miniCalGrid button{border-radius:8px;padding:7px 8px;}
.miniCalWeek,.miniCalGrid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;text-align:center;}
.miniCalWeek span{font-size:11px;color:#cbd5e1;padding:4px 0;}
.miniCalGrid button{background:#111827!important;border:1px solid #334155!important;color:#fff!important;box-shadow:none!important;text-shadow:none!important;min-height:32px;}
.miniCalGrid button:hover{background:#1e40af!important;transform:none!important;}
.miniCalGrid button.selected{background:#1769e0!important;border-color:#93c5fd!important;}
.miniCalFoot{display:flex;justify-content:space-between;gap:8px;margin-top:10px;}
.miniCalFoot button{flex:1;}

/* Fristen heute kompakt: ein Eintrag pro Zeile, Löschbutton erst nach Doppelklick */
.deadlineTodayRow{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) auto !important;
  align-items:center !important;
  gap:8px !important;
  padding:6px 8px !important;
  line-height:1.2 !important;
  cursor:pointer !important;
}
.deadlineTodayText{
  min-width:0 !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  white-space:nowrap !important;
}
.deadlineTodayDelete{
  padding:5px 8px !important;
  font-size:12px !important;
  border-radius:8px !important;
  white-space:nowrap !important;
}
.deadlineTodayRow.showDelete{
  background:#fff7ed !important;
}
body.darkMode .deadlineTodayRow.showDelete{
  background:#1e293b !important;
}


/* Fristen heute: keine Textmarkierung / kein Kopieren-Popup */
.deadlineTodayRow,
.deadlineTodayRow *,
#todayDeadlines,
#todayDeadlines *{
  -webkit-user-select:none !important;
  -moz-user-select:none !important;
  -ms-user-select:none !important;
  user-select:none !important;
  -webkit-touch-callout:none !important;
}
.deadlineTodayRow{
  -webkit-tap-highlight-color:transparent !important;
  touch-action:manipulation !important;
}
.deadlineTodayText{
  pointer-events:none !important;
}
.deadlineTodayDelete{
  pointer-events:auto !important;
}
.deadlineTodayRow.showDelete{
  outline:2px solid #1769e0 !important;
  outline-offset:1px !important;
}


/* Innenreinigung statt Werkstatt: rosa Darstellung mit Besen-Symbol */
.status-werkstatt,
.veh.status-werkstatt,
.train.status-werkstatt,
.mini-train.status-werkstatt,
.drag-ghost.status-werkstatt{
  background:linear-gradient(180deg,#ff9af1 0%,#f064dc 52%,#c13db1 100%) !important;
  color:#ffffff !important;
  text-shadow:0 1px 2px rgba(0,0,0,.75) !important;
  border-color:#8b2a80 !important;
}
.vehicle-card-status.status-werkstatt,
.vBadge.status-werkstatt,
.vehicleListItem .status-werkstatt{
  background:linear-gradient(180deg,#ff9af1,#d946c8) !important;
  color:#ffffff !important;
  border-color:rgba(255,255,255,.55) !important;
}
.cleaning-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-left:5px;
  font-size:13px;
  line-height:1;
  filter:drop-shadow(0 1px 1px rgba(0,0,0,.55));
  pointer-events:none;
}
.vehicleListItem .status-werkstatt::before,
.vBadge.status-werkstatt::before,
.vehicle-card-status.status-werkstatt::before{
  content:'🧹 ';
}


/* Fristen-/Termine-Liste */
.deadlineListBackdrop{align-items:center;justify-content:center;padding:24px;}
.deadlineListDialog{width:min(920px,calc(100vw - 32px));max-height:calc(100vh - 48px);overflow:hidden;background:#0f172a;color:#e5e7eb;border:1px solid rgba(148,163,184,.35);border-radius:16px;box-shadow:0 24px 70px rgba(0,0,0,.45);}
.deadlineListHeader{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:16px 18px;border-bottom:1px solid rgba(148,163,184,.25);background:linear-gradient(180deg,#1e293b,#111827);}
.deadlineListHeader h2{margin:0;color:#fff;font-size:22px;}
.deadlineListHeader p{margin:4px 0 0;color:#cbd5e1;font-weight:800;font-size:13px;}
.deadlineListActions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;}
.deadlineListBody{padding:14px 16px 18px;overflow:auto;max-height:calc(100vh - 150px);}
.deadlineLegend{display:flex;gap:8px;align-items:center;margin:0 0 10px 0;flex-wrap:wrap;font-weight:950;}
.deadlineLegend span{display:inline-flex;align-items:center;justify-content:center;min-width:54px;padding:6px 10px;border-radius:999px;border:1px solid rgba(255,255,255,.22);box-shadow:inset 0 1px 0 rgba(255,255,255,.18);}
.deadlineLegend .legendBba{background:linear-gradient(90deg,rgba(250,204,21,.95),rgba(250,204,21,.35));color:#111827;}
.deadlineLegend .legendBfa{background:linear-gradient(90deg,rgba(37,99,235,.95),rgba(37,99,235,.35));color:#fff;}
.deadlineLegend .legendBbi{background:linear-gradient(90deg,rgba(34,197,94,.95),rgba(34,197,94,.35));color:#fff;}
.deadlineTable tr.deadline-row-bba td{background:linear-gradient(90deg,rgba(250,204,21,.34),rgba(250,204,21,.10)) !important;color:#fff7cc;}
.deadlineTable tr.deadline-row-bfa td{background:linear-gradient(90deg,rgba(37,99,235,.42),rgba(37,99,235,.12)) !important;color:#dbeafe;}
.deadlineTable tr.deadline-row-bbi td{background:linear-gradient(90deg,rgba(34,197,94,.34),rgba(34,197,94,.10)) !important;color:#dcfce7;}
.deadlineTable tr.deadline-row-bba td:first-child{border-left:5px solid #facc15;}
.deadlineTable tr.deadline-row-bfa td:first-child{border-left:5px solid #2563eb;}
.deadlineTable tr.deadline-row-bbi td:first-child{border-left:5px solid #22c55e;}
.deadlineTable{width:100%;border-collapse:separate;border-spacing:0;background:#0b1220;border:1px solid rgba(148,163,184,.35);border-radius:12px;overflow:hidden;}
.deadlineTable th,.deadlineTable td{padding:10px 12px;border-bottom:1px solid rgba(148,163,184,.22);text-align:left;font-weight:850;}
.deadlineTable th{position:sticky;top:0;background:#1e293b;color:#fff;z-index:1;font-size:13px;text-transform:uppercase;letter-spacing:.04em;}
.deadlineTable td{color:#e5e7eb;background:#0f172a;}
.deadlineTable tr:nth-child(even) td{background:#111827;}
.deadlineTable tr:last-child td{border-bottom:0;}
.deadlineDeleteCol{
  width:92px;
  text-align:center !important;
}
.deadlineDeleteBtn{
  border:1px solid rgba(254,202,202,.55);
  border-radius:8px;
  padding:6px 9px;
  background:linear-gradient(180deg,#dc2626,#991b1b);
  color:#ffffff;
  font-weight:900;
  cursor:pointer;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 2px 7px rgba(0,0,0,.22);
}
.deadlineDeleteBtn:hover{
  filter:brightness(1.08);
}
.deadlineEmpty{padding:18px;border:1px dashed rgba(148,163,184,.45);border-radius:12px;color:#cbd5e1;font-weight:900;text-align:center;background:#111827;}
@media(max-width:680px){.deadlineListHeader{display:grid}.deadlineListActions{justify-content:stretch}.deadlineListActions button{flex:1}.deadlineTable th,.deadlineTable td{padding:8px 7px;font-size:12px}}
@media print{
  .noPrint{display:none !important;}
  body>*:not(#deadlineListBackdrop){display:none !important;}
  #deadlineListBackdrop{display:block !important;position:static !important;background:#fff !important;padding:0 !important;}
  #deadlineListBackdrop .deadlineListDialog{width:100% !important;max-height:none !important;box-shadow:none !important;border:0 !important;background:#fff !important;color:#000 !important;}
  #deadlineListBackdrop .deadlineListHeader{background:#fff !important;color:#000 !important;border-bottom:2px solid #000 !important;padding:0 0 10px 0 !important;}
  #deadlineListBackdrop .deadlineListHeader h2,#deadlineListBackdrop .deadlineListHeader p{color:#000 !important;}
  #deadlineListBackdrop .deadlineListBody{max-height:none !important;overflow:visible !important;padding:10px 0 0 0 !important;}
  #deadlineListBackdrop .noPrint{display:none !important;}
  #deadlineListBackdrop .deadlineTable{border-collapse:collapse !important;border:1px solid #000 !important;background:#fff !important;color:#000 !important;}
  #deadlineListBackdrop .deadlineLegend{display:flex !important;margin-bottom:8px !important;color:#000 !important;}
  #deadlineListBackdrop .deadlineLegend span{border:1px solid #000 !important;color:#000 !important;box-shadow:none !important;}
  #deadlineListBackdrop .deadlineLegend .legendBba{background:#fde68a !important;}
  #deadlineListBackdrop .deadlineLegend .legendBfa{background:#bfdbfe !important;}
  #deadlineListBackdrop .deadlineLegend .legendBbi{background:#bbf7d0 !important;}
  #deadlineListBackdrop .deadlineTable th,#deadlineListBackdrop .deadlineTable td{background:#fff !important;color:#000 !important;border:1px solid #000 !important;position:static !important;}
  #deadlineListBackdrop .deadlineTable tr.deadline-row-bba td{background:#fde68a !important;color:#000 !important;}
  #deadlineListBackdrop .deadlineTable tr.deadline-row-bfa td{background:#bfdbfe !important;color:#000 !important;}
  #deadlineListBackdrop .deadlineTable tr.deadline-row-bbi td{background:#bbf7d0 !important;color:#000 !important;}
}


/* Fristen heute: farbige Hinterlegung nach Ort (BBA/BFA/BBI) */
.deadlineTodayRow.deadlineToday-bba{
  border-left-color:#facc15 !important;
  background:linear-gradient(90deg,rgba(250,204,21,.46),rgba(250,204,21,.17)) !important;
  color:#ffffff !important;
}
.deadlineTodayRow.deadlineToday-bfa{
  border-left-color:#3b82f6 !important;
  background:linear-gradient(90deg,rgba(59,130,246,.55),rgba(59,130,246,.18)) !important;
  color:#ffffff !important;
}
.deadlineTodayRow.deadlineToday-bbi{
  border-left-color:#22c55e !important;
  background:linear-gradient(90deg,rgba(34,197,94,.48),rgba(34,197,94,.16)) !important;
  color:#ffffff !important;
}
.deadlineTodayRow.deadlineToday-bba .deadlineTodayText,
.deadlineTodayRow.deadlineToday-bfa .deadlineTodayText,
.deadlineTodayRow.deadlineToday-bbi .deadlineTodayText{
  color:#ffffff !important;
  text-shadow:0 1px 2px rgba(0,0,0,.55) !important;
}
.deadlineTodayRow.deadlineToday-bba.showDelete,
.deadlineTodayRow.deadlineToday-bfa.showDelete,
.deadlineTodayRow.deadlineToday-bbi.showDelete{
  outline:2px solid rgba(255,255,255,.75) !important;
  outline-offset:1px !important;
}

/* Fahrzeugübersicht: Fristplakette nach Ort färben, Text zeigt die Art (z.B. TB) */
.vBadge.frist-bba{background:#facc15 !important;color:#111 !important;}
.vBadge.frist-bfa{background:#2563eb !important;color:#fff !important;}
.vBadge.frist-bbi{background:#22c55e !important;color:#06210f !important;}


/* GH walkway markers like Farmsen */
.walk{
  width:10px !important;
  background:repeating-linear-gradient(
    45deg,
    #f5d000 0px,
    #f5d000 6px,
    #111 6px,
    #111 12px
  ) !important;
  border-left:1px solid #fff;
  border-right:1px solid #fff;
}


/* Fix 28.06.2026: Gleis- und Statusauswahl im Eingabefenster wieder lesbar
   Ursache: globale Select-Regeln aus der Netzdisplay-/Kompaktoptik machten die
   Auswahlfelder zu niedrig. Diese Regel gilt nur im Fahrzeug-Eingabedialog. */
#editorBackdrop .form select,
#editorModal select,
#editorBackdrop select,
.dialog select{
  height:38px !important;
  min-height:38px !important;
  line-height:20px !important;
  padding:7px 34px 7px 10px !important;
  border-radius:8px !important;
  background-color:#0b1519 !important;
  color:#f8fafc !important;
  border:1px solid #38545d !important;
  font-size:14px !important;
  font-weight:800 !important;
  text-shadow:none !important;
  box-shadow:none !important;
  vertical-align:middle !important;
}

#editorBackdrop .form select option,
#editorModal select option,
.dialog select option{
  background:#0b1519 !important;
  color:#f8fafc !important;
  font-size:14px !important;
  font-weight:700 !important;
}

#editorBackdrop .form input,
#editorBackdrop .form textarea,
#editorModal input,
#editorModal textarea,
.dialog input,
.dialog textarea{
  color:#f8fafc !important;
}


/* Vorschau im Eingabefenster: Status/Fristen sofort beim Tippen anzeigen */
.vehicle-entry-preview{
  display:none;
  margin:-4px 0 8px 0;
  padding:8px 10px;
  border:1px solid rgba(92,192,255,.35);
  border-radius:9px;
  background:rgba(4,17,24,.48);
  color:#dff6ff;
  font-size:12px;
  line-height:1.35;
}
.vehicle-entry-preview.show{display:block}
.vehicle-entry-preview-title{
  color:#54c7ff;
  font-weight:700;
  margin-bottom:5px;
}
.vehicle-entry-preview-list{
  display:flex;
  flex-direction:row-reverse;
  gap:6px;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.vehicle-entry-preview-card{
  min-width:92px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:8px;
  padding:6px 8px;
  background:rgba(255,255,255,.05);
}
.vehicle-entry-preview-num{font-size:16px;font-weight:800;color:#fff}
.vehicle-entry-preview-meta{color:#b8c7d0}
.vehicle-entry-preview-empty{color:#8d9aa3}
.vehicle-entry-preview-frist{color:#ffd37a}

/* Fix 28.06.2026: Fristen im Fahrzeugstamm besser lesbar machen */
.vehicleListItem .vBadge.frist,
.vehicleListItem .vBadge.frist-bba,
.vehicleListItem .vBadge.frist-bfa,
.vehicleListItem .vBadge.frist-bbi,
.vBadge.frist,
.vBadge.frist-bba,
.vBadge.frist-bfa,
.vBadge.frist-bbi{
  min-width:38px !important;
  padding:4px 9px !important;
  font-size:12px !important;
  line-height:1.15 !important;
  border:1px solid rgba(0,0,0,.45) !important;
  box-shadow:0 1px 3px rgba(0,0,0,.28) !important;
  text-align:center !important;
  text-shadow:none !important;
}
.vehicleListItem .vBadge.frist,
.vBadge.frist{
  background:#facc15 !important;
  color:#111827 !important;
}
.conditionListItem b{
  color:#f8fafc !important;
  text-shadow:none !important;
}
