:root {
  --rc-bg: #0d1424;
  --rc-bg-2: #111a2e;
  --rc-surface: #15213a;
  --rc-surface-2: #1d2b4a;
  --rc-surface-3: #24365f;
  --rc-border: rgba(179, 196, 232, 0.22);
  --rc-text: #f5f7ff;
  --rc-muted: #a8b7da;
  --rc-accent: #f5c451;
  --rc-accent-text: #1a233a;
  --rc-blue: #76b7ff;
  --rc-danger: #aa3d4b;
  --rc-success: #1fb66f;
  --rc-warning: #f5c451;
  --rc-shadow: 0 14px 36px rgba(0, 0, 0, 0.3);
  --rc-shadow-soft: 0 8px 20px rgba(0, 0, 0, 0.2);
  --rc-glow-soft: 0 0 0 1px rgba(118, 183, 255, 0.16), 0 10px 26px rgba(7, 15, 34, 0.35), 0 0 22px rgba(118, 183, 255, 0.08);
  --rc-surface-grad: linear-gradient(150deg, rgba(34, 50, 85, 0.92) 0%, rgba(24, 36, 64, 0.95) 52%, rgba(17, 27, 49, 0.98) 100%);
  --rc-surface-grad-soft: linear-gradient(150deg, rgba(30, 45, 77, 0.9) 0%, rgba(22, 34, 59, 0.95) 100%);
  --rc-radius-lg: 16px;
  --rc-radius-md: 12px;
  --rc-radius-sm: 10px;
  --rc-elev-1: 0 10px 24px rgba(0, 0, 0, 0.22);
  --rc-topbar-height: 66px;
  --rc-content-max: 1780px;
  --rc-content-gutter: 20px;
}

html[data-theme="light"] {
  --rc-bg: #eef3fb;
  --rc-bg-2: #dfe8f6;
  --rc-surface: #ffffff;
  --rc-surface-2: #f5f8ff;
  --rc-surface-3: #edf3ff;
  --rc-border: rgba(35, 64, 111, 0.28);
  --rc-text: #16213a;
  --rc-muted: #3f5278;
  --rc-accent: #e8b93f;
  --rc-accent-text: #1a233a;
  --rc-blue: #1f67c5;
  --rc-shadow: 0 10px 24px rgba(18, 42, 83, 0.14);
  --rc-shadow-soft: 0 6px 16px rgba(18, 42, 83, 0.1);
  --rc-glow-soft: 0 0 0 1px rgba(63, 120, 205, 0.16), 0 12px 22px rgba(18, 42, 83, 0.1), 0 0 16px rgba(63, 120, 205, 0.08);
  --rc-surface-grad: linear-gradient(155deg, rgba(255, 255, 255, 0.98) 0%, rgba(245, 249, 255, 0.98) 60%, rgba(239, 246, 255, 1) 100%);
  --rc-surface-grad-soft: linear-gradient(155deg, rgba(251, 253, 255, 0.98) 0%, rgba(241, 247, 255, 0.98) 100%);
}

@font-face {
  font-family: "Gilroy-Light";
  font-style: normal;
  font-weight: normal;
  src: local("Gilroy-Light"), url("/AdminLTE/dist/css/Gilroy-Light.woff") format("woff");
}

body,
.content-wrapper,
.main-footer {
  background: var(--rc-bg) !important;
  color: var(--rc-text);
}

.wrapper .content-wrapper {
  min-height: calc(100vh - 114px) !important;
}

.content-wrapper > .content,
.content-header {
  padding-top: 16px;
  padding-left: 0;
  padding-right: 0;
}

/* Global admin canvas: keeps desktop pages from stretching edge-to-edge */
.content-wrapper .content > .container-fluid,
.content-header > .container-fluid {
  width: 100%;
  max-width: none;
  margin: 0 auto;
  padding-left: clamp(12px, 1.2vw, 24px);
  padding-right: clamp(12px, 1.2vw, 24px);
}

@media (min-width: 1600px) {
  .content-wrapper .content > .container-fluid,
  .content-header > .container-fluid {
    padding-left: clamp(18px, 1.35vw, 30px);
    padding-right: clamp(18px, 1.35vw, 30px);
  }
}

.content-wrapper .content > .container-fluid > .card,
.content-wrapper .content > .container-fluid > .section,
.content-wrapper .content > .container-fluid > .row > .col-12 > .card {
  margin-bottom: 18px;
}

.content-header .row {
  align-items: center;
}

.content-header h1 {
  margin-bottom: 0;
  font-size: clamp(1.45rem, 1.8vw, 2rem);
  font-weight: 700;
}

.card-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  flex-wrap: wrap;
  padding: 0.92rem 1.15rem !important;
}

.card-header > .btn,
.card-header .btn-group {
  margin-left: auto;
}

body {
  font-family: "Gilroy-Light", "Avenir Next", "Nunito Sans", sans-serif !important;
  letter-spacing: 0.1px;
}

body::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: -1;
  background:
    radial-gradient(680px 360px at 50% -12%, rgba(118, 183, 255, 0.11), transparent 62%),
    radial-gradient(900px 500px at 100% -10%, rgba(118, 183, 255, 0.12), transparent 60%),
    radial-gradient(700px 420px at 0% 0%, rgba(245, 196, 81, 0.08), transparent 56%),
    linear-gradient(180deg, #0f172b 0%, #0a1223 100%);
}

html[data-theme="light"] body::before {
  background:
    radial-gradient(780px 420px at 50% -12%, rgba(86, 146, 230, 0.16), transparent 62%),
    radial-gradient(900px 560px at 100% -10%, rgba(118, 183, 255, 0.14), transparent 60%),
    radial-gradient(720px 420px at 0% 0%, rgba(245, 196, 81, 0.08), transparent 56%),
    linear-gradient(180deg, #eef3fb 0%, #e6eefb 100%);
}

a {
  color: var(--rc-blue);
}

a:hover {
  color: #7dd4ff;
}

.main-header.navbar {
  background: rgba(17, 26, 46, 0.88) !important;
  backdrop-filter: blur(8px);
  border-bottom: 1px solid var(--rc-border) !important;
  height: var(--rc-topbar-height);
  min-height: var(--rc-topbar-height);
  padding: 0 12px !important;
}

.main-header .nav-link,
.main-header .navbar-nav .nav-link {
  color: var(--rc-text) !important;
  border-radius: 12px;
  transition: background 0.22s ease, color 0.22s ease, transform 0.22s ease;
}

.theme-toggle-btn {
  display: inline-flex !important;
  align-items: center;
  gap: 8px;
  border: 1px solid var(--rc-border);
  background: linear-gradient(160deg, rgba(53, 82, 133, 0.42), rgba(35, 55, 98, 0.42));
  min-height: 40px;
  padding: 8px 12px !important;
}

.theme-toggle-btn i {
  color: #7cc0ff;
}

.theme-toggle-btn span {
  color: var(--rc-text);
  font-size: 0.9rem;
  font-weight: 700;
  line-height: 1;
}

html[data-theme="light"] .theme-toggle-btn {
  background: linear-gradient(160deg, rgba(246, 250, 255, 0.95), rgba(233, 241, 252, 0.95));
}

@media (max-width: 768px) {
  .theme-toggle-btn span {
    display: none;
  }
}

.main-header .nav-link:hover {
  background: rgba(118, 183, 255, 0.12);
  transform: translateY(-1px);
}

.navbar-badge {
  background: #ff6b57 !important;
  color: #fff !important;
  border: 2px solid var(--rc-bg-2) !important;
}

#notificationIcon {
  position: relative;
  width: 40px;
  height: 40px;
  padding: 0 !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
}

#notificationIcon > i {
  font-size: 1.05rem;
  color: var(--rc-text) !important;
  opacity: 0.96;
  position: relative;
  z-index: 1;
}

#notificationIcon .navbar-badge {
  position: absolute;
  top: 2px;
  right: 1px;
  min-width: 18px;
  height: 18px;
  padding: 0 5px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 0.68rem;
  font-weight: 700;
  line-height: 1;
  z-index: 2;
  background: var(--rc-accent) !important;
  color: var(--rc-accent-text) !important;
  border: 2px solid rgba(13, 20, 36, 0.88) !important;
}

html[data-theme="light"] #notificationIcon .navbar-badge {
  border-color: rgba(230, 239, 253, 0.96) !important;
}

.main-sidebar {
  background: var(--rc-bg-2) !important;
  border-right: 1px solid rgba(118, 183, 255, 0.16);
  overflow-x: hidden !important;
}

.brand-link {
  background: var(--rc-bg-2) !important;
  border-bottom: 1px solid var(--rc-border) !important;
  text-align: center;
  height: var(--rc-topbar-height);
  min-height: var(--rc-topbar-height);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 10px;
}

.brand-text {
  color: var(--rc-text) !important;
}

.brand-link img {
  max-height: 58px;
  border-radius: 10px;
}

.brand-image.full-width {
  width: auto;
  max-height: 75px;
}

.nav-sidebar .nav-link {
  border-radius: 10px;
  margin: 4px 0;
  color: var(--rc-muted) !important;
  border: 1px solid var(--rc-border);
  background: transparent;
  transition: all 0.2s ease;
}

.nav-sidebar {
  padding-left: 10px !important;
  padding-right: 10px !important;
}

.nav-sidebar .nav-item {
  width: 100%;
}

.nav-sidebar .nav-item > .nav-link {
  width: 100%;
  box-sizing: border-box;
}

.nav-sidebar .nav-link:hover {
  background: var(--rc-surface-2) !important;
  border-color: var(--rc-blue);
  color: var(--rc-text) !important;
}

.nav-sidebar .nav-link.active {
  background: var(--rc-accent) !important;
  color: var(--rc-accent-text) !important;
  font-weight: 700;
}

.no-scroll-sidebar {
  display: flex;
  flex-direction: column;
  height: calc(100vh - var(--rc-topbar-height));
  overflow-x: hidden !important;
  overflow-y: hidden !important;
}

.sidebar-nav-wrap {
  flex: 1 1 auto;
  min-height: 0;
  overflow-x: visible !important;
  overflow-y: hidden !important;
}

.sidebar-nav-wrap .nav-sidebar {
  overflow-x: visible !important;
}

.brand-link-textonly {
  display: flex;
  align-items: center;
  justify-content: center;
}

.brand-link-textonly .brand-text {
  display: block;
  max-width: 100%;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.sidebar-bottom-logo {
  flex: 0 0 auto;
  border-top: 1px solid var(--rc-border);
  padding: 10px 12px 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

.sidebar-logo-image {
  display: block;
  width: 100%;
  max-width: 170px;
  max-height: 64px;
  object-fit: contain;
  border-radius: 8px;
  background: transparent;
}

body,
.wrapper,
.content-wrapper {
  overflow-x: hidden !important;
}

.card,
.section,
.login-card-body,
.dropdown-menu,
.modal-content {
  background: var(--rc-surface-grad) !important;
  color: var(--rc-text) !important;
  border: 1px solid var(--rc-border) !important;
  border-radius: var(--rc-radius-lg) !important;
  box-shadow: var(--rc-glow-soft);
  position: relative;
}

.card {
  overflow: hidden;
}

.card::before,
.section::before,
.modal-content::before,
.dropdown-menu::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  border-radius: inherit;
  background: radial-gradient(540px 180px at 20% -16%, rgba(118, 183, 255, 0.12), transparent 66%);
  opacity: 0.8;
}

.card-header .h1,
.card-header .h2,
.card-header .h3,
.card-header .h4,
.card-header h1,
.card-header h2,
.card-header h3,
.card-header h4,
.card-header .card-title {
  margin: 0 !important;
  font-weight: 700;
}

.card-header,
.card-footer {
  background: var(--rc-surface-grad-soft) !important;
  border-bottom-color: var(--rc-border) !important;
  color: var(--rc-text) !important;
}

.card-body {
  padding: 1rem 1.15rem !important;
}

.card-header {
  border-bottom: 1px solid var(--rc-border) !important;
}

.content-header h1,
.content-header h2,
h1,
h2,
h3,
h4 {
  color: var(--rc-text);
  letter-spacing: 0.24px;
}

.page-title-with-icon {
  display: inline-flex;
  align-items: center;
  gap: 10px;
}

.page-back-link {
  width: 42px;
  height: 42px;
  border-radius: 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(160deg, rgba(52, 75, 124, 0.95), rgba(31, 48, 82, 0.95));
  border: 1px solid rgba(118, 183, 255, 0.4);
  color: #79bcff !important;
  font-size: 1.05rem;
  text-decoration: none !important;
  box-shadow: 0 8px 18px rgba(8, 20, 48, 0.36);
}

.page-back-link:hover {
  color: #9fd2ff !important;
  transform: translateY(-1px);
}

.page-title-icon {
  width: 42px;
  height: 42px;
  border-radius: 14px;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  background: linear-gradient(160deg, rgba(52, 75, 124, 0.95), rgba(31, 48, 82, 0.95));
  border: 1px solid rgba(118, 183, 255, 0.4);
  color: #79bcff;
  font-size: 1.05rem;
  box-shadow: 0 8px 18px rgba(8, 20, 48, 0.36);
}

.content-header h1 > i:first-child {
  width: 42px;
  height: 42px;
  border-radius: 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(160deg, rgba(52, 75, 124, 0.95), rgba(31, 48, 82, 0.95));
  border: 1px solid rgba(118, 183, 255, 0.4);
  color: #79bcff;
  font-size: 1.05rem;
  margin-right: 10px;
  vertical-align: middle;
  box-shadow: 0 8px 18px rgba(8, 20, 48, 0.36);
}

.text-muted,
.small,
.breadcrumb-item,
.table td,
.table th,
label {
  color: var(--rc-muted) !important;
}

.text-primary {
  color: var(--rc-text) !important;
}

.table thead th {
  background: var(--rc-surface-2) !important;
  border-bottom: 1px solid var(--rc-border) !important;
  color: var(--rc-text) !important;
  text-transform: uppercase;
  letter-spacing: 0.3px;
  font-size: 12px;
  font-weight: 700;
}

.table-responsive {
  border: 1px solid var(--rc-border);
  border-radius: 14px;
  background: linear-gradient(150deg, rgba(22, 34, 60, 0.72), rgba(16, 25, 45, 0.82));
  box-shadow: inset 0 1px 0 rgba(118, 183, 255, 0.06), 0 8px 18px rgba(5, 12, 29, 0.26);
  padding-bottom: 6px;
}

.table thead th {
  position: sticky;
  top: 0;
  z-index: 2;
}

.table-bordered,
.table-bordered td,
.table-bordered th {
  border-color: rgba(54, 84, 134, 0.45) !important;
}

.table td,
.table th {
  border-top: 1px solid rgba(54, 84, 134, 0.45) !important;
  background: transparent !important;
  vertical-align: middle !important;
  white-space: normal;
  word-break: normal;
  overflow-wrap: normal;
  font-size: 0.96rem;
  line-height: 1.35;
  padding: 0.82rem 0.95rem !important;
}

.table th {
  white-space: nowrap;
}

.table td:last-child,
.table td.text-center,
.table td.actions {
  white-space: nowrap;
}

/* Keep date/time values readable in one line across all admin tables */
.table th.rc-col-date,
.table td.rc-col-date,
.table th.rc-col-time,
.table td.rc-col-time,
.table th.rc-col-datetime,
.table td.rc-col-datetime {
  white-space: nowrap !important;
  word-break: keep-all !important;
  overflow-wrap: normal !important;
}

.table th.rc-col-date,
.table td.rc-col-date,
.table th.rc-col-datetime,
.table td.rc-col-datetime {
  min-width: 132px;
}

.table th.rc-col-time,
.table td.rc-col-time {
  min-width: 108px;
}

.table-responsive {
  overflow-x: auto !important;
  overflow-y: visible;
}

.dataTables_wrapper .table {
  width: 100% !important;
  margin-bottom: 0;
  margin-top: 6px;
}

.dataTables_wrapper {
  width: 100%;
}

.dataTables_wrapper .dataTables_filter input {
  min-width: 220px;
  max-width: 100%;
}

.dataTables_wrapper .row {
  margin-left: 0;
  margin-right: 0;
}

.dataTables_wrapper .row:first-child {
  padding-top: 10px;
  padding-bottom: 8px;
  margin-bottom: 6px;
}

.card-body .dataTables_wrapper {
  padding: 14px 14px 10px;
}

.card-body .table-responsive > .dataTables_wrapper {
  padding: 14px 14px 10px;
}

.card-body .dataTables_wrapper .dataTables_info {
  padding-top: 12px;
}

.card-body .dataTables_wrapper .dataTables_paginate {
  margin-top: 8px;
  padding-top: 4px;
}

.table tbody tr {
  transition: background 0.2s ease;
}

.table tbody tr:hover {
  background: rgba(118, 183, 255, 0.08) !important;
}

.table tbody tr:nth-of-type(odd),
.table-striped tbody tr:nth-of-type(odd) {
  background: rgba(29, 43, 74, 0.6) !important;
}

.table tbody tr:nth-of-type(even),
.table-striped tbody tr:nth-of-type(even) {
  background: rgba(22, 34, 59, 0.52) !important;
}

.form-control,
.custom-select,
.select2-selection,
.input-group-text {
  background: linear-gradient(150deg, rgba(41, 61, 101, 0.88), rgba(29, 44, 76, 0.92)) !important;
  color: var(--rc-text) !important;
  border: 1px solid var(--rc-border) !important;
  border-radius: 12px !important;
  min-height: 42px;
  box-shadow: inset 0 1px 0 rgba(140, 181, 255, 0.08);
}

.admin-form .form-group {
  margin-bottom: 14px;
}

.admin-form .row {
  margin-left: -8px;
  margin-right: -8px;
}

.admin-form .row > [class*="col-"] {
  padding-left: 8px;
  padding-right: 8px;
}

.admin-form-actions {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 10px;
  margin-top: 8px;
}

.form-control:focus,
.custom-select:focus {
  border-color: var(--rc-accent) !important;
  box-shadow: 0 0 0 0.2rem rgba(242, 193, 78, 0.2) !important;
}

.form-control::placeholder {
  color: #8ea0c9 !important;
  opacity: 1;
}

.btn-primary {
  background: var(--rc-accent) !important;
  border-color: var(--rc-accent) !important;
  color: var(--rc-accent-text) !important;
  font-weight: 700;
  border-radius: 12px !important;
  box-shadow: 0 8px 20px rgba(245, 196, 81, 0.24);
  transition: transform 0.2s ease, box-shadow 0.2s ease, filter 0.2s ease;
}

.btn-primary:hover {
  filter: brightness(1.05);
  transform: translateY(-1px);
  box-shadow: 0 10px 24px rgba(245, 196, 81, 0.3);
}

a:focus-visible,
button:focus-visible,
.btn:focus-visible,
.form-control:focus-visible,
.nav-link:focus-visible {
  outline: 2px solid rgba(245, 196, 81, 0.72) !important;
  outline-offset: 2px;
}

.btn-secondary,
.btn-default {
  background: var(--rc-surface-2) !important;
  border-color: var(--rc-border) !important;
  color: var(--rc-text) !important;
  border-radius: 12px !important;
  transition: transform 0.2s ease, background 0.2s ease;
}

.btn-secondary:hover,
.btn-default:hover {
  background: var(--rc-surface-3) !important;
  transform: translateY(-1px);
}

.btn-danger {
  background: var(--rc-danger) !important;
  border-color: var(--rc-danger) !important;
  box-shadow: 0 8px 20px rgba(170, 61, 75, 0.22);
}

.btn-warning {
  background: var(--rc-accent) !important;
  border-color: var(--rc-accent) !important;
  color: var(--rc-accent-text) !important;
}

/* Standardized table action buttons (Edit/Delete) */
.table td .btn.rc-table-action,
.table td a.btn.rc-table-action {
  border-radius: 10px !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-height: 34px;
  padding: 6px 12px;
  font-weight: 700;
  border: 1px solid transparent !important;
  box-shadow: none !important;
  white-space: nowrap;
  transition: transform 0.12s ease, filter 0.12s ease;
}

.table td .btn.rc-table-action:hover,
.table td a.btn.rc-table-action:hover {
  transform: translateY(-1px);
  filter: brightness(1.03);
}

.table td .btn.rc-table-action i,
.table td a.btn.rc-table-action i {
  font-size: 0.85rem;
  line-height: 1;
}

.table td .btn.rc-table-action-edit,
.table td a.btn.rc-table-action-edit {
  background: var(--rc-accent) !important;
  border-color: var(--rc-accent) !important;
  color: var(--rc-accent-text) !important;
}

.btn.rc-table-action-delete,
a.btn.rc-table-action-delete {
  background: #b84a5a !important;
  border-color: #b84a5a !important;
  color: #fff !important;
}

.btn.rc-table-action-delete:hover,
a.btn.rc-table-action-delete:hover {
  background: #c45566 !important;
  border-color: #c45566 !important;
  color: #fff !important;
}

.btn.rc-table-action-approve,
a.btn.rc-table-action-approve {
  background: var(--rc-success) !important;
  border-color: var(--rc-success) !important;
  color: #fff !important;
}

.btn.rc-table-action-deny,
a.btn.rc-table-action-deny {
  background: var(--rc-danger) !important;
  border-color: var(--rc-danger) !important;
  color: #fff !important;
}

.btn-outline-primary {
  border-color: var(--rc-blue) !important;
  color: var(--rc-blue) !important;
  border-radius: 12px !important;
  background: linear-gradient(150deg, rgba(31, 49, 85, 0.7), rgba(24, 40, 69, 0.78)) !important;
  box-shadow: 0 6px 14px rgba(7, 16, 38, 0.22);
}

.btn-outline-primary:hover,
.btn-outline-primary.active {
  background: var(--rc-surface-3) !important;
  border-color: var(--rc-accent) !important;
  color: var(--rc-text) !important;
}

.btn-success {
  background: var(--rc-success) !important;
  border-color: var(--rc-success) !important;
  border-radius: 12px !important;
}

.badge-warning {
  background: var(--rc-accent) !important;
  color: var(--rc-accent-text) !important;
}

.badge,
.status {
  border-radius: 999px !important;
  font-weight: 700;
}

.status.approved {
  background: #28a745 !important;
  color: #fff !important;
}

.status.pending {
  background: #d97706 !important;
  color: #fff !important;
}

.status.denied,
.status.deny {
  background: #dc3545 !important;
  color: #fff !important;
}

.alert-warning {
  background: rgba(242, 193, 78, 0.2) !important;
  border-color: var(--rc-accent) !important;
  color: #ffe8a9 !important;
}

.alert-success {
  background: rgba(52, 182, 255, 0.2) !important;
  border-color: var(--rc-blue) !important;
  color: #bfe8ff !important;
}

.dropdown-item {
  color: var(--rc-text) !important;
  border-radius: 8px;
  margin: 2px 4px;
  width: calc(100% - 8px);
}

.dropdown-item:hover {
  background: rgba(52, 182, 255, 0.15) !important;
}

.dropdown-divider {
  border-top-color: rgba(54, 84, 134, 0.45) !important;
}

.dataTables_wrapper .dataTables_filter input,
.dataTables_wrapper .dataTables_length select {
  background: var(--rc-surface-2) !important;
  color: var(--rc-text) !important;
  border: 1px solid var(--rc-border) !important;
  border-radius: 10px !important;
  padding: 5px 10px !important;
}

.dataTables_wrapper .dataTables_filter,
.dataTables_wrapper .dataTables_length {
  margin-bottom: 10px;
}

.dataTables_wrapper .dataTables_filter input {
  height: 40px;
}

.dataTables_wrapper .dataTables_paginate .paginate_button {
  margin: 0 2px !important;
}

.dataTables_wrapper .dataTables_filter label,
.dataTables_wrapper .dataTables_length label {
  color: var(--rc-muted) !important;
  font-weight: 600;
}

.dataTables_wrapper .dataTables_info,
.dataTables_wrapper .dataTables_paginate {
  color: var(--rc-muted) !important;
}

.dataTables_wrapper .paginate_button .page-link {
  background: var(--rc-surface-2) !important;
  border-color: rgba(54, 84, 134, 0.45) !important;
  color: var(--rc-text) !important;
  border-radius: 10px !important;
}

.select2-container--default .select2-selection--single,
.select2-container--default .select2-selection--multiple {
  background: var(--rc-surface-2) !important;
  border: 1px solid var(--rc-border) !important;
  border-radius: 12px !important;
  min-height: 42px;
}

.select2-container {
  width: 100% !important;
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
  color: var(--rc-text) !important;
  line-height: 40px !important;
}

.select2-container--default .select2-selection--single .select2-selection__arrow {
  height: 40px !important;
}

.select2-container--default .select2-selection--single .select2-selection__arrow b {
  border-color: #8ea0c9 transparent transparent transparent !important;
}

.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b {
  border-color: transparent transparent #8ea0c9 transparent !important;
}

.select2-dropdown {
  background: var(--rc-surface) !important;
  border: 1px solid var(--rc-border) !important;
  border-radius: 10px !important;
  box-shadow: var(--rc-shadow-soft);
}

.select2-results__option {
  color: var(--rc-text) !important;
}

.select2-container--default .select2-results__option--selected {
  background: rgba(118, 183, 255, 0.2) !important;
  color: var(--rc-text) !important;
}

.select2-container--default .select2-results__option--highlighted.select2-results__option--selectable {
  background: rgba(245, 196, 81, 0.24) !important;
  color: #f5f7ff !important;
}

.select2-container--default .select2-search--dropdown .select2-search__field {
  background: var(--rc-surface-2) !important;
  color: var(--rc-text) !important;
  border: 1px solid var(--rc-border) !important;
  border-radius: 8px !important;
}

.select2-container--default .select2-selection--multiple .select2-selection__choice {
  background: rgba(118, 183, 255, 0.2) !important;
  border: 1px solid rgba(118, 183, 255, 0.45) !important;
  color: #d7e0f7 !important;
  border-radius: 999px !important;
}

.page-item.active .page-link {
  background: var(--rc-accent) !important;
  border-color: var(--rc-accent) !important;
  color: var(--rc-accent-text) !important;
}

.notification-item {
  position: relative;
}

.notification-remove {
  position: absolute;
  top: 0;
  right: 8px;
}

.notification-remove .fa-times::before {
  font-size: 13px;
  color: var(--rc-danger);
}

.view-all {
  text-align: center;
}

.view-all a {
  color: var(--rc-blue) !important;
}

.login-page {
  background: var(--rc-bg) !important;
}

.login-logo,
.login-box-msg {
  color: var(--rc-text) !important;
}

.login-box .card {
  border-radius: 16px !important;
}

.login-box .btn-primary {
  border-radius: 10px;
}

#loader .spinner {
  border: 8px solid rgba(54, 84, 134, 0.35) !important;
  border-top: 8px solid var(--rc-accent) !important;
}

/* Off-day calendar */
.calendar {
  background: var(--rc-surface) !important;
  border: 1px solid var(--rc-border) !important;
  border-radius: 18px !important;
  box-shadow: 0 16px 36px rgba(0, 0, 0, 0.24);
}

.controls .button,
#prev-month,
#next-month {
  background: var(--rc-accent) !important;
  color: var(--rc-accent-text) !important;
  border: none !important;
  border-radius: 8px !important;
}

#calendar-header,
#calendar-content {
  background: transparent !important;
  color: var(--rc-text) !important;
}

.day-header,
.date-range {
  color: var(--rc-text) !important;
}

.day-cell,
.day {
  border-color: rgba(54, 84, 134, 0.4) !important;
  background: rgba(29, 43, 74, 0.55) !important;
  color: var(--rc-text) !important;
}

.day.empty {
  background: rgba(29, 43, 74, 0.22) !important;
}

/* Mobiscroll schedule */
.mbsc-ios.mbsc-page,
.mbsc-page,
.mbsc-popup,
.mbsc-calendar {
  background: var(--rc-surface) !important;
  color: var(--rc-text) !important;
}

.mbsc-button {
  border-radius: 8px !important;
}

.main-footer {
  border-top: 1px solid var(--rc-border) !important;
  color: var(--rc-muted) !important;
  background: rgba(17, 26, 46, 0.82) !important;
  backdrop-filter: blur(6px);
  font-size: 0.85rem !important;
  line-height: 1.25;
}

.main-footer strong {
  color: #d7e0f7;
  font-size: 0.85rem !important;
  font-weight: 600;
}

.main-footer a,
.main-footer .float-right {
  font-size: 0.85rem !important;
}

.main-footer .float-right b {
  font-weight: 600;
}

/* App-like chips, filter bars, and segmented controls */
.btn-group .btn,
.nav-pills .nav-link,
.badge-pill {
  border-radius: 999px !important;
}

.btn-group .btn:not(.active):not(.btn-primary) {
  background: var(--rc-surface-2) !important;
  border-color: var(--rc-border) !important;
  color: var(--rc-muted) !important;
}

.btn-group .btn.active,
.btn-group .btn.btn-primary,
.nav-pills .nav-link.active {
  background: var(--rc-accent) !important;
  border-color: var(--rc-accent) !important;
  color: var(--rc-accent-text) !important;
}

/* Dashboard cards parity with app */
.dashboard-grid .card {
  background: var(--rc-surface) !important;
  border: 1px solid var(--rc-border) !important;
}

.dashboard-grid .card .heading i {
  color: var(--rc-blue) !important;
}

.dashboard-grid .card .heading h3,
.dashboard-grid .card p {
  color: var(--rc-text) !important;
}

.admin-quick-actions {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  gap: 10px;
  width: 100%;
}

.admin-quick-actions .btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  min-height: 44px;
}

.section hr,
hr {
  border-top: 1px solid var(--rc-border) !important;
}

.content-header .h4,
.card-title {
  color: var(--rc-text) !important;
}

/* Consistency pass: section headings + small controls */
.section > h2 {
  color: #edf4ff !important;
  font-weight: 700;
  letter-spacing: 0.2px;
  margin-bottom: 12px;
}

.section > h2 i {
  width: 42px;
  height: 42px;
  border-radius: 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-right: 8px;
  color: #79bcff !important;
  background: linear-gradient(160deg, rgba(52, 75, 124, 0.95), rgba(31, 48, 82, 0.95));
  border: 1px solid rgba(118, 183, 255, 0.4);
  box-shadow: 0 8px 18px rgba(8, 20, 48, 0.36);
}

.btn-sm,
.form-control-sm {
  border-radius: 10px !important;
}

.content-wrapper > .content {
  padding-bottom: 28px;
}

.avatar,
.profile-img,
.employee-avatar,
.mds-employee-shifts-avatar,
.profile-avatar {
  width: 40px;
  height: 40px;
  border-radius: 999px;
  object-fit: cover;
  object-position: center;
  display: inline-block;
  flex-shrink: 0;
}

img.avatar,
img.profile-img,
img.employee-avatar,
img.mds-employee-shifts-avatar,
img.profile-avatar {
  aspect-ratio: 1 / 1;
}

.content-header h1 {
  font-size: 1.6rem;
  font-weight: 700;
}

.badge {
  padding: 0.42em 0.72em !important;
  letter-spacing: 0.2px;
}

.badge.bg-success,
.badge-success {
  background: var(--rc-success) !important;
}

.badge.bg-danger,
.badge-danger {
  background: var(--rc-danger) !important;
}

.badge.bg-warning,
.badge-warning {
  background: var(--rc-warning) !important;
  color: #1a233a !important;
}

/* ------------------------------------------------------------------
   Global status + action control standardization
------------------------------------------------------------------- */
:root {
  --rc-action-btn-height: 42px;
  --rc-action-btn-min-width: 118px;
  --rc-action-btn-icon-size: 0.95rem;
}

.content .table td .badge:not(.navbar-badge):not(.notification-badge):not(.badge-counter),
.content .table td .status,
.content .status-pill,
.content .status-pill-pending,
.content .status-pill-approved,
.content .status-pill-denied {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  font-size: 0.96rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.2px;
  line-height: 1.1 !important;
  padding: 0.48rem 0.85rem !important;
  min-height: 36px;
  border-radius: 999px !important;
  text-transform: uppercase;
  white-space: nowrap;
}

.content .table td .badge.bg-success:not(.navbar-badge):not(.notification-badge)::before,
.content .table td .badge-success:not(.navbar-badge):not(.notification-badge)::before,
.content .status.approved::before,
.content .status.completed::before,
.content .status-pill-approved::before {
  content: "\f00c";
  font-family: "Font Awesome 6 Free", "Font Awesome 5 Free";
  font-weight: 900;
  font-size: 0.78em;
}

.content .table td .badge.bg-warning:not(.navbar-badge):not(.notification-badge)::before,
.content .table td .badge-warning:not(.navbar-badge):not(.notification-badge)::before,
.content .status.pending::before,
.content .status.on-hold::before,
.content .status-pill-pending::before {
  content: "\f017";
  font-family: "Font Awesome 6 Free", "Font Awesome 5 Free";
  font-weight: 900;
  font-size: 0.78em;
}

.content .table td .badge.bg-danger:not(.navbar-badge):not(.notification-badge)::before,
.content .table td .badge-danger:not(.navbar-badge):not(.notification-badge)::before,
.content .status.denied::before,
.content .status.deny::before,
.content .status.declined::before,
.content .status-pill-denied::before {
  content: "\f05e";
  font-family: "Font Awesome 6 Free", "Font Awesome 5 Free";
  font-weight: 900;
  font-size: 0.8em;
}

.content .table td .btn.rc-table-action,
.content .table td a.btn.rc-table-action,
.content .table td:last-child .btn,
.content .table td:last-child a.btn,
.content .request-card-actions .btn,
.content .user-actions .btn,
.content .action-btn {
  min-height: var(--rc-action-btn-height) !important;
  height: var(--rc-action-btn-height) !important;
  min-width: var(--rc-action-btn-min-width) !important;
  padding: 0 14px !important;
  border-radius: 12px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  white-space: nowrap;
}

.content .table td .btn.rc-table-action i,
.content .table td a.btn.rc-table-action i,
.content .table td:last-child .btn i,
.content .table td:last-child a.btn i,
.content .request-card-actions .btn i,
.content .user-actions .btn i,
.content .action-btn i {
  font-size: var(--rc-action-btn-icon-size) !important;
  line-height: 1;
}

.content .table td .btn.rc-table-action.rc-icon-only,
.content .table td a.btn.rc-table-action.rc-icon-only,
.content .table td:last-child .btn.rc-icon-only,
.content .table td:last-child a.btn.rc-icon-only,
.content .request-card-actions .btn.rc-icon-only,
.content .action-btn.rc-icon-only {
  min-width: var(--rc-action-btn-height) !important;
  width: var(--rc-action-btn-height) !important;
  padding: 0 !important;
}

.modal-header,
.modal-footer {
  border-color: rgba(118, 183, 255, 0.16) !important;
}

.modal-title {
  font-weight: 700;
}

.modal-dialog {
  max-width: min(840px, 96vw);
}

.modal-content {
  box-shadow: var(--rc-shadow);
}

.modal-header .btn-close,
.close {
  color: #a8b7da !important;
  opacity: 0.85;
  text-shadow: none;
}

.modal-body {
  padding: 1rem 1.2rem;
}

.modal-footer {
  padding: 0.9rem 1.2rem;
}

/* Off-day modal system (month/week/year) */
.offday-popup {
  border-radius: 18px !important;
  border: 1px solid rgba(118, 183, 255, 0.3) !important;
  background: linear-gradient(150deg, rgba(29, 43, 74, 0.98), rgba(21, 33, 58, 0.98)) !important;
  box-shadow: 0 20px 40px rgba(4, 10, 24, 0.5) !important;
}

.offday-popup .modal-header,
.offday-popup .modal-footer {
  border-color: rgba(118, 183, 255, 0.24) !important;
}

.offday-popup .modal-title {
  color: #f4f8ff !important;
  font-size: 1.9rem;
  font-weight: 700;
  letter-spacing: 0.2px;
}

.offday-popup .form-label {
  color: #bcd0f5 !important;
  font-size: 1rem;
  font-weight: 600;
  margin-bottom: 8px;
}

.offday-popup .modal-input,
.offday-popup .form-select.modal-input,
.offday-popup .form-control.modal-input,
.offday-popup #deleteuser,
.offday-popup #copy_users {
  min-height: 56px;
  border-radius: 16px !important;
  border: 1px solid rgba(118, 183, 255, 0.34) !important;
  background: #22335a !important;
  color: #f1f6ff !important;
  box-shadow: none !important;
}

.offday-popup .modal-input::placeholder,
.offday-popup textarea.modal-input::placeholder {
  color: #9eb3dc !important;
  opacity: 1;
}

.offday-popup .modal-input:focus,
.offday-popup #deleteuser:focus,
.offday-popup #copy_users:focus {
  border-color: #76b7ff !important;
  box-shadow: 0 0 0 0.18rem rgba(118, 183, 255, 0.22) !important;
}

.offday-popup .modal-input-multi,
.offday-popup #deleteuser,
.offday-popup #copy_users {
  min-height: 140px !important;
  padding: 10px 12px;
}

.offday-popup .modal-input-multi option,
.offday-popup #deleteuser option,
.offday-popup #copy_users option {
  padding: 6px 8px;
  color: #f1f6ff;
  background: #22335a;
}

.offday-popup .popup-close-btn,
.offday-popup .btnadd-close,
.offday-popup .btnview-close,
.offday-popup .btndelete-close {
  min-width: 124px;
  border-radius: 14px !important;
  border: 1px solid rgba(118, 183, 255, 0.36) !important;
  background: #273a64 !important;
  color: #e7efff !important;
  font-weight: 700;
  padding: 10px 18px;
}

.offday-popup .popup-close-btn:hover,
.offday-popup .btnadd-close:hover,
.offday-popup .btnview-close:hover,
.offday-popup .btndelete-close:hover {
  border-color: rgba(245, 196, 81, 0.75) !important;
  color: #f9fbff !important;
}

/* Legacy custom popup modal used by doctor notes */
#myModal {
  position: fixed;
  inset: 0;
  z-index: 1060;
  background: rgba(5, 10, 22, 0.72);
  backdrop-filter: blur(2px);
}

#myModal .modal-content {
  max-width: min(900px, 94vw);
  margin: 5vh auto;
  border-radius: var(--rc-radius-lg) !important;
}

#popupImage {
  border-radius: var(--rc-radius-md);
}

.main-sidebar .brand-text,
.main-sidebar .logo-xl,
.main-sidebar .logo-xs,
.sidebar .nav-link p,
.sidebar .user-panel .info {
  font-size: 15px;
  font-weight: 600;
}

/* Cohesive form/popup spacing site-wide */
.form-group {
  margin-bottom: 0.9rem;
}

.input-group > .form-control:not(:last-child),
.input-group > .custom-select:not(:last-child) {
  border-top-right-radius: 0 !important;
  border-bottom-right-radius: 0 !important;
}

.btn-sm {
  border-radius: var(--rc-radius-sm) !important;
}

.btn {
  letter-spacing: 0.15px;
}

/* Improve generic section rhythm on pages with mixed cards */
.content .section + .section,
.content .card + .section,
.content .section + .card {
  margin-top: 16px;
}

::-webkit-scrollbar {
  width: 10px;
  height: 10px;
}

::-webkit-scrollbar-track {
  background: rgba(21, 33, 58, 0.5);
}

::-webkit-scrollbar-thumb {
  background: rgba(118, 183, 255, 0.34);
  border-radius: 10px;
}

::-webkit-scrollbar-thumb:hover {
  background: rgba(118, 183, 255, 0.55);
}

/* Notifications pages */
.notification-list-wrap,
.notification-detail-wrap {
  overflow: hidden;
}

.notification-list {
  display: grid;
  gap: 0;
}

.notification-item {
  padding: 18px 22px;
  border-bottom: 1px solid rgba(84, 114, 170, 0.28);
  background: linear-gradient(180deg, rgba(40, 61, 104, 0.2) 0%, rgba(25, 39, 69, 0.2) 100%);
}

.notification-item:last-child {
  border-bottom: none;
}

.notification-item-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 8px;
}

.notification-title {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 700;
  color: #f4f7ff;
}

.notification-message {
  margin: 0;
  color: #c5d4f6;
  font-size: 0.99rem;
  line-height: 1.55;
  white-space: pre-wrap;
}

.notification-meta {
  margin-top: 12px;
  color: #90a7d8;
  font-size: 0.86rem;
}

.notification-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 0.72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.4px;
  padding: 5px 10px;
  border-radius: 999px;
  background: rgba(34, 197, 94, 0.2);
  border: 1px solid rgba(34, 197, 94, 0.48);
  color: #a7f3c3;
}

.notification-badge .fa-circle {
  font-size: 7px;
}

.notification-empty {
  padding: 24px 20px;
  color: #9eb3df;
}

.notification-footer {
  display: flex;
  align-items: center;
  justify-content: center;
}

.notification-footer .pagination {
  gap: 6px;
}

.notification-footer .pagination a,
.notification-footer .pagination strong {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 34px;
  height: 34px;
  padding: 0 10px;
  border-radius: 10px;
  border: 1px solid rgba(87, 121, 183, 0.45);
  background: rgba(39, 58, 99, 0.45);
  color: #d4e2ff;
  text-decoration: none;
}

.notification-footer .pagination strong {
  background: #f2c94c;
  color: #1a2b54;
  border-color: #f2c94c;
}

.notification-detail-card {
  padding: 18px;
  border-radius: 14px;
  border: 1px solid rgba(89, 124, 192, 0.33);
  background: linear-gradient(180deg, rgba(40, 61, 104, 0.28) 0%, rgba(25, 39, 69, 0.25) 100%);
}

.rc-live-request-alert {
  position: fixed;
  top: 86px;
  right: 18px;
  z-index: 1085;
  display: flex;
  align-items: center;
  gap: 10px;
  width: min(430px, calc(100vw - 24px));
  padding: 12px 14px;
  border-radius: 12px;
  border: 1px solid rgba(118, 183, 255, 0.34);
  background: linear-gradient(165deg, rgba(30, 48, 84, 0.98), rgba(20, 33, 60, 0.98));
  box-shadow: 0 14px 28px rgba(4, 12, 30, 0.38), 0 0 0 1px rgba(118, 183, 255, 0.2);
  text-decoration: none !important;
  color: #eaf2ff !important;
  opacity: 0;
  transform: translate3d(0, -8px, 0);
  transition: opacity 0.2s ease, transform 0.2s ease;
}

.rc-live-request-alert.is-visible {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

.rc-live-request-alert__icon {
  width: 34px;
  height: 34px;
  border-radius: 10px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #74bcff;
  border: 1px solid rgba(118, 183, 255, 0.4);
  background: rgba(34, 55, 96, 0.66);
  flex-shrink: 0;
}

.rc-live-request-alert__content {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.rc-live-request-alert__content strong {
  font-size: 0.95rem;
  line-height: 1.2;
  color: #f3f7ff;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.rc-live-request-alert__content small {
  margin-top: 2px;
  font-size: 0.8rem;
  color: #b5c9ee;
  line-height: 1.25;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.rc-live-request-alert__open {
  margin-left: auto;
  border-radius: 999px;
  padding: 5px 10px;
  border: 1px solid rgba(245, 196, 81, 0.6);
  background: rgba(245, 196, 81, 0.16);
  color: #f7cd66;
  font-size: 0.76rem;
  font-weight: 700;
  letter-spacing: 0.18px;
  flex-shrink: 0;
}

html[data-theme="light"] .rc-live-request-alert {
  color: #1f355f !important;
  background: linear-gradient(165deg, rgba(255, 255, 255, 0.98), rgba(241, 247, 255, 0.98));
  border-color: rgba(42, 84, 155, 0.3);
  box-shadow: 0 12px 22px rgba(18, 42, 83, 0.16), 0 0 0 1px rgba(77, 127, 204, 0.14);
}

html[data-theme="light"] .rc-live-request-alert__content strong {
  color: #1c365f;
}

html[data-theme="light"] .rc-live-request-alert__content small {
  color: #4f6891;
}

@media (max-width: 992px) {
  .rc-live-request-alert {
    top: 68px;
    right: 10px;
    width: calc(100vw - 20px);
  }
}

@media (max-width: 992px) {
  :root {
    --rc-topbar-height: 58px;
    --rc-content-gutter: 12px;
  }

  .main-header.navbar {
    padding: 0 8px !important;
  }

  .card,
  .section,
  .login-card-body,
  .dropdown-menu,
  .modal-content {
    border-radius: 14px !important;
  }

  .content-wrapper .content > .container-fluid,
  .content-header > .container-fluid {
    max-width: 100%;
    padding-left: 12px;
    padding-right: 12px;
  }

  .admin-form-actions {
    justify-content: stretch;
  }

  .admin-form-actions .btn {
    width: 100%;
  }

  .dataTables_wrapper .dataTables_filter input {
    width: 100% !important;
    min-width: 0;
  }
}

@media (min-width: 1600px) {
  :root {
    --rc-content-gutter: 26px;
  }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation: none !important;
    transition: none !important;
    scroll-behavior: auto !important;
  }
}

/* Final premium harmonization pass (site-wide) */
.content .card {
  background: var(--rc-surface-grad) !important;
  box-shadow: var(--rc-glow-soft) !important;
}

.content .card::after,
.content .section::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  border-radius: inherit;
  background: radial-gradient(500px 170px at 88% -18%, rgba(118, 183, 255, 0.08), transparent 72%);
}

.content .card:hover {
  border-color: rgba(118, 183, 255, 0.34) !important;
}

.content .card-header {
  background: var(--rc-surface-grad-soft) !important;
  border-bottom: 1px solid rgba(118, 183, 255, 0.22) !important;
}

.content .card-header .card-title i,
.content .card-header h1 i:first-child,
.content .card-header h2 i:first-child,
.content .card-header h3 i:first-child,
.content .card-header h4 i:first-child {
  width: 34px;
  height: 34px;
  border-radius: 11px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-right: 8px;
  color: #79bcff !important;
  background: linear-gradient(160deg, rgba(52, 75, 124, 0.95), rgba(31, 48, 82, 0.95));
  border: 1px solid rgba(118, 183, 255, 0.4);
  box-shadow: 0 8px 18px rgba(8, 20, 48, 0.34);
}

.content .table-responsive {
  background: linear-gradient(150deg, rgba(22, 34, 60, 0.76), rgba(16, 25, 45, 0.86)) !important;
  box-shadow: inset 0 1px 0 rgba(118, 183, 255, 0.08), 0 10px 20px rgba(5, 12, 29, 0.28) !important;
}

.content .table-responsive > .dataTables_wrapper {
  padding: 14px 14px 10px !important;
}

.content .table-responsive > .dataTables_wrapper > .row:first-child {
  padding-top: 6px !important;
  padding-bottom: 10px !important;
  margin-bottom: 6px !important;
}

.content .dataTables_wrapper .dataTables_filter input,
.content .dataTables_wrapper .dataTables_length select,
.content .select2-container--default .select2-selection--single,
.content .select2-container--default .select2-selection--multiple {
  background: linear-gradient(150deg, rgba(41, 61, 101, 0.88), rgba(29, 44, 76, 0.92)) !important;
  box-shadow: inset 0 1px 0 rgba(140, 181, 255, 0.09) !important;
}

.content .select2-dropdown,
.content .dropdown-menu {
  background: var(--rc-surface-grad) !important;
  box-shadow: var(--rc-glow-soft) !important;
}

.content .modal-content {
  background: var(--rc-surface-grad) !important;
  box-shadow: var(--rc-glow-soft) !important;
}

/* Department dropdown readability: force white in empty/placeholder states */
html:not([data-theme="light"]) .content select.form-control.department-select,
html:not([data-theme="light"]) .content select.form-control.department-select-multi,
html:not([data-theme="light"]) .content select.form-control#department,
html:not([data-theme="light"]) .content select.form-control[name="department_id"],
html:not([data-theme="light"]) .content select.form-control[name="department_id[]"] {
  color: #f5f7ff !important;
  -webkit-text-fill-color: #f5f7ff;
  opacity: 1 !important;
}

html:not([data-theme="light"]) .content select.form-control.department-select:invalid,
html:not([data-theme="light"]) .content select.form-control#department:invalid,
html:not([data-theme="light"]) .content select.form-control[name="department_id"]:invalid,
html:not([data-theme="light"]) .content select.form-control[name="department_id[]"]:invalid {
  color: #f5f7ff !important;
}

html:not([data-theme="light"]) .content select.form-control.department-select option,
html:not([data-theme="light"]) .content select.form-control.department-select-multi option,
html:not([data-theme="light"]) .content select.form-control#department option {
  color: #f5f7ff !important;
  background: #1e2f53 !important;
}

/* Keep native department select text bright even before selection */
html:not([data-theme="light"]) .content .admin-form select.department-select,
html:not([data-theme="light"]) .content .admin-form select.department-select.form-control,
html:not([data-theme="light"]) .content .admin-form select#department,
html:not([data-theme="light"]) .content .admin-form select[name="department_id"],
html:not([data-theme="light"]) .content .admin-form select[name="department_id[]"],
html:not([data-theme="light"]) .content .admin-form select.form-select.department-select,
html:not([data-theme="light"]) .content .admin-form select.form-select#department {
  color: #f5f7ff !important;
  -webkit-text-fill-color: #f5f7ff !important;
  opacity: 1 !important;
}

html:not([data-theme="light"]) .content .select2-container--default .select2-selection--single .select2-selection__rendered,
html:not([data-theme="light"]) .content .select2-container--default .select2-selection--single .select2-selection__placeholder,
html:not([data-theme="light"]) .content .select2-container--default .select2-selection--multiple .select2-selection__placeholder,
html:not([data-theme="light"]) .content .select2-container--default .select2-selection--multiple .select2-search__field,
html:not([data-theme="light"]) .content .select2-container--default .select2-selection--multiple .select2-search__field::placeholder {
  color: #f5f7ff !important;
  opacity: 1 !important;
}

/* ------------------------------------------------------------------
   Light mode hard overrides (prevents dark-style leakage site-wide)
------------------------------------------------------------------- */
html[data-theme="light"] body,
html[data-theme="light"] .content-wrapper,
html[data-theme="light"] .main-footer {
  color: #16213a !important;
  background: #eef3fb !important;
}

html[data-theme="light"] .main-header.navbar {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.94), rgba(243, 248, 255, 0.92)) !important;
  border-bottom: 1px solid rgba(38, 78, 146, 0.2) !important;
}

html[data-theme="light"] .main-header .nav-link,
html[data-theme="light"] .main-header .navbar-nav .nav-link {
  color: #1e3764 !important;
}

html[data-theme="light"] .main-sidebar,
html[data-theme="light"] .brand-link {
  background: linear-gradient(180deg, #e9f0fb 0%, #dde8f8 100%) !important;
  border-right: 1px solid rgba(38, 78, 146, 0.16) !important;
}

html[data-theme="light"] .nav-sidebar .nav-link {
  color: #2c446f !important;
  background: rgba(255, 255, 255, 0.72) !important;
  border-color: rgba(42, 84, 155, 0.22) !important;
}

html[data-theme="light"] .nav-sidebar .nav-link:hover {
  background: #f4f8ff !important;
  color: #193661 !important;
}

html[data-theme="light"] .card,
html[data-theme="light"] .section,
html[data-theme="light"] .login-card-body,
html[data-theme="light"] .dropdown-menu,
html[data-theme="light"] .modal-content,
html[data-theme="light"] .content .card,
html[data-theme="light"] .content .section {
  background: linear-gradient(160deg, rgba(255, 255, 255, 0.98), rgba(242, 248, 255, 0.98)) !important;
  border-color: rgba(42, 84, 155, 0.22) !important;
  box-shadow: 0 10px 24px rgba(25, 53, 96, 0.12), 0 0 0 1px rgba(66, 120, 207, 0.08) !important;
}

html[data-theme="light"] .card-header,
html[data-theme="light"] .card-footer,
html[data-theme="light"] .content .card-header {
  background: linear-gradient(180deg, rgba(250, 253, 255, 0.98), rgba(240, 247, 255, 0.98)) !important;
  border-bottom-color: rgba(42, 84, 155, 0.2) !important;
  color: #1e3764 !important;
}

html[data-theme="light"] .content .table-responsive,
html[data-theme="light"] .table-responsive {
  background: linear-gradient(150deg, rgba(250, 253, 255, 0.98), rgba(243, 248, 255, 0.96)) !important;
  border-color: rgba(42, 84, 155, 0.18) !important;
  box-shadow: inset 0 1px 0 rgba(88, 141, 226, 0.08), 0 8px 18px rgba(24, 53, 98, 0.08) !important;
}

html[data-theme="light"] table.table,
html[data-theme="light"] table.table th,
html[data-theme="light"] table.table td,
html[data-theme="light"] .dataTables_wrapper,
html[data-theme="light"] .dataTables_info,
html[data-theme="light"] .dataTables_length label,
html[data-theme="light"] .dataTables_filter label {
  color: #1f3967 !important;
}

html[data-theme="light"] table.table thead th {
  background: #eef4ff !important;
  border-color: rgba(42, 84, 155, 0.2) !important;
}

html[data-theme="light"] table.table tbody td {
  border-color: rgba(42, 84, 155, 0.14) !important;
}

html[data-theme="light"] table.table tbody tr:nth-of-type(odd),
html[data-theme="light"] table.table-striped tbody tr:nth-of-type(odd) {
  background: rgba(244, 249, 255, 0.78) !important;
}

html[data-theme="light"] table.table tbody tr:nth-of-type(even),
html[data-theme="light"] table.table-striped tbody tr:nth-of-type(even) {
  background: rgba(236, 244, 255, 0.7) !important;
}

html[data-theme="light"] .form-control,
html[data-theme="light"] .form-select,
html[data-theme="light"] .content .dataTables_wrapper .dataTables_filter input,
html[data-theme="light"] .content .dataTables_wrapper .dataTables_length select,
html[data-theme="light"] .content .select2-container--default .select2-selection--single,
html[data-theme="light"] .content .select2-container--default .select2-selection--multiple {
  background: #ffffff !important;
  color: #1f3967 !important;
  border-color: rgba(42, 84, 155, 0.28) !important;
  box-shadow: inset 0 1px 0 rgba(124, 162, 225, 0.14) !important;
}

html[data-theme="light"] .form-control::placeholder,
html[data-theme="light"] .form-select::placeholder,
html[data-theme="light"] .select2-container--default .select2-selection--single .select2-selection__rendered,
html[data-theme="light"] .select2-container--default .select2-selection--single .select2-selection__placeholder,
html[data-theme="light"] .select2-container--default .select2-selection--multiple .select2-selection__placeholder,
html[data-theme="light"] .select2-container--default .select2-selection--multiple .select2-search__field {
  color: #3f577f !important;
  -webkit-text-fill-color: #3f577f !important;
  opacity: 1 !important;
}

html[data-theme="light"] .select2-dropdown,
html[data-theme="light"] .content .select2-dropdown,
html[data-theme="light"] .content .dropdown-menu,
html[data-theme="light"] .dropdown-menu {
  background: #ffffff !important;
  color: #1f3967 !important;
  border-color: rgba(42, 84, 155, 0.22) !important;
}

html[data-theme="light"] .select2-results__option,
html[data-theme="light"] .dropdown-item {
  color: #1f3967 !important;
}

html[data-theme="light"] .select2-container--default .select2-results__option--highlighted.select2-results__option--selectable,
html[data-theme="light"] .dropdown-item:hover {
  background: #eaf2ff !important;
  color: #19355f !important;
}

html[data-theme="light"] .btn-outline-primary {
  color: #245aab !important;
  border-color: rgba(36, 90, 171, 0.55) !important;
  background: rgba(245, 250, 255, 0.75) !important;
}

html[data-theme="light"] .btn-outline-primary:hover {
  background: #e5f0ff !important;
  color: #1c4b91 !important;
}

html[data-theme="light"] .alert-warning,
html[data-theme="light"] .alert.alert-warning,
html[data-theme="light"] .content .alert-warning {
  background: linear-gradient(160deg, #fffaf0 0%, #fff5dc 100%) !important;
  color: #7a4a00 !important;
  border: 1px solid #e7b64f !important;
  box-shadow: 0 6px 14px rgba(220, 158, 23, 0.14) !important;
}

html[data-theme="light"] .alert-info,
html[data-theme="light"] .alert.alert-info,
html[data-theme="light"] .content .alert-info {
  background: linear-gradient(160deg, #f3faff 0%, #e8f4ff 100%) !important;
  color: #1f4f8a !important;
  border: 1px solid #7db0e6 !important;
  box-shadow: 0 6px 14px rgba(49, 96, 175, 0.12) !important;
}

html[data-theme="light"] .alert-danger,
html[data-theme="light"] .alert.alert-danger,
html[data-theme="light"] .content .alert-danger {
  background: linear-gradient(160deg, #fff3f3 0%, #ffeaea 100%) !important;
  color: #8b2f2f !important;
  border: 1px solid #de8f8f !important;
}

html[data-theme="light"] .alert-success,
html[data-theme="light"] .alert.alert-success,
html[data-theme="light"] .content .alert-success {
  background: linear-gradient(160deg, #f2fff7 0%, #e8f9ef 100%) !important;
  color: #1f6a45 !important;
  border: 1px solid #7ec9a4 !important;
}

html[data-theme="light"] .status-pill-pending {
  background: #d97706 !important;
  color: #fff !important;
}

html[data-theme="light"] .status-pill-approved {
  background: #159f5c !important;
  color: #fff !important;
}

html[data-theme="light"] .status-pill-denied {
  background: #c44545 !important;
  color: #fff !important;
}

html[data-theme="light"] .request-card-item,
html[data-theme="light"] .request-card-user-top,
html[data-theme="light"] .request-date-box,
html[data-theme="light"] .request-card-type-pill {
  background: linear-gradient(160deg, rgba(255, 255, 255, 0.98), rgba(241, 248, 255, 0.98)) !important;
  color: #1f3967 !important;
  border-color: rgba(42, 84, 155, 0.22) !important;
}

html[data-theme="light"] .request-user-kicker,
html[data-theme="light"] .request-date-box span,
html[data-theme="light"] .request-card-grid .request-row span {
  color: #5a729d !important;
}

html[data-theme="light"] .request-user-value,
html[data-theme="light"] .request-date-box strong,
html[data-theme="light"] .request-card-grid .request-row strong {
  color: #1d355e !important;
}

/* ------------------------------------------------------------------
   Light mode consistency: final pass (high-specificity overrides)
------------------------------------------------------------------- */
html[data-theme="light"] .page-title-icon,
html[data-theme="light"] .content-header h1 > i:first-child,
html[data-theme="light"] .section > h2 i,
html[data-theme="light"] .content .card-header .card-title i,
html[data-theme="light"] .summary-icon,
html[data-theme="light"] .kpi-icon {
  background: linear-gradient(160deg, rgba(236, 245, 255, 0.98), rgba(225, 237, 255, 0.98)) !important;
  border-color: rgba(60, 114, 196, 0.36) !important;
  color: #2a6fcb !important;
  box-shadow: 0 8px 16px rgba(49, 96, 175, 0.14) !important;
}

html[data-theme="light"] .section > h2,
html[data-theme="light"] .content .card-title,
html[data-theme="light"] h1,
html[data-theme="light"] h2,
html[data-theme="light"] h3,
html[data-theme="light"] h4 {
  color: #1d355e !important;
}

html[data-theme="light"] .content .card::after,
html[data-theme="light"] .content .section::after {
  background: radial-gradient(500px 170px at 88% -18%, rgba(83, 143, 234, 0.11), transparent 72%) !important;
}

html[data-theme="light"] .content .table-responsive > .dataTables_wrapper,
html[data-theme="light"] .content .table-responsive > .dataTables_wrapper > .row:first-child {
  background: transparent !important;
}

html[data-theme="light"] .content .dataTables_wrapper .dataTables_filter input,
html[data-theme="light"] .content .dataTables_wrapper .dataTables_length select,
html[data-theme="light"] .dataTables_wrapper .dataTables_filter input,
html[data-theme="light"] .dataTables_wrapper .dataTables_length select,
html[data-theme="light"] .content .select2-container--default .select2-selection--single,
html[data-theme="light"] .content .select2-container--default .select2-selection--multiple {
  background: #ffffff !important;
  color: #1f3967 !important;
  border-color: rgba(42, 84, 155, 0.28) !important;
  box-shadow: inset 0 1px 0 rgba(124, 162, 225, 0.14), 0 2px 8px rgba(42, 84, 155, 0.06) !important;
}

html[data-theme="light"] .content select.form-control.department-select,
html[data-theme="light"] .content select.form-control.department-select-multi,
html[data-theme="light"] .content select.form-control#department,
html[data-theme="light"] .content select.form-control[name="department_id"],
html[data-theme="light"] .content select.form-control[name="department_id[]"],
html[data-theme="light"] .content .admin-form select.department-select,
html[data-theme="light"] .content .admin-form select#department,
html[data-theme="light"] .content .admin-form select[name="department_id"],
html[data-theme="light"] .content .admin-form select[name="department_id[]"],
html[data-theme="light"] .content .select2-container--default .select2-selection--single .select2-selection__rendered,
html[data-theme="light"] .content .select2-container--default .select2-selection--single .select2-selection__placeholder,
html[data-theme="light"] .content .select2-container--default .select2-selection--multiple .select2-selection__placeholder,
html[data-theme="light"] .content .select2-container--default .select2-selection--multiple .select2-search__field {
  color: #1f3967 !important;
  -webkit-text-fill-color: #1f3967 !important;
  opacity: 1 !important;
}

html[data-theme="light"] .content .select2-container--default .select2-selection--single .select2-selection__arrow b {
  border-color: #5f7fb3 transparent transparent transparent !important;
}

html[data-theme="light"] .content .select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b {
  border-color: transparent transparent #5f7fb3 transparent !important;
}

html[data-theme="light"] .content .dropdown-menu::before,
html[data-theme="light"] .content .modal-content::before,
html[data-theme="light"] .dropdown-menu::before,
html[data-theme="light"] .modal-content::before {
  background: radial-gradient(540px 180px at 20% -16%, rgba(83, 143, 234, 0.12), transparent 66%) !important;
}

html[data-theme="light"] .calendar-chip,
html[data-theme="light"] .filter-segment,
html[data-theme="light"] .request-view-switch {
  background: rgba(248, 252, 255, 0.95) !important;
  border-color: rgba(42, 84, 155, 0.22) !important;
}

html[data-theme="light"] .calendar-chip,
html[data-theme="light"] .filter-btn,
html[data-theme="light"] .request-view-switch .switch-btn,
html[data-theme="light"] .request-filter-count,
html[data-theme="light"] .calendar-legend {
  color: #365581 !important;
}

html[data-theme="light"] .calendar-chip.active,
html[data-theme="light"] .filter-btn.active,
html[data-theme="light"] .request-view-switch .switch-btn.active {
  background: #e8b93f !important;
  border-color: #e8b93f !important;
  color: #1a233a !important;
}

html[data-theme="light"] .request-filter-panel,
html[data-theme="light"] .request-card-item,
html[data-theme="light"] .request-date-box,
html[data-theme="light"] .request-row-user,
html[data-theme="light"] .request-card-user-top,
html[data-theme="light"] .request-card-type-pill,
html[data-theme="light"] .request-empty-state {
  background: linear-gradient(160deg, rgba(255, 255, 255, 0.98), rgba(242, 248, 255, 0.98)) !important;
  border-color: rgba(42, 84, 155, 0.22) !important;
  color: #1f3967 !important;
}

html[data-theme="light"] .request-user-kicker,
html[data-theme="light"] .request-date-box span,
html[data-theme="light"] .request-row span {
  color: #5a729d !important;
}

html[data-theme="light"] .request-user-value,
html[data-theme="light"] .request-date-box strong,
html[data-theme="light"] .request-row strong {
  color: #1d355e !important;
}

html[data-theme="light"] .request-row-reason {
  background: linear-gradient(160deg, rgba(246, 251, 255, 0.98), rgba(236, 244, 255, 0.98)) !important;
  border-color: rgba(42, 84, 155, 0.24) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.62);
}

html[data-theme="light"] .request-row-reason span {
  color: #5a729d !important;
}

html[data-theme="light"] .request-row-reason .request-reason-value,
html[data-theme="light"] .request-row-reason strong {
  color: #1f3967 !important;
}

/* Dashboard evo calendar + right event panel */
html[data-theme="light"] #calendar,
html[data-theme="light"] #calendar .evo-calendar,
html[data-theme="light"] #calendar .calendar-inner,
html[data-theme="light"] #calendar .calendar-inner .calendar-table {
  background: #f8fbff !important;
  border-color: rgba(42, 84, 155, 0.2) !important;
}

html[data-theme="light"] #calendar .calendar-sidebar,
html[data-theme="light"] #calendar .calendar-events {
  background: #eef4ff !important;
  border-color: rgba(42, 84, 155, 0.2) !important;
}

html[data-theme="light"] #calendar .calendar-header .calendar-title,
html[data-theme="light"] #calendar .calendar-inner .calendar-day .day,
html[data-theme="light"] #calendar th[colspan="7"],
html[data-theme="light"] #calendar .calendar-events .event-header .event-date,
html[data-theme="light"] #calendar .calendar-events .event-header .event-count,
html[data-theme="light"] #calendar .calendar-events .event-list .event-empty,
html[data-theme="light"] #calendar .calendar-events > .event-header > p,
html[data-theme="light"] #calendar .calendar-events .event-header p {
  color: #1f3967 !important;
  opacity: 1 !important;
}

html[data-theme="light"] #calendar .calendar-sidebar .month-list .month,
html[data-theme="light"] #calendar .calendar-sidebar .calendar-year p,
html[data-theme="light"] #calendar .calendar-sidebar .calendar-year button {
  color: #365581 !important;
}

html[data-theme="light"] #calendar .calendar-sidebar .month-list .month.active-month {
  background: #dfeaff !important;
  color: #1d355e !important;
}

html[data-theme="light"] #calendar .calendar-sidebar .month-list .month:hover {
  background: #edf4ff !important;
}

html[data-theme="light"] #calendar .calendar-inner .calendar-day .day.calendar-active,
html[data-theme="light"] #calendar .calendar-inner .calendar-day .day.calendar-active:hover {
  background: rgba(232, 185, 63, 0.2) !important;
  border-color: #e8b93f !important;
  color: #1a233a !important;
}

html[data-theme="light"] #calendar .calendar-events .event-list .event-item,
html[data-theme="light"] #calendar .calendar-events .event-list .event-container,
html[data-theme="light"] #calendar .calendar-events .event-list .event-container:hover {
  background: #ffffff !important;
  border-color: rgba(90, 127, 186, 0.34) !important;
}

html[data-theme="light"] #calendar .calendar-events .event-list .event-item .event-title,
html[data-theme="light"] #calendar .calendar-events .event-list .event-item .event-desc,
html[data-theme="light"] #calendar .calendar-events .event-list .event-item p,
html[data-theme="light"] #calendar .calendar-events .event-list .event-item span,
html[data-theme="light"] #calendar .calendar-events .event-list .event-container > .event-info > p,
html[data-theme="light"] #calendar .calendar-events .event-list .event-container > .event-info > p.event-title,
html[data-theme="light"] #calendar .calendar-events .event-list .event-container > .event-info > p.event-desc,
html[data-theme="light"] #calendar .calendar-events .event-list .event-container > .event-info > p.event-title > span {
  color: #1f3967 !important;
}

html[data-theme="light"] #calendar .calendar-events .event-list .event-item .event-time,
html[data-theme="light"] #calendar .calendar-events .event-list .event-container .event-time,
html[data-theme="light"] #calendar .calendar-events .event-list .event-item .event-time *,
html[data-theme="light"] #calendar .calendar-events .event-list .event-container .event-time * {
  background: #fff9e8 !important;
  color: #8f6400 !important;
  -webkit-text-fill-color: #8f6400 !important;
  border-color: rgba(232, 185, 63, 0.7) !important;
}

/* Popup system */
html[data-theme="light"] .offday-popup {
  background: linear-gradient(160deg, rgba(255, 255, 255, 0.99), rgba(242, 248, 255, 0.99)) !important;
  border-color: rgba(42, 84, 155, 0.24) !important;
  box-shadow: 0 18px 34px rgba(25, 53, 96, 0.18) !important;
}

html[data-theme="light"] .offday-popup .modal-header,
html[data-theme="light"] .offday-popup .modal-footer {
  border-color: rgba(42, 84, 155, 0.2) !important;
}

html[data-theme="light"] .offday-popup .modal-title,
html[data-theme="light"] .offday-popup .form-label {
  color: #1d355e !important;
}

html[data-theme="light"] .offday-popup .modal-input,
html[data-theme="light"] .offday-popup .form-select.modal-input,
html[data-theme="light"] .offday-popup .form-control.modal-input,
html[data-theme="light"] .offday-popup #deleteuser,
html[data-theme="light"] .offday-popup #copy_users,
html[data-theme="light"] .offday-popup .modal-input-multi,
html[data-theme="light"] .offday-popup .modal-input-multi option,
html[data-theme="light"] .offday-popup #deleteuser option,
html[data-theme="light"] .offday-popup #copy_users option {
  background: #ffffff !important;
  color: #1f3967 !important;
  border-color: rgba(42, 84, 155, 0.3) !important;
}

/* ------------------------------------------------------------------
   Site-wide control consistency pass (dark + light)
------------------------------------------------------------------- */
:root {
  --rc-control-height: 42px;
  --rc-control-height-sm: 34px;
  --rc-control-radius: 12px;
  --rc-icon-size: 0.95rem;
  --rc-icon-box-size: 34px;
  --rc-pill-height: 34px;
  --rc-pill-radius: 999px;
}

.btn:not(.btn-link):not(.close):not(.navbar-toggler) {
  border-radius: var(--rc-control-radius) !important;
  min-height: var(--rc-control-height);
  padding: 0.52rem 0.9rem !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.45rem;
  line-height: 1;
  font-weight: 700;
}

.btn.btn-sm:not(.btn-link) {
  min-height: var(--rc-control-height-sm);
  padding: 0.38rem 0.72rem !important;
  border-radius: 10px !important;
}

.btn > i,
.btn > .fas,
.btn > .far,
.btn > .fa,
.btn > .fa-solid,
.btn > .fa-regular {
  width: 1.05em;
  text-align: center;
  font-size: var(--rc-icon-size);
  line-height: 1;
  flex: 0 0 auto;
}

.content .table td .badge:not(.navbar-badge):not(.notification-badge):not(.badge-counter),
.content .table td .status,
.content .status-pill,
.content .status-pill-pending,
.content .status-pill-approved,
.content .status-pill-denied {
  min-height: var(--rc-pill-height);
  border-radius: var(--rc-pill-radius) !important;
  padding: 0.45rem 0.82rem !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0.4rem !important;
}

.content .table td .badge i,
.content .table td .status i,
.content .status-pill i {
  font-size: 0.82em !important;
  line-height: 1;
}

.main-sidebar .nav-sidebar .nav-link .nav-icon,
.main-sidebar .nav-sidebar .nav-link > i:first-child {
  width: 1.35rem;
  min-width: 1.35rem;
  text-align: center;
  font-size: 1rem;
  margin-right: 0.6rem;
}

.admin-quick-actions .btn {
  min-height: var(--rc-control-height);
  border-radius: var(--rc-control-radius) !important;
}

.admin-quick-actions .btn > i {
  font-size: 0.92rem;
}

.icon-btn,
.icon-btn.small {
  border-radius: 14px !important;
  box-shadow: var(--rc-shadow-soft);
}

html[data-theme="light"] .btn-success {
  color: #ffffff !important;
}

html[data-theme="light"] .btn-danger,
html[data-theme="light"] .badge.bg-danger,
html[data-theme="light"] .badge-danger,
html[data-theme="light"] .status.denied,
html[data-theme="light"] .status.deny,
html[data-theme="light"] .status-pill-denied {
  color: #ffffff !important;
}

html[data-theme="light"] .btn-warning,
html[data-theme="light"] .badge.bg-warning,
html[data-theme="light"] .badge-warning,
html[data-theme="light"] .status.pending,
html[data-theme="light"] .status-pill-pending {
  color: #1a233a !important;
}
html[data-theme="light"] .offday-popup .modal-input::placeholder,
html[data-theme="light"] .offday-popup textarea.modal-input::placeholder {
  color: #5a729d !important;
}

html[data-theme="light"] .offday-popup .popup-close-btn,
html[data-theme="light"] .offday-popup .btnadd-close,
html[data-theme="light"] .offday-popup .btnview-close,
html[data-theme="light"] .offday-popup .btndelete-close {
  background: #edf4ff !important;
  color: #1f3967 !important;
  border-color: rgba(42, 84, 155, 0.32) !important;
}

html[data-theme="light"] .offday-popup .popup-close-btn:hover,
html[data-theme="light"] .offday-popup .btnadd-close:hover,
html[data-theme="light"] .offday-popup .btnview-close:hover,
html[data-theme="light"] .offday-popup .btndelete-close:hover {
  background: #e3efff !important;
  color: #1a355f !important;
}

/* Notifications */
html[data-theme="light"] .notification-item {
  background: linear-gradient(180deg, rgba(248, 252, 255, 0.98), rgba(240, 247, 255, 0.98)) !important;
  border-bottom-color: rgba(84, 114, 170, 0.2) !important;
}

html[data-theme="light"] .notification-title {
  color: #1d355e !important;
}

html[data-theme="light"] .notification-message {
  color: #35537f !important;
}

html[data-theme="light"] .notification-meta,
html[data-theme="light"] .notification-empty {
  color: #5b739d !important;
}

html[data-theme="light"] .notification-footer .pagination a,
html[data-theme="light"] .notification-footer .pagination strong {
  border-color: rgba(42, 84, 155, 0.28) !important;
  background: #edf4ff !important;
  color: #1f3967 !important;
}

html[data-theme="light"] .notification-footer .pagination strong {
  background: #e8b93f !important;
  color: #1a233a !important;
  border-color: #e8b93f !important;
}

html[data-theme="light"] .notification-detail-card {
  background: linear-gradient(180deg, rgba(252, 254, 255, 0.98), rgba(242, 248, 255, 0.98)) !important;
  border-color: rgba(90, 127, 186, 0.3) !important;
}

/* ------------------------------------------------------------------
   Light theme: employee column + badge contrast (dashboard/requests)
------------------------------------------------------------------- */
html[data-theme="light"] #notificationTable .employee-cell-name,
html[data-theme="light"] .requests-view-table .employee-cell-name,
html[data-theme="light"] #adminrequestTable .employee-cell-name,
html[data-theme="light"] #managerRequestTable .employee-cell-name {
  color: #2e71c9 !important;
  font-weight: 800 !important;
}

html[data-theme="light"] #notificationTable .employee-cell-dept,
html[data-theme="light"] .requests-view-table .employee-cell-dept,
html[data-theme="light"] #adminrequestTable .employee-cell-dept,
html[data-theme="light"] #managerRequestTable .employee-cell-dept {
  color: #4f6791 !important;
  font-weight: 600 !important;
}

html[data-theme="light"] #notificationTable .notification-title-badge,
html[data-theme="light"] .requests-view-table .request-type-badge {
  color: #1f3f6f !important;
  border-width: 1px !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.62);
}

html[data-theme="light"] #notificationTable .notification-title-badge.badge-time-off,
html[data-theme="light"] .requests-view-table .request-type-badge--time-off {
  background: #dceeff !important;
  border-color: #7fb4ee !important;
  color: #184f90 !important;
}

html[data-theme="light"] #notificationTable .notification-title-badge.badge-pto,
html[data-theme="light"] .requests-view-table .request-type-badge--pto {
  background: #ebe4ff !important;
  border-color: #ab95e6 !important;
  color: #49308b !important;
}

html[data-theme="light"] #notificationTable .notification-title-badge.badge-leave-early,
html[data-theme="light"] .requests-view-table .request-type-badge--leave-early {
  background: #def4ff !important;
  border-color: #77bde4 !important;
  color: #14537a !important;
}

html[data-theme="light"] #notificationTable .notification-title-badge.badge-lunch-break {
  background: #ffefc7 !important;
  border-color: #e7bf6a !important;
  color: #7c5600 !important;
}

html[data-theme="light"] #notificationTable .notification-title-badge.badge-late-arrival,
html[data-theme="light"] .requests-view-table .request-type-badge--late-arrival {
  background: #ffe4dd !important;
  border-color: #e79d8d !important;
  color: #8b2f2f !important;
}

html[data-theme="light"] #notificationTable .notification-title-badge.badge-fmla,
html[data-theme="light"] #notificationTable .notification-title-badge.badge-default {
  background: #e2f4ff !important;
  border-color: #88c5de !important;
  color: #1d5470 !important;
}

html[data-theme="light"] .requests-view-table .request-status-badge.badge-success,
html[data-theme="light"] .requests-view-table .request-status-badge.badge-danger,
html[data-theme="light"] .requests-view-table .request-status-badge.badge-warning,
html[data-theme="light"] .requests-view-table .status-icon-only {
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.55), 0 4px 10px rgba(42, 84, 155, 0.12) !important;
}

html[data-theme="light"] #notificationTable .status.completed {
  background: #e6f9ef !important;
  color: #1d6a43 !important;
  border: 1px solid #8bcaa9 !important;
}

html[data-theme="light"] #notificationTable .status.on-hold,
html[data-theme="light"] #notificationTable .status.pending {
  background: #fff2cf !important;
  color: #7b5602 !important;
  border: 1px solid #e4c27a !important;
}

/* Footer final override in light mode */
html[data-theme="light"] .main-footer,
html[data-theme="light"] .main-footer strong,
html[data-theme="light"] .main-footer a,
html[data-theme="light"] .main-footer .float-right {
  background: #eef3fb !important;
  color: #4e628a !important;
  border-top-color: rgba(42, 84, 155, 0.2) !important;
}

/* ------------------------------------------------------------------
   Light theme: global employee column + badge consistency
------------------------------------------------------------------- */
html[data-theme="light"] .content .table td .employee-cell {
  display: inline-flex;
  align-items: center;
  gap: 10px;
}

html[data-theme="light"] .content .table td .employee-cell-copy {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

html[data-theme="light"] .content .table td .employee-cell-name,
html[data-theme="light"] .content .table td .employee-cell-name:link,
html[data-theme="light"] .content .table td .employee-cell-name:visited {
  color: #2e71c9 !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  text-decoration: none;
}

html[data-theme="light"] .content .table td .employee-cell-name:hover {
  color: #1f5daa !important;
}

html[data-theme="light"] .content .table td .employee-cell-dept {
  color: #4f6791 !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
}

html[data-theme="light"] .content .table td .badge:not(.navbar-badge):not(.notification-badge):not(.badge-counter),
html[data-theme="light"] .content .table td .request-type-badge,
html[data-theme="light"] .content .table td .request-status-badge,
html[data-theme="light"] .content .table td .status-pill,
html[data-theme="light"] .content .table td .status {
  opacity: 1 !important;
  font-weight: 800 !important;
  letter-spacing: 0.15px !important;
  border-width: 1px !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.58), 0 4px 10px rgba(42, 84, 155, 0.12) !important;
}

html[data-theme="light"] .content .table td .request-type-badge,
html[data-theme="light"] .content .table td .request-type-badge i,
html[data-theme="light"] .content .table td .notification-title-badge {
  color: #1f3f6f !important;
}

html[data-theme="light"] .content .table td .request-type-badge--time-off,
html[data-theme="light"] .content .table td .notification-title-badge.badge-time-off {
  background: #dceeff !important;
  border-color: #7fb4ee !important;
  color: #184f90 !important;
}

html[data-theme="light"] .content .table td .request-type-badge--pto,
html[data-theme="light"] .content .table td .notification-title-badge.badge-pto {
  background: #ebe4ff !important;
  border-color: #ab95e6 !important;
  color: #49308b !important;
}

html[data-theme="light"] .content .table td .request-type-badge--leave-early,
html[data-theme="light"] .content .table td .notification-title-badge.badge-leave-early {
  background: #def4ff !important;
  border-color: #77bde4 !important;
  color: #14537a !important;
}

html[data-theme="light"] .content .table td .request-type-badge--late-arrival,
html[data-theme="light"] .content .table td .notification-title-badge.badge-late-arrival {
  background: #ffe4dd !important;
  border-color: #e79d8d !important;
  color: #8b2f2f !important;
}

html[data-theme="light"] .content .table td .notification-title-badge.badge-lunch-break {
  background: #ffefc7 !important;
  border-color: #e7bf6a !important;
  color: #7c5600 !important;
}

html[data-theme="light"] .content .table td .notification-title-badge.badge-fmla,
html[data-theme="light"] .content .table td .notification-title-badge.badge-default {
  background: #e2f4ff !important;
  border-color: #88c5de !important;
  color: #1d5470 !important;
}

/* ------------------------------------------------------------------
   Dark theme: notifications status pills aligned with light theme style
------------------------------------------------------------------- */
html:not([data-theme="light"]) #notificationTable .status.completed,
html:not([data-theme="light"]) #dashboardNotificationsBlock .status.completed {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 7px !important;
  min-height: 34px !important;
  padding: 6px 14px !important;
  border-radius: 999px !important;
  font-weight: 800 !important;
  letter-spacing: 0.15px !important;
  text-transform: uppercase;
  background: rgba(31, 182, 111, 0.18) !important;
  color: #8de0b8 !important;
  border: 1px solid rgba(72, 201, 136, 0.58) !important;
  box-shadow: inset 0 1px 0 rgba(180, 250, 216, 0.14), 0 6px 14px rgba(9, 28, 22, 0.28) !important;
}

html:not([data-theme="light"]) #notificationTable .status.on-hold,
html:not([data-theme="light"]) #dashboardNotificationsBlock .status.on-hold,
html:not([data-theme="light"]) #notificationTable .status.pending,
html:not([data-theme="light"]) #dashboardNotificationsBlock .status.pending {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 7px !important;
  min-height: 34px !important;
  padding: 6px 14px !important;
  border-radius: 999px !important;
  font-weight: 800 !important;
  letter-spacing: 0.15px !important;
  text-transform: uppercase;
  background: rgba(245, 196, 81, 0.2) !important;
  color: #ffd989 !important;
  border: 1px solid rgba(245, 196, 81, 0.6) !important;
  box-shadow: inset 0 1px 0 rgba(255, 236, 173, 0.2), 0 6px 14px rgba(43, 30, 6, 0.3) !important;
}

/* Light theme: improve top action colors on /time-off-requests */
html[data-theme="light"] .request-actions-bar .request-action-link {
  background: linear-gradient(165deg, rgba(248, 252, 255, 0.98), rgba(236, 244, 255, 0.98)) !important;
  border-color: rgba(42, 84, 155, 0.28) !important;
  color: #1f3967 !important;
  box-shadow: 0 6px 14px rgba(31, 66, 124, 0.14) !important;
}

html[data-theme="light"] .request-actions-bar .request-action-link i {
  color: currentColor !important;
  opacity: 1 !important;
}

html[data-theme="light"] .request-actions-bar .request-action-link:hover,
html[data-theme="light"] .request-actions-bar .request-action-link:focus {
  background: linear-gradient(165deg, rgba(236, 246, 255, 1), rgba(224, 238, 255, 1)) !important;
  border-color: rgba(42, 84, 155, 0.4) !important;
  color: #1a355d !important;
}

html[data-theme="light"] .request-actions-bar .request-action-link:nth-child(1) {
  background: linear-gradient(165deg, #e9f3ff, #dcecff) !important;
  border-color: #90b7ea !important;
}

html[data-theme="light"] .request-actions-bar .request-action-link:nth-child(2) {
  background: linear-gradient(165deg, #efeaff, #e3d8ff) !important;
  border-color: #b4a2ef !important;
}

html[data-theme="light"] .request-actions-bar .request-action-link:nth-child(3) {
  background: linear-gradient(165deg, #e6f8f6, #d5efec) !important;
  border-color: #8acfc6 !important;
}

html[data-theme="light"] .request-actions-bar .request-action-link:nth-child(4) {
  background: linear-gradient(165deg, #f3ecff, #e9dcff) !important;
  border-color: #bba1ef !important;
}

html[data-theme="light"] .request-actions-bar .request-action-link:nth-child(5) {
  background: linear-gradient(165deg, #fff5dd, #ffeac0) !important;
  border-color: #e8c37a !important;
}

html[data-theme="light"] .request-actions-bar .request-action-link:nth-child(6) {
  background: linear-gradient(165deg, #ffecec, #ffdcdc) !important;
  border-color: #e3a2a2 !important;
}

html[data-theme="light"] .request-actions-bar .request-action-link.request-action-link-primary {
  background: linear-gradient(165deg, #f8cf5f, #f2be3f) !important;
  border-color: rgba(222, 165, 47, 0.9) !important;
  color: #1b2340 !important;
  box-shadow: 0 8px 20px rgba(201, 145, 40, 0.22) !important;
}

/* Dark theme: add visual color separation for top action links on /time-off-requests */
html:not([data-theme="light"]) .request-actions-bar .request-action-link {
  color: #e8f0ff !important;
  border-color: rgba(122, 170, 232, 0.52) !important;
  box-shadow: 0 8px 18px rgba(8, 18, 44, 0.32) !important;
}

html:not([data-theme="light"]) .request-actions-bar .request-action-link i {
  color: currentColor !important;
  opacity: 1 !important;
}

html:not([data-theme="light"]) .request-actions-bar .request-action-link:nth-child(1) {
  background: linear-gradient(165deg, #2d4f86, #223f70) !important;
  border-color: rgba(110, 161, 233, 0.62) !important;
}

html:not([data-theme="light"]) .request-actions-bar .request-action-link:nth-child(2) {
  background: linear-gradient(165deg, #2b6178, #214e65) !important;
  border-color: rgba(107, 191, 217, 0.58) !important;
}

html:not([data-theme="light"]) .request-actions-bar .request-action-link:nth-child(3) {
  background: linear-gradient(165deg, #5a4886, #47386d) !important;
  border-color: rgba(170, 146, 230, 0.58) !important;
}

html:not([data-theme="light"]) .request-actions-bar .request-action-link:nth-child(4) {
  background: linear-gradient(165deg, #2f5f56, #254b44) !important;
  border-color: rgba(113, 202, 185, 0.58) !important;
}

html:not([data-theme="light"]) .request-actions-bar .request-action-link:nth-child(5) {
  background: linear-gradient(165deg, #6a4b2d, #553c24) !important;
  border-color: rgba(234, 189, 120, 0.56) !important;
}

html:not([data-theme="light"]) .request-actions-bar .request-action-link:nth-child(6) {
  background: linear-gradient(165deg, #7b3f4d, #643442) !important;
  border-color: rgba(233, 152, 167, 0.58) !important;
}

html:not([data-theme="light"]) .request-actions-bar .request-action-link:hover,
html:not([data-theme="light"]) .request-actions-bar .request-action-link:focus {
  filter: brightness(1.08);
  color: #f2f7ff !important;
}

html:not([data-theme="light"]) .request-actions-bar .request-action-link.request-action-link-primary {
  background: linear-gradient(165deg, #f8cf5f, #f2be3f) !important;
  border-color: rgba(222, 165, 47, 0.9) !important;
  color: #1b2340 !important;
  box-shadow: 0 8px 20px rgba(201, 145, 40, 0.3) !important;
}

/* Dark theme: ensure native date/time picker icon is visible */
html:not([data-theme="light"]) .content input[type="date"]::-webkit-calendar-picker-indicator,
html:not([data-theme="light"]) .content input[type="time"]::-webkit-calendar-picker-indicator,
html:not([data-theme="light"]) .content input[type="datetime-local"]::-webkit-calendar-picker-indicator {
  filter: invert(94%) sepia(8%) saturate(657%) hue-rotate(183deg) brightness(104%) contrast(96%);
  opacity: 0.92;
  cursor: pointer;
}

html:not([data-theme="light"]) .content input[type="date"]::-webkit-calendar-picker-indicator:hover,
html:not([data-theme="light"]) .content input[type="time"]::-webkit-calendar-picker-indicator:hover,
html:not([data-theme="light"]) .content input[type="datetime-local"]::-webkit-calendar-picker-indicator:hover {
  opacity: 1;
}

/* ------------------------------------------------------------------
   Light theme: notifications page status badges (NEW/SEEN) contrast fix
------------------------------------------------------------------- */
html[data-theme="light"] .notification-badge {
  background: #fff3d1 !important;
  border-color: #e0b64f !important;
  color: #7a5600 !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.8), 0 2px 6px rgba(122,86,0,0.08) !important;
}

html[data-theme="light"] .notification-badge i,
html[data-theme="light"] .notification-badge .fa-circle,
html[data-theme="light"] .notification-badge .fa-check-circle {
  color: inherit !important;
}

html[data-theme="light"] .notification-badge.notification-badge-seen {
  background: #dcf5e7 !important;
  border-color: #6ac489 !important;
  color: #1e6a3b !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.85), 0 2px 6px rgba(30,106,59,0.08) !important;
}
