/* ============================================================
   Ciphernest Consultancy Services — Theme Color Overrides
   Primary Gradient Start (Teal Blue): #00AABE  rgb(0, 170, 190)
   Primary Gradient End (Purple):      #8C3CFF  rgb(140, 60, 255)
   Accent Cyan:                        #00C8B4  rgb(0, 200, 180)
   Deep Purple:                        #5A28C8  rgb(90, 40, 200)
   Background Light:                   #F5F5F5  rgb(245, 245, 245)
   Text Dark:                          #282828  rgb(40, 40, 40)
   ============================================================ */

/* ── Primary Background ───────────────────────────────────── */
.bg-primary {
  background-color: #00AABE !important;
}
.bg-primary.bg-opacity-10 {
  background-color: rgba(0, 170, 190, 0.1) !important;
}
.bg-primary.bg-opacity-25 {
  background-color: rgba(0, 170, 190, 0.25) !important;
}
.bg-primary.bg-opacity-50 {
  background-color: rgba(0, 170, 190, 0.5) !important;
}
.bg-primary.bg-opacity-75 {
  background-color: rgba(0, 170, 190, 0.75) !important;
}
.bg-primary.bg-opacity-100 {
  background-color: #00AABE !important;
}

/* ── Primary Gradient ─────────────────────────────────────── */
.bg-primary-gradient {
  background: linear-gradient(to right, #00AABE 0%, #8C3CFF 100%) !important;
  color: #ffffff;
}

/* ── Primary Transparent ──────────────────────────────────── */
.bg-primary-transparent {
  background-color: rgba(0, 170, 190, 0.1) !important;
}
.bg-primary-transparent:hover {
  background-color: rgba(0, 170, 190, 0.2) !important;
}

/* ── Text Primary ─────────────────────────────────────────── */
.text-primary {
  color: #00AABE !important;
}
.text-primary.text-opacity-75 {
  color: rgba(0, 170, 190, 0.75) !important;
}
.text-primary.text-opacity-50 {
  color: rgba(0, 170, 190, 0.5) !important;
}
.text-primary.text-opacity-25 {
  color: rgba(0, 170, 190, 0.25) !important;
}
.text-primary-300 {
  color: #b3e8ef;
}

/* ── Text Orange → Ciphernest Accent ──────────────────────── */
.text-orange {
  color: #5A28C8 !important;
}

/* ── Buttons — Primary ────────────────────────────────────── */
.btn-primary {
  color: #ffffff;
  background-color: #00AABE;
  border-color: #00AABE;
}
.btn.btn-primary {
  color: #ffffff;
  background-color: #00AABE !important;
  border-color: #00AABE !important;
  box-shadow: 0 4px 20px rgba(0, 170, 190, 0.15);
}
.btn.btn-primary:hover,
.btn.btn-primary:focus,
.btn.btn-primary.focus,
.btn.btn-primary:active,
.btn.btn-primary.active {
  background-color: #009aab !important;
  border: 1px solid #009aab !important;
  box-shadow: 0 3px 10px rgba(0, 170, 190, 0.5);
  color: #ffffff !important;
}

/* ── Buttons — Outline Primary ────────────────────────────── */
.btn-outline-primary {
  border: 1px solid #00AABE !important;
  color: #00AABE !important;
}
.btn-outline-primary:hover,
.btn-outline-primary:focus,
.btn-outline-primary.focus,
.btn-outline-primary:active,
.btn-outline-primary.active {
  background-color: #00AABE !important;
  border: 1px solid #00AABE !important;
  box-shadow: 0 3px 10px rgba(0, 170, 190, 0.5);
  color: #ffffff !important;
}

/* ── Buttons — Save ───────────────────────────────────────── */
.btn-save {
  background: #00AABE;
}
.btn-save:hover {
  background: #009aab;
  color: #ffffff;
}

/* ── Sidebar — Active / Hover ─────────────────────────────── */
.sidebar .sidebar-menu > ul > li.active svg,
.settings-sidebar .sidebar-menu > ul > li.active svg {
  color: #00AABE;
}
.sidebar .sidebar-menu > ul > li > a:hover,
.settings-sidebar .sidebar-menu > ul > li > a:hover {
  background: rgba(0, 170, 190, 0.08);
  color: #00AABE;
}
.sidebar .sidebar-menu > ul > li > a:hover span,
.settings-sidebar .sidebar-menu > ul > li > a:hover span {
  color: #00AABE;
}
.sidebar .sidebar-menu > ul > li > a:hover svg,
.settings-sidebar .sidebar-menu > ul > li > a:hover svg {
  color: #00AABE;
}
.sidebar .sidebar-menu > ul > li > a.active,
.settings-sidebar .sidebar-menu > ul > li > a.active {
  background: rgba(0, 170, 190, 0.08);
  color: #00AABE;
}
.sidebar .sidebar-menu > ul > li > a.active span,
.settings-sidebar .sidebar-menu > ul > li > a.active span {
  color: #00AABE;
}
.sidebar .sidebar-menu > ul > li > a.active .menu-arrow,
.settings-sidebar .sidebar-menu > ul > li > a.active .menu-arrow {
  background: rgba(0, 170, 190, 0.12);
}
.sidebar .sidebar-menu > ul > li > a.active .menu-arrow::before,
.settings-sidebar .sidebar-menu > ul > li > a.active .menu-arrow::before {
  border-color: #00AABE;
}

/* Sidebar submenu active link */
.sidebar .sidebar-menu ul li ul li a.active {
  color: #00AABE;
}
.sidebar .sidebar-menu ul li.submenu ul li a:hover {
  color: #00AABE;
}

/* ── Links ────────────────────────────────────────────────── */
a.hover-a:hover,
a.hover-a {
  color: #00AABE;
}
a.text-primary:hover {
  color: #009aab !important;
}

/* ── Badge Primary ────────────────────────────────────────── */
.badge.bg-primary,
.badge-primary {
  background-color: #00AABE !important;
}
.badge.badge-soft-primary,
.bg-soft-primary {
  background-color: rgba(0, 170, 190, 0.1) !important;
  color: #00AABE !important;
}

/* ── Pagination Active ────────────────────────────────────── */
.page-item.active .page-link {
  background-color: #00AABE;
  border-color: #00AABE;
}
.page-link {
  color: #00AABE;
}
.page-link:hover {
  color: #009aab;
}

/* ── Form Controls — Focus ────────────────────────────────── */
.form-control:focus,
.form-select:focus {
  border-color: #00AABE;
  box-shadow: 0 0 0 0.2rem rgba(0, 170, 190, 0.15);
}

/* ── Progress Bar Primary ─────────────────────────────────── */
.progress-bar.bg-primary,
.progress-bar {
  background-color: #00AABE !important;
}

/* ── Nav Tabs Active ──────────────────────────────────────── */
.nav-tabs .nav-link.active {
  color: #00AABE;
  border-bottom-color: #00AABE;
}

/* ── Table Primary ────────────────────────────────────────── */
.table-primary {
  --bs-table-bg: rgba(0, 170, 190, 0.1);
  --bs-table-border-color: rgba(0, 170, 190, 0.05);
  --bs-table-striped-bg: rgba(0, 170, 190, 0.2);
  --bs-table-active-bg: rgba(0, 170, 190, 0.2);
  --bs-table-hover-bg: rgba(0, 170, 190, 0.2);
}

/* ── Logo Sizing (PNG override — original was SVG) ────────── */
.header .header-left .logo img {
  width: auto;
  max-width: 180px;
  max-height: 40px;
  object-fit: contain;
}
.sidebar .sidebar-logo .logo img {
  width: auto;
  max-width: 180px;
  max-height: 40px;
  object-fit: contain;
}
.logo-small img {
  width: 36px !important;
  height: 36px;
  object-fit: contain;
}

/* ── Login / Auth Pages ───────────────────────────────────── */
.login-wrapper .login-content .login-userset .login-logo img {
  max-height: 52px;
}
.login-wrapper .btn-primary {
  background-color: #00AABE;
  border-color: #00AABE;
}
.login-wrapper .btn-primary:hover {
  background-color: #009aab;
  border-color: #009aab;
}

/* ── Notification Dot ─────────────────────────────────────── */
.notification-status-dot {
  background-color: #00AABE;
}

/* ── Scrollbar Thumb ──────────────────────────────────────── */
::-webkit-scrollbar-thumb {
  background: #00AABE;
}

/* ── Selection ────────────────────────────────────────────── */
::selection {
  background: rgba(0, 170, 190, 0.25);
  color: #282828;
}

/* ── Border Primary ───────────────────────────────────────── */
.border-primary {
  border-color: #00AABE !important;
}

/* ── Alert Primary ────────────────────────────────────────── */
.alert-primary {
  background-color: rgba(0, 170, 190, 0.1);
  border-color: rgba(0, 170, 190, 0.2);
  color: #00AABE;
}

/* ── Whirly Loader ────────────────────────────────────────── */
div#global-loader .whirly-loader:not(:required) {
  box-shadow: 0 26px 0 6px #00AABE, 0.90971px 26.05079px 0 5.93333px #00AABE, 1.82297px 26.06967px 0 5.86667px #00AABE, 2.73865px 26.05647px 0 5.8px #00AABE, 3.65561px 26.01104px 0 5.73333px #00AABE, 4.57274px 25.93327px 0 5.66667px #00AABE, 5.48887px 25.8231px 0 5.6px #00AABE, 6.40287px 25.68049px 0 5.53333px #00AABE, 7.31358px 25.50548px 0 5.46667px #00AABE, 8.21985px 25.2981px 0 5.4px #00AABE, 9.12054px 25.05847px 0 5.33333px #00AABE, 10.01448px 24.78672px 0 5.26667px #00AABE, 10.90054px 24.48302px 0 5.2px #00AABE, 11.77757px 24.1476px 0 5.13333px #00AABE, 12.64443px 23.78072px 0 5.06667px #00AABE, 13.5px 23.38269px 0 5px #00AABE, 14.34315px 22.95384px 0 4.93333px #00AABE, 15.17277px 22.49455px 0 4.86667px #00AABE, 15.98776px 22.00526px 0 4.8px #00AABE, 16.78704px 21.48643px 0 4.73333px #00AABE, 17.56953px 20.93855px 0 4.66667px #00AABE, 18.33418px 20.36217px 0 4.6px #00AABE, 19.07995px 19.75787px 0 4.53333px #00AABE, 19.80582px 19.12626px 0 4.46667px #00AABE, 20.5108px 18.468px 0 4.4px #00AABE, 21.1939px 17.78379px 0 4.33333px #00AABE, 21.85416px 17.07434px 0 4.26667px #00AABE, 22.49067px 16.34043px 0 4.2px #00AABE, 23.10251px 15.58284px 0 4.13333px #00AABE, 23.68881px 14.80241px 0 4.06667px #00AABE, 24.24871px 14px 0 4px #00AABE, 24.7814px 13.1765px 0 3.93333px #00AABE, 25.28607px 12.33284px 0 3.86667px #00AABE, 25.76198px 11.46997px 0 3.8px #00AABE, 26.2084px 10.58888px 0 3.73333px #00AABE, 26.62462px 9.69057px 0 3.66667px #00AABE, 27.01001px 8.77608px 0 3.6px #00AABE, 27.36392px 7.84648px 0 3.53333px #00AABE, 27.68577px 6.90284px 0 3.46667px #00AABE, 27.97502px 5.94627px 0 3.4px #00AABE, 28.23116px 4.97791px 0 3.33333px #00AABE, 28.4537px 3.99891px 0 3.26667px #00AABE, 28.64223px 3.01042px 0 3.2px #00AABE, 28.79635px 2.01364px 0 3.13333px #00AABE, 28.91571px 1.00976px 0 3.06667px #00AABE, 29px 0 0 3px #00AABE, 29.04896px -1.01441px 0 2.93333px #00AABE, 29.06237px -2.03224px 0 2.86667px #00AABE, 29.04004px -3.05223px 0 2.8px #00AABE, 28.98185px -4.07313px 0 2.73333px #00AABE, 28.88769px -5.09368px 0 2.66667px #00AABE, 28.75754px -6.1126px 0 2.6px #00AABE, 28.59138px -7.12863px 0 2.53333px #00AABE, 28.38926px -8.14049px 0 2.46667px #00AABE, 28.15127px -9.1469px 0 2.4px #00AABE, 27.87755px -10.1466px 0 2.33333px #00AABE, 27.56827px -11.1383px 0 2.26667px #00AABE, 27.22365px -12.12075px 0 2.2px #00AABE, 26.84398px -13.09268px 0 2.13333px #00AABE, 26.42956px -14.05285px 0 2.06667px #00AABE, 25.98076px -15px 0 2px #00AABE, 25.49798px -15.93291px 0 1.93333px #00AABE, 24.98167px -16.85035px 0 1.86667px #00AABE, 24.43231px -17.75111px 0 1.8px #00AABE, 23.85046px -18.63402px 0 1.73333px #00AABE, 23.23668px -19.49789px 0 1.66667px #00AABE, 22.5916px -20.34157px 0 1.6px #00AABE, 21.91589px -21.16393px 0 1.53333px #00AABE, 21.21024px -21.96384px 0 1.46667px #00AABE, 20.4754px -22.74023px 0 1.4px #00AABE, 19.71215px -23.49203px 0 1.33333px #00AABE, 18.92133px -24.2182px 0 1.26667px #00AABE, 18.10379px -24.91772px 0 1.2px #00AABE, 17.26042px -25.58963px 0 1.13333px #00AABE, 16.39217px -26.23295px 0 1.06667px #00AABE, 15.5px -26.84679px 0 1px #00AABE, 14.58492px -27.43024px 0 0.93333px #00AABE, 13.64796px -27.98245px 0 0.86667px #00AABE, 12.69018px -28.50262px 0 0.8px #00AABE, 11.7127px -28.98995px 0 0.73333px #00AABE, 10.71663px -29.4437px 0 0.66667px #00AABE, 9.70313px -29.86317px 0 0.6px #00AABE, 8.67339px -30.2477px 0 0.53333px #00AABE, 7.6286px -30.59666px 0 0.46667px #00AABE, 6.57001px -30.90946px 0 0.4px #00AABE, 5.49886px -31.18558px 0 0.33333px #00AABE, 4.41643px -31.42451px 0 0.26667px #00AABE, 3.32401px -31.6258px 0 0.2px #00AABE, 2.22291px -31.78904px 0 0.13333px #00AABE, 1.11446px -31.91388px 0 0.06667px #00AABE, 0 -32px 0 0 #00AABE, -1.11911px -32.04713px 0 -0.06667px #00AABE, -2.24151px -32.05506px 0 -0.13333px #00AABE, -3.36582px -32.02361px 0 -0.2px #00AABE, -4.49065px -31.95265px 0 -0.26667px #00AABE, -5.61462px -31.84212px 0 -0.33333px #00AABE, -6.73634px -31.69198px 0 -0.4px #00AABE, -7.8544px -31.50227px 0 -0.46667px #00AABE, -8.9674px -31.27305px 0 -0.53333px #00AABE, -10.07395px -31.00444px 0 -0.6px #00AABE, -11.17266px -30.69663px 0 -0.66667px #00AABE, -12.26212px -30.34982px 0 -0.73333px #00AABE, -13.34096px -29.96429px 0 -0.8px #00AABE, -14.4078px -29.54036px 0 -0.86667px #00AABE, -15.46126px -29.07841px 0 -0.93333px #00AABE, -16.5px -28.57884px 0 -1px #00AABE, -17.52266px -28.04212px 0 -1.06667px #00AABE, -18.52792px -27.46878px 0 -1.13333px #00AABE, -19.51447px -26.85936px 0 -1.2px #00AABE, -20.48101px -26.21449px 0 -1.26667px #00AABE, -21.42625px -25.53481px 0 -1.33333px #00AABE, -22.34896px -24.82104px 0 -1.4px #00AABE, -23.2479px -24.07391px 0 -1.46667px #00AABE, -24.12186px -23.29421px 0 -1.53333px #00AABE, -24.96967px -22.48279px 0 -1.6px #00AABE, -25.79016px -21.64052px 0 -1.66667px #00AABE, -26.58223px -20.76831px 0 -1.73333px #00AABE, -27.34477px -19.86714px 0 -1.8px #00AABE, -28.07674px -18.938px 0 -1.86667px #00AABE, -28.7771px -17.98193px 0 -1.93333px #00AABE, -29.44486px -17px 0 -2px #00AABE, -30.07908px -15.99333px 0 -2.06667px #00AABE, -30.67884px -14.96307px 0 -2.13333px #00AABE, -31.24325px -13.91039px 0 -2.2px #00AABE, -31.7715px -12.83652px 0 -2.26667px #00AABE, -32.26278px -11.74269px 0 -2.33333px #00AABE, -32.71634px -10.63018px 0 -2.4px #00AABE, -33.13149px -9.5003px 0 -2.46667px #00AABE, -33.50755px -8.35437px 0 -2.53333px #00AABE, -33.84391px -7.19374px 0 -2.6px #00AABE, -34.14px -6.0198px 0 -2.66667px #00AABE, -34.39531px -4.83395px 0 -2.73333px #00AABE, -34.60936px -3.63759px 0 -2.8px #00AABE, -34.78173px -2.43218px 0 -2.86667px #00AABE, -34.91205px -1.21916px 0 -2.93333px #00AABE, -35px 0 0 -3px #00AABE, -35.04531px 1.22381px 0 -3.06667px #00AABE, -35.04775px 2.45078px 0 -3.13333px #00AABE, -35.00717px 3.6794px 0 -3.2px #00AABE, -34.92345px 4.90817px 0 -3.26667px #00AABE, -34.79654px 6.13557px 0 -3.33333px #00AABE, -34.62643px 7.36007px 0 -3.4px #00AABE, -34.41316px 8.58016px 0 -3.46667px #00AABE, -34.15683px 9.79431px 0 -3.53333px #00AABE, -33.85761px 11.001px 0 -3.6px #00AABE, -33.5157px 12.19872px 0 -3.66667px #00AABE, -33.13137px 13.38594px 0 -3.73333px #00AABE, -32.70493px 14.56117px 0 -3.8px #00AABE, -32.23675px 15.72291px 0 -3.86667px #00AABE, -31.72725px 16.86968px 0 -3.93333px #00AABE, -31.17691px 18px 0 -4px #00AABE, -30.58627px 19.11242px 0 -4.06667px #00AABE, -29.95589px 20.2055px 0 -4.13333px #00AABE, -29.28642px 21.27783px 0 -4.2px #00AABE, -28.57852px 22.32799px 0 -4.26667px #00AABE, -27.83295px 23.35462px 0 -4.33333px #00AABE, -27.05047px 24.35635px 0 -4.4px #00AABE, -26.23192px 25.33188px 0 -4.46667px #00AABE, -25.37819px 26.27988px 0 -4.53333px #00AABE, -24.49018px 27.1991px 0 -4.6px #00AABE, -23.56888px 28.0883px 0 -4.66667px #00AABE, -22.6153px 28.94626px 0 -4.73333px #00AABE, -21.6305px 29.77183px 0 -4.8px #00AABE, -20.61558px 30.56385px 0 -4.86667px #00AABE, -19.57168px 31.32124px 0 -4.93333px #00AABE, -18.5px 32.04294px 0 -5px #00AABE, -17.40175px 32.72792px 0 -5.06667px #00AABE, -16.27818px 33.37522px 0 -5.13333px #00AABE, -15.1306px 33.98389px 0 -5.2px #00AABE, -13.96034px 34.55305px 0 -5.26667px #00AABE, -12.76875px 35.08186px 0 -5.33333px #00AABE, -11.55724px 35.56951px 0 -5.4px #00AABE, -10.32721px 36.01527px 0 -5.46667px #00AABE, -9.08014px 36.41843px 0 -5.53333px #00AABE, -7.81748px 36.77835px 0 -5.6px #00AABE, -6.54075px 37.09443px 0 -5.66667px #00AABE, -5.25147px 37.36612px 0 -5.73333px #00AABE, -3.95118px 37.59293px 0 -5.8px #00AABE, -2.64145px 37.77443px 0 -5.86667px #00AABE, -1.32385px 37.91023px 0 -5.93333px #00AABE !important;
}


/* ── Table fills remaining viewport, only table rows scroll ── */
html:has(.card-table-vh),
html:has(.card-table-vh) body {
  height: 100vh;
  overflow: hidden;
}
.main-wrapper:has(.card-table-vh) {
  height: 100vh;
  overflow: hidden;
}
.main-wrapper:has(.card-table-vh) > .copyright-footer {
  display: none;
}
.page-wrapper:has(.card-table-vh) {
  height: calc(100vh - 55px) !important;
  min-height: 0 !important;
  overflow: hidden;
}
.page-wrapper:has(.card-table-vh) > .content {
  height: 100%;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}
.page-wrapper:has(.card-table-vh) > .content > *:not(.card-table-vh) {
  flex-shrink: 0;
}
.card-table-vh {
  flex: 1;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  margin-bottom: 0 !important;
}
.card-table-vh > .card-body {
  flex: 1;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  padding-bottom: 10px;
}
.card-table-vh > .card-body > .table-responsive {
  flex: 1;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.card-table-vh .dataTables_wrapper {
  flex: 1;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.card-table-vh .dataTables_wrapper > .row:nth-child(2) {
  flex: 1;
  overflow-y: auto;
}
.card-table-vh .dataTables_wrapper > .row:first-child {
  display: none;
}
.card-table-vh .dataTables_wrapper > .row:last-child {
  flex-shrink: 0;
  padding: 10px 0 5px;
}

/* ── Global: ensure table cards have enough height for dropdowns ── */
.card > .card-body > .table-responsive,
.card > .card-body.p-0 > .table-responsive {
  min-height: calc(100vh - 380px);
}

/* ── Header: role label comes from the role claims; keep long multi-role labels on one line ── */
.header .user-role {
  max-width: 220px;
}
