/**
 * SOQ Admin / Staff Panel — same chrome as student & instructor panels.
 * White sidebar + white header + #F3F6FB canvas; blue/yellow only for accents.
 */

:root {
  /* Brand — SOQ Edu Navy + Gold (Blue/Lime strictly forbidden) */
  --soq-blue: #AF8D57;
  --soq-blue-dark: #8C6D3B;
  --soq-navy: #0F1E36;
  --soq-yellow: #C5A572;
  --soq-yellow-dark: #AF8D57;
  --soq-lime: #C5A572;
  /* Legacy tokens — mapped to Navy & Gold */
  --soq-pink: #AF8D57;
  --soq-purple: #0F1E36;
  --soq-text: #0F1E36;
  --soq-muted: #64748B;
  --soq-border: #E8E2D9;
  --soq-bg: #FBF9F5;
  --soq-white: #FFFFFF;
  --soq-radius: 14px;
  --primary: #0F1E36 !important;
  --info: #AF8D57 !important;
  --brand-navy: #0F1E36;
  --brand-navy-dark: #08111F;
  --brand-navy-light: #162848;
  --brand-gold: #C5A572;
  --brand-gold-dark: #AF8D57;
  --brand-gold-soft: #F7F2E9;

  /* Panel UI type + spacing scale */
  --soq-text-body: 16px;
  --soq-text-label: 14px;
  --soq-text-hint: 13px;
  --soq-text-section: 20px;
  --soq-text-page: 26px;
  --soq-space-field: 22px;
  --soq-space-section: 36px;
  --soq-control-h: 44px;
  --soq-section-pad: 24px;
}

/* Page canvas */
body {
  background: var(--soq-bg) !important;
  color: var(--soq-text) !important;
  font-size: var(--soq-text-body) !important;
  line-height: 1.5 !important;
}

.main-content,
.section,
.section-body {
  color: var(--soq-text) !important;
}

/* Shell matches student/instructor panel:
   white sidebar (258px), white 70px header, #F3F6FB content canvas. */
.main-content {
 margin-top: 70px !important;
 padding-top: 20px !important;
 padding-left: 278px !important; /* 258 sidebar + 20 gutter */
 padding-right: 20px !important;
 background: var(--soq-bg) !important;
 min-height: calc(100vh - 70px);
}

body.sidebar-mini .main-content {
 padding-left: 90px !important;
}

body.sidebar-gone .main-content {
 padding-left: 20px !important;
}

@media (max-width: 1024px) {
 .main-content {
 padding-left: 15px !important;
 padding-right: 15px !important;
 }
}

/* ========== SIDEBAR — same chrome as .panel-sidebar ========== */
.main-sidebar,
.main-sidebar.sidebar-show,
body .main-sidebar,
body.soq-admin-panel .main-sidebar {
 position: fixed !important;
 top: 70px !important;
 left: 0;
 height: calc(100vh - 70px) !important;
 background: #fff !important;
 background-color: #fff !important;
 box-shadow: none !important;
 border-right: 1px solid #E9EDF3 !important;
 width: 258px !important;
 z-index: 880 !important;
}

body.sidebar-gone .main-sidebar {
 left: -260px !important;
}

body.sidebar-show .main-sidebar {
 left: 0 !important;
}

body.sidebar-mini .main-sidebar {
 width: 65px !important;
 top: 70px !important;
 height: calc(100vh - 70px) !important;
}

body.sidebar-mini .main-sidebar:after {
 top: 70px !important;
 height: calc(100vh - 70px) !important;
 width: 65px !important;
 background-color: #fff !important;
}

/* Top bar — full-width white panel header (logo + nav + utils) */
.admin-header,
.admin-header.bg-primary,
.admin-header.bg-secondary,
body.soq-admin-panel .admin-header {
 position: fixed !important;
 top: 0 !important;
 left: 0 !important;
 right: 0 !important;
 width: 100% !important;
 height: 70px !important;
 background: #fff !important;
 background-color: #fff !important;
 border-bottom: 1px solid #E9EDF3 !important;
 box-shadow: none !important;
 padding-top: 0 !important;
 padding-left: 0 !important;
 padding-right: 0 !important;
 z-index: 895 !important;
}

body.sidebar-mini .admin-header,
body.sidebar-gone .admin-header {
 left: 0 !important;
}

@media (max-width: 991px) {
 .admin-header,
 .admin-header.bg-primary,
 .admin-header.bg-secondary {
 left: 0 !important;
 }

 .rtl .admin-header,
 .rtl .admin-header.bg-primary,
 .rtl .admin-header.bg-secondary {
 left: 0 !important;
 right: 0 !important;
 }
}

.rtl .admin-header,
.rtl .admin-header.bg-primary,
.rtl .admin-header.bg-secondary {
 left: 0 !important;
 right: 0 !important;
}

.rtl.sidebar-mini .admin-header {
 right: 0 !important;
}

/* Logo column aligns over 258px sidebar (same as .panel-header) */
.admin-header__logo-box {
  width: 258px;
  min-width: 258px;
  max-width: 258px;
  height: 70px;
  display: flex;
  align-items: center;
  flex-shrink: 0;
  border-right: 1px solid #E9EDF3;
}

.admin-header__logo {
  width: 192px;
  min-width: 120px;
  max-width: 192px;
  height: 44px;
}

.admin-header__logo img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.admin-header__contents {
  flex: 1 1 auto;
  min-width: 0;
  height: 70px;
  border-bottom: none;
}

.admin-header__nav .navbar-item {
  font-size: 14px !important;
  font-weight: 600 !important;
  color: #5A6A85 !important;
  white-space: nowrap;
  text-decoration: none !important;
}

.admin-header__nav .navbar-item:hover {
  color: var(--brand-navy, #0F1E36) !important;
}

@media (max-width: 991px) {
  .admin-header__logo-box {
    width: auto;
    min-width: 0;
    max-width: none;
    border-right: none;
    padding-left: 12px;
  }
  .admin-header__logo {
    width: 98px;
    min-width: 98px;
    max-width: 98px;
  }
}

/* Header controls: dark icons on white (panel parity) */
.admin-header .icons,
.admin-header .iconsax,
.admin-header svg.icons {
 color: var(--soq-text) !important;
 stroke: var(--soq-text);
}

.admin-header .d-flex-center.size-32.rounded-8,
.admin-header .size-32.d-flex-center,
.admin-header .bg-gray-100 {
 background-color: #F0F4F9 !important;
}

.admin-header .admin-header__item-divider {
 background-color: var(--soq-border) !important;
 opacity: 1 !important;
 width: 1px;
 height: 28px;
}

/* Reserve header-height band — logo lives in admin-header over this column */
.main-sidebar .sidebar-brand.soq-admin-sidebar-brand-spacer,
.main-sidebar .sidebar-brand-sm.soq-admin-sidebar-brand-spacer {
  display: none !important;
  height: 0 !important;
  min-height: 0 !important;
  max-height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow: hidden !important;
  border: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

/* Profile block — match student .panel-sidebar (below header logo) */
.soq-admin-sidebar__profile {
  padding: 8px 20px 16px !important;
  text-align: center;
}

.soq-admin-sidebar__avatar.size-64.rounded-circle,
.soq-admin-sidebar__avatar {
  border: 4px solid #F5F8F9 !important;
  overflow: hidden !important;
  width: 72px !important;
  height: 72px !important;
  min-width: 72px !important;
  min-height: 72px !important;
  flex-shrink: 0;
  background: #fff;
}

.soq-admin-sidebar__avatar img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;
  display: block;
}

.soq-admin-sidebar__stats {
  background: #F5F8F9 !important;
  max-width: 100%;
  box-sizing: border-box;
}

.soq-admin-sidebar__stats-divider {
  width: 1px;
  height: 28px;
  background: #D8E0EC;
  flex-shrink: 0;
}

.main-sidebar .sidebar-brand,
.main-sidebar .sidebar-brand a,
.main-sidebar .sidebar-brand-text {
 color: var(--soq-text) !important;
 font-weight: 800 !important;
 letter-spacing: 0.02em;
}

.main-sidebar .sidebar-menu,
.main-sidebar .sidebar-menu li,
.main-sidebar .sidebar-menu li a,
.main-sidebar .sidebar-menu li a span,
.main-sidebar .sidebar-menu li a i,
.main-sidebar .sidebar-menu .nav-link,
.main-sidebar ul.sidebar-menu li a {
 color: var(--soq-text) !important;
}

.main-sidebar .sidebar-menu .menu-header {
 color: var(--soq-muted) !important;
 opacity: 1 !important;
 font-weight: 700 !important;
 font-size: 12px !important;
 letter-spacing: 0.06em !important;
 text-transform: uppercase !important;
 margin-top: 16px !important;
 margin-bottom: 8px !important;
 padding: 0 20px 0 32px !important;
 background: transparent !important;
}

.main-sidebar .sidebar-menu li a {
 border-radius: 12px !important;
 margin: 2px 10px !important;
 padding: 10px 14px !important;
 font-weight: 600 !important;
 font-size: 15px !important;
 line-height: 1.45 !important;
 display: flex !important;
 align-items: center !important;
 gap: 8px !important;
 min-height: 40px !important;
 position: relative !important;
}

.main-sidebar .sidebar-menu li a span {
  flex: 1 1 auto;
  text-align: left !important;
  line-height: 1.35 !important;
}

.main-sidebar .sidebar-menu li a .soq-sidebar-icon {
 width: 20px !important;
 height: 20px !important;
 min-width: 20px !important;
 margin-right: 0 !important;
 display: inline-flex !important;
 vertical-align: middle !important;
 object-fit: contain !important;
 mix-blend-mode: normal;
 filter: none;
 color: #5A6A85 !important;
 stroke: #5A6A85 !important;
 flex-shrink: 0 !important;
}

.main-sidebar .sidebar-menu li a:hover .soq-sidebar-icon,
.main-sidebar .sidebar-menu li.active > a .soq-sidebar-icon {
 color: var(--brand-gold-dark, #AF8D57) !important;
 stroke: var(--brand-gold-dark, #AF8D57) !important;
 filter: none !important;
 transform: none;
}

.main-sidebar .sidebar-menu li a:hover {
 background: var(--brand-gold-soft, #F7F2E9) !important;
 color: var(--brand-navy, #0F1E36) !important;
}

/* Active = panel soft gold wash */
.main-sidebar .sidebar-menu li.active > a,
.main-sidebar .sidebar-menu li a.active {
 background: var(--brand-gold-soft, #F7F2E9) !important;
 color: var(--brand-navy, #0F1E36) !important;
 border-left: none !important;
 box-shadow: none !important;
}

.main-sidebar .sidebar-menu li.active > a i,
.main-sidebar .sidebar-menu li.active > a span {
 color: var(--brand-navy, #0F1E36) !important;
}

/* Dropdown chevron — close to label */
.main-sidebar .sidebar-menu li a.has-dropdown:after {
  content: "" !important;
  font-family: inherit !important;
  position: relative !important;
  right: auto !important;
  top: auto !important;
  left: auto !important;
  bottom: auto !important;
  margin: 0 0 0 8px !important;
  display: inline-block !important;
  flex-shrink: 0 !important;
  width: 6.5px !important;
  height: 6.5px !important;
  border-right: 2px solid #97A7BF !important;
  border-bottom: 2px solid #97A7BF !important;
  transform: rotate(-45deg) !important;
  transition: transform 0.15s ease !important;
  background: none !important;
}

.main-sidebar .sidebar-menu li.active > a.has-dropdown:after {
  transform: rotate(45deg) !important;
  border-color: var(--brand-gold-dark, #AF8D57) !important;
}

/* Nested menus — indented like panel submenu */
.main-sidebar .sidebar-menu li.active ul.dropdown-menu,
.main-sidebar .sidebar-menu li ul.dropdown-menu,
.main-sidebar .sidebar-menu li.active > ul.dropdown-menu {
 background: transparent !important;
 background-color: transparent !important;
 padding: 0 0 6px !important;
 margin: 0 !important;
}

.main-sidebar .sidebar-menu li ul.dropdown-menu li a,
.main-sidebar .sidebar-menu li ul.dropdown-menu li a.nav-link,
.main-sidebar .sidebar-menu li.active ul.dropdown-menu li a,
.main-sidebar .sidebar-menu li.active ul.dropdown-menu li a.nav-link,
.main-sidebar .sidebar-menu li.active ul.dropdown-menu li a:not(.has-dropdown) {
 background: transparent !important;
 background-color: transparent !important;
 color: #5A6A85 !important;
 border-left: none !important;
 font-weight: 500 !important;
 font-size: 14px !important;
 opacity: 1 !important;
 margin: 0 10px !important;
 padding: 8px 14px 8px 42px !important;
 min-height: 36px !important;
 border-radius: 10px !important;
 display: flex !important;
 align-items: center !important;
 gap: 0 !important;
 position: relative !important;
}

.main-sidebar .sidebar-menu li ul.dropdown-menu li a::before {
  content: "" !important;
  width: 8px !important;
  height: 8px !important;
  min-width: 8px !important;
  border-radius: 50% !important;
  border: 1px solid #CDD5E2 !important;
  margin-right: 12px !important;
  box-sizing: border-box !important;
  flex-shrink: 0 !important;
}

.main-sidebar .sidebar-menu li ul.dropdown-menu li a:hover,
.main-sidebar .sidebar-menu li.active ul.dropdown-menu li a:hover,
.main-sidebar .sidebar-menu li.active > ul.dropdown-menu li a:hover {
 background: var(--brand-gold-soft, #F7F2E9) !important;
 color: var(--brand-navy, #0F1E36) !important;
}

.main-sidebar .sidebar-menu li ul.dropdown-menu li.active > a,
.main-sidebar .sidebar-menu li.active ul.dropdown-menu li.active > a {
 background: var(--brand-gold-soft, #F7F2E9) !important;
 color: var(--brand-navy, #0F1E36) !important;
 border-left: none !important;
 font-weight: 600 !important;
}

.main-sidebar .sidebar-menu li ul.dropdown-menu li.active > a::before,
.main-sidebar .sidebar-menu li.active ul.dropdown-menu li.active > a::before {
  border-color: var(--brand-gold-dark, #AF8D57) !important;
  background: var(--brand-gold-dark, #AF8D57) !important;
}

/* ========== TOP NAVBAR ========== */
.navbar-bg,
.main-navbar,
.navbar {
  background: var(--soq-white) !important;
  border-bottom: 1px solid var(--soq-border) !important;
  box-shadow: 0 2px 10px rgba(18, 31, 62, 0.04) !important;
}

.navbar .nav-link,
.navbar .nav-link i,
.navbar .dropdown-toggle,
.navbar .navbar-nav a {
  color: var(--soq-text) !important;
}

/* ========== WELCOME / HERO BANNER ========== */
.dashboard-banner,
.admin-dashboard-banner,
.welcome-card,
.card.bg-primary,
.card[class*="welcome"],
.section .card.bg-dark,
.dashboard .welcome,
div[class*="dashboard"] > .card.bg-primary,
.card.card-hero,
.hero-section,
/* Legacy admin welcome box often uses dark blue bg with blue heading */
.dashboard-section .bg-primary,
.card.bg-primary .card-body,
.card.bg-dark .card-body {
  color: #fff !important;
}

/* Force readable headings inside dark banners */
.card.bg-primary h1,
.card.bg-primary h2,
.card.bg-primary h3,
.card.bg-primary h4,
.card.bg-primary h5,
.card.bg-primary p,
.card.bg-primary span,
.card.bg-dark h1,
.card.bg-dark h2,
.card.bg-dark h3,
.card.bg-dark h4,
.card.bg-dark p,
.card.bg-dark span,
.card.bg-primary .text-primary,
.card.bg-dark .text-primary {
  color: #fff !important;
}

/* Welcome title specifically often uses text-primary on dark — override */
.card.bg-primary .text-primary,
.card.bg-dark .text-primary,
[style*="background"] .text-primary {
  color: var(--soq-yellow) !important;
}

/* Banner outline buttons → solid yellow CTAs */
.card.bg-primary .btn-outline-white,
.card.bg-primary .btn-outline-light,
.card.bg-primary .btn-outline-primary,
.card.bg-dark .btn-outline-white,
.card.bg-dark .btn-outline-light,
.card.bg-dark .btn-outline-primary,
.card.bg-primary a.btn,
.card.bg-dark a.btn {
  background: var(--soq-yellow) !important;
  border: none !important;
  color: #111 !important;
  border-radius: 999px !important;
  font-weight: 800 !important;
  padding: 8px 16px !important;
  box-shadow: 0 6px 16px rgba(204, 255, 0, 0.3) !important;
}

.card.bg-primary a.btn:hover,
.card.bg-dark a.btn:hover {
  background: var(--soq-yellow-dark) !important;
  color: #111 !important;
}

/* ========== CARDS ========== */
.card {
  background: var(--soq-white) !important;
  border: 1px solid var(--soq-border) !important;
  border-radius: var(--soq-radius) !important;
  box-shadow: 0 8px 22px rgba(18, 31, 62, 0.06) !important;
  overflow: hidden;
}

.card .card-header {
  background: transparent !important;
  border-bottom: 1px solid var(--soq-border) !important;
  color: var(--soq-text) !important;
  padding: 16px 20px !important;
}

.card .card-header h4,
.card .card-header h1,
.card .card-title,
.section-header h1,
.section-title {
  color: var(--soq-text) !important;
  font-weight: 800 !important;
}

.section-header h1 {
  font-size: var(--soq-text-page) !important;
  line-height: 1.3 !important;
}

/* Elevate section-header from content canvas into navbar */
.section .section-header {
  display: none !important;
  height: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  overflow: hidden !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

.card .card-body {
  color: var(--soq-text) !important;
  padding: var(--soq-section-pad) 28px !important;
}

@media (max-width: 767px) {
  .card .card-body {
    padding: 20px 16px !important;
  }

  .section-header h1 {
    font-size: 22px !important;
  }
}

.card .text-muted,
.card small,
.card .card-stats-item-label,
.card-stats-title {
  color: var(--soq-muted) !important;
}

.card h1, .card h2, .card h3, .card h4, .card h5, .card h6,
.card .card-stats-item-count,
.card.card-statistic-1 .card-header h4,
.card.card-statistic-2 .card-header h4 {
  color: var(--soq-text) !important;
}

/* Stat icon boxes — blue only (no pastel rainbow) */
.card.card-statistic-1 .card-icon,
.card.card-statistic-2 .card-icon,
.card .card-icon,
.stat-widget .icon,
.dashboard-stats .icon {
  background: #EEF2FF !important;
  color: var(--soq-blue) !important;
  border-radius: 12px !important;
}

.card.card-statistic-1 .card-icon i,
.card.card-statistic-2 .card-icon i,
.card .card-icon i {
  color: var(--soq-blue) !important;
}

/* Small metric tiles — unify to blue/yellow family */
.card.card-primary,
.card.bg-info,
.card.bg-success,
.card.bg-warning,
.card.bg-danger,
.card.bg-secondary {
  background: var(--soq-white) !important;
  color: var(--soq-text) !important;
  border: 1px solid var(--soq-border) !important;
}

/* Colored soft tiles often used on dashboard */
.bg-primary-light,
.bg-info-light,
.bg-success-light,
.bg-warning-light,
.bg-danger-light,
[class*="bg-"][class*="-light"] {
  background: #EEF2FF !important;
  color: var(--soq-text) !important;
}

.bg-success-light,
.bg-warning-light {
  background: #F4FFCC !important;
  color: var(--soq-text) !important;
}

/* ========== BUTTONS ========== */
.btn {
  border-radius: 999px !important;
  font-weight: 700 !important;
  min-height: 36px;
  padding: 8px 18px !important;
  line-height: 1.3 !important;
}

.btn-primary {
  background: var(--soq-blue) !important;
  border-color: var(--soq-blue) !important;
  color: #fff !important;
}

.btn-primary:hover {
  background: var(--soq-blue-dark) !important;
  border-color: var(--soq-blue-dark) !important;
  color: #fff !important;
}

.btn-success,
.btn-warning {
  background: var(--soq-yellow) !important;
  border-color: var(--soq-yellow) !important;
  color: #111 !important;
}

.btn-success:hover,
.btn-warning:hover {
  background: var(--soq-yellow-dark) !important;
  color: #111 !important;
}

.btn-outline-primary {
  background: transparent !important;
  border: 2px solid var(--soq-blue) !important;
  color: var(--soq-blue) !important;
}

.btn-outline-primary:hover {
  background: var(--soq-blue) !important;
  color: #fff !important;
}

.btn-info {
  background: var(--soq-blue) !important;
  border-color: var(--soq-blue) !important;
  color: #fff !important;
}

.btn-danger {
  background: #E11D48 !important;
  border-color: #E11D48 !important;
  color: #fff !important;
}

.btn-secondary,
.btn-light {
  background: #EEF2FF !important;
  border-color: #EEF2FF !important;
  color: var(--soq-text) !important;
}

/* ========== LINKS & TEXT ========== */
a {
  color: var(--soq-blue);
}

a:hover {
  color: var(--soq-blue-dark);
}

.text-primary {
  color: var(--soq-blue) !important;
}

/* Never use neon yellow as body text on white */
.text-success {
  color: #5B7A00 !important;
  font-weight: 700;
}

.text-warning {
  color: #B45309 !important;
}

.text-danger {
  color: #BE123C !important;
}

.text-muted {
  color: var(--soq-muted) !important;
}

/* ========== TABLES ========== */
.table {
  color: var(--soq-text) !important;
}

.table thead th {
  color: var(--soq-muted) !important;
  font-weight: 700 !important;
  border-bottom: 1px solid var(--soq-border) !important;
  background: #F8FAFD !important;
}

.table td,
.table th {
  border-color: var(--soq-border) !important;
  vertical-align: middle !important;
  padding: 12px 14px !important;
}

.table-actions.dropdown .dropdown-menu button:hover,
.table-actions.dropdown .dropdown-menu a:hover {
  color: var(--soq-blue) !important;
}

/* ========== FORMS ========== */
.form-control,
.custom-select,
.select2-container--default .select2-selection--single {
  border: 1px solid var(--soq-border) !important;
  border-radius: 10px !important;
  color: var(--soq-text) !important;
  min-height: var(--soq-control-h) !important;
  font-size: var(--soq-text-body) !important;
  padding-top: 10px !important;
  padding-bottom: 10px !important;
}

.form-control:focus {
  border-color: var(--soq-blue) !important;
  box-shadow: 0 0 0 3px rgba(0, 51, 204, 0.15) !important;
}

label,
.form-group label,
.control-label,
.input-label {
  color: var(--soq-text) !important;
  font-weight: 600 !important;
  font-size: var(--soq-text-label) !important;
  line-height: 1.4 !important;
  margin-bottom: 8px !important;
}

.form-group {
  margin-bottom: var(--soq-space-field) !important;
}

.form-group.mt-15 {
  margin-top: var(--soq-space-field) !important;
}

.text-gray-500.text-small,
.form-group .text-small,
.form-group .text-muted,
.form-group p.mt-1 {
  font-size: var(--soq-text-hint) !important;
  color: var(--soq-muted) !important;
  line-height: 1.45 !important;
}

/* ========== CHART TOGGLE / PILLS ========== */
.btn-group .btn.active,
.nav-pills .nav-link.active,
.year-month-switch .active {
  background: var(--soq-blue) !important;
  color: #fff !important;
  border-color: var(--soq-blue) !important;
}

/* ========== BADGES ========== */
.badge-primary,
.badge.badge-primary {
  background: var(--soq-blue) !important;
  color: #fff !important;
}

.badge-success,
.badge.badge-success {
  background: var(--soq-yellow) !important;
  color: #111 !important;
}

.badge-warning {
  background: #FEF3C7 !important;
  color: #92400E !important;
}

.badge-danger {
  background: #FEE2E2 !important;
  color: #991B1B !important;
}

.badge-info {
  background: #DBEAFE !important;
  color: #1E40AF !important;
}

/* ========== FOOTER ========== */
.main-footer {
  background: transparent !important;
  color: var(--soq-muted) !important;
  border-top: 1px solid var(--soq-border) !important;
}

/* ========== SPACING FIXES ========== */
.row > [class*="col-"] {
  margin-bottom: 16px;
}

/* Avatar initials readable */
.avatar,
.user-inline-avatar .avatar {
  background: var(--soq-blue) !important;
  color: #fff !important;
  font-weight: 700 !important;
}

/* Fix low-contrast hover greens from custom.css (content menus only — not sidebar) */
.table-actions.dropdown .dropdown-menu button:hover,
.table-actions.dropdown .dropdown-menu a:hover,
.main-content .dropdown-menu a:hover,
.section .dropdown-menu a:hover {
  color: var(--soq-blue) !important;
  background: #EEF2FF !important;
}

/* ========== LAYOUT FIXES v3 ========== */

/* Sidebar section headers — muted caps like user panel groups */
.main-sidebar .sidebar-menu li.menu-header {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 8px !important;
  position: static !important;
  float: none !important;
  clear: both !important;
  height: auto !important;
  min-height: 40px !important;
  line-height: 1.35 !important;
  width: calc(100% - 24px) !important;
  max-width: calc(100% - 24px) !important;
  box-sizing: border-box !important;
  padding: 8px 24px 8px 16px !important;
  margin: 16px 12px 8px !important;
  color: var(--soq-muted) !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  opacity: 1 !important;
  overflow: visible !important;
  pointer-events: auto !important;
  cursor: pointer !important;
  user-select: none !important;
  background: transparent !important;
  border: none !important;
  border-left: none !important;
  border-radius: 0 !important;
  transition: color 0.15s ease;
}

.main-sidebar .sidebar-menu li.menu-header:hover {
  background: transparent !important;
  color: var(--soq-blue) !important;
}

/* Toggle button — panel-soft control */
.main-sidebar .sidebar-menu li.menu-header .soq-section-toggle {
  flex-shrink: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: inherit !important;
  cursor: pointer !important;
  line-height: 1 !important;
  box-shadow: none !important;
  outline: none !important;
  pointer-events: auto !important;
}

.main-sidebar .sidebar-menu li.menu-header .soq-section-toggle:hover {
  background: transparent !important;
}

.main-sidebar .sidebar-menu li.menu-header .soq-section-toggle i {
  font-size: 12px !important;
  color: var(--soq-blue) !important;
  transition: transform 0.2s ease;
}

.main-sidebar .sidebar-menu li.menu-header.is-collapsed .soq-section-toggle i {
  transform: rotate(-90deg);
}

/* Must beat `display: block !important` below — jQuery .hide()/slideUp cannot. */
.main-sidebar .sidebar-menu > li.soq-section-item.soq-section-hidden {
  display: none !important;
}

.main-sidebar .sidebar-menu > li:not(.menu-header):not(.soq-section-hidden) {
  position: relative !important;
  display: block !important;
  clear: both !important;
}

.main-sidebar .sidebar-menu > li:not(.menu-header) > a {
  display: flex !important;
  align-items: center !important;
  height: 44px !important;
  min-height: 44px !important;
  width: calc(100% - 24px) !important;
  max-width: calc(100% - 24px) !important;
  box-sizing: border-box !important;
  margin: 2px 12px !important;
  padding: 0 14px !important;
  line-height: 1.3 !important;
  overflow: visible !important;
}

.main-sidebar .sidebar-menu li a span {
  width: auto !important;
  margin-top: 0 !important;
}

/* ========== DASHBOARD — panel parity (blue + lime only) ========== */

.soq-admin-dashboard {
  --soq-lime: #CCFF00;
  --soq-navy-deep: #0A1F5C;
}

/* Hero — solid brand blue welcome (same language as student hello box) */
.hero.soq-admin-hero,
.soq-admin-hero.hero-bg-image,
.hero.soq-admin-hero.hero-bg-image {
  position: relative !important;
  overflow: hidden !important;
  background-image: none !important;
  background: var(--brand-navy, #0F1E36) !important;
  background-color: var(--brand-navy, #0F1E36) !important;
  padding: 32px 36px !important;
  min-height: 200px !important;
  border-radius: 16px !important;
  border: none !important;
  box-shadow: 0 8px 20px rgba(18, 31, 62, 0.06) !important;
}

.soq-admin-hero.hero-bg-image:before,
.soq-admin-hero::before {
  display: none !important;
  content: none !important;
}

.soq-admin-hero .hero-inner {
  position: relative;
  z-index: 2;
}

.soq-admin-hero .hero-inner,
.soq-admin-hero h2,
.soq-admin-hero p,
.soq-admin-hero .lead,
.soq-admin-hero__title,
.soq-admin-hero__lead,
.soq-admin-hero__eyebrow {
  color: #ffffff !important;
}

.soq-admin-hero__eyebrow {
  font-family: inherit !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #CCFF00 !important;
  margin: 0 0 10px !important;
}

.soq-admin-hero h2,
.soq-admin-hero__title {
  font-family: inherit !important;
  font-size: clamp(1.5rem, 2.2vw, 2rem) !important;
  font-weight: 800 !important;
  line-height: 1.3 !important;
  margin: 0 0 12px !important;
  max-width: 720px;
}

.soq-admin-hero__script {
  display: none !important;
}

.soq-admin-hero__lead {
  font-size: 1rem !important;
  line-height: 1.6 !important;
  opacity: 0.95;
  max-width: 560px;
  margin-bottom: 18px !important;
  font-weight: 500 !important;
}

.soq-admin-hero__row {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: space-between;
  gap: 16px;
}

.soq-admin-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

/* Yellow CTAs on hero */
.soq-admin-cta {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  background: #CCFF00 !important;
  color: #111 !important;
  font-weight: 800 !important;
  font-size: 0.95rem !important;
  border-radius: 999px !important;
  padding: 12px 22px !important;
  border: none !important;
  text-decoration: none !important;
  margin: 0 !important;
  box-shadow: none !important;
  transition: transform 0.15s ease, background 0.15s ease;
}
.soq-admin-cta:hover {
  background: #B8E600 !important;
  color: #111 !important;
  transform: translateY(-1px);
}
.soq-admin-cta--ghost {
  background: transparent !important;
  color: #fff !important;
  border: 2px solid #fff !important;
  box-shadow: none !important;
}
.soq-admin-cta--ghost:hover {
  background: rgba(255, 255, 255, 0.15) !important;
  color: #fff !important;
}

/* Base statistic card layout */
.card.card-statistic-1,
.card.card-statistic-2 {
  display: inline-block !important;
  width: 100% !important;
  overflow: visible !important;
  padding: 0 !important;
  border: none !important;
  border-radius: 22px !important;
  box-shadow: 0 14px 36px rgba(18, 31, 62, 0.12) !important;
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.card.card-statistic-1:hover,
.card.card-statistic-2:hover {
  transform: translateY(-4px);
  box-shadow: 0 20px 44px rgba(18, 31, 62, 0.18) !important;
}

.card.card-statistic-1 .card-icon,
.card.card-statistic-2 .card-icon {
  float: left !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.card.card-statistic-2 .card-icon {
  width: 52px !important;
  height: 52px !important;
  margin: 18px 14px 18px 18px !important;
}

.card.card-statistic-1 .card-icon {
  width: 60px !important;
  height: 60px !important;
  margin: 18px !important;
}

.card.card-statistic-1 .card-wrap,
.card.card-statistic-2 .card-wrap {
  overflow: hidden !important;
}

.card.card-statistic-1 .card-header,
.card.card-statistic-2 .card-header {
  padding: 18px 16px 0 0 !important;
  border: none !important;
  min-height: 0 !important;
  background: transparent !important;
}

.card.card-statistic-1 .card-header h4,
.card.card-statistic-2 .card-header h4 {
  font-size: 0.95rem !important;
  font-weight: 700 !important;
  margin: 0 !important;
  letter-spacing: 0.01em;
}

.card.card-statistic-1 .card-body,
.card.card-statistic-2 .card-body {
  padding: 6px 18px 20px 0 !important;
  font-size: clamp(1.75rem, 2.6vw, 2.35rem) !important;
  font-weight: 800 !important;
  line-height: 1.15 !important;
}

.card.card-statistic-2 .card-stats {
  padding: 20px 20px 4px !important;
}

.card .card-stats-title {
  margin-bottom: 14px !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  line-height: 1.5 !important;
}

.card .card-stats-items {
  display: flex !important;
  justify-content: space-between !important;
  gap: 8px !important;
  padding-bottom: 10px !important;
}

.card .card-stats-item {
  flex: 1 !important;
  text-align: left !important;
  padding: 0 4px !important;
}

.card .card-stats-item-count {
  font-size: clamp(1.15rem, 1.8vw, 1.45rem) !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
}

.card .card-stats-item-label,
.card .text-gray-500 {
  font-size: 13px !important;
  font-weight: 600 !important;
  margin-top: 2px;
}

/* Colored big-stat cards (path-card energy)
   Titles sit on a white pill (.card-stats-title bg) — must stay dark.
   Body/header labels sit on the colored card — white on blue/pink, dark on lime.
   Do not use color:inherit on h4: .card .card-header forces --soq-text and would win. */
.soq-dash-stat {
  color: #fff !important;
}

/* White pill titles — readable on every color card */
.card.soq-dash-stat .card-stats-title {
  color: #111 !important;
}

.card.soq-dash-stat.card-statistic-2 .card-body,
.card.soq-dash-stat .card-stats-item-count,
.card.soq-dash-stat .card-stats-item-label,
.card.soq-dash-stat .text-gray-500,
.card.soq-dash-stat .icons {
  color: inherit !important;
}

.card.soq-dash-stat .card-stats-item-label,
.card.soq-dash-stat .text-gray-500 {
  opacity: 0.9;
  color: inherit !important;
}

.card.soq-dash-stat.card-statistic-2 .card-icon,
.soq-dash-stat .card-icon {
  background: rgba(255, 255, 255, 0.2) !important;
  color: #fff !important;
}

.card.soq-dash-stat.card-statistic-2 .card-icon .icons,
.soq-dash-stat .card-icon .icons {
  color: #fff !important;
}

.card.soq-dash-stat--blue.card-statistic-2 {
  background: var(--brand-navy, #0F1E36) !important;
}

.card.soq-dash-stat--navy.card-statistic-2,
.card.soq-dash-stat--pink.card-statistic-2 {
  background: var(--brand-navy, #0F1E36) !important;
}

/* Beat global .card .card-header / h4 --soq-text on blue & navy */
.card.soq-dash-stat--blue.card-statistic-2 .card-header,
.card.soq-dash-stat--blue.card-statistic-2 .card-header h4,
.card.soq-dash-stat--blue.card-statistic-2 .card-body,
.card.soq-dash-stat--navy.card-statistic-2 .card-header,
.card.soq-dash-stat--navy.card-statistic-2 .card-header h4,
.card.soq-dash-stat--navy.card-statistic-2 .card-body,
.card.soq-dash-stat--pink.card-statistic-2 .card-header,
.card.soq-dash-stat--pink.card-statistic-2 .card-header h4,
.card.soq-dash-stat--pink.card-statistic-2 .card-body {
  color: #fff !important;
}

.card.soq-dash-stat--lime.card-statistic-2 {
  background: var(--brand-gold, #C5A572) !important;
  color: var(--brand-navy, #0F1E36) !important;
}

.card.soq-dash-stat--lime.card-statistic-2 .card-header,
.card.soq-dash-stat--lime.card-statistic-2 .card-header h4,
.card.soq-dash-stat--lime.card-statistic-2 .card-body,
.card.soq-dash-stat--lime .card-stats-item-count,
.card.soq-dash-stat--lime .card-stats-item-label,
.card.soq-dash-stat--lime .text-gray-500 {
  color: var(--brand-navy, #0F1E36) !important;
}

.card.soq-dash-stat--lime.card-statistic-2 .card-icon,
.soq-dash-stat--lime .card-icon {
  background: rgba(15, 30, 54, 0.12) !important;
}

.card.soq-dash-stat--lime.card-statistic-2 .card-icon .icons,
.soq-dash-stat--lime .card-icon .icons {
  color: var(--brand-navy, #0F1E36) !important;
}

/* Kill global white-card paint on colored stats */
.card.soq-dash-stat.card-statistic-2 {
  border: none !important;
}

/* Metric tiles — equal height/layout regardless of label length */
.soq-dash-metrics-row {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: stretch !important;
}

.soq-dash-metrics-row > [class*="col-"] {
  display: flex !important;
  margin-bottom: 24px;
}

.card.soq-dash-metric.card-statistic-1,
a.card.soq-dash-metric.card-statistic-1 {
  text-decoration: none !important;
  background: #fff !important;
  border: 2px solid transparent !important;
  display: flex !important;
  align-items: flex-start !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 132px !important;
  box-sizing: border-box !important;
  float: none !important;
}

.card.soq-dash-metric.card-statistic-1 .card-icon,
.card.soq-dash-metric.card-statistic-1 .soq-metric-icon {
  float: none !important;
  flex: 0 0 60px !important;
  width: 60px !important;
  height: 60px !important;
  margin: 18px 14px 18px 18px !important;
  background: var(--brand-gold-soft, #F7F2E9) !important;
}

.card.soq-dash-metric.card-statistic-1 .card-wrap {
  flex: 1 1 auto !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  min-width: 0 !important;
  overflow: hidden !important;
  padding-right: 14px !important;
  float: none !important;
}

.card.soq-dash-metric.card-statistic-1 .card-header {
  padding: 18px 0 0 0 !important;
  min-height: 52px !important;
  display: flex !important;
  align-items: flex-start !important;
}

.card.soq-dash-metric.card-statistic-1 .card-header h4,
.soq-dash-metric .card-header h4 {
  color: #5A6A85 !important;
  font-size: 14px !important;
  line-height: 1.3 !important;
  display: -webkit-box !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  overflow: hidden !important;
  max-height: 2.6em !important;
  width: 100% !important;
}

.card.soq-dash-metric.card-statistic-1 .card-body,
.soq-dash-metric .card-body {
  color: #121F3E !important;
  padding: 4px 0 18px 0 !important;
  margin-top: auto !important;
}

.card.soq-dash-metric--blue.card-statistic-1 {
  border-color: rgba(197, 165, 114, 0.3) !important;
}
.card.soq-dash-metric--blue.card-statistic-1 .soq-metric-icon,
.card.soq-dash-metric--blue.card-statistic-1 .card-icon {
  background: var(--brand-navy, #0F1E36) !important;
}
.card.soq-dash-metric--blue.card-statistic-1 .icons { color: var(--brand-gold, #C5A572) !important; }

.card.soq-dash-metric--lime.card-statistic-1 {
  border-color: rgba(197, 165, 114, 0.45) !important;
}
.card.soq-dash-metric--lime.card-statistic-1 .soq-metric-icon,
.card.soq-dash-metric--lime.card-statistic-1 .card-icon {
  background: var(--brand-gold, #C5A572) !important;
}
.card.soq-dash-metric--lime.card-statistic-1 .icons { color: var(--brand-navy, #0F1E36) !important; }

/* Chart / comments panels */
.soq-admin-dashboard .soq-dash-panel {
  border-radius: 16px !important;
  border: 1px solid rgba(205, 213, 226, 0.65) !important;
  box-shadow: 0 8px 20px rgba(18, 31, 62, 0.06) !important;
  overflow: hidden;
}

.soq-admin-dashboard .soq-dash-panel .card-header {
  border-bottom: 1px solid #EEF2FF !important;
  padding: 20px 22px !important;
  background: #fff !important;
}

.soq-admin-dashboard .soq-dash-panel__title,
.soq-admin-dashboard .soq-dash-panel .card-header h4 {
  font-family: inherit !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  color: #121F3E !important;
  margin: 0 !important;
  line-height: 1.4 !important;
  text-transform: none !important;
}

.soq-admin-dashboard .statistic-details-item .detail-value {
  font-size: 1.35rem !important;
  font-weight: 800 !important;
  color: #121F3E !important;
}

.soq-admin-dashboard .statistic-details-item .detail-name {
  font-size: 14px !important;
  font-weight: 600 !important;
}

/* List hero cards (tickets / live / courses) */
.soq-admin-dashboard .soq-dash-list.card-hero {
  border: none !important;
  border-radius: 22px !important;
  overflow: hidden;
  box-shadow: 0 14px 36px rgba(18, 31, 62, 0.12) !important;
}

.soq-admin-dashboard .soq-dash-list .card-header {
  border: none !important;
  padding: 24px 22px 18px !important;
  color: #fff !important;
}

.soq-admin-dashboard .soq-dash-list .card-header h4,
.soq-admin-dashboard .soq-dash-list .card-header .card-description,
.soq-admin-dashboard .soq-dash-list .card-header .icons {
  color: #fff !important;
}

.soq-admin-dashboard .soq-dash-list .card-header h4 {
  font-family: inherit !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
  margin: 12px 0 8px !important;
  text-transform: none !important;
}

.soq-admin-dashboard .soq-dash-list .card-description {
  font-size: 0.95rem !important;
  font-weight: 600 !important;
  opacity: 0.9;
}

.soq-admin-dashboard .soq-dash-list--blue .card-header {
  background: var(--brand-navy, #0F1E36) !important;
}

.soq-admin-dashboard .soq-dash-list--lime .card-header,
.soq-admin-dashboard .soq-dash-list--pink .card-header,
.soq-admin-dashboard .soq-dash-list--purple .card-header {
  background: var(--brand-navy, #0F1E36) !important;
}

.soq-admin-dashboard .soq-dash-list .card-body {
  background: #fff !important;
}

.soq-admin-dashboard .soq-dash-list .ticket-title h4 {
  font-size: 0.95rem !important;
  font-weight: 700 !important;
}

.soq-admin-dashboard .btn.btn-primary.btn-round {
  border-radius: 999px !important;
  font-weight: 800 !important;
  padding: 10px 22px !important;
}

@media (max-width: 768px) {
  .hero.soq-admin-hero {
    padding: 28px 22px !important;
    min-height: 0 !important;
  }

  .soq-admin-hero__title {
    font-size: 1.15rem !important;
  }

  .card.card-statistic-1 .card-body,
  .card.card-statistic-2 .card-body {
    font-size: 1.6rem !important;
  }
}

/* Top navbar stay white with dark icons for readability */
.navbar-bg {
  background: #ffffff !important;
}

/* Sidebar expand/collapse + hide controls */
.main-sidebar .sidebar-brand {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 8px !important;
  padding: 0 12px 0 16px !important;
  height: 60px !important;
  line-height: normal !important;
  text-align: left !important;
}

.main-sidebar .sidebar-brand .sidebar-brand-text {
  flex: 1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.main-sidebar .sidebar-brand-actions {
  flex-shrink: 0;
  gap: 6px;
}

.main-sidebar .sidebar-ctrl-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  padding: 0;
  border: 1px solid rgba(255, 255, 255, 0.25);
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.08);
  color: #fff;
  cursor: pointer;
  line-height: 1;
  transition: background 0.15s ease, border-color 0.15s ease;
}

.main-sidebar .sidebar-ctrl-btn:hover {
  background: rgba(255, 255, 255, 0.18);
  border-color: rgba(255, 255, 255, 0.4);
  color: #fff;
}

.main-sidebar .sidebar-ctrl-btn i {
  font-size: 12px;
}

/* (sidebar-main-only removed — accordion expand/collapse is the default) */

body.sidebar-mini .main-sidebar .sidebar-brand-actions {
  display: none !important;
}

/* AI Content drawer — base .text-gray uses --gray (#F5F8F9, near-white),
   so generated output was invisible on light backgrounds. */
.ai-content-generator-drawer .text-gray,
.ai-content-generator-drawer .text-hover-gray:hover,
.ai-content-generator-drawer .js-content,
.js-text-generated .text-gray,
.js-text-generated .js-content {
  color: var(--soq-text) !important;
}

.ai-content-generator-drawer .text-gray-500,
.js-text-generated .text-gray-500 {
  color: var(--soq-muted) !important;
}

/* ==========================================================================
   PANEL UI/UX REDESIGN — form sections, setting rows, type floor, tables
   ========================================================================== */

/* Section hierarchy inside cards / webinar forms */
.card .card-body .section-title,
.card-body .section-title.after-line,
.webinar-form .section-title,
#webinarForm .section-title,
.soq-form-section > .section-title {
  font-size: var(--soq-text-section) !important;
  font-weight: 800 !important;
  line-height: 1.35 !important;
  margin: 0 0 20px !important;
  padding-bottom: 12px !important;
  letter-spacing: -0.01em;
}

.section .section-title {
  font-size: 22px !important;
}

@media (max-width: 575.98px) {
  .section .section-title,
  .card .card-body .section-title,
  .webinar-form .section-title,
  #webinarForm .section-title {
    font-size: 18px !important;
  }
}

.soq-form-section,
.webinar-form > section,
#webinarForm > section,
.card-body > form > section {
  display: block;
  margin-bottom: var(--soq-space-section) !important;
  padding: 20px 0 8px !important;
  border-bottom: 1px solid var(--soq-border);
}

.soq-form-section:last-of-type,
.webinar-form > section:last-of-type,
#webinarForm > section:last-of-type,
.card-body > form > section:last-of-type {
  border-bottom: none;
  margin-bottom: 12px !important;
}

.soq-form-section.mt-3,
.webinar-form > section.mt-3,
#webinarForm > section.mt-3 {
  margin-top: var(--soq-space-section) !important;
}

/* Setting rows (Support, Forum, switches) */
.soq-setting-row,
.form-group.d-flex.align-items-center.justify-content-between {
  min-height: 48px !important;
  margin-top: 16px !important;
  margin-bottom: 0 !important;
  padding: 14px 16px !important;
  border: 1px solid var(--soq-border) !important;
  border-radius: 12px !important;
  background: #F8FAFD !important;
  gap: 16px;
}

.soq-setting-row > label,
.form-group.d-flex.align-items-center.justify-content-between > label {
  margin-bottom: 0 !important;
  font-size: var(--soq-text-label) !important;
  font-weight: 700 !important;
  flex: 1;
  line-height: 1.4 !important;
}

.soq-setting-row .custom-control.custom-switch,
.form-group.d-flex.align-items-center.justify-content-between .custom-control.custom-switch {
  padding-left: 2.75rem !important;
  min-height: 28px;
  display: flex;
  align-items: center;
}

.soq-setting-row .custom-control-label::before,
.form-group.d-flex.align-items-center.justify-content-between .custom-control-label::before {
  width: 2.4rem !important;
  height: 1.3rem !important;
  border-radius: 1rem !important;
  top: 0.15rem !important;
}

.soq-setting-row .custom-control-label::after,
.form-group.d-flex.align-items-center.justify-content-between .custom-control-label::after {
  width: calc(1.3rem - 4px) !important;
  height: calc(1.3rem - 4px) !important;
  border-radius: 50% !important;
  top: calc(0.15rem + 2px) !important;
  left: calc(-2.75rem + 2px) !important;
}

.soq-setting-row .custom-control-input:checked ~ .custom-control-label::after,
.form-group.d-flex.align-items-center.justify-content-between .custom-control-input:checked ~ .custom-control-label::after {
  transform: translateX(1.05rem) !important;
}

/* Select2 height match & unified dropdown arrow */
.select2-container--default .select2-selection--single {
  height: var(--soq-control-h) !important;
  display: flex !important;
  align-items: center !important;
  position: relative !important;
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
  font-size: var(--soq-text-body) !important;
  line-height: 1.4 !important;
  padding-left: 14px !important;
  padding-right: 38px !important;
}

.select2-container--default .select2-selection--single .select2-selection__arrow {
  height: 100% !important;
  width: 38px !important;
  right: 0 !important;
  top: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.select2-container--default .select2-selection--single .select2-selection__arrow b {
  border: none !important;
  width: 14px !important;
  height: 14px !important;
  position: static !important;
  margin: 0 !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: 14px 14px !important;
  transition: transform 0.2s ease !important;
}

.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b {
  transform: rotate(180deg) !important;
}

/* Native select unified chevron arrow */
select.form-control:not([multiple]) {
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  appearance: none !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 14px center !important;
  background-size: 14px 14px !important;
  padding-right: 38px !important;
}

.rtl .select2-container--default .select2-selection--single .select2-selection__arrow {
  left: 0 !important;
  right: auto !important;
}

.rtl select.form-control:not([multiple]) {
  background-position: left 14px center !important;
  padding-left: 38px !important;
  padding-right: 14px !important;
}

/* Buttons readable */
.btn,
.btn-primary,
.btn-outline-primary {
  font-size: 15px !important;
  min-height: 42px;
  padding: 10px 18px !important;
}

/* Tables + filters */
.table,
.table-responsive table,
.table td,
.table th {
  font-size: var(--soq-text-label) !important;
}

.table thead th {
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: var(--soq-muted) !important;
  padding-top: 14px !important;
  padding-bottom: 14px !important;
}

.table tbody td {
  padding-top: 14px !important;
  padding-bottom: 14px !important;
  vertical-align: middle !important;
}

.filter-section label,
.table-filter label {
  font-size: var(--soq-text-label) !important;
}

/* Dashboard metric labels — readable floor (was 0.7–0.78rem) */
.soq-admin-hero__eyebrow {
  font-size: 13px !important;
}

.soq-admin-dashboard .soq-dash-panel__title,
.soq-admin-dashboard .soq-dash-panel .card-header h4 {
  font-size: 18px !important;
}

.soq-admin-dashboard .statistic-details-item .detail-name {
  font-size: 14px !important;
}

.card.card-statistic-1 .card-header h4,
.card.card-statistic-2 .card-header h4,
.card.soq-dash-stat .card-header h4,
.soq-dash-metric .card-header h4,
.soq-dash-metric .soq-metric-label {
  font-size: 14px !important;
  line-height: 1.4 !important;
}

.card.soq-dash-metric .card-header,
.card.card-statistic-1 .card-header,
.card.card-statistic-2 .card-header {
  font-size: 14px !important;
}

/* Kill responsive .font-* crush from extra.min.css */
@media (max-width: 991px) {
  .font-8 { font-size: 10px !important; }
  .font-10 { font-size: 12px !important; }
  .font-12 { font-size: 13px !important; }
  .font-13 { font-size: 13px !important; }
  .font-14 { font-size: 14px !important; }
  .font-15 { font-size: 15px !important; }
  .font-16 { font-size: 16px !important; }
  .font-18 { font-size: 18px !important; }
  .font-20 { font-size: 20px !important; }
  .font-21 { font-size: 21px !important; }
  .font-22 { font-size: 22px !important; }
  .font-24 { font-size: 24px !important; }
  .font-30 { font-size: 28px !important; }
  .font-32 { font-size: 30px !important; }
  .font-36 { font-size: 32px !important; }
  .font-40 { font-size: 36px !important; }
  .font-44 { font-size: 40px !important; }
  .font-48 { font-size: 44px !important; }
  .font-64 { font-size: 56px !important; }
}

@media (max-width: 767px) {
  .font-8 { font-size: 10px !important; }
  .font-10 { font-size: 12px !important; }
  .font-12 { font-size: 13px !important; }
  .font-13 { font-size: 13px !important; }
  .font-14 { font-size: 14px !important; }
  .font-15 { font-size: 15px !important; }
  .font-16 { font-size: 16px !important; }
  .font-18 { font-size: 17px !important; }
  .font-20 { font-size: 18px !important; }
  .font-21 { font-size: 19px !important; }
  .font-22 { font-size: 20px !important; }
  .font-24 { font-size: 22px !important; }
  .font-30 { font-size: 26px !important; }
  .font-32 { font-size: 28px !important; }
  .font-36 { font-size: 30px !important; }
  .font-40 { font-size: 32px !important; }
  .font-44 { font-size: 36px !important; }
  .font-48 { font-size: 40px !important; }
  .font-64 { font-size: 48px !important; }

  .main-content {
    padding-left: 12px !important;
    padding-right: 12px !important;
  }

  .soq-setting-row,
  .form-group.d-flex.align-items-center.justify-content-between {
    padding: 12px 14px !important;
  }
}
