/* Fahrtkosten — tool-spezifische Ergänzungen (Basis = proMOTION style.css) */
.step-top { display:flex; align-items:center; justify-content:space-between; margin-bottom:16px; }
.step-title { font-size:20px; font-weight:700; margin:2px 0 4px; }
.step-sub { color:var(--text2); font-size:13px; margin-bottom:18px; }

.home-choice { display:flex; align-items:center; gap:14px; width:100%; padding:18px;
  border:1px solid var(--s3); border-radius:var(--r); background:var(--s2); color:var(--text);
  font-size:16px; font-weight:600; cursor:pointer; text-align:left; margin-bottom:12px; }
.home-choice:active { border-color:var(--red); }
.home-choice .ic { color:var(--red); flex-shrink:0; }
.home-choice small { display:block; color:var(--text2); font-weight:400; font-size:12px; margin-top:3px; }
.home-choice .arw { margin-left:auto; color:var(--text3); }

.exp-choice .ic { color:var(--red); flex-shrink:0; }
.exp-choice small { display:block; color:var(--text2); font-weight:400; font-size:12px; margin-top:3px; }

.leg { background:var(--s2); border:1px solid var(--s3); border-radius:var(--r); padding:12px; margin-bottom:10px; }
.leg-h { display:flex; align-items:center; gap:6px; font-size:12px; color:var(--text2); margin-bottom:8px; }
.leg-h .ic { color:var(--red); }
.leg-h .firma-btn { margin-left:auto; color:var(--red); background:none; border:none; font-size:12px; cursor:pointer; padding:0; }
.leg .fld { margin-bottom:8px; }
.leg .fld label { font-size:11px; color:var(--text3); display:block; margin-bottom:3px; }
.leg input { width:100%; padding:11px 12px; background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.08);
  border-radius:var(--r-sm); color:var(--text); font-size:16px; outline:none; }
.leg input:focus { border-color:var(--red); }
.leg .km-line { display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.leg .km-line .kmin { width:90px; text-align:right; }
.leg .km-line .kmlbl { font-size:12px; color:var(--text2); }
.leg .km-line .km-exact { font-size:11px; color:var(--text3); margin-left:auto; }

/* Autocomplete-Dropdown (Google-Maps-Stil: Name oben, Adresse drunter) */
.ac-wrap { position:relative; }
.ac-menu { position:absolute; left:0; right:0; top:100%; margin-top:4px; z-index:60;
  background:var(--s2); border:1px solid rgba(255,255,255,.12); border-radius:var(--r-sm);
  box-shadow:0 14px 36px rgba(0,0,0,.6); overflow:hidden auto; max-height:300px; display:none; }
.ac-menu.show { display:block; }
.ac-item { display:flex; align-items:flex-start; gap:9px; padding:10px 12px; cursor:pointer;
  border-bottom:1px solid rgba(255,255,255,.05); }
.ac-item:last-child { border-bottom:none; }
.ac-item:hover, .ac-item.active { background:var(--red-dim); }
.ac-item .ic { color:var(--text3); flex-shrink:0; margin-top:2px; }
.ac-item:hover .ic, .ac-item.active .ic { color:var(--red); }
.ac-txt { min-width:0; }
.ac-m { display:block; font-size:14px; font-weight:600; color:var(--text); line-height:1.25;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.ac-s { display:block; font-size:12px; color:var(--text2); line-height:1.25; margin-top:1px;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.leg .legacts { display:flex; gap:8px; flex-wrap:wrap; margin-top:8px; }
.grund { margin-top:8px; display:none; }
.grund.show { display:block; }

.info-note { background:var(--red-dim); border:1px solid var(--red); border-radius:var(--r-sm);
  padding:11px 13px; font-size:13px; line-height:1.45; color:var(--text); margin:2px 0 16px; }
.info-note b { color:var(--red); }

.proj-search { margin-bottom:12px; }
.proj-item { display:flex; align-items:center; gap:10px; width:100%; padding:14px; border:1px solid var(--s3);
  border-radius:var(--r-sm); background:var(--s2); color:var(--text); text-align:left; cursor:pointer; margin-bottom:8px; }
.proj-item:active { border-color:var(--red); }
.proj-item small { display:block; color:var(--text2); font-size:12px; }

.route-sum { display:flex; justify-content:space-between; align-items:center; padding:8px 2px; font-size:17px; font-weight:700; }
.route-sum .eur { color:var(--red); }
.ov-leg { display:flex; justify-content:space-between; gap:10px; padding:8px 0; border-bottom:1px solid var(--s3); font-size:14px; }
.ov-leg .ov-km { color:var(--text2); white-space:nowrap; }

.li { border:1px solid var(--s3); border-radius:var(--r-sm); padding:12px; margin-bottom:8px; display:flex; justify-content:space-between; gap:8px; }
.li small { color:var(--text2); }
.bdg { font-size:11px; padding:2px 9px; border-radius:20px; white-space:nowrap; }
.bdg.offen { background:var(--yellow-dim); color:var(--yellow); }
.bdg.gebucht,.bdg.freigegeben { background:var(--green-dim); color:var(--green); }
.bdg.abgelehnt { background:var(--red-dim); color:var(--red); }
.linkish { color:var(--red); text-decoration:none; font-size:13px; }
.topnav { display:flex; gap:8px; margin-bottom:14px; }
.topnav button { flex:1; padding:9px; border-radius:var(--r-sm); border:1px solid var(--s3); background:var(--s2); color:var(--text2); font-size:13px; cursor:pointer; }
.topnav button.on { color:var(--red); border-color:var(--red); }
