/* ==========================================================================
   SMBC Whitelabel Theme (Cleaned, Scoped)
   Scope: add class "theme-smbc" to <html> or <body> to activate
   Version: 1.0.0 (2025-11-05)
   Notes:
   - Palette restricted to SMBC greens + neutrals
   - Accessible contrast and consistent focus styles
   - Minimal !important; specificity comes from scoping
   ========================================================================== */

/* Optional: include brand typeface (adjust URLs to your asset paths) */
@font-face {
  font-family: "APP-FNT";
  src:
    url("../images/smbc/fonts/NotoSansJP-Regular.woff2") format("woff2"),
    url("../images/smbc/fonts/NotoSansJP-Regular.woff") format("woff"),
    url("../images/smbc/fonts/NotoSansJP-Regular.otf") format("opentype");
  font-display: swap;
  font-weight: 400;
  font-style: normal;
}

/* --------------------------------------------------------------------------
   Root Tokens
   -------------------------------------------------------------------------- */
.theme-smbc {
  /* Brand */
  --app-theme-clr: #004831;          /* Trad Green */
  --app-accent-clr: #c4d700;         /* Fresh Green */
  --app-theme-bg-clr: #e8f3e0;       /* Light brand tint */

  /* Neutrals */
  --app-light-clr: #ffffff;
  --app-dark-clr: #111111;
  --app-text-clr: #222222;
  --app-muted-text-clr: #555555;
  --app-border-clr: #e6e6e6;
  --app-bg-soft: #f8f8f8;

  /* Semantics */
  --app-info-clr: #004831;
  --app-success-clr: #0a6d3a;
  --app-warning-clr: #8a7b00;
  --app-error-clr: #9b1c1c;

  /* Controls */
  --app-checkbox-bg-clr: #004831;
  --app-input-txt-color: #222222;
  --app-input-bg-color: #ffffff;
  --app-input-border-color: #ced4da;
  --app-focus-ring: 0 0 0 .2rem rgba(0, 72, 49, .25);

  /* Buttons */
  --app-btn-radius: .5rem;
  --app-card-radius: .75rem;
  --app-btn1-bg-clr: #004831;
  --app-btn1-txt-clr: #ffffff;
  --app-btn1-bg-hvr-clr: #ffffff;
  --app-btn1-hover-txt-clr: #004831;

  --app-btn2-bg-clr: #c4d700;
  --app-btn2-txt-clr: #111111;

  --app-btn3-bg-clr: #004831;
  --app-btn3-hover-bg-clr: #ffffff;
  --app-btn3-hover-txt-clr: #004831;

  --app-btn-disabled: #b8c2b8;
  --app-btn-disabled-hover: #d9ded9;
  --app-disable-clr: #dcdcdc;

  /* Tabs / Pills */
  --app-tab-btn-bg-clr: #ffffff;
  --app-tab-btn-txt-clr: #004831;
  --app-tab-btn-checked-clr: #004831;

  /* Badges */
  --app-badge-bg-clr: #c4d700;
  --app-badge-txt-clr: #004831;

  /* Date Range */
  --app-daterange-bg-select-clr: #c4d700;
  --app-daterange-txt-select-clr: #004831;

  /* Shadows */
  --app-shadow-sm: 0 1px 2px rgba(0,0,0,.05);
  --app-shadow-md: 0 2px 8px rgba(0,0,0,.08);
  --app-shadow-lg: 0 8px 24px rgba(0,0,0,.12);

  /* Fromm buyer app pickups */
  --app-btn1-hover-txt-clr:#ffffff;
  --app-btn1-hover-bg-clr:#1b5f46;
  --smbc-pearl-white:#f5f6f1;
}

/* --------------------------------------------------------------------------
   Base & Typography
   -------------------------------------------------------------------------- */
.theme-smbc, 
.theme-smbc body,
.theme-smbc #wrapper {
  color: var(--app-text-clr);
  background: var(--app-theme-bg-clr) !important;
  font-family: "APP-FNT", "Noto Sans", "Segoe UI", system-ui, -apple-system, Arial, sans-serif;
  line-height: 1.5;
}

/* Ensure main content area uses brand light tint too */
.theme-smbc .content-page,
.theme-smbc #content-page,
.theme-smbc .content,
.theme-smbc .content-page .content {
  background: var(--app-theme-bg-clr) !important;
}

/* Override inline styles set by JavaScript - must be very specific */
.theme-smbc body[style*="background-color"],
.theme-smbc #wrapper[style*="background-color"],
.theme-smbc #content-page[style*="background-color"] {
  background-color: var(--app-theme-bg-clr) !important;
}
.theme-smbc a {
  color: var(--app-theme-clr) !important;
  text-decoration-color: color-mix(in srgb, var(--app-theme-clr) 50%, #ffffff);
}

.theme-smbc a:hover { 
  color: var(--app-btn1-hover-bg-clr) !important;
  text-decoration-color: var(--app-btn1-hover-bg-clr) !important; 
}

/* Top-right profile toggle (nav-user) - ensure hover background is applied */
.theme-smbc #profileDropdown:hover,
.theme-smbc a.nav-link.nav-user:hover {
  color: var(--app-btn1-hover-bg-clr) !important;
  background-color: var(--smbc-pearl-white) !important;
  /* Some navbar/link rules may override background; this inset fill makes it visible. */
  /* box-shadow: inset 0 0 0 1000px var(--smbc-pearl-white) !important; */
  border: 2px solid var(--app-btn1-hover-bg-clr) !important;
}

/* Icons: line-only, inherit color */
/*.theme-smbc svg { stroke: currentColor; fill: none; }*/

/* Focus (use :focus-visible for keyboard) */
.theme-smbc :where(a, button, input, select, textarea, [role="button"]):focus-visible {
  outline: 0;
  box-shadow: var(--app-focus-ring);
  border-color: var(--app-theme-clr);
}

/* --------------------------------------------------------------------------
   Logos (background-image approach for reliability)
   Apply to an empty <span class="loginLogo"></span> or similar element.
   -------------------------------------------------------------------------- */
.theme-smbc .loginLogo,
.theme-smbc .brand-logo {
  display: inline-block;
  width: 200px;
  height: 48px;
  background: url('../images/smbc/app-logo1.png') center/contain no-repeat;
}

/* Login Page Logos */
/* Hide broken img tags and use background-image on parent anchor tag */
.theme-smbc img.login-logo-dark,
.theme-smbc img.login-logo-light {
  display: none !important;
}

/* Use parent anchor tag (.logo) for logo background */
.theme-smbc .auth-logo .logo,
.theme-smbc .auth-logo a.logo,
.theme-smbc .auth-brand .auth-logo .logo,
.theme-smbc .auth-brand .auth-logo a.logo {
  display: inline-block !important;
  width: 200px !important;
  height: 62px !important;
  min-height: 62px !important;
  background-image: url('../images/smbc/app-logo.png') !important;
  background-size: contain !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  text-align: center !important;
  text-decoration: none !important;
  border: none !important;
  outline: none !important;
}

.theme-smbc .auth-logo .logo.logo-dark,
.theme-smbc .auth-logo a.logo.logo-dark,
.theme-smbc .auth-brand .auth-logo .logo.logo-dark,
.theme-smbc .auth-brand .auth-logo a.logo.logo-dark {
  background-image: url('../images/smbc/app-logo.png') !important;
}

.theme-smbc .auth-logo .logo.logo-light,
.theme-smbc .auth-logo a.logo.logo-light,
.theme-smbc .auth-brand .auth-logo .logo.logo-light,
.theme-smbc .auth-brand .auth-logo a.logo.logo-light {
  background-image: url('../images/smbc/app-logo.png') !important;
}

/* Ensure auth-logo container properly displays logo */
.theme-smbc .auth-logo,
.theme-smbc .auth-brand .auth-logo {
  display: block !important;
  text-align: center !important;
  margin-bottom: 1.5rem;
}

/* Center auth-brand container */
.theme-smbc .auth-brand {
  text-align: center !important;
}

/* Login page: Show only logo-dark (for white background), hide logo-light */
.theme-smbc .auth-logo .logo.logo-dark,
.theme-smbc .auth-logo a.logo.logo-dark,
.theme-smbc .auth-brand .auth-logo .logo.logo-dark,
.theme-smbc .auth-brand .auth-logo a.logo.logo-dark {
  display: inline-block !important;
  margin: 0 auto !important;
}

.theme-smbc .auth-logo .logo.logo-light,
.theme-smbc .auth-logo a.logo.logo-light,
.theme-smbc .auth-brand .auth-logo .logo.logo-light,
.theme-smbc .auth-brand .auth-logo a.logo.logo-light {
  display: none !important;
}

/* Auth/logout pages: prevent second logo layer from generic .logo-lg background */
.theme-smbc .auth-logo .logo .logo-lg,
.theme-smbc .auth-logo a.logo .logo-lg,
.theme-smbc .auth-brand .auth-logo .logo .logo-lg,
.theme-smbc .auth-brand .auth-logo a.logo .logo-lg {
  background-image: none !important;
  width: auto !important;
  height: auto !important;
  min-height: 0 !important;
}

/* Auth Fluid Right - Background Image Container */
.theme-smbc .auth-fluid {
  background: url('../images/smbc/bg-img.jpg') !important;
  background-position: center !important; /* Center the image */
  background-repeat: no-repeat !important; /* Do not repeat the image */
  background-size: 100% 100% !important; /* Stretch image to fill container both vertically and horizontally */
  justify-content: end !important;
}

.theme-smbc .auth-fluid-right {
  background: url('../images/smbc/bg-img.jpg') !important;
  background-position: center !important; /* Center the image */
  background-repeat: no-repeat !important; /* Do not repeat the image */
  background-size: 100% 100% !important; /* Stretch image to fill container both vertically and horizontally */
}

/* Auth User Testimonial - Semi-transparent background for text readability */
.theme-smbc .auth-user-testimonial {
  background-color: rgba(0, 0, 0, 0.4) !important; /* Subtle semi-transparent dark background */
  padding: 1.5rem 2rem !important;
  border-radius: 0.75rem !important;
  -webkit-backdrop-filter: blur(2px) !important;
}

.theme-smbc .auth-user-testimonial p.lead,
.theme-smbc .auth-user-testimonial #getMeasurableImprovementMsg {
  background-color: transparent !important; /* Remove background from paragraph since container has it */
  padding: 0 !important; /* Remove padding since container has it */
  border-radius: 0 !important;
  display: block !important;
}

/* SMBC Logo Images - img tags without src attribute */
/* Strategy: Hide broken img and use parent container (span) with background-image */
.theme-smbc .logo-sm img.appSmLogo,
.theme-smbc img.appSmLogo {
  display: none !important;
}

.theme-smbc .logo-lg img.appLgLogo,
.theme-smbc img.appLgLogo {
  display: none !important;
}

/* Default state (expanded sidebar): Show logo-lg, hide logo-sm */
/* Apply to all logo containers (sidebar and navbar) - must be very specific */
.theme-smbc .logo .logo-sm,
.theme-smbc .logo-sm,
.theme-smbc .logo-box .logo .logo-sm,
.theme-smbc .navbar-custom .logo-box .logo .logo-sm,
.theme-smbc .left-side-menu .logo-box .logo .logo-sm {
  display: none !important;
}

.theme-smbc .logo .logo-lg,
.theme-smbc .logo-lg,
.theme-smbc .logo-box .logo .logo-lg,
.theme-smbc .navbar-custom .logo-box .logo .logo-lg,
.theme-smbc .left-side-menu .logo-box .logo .logo-lg {
  display: inline-block !important;
  width: 200px !important;
  height: 48px !important;
  max-width: 200px !important;
  max-height: 48px !important;
  background-image: url('../images/smbc/app-logo1.png') !important;
  background-size: contain !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  margin: 0 auto;
}

/* Condensed sidebar state: Hide logo-lg, show logo-sm */
/* Apply to all logo containers (sidebar and navbar) - must be very specific */
.theme-smbc body[data-sidebar-size="condensed"] .logo .logo-sm,
.theme-smbc body[data-sidebar-size="condensed"] .logo-sm,
.theme-smbc body[data-sidebar-size=condensed] .logo .logo-sm,
.theme-smbc body[data-sidebar-size=condensed] .logo-sm,
.theme-smbc body[data-sidebar-size="condensed"] .logo-box .logo .logo-sm,
.theme-smbc body[data-sidebar-size="condensed"] .navbar-custom .logo-box .logo .logo-sm,
.theme-smbc body[data-sidebar-size="condensed"] .left-side-menu .logo-box .logo .logo-sm,
.theme-smbc body[data-sidebar-size=condensed] .logo-box .logo .logo-sm,
.theme-smbc body[data-sidebar-size=condensed] .navbar-custom .logo-box .logo .logo-sm,
.theme-smbc body[data-sidebar-size=condensed] .left-side-menu .logo-box .logo .logo-sm {
  display: inline-block !important;
  width: 45px !important;
  height: 45px !important;
  background-image: url('../images/smbc/app_favicon.png') !important;
  background-size: contain !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  margin: 0 auto;
}

.theme-smbc body[data-sidebar-size="condensed"] .logo .logo-lg,
.theme-smbc body[data-sidebar-size="condensed"] .logo-lg,
.theme-smbc body[data-sidebar-size=condensed] .logo .logo-lg,
.theme-smbc body[data-sidebar-size=condensed] .logo-lg,
.theme-smbc body[data-sidebar-size="condensed"] .logo-box .logo .logo-lg,
.theme-smbc body[data-sidebar-size="condensed"] .navbar-custom .logo-box .logo .logo-lg,
.theme-smbc body[data-sidebar-size="condensed"] .left-side-menu .logo-box .logo .logo-lg,
.theme-smbc body[data-sidebar-size=condensed] .logo-box .logo .logo-lg,
.theme-smbc body[data-sidebar-size=condensed] .navbar-custom .logo-box .logo .logo-lg,
.theme-smbc body[data-sidebar-size=condensed] .left-side-menu .logo-box .logo .logo-lg {
  display: none !important;
}

/* --------------------------------------------------------------------------
   Buttons (generic + mapped utility classes)
   -------------------------------------------------------------------------- */
.theme-smbc .btn,
.theme-smbc button,
.theme-smbc [role="button"] {
  border-radius: var(--app-btn-radius);
  /* border: 2px solid var(--app-btn1-hover-txt-clr); */
  color: var(--smbc-pearl-white) !important;
  background-color: var(--app-btn1-hover-bg-clr) !important;
  /* box-shadow: var(--app-shadow-sm);
  transition: background-color .15s ease, color .15s ease, border-color .15s ease, box-shadow .15s ease; */
}

.theme-smbc .btn:hover,
.theme-smbc button:hover,
.theme-smbc [role="button"]:hover {
  color: var(--app-btn1-hover-bg-clr) !important;
  background-color: var(--smbc-pearl-white) !important;
  border-color: var(--app-btn1-hover-bg-clr) !important;
}

/* Dropdown menu items: keep neutral by default, green only on hover */
.theme-smbc .dropdown-menu .dropdown-item {
  color: var(--app-theme-clr) !important;
  background-color: #ffffff !important;
  border: 0 !important;
}

.theme-smbc .dropdown-menu .dropdown-item:hover,
.theme-smbc .dropdown-menu .dropdown-item:focus,
.theme-smbc .dropdown-menu .dropdown-item.active,
.theme-smbc .dropdown-menu .dropdown-item:active {
  color: #ffffff !important;
  background-color: var(--app-theme-clr) !important;
}

/* Persist green for selected page-size option */
.theme-smbc .dropdown-menu .dropdown-item[aria-current="true"],
.theme-smbc .dropdown-menu .dropdown-item[aria-selected="true"],
.theme-smbc .dropdown-menu .dropdown-item.selected {
  color: #ffffff !important;
  background-color: var(--app-theme-clr) !important;
}

/* Primary */
.theme-smbc .btn-primary,
.theme-smbc .fis-btn,
.theme-smbc .btnLogin {
  border-radius: var(--app-btn-radius);
  color: var(--smbc-pearl-white) !important;
  background-color: var(--app-btn1-hover-bg-clr) !important;
}
.theme-smbc .btn-primary:hover,
.theme-smbc .fis-btn:hover,
.theme-smbc .btnLogin:hover {
  color: var(--app-btn1-hover-bg-clr) !important;
  background-color: var(--smbc-pearl-white) !important;
  border-color: var(--app-btn1-hover-bg-clr) !important;
}
.theme-smbc .btn-primary:active,
.theme-smbc .fis-btn:active,
.theme-smbc .btnLogin:active {
  background: var(--app-btn-disabled-hover);
  border-color: var(--app-btn-disabled);
}
.theme-smbc .btn-primary:disabled,
.theme-smbc .fis-btn:disabled,
.theme-smbc .btnLogin:disabled {
  color: #666;
  background: var(--app-disable-clr);
  border-color: var(--app-disable-clr);
}

/* Accent (Fresh Green) */
.theme-smbc .btn-accent,
.theme-smbc .btn-warning,
.theme-smbc .btn-secondary {
  color: var(--app-btn2-txt-clr);
  background: var(--app-btn2-bg-clr);
  border-color: var(--app-btn2-bg-clr);
}
.theme-smbc .btn-accent:hover,
.theme-smbc .btn-warning:hover,
.theme-smbc .btn-secondary:hover {
  filter: brightness(0.95);
}

/* Outline brand */
.theme-smbc .btn-outline-brand {
  color: var(--app-theme-clr);
  background: transparent;
  border-color: var(--app-theme-clr);
}
.theme-smbc .btn-outline-brand:hover {
  color: var(--app-light-clr);
  background: var(--app-theme-clr);
  border-color: var(--app-theme-clr);
}

/* Destructive */
.theme-smbc .btn-danger {
  color: #ffffff;
  background: var(--app-error-clr);
  border-color: var(--app-error-clr);
}
.theme-smbc .btn-danger:hover { filter: brightness(0.95); }

/* --------------------------------------------------------------------------
   Forms & Inputs
   -------------------------------------------------------------------------- */
.theme-smbc input,
.theme-smbc select,
.theme-smbc textarea {
  color: var(--app-input-txt-color);
  background: var(--app-input-bg-color);
  border: 1px solid var(--app-input-border-color);
  border-radius: .5rem;
  padding: .5rem .75rem;
  transition: box-shadow .15s ease, border-color .15s ease;
}
.theme-smbc input:focus,
.theme-smbc select:focus,
.theme-smbc textarea:focus { border-color: var(--app-theme-clr); box-shadow: var(--app-focus-ring); }

/* Specific legacy class override (from original file) */
.theme-smbc .loginInputTxt {
  border: 1px solid var(--app-input-border-color);
  border-radius: .5rem;
  padding: .5rem .75rem;
  background: var(--app-input-bg-color);
  color: var(--app-input-txt-color);
}

/* Checkboxes */
.theme-smbc .form-check-input[type="checkbox"] {
  width: 20px;
  height: 20px;
  padding: 0;
  border: 1px solid var(--app-input-border-color);
  border-radius: .25rem;
}
.theme-smbc .form-check-input[type="checkbox"]:checked {
  background-color: var(--app-checkbox-bg-clr);
  border-color: var(--app-checkbox-bg-clr);
}
.theme-smbc .form-check-input:focus { box-shadow: var(--app-focus-ring); border-color: var(--app-checkbox-bg-clr); }

/* --------------------------------------------------------------------------
   Navigation Bar / Header
   -------------------------------------------------------------------------- */
.theme-smbc .navbar-custom {
  background-color: var(--app-theme-clr) !important;
  box-shadow: var(--app-shadow-md);
}
/* Hide navbar logo-box - sidebar already has the logo */
.theme-smbc .navbar-custom .logo-box {
  display: none !important;
}
.theme-smbc .navbar-custom .topnav-menu .nav-link {
  color: rgba(255, 255, 255, 0.75);
}
.theme-smbc .navbar-custom .topnav-menu .nav-link:hover {
  color: #ffffff;
}
.theme-smbc .navbar-custom .topnav-menu .nav-link.nav-user:hover,
.theme-smbc .navbar-custom .topnav-menu #profileDropdown:hover {
  color: var(--app-btn1-hover-bg-clr) !important;
  background: var(--smbc-pearl-white) !important;
  background-color: var(--smbc-pearl-white) !important;
  box-shadow: inset 0 0 0 1000px var(--smbc-pearl-white) !important;
  border-color: var(--app-btn1-hover-bg-clr) !important;
}

.theme-smbc .profile-dropdown .dropdown-item:hover,
.theme-smbc .profile-dropdown .dropdown-item:focus {
  color: var(--app-btn1-hover-bg-clr) !important;
  background: var(--smbc-pearl-white) !important;
  background-color: var(--smbc-pearl-white) !important;
}
.theme-smbc .navbar-custom .button-menu-mobile {
  color: var(--smbc-pearl-white) !important;
}

.theme-smbc .navbar-custom .button-menu-mobile:hover {
  color: var(--smbc-pearl-white) !important;
  background: var(--app-btn1-hover-bg-clr) !important;
  background-color: var(--app-btn1-hover-bg-clr) !important;
  border-color: var(--app-btn1-hover-bg-clr) !important;
}
.theme-smbc .navbar-custom .dropdown .nav-link.show {
  background-color: rgba(255, 255, 255, 0.1);
}

/* --------------------------------------------------------------------------
   Sidebar / Left Menu
   -------------------------------------------------------------------------- */
.theme-smbc .left-side-menu {
  background: var(--app-light-clr) !important;
  box-shadow: var(--app-shadow-md);
}

/* Logo box in sidebar - match navbar background color (dark green) */
/* Must override compiled CSS which sets background-color: #0056c1 */
.theme-smbc .logo-box,
.theme-smbc .left-side-menu .logo-box,
.theme-smbc body .logo-box,
.theme-smbc html .logo-box,
html.theme-smbc .logo-box,
html.theme-smbc body .logo-box,
html.theme-smbc .left-side-menu .logo-box {
  background-color: var(--app-theme-clr) !important;
  background: var(--app-theme-clr) !important;
  /* Center logo both vertically and horizontally */
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  height: 70px !important;
  min-height: 70px !important;
  max-height: 70px !important;
}

/* Ensure logo container is centered within logo-box and fills exact height */
.theme-smbc .logo-box .logo {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  height: 70px !important;
  min-height: 70px !important;
  max-height: 70px !important;
  line-height: 70px !important;
  margin: 0 !important;
  padding: 0 !important;
}

.theme-smbc .logo-box .logo .logo-lg-text-dark {
  color: var(--app-light-clr);
}

.theme-smbc .logo-box .logo .logo-lg-text-light {
  color: var(--app-light-clr);
}

/* Sidebar menu items */
.theme-smbc .left-side-menu #sidebar-menu > ul > li > a {
  color: var(--app-text-clr);
  transition: color .15s ease, background-color .15s ease;
}

.theme-smbc .left-side-menu #sidebar-menu > ul > li > a:hover,
.theme-smbc .left-side-menu #sidebar-menu > ul > li > a:focus,
.theme-smbc .left-side-menu #sidebar-menu > ul > li > a:active {
  color: var(--app-theme-clr);
  background-color: var(--app-theme-bg-clr);
}

.theme-smbc .left-side-menu #sidebar-menu > ul > li > a.mm-active,
.theme-smbc .left-side-menu #sidebar-menu .menuitem-active > a {
  color: #ffffff !important;
  font-weight: 600;
  background-color: var(--app-theme-clr) !important;
}

.theme-smbc .left-side-menu #sidebar-menu .menuitem-active .active {
  color: #ffffff !important;
}

.theme-smbc .left-side-menu #sidebar-menu > ul > li > a.mm-active i,
.theme-smbc .left-side-menu #sidebar-menu .menuitem-active > a i,
.theme-smbc .left-side-menu #sidebar-menu .menuitem-active .active i,
.theme-smbc .left-side-menu #sidebar-menu > ul > li ul .active i,
.theme-smbc .left-side-menu #sidebar-menu .nav-second-level li.active > a i,
.theme-smbc .left-side-menu #sidebar-menu > ul > li > a.mm-active svg,
.theme-smbc .left-side-menu #sidebar-menu .menuitem-active > a svg,
.theme-smbc .left-side-menu #sidebar-menu .menuitem-active .active svg,
.theme-smbc .left-side-menu #sidebar-menu > ul > li ul .active svg,
.theme-smbc .left-side-menu #sidebar-menu .nav-second-level li.active > a svg {
  color: #ffffff !important;
  fill: #ffffff !important;
}

/* Sidebar expand/collapse arrow color behavior */
.theme-smbc .left-side-menu #sidebar-menu .menu-arrow::before {
  color: var(--app-theme-clr) !important;
}

.theme-smbc .left-side-menu #sidebar-menu > ul > li > a.mm-active .menu-arrow::before,
.theme-smbc .left-side-menu #sidebar-menu .menuitem-active > a .menu-arrow::before,
.theme-smbc .left-side-menu #sidebar-menu > ul > li ul .active > a .menu-arrow::before,
.theme-smbc .left-side-menu #sidebar-menu .nav-second-level li.active > a .menu-arrow::before {
  color: #ffffff !important;
}

.theme-smbc .left-side-menu #sidebar-menu .menu-title {
  color: var(--app-muted-text-clr);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

/* Sub-menu items */
.theme-smbc .left-side-menu #sidebar-menu > ul > li ul a {
  color: var(--app-text-clr);
}

.theme-smbc .left-side-menu #sidebar-menu > ul > li ul a:hover,
.theme-smbc .left-side-menu #sidebar-menu > ul > li ul a:active,
.theme-smbc .left-side-menu #sidebar-menu > ul > li ul a:focus {
  color: var(--app-theme-clr);
  background-color: var(--app-theme-bg-clr);
}

.theme-smbc .left-side-menu #sidebar-menu > ul > li ul .active,
.theme-smbc .left-side-menu #sidebar-menu .nav-second-level li.active > a {
  color: #ffffff !important;
  background-color: var(--app-theme-clr) !important;
}

/* --------------------------------------------------------------------------
   Navigation, Tabs, Pills
   -------------------------------------------------------------------------- */
.theme-smbc .nav-pills .nav-link {
  color: var(--app-tab-btn-txt-clr);
  background: var(--app-tab-btn-bg-clr);
  border: 2px solid var(--app-border-clr);
  border-radius: 999px;
}
.theme-smbc .nav-pills .nav-link:hover { border-color: var(--app-tab-btn-checked-clr); }
.theme-smbc .nav-pills .nav-link.active,
.theme-smbc .nav-pills .show > .nav-link {
  color: #ffffff;
  background: var(--app-theme-clr);
  border-color: var(--app-theme-clr);
}

/* Wizard chips */
.theme-smbc .form-wizard-header .nav-item .nav-link {
  color: var(--app-text-clr);
  background: color-mix(in srgb, var(--app-theme-clr) 50%, #ffffff);
  border: 2px solid color-mix(in srgb, var(--app-theme-clr) 50%, #ffffff);
  border-radius: 999px;
}
.theme-smbc .form-wizard-header .nav-item .nav-link .number {
  color: #ffffff;
  background: color-mix(in srgb, var(--app-theme-clr) 40%, #ffffff);
  border-radius: 999px;
  padding: 0 .5rem;
}
.theme-smbc .form-wizard-header .nav-item .nav-link.active,
.theme-smbc .form-wizard-header .nav-item .nav-link.active .number {
  color: #ffffff;
  background: var(--app-theme-clr);
  border-color: var(--app-theme-clr);
}

/* Header tabs (example legacy selectors) */
.theme-smbc .headerTab .headerTitle,
.theme-smbc .headerTab h1,
.theme-smbc .headerTab h2 {
  color: var(--app-theme-clr);
}

/* --------------------------------------------------------------------------
   Pagination
   -------------------------------------------------------------------------- */
.theme-smbc .page-link { color: var(--app-theme-clr); }
.theme-smbc .page-item.active .page-link {
  color: #ffffff !important;
  background: var(--app-theme-clr);
  border: 2px solid var(--app-theme-clr);
}
.theme-smbc .page-item.active .page-link:hover,
.theme-smbc .page-item.active .page-link:focus,
.theme-smbc .page-item.active .page-link:active {
  color: #ffffff !important;
}

/* --------------------------------------------------------------------------
   Badges & Chips
   -------------------------------------------------------------------------- */
.theme-smbc .badge,
.theme-smbc .chip {
  border-radius: var(--app-btn-radius);
  color: var(--smbc-pearl-white) !important;
  background-color: var(--app-btn1-hover-bg-clr) !important;
  border-radius: 999px;
  padding: .125rem .5rem;
  border: 1px solid transparent;
}


.theme-smbc .badge:hover,
.theme-smbc .chip:hover {
  border-radius: var(--app-btn-radius);
  color: var(--app-btn1-hover-bg-clr) !important;
  background-color: var(--smbc-pearl-white) !important;
  border-color: var(--app-btn1-hover-bg-clr) !important;
  border-radius: 999px;
  padding: .125rem .5rem;
  border: 1px solid transparent;
}

/* --------------------------------------------------------------------------
   Tables
   -------------------------------------------------------------------------- */
.theme-smbc table {
  border-collapse: separate;
  border-spacing: 0;
}
.theme-smbc th, .theme-smbc td {
  border-bottom: 1px solid var(--app-border-clr);
  padding: .75rem;
}
.theme-smbc thead th {
  color: var(--app-dark-clr);
  background: var(--app-bg-soft);
}

/* --------------------------------------------------------------------------
   Alerts
   -------------------------------------------------------------------------- */
.theme-smbc .alert-info    { background: color-mix(in srgb, var(--app-info-clr) 10%, #ffffff);    border-left: 4px solid var(--app-info-clr); }
.theme-smbc .alert.alert-info.sub-heading-alert {
  background: var(--app-light-clr) !important;
  color: var(--app-theme-clr) !important;
  border: 1px solid var(--app-theme-clr) !important;
  border-left: 4px solid var(--app-theme-clr) !important;
}
.theme-smbc .alert.alert-primary.sub-heading-alert {
  background: var(--app-light-clr) !important;
  color: var(--app-theme-clr) !important;
  border: 1px solid var(--app-theme-clr) !important;
  border-left: 4px solid var(--app-theme-clr) !important;
}
.theme-smbc .alert-success { background: color-mix(in srgb, var(--app-success-clr) 10%, #ffffff); border-left: 4px solid var(--app-success-clr); }
.theme-smbc .alert.alert-warning {
  background: var(--app-light-clr);
  color: var(--app-theme-clr);
  border: 1px solid var(--app-theme-clr);
  border-left: 4px solid var(--app-theme-clr);
}
.theme-smbc .alert-danger  { background: color-mix(in srgb, var(--app-error-clr) 10%, #ffffff);   border-left: 4px solid var(--app-error-clr); }

/* --------------------------------------------------------------------------
   Date Range / Calendar (class names from original hints)
   -------------------------------------------------------------------------- */
.theme-smbc .custom-day.range,
.theme-smbc .custom-day:hover {
  color: var(--app-daterange-txt-select-clr);
  background: var(--app-daterange-bg-select-clr);
}

/* --------------------------------------------------------------------------
   Cards & Panels
   -------------------------------------------------------------------------- */
.theme-smbc .card,
.theme-smbc .panel {
  border: 1px solid var(--app-border-clr);
  border-radius: var(--app-card-radius);
  box-shadow: var(--app-shadow-md);
  background: #fff;
}
.theme-smbc .card-header,
.theme-smbc .panel-header {
  color: var(--app-dark-clr);
  background: var(--app-bg-soft);
  border-bottom: 1px solid var(--app-border-clr);
}

/* --------------------------------------------------------------------------
   Utility Helpers
   -------------------------------------------------------------------------- */
.theme-smbc .text-brand { color: var(--app-theme-clr) !important; }
.theme-smbc .bg-brand   { background: var(--app-theme-clr) !important; color: #ffffff !important; }
.theme-smbc .bg-accent  { background: var(--app-theme-clr) !important; color: #111111 !important; }
.theme-smbc .border-brand{ border-color: var(--app-theme-clr) !important; }

/* --------------------------------------------------------------------------
   Responsive Touch-ups
   -------------------------------------------------------------------------- */
@media (max-width: 991.98px) {
  .theme-smbc .loginLogo,
  .theme-smbc .brand-logo { width: 170px; height: 40px; }
}
@media (max-width: 768px) {
  .theme-smbc .card, .theme-smbc .panel { border-radius: calc(var(--app-card-radius) - .25rem); }
}
@media (max-width: 576px) {
  .theme-smbc .loginLogo,
  .theme-smbc .brand-logo { width: 150px; height: 36px; }
}

/* --------------------------------------------------------------------------
   End
   -------------------------------------------------------------------------- */


