.appointment-duration { display: flex; align-items: center; gap: 10px; min-width: 0; }
.appointment-duration > label { display: flex !important; flex-direction: row !important; align-items: center; gap: 6px; min-width: 0; flex: 1; }
.appointment-duration input[type="number"], .appointment-duration select { width: 70px !important; min-width: 48px !important; max-width: 100%; height: 40px; border: 1px solid #d4d9df; border-radius: 6px; padding: 6px 8px; background: #fff; color: #252b32; font: inherit; }
.appointment-duration > label > span { color: #606873; font-size: 12px; }
.calendar-duration-field { display: grid; align-content: start; gap: 7px; min-width: 0; }
.appointment-optimizer-duration-control { gap: 20px; flex-wrap: wrap; align-items: end; }
.appointment-optimizer-duration-control > div:first-child { display: grid; gap: 7px; }
.appointment-optimizer-duration-control > label { display: grid !important; grid-template-columns: minmax(0, 1fr); gap: 7px; width: 230px; max-width: 100%; }
.appointment-optimizer-duration-control > label > span { width: auto; min-width: 0; }
.appointment-optimizer-duration-control > div:first-child > span { font-size: 12px; font-weight: 600; }
.home-day-route__map { isolation: isolate; }
.route-profile__field-heading { display: flex; align-items: center; gap: 6px; }
.route-profile__help { position: relative; display: inline-block; flex: none; }
.route-profile__help > summary { display: flex; padding: 3px; color: #7b1437; cursor: pointer; list-style: none; border-radius: 4px; }
.route-profile__help > summary::-webkit-details-marker { display: none; }
.route-profile__help > summary svg { width: 16px; height: 16px; }
.route-profile__help > span { display: none; position: absolute; top: 100%; right: -15px; width: min(260px, 75vw); padding: 12px; border: 1px solid #d8dde3; border-radius: 6px; background: #fff; color: #303842; box-shadow: 0 6px 18px #172b4d20; font-size: 12px; font-weight: 400; line-height: 1.5; z-index: 12; }
.route-profile__help[open] > span { display: block; }
.route-profile__common-rule { display: flex; align-items: center; gap: 8px; padding: 12px 0 0; margin: 0; color: #5b626c; font-size: 13px; }
.route-profile__common-rule svg { width: 18px; flex: none; }
.route-profile__field input[type="datetime-local"] { min-width: 0; width: 100%; }
.appointment-suggestion__map-preview .map-route.is-after,
.appointment-optimizer-fallback-map__route > path.is-after { stroke: #a34f00; opacity: 1; stroke-dasharray: 12 6; }
.appointment-optimizer-map-legend i.is-after { border-top-color: #a34f00; opacity: 1; }
@media (hover: hover) { .route-profile__help:hover > span { display: block; } }
@media (max-width: 600px) {
  .route-profile__help > span { position: fixed; top: 25dvh; left: 5vw; right: auto; width: 90vw; box-sizing: border-box; }
  .route-profile__section[data-profile-section="temporary"] .route-profile__grid { grid-template-columns: minmax(0, 1fr); }
  .route-profile__add { white-space: normal; text-align: left; }
}
