/*!
 * ----------------------------------------------------------------------------
 * Halfmoon CSS – Modern theme (Branded Version)
 * Adapted for Viktor Hura — Brand Green: #41AD48
 * Based on Halfmoon CSS (MIT License | https://www.gethalfmoon.com)
 * ----------------------------------------------------------------------------
 */

/* ============================================================
   Brand Color System
   ============================================================ */

:root {
  --background-white: #fafbfa;
}
[data-bs-core=modern] {
    /* --------------------------------------------------------
       BRAND PRIMARY COLOR — #41AD48 (Green)
       HSL approx: 124°, 69% saturation, 47% lightness
       -------------------------------------------------------- */
    --bs-primary-hue: 124;
    --bs-primary-saturation: 45%;

    /* Lightness scale */
    --bs-primary-100-hsl: var(--bs-primary-hue), var(--bs-primary-saturation), 90%;
    --bs-primary-200-hsl: var(--bs-primary-hue), var(--bs-primary-saturation), 80%;
    --bs-primary-300-hsl: var(--bs-primary-hue), var(--bs-primary-saturation), 70%;
    --bs-primary-400-hsl: var(--bs-primary-hue), var(--bs-primary-saturation), 60%;
    --bs-primary-500-hsl: var(--bs-primary-hue), var(--bs-primary-saturation), 47%; /* brand base */
    --bs-primary-600-hsl: var(--bs-primary-hue), var(--bs-primary-saturation), 40%;
    --bs-primary-700-hsl: var(--bs-primary-hue), var(--bs-primary-saturation), 33%;
    --bs-primary-800-hsl: var(--bs-primary-hue), var(--bs-primary-saturation), 27%;
    --bs-primary-900-hsl: var(--bs-primary-hue), var(--bs-primary-saturation), 20%;

    /* Actual color values */
    --bs-primary-100: hsl(var(--bs-primary-100-hsl));
    --bs-primary-200: hsl(var(--bs-primary-200-hsl));
    --bs-primary-300: hsl(var(--bs-primary-300-hsl));
    --bs-primary-400: hsl(var(--bs-primary-400-hsl));
    --bs-primary-500: hsl(var(--bs-primary-500-hsl));
    --bs-primary-600: hsl(var(--bs-primary-600-hsl));
    --bs-primary-700: hsl(var(--bs-primary-700-hsl));
    --bs-primary-800: hsl(var(--bs-primary-800-hsl));
    --bs-primary-900: hsl(var(--bs-primary-900-hsl));

    --bs-primary-hsl: var(--bs-primary-500-hsl);
    --bs-primary: hsl(var(--bs-primary-hsl));

    --bs-primary-foreground-hsl: var(--bs-white-hsl);
    --bs-primary-foreground: hsl(var(--bs-primary-foreground-hsl));

    --bs-primary-text-emphasis-hsl: var(--bs-primary-700-hsl);
    --bs-primary-text-emphasis: hsl(var(--bs-primary-text-emphasis-hsl));

    --bs-primary-hover-bg: var(--bs-primary-600);
    --bs-primary-active-bg: var(--bs-primary-700);

    --bs-primary-bg-subtle: hsl(var(--bs-primary-hue), var(--bs-primary-saturation), 92%);
    --bs-primary-border-subtle: var(--bs-primary-300);

    /* INFO uses primary in this brand theme */
    --bs-info-hue: var(--bs-blue-hue);
	--bs-info-saturation: var(--bs-blue-saturation);
	--bs-info-100-hsl: var(--bs-blue-100-hsl);
	--bs-info-200-hsl: var(--bs-blue-200-hsl);
	--bs-info-300-hsl: var(--bs-blue-300-hsl);
	--bs-info-400-hsl: var(--bs-blue-400-hsl);
	--bs-info-500-hsl: var(--bs-blue-500-hsl);
	--bs-info-600-hsl: var(--bs-blue-600-hsl);
	--bs-info-700-hsl: var(--bs-blue-700-hsl);
	--bs-info-800-hsl: var(--bs-blue-800-hsl);
	--bs-info-900-hsl: var(--bs-blue-900-hsl);
	--bs-info-100: var(--bs-blue-100);
	--bs-info-200: var(--bs-blue-200);
	--bs-info-300: var(--bs-blue-300);
	--bs-info-400: var(--bs-blue-400);
	--bs-info-500: var(--bs-blue-500);
	--bs-info-600: var(--bs-blue-600);
	--bs-info-700: var(--bs-blue-700);
	--bs-info-800: var(--bs-blue-800);
	--bs-info-900: var(--bs-blue-900);
	--bs-info-hsl: var(--bs-blue-hsl);
	--bs-info: var(--bs-blue);
	--bs-info-foreground-hsl: var(--bs-blue-foreground-hsl);
	--bs-info-foreground: var(--bs-blue-foreground);
	--bs-info-text-emphasis-hsl: var(--bs-blue-text-emphasis-hsl);
	--bs-info-text-emphasis: var(--bs-blue-text-emphasis);
	--bs-info-hover-bg: var(--bs-blue-hover-bg);
	--bs-info-active-bg: var(--bs-blue-active-bg);
	--bs-info-bg-subtle: var(--bs-blue-bg-subtle);
	--bs-info-border-subtle: var(--bs-blue-border-subtle);
	--bs-info-checkbox-svg: var(--bs-blue-checkbox-svg);
	--bs-info-dash-svg: var(--bs-blue-dash-svg);
	--bs-info-radio-svg: var(--bs-blue-radio-svg);
	--bs-info-switch-svg: var(--bs-blue-switch-svg);

    /* Link colors */
    --bs-link-color-hsl: var(--bs-primary-600-hsl);
    --bs-link-hover-color-hsl: var(--bs-primary-500-hsl);

    /* Form focus uses brand */
    --bs-form-focus-border-color: var(--bs-primary-border-subtle);
    --bs-form-focus-shadow-hsl: var(--bs-primary-hsl);
    --bs-form-check-focus-border-color: var(--bs-primary-border-subtle);
}

/* ============================================================
   LIGHT THEME — White & Soft Gray (#F3F3F3)
   ============================================================ */

[data-bs-core=modern]:not([data-bs-theme=dark]) {
    --bs-body-bg-hsl: var(--bs-white-hsl);
    --bs-secondary-bg-hsl: 0, 0%, 95%; /* #F3F3F3 */
    --bs-tertiary-bg-hsl: 0, 0%, 90%;

    --bs-border-color: hsl(0, 0%, 75%);
    --bs-border-color-light: hsl(0, 0%, 85%);
}

/* ============================================================
   DARK THEME — Dark neutrals with brand green accents
   ============================================================ */

[data-bs-core=modern][data-bs-theme=dark] {
    /* Backgrounds */
    --bs-body-bg-hsl: var(--bs-sable-900-hsl);
    --bs-secondary-bg-hsl: var(--bs-sable-800-hsl);
    --bs-tertiary-bg-hsl: var(--bs-sable-700-hsl);

    /* Borders */
    --bs-border-color: var(--bs-gray-900);

    /* Floating content */
    --bs-content-floating-bg-hsl: var(--bs-sable-hue), var(--bs-sable-saturation), 16.5%;

    /* Primary adjustments for dark mode */
    --bs-primary-bg-subtle: hsl(var(--bs-primary-hue), var(--bs-primary-saturation), 22%);
    --bs-primary-border-subtle: var(--bs-primary-700);

    --bs-primary-hover-bg: var(--bs-primary-400);
    --bs-primary-active-bg: var(--bs-primary-500);

    --bs-primary-text-emphasis-hsl: var(--bs-primary-300-hsl);
    --bs-primary-text-emphasis: hsl(var(--bs-primary-text-emphasis-hsl));

    /* INFO mirrors primary */
    --bs-info-text-emphasis-hsl: var(--bs-primary-text-emphasis-hsl);
    --bs-info-text-emphasis: var(--bs-primary-text-emphasis);
}

/* ============================================================
   Sidebar & Navigation (unchanged except colors now inherited)
   ============================================================ */

[data-bs-core=modern] .sidebar {
    --bs-sidebar-item-padding-x: 1rem;
    --bs-sidebar-item-padding-y: 0.25rem;
    --bs-sidebar-header-font-weight: var(--bs-font-weight-bold);
    --bs-sidebar-divider-bg: var(--bs-sidebar-bg);
}

[data-bs-core=modern] .sidebar-nav .nav-link {
    border-left: var(--bs-border-width) solid var(--bs-border-color-light);
}

[data-bs-core=modern] .sidebar-nav .nav-link.active,
[data-bs-core=modern] .sidebar-nav .nav-link.show {
    font-weight: var(--bs-font-weight-bold);
    border-color: currentColor;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}