/**
 * Minia – Modern UI Overrides (non-destructive)
 * - Card: radius + soft shadow
 * - Button: better height, radius, hover/active, focus ring
 * - Badge: pill style + consistent weight
 * - Icons: consistent size/alignment in menus & buttons
 *
 * This file is safe to remove: it only overrides CSS.
 */

:root {
  --modern-radius-sm: 0.5rem;
  --modern-radius: 0.75rem;
  --modern-radius-lg: 1rem;

  --modern-shadow-sm: 0 1px 2px rgba(18, 38, 63, 0.06);
  --modern-shadow: 0 10px 30px rgba(18, 38, 63, 0.10);
  --modern-shadow-hover: 0 14px 40px rgba(18, 38, 63, 0.14);

  --modern-ring: 0 0 0 0.25rem rgba(var(--bs-primary-rgb, 81, 86, 190), 0.22);
}

/* -----------------------------
   Cards
------------------------------ */
.card {
  border-radius: var(--modern-radius);
  border-color: rgba(0, 0, 0, 0.06);
  box-shadow: var(--modern-shadow-sm);
  overflow: hidden;
}

.card-header {
  border-bottom-color: rgba(0, 0, 0, 0.06);
  background: rgba(255, 255, 255, 0.55);
  backdrop-filter: blur(8px);
}

body[data-layout-mode="dark"] .card {
  border-color: #3b403d !important;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.20);
}

body[data-layout-mode="dark"] .card-header {
  background: rgba(49, 53, 51, 0.65);
  border-bottom-color: #3b403d;
}

.card:hover {
  box-shadow: var(--modern-shadow);
}

/* -----------------------------
   Buttons
------------------------------ */
.btn {
  border-radius: var(--modern-radius-sm);
  font-weight: 600;
  letter-spacing: 0.01em;
  transition: transform 0.12s ease, box-shadow 0.18s ease, background-color 0.18s ease, border-color 0.18s ease;
}

.btn:not(.btn-sm):not(.btn-lg) {
  padding: 0.55rem 0.95rem;
}

.btn-sm {
  border-radius: 0.55rem;
  padding: 0.35rem 0.65rem;
}

.btn-lg {
  border-radius: 0.9rem;
  padding: 0.75rem 1.1rem;
}

.btn:active {
  transform: translateY(0.5px);
}

.btn:hover {
  box-shadow: var(--modern-shadow-sm);
}

.btn-primary {
  border: none;
  box-shadow: 0 10px 22px rgba(var(--bs-primary-rgb, 81, 86, 190), 0.22);
}

.btn-primary:hover {
  box-shadow: 0 12px 26px rgba(var(--bs-primary-rgb, 81, 86, 190), 0.26);
}

.btn:focus,
.btn:focus-visible,
.form-control:focus,
.form-select:focus {
  box-shadow: var(--modern-ring) !important;
}

/* Outline buttons: more modern hover */
.btn-outline-primary:hover {
  color: #fff;
  box-shadow: 0 10px 22px rgba(var(--bs-primary-rgb, 81, 86, 190), 0.18);
}

/* -----------------------------
   Badges
------------------------------ */
.badge {
  font-weight: 700;
  letter-spacing: 0.02em;
  border-radius: 999px;
  padding: 0.45em 0.7em;
}

.badge.bg-soft-primary,
.badge.bg-soft-success,
.badge.bg-soft-danger,
.badge.bg-soft-warning,
.badge.bg-soft-info,
.badge.bg-soft-secondary {
  border: 1px solid rgba(0, 0, 0, 0.06);
}

body[data-layout-mode="dark"] .badge.bg-soft-primary,
body[data-layout-mode="dark"] .badge.bg-soft-success,
body[data-layout-mode="dark"] .badge.bg-soft-danger,
body[data-layout-mode="dark"] .badge.bg-soft-warning,
body[data-layout-mode="dark"] .badge.bg-soft-info,
body[data-layout-mode="dark"] .badge.bg-soft-secondary {
  border-color: rgba(255, 255, 255, 0.10);
}

/* -----------------------------
   Inputs
------------------------------ */
.form-control,
.form-select,
.input-group-text {
  border-radius: var(--modern-radius-sm);
}

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

.input-group > .btn:not(:first-child),
.input-group > .input-group-text:not(:first-child) {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}

/* -----------------------------
   Dropdown / Modal polish
------------------------------ */
.dropdown-menu {
  border-radius: var(--modern-radius);
  box-shadow: var(--modern-shadow);
  border-color: rgba(0, 0, 0, 0.06);
}

body[data-layout-mode="dark"] .dropdown-menu {
  border-color: #3b403d;
}

.modal-content {
  border-radius: var(--modern-radius-lg);
  overflow: hidden;
}

/* -----------------------------
   Sidebar icons (Remix + legacy)
------------------------------ */
#sidebar-menu ul li a {
  display: flex;
  align-items: center;
  gap: 0.65rem;
}

#sidebar-menu ul li a > i:first-child,
#sidebar-menu ul li a > .menu-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.125rem;
  height: 2.125rem;
  min-width: 2.125rem;
  font-size: 1.125rem;
  line-height: 1;
  border-radius: 0.625rem;
  transition: background-color 0.18s ease, color 0.18s ease, transform 0.15s ease;
}

#sidebar-menu ul li a:hover > i:first-child,
#sidebar-menu ul li a:hover > .menu-icon {
  background: rgba(var(--bs-primary-rgb, 81, 86, 190), 0.12);
  transform: translateY(-1px);
}

#sidebar-menu ul li.mm-active > a > i:first-child,
#sidebar-menu ul li.mm-active > a > .menu-icon,
#sidebar-menu ul li.active > a > i:first-child {
  background: rgba(var(--bs-primary-rgb, 81, 86, 190), 0.18);
  color: var(--bs-primary, #5156be);
}

body[data-layout-mode="dark"] #sidebar-menu ul li a:hover > i:first-child,
body[data-layout-mode="dark"] #sidebar-menu ul li a:hover > .menu-icon {
  background: rgba(255, 255, 255, 0.08);
}

body[data-layout-mode="dark"] #sidebar-menu ul li.mm-active > a > i:first-child,
body[data-layout-mode="dark"] #sidebar-menu ul li.mm-active > a > .menu-icon {
  background: rgba(255, 255, 255, 0.12);
  color: #fff;
}

/* Topbar & header icons */
#vertical-menu-btn i,
#mode-setting-btn i,
#page-header-user-dropdown i,
.dropdown-item > i[class^="ri-"] {
  line-height: 1;
  vertical-align: middle;
}

#mode-setting-btn i {
  font-size: 1.125rem;
  transition: transform 0.15s ease;
}

body[data-layout-mode="dark"] #mode-setting-btn i {
  transform: rotate(-12deg);
}

/* Buttons / badges with icons */
.btn i[class^="ri-"],
.badge i[class^="ri-"] {
  vertical-align: -0.125em;
  line-height: 1;
}

/* -----------------------------
   Tables: cleaner headers
------------------------------ */
.table thead th {
  font-weight: 700;
  letter-spacing: 0.01em;
}

