/* ===== Role-based Color Theming ===== */

/* --- COMPANY (data-portal="admin") — Dark Red --- */
[data-portal="admin"] #miniSidebar {
  border-right: 3px solid #b91c1c;
}
[data-portal="admin"] .navbar-glass {
  background: linear-gradient(90deg, rgba(153, 27, 27, .12), rgba(185, 28, 28, .06)) !important;
  border-bottom: 2.5px solid #dc2626;
}
[data-portal="admin"] .brand-logo .site-logo-text {
  color: #dc2626 !important;
}
[data-portal="admin"] #topbar-role-mode-label {
  background: #991b1b !important;
  color: #fecaca !important;
}
[data-portal="admin"] .nav-link.active {
  color: #dc2626 !important;
  background: rgba(220, 38, 38, .08);
  border-left: 3px solid #dc2626;
}
[data-portal="admin"] .card {
  border-top: 2.5px solid rgba(185, 28, 28, .45);
}
[data-portal="admin"] .offcanvasNav {
  border-right: 3px solid #b91c1c;
}

/* --- AGENT (data-portal="agent") — Dark Orange --- */
[data-portal="agent"] #miniSidebar {
  border-right: 3px solid #c2410c;
}
[data-portal="agent"] .navbar-glass {
  background: linear-gradient(90deg, rgba(194, 65, 12, .12), rgba(234, 88, 12, .06)) !important;
  border-bottom: 2.5px solid #ea580c;
}
[data-portal="agent"] .brand-logo .site-logo-text {
  color: #ea580c !important;
}
[data-portal="agent"] #topbar-role-mode-label {
  background: #9a3412 !important;
  color: #fed7aa !important;
}
[data-portal="agent"] .nav-link.active {
  color: #ea580c !important;
  background: rgba(234, 88, 12, .08);
  border-left: 3px solid #ea580c;
}
[data-portal="agent"] .card {
  border-top: 2.5px solid rgba(194, 65, 12, .4);
}
[data-portal="agent"] .offcanvasNav {
  border-right: 3px solid #c2410c;
}

/* --- MEMBER (data-portal="member-home") — Dark Blue --- */
[data-portal="member-home"] #miniSidebar {
  border-right: 3px solid #1e40af;
}
[data-portal="member-home"] .navbar-glass {
  background: linear-gradient(90deg, rgba(30, 64, 175, .12), rgba(37, 99, 235, .06)) !important;
  border-bottom: 2.5px solid #2563eb;
}
[data-portal="member-home"] .brand-logo .site-logo-text {
  color: #2563eb !important;
}
[data-portal="member-home"] #topbar-role-mode-label {
  background: #1e3a8a !important;
  color: #bfdbfe !important;
}
[data-portal="member-home"] .nav-link.active {
  color: #2563eb !important;
  background: rgba(37, 99, 235, .08);
  border-left: 3px solid #2563eb;
}
[data-portal="member-home"] .card {
  border-top: 2.5px solid rgba(30, 64, 175, .4);
}
[data-portal="member-home"] .offcanvasNav {
  border-right: 3px solid #1e40af;
}

/* --- Dark mode adjustments (html[data-bs-theme] > body[data-portal]) --- */
[data-bs-theme="dark"] [data-portal="admin"] .navbar-glass {
  background: linear-gradient(90deg, rgba(153, 27, 27, .3), rgba(127, 29, 29, .18)) !important;
}
[data-bs-theme="dark"] [data-portal="admin"] .nav-link.active {
  background: rgba(220, 38, 38, .18);
}
[data-bs-theme="dark"] [data-portal="admin"] .card {
  border-top-color: rgba(239, 68, 68, .55);
}
[data-bs-theme="dark"] [data-portal="admin"] #miniSidebar {
  border-right-color: #ef4444;
}

[data-bs-theme="dark"] [data-portal="agent"] .navbar-glass {
  background: linear-gradient(90deg, rgba(154, 52, 18, .3), rgba(124, 45, 18, .18)) !important;
}
[data-bs-theme="dark"] [data-portal="agent"] .nav-link.active {
  background: rgba(234, 88, 12, .18);
}
[data-bs-theme="dark"] [data-portal="agent"] .card {
  border-top-color: rgba(251, 146, 60, .55);
}
[data-bs-theme="dark"] [data-portal="agent"] #miniSidebar {
  border-right-color: #f97316;
}

[data-bs-theme="dark"] [data-portal="member-home"] .navbar-glass {
  background: linear-gradient(90deg, rgba(30, 58, 138, .3), rgba(29, 78, 216, .18)) !important;
}
[data-bs-theme="dark"] [data-portal="member-home"] .nav-link.active {
  background: rgba(37, 99, 235, .18);
}
[data-bs-theme="dark"] [data-portal="member-home"] .card {
  border-top-color: rgba(96, 165, 250, .55);
}
[data-bs-theme="dark"] [data-portal="member-home"] #miniSidebar {
  border-right-color: #3b82f6;
}

/* --- Role badge shared style --- */
#topbar-role-mode-label {
  font-size: .7rem;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  border: none;
  padding: .35em .75em;
}
