/*
 * AdminLTE 2.x Compatibility Layer for Dark Gaming Theme
 * Maps all AdminLTE class names used in 188+ content templates to dark theme styles.
 * This file ensures zero changes needed in content templates.
 */

/* Fix subpixel sidebar border rendering (0.667px → 1px) */
.main-sidebar {
  border-right: 1px solid var(--border-default) !important;
}

/* ========================================
   Box Components (AdminLTE Cards)
   ======================================== */
.box {
  background: var(--bg-card);
  border: 1px solid var(--border-default);
  border-radius: var(--radius-md);
  margin-bottom: 1.5rem;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
  transition: box-shadow var(--transition-normal);
  position: relative;
}
.box:hover {
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.3);
}

/* Box color variants - top border accent */
.box-primary  { border-top: 3px solid var(--accent-cyan); }
.box-success  { border-top: 3px solid var(--accent-green); }
.box-danger   { border-top: 3px solid var(--accent-red); }
.box-warning  { border-top: 3px solid var(--accent-yellow); }
.box-info     { border-top: 3px solid var(--accent-blue); }
.box-default  { border-top: 3px solid var(--border-default); }

.box-header {
  background: var(--bg-card-header);
  border-bottom: 1px solid var(--border-default);
  padding: 0.75rem 1.25rem;
  border-radius: var(--radius-md) var(--radius-md) 0 0;
  color: var(--text-primary);
  display: flex;
  align-items: center;
}
.box-header .box-title {
  font-size: 1rem;
  font-weight: 600;
  color: var(--text-primary);
  margin: 0;
}
.box-header .box-tools {
  margin-left: auto;
}

.box-body {
  padding: 1.25rem;
  color: var(--text-primary);
}

.box-footer {
  padding: 0.75rem 1.25rem;
  background: var(--bg-surface);
  border-top: 1px solid var(--border-default);
  border-radius: 0 0 var(--radius-md) var(--radius-md);
}

.box-solid {
  border-top: none;
}
.box-solid.box-primary  { border: 1px solid var(--accent-cyan); }
.box-solid.box-success  { border: 1px solid var(--accent-green); }
.box-solid.box-danger   { border: 1px solid var(--accent-red); }
.box-solid.box-warning  { border: 1px solid var(--accent-yellow); }
.box-solid.box-info     { border: 1px solid var(--accent-blue); }

/* ========================================
   Info Box (Dashboard Stats)
   ======================================== */
.info-box {
  background: var(--bg-card) !important;
  border: 1px solid var(--border-default);
  border-radius: var(--radius-md);
  padding: 1rem;
  min-height: 90px;
  display: flex;
  align-items: center;
  margin-bottom: 1rem;
  transition: all var(--transition-normal);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
  color: var(--text-primary) !important;
}
.info-box:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.3);
}

/* Info box color accents */
.info-box.bg-aqua  { border-left: 4px solid var(--accent-cyan) !important; }
.info-box.bg-red   { border-left: 4px solid var(--accent-red) !important; }
.info-box.bg-yellow { border-left: 4px solid var(--accent-yellow) !important; }
.info-box.bg-green { border-left: 4px solid var(--accent-green) !important; }
.info-box.bg-blue  { border-left: 4px solid var(--accent-blue) !important; }

.info-box-icon {
  width: 70px;
  height: 70px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--radius-md);
  font-size: 1.75rem;
  flex-shrink: 0;
  background: transparent !important;
}
.info-box.bg-aqua .info-box-icon   { color: var(--accent-cyan); background: rgba(0, 229, 255, 0.1) !important; }
.info-box.bg-red .info-box-icon    { color: var(--accent-red); background: rgba(248, 81, 73, 0.1) !important; }
.info-box.bg-yellow .info-box-icon { color: var(--accent-yellow); background: rgba(227, 179, 65, 0.1) !important; }
.info-box.bg-green .info-box-icon  { color: var(--accent-green); background: rgba(57, 211, 83, 0.1) !important; }
.info-box.bg-blue .info-box-icon   { color: var(--accent-blue); background: rgba(88, 166, 255, 0.1) !important; }

.info-box-content {
  padding-left: 0.75rem;
  flex: 1;
  color: var(--text-primary) !important;
}
.info-box-text {
  color: var(--text-secondary) !important;
  font-size: 0.85rem;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}
.info-box-number {
  color: var(--text-primary) !important;
  font-weight: 700;
  font-size: 1.5rem;
  display: block;
}

/* ========================================
   Tables
   ======================================== */
.table {
  color: var(--text-primary) !important;
  border-color: var(--border-default);
  --bs-table-bg: transparent;
  --bs-table-striped-bg: rgba(22, 27, 34, 0.5);
  --bs-table-hover-bg: var(--bg-surface-hover);
}
.table td, .table th,
.table > tbody > tr > td,
.table > tbody > tr > th,
.table-striped > tbody > tr:nth-of-type(odd) > td,
.table-striped > tbody > tr:nth-of-type(even) > td,
.table-condensed > tbody > tr > td {
  color: var(--text-primary) !important;
}
.table > thead > tr > th,
.table > thead > tr > td {
  background: var(--bg-surface);
  border-bottom: 2px solid var(--accent-cyan) !important;
  border-top: none;
  color: var(--accent-cyan);
  font-weight: 600;
  text-transform: uppercase;
  font-size: 0.8rem;
  letter-spacing: 0.04em;
  padding: 0.75rem;
  white-space: nowrap;
}
.table > tfoot > tr > th,
.table > tfoot > tr > td {
  background: var(--bg-surface);
  border-top: 1px solid var(--border-default);
  color: var(--text-secondary);
  padding: 0.5rem 0.75rem;
  font-size: 0.8rem;
}
.table > tbody > tr > td,
.table > tbody > tr > th {
  border-color: var(--border-muted);
  padding: 0.65rem 0.75rem;
  vertical-align: middle;
}
.table-bordered {
  border-color: var(--border-default);
}
.table-bordered > thead > tr > th,
.table-bordered > thead > tr > td,
.table-bordered > tbody > tr > th,
.table-bordered > tbody > tr > td,
.table-bordered > tfoot > tr > th,
.table-bordered > tfoot > tr > td {
  border-color: var(--border-muted);
}
.table-hover > tbody > tr:hover {
  background-color: var(--bg-surface-hover) !important;
  --bs-table-hover-bg: var(--bg-surface-hover);
}
.table-hover > tbody > tr:hover > td {
  background-color: transparent;
}
.table-striped > tbody > tr:nth-of-type(odd) {
  background-color: rgba(22, 27, 34, 0.3);
  --bs-table-striped-bg: rgba(22, 27, 34, 0.3);
}
.table-responsive {
  border-radius: var(--radius-sm);
}

/* Active/success row highlighting */
.table > tbody > tr.success > td {
  background-color: rgba(57, 211, 83, 0.08) !important;
}

/* ========================================
   Forms
   ======================================== */
.form-group {
  margin-bottom: 1rem;
}
.form-group label, label {
  color: var(--text-secondary);
  font-weight: 500;
  font-size: 0.9rem;
  margin-bottom: 0.35rem;
}
.form-control {
  background-color: var(--bg-input) !important;
  border: 1px solid var(--border-default) !important;
  color: var(--text-primary) !important;
  border-radius: var(--radius-sm) !important;
  padding: 0.5rem 0.75rem;
  transition: border-color var(--transition-fast), box-shadow var(--transition-fast) !important;
  height: auto;
}
.form-control:focus {
  background-color: var(--bg-input) !important;
  border-color: var(--accent-cyan) !important;
  box-shadow: 0 0 0 3px rgba(0, 229, 255, 0.15) !important;
  color: var(--text-primary) !important;
  outline: none;
}
.form-control::placeholder {
  color: var(--text-muted);
}
.form-control:disabled,
.form-control[disabled],
.form-control[readonly] {
  background-color: var(--bg-surface) !important;
  color: var(--text-muted) !important;
  opacity: 0.7;
}

select.form-control {
  appearance: auto;
}

textarea.form-control {
  min-height: 80px;
}

.has-error .form-control {
  border-color: var(--accent-red) !important;
}
.has-error .form-control:focus {
  box-shadow: 0 0 0 3px rgba(248, 81, 73, 0.15) !important;
}
.has-error .control-label,
.has-error label {
  color: var(--accent-red);
}

.has-success .form-control {
  border-color: var(--accent-green) !important;
}

.help-block {
  color: var(--text-muted);
  font-size: 0.85rem;
  margin-top: 0.25rem;
}

/* Input groups */
.input-group-addon {
  background: var(--bg-surface) !important;
  border: 1px solid var(--border-default) !important;
  color: var(--text-secondary) !important;
  padding: 0.5rem 0.75rem;
  border-radius: var(--radius-sm);
  white-space: nowrap;
}
.input-group .form-control:first-child { border-top-right-radius: 0 !important; border-bottom-right-radius: 0 !important; }
.input-group .form-control:last-child { border-top-left-radius: 0 !important; border-bottom-left-radius: 0 !important; }
.input-group-addon:first-child { border-right: 0 !important; border-top-right-radius: 0; border-bottom-right-radius: 0; }
.input-group-addon:last-child { border-left: 0 !important; border-top-left-radius: 0; border-bottom-left-radius: 0; }

/* Form feedback icons */
.form-control-feedback {
  color: var(--text-muted);
}
.has-feedback .form-control-feedback {
  line-height: 38px;
}

/* Controls wrapper (BS2 legacy in this project) */
.controls {
  /* No changes needed, just container */
}

/* ========================================
   Buttons
   ======================================== */
.btn {
  border-radius: var(--radius-sm);
  font-weight: 500;
  transition: all var(--transition-fast);
  padding: 0.4rem 1rem;
  border: 1px solid transparent;
  font-size: 0.9rem;
  white-space: nowrap;
}
.btn:focus {
  box-shadow: none;
}
.btn-primary {
  background: var(--accent-cyan) !important;
  border-color: var(--accent-cyan) !important;
  color: #0d1117 !important;
}
.btn-primary:hover, .btn-primary:focus {
  background: #00c8e0 !important;
  border-color: #00c8e0 !important;
  box-shadow: var(--glow-cyan);
  color: #0d1117 !important;
}
.btn-success {
  background: var(--accent-green) !important;
  border-color: var(--accent-green) !important;
  color: #0d1117 !important;
}
.btn-success:hover, .btn-success:focus {
  background: #2ec44e !important;
  box-shadow: var(--glow-green);
  color: #0d1117 !important;
}
.btn-danger {
  background: var(--accent-red) !important;
  border-color: var(--accent-red) !important;
  color: #fff !important;
}
.btn-danger:hover, .btn-danger:focus {
  background: #e03d36 !important;
  box-shadow: var(--glow-red);
}
.btn-warning {
  background: var(--accent-yellow) !important;
  border-color: var(--accent-yellow) !important;
  color: #0d1117 !important;
}
.btn-warning:hover, .btn-warning:focus {
  background: #d4a72e !important;
  box-shadow: var(--glow-yellow);
}
.btn-info {
  background: var(--accent-blue) !important;
  border-color: var(--accent-blue) !important;
  color: #0d1117 !important;
}
.btn-info:hover, .btn-info:focus {
  background: #4899f0 !important;
  box-shadow: 0 0 15px rgba(88, 166, 255, 0.3);
}
.btn-default, .btn-flat, .btn-secondary {
  background: var(--bg-surface) !important;
  border-color: var(--border-default) !important;
  color: var(--text-primary) !important;
}
.btn-default:hover, .btn-flat:hover, .btn-secondary:hover {
  background: var(--bg-surface-hover) !important;
  border-color: var(--text-muted) !important;
}
.btn-sm {
  padding: 0.25rem 0.6rem;
  font-size: 0.8rem;
}
.btn-xs {
  padding: 0.15rem 0.45rem;
  font-size: 0.75rem;
}
.btn-lg {
  padding: 0.6rem 1.5rem;
  font-size: 1.05rem;
}
.btn-block {
  display: block;
  width: 100%;
}

/* ========================================
   Labels / Badges
   ======================================== */
.label {
  display: inline-block;
  border-radius: 4px;
  padding: 3px 8px;
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1.4;
}
.label-success {
  background: var(--accent-green) !important;
  color: #0d1117 !important;
}
.label-danger {
  background: var(--accent-red) !important;
  color: #fff !important;
}
.label-info {
  background: var(--accent-cyan) !important;
  color: #0d1117 !important;
}
.label-warning {
  background: var(--accent-yellow) !important;
  color: #0d1117 !important;
}
.label-primary {
  background: var(--accent-blue) !important;
  color: #0d1117 !important;
}
.label-default {
  background: var(--bg-surface) !important;
  color: var(--text-secondary) !important;
  border: 1px solid var(--border-default);
}

/* ========================================
   Alerts
   ======================================== */
.alert {
  background: var(--bg-card) !important;
  border: 1px solid var(--border-default) !important;
  border-radius: var(--radius-md);
  color: var(--text-primary) !important;
  padding: 1rem 1.25rem;
}
.alert-success {
  border-left: 4px solid var(--accent-green) !important;
}
.alert-success i { color: var(--accent-green); }
.alert-danger {
  border-left: 4px solid var(--accent-red) !important;
}
.alert-danger i { color: var(--accent-red); }
.alert-info {
  border-left: 4px solid var(--accent-cyan) !important;
}
.alert-info i { color: var(--accent-cyan); }
.alert-warning {
  border-left: 4px solid var(--accent-yellow) !important;
}
.alert-warning i { color: var(--accent-yellow); }

.alert .close,
.alert .btn-close {
  float: right;
  background: none;
  border: none;
  color: var(--text-muted);
  font-size: 20px;
  font-weight: 400;
  line-height: 1;
  cursor: pointer;
  opacity: 0.7;
  text-shadow: none;
  padding: 0 4px;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}
.alert .close:hover,
.alert .btn-close:hover {
  color: var(--text-primary);
  opacity: 1;
}
.alert h4 {
  color: var(--text-primary);
  margin-top: 0;
}

/* ========================================
   Callouts (AdminLTE specific)
   ======================================== */
.callout {
  background: var(--bg-card);
  border-left: 4px solid var(--accent-red);
  border-radius: var(--radius-sm);
  padding: 1rem 1.25rem;
  margin-bottom: 1rem;
  color: var(--text-primary);
}
.callout-danger  { border-left-color: var(--accent-red); }
.callout-warning { border-left-color: var(--accent-yellow); }
.callout-info    { border-left-color: var(--accent-cyan); }
.callout-success { border-left-color: var(--accent-green); }

/* ========================================
   Progress Bars
   ======================================== */
.progress {
  background: var(--bg-surface);
  border-radius: 4px;
  height: 6px;
  overflow: hidden;
}
.progress-bar {
  background: var(--accent-cyan);
  border-radius: 4px;
  transition: width 0.6s ease;
}
.info-box.bg-red .progress-bar   { background: var(--accent-red); }
.info-box.bg-yellow .progress-bar { background: var(--accent-yellow); }
.info-box.bg-green .progress-bar { background: var(--accent-green); }
.progress-description {
  color: var(--text-muted);
  font-size: 0.8rem;
  margin-top: 0.25rem;
}

/* ========================================
   Breadcrumbs
   ======================================== */
.breadcrumb {
  background: transparent !important;
  padding: 0;
  margin: 0;
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 0.25rem;
}
.breadcrumb > li {
  color: var(--text-muted);
  font-size: 0.85rem;
}
.breadcrumb > li + li::before {
  content: '/';
  padding: 0 0.5rem;
  color: var(--text-muted);
}
.breadcrumb > li a {
  color: var(--text-secondary);
}
.breadcrumb > li a:hover {
  color: var(--accent-cyan);
}
.breadcrumb > .active {
  color: var(--text-muted);
}

/* ========================================
   Content Header
   ======================================== */
.content-header {
  background: transparent;
  padding: 1.25rem 1.5rem 0.5rem;
}
.content-header h1, .content-header h4 {
  color: var(--text-primary);
  font-size: 1.5rem;
  font-weight: 700;
  margin: 0 0 0.25rem;
}
.content-header > .breadcrumb {
  position: static;
  float: none;
  margin-top: 0.5rem;
}

section.content {
  padding: 0.75rem 1.5rem 1.5rem;
}

/* ========================================
   Pagination
   ======================================== */
.pagination > li > a,
.pagination > li > span {
  background: var(--bg-card);
  border-color: var(--border-default);
  color: var(--text-secondary);
}
.pagination > li > a:hover {
  background: var(--bg-surface-hover);
  border-color: var(--border-default);
  color: var(--accent-cyan);
}
.pagination > .active > a,
.pagination > .active > span {
  background: var(--accent-cyan) !important;
  border-color: var(--accent-cyan) !important;
  color: #0d1117 !important;
}
.pagination > .disabled > a,
.pagination > .disabled > span {
  background: var(--bg-surface);
  border-color: var(--border-default);
  color: var(--text-muted);
}

/* ========================================
   Nav Tabs
   ======================================== */
.nav-tabs {
  border-bottom: 1px solid var(--border-default);
}
.nav-tabs > li > a {
  color: var(--text-secondary);
  border: 1px solid transparent;
  border-radius: var(--radius-sm) var(--radius-sm) 0 0;
}
.nav-tabs > li > a:hover {
  border-color: var(--border-default);
  background: var(--bg-surface);
  color: var(--text-primary);
}
.nav-tabs > li.active > a,
.nav-tabs > li.active > a:hover,
.nav-tabs > li.active > a:focus {
  background: var(--bg-card);
  border-color: var(--border-default) var(--border-default) var(--bg-card);
  color: var(--accent-cyan);
}
.tab-content {
  background: var(--bg-card);
  border: 1px solid var(--border-default);
  border-top: none;
  padding: 1.25rem;
  border-radius: 0 0 var(--radius-md) var(--radius-md);
}

/* ========================================
   Modals
   ======================================== */
.modal-content {
  background: var(--bg-card);
  border: 1px solid var(--border-default);
  border-radius: var(--radius-lg);
  color: var(--text-primary);
}
.modal-header {
  border-bottom: 1px solid var(--border-default);
  padding: 1rem 1.5rem;
}
.modal-body {
  padding: 1.5rem;
}
.modal-footer {
  border-top: 1px solid var(--border-default);
  padding: 1rem 1.5rem;
}
.modal-backdrop {
  background: rgba(0, 0, 0, 0.6);
}

/* ========================================
   Toggle Switches
   ======================================== */
.toggle-switch {
  position: relative;
  display: inline-block;
  width: 38px;
  height: 20px;
  margin: 0;
  cursor: pointer;
  vertical-align: middle;
}
.toggle-switch input {
  opacity: 0;
  width: 0;
  height: 0;
  position: absolute;
}
.toggle-slider {
  position: absolute;
  inset: 0;
  background: rgba(110, 118, 129, 0.3);
  border: 1px solid rgba(110, 118, 129, 0.4);
  border-radius: 20px;
  transition: all 0.2s ease;
}
.toggle-slider::after {
  content: '';
  position: absolute;
  top: 2px;
  left: 2px;
  width: 14px;
  height: 14px;
  background: #6e7681;
  border-radius: 50%;
  transition: all 0.2s ease;
}
.toggle-switch input:checked + .toggle-slider.toggle-green {
  background: rgba(63, 185, 80, 0.25);
  border-color: rgba(63, 185, 80, 0.5);
}
.toggle-switch input:checked + .toggle-slider.toggle-green::after {
  transform: translateX(18px);
  background: #3fb950;
  box-shadow: 0 0 6px rgba(63, 185, 80, 0.4);
}
.toggle-switch input:checked + .toggle-slider.toggle-yellow {
  background: rgba(243, 156, 18, 0.25);
  border-color: rgba(243, 156, 18, 0.5);
}
.toggle-switch input:checked + .toggle-slider.toggle-yellow::after {
  transform: translateX(18px);
  background: #f39c12;
  box-shadow: 0 0 6px rgba(243, 156, 18, 0.4);
}
.toggle-switch input:checked + .toggle-slider.toggle-cyan {
  background: rgba(0, 229, 255, 0.2);
  border-color: rgba(0, 229, 255, 0.5);
}
.toggle-switch input:checked + .toggle-slider.toggle-cyan::after {
  transform: translateX(18px);
  background: var(--accent-cyan);
  box-shadow: 0 0 6px rgba(0, 229, 255, 0.4);
}

/* ========================================
   Panels (legacy)
   ======================================== */
.panel {
  background: var(--bg-card);
  border: 1px solid var(--border-default);
  border-radius: var(--radius-md);
}
.panel-heading {
  background: var(--bg-card-header);
  border-bottom: 1px solid var(--border-default);
  padding: 0.75rem 1.25rem;
  color: var(--text-primary);
}
.panel-body {
  padding: 1.25rem;
  color: var(--text-primary);
}

/* ========================================
   Timeline (Dashboard feeds)
   ======================================== */
.timeline > li > .timeline-item {
  background: var(--bg-card);
  border: 1px solid var(--border-default);
  border-radius: var(--radius-md);
  color: var(--text-primary);
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}
.timeline-header {
  color: var(--text-primary);
  border-bottom: 1px solid var(--border-default);
}
.timeline-body {
  color: var(--text-secondary);
}
.time-label > span {
  background: var(--accent-cyan) !important;
  color: #0d1117 !important;
  border-radius: var(--radius-sm);
}

/* ========================================
   Well / Jumbotron (legacy BS3)
   ======================================== */
.well {
  background: var(--bg-surface);
  border: 1px solid var(--border-default);
  border-radius: var(--radius-md);
  padding: 1.25rem;
  color: var(--text-primary);
}

/* ========================================
   Bootstrap 3 → 5 Helper Classes
   ======================================== */
.pull-left { float: left !important; }
.pull-right { float: right !important; }
.img-circle { border-radius: 50% !important; }
.img-responsive { max-width: 100%; height: auto; }
.sr-only, .visually-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
.text-center { text-align: center !important; }
.text-left { text-align: left !important; }
.text-right { text-align: right !important; }
.text-muted { color: var(--text-muted) !important; }
.text-danger { color: var(--accent-red) !important; }
.text-success { color: var(--accent-green) !important; }
.text-warning { color: var(--accent-yellow) !important; }
.text-info { color: var(--accent-cyan) !important; }
.text-primary { color: var(--accent-blue) !important; }

/* col-xs-* compatibility (BS5 removed xs infix). These rules load after Bootstrap and carry no
   media query, so a col-xs-N next to col-sm-*/col-md-* would win at every width. col-xs-12 is
   left out for that reason: Bootstrap 5's .row > * already makes a column full width, and the
   dashboard's "col-md-3 col-sm-6 col-xs-12" cards each took a whole row with it. */
.col-xs-1  { flex: 0 0 auto; width: 8.333333%; }
.col-xs-2  { flex: 0 0 auto; width: 16.666667%; }
.col-xs-3  { flex: 0 0 auto; width: 25%; }
.col-xs-4  { flex: 0 0 auto; width: 33.333333%; }
.col-xs-5  { flex: 0 0 auto; width: 41.666667%; }
.col-xs-6  { flex: 0 0 auto; width: 50%; }
.col-xs-7  { flex: 0 0 auto; width: 58.333333%; }
.col-xs-8  { flex: 0 0 auto; width: 66.666667%; }
.col-xs-9  { flex: 0 0 auto; width: 75%; }
.col-xs-10 { flex: 0 0 auto; width: 83.333333%; }
.col-xs-11 { flex: 0 0 auto; width: 91.666667%; }

/* hidden-xs/sm/md/lg responsive visibility */
@media (max-width: 575.98px) { .hidden-xs { display: none !important; } }
@media (min-width: 576px) and (max-width: 767.98px) { .hidden-sm { display: none !important; } }
@media (min-width: 768px) and (max-width: 991.98px) { .hidden-md { display: none !important; } }
@media (min-width: 992px) { .hidden-lg { display: none !important; } }

/* visible-* compatibility */
.visible-xs, .visible-sm, .visible-md, .visible-lg { display: none !important; }
@media (max-width: 575.98px) { .visible-xs { display: block !important; } }

/* Caret */
.caret {
  display: inline-block;
  width: 0;
  height: 0;
  margin-left: 4px;
  vertical-align: middle;
  border-top: 4px solid;
  border-right: 4px solid transparent;
  border-left: 4px solid transparent;
  color: var(--text-muted);
}

/* ========================================
   Chosen Plugin Dark Styling
   ======================================== */
.chosen-container .chosen-single,
.chosen-container .chosen-choices {
  background: var(--bg-input) !important;
  border-color: var(--border-default) !important;
  color: var(--text-primary) !important;
  border-radius: var(--radius-sm);
  height: auto;
  padding: 0.4rem 0.75rem;
  line-height: 1.6;
  box-shadow: none !important;
}
.chosen-container .chosen-drop {
  background: var(--bg-card);
  border-color: var(--border-default);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.3);
}
.chosen-container .chosen-results li {
  color: var(--text-primary);
}
.chosen-container .chosen-results li.highlighted {
  background: var(--bg-surface-hover) !important;
  color: var(--accent-cyan) !important;
}
.chosen-container-active .chosen-single,
.chosen-container-active .chosen-choices {
  border-color: var(--accent-cyan) !important;
}

/* ========================================
   Summernote Editor (if loaded)
   ======================================== */
.note-editor.note-frame {
  border-color: var(--border-default);
}
.note-editor .note-toolbar {
  background: var(--bg-surface);
  border-bottom-color: var(--border-default);
}
.note-editor .note-editing-area .note-editable {
  background: var(--bg-input);
  color: var(--text-primary);
}

/* ========================================
   Social Auth Buttons (login page)
   ======================================== */
.btn-social {
  background: var(--bg-surface);
  border: 1px solid var(--border-default);
  color: var(--text-primary);
}
.btn-social:hover {
  background: var(--bg-surface-hover);
}

/* ========================================
   Tooltip Overrides
   ======================================== */
.tooltip-inner {
  background: var(--bg-card);
  color: var(--text-primary);
  border: 1px solid var(--border-default);
  border-radius: var(--radius-sm);
}

/* ========================================
   Print Styles
   ======================================== */
@media print {
  body {
    background: #fff !important;
    color: #000 !important;
  }
  .main-sidebar, .main-header, #particles-bg {
    display: none !important;
  }
  .main-content {
    margin-left: 0 !important;
  }
}
