: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: 1200px;
  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: 1200px;
  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-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: 1240px;
  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);
}
.adminv2-modal .modal-header{
  border-bottom: 1px solid var(--v2-border);
  padding: 14px 16px;
}
.adminv2-modalTitle{
  font-weight: 900;
  font-size: 14px;
  margin: 0;
}
.adminv2-modal .modal-body{
  padding: 16px;
}
.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--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 .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 .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;
}

