:root{
  --v2-bg:#f6f7fb;
  --v2-card:#ffffff;
  --v2-border:#e8ebf3;
  --v2-text:#0f172a;
  --v2-muted:#6b7280;
  --v2-primary:#5b5ce8;
  --v2-primary-2:#4f46e5;
  --v2-shadow:0 10px 30px rgba(16,24,40,.06);
}

/* Safer layout defaults */
*, *::before, *::after{ box-sizing: border-box; }
img{ max-width: 100%; height: auto; }
html, body{ max-width: 100%; overflow-x: hidden; overscroll-behavior-x: none; }
.adminv2-main{ overflow-x: hidden; }
.adminv2-topbar{ overflow: visible; }
.adminv2-topbar__inner{ overflow: visible; }
.adminv2-topbar .dropdown-menu{ z-index: 6000; }

/* Default: mobile-only nav links hidden on desktop
   NOTE: must override .adminv2-nav__link{display:inline-flex !important;}
*/
.adminv2-nav .adminv2-nav__link.adminv2-nav__link--mobileOnly{ display: none !important; }

.adminv2-body{
  background:var(--v2-bg);
  color:var(--v2-text);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, "Apple Color Emoji", "Segoe UI Emoji";
}

.adminv2-ico{
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.adminv2-ico svg{
  width: 18px;
  height: 18px;
  stroke-width: 2;
}
.adminv2-ico--menu svg{
  width: 16px;
  height: 16px;
  margin-right: 8px;
}

.adminv2-topbar{
  position: sticky;
  top: 0;
  z-index: 1000;
  background: rgba(255,255,255,.9);
  backdrop-filter: blur(12px);
  border-bottom: 1px solid var(--v2-border);
}

.adminv2-topbar__inner{
  max-width: 1480px;
  margin: 0 auto;
  padding: 10px 16px;
  display: flex !important;
  align-items: center !important;
  gap: 18px;
}

.adminv2-brand{
  display: inline-flex;
  align-items: center;
  text-decoration: none !important;
}
.adminv2-brand__logo{
  height: 28px;
}

.adminv2-nav{
  display: flex !important;
  align-items: center !important;
  gap: 8px;
  flex: 1;
  min-width: 0;
}

.adminv2-nav__link{
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px;
  padding: 10px 5px;
  border-radius: 10px;
  color: #111827;
  text-decoration: none !important;
  font-weight: 600;
  font-size: 12px;
}
.adminv2-nav__link .adminv2-ico{ opacity:.85; }
.adminv2-nav__link:hover{
  background: #f2f4ff;
  color: var(--v2-primary-2);
}
.adminv2-nav__link.is-active{
  background: #eef2ff;
  color: var(--v2-primary-2);
}
.adminv2-nav__dropdown .dropdown-menu{
  border: 1px solid var(--v2-border);
  border-radius: 12px;
  box-shadow: var(--v2-shadow);
}

.adminv2-actions{
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.adminv2-actions__mobile{ display: none; }
.adminv2-actions__item .dropdown-menu{
  border: 1px solid var(--v2-border);
  border-radius: 12px;
  box-shadow: var(--v2-shadow);
}
.adminv2-actions__item .btn{
  border-radius: 12px;
}
.adminv2-actions__item .btn-default{
  background: #fff;
  border-color: var(--v2-border);
}
.adminv2-actions__item .btn-default:hover{
  border-color: #dbe1ff;
  background: #f7f8ff;
}
.adminv2-avatar{
  width: 26px;
  height: 26px;
  border-radius: 999px;
}

.adminv2-main{
  max-width: 1480px;
  margin: 0 auto;
  padding: 18px 16px 40px;
}

.adminv2-container{ width: 100%; }
.adminv2-titleRow{
  display:flex;
  align-items:center;
  gap: 10px;
}
.adminv2-titleIco svg{
  width: 20px;
  height: 20px;
}
.adminv2-pagehead{
  display:flex;
  align-items:flex-end;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 14px;
}
.adminv2-h1{
  font-size: 28px;
  line-height: 1.2;
  margin: 0;
  font-weight: 800;
}
.adminv2-h2{
  font-size: 16px;
  margin: 0;
  font-weight: 800;
}
.adminv2-h1:first-letter,
.adminv2-h2:first-letter,
.adminv2-h3:first-letter,
.adminv2-label:first-letter,
.adminv2-modalTitle:first-letter{
  text-transform: uppercase;
}
.adminv2-muted{ color: var(--v2-muted); margin: 6px 0 0; }
.adminv2-link{ color: var(--v2-primary-2); font-weight: 700; text-decoration:none !important; }

.adminv2-grid{
  display: grid;
  gap: 14px;
}
.adminv2-grid--6{ grid-template-columns: repeat(6, minmax(0, 1fr)); }
.adminv2-grid--4{ grid-template-columns: repeat(4, minmax(0, 1fr)); }
.adminv2-grid--3{ grid-template-columns: repeat(3, minmax(0, 1fr)); }
.adminv2-grid--2{ grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 14px; }

.adminv2-card{
  background: var(--v2-card);
  border: 1px solid var(--v2-border);
  border-radius: 16px;
  box-shadow: var(--v2-shadow);
  padding: 16px;
  display: flex;
  gap: 12px;
  align-items: center;
}
.adminv2-card__icon{
  width: 38px;
  height: 38px;
  border-radius: 12px;
  display:flex;
  align-items:center;
  justify-content:center;
  background: #eef2ff;
  color: var(--v2-primary-2);
  flex: 0 0 auto;
}
.adminv2-card__icon .adminv2-ico svg{
  width: 18px;
  height: 18px;
}
.adminv2-card__label{ color: var(--v2-muted); font-weight: 700; font-size: 12px; }
.adminv2-card__value{ font-size: 22px; font-weight: 900; margin-top: 2px; }
.adminv2-card__valueSub{ font-size: 14px; color: var(--v2-muted); font-weight: 800; margin-left: 4px; }

.adminv2-panel{
  background: var(--v2-card);
  border: 1px solid var(--v2-border);
  border-radius: 16px;
  box-shadow: var(--v2-shadow);
}
.adminv2-panel__head{
  padding: 14px 16px;
  border-bottom: 1px solid var(--v2-border);
  display:flex;
  align-items:center;
  justify-content: space-between;
  gap: 12px;
}
.adminv2-panelHeadRow{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 10px;
  flex-wrap: wrap;
  width: 100%;
}
.adminv2-panelHeadActions{
  display:flex;
  gap: 10px;
  align-items:center;
  justify-content:flex-end;
}
.adminv2-tabFooter{
  display:flex;
  justify-content:flex-end;
  gap: 10px;
  margin-top: 16px;
  padding-top: 12px;
  border-top: 1px solid var(--v2-border);
}
.adminv2-panel__body{ padding: 8px 16px 16px; }
.adminv2-empty{
  color: var(--v2-muted);
  padding: 16px 0;
}

/* Simple divider */
.adminv2-divider{
  height: 1px;
  background: var(--v2-border);
  margin: 14px 0;
}

/* Repeater rows (add/remove dynamic blocks) */
.adminv2-repeaterRoot{
  display:flex;
  flex-direction: column;
  gap: 12px;
}
.adminv2-repeaterItem{
  border: 1px solid var(--v2-border);
  background: #fff;
  border-radius: 14px;
  padding: 12px;
}
.adminv2-repeaterRow{
  display:flex;
  gap: 12px;
  align-items: flex-start;
}
.adminv2-repeaterMain{
  flex: 1 1 auto;
  min-width: 0;
}
.adminv2-repeaterActions{
  flex: 0 0 auto;
  padding-top: 26px;
}

/* Icon button variants */
.adminv2-iconBtn--danger{
  color: #991b1b;
  border-color: #fecaca;
  background: #fef2f2;
}
.adminv2-iconBtn--danger:hover{
  background: #fee2e2;
}

/* Checkbox grid (days of week) */
.adminv2-checkGrid{
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px 12px;
}
.adminv2-checkRow{
  display:flex;
  align-items:center;
  gap: 8px;
  margin: 0;
  font-weight: 800;
  font-size: 12px;
  color: #111827;
  user-select: none;
}
.adminv2-checkRow input{
  width: 16px;
  height: 16px;
  margin: 0;
}

/* Pill toggles (days / months) */
.adminv2-pillGroup{
  display:flex;
  flex-wrap:wrap;
  gap: 10px;
}
.adminv2-pillToggle{
  margin: 0;
  display:inline-flex;
  user-select:none;
}
.adminv2-pillToggle__input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}
.adminv2-pillToggle__ui{
  width: 34px;
  height: 34px;
  border-radius: 999px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight: 900;
  font-size: 12px;
  color: #334155;
  background: #eef2f7;
  border: 1px solid #e5e7eb;
  cursor:pointer;
  transition: background .15s ease, border-color .15s ease, color .15s ease;
}
.adminv2-pillToggle:hover .adminv2-pillToggle__ui{
  background: #e9eef7;
}
.adminv2-pillToggle__input:checked + .adminv2-pillToggle__ui{
  background: #2563eb;
  border-color: #1d4ed8;
  color: #fff;
}

.adminv2-tableWrap{ overflow:auto; }
.adminv2-table{
  margin: 0;
}
.adminv2-table thead th{
  color: var(--v2-muted);
  font-weight: 800;
  font-size: 12px !important;
  text-transform: capitalize;
  border-bottom: 1px solid var(--v2-border) !important;
}
.adminv2-table tbody td{
  border-top: 1px solid var(--v2-border) !important;
  vertical-align: middle;
  font-size: 12px !important;
}
.adminv2-table .adminv2-ico svg{
  width: 14px !important;
  height: 14px !important;
}

/* Toolbar (search / filter / export) */
.adminv2-toolbar{
  background: var(--v2-card);
  border: 1px solid var(--v2-border);
  border-radius: 16px;
  box-shadow: var(--v2-shadow);
  padding: 12px;
  margin-bottom: 14px;
}
.adminv2-toolbar__row{
  display:flex;
  gap: 10px;
  align-items:center;
  flex-wrap: wrap;
}
.adminv2-toolbar__grow{ flex: 1 1 380px; min-width: 320px; }
.adminv2-toolbar__field{ flex: 0 0 auto; min-width: 220px; }
.adminv2-toolbar__actions{
  display:flex;
  gap: 10px;
  align-items:center;
  justify-content:flex-end;
  flex: 0 0 auto;
}

.adminv2-toolbar__status{ min-width: 220px; }
.adminv2-toolbar__btn{
  padding: 8px 12px;
  height: 42px;
  line-height: 1;
}
.adminv2-toolbar__btn .adminv2-ico svg{ width: 18px; height: 18px; }
.adminv2-toolbar .adminv2-label{ margin-bottom: 4px; }

.adminv2-searchGroup{
  display:flex;
  gap: 10px;
  align-items:center;
}
.adminv2-searchGroup .adminv2-input{
  flex: 1 1 auto;
  min-width: 220px;
}

/* Modal spacing (more room on desktop) */
.adminv2-modal .modal-body{
  padding: 18px;
}
.adminv2-modal .modal-header{
  padding: 16px 18px;
}
.adminv2-modal .modal-footer{
  padding: 12px 18px 18px;
}

/* Select2 (Admin V2 theme) */
.adminv2-body .select2-container{
  width: 100% !important;
}
.adminv2-body .select2-container--default .select2-selection--single,
.adminv2-body .select2-container--default .select2-selection--multiple{
  min-height: 42px;
  border: 1px solid var(--v2-border);
  border-radius: 12px;
  box-shadow: 0 1px 0 rgba(16,24,40,.02);
}
.adminv2-body .select2-container--default .select2-selection--single{
  display:flex;
  align-items:center;
  padding: 0 10px;
}
.adminv2-body .select2-container--default .select2-selection--single .select2-selection__rendered{
  padding-left: 0;
  line-height: 1.2;
}
.adminv2-body .select2-container--default .select2-selection--single .select2-selection__arrow{
  height: 42px;
}
.adminv2-body .select2-container--default .select2-selection--multiple{
  padding: 4px 8px;
}
.adminv2-body .select2-container--default .select2-selection--multiple .select2-selection__rendered{
  padding: 0;
  display:flex;
  flex-wrap: wrap;
  gap: 6px;
}
.adminv2-body .select2-container--default .select2-selection--multiple .select2-selection__choice{
  margin: 0;
  border: 1px solid #dbe1ff;
  background: #eef2ff;
  border-radius: 999px;
  padding: 4px 10px;
  font-weight: 800;
  color: var(--v2-text);
}
.adminv2-body .select2-container--default .select2-selection--multiple .select2-selection__choice__remove{
  margin-right: 6px;
  color: var(--v2-primary-2);
}
.adminv2-body .select2-dropdown{
  border: 1px solid var(--v2-border);
  border-radius: 12px;
  box-shadow: var(--v2-shadow);
}
.adminv2-body .select2-container--default .select2-results__option--highlighted[aria-selected]{
  background: #eef2ff;
  color: var(--v2-primary-2);
}

.adminv2-alert{
  padding: 12px 14px;
  border-radius: 14px;
  border: 1px solid var(--v2-border);
  background: #fff;
  box-shadow: var(--v2-shadow);
  margin-bottom: 12px;
}
.adminv2-alertSuccess{
  border-color: rgba(16,185,129,.35);
  background: rgba(16,185,129,.08);
}
.adminv2-alertDanger{
  border-color: rgba(239,68,68,.35);
  background: rgba(239,68,68,.08);
}

/* Drawer / offcanvas modal (Bootstrap 4 compatible) */
.adminv2-modalDialog--drawer{
  width: calc(100vw - 24px);
  max-width: 540px;
  margin: 0 0 0 auto;
  height: 100vh;
}
.adminv2-modalDialog--drawer .modal-content{
  height: 100vh;
  border-radius: 16px 0 0 16px;
}
.adminv2-modalDialog--drawer .modal-header{
  padding: 16px;
}
.adminv2-modalDialog--drawer .modal-body{
  padding: 16px;
  overflow: auto;
}
.adminv2-modalDialog--drawer .modal-footer{
  padding: 12px 16px 16px;
}
.adminv2-drawerTitle{
  font-weight: 900;
  font-size: 18px;
  margin: 0;
}
.adminv2-drawerSub{
  color: var(--v2-muted);
  font-weight: 700;
  font-size: 12px;
  margin-top: 4px;
}
.adminv2-drawerGrid{
  display:grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px 12px;
}
.adminv2-drawerGrid__full{ grid-column: 1 / -1; }

/* Table card */
.adminv2-tableCard{
  border: 1px solid var(--v2-border);
  border-radius: 16px;
  overflow: hidden;
  background: var(--v2-card);
}
.adminv2-tableCard__scroll{
  max-height: 65vh;
  overflow-x: auto;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  touch-action: pan-x pan-y;
  overscroll-behavior-x: contain;
}
.adminv2-tableCard__scroll--noMax{
  max-height: none;
  overflow-x: auto;
  overflow-y: visible;
  -webkit-overflow-scrolling: touch;
  touch-action: pan-x;
  overscroll-behavior-x: contain;
}

/* Tables: allow horizontal scroll when needed */
.adminv2-table{
  width: max-content;
  min-width: 100%;
}
.adminv2-tableCard__scroll{
  scrollbar-gutter: stable both-edges;
}
.adminv2-tableCard .adminv2-table thead th{
  position: sticky;
  top: 0;
  background: #fbfbfe;
  z-index: 2;
}
.adminv2-tableCard .adminv2-table tbody tr:hover{
  background: #f7f8ff;
}

/* Badges */
.adminv2-badge{
  display:inline-flex;
  align-items:center;
  gap: 6px;
  padding: 6px 10px;
  border-radius: 999px;
  font-weight: 900;
  font-size: 12px;
  border: 1px solid var(--v2-border);
  background: #f8fafc;
  color: #111827;
  white-space: nowrap;
}
.adminv2-badge--success{
  background: #ecfdf5;
  border-color: #bbf7d0;
  color: #166534;
}
.adminv2-badge--warning{
  background: #fffbeb;
  border-color: #fde68a;
  color: #92400e;
}
.adminv2-badge--danger{
  background: #fef2f2;
  border-color: #fecaca;
  color: #991b1b;
}

/* Standard table action icon buttons (image-based) */
.adminv2-iconBtn{
  width: 38px;
  height: 38px;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  border: 1px solid var(--v2-border);
  background: #ffffff;
  color: #111827;
  line-height: 1;
}
.adminv2-iconBtn--sm{
  width: 34px;
  height: 34px;
  border-radius: 12px;
}
.adminv2-iconBtn:hover{
  background: #f8fafc;
}
.adminv2-iconBtn:focus{
  outline: none;
  box-shadow: 0 0 0 3px rgba(59,130,246,.16);
}
.adminv2-actionIcon{
  width: 18px;
  height: 18px;
  display: inline-block;
  color: currentColor;
}

/* Image dropdown (for Tours categories) */
.adminv2-imageThumbRow{
  display:flex;
  gap: 10px;
  align-items:center;
}
.adminv2-imageThumb{
  width: 56px;
  height: 36px;
  border-radius: 10px;
  border: 1px solid var(--v2-border);
  object-fit: cover;
  background: #fff;
}
.adminv2-imageSelect{
  position: relative;
}
.adminv2-imageSelect__btn{
  width: 100%;
  border: 1px solid #e5e7f0;
  background: #f8fafc;
  border-radius: 12px;
  padding: 10px 12px;
  font-weight: 800;
  display:flex;
  align-items:center;
  gap: 10px;
}
.adminv2-imageSelect__btn:focus{
  outline: none;
  border-color: #5b5ce8;
  box-shadow: 0 0 0 3px rgba(91,92,232,.16);
  background: #fff;
}
.adminv2-imageSelect__thumb{
  width: 44px;
  height: 32px;
  border-radius: 10px;
  border: 1px solid var(--v2-border);
  background: #fff;
  overflow: hidden;
  display:flex;
  align-items:center;
  justify-content:center;
  flex: 0 0 auto;
}
.adminv2-imageSelect__thumb img{
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.adminv2-imageSelect__label{
  flex: 1 1 auto;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.adminv2-imageSelect__chev{ opacity: .7; }
.adminv2-imageSelect__menu{
  width: 100%;
  max-height: 320px;
  overflow: auto;
  border-radius: 12px;
  border: 1px solid var(--v2-border);
  box-shadow: var(--v2-shadow);
}
.adminv2-imageOption{
  display:flex;
  align-items:center;
  gap: 10px;
  font-weight: 800;
}
.adminv2-imageOption__thumb{
  width: 44px;
  height: 32px;
  border-radius: 10px;
  border: 1px solid var(--v2-border);
  background: #fff;
  overflow: hidden;
  display:flex;
  align-items:center;
  justify-content:center;
  flex: 0 0 auto;
}
.adminv2-imageOption__thumb img{
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.adminv2-imageOption__label{
  flex: 1 1 auto;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* Dropzone (drag & drop image upload) */
.adminv2-dropzone{
  border: 1px dashed #cfd6ea;
  background: #f8fafc;
  border-radius: 16px;
  padding: 12px;
  display:flex;
  gap: 12px;
  align-items:center;
  cursor: pointer;
  position: relative;
}
.adminv2-dropzone--box{
  flex-direction: column;
  justify-content: center;
  text-align: center;
  padding: 26px 18px;
  gap: 14px;
}
.adminv2-dropzone--box .adminv2-dropzone__icon{
  width: 68px;
  height: 68px;
  border-radius: 18px;
  border: 1px solid var(--v2-border);
  background: #fff;
  display:flex;
  align-items:center;
  justify-content:center;
}
.adminv2-dropzone--box .adminv2-dropzone__icon .adminv2-ico svg{
  width: 36px;
  height: 36px;
  color: var(--v2-primary-2);
}
.adminv2-dropzone__hint{
  margin-top: 8px;
  font-weight: 700;
  font-size: 11px;
  color: var(--v2-muted);
}
.adminv2-dropzoneBrowse{
  font-weight: 900;
  text-decoration: underline;
}
.adminv2-dropzone.is-dragover{
  border-color: var(--v2-primary);
  box-shadow: 0 0 0 3px rgba(91,92,232,.14);
  background: #fff;
}
.adminv2-dropzone__input{
  position: absolute;
  inset: 0;
  opacity: 0;
  cursor: pointer;
  z-index: 1;
}
.adminv2-dropzone__preview{
  width: 86px;
  height: 56px;
  border-radius: 14px;
  border: 1px solid var(--v2-border);
  background: #fff;
  overflow: hidden;
  flex: 0 0 auto;
  display:flex;
  align-items:center;
  justify-content:center;
}
.adminv2-dropzone__preview img{
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.adminv2-dropzone__meta{ min-width: 0; }
.adminv2-dropzone__title{
  font-weight: 900;
  color: #111827;
  font-size: 13px;
}
.adminv2-dropzone__sub{
  color: var(--v2-muted);
  font-weight: 700;
  font-size: 12px;
  margin-top: 2px;
}
.adminv2-dropzone__remove{
  margin-left: auto;
  position: relative;
  z-index: 2;
}

.adminv2-dropzonePreviews{
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-top: 12px;
}
.adminv2-dropzoneItem{
  border: 1px solid var(--v2-border);
  border-radius: 16px;
  background: #fff;
  overflow: hidden;
  padding: 10px;
  display:flex;
  flex-direction: column;
  gap: 8px;
}
.adminv2-dropzoneItem__img{
  width: 100%;
  height: 120px;
  border-radius: 14px;
  object-fit: cover;
  border: 1px solid var(--v2-border);
  background: #fff;
}
.adminv2-dropzoneItem__meta{
  font-weight: 800;
  font-size: 12px;
  color: #111827;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.adminv2-dropzoneItem__remove{
  align-self: flex-end;
}

/* Gallery multi-select */
.adminv2-galleryItem{
  position: relative;
}
.adminv2-galleryItem.is-selected{
  border-color: #dbe1ff;
  box-shadow: 0 0 0 3px rgba(91,92,232,.12);
}
.adminv2-galleryCheck{
  position: absolute;
  top: 10px;
  left: 10px;
  z-index: 3;
  margin: 0;
  cursor: pointer;
}
.adminv2-galleryCheck__input{
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
.adminv2-galleryCheck__box{
  width: 22px;
  height: 22px;
  border-radius: 8px;
  border: 1px solid var(--v2-border);
  background: rgba(255,255,255,.95);
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow: 0 6px 18px rgba(16,24,40,.10);
}
.adminv2-galleryCheck__input:checked + .adminv2-galleryCheck__box{
  border-color: #dbe1ff;
  background: #eef2ff;
}
.adminv2-galleryCheck__input:checked + .adminv2-galleryCheck__box:after{
  content: "✓";
  font-weight: 900;
  color: var(--v2-primary-2);
  font-size: 14px;
  line-height: 1;
}

/* Sub cards (used in pricing rules modals) */
.adminv2-subCard{
  border: 1px solid var(--v2-border);
  border-radius: 16px;
  background: #fff;
  overflow: hidden;
}
.adminv2-subCard__head{
  display:flex;
  align-items:center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 14px;
  background: #fbfbfe;
  border-bottom: 1px solid var(--v2-border);
}
.adminv2-subCard__title{
  font-weight: 900;
  font-size: 13px;
  color: #111827;
  display:flex;
  align-items:center;
  gap: 10px;
}
.adminv2-subCard__hint{
  width: 18px;
  height: 18px;
  border-radius: 999px;
  border: 1px solid #dbe1f1;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-weight: 900;
  font-size: 12px;
  color: #64748b;
  background: #fff;
  cursor: help;
}
.adminv2-subCard__body{
  padding: 12px 14px 14px;
}

.adminv2-tile{
  background: var(--v2-card);
  border: 1px solid var(--v2-border);
  border-radius: 16px;
  box-shadow: var(--v2-shadow);
  padding: 16px;
  text-decoration: none !important;
  color: inherit;
  display: block;
}
.adminv2-tile:hover{
  border-color: #dbe1ff;
  box-shadow: 0 14px 40px rgba(16,24,40,.10);
}
.adminv2-tile__icon{
  width: 42px;
  height: 42px;
  border-radius: 14px;
  background:#eef2ff;
  color: var(--v2-primary-2);
  display:flex;
  align-items:center;
  justify-content:center;
  font-size: 18px;
  margin-bottom: 10px;
}
.adminv2-tile__icon .adminv2-ico svg{
  width: 20px;
  height: 20px;
}
.adminv2-tile__title{ font-weight: 900; font-size: 14px; margin-bottom: 4px; }
.adminv2-tile__desc{ color: var(--v2-muted); font-weight: 600; font-size: 12px; }
.adminv2-tile__arrow{
  margin-top: 10px;
  font-weight: 900;
  color: var(--v2-primary-2);
}

/* Enterprise page tabs */
.adminv2-tabs{
  display:flex;
  gap: 10px;
  padding: 10px;
  background: rgba(255,255,255,.8);
  border: 1px solid var(--v2-border);
  border-radius: 16px;
  box-shadow: var(--v2-shadow);
  margin-bottom: 14px;
  overflow-x: auto;
}
.adminv2-tab{
  flex: 0 0 auto;
  padding: 10px 14px;
  border-radius: 12px;
  text-decoration:none !important;
  color: #111827;
  font-weight: 900;
  font-size: 12px;
  background: transparent;
  border: 1px solid transparent;
  line-height: 1.1;
}
.adminv2-tabSub{
  display:block;
  font-weight: 700;
  font-size: 11px;
  color: var(--v2-muted);
  margin-top: 4px;
}
.adminv2-tab:hover{
  background: #f2f4ff;
  color: var(--v2-primary-2);
}
.adminv2-tab.is-active{
  background: #eef2ff;
  border-color: #dbe1ff;
  color: var(--v2-primary-2);
}
.adminv2-tab.is-disabled{
  opacity: .55;
  pointer-events: none;
}

/* Keep legacy wizard tabs available for JS but hidden visually */
.adminv2-wizardTabsHidden{
  position: absolute !important;
  left: -9999px !important;
  top: auto !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  white-space: nowrap !important;
}

/* Sections (cards) */
.adminv2-section{
  background: var(--v2-card);
  border: 1px solid var(--v2-border);
  border-radius: 16px;
  box-shadow: var(--v2-shadow);
  margin-bottom: 14px;
}
.adminv2-section__head{
  padding: 14px 16px;
  border-bottom: 1px solid var(--v2-border);
  display:flex;
  align-items:center;
  justify-content: space-between;
  gap: 12px;
}
.adminv2-section__title{
  display:flex;
  align-items:center;
  gap: 10px;
  font-weight: 900;
  font-size: 14px;
}
.adminv2-section__title .adminv2-ico svg{ width: 18px; height: 18px; }
.adminv2-section__subtitle{
  color: var(--v2-muted);
  font-weight: 600;
  font-size: 12px;
  margin-top: 4px;
}
.adminv2-section__body{ padding: 16px; }

/* Form */
.adminv2-formGrid{
  display:grid;
  gap: 14px 16px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.adminv2-fieldBlock--full{ grid-column: 1 / -1; }
.adminv2-label{
  font-weight: 800;
  font-size: 12px;
  margin: 0 0 6px;
  color: #111827;
}
.adminv2-input,
.adminv2-textarea{
  width: 100%;
  border: 1px solid #e5e7f0;
  background: #f8fafc;
  border-radius: 12px;
  padding: 10px 12px;
  font-weight: 700;
  outline: none;
}
.adminv2-input{ height: 42px; }
.adminv2-textarea{ resize: vertical; }
.adminv2-select{
  width: 100%;
  border: 1px solid #e5e7f0;
  background: #f8fafc;
  border-radius: 12px;
  padding: 10px 12px;
  font-weight: 700;
  outline: none;
  height: 42px;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  background-image:
    linear-gradient(45deg, transparent 50%, #64748b 50%),
    linear-gradient(135deg, #64748b 50%, transparent 50%);
  background-position:
    calc(100% - 18px) 17px,
    calc(100% - 12px) 17px;
  background-size:
    6px 6px,
    6px 6px;
  background-repeat: no-repeat;
  padding-right: 34px;
}
.adminv2-select:focus{
  border-color: #5b5ce8;
  box-shadow: 0 0 0 3px rgba(91,92,232,.16);
  background-color: #fff;
}

/* Select2 align with Admin V2 inputs */
.select2-container{ width: 100% !important; }
.select2-container--default .select2-selection--single{
  height: 42px !important;
  border: 1px solid #e5e7f0 !important;
  border-radius: 12px !important;
  background: #f8fafc !important;
}
.select2-container--default .select2-selection--single .select2-selection__rendered{
  line-height: 40px !important;
  padding-left: 12px !important;
  padding-right: 32px !important;
  font-weight: 700 !important;
}
.select2-container--default .select2-selection--single .select2-selection__arrow{
  height: 42px !important;
  right: 10px !important;
}
.select2-container--default .select2-selection--multiple{
  min-height: 42px !important;
  border: 1px solid #e5e7f0 !important;
  border-radius: 12px !important;
  background: #f8fafc !important;
  padding: 6px 8px !important;
}
.select2-container--default.select2-container--focus .select2-selection--multiple,
.select2-container--default.select2-container--open .select2-selection--single{
  border-color: #5b5ce8 !important;
  box-shadow: 0 0 0 3px rgba(91,92,232,.16) !important;
  background: #fff !important;
}
.adminv2-input:focus,
.adminv2-textarea:focus{
  border-color: #5b5ce8;
  box-shadow: 0 0 0 3px rgba(91,92,232,.16);
  background: #fff;
}
.adminv2-help{
  font-size: 11px;
  color: var(--v2-muted);
  margin-top: 6px;
  font-weight: 600;
}

.adminv2-stickyActions{
  position: sticky;
  bottom: 14px;
  display:flex;
  justify-content: flex-end;
  padding: 10px 0;
}

.adminv2-container--hasFixedBar{
  padding-bottom: 96px;
}
.adminv2-fixedActionsBar{
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1050;
  background: rgba(255,255,255,.92);
  backdrop-filter: blur(10px);
  border-top: 1px solid var(--v2-border);
  box-shadow: 0 -12px 30px rgba(16,24,40,.10);
}
.adminv2-fixedActionsBar__inner{
  max-width: 1480px;
  margin: 0 auto;
  padding: 14px 18px;
  display:flex;
  align-items:center;
  gap: 10px;
}
@media (max-width: 768px){
  .adminv2-container--hasFixedBar{ padding-bottom: 112px; }
  .adminv2-fixedActionsBar__inner{ padding: 12px 12px; }
}

.adminv2-programList{
  display:flex;
  flex-direction: column;
  gap: 10px;
}
.adminv2-programItem{
  background: var(--v2-card);
  border: 1px solid var(--v2-border);
  border-radius: 16px;
  box-shadow: var(--v2-shadow);
  padding: 12px 12px;
  display:flex;
  align-items:flex-start;
  gap: 12px;
}
.adminv2-programItem__check{
  padding-top: 4px;
}
.adminv2-programCheck{
  width: 18px;
  height: 18px;
  accent-color: var(--v2-primary);
}
.adminv2-programThumb{
  width: 92px;
  height: 70px;
  border-radius: 12px;
  object-fit: cover;
}
.adminv2-programThumb--empty{
  width: 92px;
  height: 70px;
  border-radius: 12px;
  border: 1px dashed var(--v2-border);
  background: #f8fafc;
  display:flex;
  align-items:center;
  justify-content:center;
  color: var(--v2-muted);
}
.adminv2-programInfoIcon{
  width: 34px;
  height: 34px;
  border-radius: 999px;
  border: 1px solid var(--v2-border);
  background: #fff;
  display:flex;
  align-items:center;
  justify-content:center;
  color: var(--v2-muted);
}
.adminv2-programItem__content{
  flex: 1;
  min-width: 0;
}
.adminv2-programItem__actions{
  display:flex;
  gap: 8px;
  align-items:center;
  justify-content:flex-end;
  padding-top: 2px;
  white-space: nowrap;
}
.adminv2-btn{
  display:inline-flex;
  align-items:center;
  gap: 10px;
  border-radius: 12px;
  padding: 10px 14px;
  font-weight: 900;
  border: 1px solid var(--v2-border);
  background: #fff;
}
.adminv2-btnPrimary{
  background: var(--v2-primary);
  border-color: var(--v2-primary);
  color: #fff;
}
.adminv2-btnPrimary:hover{
  background: var(--v2-primary-2);
  border-color: var(--v2-primary-2);
  color: #fff;
}

.adminv2-modal .modal-dialog{
  max-width: 860px;
}
.adminv2-modal .modal-dialog.modal-sm,
.adminv2-modal .modal-dialog.modal-lg,
.adminv2-modal .modal-dialog.modal-xl{
  max-width: 860px !important;
}
.adminv2-modal .modal-content{
  border-radius: 16px;
  border: 1px solid var(--v2-border);
  box-shadow: 0 20px 70px rgba(16,24,40,.18);
  /* flex layout + overflow:hidden handled by global .adminv2-body .modal rule above */
}
.adminv2-modal .modal-header{
  border-bottom: 1px solid var(--v2-border);
  padding: 14px 16px;
  flex-shrink: 0;
  min-height: 0;
}
.adminv2-modalTitle{
  font-weight: 900;
  font-size: 14px;
  margin: 0;
}
.adminv2-modalSubtitle{
  margin-top: 4px;
  font-size: 12px;
  font-weight: 700;
  color: var(--v2-muted);
}
.adminv2-modal .modal-body{
  padding: 16px;
  /* scroll behavior handled by global .adminv2-body .modal rule */
}
.adminv2-modal .modal-footer{
  border-top: 1px solid var(--v2-border);
  padding: 12px 16px;
  display:flex;
  justify-content: flex-end;
  gap: 10px;
}
.adminv2-modalGrid{
  display:grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px 14px;
}

.adminv2-modalSection{
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid var(--v2-border);
}
.adminv2-modalSection__title{
  font-weight: 900;
  font-size: 12px;
  color: #111827;
  margin: 0 0 10px;
}
.adminv2-modalSection__grid{
  display:grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px 14px;
}

.adminv2-permTop{
  margin-top: 12px;
  display:flex;
  align-items:center;
  justify-content: space-between;
  gap: 10px;
  padding: 10px 12px;
  background: #f7f8ff;
  border: 1px solid var(--v2-border);
  border-radius: 14px;
}
.adminv2-permTop__title{
  font-weight: 900;
  font-size: 13px;
}
.adminv2-permTop__check{
  display:flex;
  align-items:center;
  gap: 8px;
  margin: 0;
  font-weight: 800;
  font-size: 12px;
  color: #111827;
  user-select: none;
}
.adminv2-permTop__check input{
  width: 16px;
  height: 16px;
  margin: 0;
}
.adminv2-permSectionTitle{
  margin-top: 14px;
  margin-bottom: 8px;
  font-weight: 900;
  font-size: 12px;
  color: #111827;
}
.adminv2-permGrid{
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}
.adminv2-permCard{
  background: var(--v2-card);
  border: 1px solid var(--v2-border);
  border-radius: 14px;
  box-shadow: 0 10px 30px rgba(16,24,40,.06);
  overflow: hidden;
  min-height: 140px;
}
.adminv2-permCard__head{
  padding: 10px 12px;
  border-bottom: 1px solid var(--v2-border);
  background: #fff;
}
.adminv2-permCard__rubrique{
  display:flex;
  align-items:flex-start;
  gap: 10px;
  margin: 0;
  cursor: pointer;
  user-select: none;
}
.adminv2-permCard__rubrique input{
  margin-top: 2px;
  width: 16px;
  height: 16px;
  flex: 0 0 auto;
}
.adminv2-permCard__rubriqueTitle{
  font-weight: 900;
  font-size: 13px;
  line-height: 1.2;
}
.adminv2-permCard__body{
  padding: 8px 12px 10px;
  max-height: 240px;
  overflow: auto;
}
.adminv2-permRoute{
  display:flex;
  align-items:flex-start;
  gap: 10px;
  margin: 0;
  padding: 6px 2px;
  font-weight: 700;
  font-size: 12px;
  color: #111827;
  cursor: pointer;
}
.adminv2-permRoute input{
  margin-top: 1px;
  width: 14px;
  height: 14px;
  flex: 0 0 auto;
}
.adminv2-permRoute__name{
  font-weight: 800;
}
.adminv2-permRoute__desc{
  color: var(--v2-muted);
  font-weight: 700;
  margin-left: 6px;
}

/* Table truncation helpers */
.adminv2-truncateCell{
  max-width: 260px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.adminv2-switchGroup{
  margin-top: 14px;
  border-top: 1px solid var(--v2-border);
  padding-top: 14px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.adminv2-switchRow{
  display:flex;
  align-items:center;
  justify-content: space-between;
  gap: 12px;
  margin: 0;
  user-select: none;
}
.adminv2-switchLabel{
  font-weight: 900;
  font-size: 12px;
  color: #111827;
}
.adminv2-switchInput{
  position: absolute;
  opacity: 0;
  inset: 0;
  width: 44px;
  height: 24px;
  margin: 0;
  cursor: pointer;
  z-index: 2;
}
.adminv2-switchWrap{
  position: relative;
  display: inline-block;
  width: 44px;
  height: 24px;
  flex: 0 0 auto;
}
.adminv2-switchUi{
  position: relative;
  display: inline-block;
  width: 44px;
  height: 24px;
  border-radius: 999px;
  background: #e5e7eb;
  border: 1px solid #e5e7eb;
  transition: background .15s ease, border-color .15s ease;
  flex: 0 0 auto;
  pointer-events: none;
  z-index: 1;
}
.adminv2-switchUi::after{
  content: "";
  position: absolute;
  top: 50%;
  left: 2px;
  width: 20px;
  height: 20px;
  border-radius: 999px;
  background: #fff;
  box-shadow: 0 6px 16px rgba(16,24,40,.14);
  transform: translateY(-50%);
  transition: transform .15s ease;
}
.adminv2-switchInput:checked + .adminv2-switchUi{
  background: #22c55e;
  border-color: #22c55e;
}
.adminv2-switchInput:checked + .adminv2-switchUi::after{
  transform: translateY(-50%) translateX(20px);
}
.adminv2-switchInput:focus + .adminv2-switchUi{
  box-shadow: 0 0 0 3px rgba(34,197,94,.18);
}

.adminv2-confirmText{
  color: var(--v2-muted);
  font-weight: 700;
  font-size: 13px;
}

/* Toasts */
.adminv2-toastRoot{
  position: fixed;
  z-index: 2000;
  top: 14px;
  right: 14px;
  display:flex;
  flex-direction: column;
  gap: 10px;
  max-width: min(420px, calc(100vw - 28px));
}
[dir="rtl"] .adminv2-toastRoot{
  right: auto;
  left: 14px;
}
.adminv2-toast{
  display:flex;
  gap: 10px;
  align-items: flex-start;
  background: #fff;
  border: 1px solid var(--v2-border);
  border-radius: 14px;
  box-shadow: 0 18px 60px rgba(16,24,40,.16);
  padding: 12px 12px;
  animation: adminv2ToastIn .18s ease-out;
}
.adminv2-toast.is-leaving{
  animation: adminv2ToastOut .18s ease-in forwards;
}
.adminv2-toast__icon{
  width: 34px;
  height: 34px;
  border-radius: 12px;
  display:flex;
  align-items:center;
  justify-content:center;
  flex: 0 0 auto;
}
.adminv2-toast--success .adminv2-toast__icon{ background: #ecfdf3; color: #16a34a; }
.adminv2-toast--error .adminv2-toast__icon{ background: #fff1f2; color: #e11d48; }
.adminv2-toast__text{
  flex: 1;
  font-weight: 800;
  font-size: 13px;
  color: #0f172a;
  padding-top: 6px;
}
.adminv2-toast__close{
  border: 0;
  background: transparent;
  color: var(--v2-muted);
  font-weight: 900;
  font-size: 18px;
  line-height: 1;
  padding: 6px 6px;
}
.adminv2-toast__close:hover{ color: #0f172a; }

@keyframes adminv2ToastIn{
  from{ transform: translateY(-6px); opacity: 0; }
  to{ transform: translateY(0); opacity: 1; }
}
@keyframes adminv2ToastOut{
  from{ transform: translateY(0); opacity: 1; }
  to{ transform: translateY(-6px); opacity: 0; }
}

.adminv2-btn--sm{
  padding: 8px 10px;
  border-radius: 10px;
}
.adminv2-btn--sm .adminv2-ico svg{
  width: 16px;
  height: 16px;
}

.adminv2-hoursTable{
  display:flex;
  flex-direction: column;
  gap: 10px;
}
.adminv2-hoursRow{
  display:grid;
  grid-template-columns: 160px 1fr 1fr;
  gap: 10px;
  align-items: center;
}
.adminv2-hoursDay{
  font-weight: 900;
  font-size: 12px;
  color: #111827;
}
.adminv2-hoursSelect{ }
.adminv2-hoursCloseWrap{ }

/* Social list */
.adminv2-socialList{
  display:flex;
  flex-direction: column;
  gap: 10px;
}
.adminv2-socialItem{
  display:flex;
  align-items: center;
  gap: 12px;
  border: 1px solid var(--v2-border);
  border-radius: 14px;
  padding: 12px;
  background: #fff;
}
.adminv2-socialBadge{
  width: 42px;
  height: 42px;
  border-radius: 14px;
  display:flex;
  align-items:center;
  justify-content:center;
  color: #111827;
  flex: 0 0 auto;
}
.adminv2-socialMeta{
  flex: 1;
  min-width: 0;
}
.adminv2-socialTitle{
  font-weight: 900;
  font-size: 13px;
  margin-bottom: 2px;
}
.adminv2-socialUrl{
  display:block;
  color: var(--v2-muted);
  font-weight: 700;
  font-size: 12px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  text-decoration: none !important;
}
.adminv2-socialActions{
  display:flex;
  align-items:center;
  gap: 8px;
}

/* Admin V2 - API Integrations */
.adminv2-pagehead__titleRow{
  display:flex;
  align-items:flex-start;
  gap: 12px;
}
.adminv2-pageIcon{
  width: 38px;
  height: 38px;
  border-radius: 14px;
  display:flex;
  align-items:center;
  justify-content:center;
  background: rgba(91,92,232,.10);
  color: var(--v2-primary-2);
  flex: 0 0 auto;
  margin-top: 2px;
}
.adminv2-apiSection{ margin-top: 18px; }
.adminv2-apiSection:first-child{ margin-top: 0; }
.adminv2-apiSection__head{ margin-bottom: 14px; }
.adminv2-apiSection__title{
  font-weight: 900;
  font-size: 18px;
  color: var(--v2-text);
}
.adminv2-apiSection__subtitle{
  font-weight: 600;
  color: #64748b;
  margin-top: 4px;
}
.adminv2-apiGrid{ margin-bottom: 8px; }
.adminv2-apiCard{
  text-align: center;
  border: 1px solid #eef1f6;
  border-radius: 18px;
  background: #fff;
  padding: 26px 18px;
  min-height: 220px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
  transition: transform .12s ease, box-shadow .12s ease, border-color .12s ease;
  box-shadow: 0 1px 0 rgba(16,24,40,.02);
}
.adminv2-apiCard:hover{
  transform: translateY(-1px);
  box-shadow: 0 18px 40px rgba(16,24,40,.08);
  border-color: rgba(91,92,232,.35);
}
.adminv2-apiCard:focus{
  outline: none;
  box-shadow: 0 0 0 4px rgba(91,92,232,.14), 0 18px 40px rgba(16,24,40,.08);
}
.adminv2-apiCard--disabled{ opacity: .65; }
.adminv2-apiLogo{
  width: 64px;
  height: 64px;
  border-radius: 16px;
  border: 1px solid #eef1f6;
  background: #fff;
  padding: 6px;
}
.adminv2-apiName{
  font-weight: 900;
  font-size: 18px;
  color: var(--v2-text);
}
.adminv2-apiDesc{
  max-width: 260px;
  font-weight: 600;
  font-size: 13px;
  color: #64748b;
}
.adminv2-modalDialog--sm{
  width: calc(100vw - 24px);
  max-width: 540px;
}
.adminv2-modalDialog--lg{
  width: calc(100vw - 24px);
  max-width: 1000px;
}
.adminv2-modalDialog--xl{
  width: calc(100vw - 24px);
  max-width: 1280px;
}
.adminv2-modalDialog--xxl{
  width: calc(100vw - 24px);
  max-width: 1480px;
}
.adminv2-modalDialog--xxxl{
  width: calc(100vw - 24px);
  max-width: 1720px;
}
.adminv2-modalDialog--md{
  width: calc(100vw - 24px);
  max-width: 860px;
}
.adminv2-modalDialog--pricing800{
  width: calc(100vw - 24px);
  max-width: 800px;
}
.adminv2-modalGrid__full{ grid-column: 1 / -1; }

/* Pricing legacy modal (loaded via AJAX inside Admin V2) */
.adminv2-pricingLegacyModal.adminv2-modal .modal-dialog{
  width: calc(100vw - 24px);
  max-width: 860px;
}
.adminv2-pricingLegacyModal .modal-body{
  max-height: calc(100vh - 240px);
  overflow: auto;
}
.adminv2-pricingLegacyModal .block-header{
  border-bottom: 1px solid var(--v2-border);
  padding: 18px 20px !important;
  position: relative;
}
.adminv2-pricingLegacyModal .block-header .block-title{
  font-weight: 900 !important;
  font-size: 26px !important;
  color: var(--v2-text) !important;
}
.adminv2-pricingLegacyModal .adminv2-pricingHeaderMeta{
  margin-top: 4px;
  font-size: 16px;
  font-weight: 700;
  color: #374151;
}
.adminv2-pricingLegacyModal .adminv2-pricingContractRow{
  margin-top: 0 !important;
}
.adminv2-pricingLegacyModal .adminv2-pricingSeasonRow{
  margin-top: 12px !important;
}
.adminv2-pricingLegacyModal .block-header .block-options{
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  position: absolute;
  top: 14px;
  right: 14px;
}
.adminv2-pricingLegacyModal .block-header .block-options li{ margin: 0 !important; padding: 0 !important; }
.adminv2-pricingLegacyModal .block-header .block-options button{
  background: transparent;
  border: 0;
  font-size: 26px;
  line-height: 1;
  padding: 0 6px;
}
.adminv2-pricingLegacyModal .block-content{
  padding: 16px 20px 4px !important;
}
.adminv2-pricingLegacyModal .form-control{
  border: 1px solid #dbe1f1;
  border-radius: 12px;
  padding: 10px 12px;
  height: auto;
  box-shadow: none;
}
.adminv2-pricingLegacyModal label.control-label,
.adminv2-pricingLegacyModal label{
  font-weight: 800;
  color: #111827;
}
.adminv2-pricingLegacyModal .panel-group{ margin-bottom: 10px; }
.adminv2-pricingLegacyModal .panel{ border-radius: 12px; overflow: hidden; }
.adminv2-pricingLegacyModal .panel-heading{
  padding: 10px 12px !important;
}
.adminv2-pricingLegacyModal .panel-heading .block-title,
.adminv2-pricingLegacyModal .panel-heading h3{
  margin: 0 !important;
  font-size: 14px !important;
  font-weight: 900 !important;
}
.adminv2-pricingLegacyModal .panel-heading a{
  display: block;
  padding: 2px 0;
  text-decoration: none !important;
}
.adminv2-pricingLegacyModal .adminv2-pricingRoomHeader{
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}
.adminv2-pricingLegacyModal .adminv2-pricingRoomHeader__left{
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.adminv2-pricingLegacyModal .adminv2-pricingRoomHeader__bed{
  color: #4f46e5;
}
.adminv2-pricingLegacyModal .adminv2-pricingRoomHeader__status{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  border-radius: 999px;
  color: #9ca3af;
}
.adminv2-pricingLegacyModal .adminv2-pricingRoomHeader__status.is-active{
  color: #16a34a;
  background: #ecfdf3;
}
.adminv2-pricingLegacyModal .adminv2-pricingRoomHeader__status:not(.is-active){
  visibility: hidden;
}
.adminv2-pricingLegacyModal .panel-body{
  padding: 12px !important;
}

/* When embedding legacy pricing partial in V2 tab:
   keep modals available, hide the legacy list/table UI. */
.adminv2-pricingLegacyWrap .block-header{
  display: none !important;
}
.adminv2-pricingLegacyWrap .block-content.table-responsive{
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}
.adminv2-pricingLegacyWrap .block-content.table-responsive > table{
  display: none !important;
}

/* In pricing modal, switch should be like legacy screenshot (toggle left, label right) */
.adminv2-pricingLegacyModal .adminv2-switchRow{
  justify-content: flex-start;
  gap: 10px;
}
.adminv2-pricingLegacyModal .adminv2-switchWrap{ margin: 0; }
.adminv2-pricingLegacyModal .adminv2-switchLabel{
  font-size: 13px;
  font-weight: 800;
}

.adminv2-paginationWrap{
  display: flex;
  justify-content: center;
  padding: 12px 0 2px;
}
.adminv2-pagination{
  display: flex;
  gap: 6px;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
}
.adminv2-pagination .page-item{ margin: 0; }
.adminv2-pagination .page-link{
  border: 1px solid var(--v2-border);
  background: #fff;
  color: var(--v2-text);
  border-radius: 12px;
  padding: 8px 12px;
  font-weight: 900;
  line-height: 1;
  min-width: 40px;
  text-align: center;
  box-shadow: 0 1px 0 rgba(16,24,40,.02);
}
.adminv2-pagination .page-link:hover{
  background: #f8fafc;
  border-color: #d7dbea;
}
.adminv2-pagination .page-item.active .page-link{
  background: var(--v2-primary-2);
  border-color: var(--v2-primary-2);
  color: #fff;
  box-shadow: 0 10px 20px rgba(79,70,229,.18);
}
.adminv2-pagination .page-item.disabled .page-link{
  opacity: .55;
  cursor: not-allowed;
  background: #fff;
}

.adminv2-apiActions{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.adminv2-tierList{ display: flex; flex-direction: column; gap: 12px; }
.adminv2-tierRow{
  border: 1px solid var(--v2-border);
  background: #fff;
  border-radius: 14px;
  padding: 12px;
}
.adminv2-tierGrid{
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 10px;
  align-items: end;
}
.adminv2-tierActions{
  grid-column: span 2;
  display:flex;
  align-items:center;
  justify-content: space-between;
  gap: 10px;
}

@media (max-width: 1100px){
  .adminv2-apiActions{ grid-template-columns: 1fr; }
  .adminv2-tierGrid{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .adminv2-tierActions{ grid-column: 1 / -1; justify-content:flex-start; }
}

@media (max-width: 1100px){
  .adminv2-grid--6{ grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .adminv2-grid--4{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .adminv2-grid--3{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .adminv2-formGrid{ grid-template-columns: 1fr; }
  .adminv2-hoursRow{ grid-template-columns: 140px 1fr 1fr; }
  .adminv2-permGrid{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 768px){
  /* Avoid page-level horizontal scrolling on mobile */
  html, .adminv2-body{ overflow-x: hidden; }
  .adminv2-body{ width: 100vw; }
  .adminv2-main{ overflow-x: hidden; width: 100%; }
  .adminv2-topbar{ overflow: visible; }
  .adminv2-topbar__inner{ overflow: visible; }

  /* Mobile layout: logo + actions first row, menu second row (scrollable) */
  .adminv2-topbar__inner{
    flex-wrap: wrap;
    gap: 10px;
  }
  .adminv2-brand{ order: 1; }
  .adminv2-actions{ order: 2; margin-left: auto; }
  .adminv2-nav{
    order: 3;
    width: 100%;
    flex-wrap: nowrap;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-x: contain;
    touch-action: pan-x;
    padding-bottom: 6px;
  }
  .adminv2-nav::-webkit-scrollbar{ height: 6px; }
  .adminv2-nav::-webkit-scrollbar-thumb{
    background: rgba(15,23,42,.12);
    border-radius: 999px;
  }
  .adminv2-nav__link{
    flex: 0 0 auto;
    padding: 9px 10px;
    font-size: 12px;
  }
  .adminv2-grid--2{ grid-template-columns: 1fr; }
  .adminv2-grid--3{ grid-template-columns: 1fr; }
  .adminv2-grid--6{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .adminv2-formGrid{ grid-template-columns: 1fr; }
  .adminv2-hoursRow{ grid-template-columns: 1fr; }
  .adminv2-hoursDay{ margin-top: 6px; }
  .adminv2-socialItem{ flex-wrap: wrap; }
  .adminv2-modalGrid{ grid-template-columns: 1fr; }
  .adminv2-modalSection__grid{ grid-template-columns: 1fr; }
  .adminv2-permGrid{ grid-template-columns: 1fr; }
  .adminv2-toastRoot{ top: 10px; right: 10px; left: 10px; max-width: none; }

  /* Mobile: collapse actions (currency/lang/user) into one menu */
  .adminv2-actions__item{ display: none; }
  .adminv2-actions__mobile{ display: inline-flex; }

  /* Mobile: toolbar should never overflow horizontally */
  .adminv2-toolbar__row{ flex-direction: column; align-items: stretch; }
  .adminv2-toolbar__grow{ flex: 1 1 auto; min-width: 0; }
  .adminv2-toolbar__actions{ width: 100%; flex-wrap: wrap; justify-content: flex-start; }
  .adminv2-searchGroup{ flex-wrap: wrap; }
  .adminv2-searchGroup .adminv2-input{ min-width: 0; width: 100%; }
  .adminv2-toolbar__btn{ width: 100%; justify-content: center; }

  /* Mobile: "Plus" dropdown is not needed (nav is scrollable) */
  .adminv2-nav__dropdown{ display: none; }

  /* Mobile: show "Plus" items as normal nav links */
  .adminv2-nav .adminv2-nav__link.adminv2-nav__link--mobileOnly{ display: inline-flex !important; }
}

/* RTL minimal */
[dir="rtl"] .adminv2-topbar__inner{ direction: rtl; }
[dir="rtl"] .dropdown-menu-right{ left: 0; right: auto; }
[dir="rtl"] .adminv2-actions{ margin-left: 0; margin-right: auto; }

/* Global Admin V2 modal width */
.adminv2-modal .modal-dialog{
  max-width: 860px !important;
}

/* Enforce centered modal width in V2 pages (even for legacy modals) */
.adminv2-body .modal-dialog{
  max-width: 860px !important;
}
.adminv2-body .modal-dialog.adminv2-modalDialog--drawer{
  max-width: 540px !important;
}
/* Allow size variants to override the default 860px */
.adminv2-body .modal-dialog.adminv2-modalDialog--sm  { max-width:  540px !important; }
.adminv2-body .modal-dialog.adminv2-modalDialog--lg  { max-width: 1000px !important; }
.adminv2-body .modal-dialog.adminv2-modalDialog--xl  { max-width: 1280px !important; }
.adminv2-body .modal-dialog.adminv2-modalDialog--xxl { max-width: 1480px !important; }
.adminv2-body .modal-dialog.adminv2-modalDialog--md  { max-width:  860px !important; }

/* ══════════════════════════════════════════════════════════════
   GLOBAL FIX: ALL modals in admin V2 must be scrollable.
   Exact same mechanism as Bootstrap 4 .modal-dialog-scrollable.

   KEY: max-height on .modal-content must use absolute viewport units
   (calc(100vh - X)), NOT 100% relative to parent, because
   percentage max-height only resolves when parent has an explicit
   height (not just max-height).
   ══════════════════════════════════════════════════════════════ */

/* 1. Dialog: constrain height + flex so children can grow/shrink */
.adminv2-body .modal .modal-dialog{
  display: flex !important;
  flex-direction: column !important;
  max-height: calc(100% - 3.5rem) !important;
}
/* 2. Content: ABSOLUTE viewport-based max-height (Bootstrap 4 approach)
      + overflow:hidden to clip the no-background bleed */
.adminv2-body .modal .modal-content{
  display: flex;
  flex-direction: column;
  overflow: hidden;
  /* 3.5rem = top margin 1.75rem + bottom margin 1.75rem of .modal-dialog */
  max-height: calc(100vh - 3.5rem);
  min-height: 0;
}
/* 3. When <form> wraps header/body/footer inside .modal-content,
      it breaks the flex chain — the flex container is .modal-content
      but its direct child is <form>, not .modal-header/.modal-body.
      Fix: make the form itself a flex column so the chain propagates. */
.adminv2-body .modal .modal-content > form{
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  min-height: 0;
  overflow: hidden;
}

/* 4. Header and footer are fixed, body scrolls */
.adminv2-body .modal .modal-header{
  flex-shrink: 0;
  min-height: 0;
}
.adminv2-body .modal .modal-body{
  overflow-y: auto;
  overflow-x: hidden;
  flex: 1 1 auto;
  min-height: 0;
  -webkit-overflow-scrolling: touch;
}
.adminv2-body .modal .modal-footer{
  flex-shrink: 0;
  min-height: 0;
}

/* Keep all V2 modals above bottom fixed action bar */
.adminv2-body .modal{
  z-index: 1060;
}
.adminv2-body .modal-backdrop{
  z-index: 1055;
}
.adminv2-body .modal .modal-dialog{
  margin-bottom: calc(22px + env(safe-area-inset-bottom, 0px));
}

/* ── Legacy block-based modal structure (calendarTarification, pricing modals) ──
   These modals use .block / .block-content instead of .modal-body.
   We need to propagate the flex chain through .block so .block-content scrolls. */
.adminv2-body .modal .modal-content > form > .block,
.adminv2-body .modal .modal-content > form > .remove-margin-b {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  min-height: 0;
}
.adminv2-body .modal .modal-content > form > .block > .block-header,
.adminv2-body .modal .modal-content > form > .block > .block-options {
  flex-shrink: 0;
}
.adminv2-body .modal .modal-content > form > .block > .block-content {
  overflow-y: auto;
  overflow-x: hidden;
  flex: 1 1 auto;
  min-height: 0;
  -webkit-overflow-scrolling: touch;
}

@media (max-width: 768px){
  .adminv2-body .modal .modal-dialog{
    margin-bottom: calc(14px + env(safe-area-inset-bottom, 0px));
  }
}


/* ── Meta Lead Ads (admin/v2/marks/meta-leads) ─────────────────── */
.adminv2-copyRow{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
}
.adminv2-copyRow .adminv2-input{
  flex:1 1 280px;
  min-width:0;
}
.adminv2-copyRow form{ margin:0; }
.adminv2-metaActions{
  display:flex;
  justify-content:flex-end;
  margin-top:10px;
}
.adminv2-metaSpaced{ margin-top:16px; }
.adminv2-metaSteps{
  margin:0;
  padding-inline-start:20px;
  display:grid;
  gap:6px;
  color:var(--v2-text);
}
.adminv2-apiLogo--meta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(135deg,#1877f2,#0a5bd3);
  color:#fff;
  border:0;
}
.adminv2-apiLogo--meta .adminv2-ico{ width:28px; height:28px; }
.adminv2-apiStatus{ font-weight:600; }
.adminv2-apiStatus--ok{ color:#10b981; }
.adminv2-apiStatus--warn{ color:#f59e0b; }
.adminv2-apiStatus--off{ color:#94a3b8; }
.adminv2-metaLinkRow{ margin:-6px 0 14px; }
.adminv2-metaFormGrid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(220px, 1fr));
  gap:12px;
}
.adminv2-metaRuleForm{
  border-top:1px solid var(--v2-border);
  padding-top:14px;
  margin-top:14px;
}
.adminv2-metaInline{ display:inline; margin:0; }
.adminv2-metaErrorText{ color:#b91c1c; font-weight:600; }

/* ── Omra (Produits & contrats › Omra) ─────────────────────────────────── */
.adminv2-omra-actions{ display:flex; gap:10px; flex-wrap:wrap; justify-content:flex-end; align-items:center; }
.adminv2-omra-tabContent{ margin-top:14px; }
.adminv2-omra-stack > * + *{ margin-top:14px; }
.adminv2-omra-inline{ display:flex; gap:10px; flex-wrap:wrap; align-items:center; }
.adminv2-omra-hidden{ display:none !important; }
.adminv2-omra-num{ text-align:end; font-variant-numeric: tabular-nums; white-space:nowrap; }
.adminv2-omra-nowrap{ white-space:nowrap; }
.adminv2-omra-strong{ font-weight:900; }
.adminv2-omra-filters{ display:grid; gap:10px; grid-template-columns: minmax(0,2fr) repeat(2, minmax(0,1fr)) auto; align-items:end; }

.adminv2-omra-modes{ display:grid; gap:12px; grid-template-columns: repeat(3, minmax(0,1fr)); }
.adminv2-omra-mode{ display:block; border:1px solid var(--v2-border); border-radius:14px; padding:14px; background:#fff; cursor:pointer; margin:0; }
.adminv2-omra-mode:has(input:checked){ border-color:#c7cbff; background:#eef2ff; }
.adminv2-omra-mode.is-disabled{ opacity:.55; cursor:not-allowed; }
.adminv2-omra-mode__title{ display:flex; gap:8px; align-items:center; font-weight:900; }
.adminv2-omra-mode__desc{ display:block; margin-top:6px; font-size:12px; color:var(--v2-muted); font-weight:600; }

.adminv2-omra-kpis{ display:grid; gap:12px; grid-template-columns: repeat(4, minmax(0,1fr)); }
.adminv2-omra-kpi{ border:1px solid var(--v2-border); border-radius:14px; padding:12px 14px; background:#fff; }
.adminv2-omra-kpi__label{ font-size:11px; color:var(--v2-muted); font-weight:800; text-transform:uppercase; letter-spacing:.02em; }
.adminv2-omra-kpi__value{ font-size:18px; font-weight:900; margin-top:4px; }

.adminv2-omra-formula{ border:1px solid var(--v2-border); border-radius:16px; background:#fff; margin-bottom:14px; }
.adminv2-omra-formula.is-deleted{ opacity:.5; }
.adminv2-omra-formula__head{ display:flex; gap:10px; justify-content:space-between; align-items:center; padding:12px 14px; border-bottom:1px solid var(--v2-border); }
.adminv2-omra-formula__body{ padding:14px; }
.adminv2-omra-formula__title{ font-weight:900; }
.adminv2-omra-cityGrid{ display:grid; gap:14px; grid-template-columns: repeat(2, minmax(0,1fr)); }
.adminv2-omra-city{ border:1px dashed var(--v2-border); border-radius:12px; padding:12px; }
.adminv2-omra-city__title{ font-weight:900; margin:0 0 10px; }
.adminv2-omra-fields3{ display:grid; gap:10px; grid-template-columns: repeat(3, minmax(0,1fr)); }
.adminv2-omra-fields2{ display:grid; gap:10px; grid-template-columns: repeat(2, minmax(0,1fr)); }
.adminv2-omra-roomGrid{ display:grid; gap:10px; grid-template-columns: repeat(6, minmax(0,1fr)); }
.adminv2-omra-room{ border:1px solid var(--v2-border); border-radius:12px; padding:10px; background:#f8fafc; }
.adminv2-omra-room__head{ display:flex; gap:8px; align-items:center; font-weight:900; font-size:12px; margin:0 0 8px; }
.adminv2-omra-langRow{ display:grid; gap:10px; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); }

.adminv2-omra-priceTable .adminv2-input{ min-width:96px; height:36px; padding:6px 8px; }
.adminv2-omra-priceTable td, .adminv2-omra-priceTable th{ vertical-align:middle; }
.adminv2-omra-margin.is-negative{ color:#b91c1c; }

.adminv2-omra-gallery{ display:grid; gap:12px; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); }
.adminv2-omra-gallery__item{ border:1px solid var(--v2-border); border-radius:12px; overflow:hidden; background:#fff; }
.adminv2-omra-gallery__img{ display:block; width:100%; height:120px; object-fit:cover; }
.adminv2-omra-gallery__foot{ display:flex; justify-content:flex-end; padding:6px; }
.adminv2-omra-cover{ display:block; max-width:260px; width:100%; height:auto; border-radius:12px; border:1px solid var(--v2-border); margin-top:8px; }

.adminv2-omra-warnings{ margin:0; padding-inline-start:18px; }
.adminv2-omra-lock{ border:1px solid #fde68a; background:#fffbeb; color:#92400e; border-radius:12px; padding:10px 12px; font-weight:700; font-size:12px; }
.adminv2-omra-translateBar{ display:flex; gap:10px; flex-wrap:wrap; align-items:center; justify-content:space-between; margin:0 0 12px; }
.adminv2-omra-badgeAi{ background:#fff7ed; border-color:#fed7aa; color:#9a3412; }

@media (max-width: 1100px){
  .adminv2-omra-roomGrid{ grid-template-columns: repeat(3, minmax(0,1fr)); }
  .adminv2-omra-kpis{ grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 768px){
  .adminv2-omra-modes,
  .adminv2-omra-cityGrid,
  .adminv2-omra-fields3,
  .adminv2-omra-fields2,
  .adminv2-omra-filters{ grid-template-columns: minmax(0,1fr); }
  .adminv2-omra-roomGrid{ grid-template-columns: repeat(2, minmax(0,1fr)); }
  .adminv2-omra-formula__head{ flex-wrap:wrap; }
}

/* ── Omra : assistant par étapes ───────────────────────────────────────── */
.adminv2-omra-wizard{ display:flex; flex-direction:column; gap:14px; }
.adminv2-omra-stepper{ list-style:none; margin:0; padding:10px; display:grid; gap:8px; grid-template-columns: repeat(4, minmax(0,1fr)); background:var(--v2-card); border:1px solid var(--v2-border); border-radius:16px; box-shadow:var(--v2-shadow); }
.adminv2-omra-stepper__item{ margin:0; }
.adminv2-omra-stepper__btn{ width:100%; display:flex; gap:10px; align-items:center; text-align:start; background:transparent; border:1px solid transparent; border-radius:12px; padding:8px 10px; cursor:pointer; }
.adminv2-omra-stepper__btn:hover{ background:#f5f6fb; }
.adminv2-omra-stepper__num{ flex:0 0 30px; height:30px; border-radius:999px; display:inline-flex; align-items:center; justify-content:center; font-weight:900; font-size:13px; background:#eef0f6; color:var(--v2-muted); }
.adminv2-omra-stepper__text{ display:flex; flex-direction:column; min-width:0; }
.adminv2-omra-stepper__title{ font-weight:900; font-size:13px; color:var(--v2-text); }
.adminv2-omra-stepper__sub{ font-size:11px; font-weight:600; color:var(--v2-muted); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.adminv2-omra-stepper__item.is-active .adminv2-omra-stepper__btn{ background:#eef2ff; border-color:#dbe1ff; }
.adminv2-omra-stepper__item.is-active .adminv2-omra-stepper__num{ background:var(--v2-primary); color:#fff; }
.adminv2-omra-stepper__item.is-done .adminv2-omra-stepper__num{ background:#dcfce7; color:#15803d; }
.adminv2-omra-step .adminv2-h2{ margin:0 0 6px; }
.adminv2-omra-wizardFoot{ position:sticky; bottom:0; z-index:5; display:flex; gap:10px; align-items:center; justify-content:space-between; padding:12px 14px; background:rgba(255,255,255,.95); border:1px solid var(--v2-border); border-radius:16px; box-shadow:var(--v2-shadow); }
.adminv2-omra-wizardFoot__progress{ font-size:12px; font-weight:800; color:var(--v2-muted); }

.adminv2-omra-choices{ display:flex; flex-wrap:wrap; gap:10px; margin-top:8px; }
.adminv2-omra-choice{ display:flex; gap:8px; align-items:center; margin:0; padding:10px 14px; border:1px solid var(--v2-border); border-radius:12px; background:#fff; cursor:pointer; }
.adminv2-omra-choice:has(input:checked){ border-color:#c7cbff; background:#eef2ff; }
.adminv2-omra-choice__title{ font-weight:900; }
.adminv2-omra-choice__desc{ font-size:11px; font-weight:700; color:var(--v2-muted); }
.adminv2-omra-inputLg{ height:50px; font-size:16px; margin-top:8px; }
.adminv2-omra-modes--2{ grid-template-columns: repeat(2, minmax(0,1fr)); }
.adminv2-omra-modes--status{ grid-template-columns: repeat(5, minmax(0,1fr)); }

.adminv2-omra-details{ border:1px solid var(--v2-border); border-radius:12px; padding:10px 12px; background:#fff; }
.adminv2-omra-details > summary{ cursor:pointer; font-weight:800; font-size:13px; color:var(--v2-primary-2); }
.adminv2-omra-langCard{ border:1px solid var(--v2-border); border-radius:16px; padding:14px; background:#fff; }
.adminv2-omra-langPane__head{ display:flex; gap:10px; align-items:center; justify-content:space-between; margin:0 0 12px; }

.adminv2-omra-checklist{ list-style:none; margin:8px 0 0; padding:0; display:grid; gap:6px; }
.adminv2-omra-checklist li{ position:relative; padding-inline-start:26px; font-weight:700; font-size:13px; color:var(--v2-muted); }
.adminv2-omra-checklist li::before{ content:''; position:absolute; inset-inline-start:0; top:2px; width:16px; height:16px; border-radius:999px; border:2px solid #cbd5e1; }
.adminv2-omra-checklist li.is-ok{ color:var(--v2-text); }
.adminv2-omra-checklist li.is-ok::before{ border-color:#16a34a; background:#16a34a; box-shadow: inset 0 0 0 3px #fff; }

.adminv2-omra-empty{ display:flex; flex-direction:column; align-items:center; gap:8px; text-align:center; padding:28px 16px; color:var(--v2-muted); }
.adminv2-omra-empty .adminv2-ico{ width:28px; height:28px; }

.adminv2-omra-sortCol{ width:90px; white-space:nowrap; }
.adminv2-omra-handle{ display:inline-flex; align-items:center; cursor:grab; color:var(--v2-muted); margin-inline-end:6px; vertical-align:middle; }
.adminv2-omra-handle:active{ cursor:grabbing; }
.sortable-ghost{ opacity:.45; }

.adminv2-omra-tripCard{ border:1px dashed #c7cbff; border-radius:12px; padding:10px 12px; background:#f8f9ff; }
.adminv2-omra-city__head{ display:flex; gap:8px; align-items:center; justify-content:space-between; margin:0 0 10px; }
.adminv2-omra-city__head .adminv2-omra-city__title{ margin:0; display:flex; gap:6px; align-items:center; }
.adminv2-omra-nightsTotal{ font-size:12px; font-weight:800; color:var(--v2-primary-2); margin-top:8px; }
.adminv2-omra-nightsTotal.is-warning{ color:#b45309; }
.adminv2-omra-room.is-on{ border-color:#c7cbff; background:#eef2ff; }
.adminv2-omra-room__head{ cursor:pointer; }
.adminv2-omra-formula__num{ font-weight:900; font-size:12px; color:var(--v2-muted); white-space:nowrap; }
.adminv2-omra-formula__label{ min-width:220px; font-weight:900; }
.adminv2-omra-priceTable__group{ text-align:center; }
.adminv2-omra-dossierBox{ border-top:1px solid var(--v2-border); padding-top:14px; }
.adminv2-omra-invalid{ outline:2px solid #fca5a5; outline-offset:2px; border-radius:12px; }
.adminv2-omra-flash{ position:fixed; z-index:2000; bottom:90px; inset-inline-end:20px; max-width:420px; box-shadow:var(--v2-shadow); }

@media (max-width: 1100px){
  .adminv2-omra-modes--status{ grid-template-columns: repeat(3, minmax(0,1fr)); }
}
@media (max-width: 768px){
  .adminv2-omra-stepper{ grid-template-columns: repeat(4, minmax(0,1fr)); }
  .adminv2-omra-stepper__text{ display:none; }
  .adminv2-omra-stepper__btn{ justify-content:center; }
  .adminv2-omra-modes--2,
  .adminv2-omra-modes--status{ grid-template-columns: minmax(0,1fr); }
  .adminv2-omra-formula__label{ min-width:0; }
  .adminv2-omra-wizardFoot{ flex-wrap:wrap; }
}

/* ── Omra : couleurs et séparations visuelles (palette alignée sur l'ERP Manage) ── */
.adminv2-omra-tone--green { --omra-bg:#f0fdf4; --omra-border:#bbf7d0; --omra-fg:#15803d; }
.adminv2-omra-tone--blue  { --omra-bg:#eff6ff; --omra-border:#bfdbfe; --omra-fg:#1d4ed8; }
.adminv2-omra-tone--violet{ --omra-bg:#f5f3ff; --omra-border:#ddd6fe; --omra-fg:#7c3aed; }
.adminv2-omra-tone--sky   { --omra-bg:#f0f9ff; --omra-border:#bae6fd; --omra-fg:#0369a1; }
.adminv2-omra-tone--amber { --omra-bg:#fffbeb; --omra-border:#fde68a; --omra-fg:#b45309; }

.adminv2-omra-city[class*="adminv2-omra-tone--"]{ background:var(--omra-bg); border:1.5px solid var(--omra-border); border-radius:14px; padding:16px; }
.adminv2-omra-city[class*="adminv2-omra-tone--"] .adminv2-omra-city__title{ color:var(--omra-fg); font-size:14px; font-weight:900; }
.adminv2-omra-city[class*="adminv2-omra-tone--"] .adminv2-omra-city__head{ padding-bottom:10px; border-bottom:1px solid var(--omra-border); }
.adminv2-omra-city[class*="adminv2-omra-tone--"] .adminv2-input,
.adminv2-omra-city[class*="adminv2-omra-tone--"] .adminv2-select,
.adminv2-omra-city[class*="adminv2-omra-tone--"] .select2-container--default .select2-selection--single{ background:#fff; }
.adminv2-omra-city[class*="adminv2-omra-tone--"] .adminv2-badge{ background:#fff; border-color:var(--omra-border); color:var(--omra-fg); }
.adminv2-omra-cityGrid{ gap:18px; }

.adminv2-omra-stepHead{ display:flex; gap:12px; align-items:flex-start; margin:0 0 14px; }
.adminv2-omra-stepHead .adminv2-h2{ margin:2px 0 2px; }
.adminv2-omra-stepHead .adminv2-help{ margin:0; }
.adminv2-omra-chip{ flex:0 0 40px; height:40px; border-radius:12px; display:inline-flex; align-items:center; justify-content:center; background:var(--omra-bg); color:var(--omra-fg); border:1px solid var(--omra-border); }
.adminv2-omra-chip .adminv2-ico{ width:20px; height:20px; }

.adminv2-omra-formula{ border-width:1.5px; box-shadow:var(--v2-shadow); }
.adminv2-omra-formula__head{ background:linear-gradient(90deg, #eef2ff, #fff); border-radius:16px 16px 0 0; }
.adminv2-omra-formula__num{ background:var(--v2-primary); color:#fff; border-radius:999px; padding:3px 10px; font-size:11px; }
.adminv2-omra-formula__num:empty{ display:none; }
[data-omra-prices] .adminv2-omra-formula__head{ background:linear-gradient(90deg, #fffbeb, #fff); }
[data-omra-prices] .adminv2-omra-formula__num{ background:#b45309; }

.adminv2-omra-priceTable thead tr:first-child th:nth-child(2){ background:#eff6ff; color:#1d4ed8; }
.adminv2-omra-priceTable thead tr:first-child th:nth-child(3){ background:#fffbeb; color:#b45309; }

.adminv2-omra-kpi{ border-top:3px solid var(--v2-primary); }
.adminv2-omra-kpis .adminv2-omra-kpi:nth-child(2){ border-top-color:#16a34a; }
.adminv2-omra-kpis .adminv2-omra-kpi:nth-child(3){ border-top-color:#0369a1; }
.adminv2-omra-kpis .adminv2-omra-kpi:nth-child(4){ border-top-color:#b45309; }
.adminv2-omra-tripCard{ border-color:#bbf7d0; background:#f0fdf4; }
.adminv2-omra-tripCard .adminv2-omra-kpi__value{ color:#15803d; }
.adminv2-omra-nightsTotal{ display:inline-block; background:#eef2ff; border-radius:999px; padding:4px 12px; }
.adminv2-omra-nightsTotal:empty{ display:none; }
.adminv2-omra-nightsTotal.is-warning{ background:#fffbeb; }
.adminv2-omra-langCard{ border-inline-start:4px solid #f59e0b; }
.adminv2-omra-dossierBox{ background:#f8fafc; border:1px solid var(--v2-border); border-radius:14px; padding:14px; }

/* ── Omra : autocomplétion légère (même rendu que « Infos vol » du dossier ERP) ── */
.adminv2-omra-ac{ position:relative; }
.adminv2-omra-ac__dd{ display:none; position:absolute; top:calc(100% + 4px); inset-inline:0; z-index:1060; max-height:240px; overflow-y:auto; background:#fff; border:1.5px solid #e0e2f0; border-radius:10px; box-shadow:0 8px 24px rgba(17,24,39,.14); }
.adminv2-omra-ac__dd.is-open{ display:block; }
.adminv2-omra-ac__item{ display:flex; align-items:center; gap:10px; padding:9px 12px; cursor:pointer; font-size:13px; color:#2d3250; border-bottom:1px solid #f5f5f9; }
.adminv2-omra-ac__item:last-child{ border-bottom:none; }
.adminv2-omra-ac__item.is-active{ background:#f2f2ff; }
.adminv2-omra-ac__code{ flex-shrink:0; font-family:'Fira Mono', ui-monospace, monospace; font-size:12px; font-weight:700; background:var(--v2-primary); color:#fff; padding:2px 7px; border-radius:5px; direction:ltr; }
.adminv2-omra-ac__name{ flex:1; font-weight:700; }
.adminv2-omra-ac__sub{ font-size:11px; color:#a5aec1; }
.adminv2-omra-ac__empty{ padding:10px 12px; font-size:12px; color:#a5aec1; }

/* ── Omra : mode Cotation (étape « Coûts », grille de prix calculée) ── */
[data-omra-costs] .adminv2-omra-formula__head{ background:linear-gradient(90deg, #f0fdf4, #fff); }
[data-omra-costs] .adminv2-omra-formula__num{ background:#15803d; }
.adminv2-omra-muted{ font-weight:600; color:var(--v2-muted, #64748b); }
.adminv2-omra-hotelCosts{ display:grid; gap:10px; grid-template-columns:repeat(auto-fill, minmax(130px, 1fr)); }
.adminv2-omra-hotelCost{ display:flex; flex-direction:column; gap:4px; }
.adminv2-omra-hotelCost .adminv2-help.is-warning,
.adminv2-omra-costLine .adminv2-help.is-warning{ color:#b45309; font-weight:700; }
.adminv2-omra-costLine{ display:flex; gap:12px; align-items:flex-start; background:var(--omra-bg, #f8fafc); border:1.5px solid var(--omra-border, var(--v2-border)); border-radius:14px; padding:12px 14px; }
.adminv2-omra-costLine__icon{ flex:0 0 36px; height:36px; border-radius:10px; display:inline-flex; align-items:center; justify-content:center; background:#fff; color:var(--omra-fg, var(--v2-primary)); border:1px solid var(--omra-border, var(--v2-border)); }
.adminv2-omra-costLine__icon .adminv2-ico{ width:18px; height:18px; }
.adminv2-omra-costLine__body{ flex:1; min-width:0; display:flex; flex-direction:column; gap:8px; }
.adminv2-omra-costLine__row{ display:grid; gap:10px; grid-template-columns:repeat(6, minmax(0, 1fr)); align-items:end; }
.adminv2-omra-costLine__wide{ grid-column:span 2; }
.adminv2-omra-costLine .adminv2-input,
.adminv2-omra-costLine .adminv2-select{ background:#fff; }
.adminv2-omra-costLine__remove{ flex-shrink:0; }
.adminv2-omra-marginBar{ display:flex; flex-wrap:wrap; gap:10px; align-items:flex-end; background:#fffbeb; border:1px solid #fde68a; border-radius:12px; padding:10px 12px; margin-bottom:12px; }
.adminv2-omra-marginBar .adminv2-input{ width:140px; background:#fff; }
.adminv2-omra-marginBar .adminv2-help{ flex-basis:100%; margin:0; }
.adminv2-omra-priceTable .adminv2-input[readonly]{ background:#f1f5f9; color:#334155; font-weight:700; cursor:default; }
@media (max-width: 900px){
  .adminv2-omra-costLine__row{ grid-template-columns:repeat(2, minmax(0, 1fr)); }
  .adminv2-omra-costLine__wide{ grid-column:span 2; }
}
/* Assistant à 5 étapes (cotation : étape « Coûts » en plus). */
.adminv2-omra-stepper:has(> .adminv2-omra-stepper__item:nth-child(5)){ grid-template-columns: repeat(5, minmax(0,1fr)); }
