/* Логистика — базовый стиль (§7.1: современный, лёгкий, адаптивный). */
* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
body {
  font: 15px/1.45 -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  color: #1c2733; background: #f5f7fa;
  padding-bottom: 72px; /* место под техстроку */
}
h1 { font-size: 22px; margin: 18px 0 10px; }
/* подсказки в полях заметно светлее введённых значений: «авто» и «заполнено» различимы сразу */
::placeholder { color: #b6c2cf; opacity: 1; }
h2 { font-size: 16px; margin: 0 0 10px; }
.muted { color: #7a8798; }
.bad { color: #c62828; }

/* Шапка и меню */
.topbar {
  display: flex; align-items: center; gap: 18px;
  background: #011f33; border-bottom: 1px solid #082c45;
  padding: 0 18px; height: 52px; position: sticky; top: 0; z-index: 20;
}
.brand { font-weight: 700; color: #fff; }
.menu { display: flex; gap: 4px; overflow-x: auto; flex: 1; }
.menu a {
  padding: 6px 12px; border-radius: 8px; text-decoration: none; color: #b9cddc;
  white-space: nowrap; transition: background .15s ease;
}
.menu a:hover { background: rgba(255,255,255,.10); color: #fff; }
.menu a.active { background: rgba(255,255,255,.16); color: #fff; font-weight: 600; }
.logout { color: #8fa7ba; text-decoration: none; font-size: 13px; }
.logout:hover { color: #ff9d94; }

/* Контент */
#page { max-width: 1100px; margin: 0 auto; padding: 4px 18px 20px; animation: fadeIn .18s ease; }
@keyframes fadeIn { from { opacity: 0; transform: translateY(4px); } to { opacity: 1; transform: none; } }
.card {
  background: #fff; border: 1px solid #e3e8ef; border-radius: 12px;
  padding: 16px 18px; margin: 14px 0; box-shadow: 0 1px 2px rgba(16,30,54,.04);
}
.table { border-collapse: collapse; width: 100%; }
.table th, .table td { text-align: left; padding: 6px 10px; border-bottom: 1px solid #eef1f5; font-size: 14px; }
.table th { color: #7a8798; font-weight: 600; }
.row-form { display: flex; gap: 10px; flex-wrap: wrap; margin-bottom: 8px; }
.row-form input {
  padding: 8px 12px; border: 1px solid #cfd8e3; border-radius: 8px; font-size: 14px; min-width: 220px;
}
.row-form input:focus { outline: none; border-color: #1a56c5; }

/* Кнопки */
.btn {
  padding: 9px 18px; border-radius: 9px; border: 1px solid #cfd8e3;
  background: #fff; color: #1c2733; font-size: 14px; cursor: pointer;
  transition: all .15s ease;
}
.btn:hover:not(:disabled) { background: #eef2f7; border-color: #a9b6c6; box-shadow: 0 2px 8px rgba(16,30,54,.10); }
.btn-primary { background: #1a56c5; border-color: #1a56c5; color: #fff; }
.btn-primary:hover:not(:disabled) { background: #2465de; box-shadow: 0 3px 10px rgba(26,86,197,.35); }
.btn:disabled { background: #e8ecf1; border-color: #e0e5eb; color: #9aa7b5; cursor: default; }

/* Техническая строка */
.techbar {
  position: fixed; left: 0; right: 0; bottom: 0; min-height: 60px; z-index: 30;
  display: flex; align-items: center; justify-content: space-between;
  padding: 8px 18px; background: #011f33; border-top: 1px solid #082c45;
  color: #b9cddc;
}
/* длинный текст статуса переносится, строка растёт, а кнопки остаются по центру и не тянутся */
.techbar .btn, .techbar .plan-mode { flex: none; align-self: center; }
#techbar-msg { min-width: 0; }
#techbar-right { color: #7fd18a; font-size: 14px; transition: opacity .4s ease; }
#techbar-right .status-soft { color: #a9c3b0; }  /* скобочная разбивка выигрыша — мягче */

/* Вход */
.login-body { display: flex; align-items: center; justify-content: center; min-height: 100vh; padding-bottom: 0; }
.login-box {
  background: #011f33; border: 1px solid #082c45; border-radius: 14px; padding: 28px;
  width: 320px; display: flex; flex-direction: column; gap: 12px;
  box-shadow: 0 8px 30px rgba(1,20,35,.25); animation: fadeIn .25s ease;
}
.login-box h1 { margin: 0 0 6px; font-size: 20px; text-align: center; color: #fff; }
.login-box input {
  padding: 10px 12px; border: 1px solid #0a3a58; border-radius: 9px; font-size: 15px;
}
.login-error { color: #ff8a80; font-size: 13px; text-align: center; }

/* Узкие экраны: шапка в две строки — «Логистика … Выйти», ниже меню целиком */
@media (max-width: 640px) {
  .topbar { padding: 6px 10px; gap: 6px 10px; height: auto; flex-wrap: wrap; }
  .brand { order: 1; }
  .logout { order: 2; margin-left: auto; }
  .menu { order: 3; flex-basis: 100%; }
  #page { padding: 4px 12px 20px; }
  .techbar { padding: 0 12px; }
}

/* Подсказки адресов */
.suggest-list {
  position: absolute; z-index: 100; background: #fff; border: 1px solid #cfd8e3;
  border-radius: 10px; box-shadow: 0 8px 24px rgba(16,30,54,.14); overflow: hidden;
  max-height: 260px; overflow-y: auto; animation: fadeIn .12s ease;
}
.suggest-item { padding: 8px 12px; font-size: 14px; cursor: pointer; }
.suggest-item:hover { background: #eef2f7; }
.suggest-item .fav { color: #e0526d; }

/* Формы настроек и курьеров */
.form-grid { display: grid; grid-template-columns: 260px 1fr; gap: 10px 14px; align-items: center; max-width: 720px; }
.form-grid label { color: #40506a; font-size: 14px; }
.form-grid input, .form-grid select, .form-grid textarea {
  padding: 8px 12px; border: 1px solid #cfd8e3; border-radius: 8px; font-size: 14px;
  font-family: inherit; background: #fff;
}
.form-grid input:focus, .form-grid select:focus, .form-grid textarea:focus { outline: none; border-color: #1a56c5; }
.inline-pair { display: flex; gap: 8px; align-items: center; }
.inline-pair input { width: 90px; }
.num-input { width: 90px; }

.rows-table { width: 100%; border-collapse: collapse; }
.rows-table th { text-align: left; color: #7a8798; font-weight: 600; font-size: 13px; padding: 4px 8px; }
.rows-table td { padding: 4px 8px; vertical-align: middle; }
.rows-table input, .rows-table select {
  width: 100%; padding: 7px 10px; border: 1px solid #cfd8e3; border-radius: 8px; font-size: 14px;
}
.rows-table .time-input { width: 80px; }
.rows-table .num-cell { width: 90px; }
.btn-plus {
  border: none; background: none; cursor: pointer; font-size: 15px; line-height: 1;
  padding: 8px 10px; border-radius: 6px; transition: all .15s ease;
}
.btn-minus {
  cursor: pointer; font-size: 16px; line-height: 1; padding: 5px 11px;
  color: #8a97a6; background: #f4f6f9; border: 1px solid #dbe2ea; border-radius: 8px;
  transition: all .15s ease;
}
.btn-minus:hover { color: #c62828; background: #fdf1f1; border-color: #e2b8b8; }
.btn-plus { color: #1a56c5; font-size: 15px; padding: 8px 10px; }
.btn-plus:hover { background: #e3ecfb; }
.field-error { border-color: #c62828 !important; }
.link-danger { color: #c62828; font-size: 13px; text-decoration: none; }
.link-danger:hover { text-decoration: underline; }

.techbar-error { color: #ff8a80 !important; font-weight: 600; }
.techbar-ok { color: #7fd18a; }
#techbar-left { display: flex; align-items: center; gap: 14px; }
#techbar-msg { font-size: 14px; transition: opacity .4s ease; }

/* Пул заказов (страница Адреса) */
.pool-toolbar { margin: 6px 0 12px; }
#order-search {
  width: 100%; max-width: 420px; padding: 9px 14px;
  border: 1px solid #cfd8e3; border-radius: 10px; font-size: 14px;
}
#order-search:focus { outline: none; border-color: #1a56c5; }
.order-wrap { display: flex; gap: 8px; align-items: flex-start; margin: 8px 0; }
.order-wrap > .row-del { margin-top: 9px; }
.order-item {
  flex: 1; background: #fff; border: 1px solid #e3e8ef; border-radius: 12px;
  overflow: visible; transition: border-color .15s ease;
}
.order-item.incomplete { border-color: #e08a8a; }
.order-row {
  display: flex; align-items: center; gap: 10px; padding: 10px 14px; cursor: pointer;
}
.order-row:hover { background: #f7f9fc; border-radius: 12px; }
.row-icons { display: flex; gap: 4px; }
.row-icons span { display: none; font-size: 12px; }
.ic-incomplete { color: #c62828; font-weight: 700; }
.ic-imprecise { color: #e6a700; }
.ic-two {
  background: #e3ecfb; color: #1a56c5; border-radius: 5px; padding: 0 5px; font-weight: 700;
}
.order-item.incomplete .ic-incomplete { display: inline; }
.order-item.imprecise .ic-imprecise { display: inline; }
.order-item.has-bulky .ic-bulky { display: inline; }
.order-item.has-two .ic-two { display: inline; }
.row-title { white-space: nowrap; }
.row-addr { flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.row-window { color: #40506a; white-space: nowrap; }
.order-card { display: none; border-top: 1px solid #eef1f5; padding: 14px; }
.order-item.open .order-card { display: block; animation: fadeIn .15s ease; }
.order-card .form-grid { grid-template-columns: 190px 1fr; }
.card-actions { margin-top: 12px; }
.order-item.flash { box-shadow: 0 0 0 3px #ffe9a8; }
.sub-table input { min-width: 60px; }
@media (max-width: 640px) {
  .order-card .form-grid { grid-template-columns: 1fr; }
  .row-addr { display: none; }
}

/* Ссылки-действия: меняют страницу на месте (пунктирное подчёркивание) */
.action-link {
  color: #1a56c5; text-decoration: none; border-bottom: 1px dashed #7fa3e0;
  cursor: pointer; background: none; border-left: none; border-right: none; border-top: none;
  font-size: 14px; padding: 0 0 1px; transition: all .15s ease;
}
.action-link:hover { color: #0d3f9e; border-bottom-color: transparent; }

.pool-toolbar { margin: 6px 0 22px; }
.order-card .form-grid textarea { resize: vertical; }
.sub-remove { margin-left: 8px; }
.ic-bulky svg { vertical-align: -2px; }

/* Логические блоки карточки заказа */
.card-block {
  background: #f6f8fb; border: 1px solid #eaeef4; border-radius: 10px;
  padding: 12px 14px; margin: 12px 0 6px;
}
.after-block { margin: 6px 0 20px; }
.addr2-part, .blocks-wrap .order-block + .order-block {
  margin-top: 16px; padding-top: 14px; border-top: 1px dashed #d9e1ea;
}
.inline-wide { display: flex; gap: 8px; align-items: center; }
.inline-wide input { flex: 1; }
.form-grid textarea { width: 100%; }
.field-missing { border-color: #e0b400 !important; background: #fffdf2; }

/* Кнопка «Отменить» — лёгкий серый фон, реакция фоном на наведение */
#btn-cancel { background: #eef1f5; border-color: #d7dee7; color: #40506a; }
#btn-cancel:hover:not(:disabled) { background: #e2e8f0; border-color: #c3cdd9; }
#btn-cancel:disabled { background: #e8ecf1; border-color: #e0e5eb; color: #9aa7b5; }

.ic-bulky, .ic-nomoney { display: none; }
.order-item.has-bulky .ic-bulky { display: inline; }
.order-item.no-money .ic-nomoney { display: inline; }
.ic-nomoney svg, .ic-bulky svg { vertical-align: -2px; }

/* Курьеры блоками */
.cour-wrap { display: flex; gap: 8px; align-items: flex-start; margin: 8px 0; }
.cour-wrap > .cour-del { margin-top: 22px; }
.cour-item { flex: 1; margin: 0; padding: 12px 14px; }
.cour-fields {
  display: grid; grid-template-columns: 1.1fr 0.9fr 0.7fr 1.6fr 0.7fr; gap: 10px;
}
.cour-fields input, .cour-fields select {
  width: 100%; padding: 8px 12px; border: 1px solid #cfd8e3; border-radius: 8px; font-size: 14px;
}
.cour-fields input:focus, .cour-fields select:focus { outline: none; border-color: #1a56c5; }
.cell-label { display: none; }
.cour-head {
  padding: 0 60px 0 15px; margin: 14px 0 2px;
  color: #7a8798; font-size: 13px; font-weight: 600;
}
@media (max-width: 760px) {
  .cour-fields { grid-template-columns: 1fr 1fr; }
  .cour-head { display: none; }                     /* на телефоне заголовков нет — */
  .cell-label { display: block; color: #7a8798; font-size: 12px; margin-bottom: 3px; }  /* подписи у полей */
}

/* Планирование */
:root { --rc0:#1a56c5; --rc1:#c62828; --rc2:#2e7d32; --rc3:#e6a700; --rc4:#7b1fa2;
        --rc5:#00838f; --rc6:#d84315; --rc7:#37474f; --rc8:#ad1457; --rc9:#558b2f; }
.warn-panel {
  background: #fff8e1; border: 1px solid #ffe082; border-radius: 10px;
  padding: 10px 14px; margin: 10px 0; color: #7a5a00; font-size: 14px;
}
/* свёртываемые блоки «Важные уведомления» / «Рекомендации»: значок-счётчик + пунктирная ссылка */
.warn-head { cursor: pointer; user-select: none; display: flex; align-items: center; gap: 8px; font-weight: 600; }
.warn-head .rt-toggle { color: inherit; margin-right: 2px; }
.warn-count {
  background: #e6a700; color: #fff; border-radius: 10px;
  padding: 1px 9px; font-size: 12px; font-weight: 700;
}
.warn-open {
  font-size: 12px; font-weight: 400; color: #1a56c5;
  border-bottom: 1px dashed #7fa3e0; padding-bottom: 1px; transition: all .15s ease;
}
.fold-panel:not(.open-panel) { cursor: pointer; }
.fold-panel:not(.open-panel):hover { background: #fff3cf; }
.fold-panel:not(.open-panel):hover .warn-open, .warn-head:hover .warn-open { border-bottom-color: transparent; color: #0d3f9e; }
.warn-body { margin-top: 8px; }
/* каждое уведомление — отдельная запись с мягким буллетом */
.warn-body > div { padding: 3px 0 3px 16px; position: relative; }
.warn-body > div::before {
  content: ''; position: absolute; left: 2px; top: calc(3px + .72em - 2.5px);
  width: 5px; height: 5px; border-radius: 50%;
  background: currentColor; opacity: .4;
}
.advice-panel {
  background: #eef4fd; border: 1px solid #c9dcf6; border-radius: 10px;
  padding: 10px 14px; margin: 10px 0; color: #24548f; font-size: 14px;
}
.advice-panel .warn-count { background: #1a56c5; }
.advice-panel.fold-panel:not(.open-panel):hover { background: #e2edfb; }
.rt-ico svg { vertical-align: -2px; margin-left: 2px; }
/* пометка «доставка на второй адрес заказа» в точке маршрута */
.rt-addr2 {
  background: #e3ecfb; color: #1a56c5; border-radius: 5px;
  padding: 0 5px; font-weight: 700; font-size: 11px; white-space: nowrap;
}
/* замок курьера: при наведении белый круг-подложка, включённый — тёмный круг с белой иконкой */
.pc-lock {
  cursor: pointer; color: #c3ccd6; line-height: 0;
  display: inline-flex; align-items: center; justify-content: center;
  width: 27px; height: 27px; border-radius: 50%;
  transition: background .15s ease, color .15s ease;
}
.pc-lock:hover { background: #fff; color: #8fa3b8; }
.pc-lock.locked { background: #011f33; color: #fff; }
.pc-lock.locked:hover { background: #0a3a58; color: #fff; }
.po-give { padding: 5px 8px; border: 1px solid #cfd8e3; border-radius: 8px; font-size: 13px; color: #40506a; }
.unassigned-panel {
  background: #fdecec; border: 1px solid #f2b8b8; border-radius: 10px;
  padding: 10px 14px; margin: 10px 0; color: #8f1f1f; font-size: 14px;
}
.pc-row {
  display: flex; align-items: center; gap: 10px; padding: 7px 6px;
  border-bottom: 1px solid #eef1f5; border-radius: 8px;
}
.pc-row:hover { background: #f7f9fc; }
.pc-row.dragging { background: #e3ecfb; opacity: .85; }
.drag-handle { cursor: grab; color: #9aa7b5; padding: 2px 6px; touch-action: none; user-select: none; }
.pc-on { display: flex; align-items: center; gap: 5px; color: #40506a; font-size: 13px; white-space: nowrap; }
.pc-name { flex: 1; min-width: 120px; }
.pc-row .time-input { width: 72px; padding: 6px 8px; border: 1px solid #cfd8e3; border-radius: 8px; }
.pc-return { padding: 6px 8px; border: 1px solid #cfd8e3; border-radius: 8px; font-size: 14px; color: #40506a; }
.po-row {
  display: flex; align-items: center; gap: 10px; padding: 7px 6px;
  border-bottom: 1px solid #eef1f5; font-size: 14px;
}
.po-row .po-addr { flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.po-row.assigned .po-title, .po-row.assigned .po-addr, .po-row.assigned .po-win { color: #9aa7b5; }
.po-assign { white-space: nowrap; font-weight: 600; }
.po-win { white-space: nowrap; color: #40506a; }
/* Карта: по запросу, на весь экран (видна шапка сверху и строка «Скрыть карту» снизу) */
.map-link-row {
  position: fixed; left: 0; right: 0; bottom: 60px; z-index: 29;
  display: flex; align-items: center; justify-content: center; gap: 7px; height: 38px;
  background: #fff; border-top: 1px solid #eef1f5;
}
.map-link-row svg { vertical-align: -2px; }
#map-overlay {
  position: fixed; left: 0; right: 0; top: 52px; bottom: 0; z-index: 1100;
  display: flex; flex-direction: column; background: #fff;
}
#plan-map { flex: 1; }
.map-hide-row {
  height: 48px; display: flex; align-items: center; justify-content: center; gap: 7px;
  background: #fff; border-top: 1px solid #e3e8ef;
}
.map-hide-row svg { vertical-align: -2px; }
#page:has(.map-link-row) { padding-bottom: 60px; } /* контент не прячется за строкой карты */
@media (max-width: 700px) {
  .pc-row { flex-wrap: wrap; }
  .po-row .po-addr { display: none; }
  .map-link-row { bottom: 60px; }
}

.pc-head { border-bottom: none; padding-bottom: 0; margin-bottom: -2px; }
.pc-head:hover { background: none; }
.pc-col-h { width: 72px; color: #7a8798; font-size: 12px; font-weight: 600; }
.pc-col-ret { width: 120px; }
.pc-row .pc-return { width: 120px; }

/* Развороты маршрутов и статусы рейсов */
.btn-mini { padding: 4px 10px; font-size: 12px; border-radius: 7px; white-space: nowrap; }
.pc-status { display: flex; gap: 6px; align-items: center; min-width: 90px; justify-content: flex-end; }
/* в основном списке статус фиксированной ширины — поля всех строк выровнены в колонки;
   шапка списка живёт вне #plan-couriers — правило и для неё (кроме шапки «В рейсе») */
#plan-couriers .pc-status, .pc-head:not(.pce-head) .pc-status { width: 210px; min-width: 210px; flex: none; }
.pc-enroute { background: #f3f6fa; opacity: .92; }
.badge-enroute, .badge-done, .badge-aborted {
  font-size: 12px; font-weight: 600; padding: 3px 9px; border-radius: 7px; white-space: nowrap;
}
.badge-enroute { background: #e3ecfb; color: #1a56c5; }
.badge-done { background: #e5f3e6; color: #2e7d32; }
.badge-aborted { background: #fdecec; color: #c62828; }
.rt-toggle {
  cursor: pointer; color: #1a56c5; margin-right: 6px; user-select: none;
  display: inline-block; font-size: 15px; font-weight: 400; line-height: 1;
  transition: transform .15s ease; transform: rotate(0deg); opacity: .75;
}
.rt-toggle:hover { opacity: 1; }
.rt-toggle.open { transform: rotate(90deg); }
.pc-route {
  margin: 0 0 8px 34px; padding: 8px 12px; background: #fafbfd;
  border: 1px solid #edf1f6; border-radius: 10px; font-size: 14px;
}
/* прогон прижат к своему адресу; зазор перед следующим адресом больше */
.rt-leg { font-size: 12px; margin-top: -4px; padding: 0 0 12px 68px; }
.rt-point { display: flex; align-items: center; gap: 10px; padding: 5px 0; }
.rt-time { font-weight: 600; min-width: 58px; white-space: nowrap; }
.rt-late { color: #c62828; }
.rt-snap { flex: 1; }
.rt-slack {
  background: #fff8e1; color: #7a5a00; border: 1px solid #ffe082;
  font-size: 12px; padding: 2px 8px; border-radius: 7px; white-space: nowrap;
}
/* пауза курьера — между адресами доставок, по высоте близка к строке адреса; «--:--» вместо времени */
.rt-slackrow { display: flex; align-items: center; gap: 10px; padding: 4px 0 6px; }
.rt-slackrow .rt-time { color: #9aa7b5; }
.rt-tol {
  background: #ecf3fd; color: #24548f; border: 1px solid #bcd4f5;
  font-size: 12px; padding: 2px 8px; border-radius: 7px; white-space: nowrap;
}
.rt-tol.rt-crit { background: #fdecec; color: #b3261e; border-color: #f2b8b5; }
/* бейдж номера рейса у строки-ветки: иконка повтора + цифра */
.trip-badge {
  display: inline-flex; align-items: center; gap: 3px;
  font-size: 12px; font-weight: 700; color: #24548f;
  background: #ecf3fd; border: 1px solid #bcd4f5;
  padding: 2px 8px; border-radius: 10px; margin-left: 6px; white-space: nowrap;
}
/* номер ветки рейса (показывается только когда рейсов больше одного) */
.rt-branchno { font-weight: 700; color: #7a8798; padding: 0 0 6px 2px; }
/* инлайн-форма «Новый рейс» */
.trip-form {
  display: flex; gap: 10px; align-items: center; flex-wrap: wrap;
  margin: 0 0 8px 34px; padding: 10px 12px; background: #fafbfd;
  border: 1px solid #edf1f6; border-radius: 10px; font-size: 14px;
}
.trip-form .time-input { width: 80px; padding: 6px 8px; border: 1px solid #cfd8e3; border-radius: 8px; }
.trip-form select { padding: 6px 8px; border: 1px solid #cfd8e3; border-radius: 8px; font-size: 14px; color: #40506a; }
/* недоставленная точка прерванного рейса — историческая пометка */
.rt-undone {
  background: #f0f2f5; color: #7a8798; border: 1px solid #dbe2ea;
  font-size: 12px; padding: 2px 8px; border-radius: 7px; white-space: nowrap;
}
/* опоздание в допуске: оранжевый — заметнее синего, но мягче красного */
.rt-tol.rt-warn { background: #fff0dd; color: #b25e00; border-color: #f5c48b; }
/* заголовок свёрнутого блока: во всю карточку, отступы симметричны, подсветка как у строк */
.po-fold {
  cursor: pointer; user-select: none;
  margin: -16px -18px; padding: 16px 18px; border-radius: 12px;
}
.po-fold:hover { background: #f7f9fc; }
.po-fold .rt-toggle { margin-right: 10px; }
.rt-delivered .rt-snap, .rt-delivered .rt-time { color: #9aa7b5; text-decoration: line-through; }
.rt-delivered-lbl { font-size: 12px; color: #40506a; white-space: nowrap; display: flex; gap: 4px; align-items: center; }
.rt-note { font-size: 12px; padding-top: 6px; }

/* «Финиш» уже (только ЧЧ:ММ) и отделён от группы полей увеличенным отступом */
.pc-col-fin { width: 60px; margin-left: 16px; }
.pc-finish { width: 60px; margin-left: 16px; font-size: 13px; white-space: nowrap; }
.rt-office .rt-snap { color: #40506a; font-weight: 600; }
/* карта не должна перекрывать шапку и техстроку */
.topbar { z-index: 900; }
.techbar { z-index: 1000; }
.suggest-list { z-index: 1100; }
#plan-map { position: relative; z-index: 1; }

#plan-couriers .pc-row, #plan-enroute .pc-row { cursor: pointer; }
#plan-couriers .pc-row input, #plan-couriers .pc-row select { cursor: auto; }
/* «В рейсе»: колонка статуса фиксированной ширины, чтобы заголовок «Финиш» стоял над временем */
#plan-enroute .pc-status, .pce-head .pc-status {
  width: 430px; min-width: 430px; flex: none; flex-wrap: nowrap; justify-content: flex-end;
}
.pce-head { margin-bottom: 6px; }  /* воздух между заголовками и строками курьеров */
/* селект режима подбора: приглушён под тёмную техстроку, не спорит с кнопками */
.plan-mode {
  padding: 9px 12px; border-radius: 9px; border: 1px solid rgba(255,255,255,.16);
  background: rgba(255,255,255,.07); color: #b9cddc; font-size: 14px; cursor: pointer;
  transition: all .15s ease;
}
.plan-mode:hover:not(:disabled) { background: rgba(255,255,255,.14); color: #fff; }
.plan-mode:disabled { opacity: .45; cursor: default; }
@media (max-width: 700px) {
  #plan-enroute .pc-status, .pce-head .pc-status { width: auto; min-width: 90px; }
}
