/* Linien-Wizard (Tages-Gruppenansicht) */

.day-picker {
  font-size: 1em;
  padding: 5px 8px;
  border: 1px solid var(--color-border, #e0e3ea);
  border-radius: 6px;
}

.run-row {
  display: grid;
  grid-template-columns: 70px minmax(180px, 1.4fr) minmax(110px, auto) minmax(160px, auto) minmax(220px, 1fr) auto;
  gap: 12px;
  align-items: center;
  padding: 10px 14px;
  border: 1px solid var(--color-border, #e0e3ea);
  border-radius: 8px;
  margin-bottom: 6px;
  background: var(--color-surface, #fff);
}
.run-row.is-bedarf_dispo  { border-left: 4px solid #f59e0b; }
.run-row.is-geplant       { border-left: 4px solid #2563eb; }
.run-row.is-bestätigt     { border-left: 4px solid #16a34a; }
.run-row.is-gefahren      { border-left: 4px solid #15803d; background: #f6faf7; }
.run-row.is-ausgefallen   { border-left: 4px solid #6b7280; background: #fafafa; opacity: 0.7; }

.run-tour {
  font-weight: 600;
  font-variant-numeric: tabular-nums;
}
.run-tour small {
  display: block;
  font-weight: 400;
  color: var(--color-text-muted, #6b7280);
  font-size: 0.8em;
}
.run-name {
  font-weight: 500;
}
.run-name small {
  display: block;
  color: var(--color-text-muted, #6b7280);
  font-size: 0.85em;
  margin-top: 2px;
}
.run-time {
  font-variant-numeric: tabular-nums;
  text-align: right;
  font-size: 0.95em;
}
.run-bus {
  font-size: 0.9em;
  color: var(--color-text-muted, #6b7280);
}

.fahrer-slot {
  padding: 6px 10px;
  border-radius: 6px;
  cursor: pointer;
  background: var(--color-surface-alt, #eef1f6);
  text-align: left;
  border: 1px dashed transparent;
  font-size: 0.95em;
  width: 100%;
  font-family: inherit;
}
.fahrer-slot:hover { background: var(--color-brand-primary-soft); border-color: var(--color-brand-primary); }
.fahrer-slot.is-empty {
  color: #b45309;
  background: #fef3c7;
  border-style: dashed;
  border-color: #f59e0b;
  font-style: italic;
}
.fahrer-slot.is-empty:hover { background: #fde68a; }
.fahrer-slot.is-locked {
  background: transparent;
  cursor: default;
  border: none;
  color: var(--color-text-muted, #6b7280);
}
.fahrer-slot.is-locked:hover { background: transparent; border: none; }

.run-actions {
  display: flex;
  gap: 4px;
}
.run-actions .btn {
  padding: 4px 10px;
  font-size: 0.85em;
}

/* Fahrer-Auswahl-Dialog: groß, Wizard-Step-2-Layout (Liste + Gruppen-Kalender).
   WICHTIG: display:flex nur bei [open], sonst bleibt der Inhalt nach close()
   sichtbar (Browser-Default `dialog { display:none }` wird sonst überschrieben). */
.driver-dialog[open] {
  /* ~10 px Abstand zu allen Bildschirmrändern */
  inset: 10px;
  width: auto;
  height: auto;
  max-width: none;
  max-height: none;
  margin: 0;
  padding: 14px 16px;
  display: flex;
  flex-direction: column;
}
.driver-dialog::backdrop { background: rgba(0,0,0,0.45); }

.driver-context {
  padding: 4px 8px 10px;
  border-bottom: 1px solid var(--color-border, #e0e3ea);
  margin-bottom: 12px;
  font-size: 0.95em;
}

/* Zweispalter wie rp-step2-layout — Liste links, Kalender rechts */
.picker-layout {
  display: grid;
  grid-template-columns: 400px minmax(0, 1fr);
  gap: 16px;
  flex: 1 1 auto;
  min-height: 0;
  overflow: hidden;
}
@media (max-width: 1100px) {
  .picker-layout { grid-template-columns: 1fr; }
}

.picker-list-col,
.picker-cal-col {
  display: flex;
  flex-direction: column;
  min-height: 0;
  overflow: hidden;
}

/* Liste scrollt eigenständig */
.picker-list-col .rp-drivers-list {
  overflow-y: auto;
  flex: 1 1 auto;
  padding-right: 4px;
  margin: 0;
}
.picker-list-col .rp-step2-list-head {
  margin: 0 0 10px;
}

/* Kalender-Mount darf wachsen + intern scrollen */
.picker-cal-col .rp-cal-mount {
  flex: 1 1 auto;
  min-height: 0;
  overflow: auto;
}

.empty-day {
  padding: 28px;
  text-align: center;
  color: var(--color-text-muted, #6b7280);
  border: 1px dashed var(--color-border, #e0e3ea);
  border-radius: 8px;
}
