/* ==========================================================================
   AutoRebuildFax — Bootstrap / admin-theme brand override
   Forces the admin theme (app.min.css, which defaults to #236dc9 blue) to
   render in ARF red. Shared by BOTH the dashboard (app) and auth layouts so
   they stay in sync — previously this lived inline in app.blade.php only,
   which left the auth pages blue.
   All values reference arf-tokens.css. Load order: arf-tokens.css → this → arf-ui.css.
   Canonical reference: DESIGN.md §6, §8.
   ========================================================================== */

:root,
[data-bs-theme=light],
[data-bs-theme=dark] {
  /* App theme primary (app.min.css uses --theme-* vars, defaulting to blue).
     Override every --theme-primary token so buttons, links, focus rings,
     charts, nav pills, etc. all render brand red. */
  --theme-primary: var(--arf-primary);
  --theme-primary-rgb: var(--arf-primary-rgb);
  --theme-primary-text-emphasis: var(--arf-primary-hover);
  --theme-primary-bg-subtle: rgba(var(--arf-primary-rgb), 0.10);
  --theme-primary-border-subtle: var(--arf-primary-border-subtle);
  --theme-link-color: var(--arf-primary);
  --theme-link-color-rgb: var(--arf-primary-rgb);
  --theme-link-hover-color: var(--arf-primary-hover);
  --theme-link-hover-color-rgb: 111, 20, 25;
  --theme-focus-ring-color: var(--arf-primary-focus-ring);
  --theme-chart-primary: var(--arf-primary);
  --theme-chart-primary-rgb: var(--arf-primary-rgb);
  --theme-chart-border-color: rgba(var(--arf-primary-rgb), 0.15);
}

.btn-primary {
  --bs-btn-color: #fff;
  --bs-btn-bg: var(--arf-primary);
  --bs-btn-border-color: var(--arf-primary);
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: var(--arf-primary-hover);
  --bs-btn-hover-border-color: var(--arf-primary-active);
  --bs-btn-focus-shadow-rgb: var(--arf-primary-rgb);
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: var(--arf-primary-active);
  --bs-btn-active-border-color: var(--arf-primary-active-border);
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: var(--arf-primary);
  --bs-btn-disabled-border-color: var(--arf-primary);
  /* App theme btn vars — app.min.css hardcodes blue on these. */
  --theme-btn-color: #fff;
  --theme-btn-bg: var(--arf-primary);
  --theme-btn-border-color: var(--arf-primary);
  --theme-btn-hover-color: #fff;
  --theme-btn-hover-bg: var(--arf-primary-hover);
  --theme-btn-hover-border-color: var(--arf-primary-active);
  --theme-btn-focus-shadow-rgb: var(--arf-primary-rgb);
  --theme-btn-active-color: #fff;
  --theme-btn-active-bg: var(--arf-primary-active);
  --theme-btn-active-border-color: var(--arf-primary-active-border);
  --theme-btn-disabled-color: #fff;
  --theme-btn-disabled-bg: var(--arf-primary);
  --theme-btn-disabled-border-color: var(--arf-primary);
}

.btn-outline-primary {
  --bs-btn-color: var(--arf-primary);
  --bs-btn-border-color: var(--arf-primary);
  --bs-btn-hover-bg: var(--arf-primary);
  --bs-btn-hover-border-color: var(--arf-primary);
  --bs-btn-active-bg: var(--arf-primary);
  --bs-btn-active-border-color: var(--arf-primary);
  --bs-btn-disabled-color: var(--arf-primary);
  --bs-btn-disabled-border-color: var(--arf-primary);
  --theme-btn-color: var(--arf-primary);
  --theme-btn-border-color: var(--arf-primary);
  --theme-btn-hover-color: #fff;
  --theme-btn-hover-bg: var(--arf-primary);
  --theme-btn-hover-border-color: var(--arf-primary);
  --theme-btn-focus-shadow-rgb: var(--arf-primary-rgb);
  --theme-btn-active-color: #fff;
  --theme-btn-active-bg: var(--arf-primary-hover);
  --theme-btn-active-border-color: var(--arf-primary-hover);
  --theme-btn-disabled-color: var(--arf-primary);
  --theme-btn-disabled-border-color: var(--arf-primary);
}

.btn-soft-primary {
  background-color: var(--arf-primary-subtle);
  color: var(--arf-primary);
  border-color: transparent;
}
.btn-soft-primary:hover,
.btn-soft-primary:focus,
.btn-soft-primary:active {
  background-color: var(--arf-primary);
  color: #fff;
}

.bg-primary { background-color: var(--arf-primary) !important; }
.bg-primary-subtle { background-color: var(--arf-primary-subtle) !important; }
.text-primary { color: var(--arf-primary) !important; }
.text-primary-emphasis { color: var(--arf-primary-active) !important; }
.border-primary { border-color: var(--arf-primary) !important; }
.link-primary { color: var(--arf-primary) !important; }
.link-primary:hover, .link-primary:focus { color: var(--arf-primary-active) !important; }

.form-check-input:checked {
  background-color: var(--arf-primary);
  border-color: var(--arf-primary);
}
.form-check-input:focus {
  border-color: var(--arf-focus-border);
  box-shadow: 0 0 0 .2rem rgba(var(--arf-primary-rgb), .2);
}
.form-control:focus,
.form-select:focus {
  border-color: var(--arf-focus-border);
  box-shadow: 0 0 0 .2rem rgba(var(--arf-primary-rgb), .15);
}

.nav-pills .nav-link.active,
.nav-pills .show > .nav-link { background-color: var(--arf-primary); }
.page-link { color: var(--arf-primary); }
.page-item.active .page-link {
  background-color: var(--arf-primary);
  border-color: var(--arf-primary);
}
.dropdown-item.active,
.dropdown-item:active { background-color: var(--arf-primary); }

/* Sidenav hover + active — app.min.css hardcodes blue inside these blocks */
[data-menu-color=light],
[data-menu-color=gray] {
  --theme-sidenav-item-hover-color: var(--arf-primary);
  --theme-sidenav-item-active-color: var(--arf-primary);
}

/* Topbar hover — same pattern */
[data-topbar-color=light],
[data-topbar-color=gray] {
  --theme-topbar-item-hover-color: var(--arf-primary);
}

/* Nav pills active background */
.nav-pills-primary {
  --theme-nav-pills-link-active-bg: var(--arf-primary);
  --theme-nav-link-hover-color: var(--arf-primary);
}

/* Nav bordered tabs primary */
.nav-tabs.nav-bordered-primary .nav-item .nav-link:focus,
.nav-tabs.nav-bordered-primary .nav-item .nav-link:hover {
  color: var(--arf-primary) !important;
}
.nav-tabs.nav-bordered-primary .nav-item .nav-link.active {
  border-bottom-color: var(--arf-primary) !important;
  color: var(--arf-primary) !important;
}
