/*!
 * panel-custom.css — capa de personalización del panel (tema, sidebar, topbar, modo oscuro).
 * Se carga DESPUÉS de app.min.css y NO modifica los archivos originales de la plantilla.
 * Los valores los controla assets/js/panel-theme-early.js mediante atributos data-pa-* en <html>.
 */

/* ============================== Variables base ============================== */
:root {
  --pa-accent: #556ee6;
  --pa-accent-rgb: 85, 110, 230;
  --pa-accent-dark: #4458b8;
  --pa-accent-light: #7d90ee;
  --pa-radius: 12px;
  --pa-radius-sm: 8px;
  --pa-shadow: 0 1px 2px rgba(16, 24, 40, .04), 0 6px 18px rgba(16, 24, 40, .05);
  --pa-shadow-lg: 0 10px 30px rgba(16, 24, 40, .12);

  /* sidebar (variante oscura por defecto) */
  --pa-side-bg: #1d2436;
  --pa-side-bg-image: none;
  --pa-side-text: #a9b3cf;
  --pa-side-hover: #fff;
  --pa-side-icon: #7380a3;
  --pa-side-sub: #8a94b3;
  --pa-side-title: #6b7694;
  --pa-side-active: #fff;
  --pa-side-active-bg: rgba(var(--pa-accent-rgb), .22);
  --pa-side-hover-bg: rgba(255, 255, 255, .05);
  --pa-side-flyout: #263049;
  --pa-side-border: rgba(255, 255, 255, .06);

  /* topbar (variante clara por defecto) */
  --pa-top-bg: #fff;
  --pa-top-text: #495057;
  --pa-top-hover-bg: rgba(0, 0, 0, .04);

  --pa-float-gap: 12px;
}

/* ============================== Acentos (presets) ============================== */
html[data-pa-accent="indigo"]  { --pa-accent:#556ee6; --pa-accent-rgb:85,110,230;  --pa-accent-dark:#4458b8; --pa-accent-light:#7d90ee; }
html[data-pa-accent="blue"]    { --pa-accent:#2563eb; --pa-accent-rgb:37,99,235;   --pa-accent-dark:#1d4fc0; --pa-accent-light:#5b8bf0; }
html[data-pa-accent="teal"]    { --pa-accent:#0d9488; --pa-accent-rgb:13,148,136;  --pa-accent-dark:#0a756b; --pa-accent-light:#3bb5a9; }
html[data-pa-accent="emerald"] { --pa-accent:#16a34a; --pa-accent-rgb:22,163,74;   --pa-accent-dark:#12823b; --pa-accent-light:#4cc27a; }
html[data-pa-accent="amber"]   { --pa-accent:#d97706; --pa-accent-rgb:217,119,6;   --pa-accent-dark:#ad5f05; --pa-accent-light:#ee9a3a; }
html[data-pa-accent="rose"]    { --pa-accent:#e11d48; --pa-accent-rgb:225,29,72;   --pa-accent-dark:#b4173a; --pa-accent-light:#f0587a; }
html[data-pa-accent="violet"]  { --pa-accent:#7c3aed; --pa-accent-rgb:124,58,237;  --pa-accent-dark:#6229bd; --pa-accent-light:#a06cf2; }
html[data-pa-accent="slate"]   { --pa-accent:#475569; --pa-accent-rgb:71,85,105;   --pa-accent-dark:#334155; --pa-accent-light:#6b7a90; }

/* Bootstrap lee --bs-primary: lo alineamos con el acento */
:root, [data-bs-theme="light"], [data-bs-theme="dark"] {
  --bs-primary: var(--pa-accent);
  --bs-primary-rgb: var(--pa-accent-rgb);
  --bs-link-color: var(--pa-accent);
  --bs-link-color-rgb: var(--pa-accent-rgb);
  --bs-link-hover-color: var(--pa-accent-dark);
}

/* ============================== Modo oscuro ============================== */
html[data-bs-theme="dark"] {
  color-scheme: dark;
  --bs-body-bg: #0f1522;
  --bs-body-bg-rgb: 15, 21, 34;
  --bs-body-color: #cdd5ea;
  --bs-body-color-rgb: 205, 213, 234;
  --bs-secondary-color: #8b96b4;
  --bs-secondary-bg: #182034;
  --bs-tertiary-bg: #151c2d;
  --bs-tertiary-color: #7f8aa8;
  --bs-border-color: #263049;
  --bs-border-color-translucent: rgba(255, 255, 255, .08);
  --bs-emphasis-color: #f2f5ff;
  --bs-heading-color: #e6ebfa;
  --bs-card-bg: #182034;
  --bs-card-cap-bg: #182034;
  --bs-modal-bg: #182034;
  --bs-dropdown-bg: #182034;
  --bs-dropdown-link-color: #cdd5ea;
  --bs-dropdown-link-hover-bg: #212b43;
  --bs-dropdown-link-hover-color: #fff;
  --bs-dropdown-border-color: #263049;
  --bs-dropdown-divider-bg: #263049;
  --pa-top-bg: #182034;
  --pa-top-text: #cdd5ea;
  --pa-top-hover-bg: rgba(255, 255, 255, .06);
  --pa-shadow: 0 1px 2px rgba(0, 0, 0, .3), 0 6px 18px rgba(0, 0, 0, .25);
}
html[data-bs-theme="dark"] body,
html[data-bs-theme="dark"] .main-content,
html[data-bs-theme="dark"] .page-content { background-color: var(--bs-body-bg); color: var(--bs-body-color); }
html[data-bs-theme="dark"] h1, html[data-bs-theme="dark"] h2, html[data-bs-theme="dark"] h3,
html[data-bs-theme="dark"] h4, html[data-bs-theme="dark"] h5, html[data-bs-theme="dark"] h6 { color: var(--bs-heading-color); }
html[data-bs-theme="dark"] .card,
html[data-bs-theme="dark"] .modal-content,
html[data-bs-theme="dark"] .offcanvas,
html[data-bs-theme="dark"] .list-group-item,
html[data-bs-theme="dark"] .accordion-item,
html[data-bs-theme="dark"] .accordion-button { background-color: var(--bs-card-bg); color: var(--bs-body-color); border-color: var(--bs-border-color); }
html[data-bs-theme="dark"] .card-header, html[data-bs-theme="dark"] .card-footer,
html[data-bs-theme="dark"] .modal-header, html[data-bs-theme="dark"] .modal-footer { background-color: transparent; border-color: var(--bs-border-color); }
html[data-bs-theme="dark"] .text-muted { color: var(--bs-secondary-color) !important; }
html[data-bs-theme="dark"] .text-dark { color: var(--bs-body-color) !important; }
html[data-bs-theme="dark"] .bg-white, html[data-bs-theme="dark"] .bg-light { background-color: var(--bs-card-bg) !important; }
html[data-bs-theme="dark"] .bg-soft-light { background-color: rgba(255,255,255,.04) !important; }
html[data-bs-theme="dark"] .border, html[data-bs-theme="dark"] .border-top, html[data-bs-theme="dark"] .border-bottom,
html[data-bs-theme="dark"] hr { border-color: var(--bs-border-color) !important; }
html[data-bs-theme="dark"] .form-control, html[data-bs-theme="dark"] .form-select,
html[data-bs-theme="dark"] .input-group-text, html[data-bs-theme="dark"] .select2-container--default .select2-selection--single,
html[data-bs-theme="dark"] .select2-dropdown { background-color: #111827; border-color: var(--bs-border-color); color: var(--bs-body-color); }
html[data-bs-theme="dark"] .form-control::placeholder { color: #667292; }
html[data-bs-theme="dark"] .form-control:focus, html[data-bs-theme="dark"] .form-select:focus {
  background-color: #111827; color: #fff; border-color: var(--pa-accent); box-shadow: 0 0 0 .2rem rgba(var(--pa-accent-rgb), .2);
}
html[data-bs-theme="dark"] .table { --bs-table-color: var(--bs-body-color); --bs-table-bg: transparent; --bs-table-border-color: var(--bs-border-color);
  --bs-table-striped-bg: rgba(255,255,255,.025); --bs-table-hover-bg: rgba(255,255,255,.04); color: var(--bs-body-color); border-color: var(--bs-border-color); }
html[data-bs-theme="dark"] .table > :not(caption) > * > * { background-color: transparent; border-bottom-color: var(--bs-border-color); color: inherit; }
html[data-bs-theme="dark"] .table-light, html[data-bs-theme="dark"] .table-light > th, html[data-bs-theme="dark"] thead.table-light th,
html[data-bs-theme="dark"] .table > thead > tr > th { background-color: #131a2b !important; color: #aab4d0 !important; }
html[data-bs-theme="dark"] .dropdown-menu { background-color: var(--bs-dropdown-bg); border-color: var(--bs-border-color); box-shadow: var(--pa-shadow-lg); }
html[data-bs-theme="dark"] .dropdown-item { color: var(--bs-dropdown-link-color); }
html[data-bs-theme="dark"] .dropdown-item:hover { background-color: var(--bs-dropdown-link-hover-bg); color: #fff; }
html[data-bs-theme="dark"] .page-title-box h4, html[data-bs-theme="dark"] .breadcrumb-item.active { color: var(--bs-heading-color); }
html[data-bs-theme="dark"] .footer { background-color: var(--bs-card-bg); color: var(--bs-secondary-color); border-color: var(--bs-border-color); }
html[data-bs-theme="dark"] .btn-light { background-color: #212b43; border-color: #212b43; color: var(--bs-body-color); }
html[data-bs-theme="dark"] .btn-light:hover { background-color: #2a3654; color: #fff; }
html[data-bs-theme="dark"] .btn-close { filter: invert(1) grayscale(100%) brightness(200%); }
html[data-bs-theme="dark"] .page-link { background-color: var(--bs-card-bg); border-color: var(--bs-border-color); color: var(--bs-body-color); }
html[data-bs-theme="dark"] .nav-tabs { border-color: var(--bs-border-color); }
html[data-bs-theme="dark"] .dataTables_wrapper .dataTables_filter input,
html[data-bs-theme="dark"] .dataTables_wrapper .dataTables_length select { background-color: #111827; color: var(--bs-body-color); border-color: var(--bs-border-color); }
html[data-bs-theme="dark"] .apexcharts-text { fill: #8b96b4; }
html[data-bs-theme="dark"] .apexcharts-gridline { stroke: #263049; }
html[data-bs-theme="dark"] .apexcharts-tooltip, html[data-bs-theme="dark"] .apexcharts-menu { background: #182034 !important; color: #cdd5ea; border-color: #263049 !important; }
html[data-bs-theme="dark"] .swal2-popup { background: var(--bs-card-bg); color: var(--bs-body-color); }
html[data-bs-theme="dark"] code { color: #f0a8c4; }
html[data-bs-theme="dark"] .simplebar-scrollbar:before { background: #8b96b4; }

/* contraste del acento sobre fondo oscuro */
html[data-bs-theme="dark"] a:not(.btn):not(.dropdown-item):not(.nav-link):not(.page-link) { color: var(--pa-accent-light); }
html[data-bs-theme="dark"] a:not(.btn):not(.dropdown-item):not(.nav-link):not(.page-link):hover { color: #fff; }
html[data-bs-theme="dark"] .text-primary,
html[data-bs-theme="dark"] .badge.bg-soft-primary, html[data-bs-theme="dark"] .badge-soft-primary,
html[data-bs-theme="dark"] .nav-tabs .nav-link.active, html[data-bs-theme="dark"] .page-link { color: var(--pa-accent-light) !important; }
html[data-bs-theme="dark"] .page-item.active .page-link { color: #fff !important; }
html[data-bs-theme="dark"] #page-topbar .dropdown-item, html[data-bs-theme="dark"] #page-topbar .dropdown-item span { color: var(--bs-dropdown-link-color); }
html[data-bs-theme="dark"] #page-topbar .dropdown-item.text-danger, html[data-bs-theme="dark"] #page-topbar .dropdown-item.text-danger span { color: #f46a6a; }

/* ============================== Sidebar: variantes ============================== */
html[data-pa-sidebar="dark"] { /* valores por defecto */ }

html[data-pa-sidebar="light"] {
  --pa-side-bg: #ffffff;
  --pa-side-text: #4b5563;
  --pa-side-hover: var(--pa-accent);
  --pa-side-icon: #8a94a6;
  --pa-side-sub: #6b7280;
  --pa-side-title: #9aa3b2;
  --pa-side-active: var(--pa-accent);
  --pa-side-active-bg: rgba(var(--pa-accent-rgb), .10);
  --pa-side-hover-bg: rgba(var(--pa-accent-rgb), .06);
  --pa-side-flyout: #f3f4f8;
  --pa-side-border: rgba(0, 0, 0, .06);
}
html[data-bs-theme="dark"][data-pa-sidebar="light"] {
  --pa-side-bg: #182034;
  --pa-side-text: #aeb8d4;
  --pa-side-icon: #7380a3;
  --pa-side-sub: #8a94b3;
  --pa-side-title: #6b7694;
  --pa-side-flyout: #212b43;
  --pa-side-border: rgba(255, 255, 255, .06);
}
html[data-pa-sidebar="accent"],
html[data-pa-sidebar="gradient"] {
  --pa-side-bg: var(--pa-accent);
  --pa-side-text: rgba(255, 255, 255, .78);
  --pa-side-hover: #fff;
  --pa-side-icon: rgba(255, 255, 255, .7);
  --pa-side-sub: rgba(255, 255, 255, .66);
  --pa-side-title: rgba(255, 255, 255, .55);
  --pa-side-active: #fff;
  --pa-side-active-bg: rgba(255, 255, 255, .18);
  --pa-side-hover-bg: rgba(255, 255, 255, .10);
  --pa-side-flyout: var(--pa-accent-dark);
  --pa-side-border: rgba(255, 255, 255, .14);
}
html[data-pa-sidebar="gradient"] {
  --pa-side-bg-image: linear-gradient(185deg, var(--pa-accent-light) 0%, var(--pa-accent) 45%, var(--pa-accent-dark) 100%);
}

html body .vertical-menu {
  background: var(--pa-side-bg);
  background-image: var(--pa-side-bg-image);
  box-shadow: 1px 0 0 var(--pa-side-border);
}
html body .navbar-brand-box {
  background: var(--pa-side-bg);
  background-image: var(--pa-side-bg-image);
  background-size: 100% 100vh;
  background-position: top;
}
html body #sidebar-menu ul li a { color: var(--pa-side-text); transition: background-color .15s, color .15s; }
html body #sidebar-menu ul li a i { color: var(--pa-side-icon); transition: color .15s; }
html body #sidebar-menu ul li a:hover,
html body #sidebar-menu ul li a:hover i { color: var(--pa-side-hover); }
html body #sidebar-menu ul li ul.sub-menu li a { color: var(--pa-side-sub); }
html body #sidebar-menu ul li ul.sub-menu li a:hover { color: var(--pa-side-hover); }
html body #sidebar-menu .menu-title { color: var(--pa-side-title); letter-spacing: .08em; font-size: .68rem; font-weight: 600; }
html body .mm-active,
html body .mm-active > a,
html body .mm-active > a i,
html body .mm-active .active,
html body .mm-active .active i,
html body .mm-active > i { color: var(--pa-side-active) !important; }

/* píldora de ítem activo (solo con el sidebar expandido) */
html body:not(.vertical-collpsed) #sidebar-menu > ul > li > a {
  margin: 2px 10px; padding: .62rem 1rem; border-radius: var(--pa-radius-sm);
}
html body:not(.vertical-collpsed) #sidebar-menu > ul > li > a:hover { background: var(--pa-side-hover-bg); }
html body:not(.vertical-collpsed) #sidebar-menu > ul > li.mm-active > a,
html body:not(.vertical-collpsed) #sidebar-menu > ul > li > a.active { background: var(--pa-side-active-bg); }
html body:not(.vertical-collpsed) #sidebar-menu ul.sub-menu li a { padding-left: 3.2rem; }
html body:not(.vertical-collpsed) #sidebar-menu ul.sub-menu li a.active { color: var(--pa-side-active) !important; font-weight: 600; }
html body #sidebar-menu .menu-title { padding: 14px 20px 8px; }

/* sidebar colapsado */
html body.vertical-collpsed .vertical-menu { position: fixed; top: 70px; bottom: 0; }
html body.vertical-collpsed .vertical-menu #sidebar-menu > ul > li:hover > a { background: var(--pa-side-flyout); color: var(--pa-side-active); }
html body.vertical-collpsed .vertical-menu #sidebar-menu > ul > li:hover > a i { color: var(--pa-side-active); }
html body.vertical-collpsed .vertical-menu #sidebar-menu > ul ul { background-color: var(--pa-side-flyout); border-radius: 0 0 var(--pa-radius-sm) 0; }
html body.vertical-collpsed .vertical-menu #sidebar-menu > ul > li:hover > ul a { color: var(--pa-side-sub); }
html body.vertical-collpsed .vertical-menu #sidebar-menu > ul > li:hover > ul a:hover,
html body.vertical-collpsed .vertical-menu #sidebar-menu ul li.mm-active .active { color: var(--pa-side-hover) !important; }
html body.vertical-collpsed .vertical-menu #sidebar-menu ul li.mm-active > a { background: var(--pa-side-active-bg); }
.vertical-menu #sidebar-menu { padding-bottom: 24px; }

/* ============================== Marca / logo ============================== */
.pa-brand { display: inline-flex; align-items: center; gap: .6rem; text-decoration: none; vertical-align: middle; }
.pa-brand svg, .pa-brand img { width: 34px; height: 34px; flex: 0 0 auto; border-radius: 9px; filter: drop-shadow(0 2px 6px rgba(0,0,0,.18)); }
.pa-brand-text { font-weight: 700; font-size: 1.12rem; letter-spacing: .06em; color: var(--pa-side-hover); line-height: 1; }
.pa-brand-text small { font-weight: 400; opacity: .72; font-size: inherit; }
html[data-pa-sidebar="light"] .pa-brand-text { color: #1f2937; }
html[data-pa-sidebar="light"][data-bs-theme="dark"] .pa-brand-text { color: #fff; }
.navbar-brand-box .logo { display: inline-flex !important; align-items: center; height: 70px; line-height: 1; }
.navbar-brand-box .logo .logo-sm { display: none; }
.navbar-brand-box .logo .logo-lg { display: inline-flex; }
.vertical-collpsed .navbar-brand-box .logo .logo-lg { display: none !important; }
.vertical-collpsed .navbar-brand-box .logo .logo-sm { display: inline-flex !important; }
.navbar-brand-box { padding: 0 1.25rem; text-align: left; }
.vertical-collpsed .navbar-brand-box { padding: 0; text-align: center; display: flex; justify-content: center; }

/* ============================== Topbar ============================== */
html[data-pa-topbar="dark"] { --pa-top-bg: #1d2436; --pa-top-text: #d3daf0; --pa-top-hover-bg: rgba(255,255,255,.07); }
html[data-pa-topbar="accent"] { --pa-top-bg: var(--pa-accent); --pa-top-text: #fff; --pa-top-hover-bg: rgba(255,255,255,.14); }
html body #page-topbar { background: var(--pa-top-bg); color: var(--pa-top-text); border-bottom: 1px solid rgba(127,127,127,.12); }
html body #page-topbar .header-item,
html body #page-topbar .header-item:hover,
html body #page-topbar .noti-icon i,
html body #page-topbar .header-item .mdi,
html body #page-topbar #vertical-menu-btn { color: var(--pa-top-text); }
html body #page-topbar .header-item:hover { background: var(--pa-top-hover-bg); }
html body #page-topbar .header-item.show { background: var(--pa-top-hover-bg); }
html body #page-topbar .header-profile-user { background-color: rgba(127,127,127,.2); }
html body #page-topbar .badge.bg-soft-primary { background: rgba(var(--pa-accent-rgb), .14) !important; color: var(--pa-accent) !important; }
html[data-pa-topbar="accent"] #page-topbar .badge[class*="bg-soft-"],
html[data-pa-topbar="dark"] #page-topbar .badge[class*="bg-soft-"] { background: rgba(255,255,255,.14) !important; color: #fff !important; }
#page-topbar .dropdown-menu { border: 1px solid var(--bs-border-color); border-radius: var(--pa-radius); box-shadow: var(--pa-shadow-lg); padding: .5rem; }
#page-topbar .dropdown-item { border-radius: var(--pa-radius-sm); padding: .5rem .75rem; }
#page-topbar .dropdown-divider { margin: .35rem 0; }
.pa-user-head { padding: .6rem .75rem .5rem; }
.pa-user-head .pa-user-name { font-weight: 600; color: var(--bs-body-color); line-height: 1.2; }
.pa-user-head .pa-user-mail { font-size: .75rem; color: var(--bs-secondary-color, #74788d); }
.pa-version-chip { font-size: .68rem; opacity: .75; }

/* ============================== Navegación flotante ============================== */
html[data-pa-nav="floating"] body { background-color: var(--bs-body-bg); }
html[data-pa-nav="floating"] #page-topbar {
  top: var(--pa-float-gap); left: var(--pa-float-gap); right: var(--pa-float-gap);
  border-radius: 16px; border: 1px solid rgba(127,127,127,.12); box-shadow: var(--pa-shadow-lg); overflow: visible;
}
html[data-pa-nav="floating"] #page-topbar .navbar-brand-box { border-radius: 16px 0 0 16px; }
html[data-pa-nav="floating"] body.vertical-collpsed #page-topbar .navbar-brand-box { border-radius: 16px 0 0 16px; }
html[data-pa-nav="floating"] .vertical-menu {
  top: calc(70px + var(--pa-float-gap) * 2); bottom: var(--pa-float-gap); left: var(--pa-float-gap);
  border-radius: 16px; box-shadow: var(--pa-shadow-lg); border: 1px solid rgba(127,127,127,.1);
}
html[data-pa-nav="floating"] body.vertical-collpsed .vertical-menu { top: calc(70px + var(--pa-float-gap) * 2); bottom: var(--pa-float-gap); }
html[data-pa-nav="floating"] .vertical-menu .simplebar-content-wrapper,
html[data-pa-nav="floating"] .vertical-menu .simplebar-mask { border-radius: 16px; }
html[data-pa-nav="floating"] .main-content { margin-left: calc(250px + var(--pa-float-gap) * 2); }
html[data-pa-nav="floating"] body.vertical-collpsed .main-content { margin-left: calc(70px + var(--pa-float-gap) * 2); }
html[data-pa-nav="floating"] .page-content { padding-top: calc(70px + var(--pa-float-gap) * 2 + 14px); }
html[data-pa-nav="floating"] .footer { left: calc(250px + var(--pa-float-gap) * 2); }
html[data-pa-nav="floating"] body.vertical-collpsed .footer { left: calc(70px + var(--pa-float-gap) * 2); }
@media (max-width: 991.98px) {
  html[data-pa-nav="floating"] .main-content,
  html[data-pa-nav="floating"] body.vertical-collpsed .main-content { margin-left: 0 !important; }
  html[data-pa-nav="floating"] .footer { left: 0 !important; }
  html[data-pa-nav="floating"] #page-topbar { left: 6px; right: 6px; top: 6px; }
}

/* ============================== Ancho de contenido / densidad / radio ============================== */
html[data-pa-width="boxed"] .page-content > .container-fluid { max-width: 1240px; margin-left: auto; margin-right: auto; }
html[data-pa-density="compact"] .page-content { padding-top: calc(70px + 14px); }
html[data-pa-density="compact"] .card-body { padding: .9rem 1rem; }
html[data-pa-density="compact"] .card { margin-bottom: .9rem; }
html[data-pa-density="compact"] .table > :not(caption) > * > * { padding: .4rem .6rem; }
html[data-pa-density="compact"] .page-title-box { padding-bottom: 12px; }
html[data-pa-density="compact"] #sidebar-menu ul li a { padding-top: .45rem !important; padding-bottom: .45rem !important; }
html[data-pa-radius="sharp"] { --pa-radius: 3px; --pa-radius-sm: 2px; }

.card { border-radius: var(--pa-radius); box-shadow: var(--pa-shadow); }
.btn, .form-control, .form-select, .input-group-text, .dropdown-menu, .modal-content, .alert, .badge.rounded, .nav-pills .nav-link {
  border-radius: var(--pa-radius-sm);
}
.modal-content { border-radius: var(--pa-radius); }
.input-group > .form-control:not(:last-child), .input-group > .form-select:not(:last-child) { border-top-right-radius: 0; border-bottom-right-radius: 0; }
.input-group > .form-control:not(:first-child), .input-group > .input-group-text:not(:first-child) { border-top-left-radius: 0; border-bottom-left-radius: 0; }
.input-group > .input-group-text:not(:last-child), .input-group > .btn:not(:last-child) { border-top-right-radius: 0; border-bottom-right-radius: 0; }
.input-group > .btn:not(:first-child) { border-top-left-radius: 0; border-bottom-left-radius: 0; }

/* ============================== Acento en componentes ============================== */
a { color: var(--pa-accent); }
a:hover { color: var(--pa-accent-dark); }
.text-primary { color: var(--pa-accent) !important; }
.bg-primary { background-color: var(--pa-accent) !important; }
.border-primary { border-color: var(--pa-accent) !important; }
.bg-soft-primary, .badge-soft-primary { background-color: rgba(var(--pa-accent-rgb), .14) !important; }
.badge.bg-soft-primary, .badge-soft-primary { color: var(--pa-accent) !important; }
.btn-primary {
  --bs-btn-bg: var(--pa-accent); --bs-btn-border-color: var(--pa-accent);
  --bs-btn-hover-bg: var(--pa-accent-dark); --bs-btn-hover-border-color: var(--pa-accent-dark);
  --bs-btn-active-bg: var(--pa-accent-dark); --bs-btn-active-border-color: var(--pa-accent-dark);
  --bs-btn-disabled-bg: var(--pa-accent); --bs-btn-disabled-border-color: var(--pa-accent);
  --bs-btn-focus-shadow-rgb: var(--pa-accent-rgb);
}
.btn-outline-primary {
  --bs-btn-color: var(--pa-accent); --bs-btn-border-color: var(--pa-accent);
  --bs-btn-hover-bg: var(--pa-accent); --bs-btn-hover-border-color: var(--pa-accent);
  --bs-btn-active-bg: var(--pa-accent); --bs-btn-active-border-color: var(--pa-accent);
  --bs-btn-disabled-color: var(--pa-accent); --bs-btn-disabled-border-color: var(--pa-accent);
  --bs-btn-focus-shadow-rgb: var(--pa-accent-rgb);
}
.btn-soft-primary { background-color: rgba(var(--pa-accent-rgb), .14); color: var(--pa-accent); border-color: transparent; }
.btn-soft-primary:hover { background-color: var(--pa-accent); color: #fff; }
.form-control:focus, .form-select:focus { border-color: rgba(var(--pa-accent-rgb), .6); box-shadow: 0 0 0 .2rem rgba(var(--pa-accent-rgb), .15); }
.form-check-input:checked { background-color: var(--pa-accent); border-color: var(--pa-accent); }
.form-check-input:focus { border-color: rgba(var(--pa-accent-rgb), .6); box-shadow: 0 0 0 .2rem rgba(var(--pa-accent-rgb), .2); }
.nav-pills .nav-link.active, .nav-pills .show > .nav-link { background-color: var(--pa-accent); }
.nav-tabs .nav-link.active { color: var(--pa-accent); }
.page-item.active .page-link { background-color: var(--pa-accent); border-color: var(--pa-accent); }
.page-link { color: var(--pa-accent); }
.progress-bar { background-color: var(--pa-accent); }
.dropdown-item.active, .dropdown-item:active { background-color: var(--pa-accent); }
.dataTables_wrapper .dataTables_paginate .paginate_button.current,
.dataTables_wrapper .dataTables_paginate .paginate_button.current:hover { background: var(--pa-accent) !important; border-color: var(--pa-accent) !important; color: #fff !important; }
.select2-container--default .select2-results__option--highlighted[aria-selected] { background-color: var(--pa-accent); }
.avatar-title.bg-primary { background-color: var(--pa-accent) !important; }
.spinner-border.text-primary, .text-primary .spinner-border { color: var(--pa-accent) !important; }
.page-title-box { padding-bottom: 20px; }
.page-title-box h4 { font-weight: 600; letter-spacing: .01em; }

/* ============================== Panel de configuración (right bar) ============================== */
.right-bar { width: 340px; right: -350px; background: var(--bs-card-bg, #fff); color: var(--bs-body-color); z-index: 9999; box-shadow: var(--pa-shadow-lg); }
.right-bar .rightbar-title { background: var(--pa-accent); color: #fff !important; }
.right-bar .rightbar-title h5, .right-bar .rightbar-title .noti-icon { color: #fff !important; }
body.right-bar-enabled .right-bar { right: 0; }
.pa-set-group { padding: 1rem 1.25rem .25rem; }
.pa-set-title { font-size: .7rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--bs-secondary-color, #74788d); margin-bottom: .6rem; }
.pa-opts { display: grid; gap: .5rem; grid-template-columns: repeat(2, 1fr); }
.pa-opts.cols-3 { grid-template-columns: repeat(3, 1fr); }
.pa-opts.cols-4 { grid-template-columns: repeat(4, 1fr); }
.pa-opt {
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .35rem; text-align: center;
  padding: .55rem .35rem; border: 1.5px solid var(--bs-border-color, #e9ecef); border-radius: var(--pa-radius-sm);
  background: transparent; color: var(--bs-body-color); font-size: .72rem; cursor: pointer; transition: border-color .15s, background-color .15s, transform .1s;
}
.pa-opt:hover { border-color: rgba(var(--pa-accent-rgb), .55); }
.pa-opt:active { transform: scale(.97); }
.pa-opt.active { border-color: var(--pa-accent); background: rgba(var(--pa-accent-rgb), .08); color: var(--pa-accent); font-weight: 600; }
.pa-opt .pa-thumb { width: 100%; height: 38px; border-radius: 6px; border: 1px solid rgba(127,127,127,.25); position: relative; overflow: hidden; background: #f3f4f8; }
.pa-opt .pa-thumb::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 28%; background: var(--t-side, #1d2436); }
.pa-opt .pa-thumb::after { content: ""; position: absolute; left: 28%; top: 0; right: 0; height: 22%; background: var(--t-top, #fff); border-bottom: 1px solid rgba(127,127,127,.2); }
.pa-opt .pa-thumb.mode-dark { background: #0f1522; --t-top: #182034; }
.pa-opt .pa-thumb.top-only::before { background: transparent; }
.pa-opt .pa-thumb.side-only::after { background: transparent; border: 0; }
.pa-opt .pa-thumb.floating::before { left: 5%; top: 8%; bottom: 8%; width: 22%; border-radius: 4px; }
.pa-opt .pa-thumb.floating::after { left: 31%; top: 8%; right: 5%; border-radius: 4px; }
.pa-swatches { display: flex; flex-wrap: wrap; gap: .5rem; }
.pa-swatch { width: 30px; height: 30px; border-radius: 50%; border: 2px solid transparent; background: var(--c); cursor: pointer; position: relative; box-shadow: 0 0 0 1px rgba(127,127,127,.25) inset; padding: 0; }
.pa-swatch.active { border-color: var(--bs-card-bg, #fff); box-shadow: 0 0 0 2px var(--c); }
.pa-swatch.active::after { content: "\F012C"; font-family: "Material Design Icons"; color: #fff; font-size: 16px; position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; }
.pa-swatch-custom { background: conic-gradient(red, orange, yellow, lime, aqua, blue, magenta, red); overflow: hidden; }
.pa-swatch-custom input { position: absolute; inset: 0; opacity: 0; width: 100%; height: 100%; cursor: pointer; }
.pa-set-footer { padding: 1rem 1.25rem 2rem; }
.rightbar-overlay { z-index: 9998; }

/* ============================== Pequeños retoques generales ============================== */
.footer { border-top: 1px solid var(--bs-border-color, #e9ecef); }
@media (max-width: 575.98px) { .right-bar { width: 100%; right: -100%; } }

/* Variantes suaves (este build de la plantilla no trae bg-soft-*) */
.bg-soft-success   { background-color: rgba(52, 195, 143, .16) !important; }
.bg-soft-info      { background-color: rgba(80, 165, 241, .16) !important; }
.bg-soft-warning   { background-color: rgba(241, 180, 76, .18) !important; }
.bg-soft-danger    { background-color: rgba(244, 106, 106, .16) !important; }
.bg-soft-secondary { background-color: rgba(116, 120, 141, .16) !important; }
.bg-soft-dark      { background-color: rgba(127, 127, 127, .16) !important; }
.badge.bg-soft-success { color: #34c38f !important; } .badge.bg-soft-info { color: #50a5f1 !important; }
.badge.bg-soft-warning { color: #d99a2b !important; } .badge.bg-soft-danger { color: #f46a6a !important; }
.badge.bg-soft-secondary { color: #74788d !important; } .badge.bg-soft-dark { color: var(--bs-body-color) !important; }
