/* ReservationActions.css — действия-оверлеи карточки брони.
 *
 * F632.W5 — выделено из calendar-v2.css: B24 deal-link блок (привязка сделки) и
 * инлайн-пикер «Добавить ресурс» (promote single→package).
 *
 * Всё на токенах tokens.css, dark-safe (deal-link-поверхность через theme-aware
 * --color-info-* вместо прежних light-hex #eff6ff/#bfdbfe → не белеет в тёмной теме).
 * Подключается ПОСЛЕ ReservationReceipt.css.
 */

/* F48 — B24 deal link block inside reservation edit drawer. */
.cv2-deal-link-field {
  gap: 8px;
}
/* F632.W7 (Класс G) — заголовок секции привязки сделки в карточке брони (иконка + текст). */
.cv2-deal-link-head {
  display: flex;
  align-items: center;
  gap: 6px;
}
.cv2-deal-link-head svg {
  width: 14px;
  height: 14px;
  flex: 0 0 auto;
  color: var(--color-text-muted);
}
.cv2-deal-links {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.cv2-deal-link-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 9px 10px;
  border: 1px solid var(--color-info-border);
  border-radius: var(--radius-md);
  background: var(--color-info-bg);
}
.cv2-deal-link-title {
  min-width: 0;
  color: var(--brand-primary-hover);
  font-weight: var(--font-semibold);
  text-decoration: none;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.cv2-deal-link-title:hover {
  text-decoration: underline;
}
.cv2-deal-link-title:focus-visible { outline: none; box-shadow: var(--focus-ring); border-radius: var(--radius-sm); } /* F632.W7 */
.cv2-deal-link-empty {
  color: var(--color-text-muted);
  font-size: var(--text-sm);
  padding: 4px 0;
}
.cv2-deal-link-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
}
.cv2-deal-link-status {
  margin-right: auto;
  font-size: var(--text-sm);
  color: var(--color-text-muted);
}
.cv2-deal-link-status.is-error {
  color: var(--color-danger);
}
.cv2-deal-link-detach {
  color: var(--color-danger);
  border-color: var(--color-border);
}
/* F632.W7 — группа действий в строке привязки (пересинхр. + отвязать) справа от ссылки. */
.cv2-deal-link-row-actions {
  display: flex;
  align-items: center;
  gap: 6px;
  flex: 0 0 auto;
}
.cv2-deal-link-resync {
  color: var(--color-text-muted);
  border-color: var(--color-border);
}
.cv2-deal-link-row-actions svg,
.cv2-deal-link-actions svg {
  width: 14px;
  height: 14px;
  vertical-align: -2px;
}

/* F612.W9 — инлайн-пикер «Добавить ресурс» (promote single→package). Премиум-
   оверлей над карточкой брони (z-promote). Канон Mews/Cloudbeds «add to folio». */
.cv2-promote-backdrop {
  /* F612.W10.1 — z-index ПОВЕРХ drawer (1200), иначе оверлей рендерился под карточкой.
     Панель выравнивается к правому краю + верх (над карточкой-drawer справа), а не по
     центру всего экрана на затемнённом календаре (Илья 2026-06-07). */
  position: fixed; inset: 0; z-index: var(--z-promote);
  background: var(--color-overlay);
  display: flex; align-items: flex-start; justify-content: flex-end;
  padding: var(--space-4);
  animation: cv2PromoteFade .2s ease-out;
}
@keyframes cv2PromoteFade { from { opacity: 0; } to { opacity: 1; } }
.cv2-promote-panel {
  width: 100%; max-width: 460px; max-height: 90vh; overflow: auto;
  background: var(--color-bg); color: var(--color-text);
  border: 1px solid var(--color-border); border-radius: var(--radius-xl);
  box-shadow: var(--shadow-lg);
  display: flex; flex-direction: column;
  animation: cv2PromoteRise .2s cubic-bezier(0.16, 1, 0.3, 1);
}
@keyframes cv2PromoteRise { from { transform: translateY(8px); opacity: .6; } to { transform: translateY(0); opacity: 1; } }
.cv2-promote-head {
  display: flex; align-items: center; justify-content: space-between;
  gap: var(--space-3); padding: var(--space-5) var(--space-5) var(--space-3);
  border-bottom: 1px solid var(--color-border);
}
.cv2-promote-title { font-size: 16px; font-weight: var(--font-semibold); letter-spacing: var(--tracking-tight); }
.cv2-promote-x {
  border: none; background: transparent; cursor: pointer; color: var(--color-text-muted);
  width: 28px; height: 28px; display: inline-flex; align-items: center; justify-content: center;
  border-radius: var(--radius-md); transition: background var(--dur-fast) var(--ease-decelerate);
}
.cv2-promote-x:hover { background: var(--color-bg-hover); color: var(--color-text); }
.cv2-promote-x:focus-visible { outline: none; box-shadow: var(--focus-ring); color: var(--color-text); } /* F632.W7 */
.cv2-promote-body { padding: var(--space-5); display: flex; flex-direction: column; gap: var(--space-4); }
.cv2-promote-select {
  width: 100%; padding: var(--space-2) var(--space-3);
  border: 1px solid var(--color-border); border-radius: var(--radius-md);
  background: var(--color-bg); color: var(--color-text); font-size: var(--text-base);
}
.cv2-promote-select:focus-visible { outline: none; border-color: var(--brand-primary); box-shadow: var(--focus-ring); } /* F632.W7 */
.cv2-promote-slot { min-height: 40px; }
.cv2-promote-error { color: var(--color-danger); font-size: var(--text-sm); min-height: 1em; }
.cv2-promote-footer {
  display: flex; justify-content: flex-end; gap: var(--space-2);
  padding: var(--space-3) var(--space-5) var(--space-5);
  border-top: 1px solid var(--color-border);
}

/* F632.W7 — reduced-motion: оверлей появляется мгновенно, без fade/rise
   (design-excellence.md §8 — обязательно для любого нетривиального motion). */
@media (prefers-reduced-motion: reduce) {
  .cv2-promote-backdrop,
  .cv2-promote-panel { animation: none; }
}
