/* «Моно» в админке (mono-admin.js): значок старта «起», красная кнопка «+ указать» договор,
   фото в карточке, окно «Водители WeChat», окно о выезде водителя. Окна — как одобренный
   экран «Пользователи»: шапка, тело, кнопки снизу. */
.mno-start { display: flex; gap: 8px; align-items: flex-start; border: 0; background: transparent; padding: 0; margin: 0; width: auto; min-height: 0;
  box-shadow: none; color: inherit; font: inherit; text-align: left; cursor: pointer; }
.mno-start:hover { transform: none; }
.mno-start:hover > span:last-child > span:first-child { color: var(--blue, #007aff); text-decoration: underline; }
.mno-pin { flex: 0 0 22px; width: 22px; height: 22px; border-radius: 50% 50% 50% 0; transform: rotate(-45deg); background: #0d8a5a;
  display: inline-flex; align-items: center; justify-content: center; vertical-align: middle; margin-right: 4px; }
.mno-pin > span { transform: rotate(45deg); color: #fff; font-size: 11px; font-weight: 700; line-height: 1; }
.mno-pin.big { width: 32px; height: 32px; box-shadow: 0 2px 6px rgba(0, 0, 0, .3); border: 2px solid #fff; }
.mno-pin.big > span { font-size: 14px; }
.mno-contract-empty { border: 1px solid #e5484d; background: #ffe6e7; color: #c4262b; border-radius: 8px; padding: 4px 10px; font: inherit;
  font-size: 13px; font-weight: 600; width: auto; min-height: 0; box-shadow: none; cursor: pointer; white-space: nowrap; }
.mno-contract-empty:hover { transform: none; background: #ffd6d8; }
.mno-link { border: 0; background: transparent; color: var(--blue, #007aff); padding: 0; margin: 0; font: inherit; font-size: 13px; width: auto;
  min-height: 0; box-shadow: none; cursor: pointer; text-decoration: underline; }
.mno-link:hover { transform: none; }
.mno-no { color: #c4262b; font-weight: 600; }
.mno-ok { color: #0d8a5a; }
.mno-nophoto { display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 90px; border: 1px dashed #cdd3db;
  border-radius: 8px; color: #8a94a3; }
.mno-mono { font-family: ui-monospace, Consolas, monospace; font-size: 12.5px; }
.mno-drivers td { vertical-align: top; }

.mno-dlg { border: 0; border-radius: 14px; padding: 0; width: min(760px, calc(100vw - 32px)); max-height: calc(100vh - 48px);
  box-shadow: 0 20px 50px rgba(20, 30, 45, .25); color: #25324a; background: #fff; }
.mno-dlg::backdrop { background: rgba(20, 30, 45, .45); }
.mno-dlg form { display: flex; flex-direction: column; max-height: calc(100vh - 48px); margin: 0; }
.mno-dlg-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 16px 16px 14px 20px; border-bottom: 1px solid #e3e8ef; }
.mno-dlg-head h3 { margin: 0; font-size: 17px; }
.mno-x { border: 0; background: transparent; font-size: 22px; line-height: 1; width: 34px; height: 34px; min-height: 0; padding: 0; box-shadow: none;
  color: #5d6878; cursor: pointer; border-radius: 8px; }
.mno-x:hover { transform: none; background: #eef1f5; }
.mno-dlg-body { display: grid; gap: 14px; padding: 18px 20px; overflow-y: auto; }
.mno-dlg-body p { margin: 0; }
.mno-dlg-err { margin: 0 20px 14px; padding: 9px 12px; border-radius: 10px; background: #ffe5e7; color: #d92d49; font-size: 13.5px; }
.mno-dlg-foot { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; padding: 14px 20px; border-top: 1px solid #e3e8ef; background: #f7f8fb; }
.mno-btn { border: 0; border-radius: 8px; padding: 9px 16px; font: inherit; font-weight: 600; width: auto; min-height: 0; cursor: pointer; }
.mno-btn.pri { background: var(--blue, #007aff); color: #fff; }
.mno-btn.sec { background: #eef1f5; color: #25324a; box-shadow: none; }
.mno-field { display: grid; gap: 6px; font-weight: 600; font-size: 14px; }
.mno-field input { font-weight: 400; }

.mno-toast { position: fixed; right: 16px; bottom: calc(16px + env(safe-area-inset-bottom, 0px)); z-index: 2000; max-width: 380px;
  background: #1f2d3d; color: #fff; border-radius: 12px; padding: 12px 16px; box-shadow: 0 10px 30px rgba(0, 0, 0, .3); display: grid; gap: 4px; font-size: 14px; }
.mno-toast b { font-size: 15px; }
.mno-toast-acts { display: flex; gap: 8px; margin-top: 6px; }
.mno-toast-acts button { border: 0; border-radius: 8px; padding: 6px 12px; font: inherit; font-size: 13px; font-weight: 600; cursor: pointer; width: auto; min-height: 0; }
.mno-toast-acts [data-open] { background: #fff; color: #1f2d3d; }
.mno-toast-acts [data-close] { background: rgba(255, 255, 255, .15); color: #fff; }
/* На телефоне окно о выезде — над нижним меню. */
@media (max-width: 768px) { .mno-toast { left: 12px; right: 12px; bottom: calc(76px + env(safe-area-inset-bottom, 0px)); max-width: none; } }
