/**
 * FleetOps color system.
 * Primary set: Docs/Palatte3.jpg
 * Surfaces and supporting blues: Docs/Palatte1.jpg, Docs/Palatte2.jpg
 */
:root {
    --fo-ink: #001219;
    --fo-teal-deep: #005F73;
    --fo-teal: #0A9396;
    --fo-mint: #94D2BD;
    --fo-cream: #E9D8A6;
    --fo-amber: #EE9B00;
    --fo-orange: #CA6702;
    --fo-rust: #BB3E03;
    --fo-red: #AE2012;
    --fo-red-deep: #9B2226;

    --fo-navy: #0A1B2E;
    --fo-midnight: #112A46;
    --fo-ocean: #1B3B5A;
    --fo-storm: #34506D;
    --fo-slate: #557392;
    --fo-dusk: #7A8CA6;
    --fo-fog: #A1B2C4;
    --fo-cloud: #C4D2E1;
    --fo-mist: #E1E8F0;
    --fo-haze: #F2F6FB;

    --fo-celtic: #0A6ED3;
    --fo-polynesian: #054E98;
    --fo-yale: #04356A;
    --fo-oxford: #001D3F;
    --fo-rich: #000919;

    --bs-blue: var(--fo-celtic);
    --bs-indigo: var(--fo-yale);
    --bs-purple: var(--fo-yale);
    --bs-pink: var(--fo-rust);
    --bs-red: var(--fo-red-deep);
    --bs-orange: var(--fo-orange);
    --bs-yellow: var(--fo-amber);
    --bs-green: var(--fo-teal);
    --bs-teal: var(--fo-teal-deep);
    --bs-cyan: var(--fo-mint);
    --bs-black: var(--fo-ink);
    --bs-white: #ffffff;
    --bs-gray: var(--fo-dusk);
    --bs-gray-dark: var(--fo-ocean);
    --bs-gray-100: var(--fo-haze);
    --bs-gray-200: var(--fo-mist);
    --bs-gray-300: var(--fo-cloud);
    --bs-gray-400: var(--fo-fog);
    --bs-gray-500: var(--fo-dusk);
    --bs-gray-600: var(--fo-slate);
    --bs-gray-700: var(--fo-storm);
    --bs-gray-800: var(--fo-ocean);
    --bs-gray-900: var(--fo-navy);

    --bs-primary: var(--fo-teal);
    --bs-secondary: var(--fo-storm);
    --bs-success: var(--fo-teal-deep);
    --bs-info: var(--fo-celtic);
    --bs-warning: var(--fo-amber);
    --bs-danger: var(--fo-red);
    --bs-light: var(--fo-haze);
    --bs-dark: var(--fo-navy);

    --bs-black-rgb: 0, 18, 25;
    --bs-orange-rgb: 202, 103, 2;
    --bs-yellow-rgb: 238, 155, 0;
    --bs-green-rgb: 10, 147, 150;
    --bs-teal-rgb: 0, 95, 115;
    --bs-cyan-rgb: 148, 210, 189;
    --bs-red-rgb: 155, 34, 38;
    --bs-indigo-rgb: 4, 53, 106;
    --bs-primary-rgb: 10, 147, 150;
    --bs-secondary-rgb: 52, 80, 109;
    --bs-success-rgb: 0, 95, 115;
    --bs-info-rgb: 10, 110, 211;
    --bs-warning-rgb: 238, 155, 0;
    --bs-danger-rgb: 174, 32, 18;
    --bs-pink-rgb: 187, 62, 3;
    --bs-purple-rgb: 4, 53, 106;
    --bs-blue-rgb: 10, 110, 211;
    --bs-light-rgb: 242, 246, 251;
    --bs-dark-rgb: 10, 27, 46;

    --bs-primary-text-emphasis: var(--fo-teal-deep);
    --bs-secondary-text-emphasis: var(--fo-ocean);
    --bs-success-text-emphasis: var(--fo-teal-deep);
    --bs-info-text-emphasis: var(--fo-polynesian);
    --bs-warning-text-emphasis: var(--fo-orange);
    --bs-danger-text-emphasis: var(--fo-red-deep);
    --bs-light-text-emphasis: var(--fo-storm);
    --bs-dark-text-emphasis: var(--fo-navy);

    --bs-primary-bg-subtle: rgba(10, 147, 150, 0.14);
    --bs-secondary-bg-subtle: rgba(52, 80, 109, 0.1);
    --bs-success-bg-subtle: rgba(0, 95, 115, 0.12);
    --bs-info-bg-subtle: rgba(10, 110, 211, 0.12);
    --bs-warning-bg-subtle: rgba(238, 155, 0, 0.16);
    --bs-danger-bg-subtle: rgba(174, 32, 18, 0.12);
    --bs-blue-bg-subtle: rgba(10, 110, 211, 0.12);
    --bs-pink-bg-subtle: rgba(187, 62, 3, 0.12);
    --bs-purple-bg-subtle: rgba(4, 53, 106, 0.12);
    --bs-light-bg-subtle: var(--fo-haze);
    --bs-dark-bg-subtle: var(--fo-mist);

    --bs-primary-border-subtle: var(--fo-mint);
    --bs-secondary-border-subtle: var(--fo-cloud);
    --bs-success-border-subtle: var(--fo-mint);
    --bs-info-border-subtle: var(--fo-fog);
    --bs-warning-border-subtle: var(--fo-cream);
    --bs-danger-border-subtle: rgba(174, 32, 18, 0.35);
    --bs-light-border-subtle: var(--fo-mist);
    --bs-dark-border-subtle: var(--fo-cloud);

    --bs-body-color: var(--fo-navy);
    --bs-body-color-rgb: 10, 27, 46;
    --bs-body-bg: var(--fo-haze);
    --bs-body-bg-rgb: 242, 246, 251;
    --bs-emphasis-color: var(--fo-ink);
    --bs-secondary-color: var(--fo-storm);
    --bs-secondary-bg: var(--fo-haze);
    --bs-tertiary-color: var(--fo-slate);
    --bs-tertiary-bg: var(--fo-mist);
    --bs-heading-color: var(--fo-ink);
    --bs-link-color: var(--fo-teal-deep);
    --bs-link-hover-color: var(--fo-teal);
    --bs-link-color-rgb: 0, 95, 115;
    --bs-link-hover-color-rgb: 10, 147, 150;
    --bs-border-color: var(--fo-cloud);
    --bs-focus-ring-color: rgba(10, 147, 150, 0.35);

    --color-primary: var(--fo-teal);
    --color-success: var(--fo-teal-deep);
    --color-warning: var(--fo-orange);
    --color-danger: var(--fo-red);
    --color-pending: var(--fo-rust);
    --color-info: var(--fo-celtic);
    --color-foreground: var(--fo-ocean);
    --color-background: var(--fo-haze);
    --color-blue-900: var(--fo-teal-deep);
    --color-green-800: var(--fo-teal-deep);
    --color-yellow-800: var(--fo-orange);
    --color-rose-800: var(--fo-red);
    --color-orange-800: var(--fo-rust);
    --color-slate-50: var(--fo-haze);
    --color-slate-300: var(--fo-cloud);
    --color-slate-500: var(--fo-dusk);
    --color-slate-700: var(--fo-storm);
    --color-slate-800: var(--fo-midnight);
    --color-gray-300: var(--fo-cloud);
    --color-gray-900: var(--fo-navy);

    --bs-topbar-bg: var(--fo-haze);
    --bs-topbar-b-border-color: var(--fo-cloud);
    --bs-topbar-nav-icon-bg: #ffffff;
    --bs-topbar-nav-icon-color: var(--fo-storm);
    --bs-startbar-bg: var(--fo-haze);
    --bs-startbar-e-border-color: var(--fo-cloud);
    --bs-menu-icon-color: var(--fo-slate);
    --bs-menu-link-color: var(--fo-navy);
    --bs-menu-link-active-bg-color: var(--fo-mist);
    --bs-menu-link-hover-color: var(--fo-teal-deep);
    --bs-menu-label-color: var(--fo-slate);
    --bs-nav-link-disc-color: var(--fo-dusk);
    --bs-card-bg: #ffffff;
    --bs-table-head-bg: var(--fo-mist);
    --bs-border-secondary: var(--fo-cloud);
}

html[data-bs-theme=dark] {
    --bs-body-color: var(--fo-mist);
    --bs-body-color-rgb: 225, 232, 240;
    --bs-body-bg: var(--fo-ink);
    --bs-body-bg-rgb: 0, 18, 25;
    --bs-emphasis-color: var(--fo-haze);
    --bs-secondary-color: var(--fo-fog);
    --bs-secondary-bg: var(--fo-navy);
    --bs-tertiary-color: rgba(225, 232, 240, 0.62);
    --bs-tertiary-bg: var(--fo-midnight);
    --bs-primary-text-emphasis: var(--fo-mint);
    --bs-secondary-text-emphasis: var(--fo-cloud);
    --bs-success-text-emphasis: var(--fo-mint);
    --bs-info-text-emphasis: var(--fo-cloud);
    --bs-warning-text-emphasis: var(--fo-cream);
    --bs-danger-text-emphasis: var(--fo-amber);
    --bs-light-text-emphasis: var(--fo-haze);
    --bs-dark-text-emphasis: var(--fo-mist);
    --bs-primary-bg-subtle: rgba(10, 147, 150, 0.22);
    --bs-secondary-bg-subtle: rgba(52, 80, 109, 0.35);
    --bs-success-bg-subtle: rgba(0, 95, 115, 0.35);
    --bs-info-bg-subtle: rgba(10, 110, 211, 0.22);
    --bs-warning-bg-subtle: rgba(238, 155, 0, 0.18);
    --bs-danger-bg-subtle: rgba(174, 32, 18, 0.24);
    --bs-heading-color: var(--fo-haze);
    --bs-link-color: var(--fo-mint);
    --bs-link-hover-color: var(--fo-teal);
    --bs-link-color-rgb: 148, 210, 189;
    --bs-link-hover-color-rgb: 10, 147, 150;
    --bs-border-color: var(--fo-ocean);
    --bs-card-bg: var(--fo-navy);
    --bs-topbar-bg: var(--fo-ink);
    --bs-topbar-b-border-color: var(--fo-midnight);
    --bs-topbar-nav-icon-bg: var(--fo-navy);
    --bs-topbar-nav-icon-color: var(--fo-cloud);
    --bs-table-head-bg: var(--fo-midnight);
    --bs-secondary: var(--fo-fog);
    --bs-secondary-rgb: 161, 178, 196;

    --color-background: var(--fo-ink);
    --color-foreground: var(--fo-mist);
    --color-primary: var(--fo-mint);
    --color-success: var(--fo-mint);
    --color-warning: var(--fo-cream);
    --color-danger: var(--fo-amber);
    --color-pending: var(--fo-amber);
}

html[data-startbar=dark] {
    --bs-startbar-bg: #000000;
    --bs-startbar-e-border-color: #000000;
    --bs-menu-icon-color: var(--fo-dusk);
    --bs-menu-link-color: var(--fo-fog);
    --bs-menu-link-active-bg-color: rgba(148, 210, 189, 0.12);
    --bs-menu-link-hover-color: var(--fo-mint);
    --bs-nav-link-disc-color: var(--fo-slate);
    --bs-menu-label-color: var(--fo-dusk);
}

html.dark {
    --color-background: var(--fo-ink);
    --color-foreground: var(--fo-mist);
    --color-primary: var(--fo-mint);
    --color-success: var(--fo-mint);
    --color-warning: var(--fo-cream);
    --color-danger: var(--fo-amber);
    --color-pending: var(--fo-amber);
}

.btn-primary {
    --bs-btn-color: #ffffff;
    --bs-btn-bg: var(--fo-teal);
    --bs-btn-border-color: var(--fo-teal);
    --bs-btn-hover-color: #ffffff;
    --bs-btn-hover-bg: var(--fo-teal-deep);
    --bs-btn-hover-border-color: var(--fo-teal-deep);
    --bs-btn-focus-shadow-rgb: 10, 147, 150;
    --bs-btn-active-color: #ffffff;
    --bs-btn-active-bg: var(--fo-teal-deep);
    --bs-btn-active-border-color: var(--fo-ink);
    --bs-btn-disabled-bg: var(--fo-teal);
    --bs-btn-disabled-border-color: var(--fo-teal);
    box-shadow: 0 1px 2px 0 rgba(10, 147, 150, 0.35);
}

.btn-secondary {
    --bs-btn-color: #ffffff;
    --bs-btn-bg: var(--fo-storm);
    --bs-btn-border-color: var(--fo-storm);
    --bs-btn-hover-color: #ffffff;
    --bs-btn-hover-bg: var(--fo-ocean);
    --bs-btn-hover-border-color: var(--fo-ocean);
    --bs-btn-focus-shadow-rgb: 52, 80, 109;
    --bs-btn-active-bg: var(--fo-midnight);
    --bs-btn-active-border-color: var(--fo-midnight);
    --bs-btn-disabled-bg: var(--fo-storm);
    --bs-btn-disabled-border-color: var(--fo-storm);
    box-shadow: 0 1px 2px 0 rgba(52, 80, 109, 0.35);
}

.btn-success {
    --bs-btn-color: #ffffff;
    --bs-btn-bg: var(--fo-teal-deep);
    --bs-btn-border-color: var(--fo-teal-deep);
    --bs-btn-hover-color: #ffffff;
    --bs-btn-hover-bg: var(--fo-ink);
    --bs-btn-hover-border-color: var(--fo-ink);
    --bs-btn-focus-shadow-rgb: 0, 95, 115;
    --bs-btn-active-bg: var(--fo-ink);
    --bs-btn-active-border-color: var(--fo-ink);
    --bs-btn-disabled-bg: var(--fo-teal-deep);
    --bs-btn-disabled-border-color: var(--fo-teal-deep);
    box-shadow: 0 1px 2px 0 rgba(0, 95, 115, 0.35);
}

.btn-info,
.btn-blue {
    --bs-btn-color: #ffffff;
    --bs-btn-bg: var(--fo-celtic);
    --bs-btn-border-color: var(--fo-celtic);
    --bs-btn-hover-color: #ffffff;
    --bs-btn-hover-bg: var(--fo-polynesian);
    --bs-btn-hover-border-color: var(--fo-polynesian);
    --bs-btn-focus-shadow-rgb: 10, 110, 211;
    --bs-btn-active-bg: var(--fo-yale);
    --bs-btn-active-border-color: var(--fo-yale);
    --bs-btn-disabled-bg: var(--fo-celtic);
    --bs-btn-disabled-border-color: var(--fo-celtic);
    box-shadow: 0 1px 2px 0 rgba(10, 110, 211, 0.35);
}

.btn-warning {
    --bs-btn-color: var(--fo-ink);
    --bs-btn-bg: var(--fo-amber);
    --bs-btn-border-color: var(--fo-amber);
    --bs-btn-hover-color: var(--fo-ink);
    --bs-btn-hover-bg: var(--fo-orange);
    --bs-btn-hover-border-color: var(--fo-orange);
    --bs-btn-focus-shadow-rgb: 238, 155, 0;
    --bs-btn-active-color: #ffffff;
    --bs-btn-active-bg: var(--fo-orange);
    --bs-btn-active-border-color: var(--fo-rust);
    --bs-btn-disabled-color: var(--fo-ink);
    --bs-btn-disabled-bg: var(--fo-amber);
    --bs-btn-disabled-border-color: var(--fo-amber);
    box-shadow: 0 1px 2px 0 rgba(238, 155, 0, 0.35);
}

.btn-danger {
    --bs-btn-color: #ffffff;
    --bs-btn-bg: var(--fo-red);
    --bs-btn-border-color: var(--fo-red);
    --bs-btn-hover-color: #ffffff;
    --bs-btn-hover-bg: var(--fo-red-deep);
    --bs-btn-hover-border-color: var(--fo-red-deep);
    --bs-btn-focus-shadow-rgb: 174, 32, 18;
    --bs-btn-active-bg: var(--fo-red-deep);
    --bs-btn-active-border-color: var(--fo-ink);
    --bs-btn-disabled-bg: var(--fo-red);
    --bs-btn-disabled-border-color: var(--fo-red);
    box-shadow: 0 1px 2px 0 rgba(174, 32, 18, 0.35);
}

.btn-pink {
    --bs-btn-color: #ffffff;
    --bs-btn-bg: var(--fo-rust);
    --bs-btn-border-color: var(--fo-rust);
    --bs-btn-hover-color: #ffffff;
    --bs-btn-hover-bg: var(--fo-red);
    --bs-btn-hover-border-color: var(--fo-red);
    --bs-btn-focus-shadow-rgb: 187, 62, 3;
    --bs-btn-active-bg: var(--fo-red);
    --bs-btn-active-border-color: var(--fo-red);
    --bs-btn-disabled-bg: var(--fo-rust);
    --bs-btn-disabled-border-color: var(--fo-rust);
}

.btn-purple {
    --bs-btn-color: #ffffff;
    --bs-btn-bg: var(--fo-yale);
    --bs-btn-border-color: var(--fo-yale);
    --bs-btn-hover-color: #ffffff;
    --bs-btn-hover-bg: var(--fo-oxford);
    --bs-btn-hover-border-color: var(--fo-oxford);
    --bs-btn-focus-shadow-rgb: 4, 53, 106;
    --bs-btn-active-bg: var(--fo-oxford);
    --bs-btn-active-border-color: var(--fo-oxford);
    --bs-btn-disabled-bg: var(--fo-yale);
    --bs-btn-disabled-border-color: var(--fo-yale);
}

.btn-outline-primary {
    --bs-btn-color: var(--fo-teal-deep);
    --bs-btn-border-color: var(--fo-teal);
    --bs-btn-hover-color: #ffffff;
    --bs-btn-hover-bg: var(--fo-teal);
    --bs-btn-hover-border-color: var(--fo-teal);
    --bs-btn-active-color: #ffffff;
    --bs-btn-active-bg: var(--fo-teal-deep);
    --bs-btn-active-border-color: var(--fo-teal-deep);
    --bs-btn-disabled-color: var(--fo-teal);
    --bs-btn-disabled-border-color: var(--fo-teal);
}

.btn-outline-secondary {
    --bs-btn-color: var(--fo-storm);
    --bs-btn-border-color: var(--fo-dusk);
    --bs-btn-hover-color: #ffffff;
    --bs-btn-hover-bg: var(--fo-storm);
    --bs-btn-hover-border-color: var(--fo-storm);
    --bs-btn-active-bg: var(--fo-ocean);
    --bs-btn-active-border-color: var(--fo-ocean);
}

.btn-outline-success {
    --bs-btn-color: var(--fo-teal-deep);
    --bs-btn-border-color: var(--fo-teal-deep);
    --bs-btn-hover-color: #ffffff;
    --bs-btn-hover-bg: var(--fo-teal-deep);
    --bs-btn-hover-border-color: var(--fo-teal-deep);
    --bs-btn-active-bg: var(--fo-ink);
    --bs-btn-active-border-color: var(--fo-ink);
}

.btn-outline-info,
.btn-outline-blue {
    --bs-btn-color: var(--fo-celtic);
    --bs-btn-border-color: var(--fo-celtic);
    --bs-btn-hover-color: #ffffff;
    --bs-btn-hover-bg: var(--fo-celtic);
    --bs-btn-hover-border-color: var(--fo-celtic);
    --bs-btn-active-bg: var(--fo-polynesian);
    --bs-btn-active-border-color: var(--fo-polynesian);
}

.btn-outline-warning {
    --bs-btn-color: var(--fo-orange);
    --bs-btn-border-color: var(--fo-amber);
    --bs-btn-hover-color: var(--fo-ink);
    --bs-btn-hover-bg: var(--fo-amber);
    --bs-btn-hover-border-color: var(--fo-amber);
    --bs-btn-active-color: #ffffff;
    --bs-btn-active-bg: var(--fo-orange);
    --bs-btn-active-border-color: var(--fo-orange);
    --bs-btn-disabled-color: var(--fo-orange);
    --bs-btn-disabled-border-color: var(--fo-amber);
}

.btn-outline-danger {
    --bs-btn-color: var(--fo-red);
    --bs-btn-border-color: var(--fo-red);
    --bs-btn-hover-color: #ffffff;
    --bs-btn-hover-bg: var(--fo-red);
    --bs-btn-hover-border-color: var(--fo-red);
    --bs-btn-active-bg: var(--fo-red-deep);
    --bs-btn-active-border-color: var(--fo-red-deep);
    --bs-btn-disabled-color: var(--fo-red);
    --bs-btn-disabled-border-color: var(--fo-red);
}

.btn-outline-pink {
    --bs-btn-color: var(--fo-rust);
    --bs-btn-border-color: var(--fo-rust);
    --bs-btn-hover-color: #ffffff;
    --bs-btn-hover-bg: var(--fo-rust);
    --bs-btn-hover-border-color: var(--fo-rust);
}

.btn-outline-purple {
    --bs-btn-color: var(--fo-yale);
    --bs-btn-border-color: var(--fo-yale);
    --bs-btn-hover-color: #ffffff;
    --bs-btn-hover-bg: var(--fo-yale);
    --bs-btn-hover-border-color: var(--fo-yale);
}

.btn-soft-primary {
    background-color: rgba(10, 147, 150, 0.15);
    color: var(--fo-teal-deep);
}
.btn-soft-primary:hover { background-color: var(--fo-teal); color: #ffffff; }

.btn-soft-secondary {
    background-color: rgba(52, 80, 109, 0.12);
    color: var(--fo-storm);
}
.btn-soft-secondary:hover { background-color: var(--fo-storm); color: #ffffff; }

.btn-soft-success {
    background-color: rgba(0, 95, 115, 0.14);
    color: var(--fo-teal-deep);
}
.btn-soft-success:hover { background-color: var(--fo-teal-deep); color: #ffffff; }

.btn-soft-info,
.btn-soft-blue {
    background-color: rgba(10, 110, 211, 0.12);
    color: var(--fo-polynesian);
}
.btn-soft-info:hover,
.btn-soft-blue:hover { background-color: var(--fo-celtic); color: #ffffff; }

.btn-soft-warning {
    background-color: rgba(238, 155, 0, 0.18);
    color: var(--fo-orange);
}
.btn-soft-warning:hover { background-color: var(--fo-amber); color: var(--fo-ink); }

.btn-soft-danger {
    background-color: rgba(174, 32, 18, 0.12);
    color: var(--fo-red);
}
.btn-soft-danger:hover { background-color: var(--fo-red); color: #ffffff; }

.btn-soft-pink {
    background-color: rgba(187, 62, 3, 0.12);
    color: var(--fo-rust);
}
.btn-soft-pink:hover { background-color: var(--fo-rust); color: #ffffff; }

.btn-soft-purple {
    background-color: rgba(4, 53, 106, 0.12);
    color: var(--fo-yale);
}
.btn-soft-purple:hover { background-color: var(--fo-yale); color: #ffffff; }

.form-check-input:checked,
.form-check-input[type=checkbox]:indeterminate,
.form-range::-webkit-slider-thumb,
.form-range::-moz-range-thumb {
    background-color: var(--fo-teal);
    border-color: var(--fo-teal);
}

.form-check-input:focus {
    border-color: var(--fo-mint);
    box-shadow: 0 0 0 0.25rem rgba(10, 147, 150, 0.25);
}

.nav-pills {
    --bs-nav-pills-link-active-bg: var(--fo-teal);
}

.pagination {
    --bs-pagination-active-bg: var(--fo-teal);
    --bs-pagination-active-border-color: var(--fo-teal);
}

.list-group {
    --bs-list-group-active-bg: var(--fo-teal);
    --bs-list-group-active-border-color: var(--fo-teal);
}

.startbar .startbar-menu .navbar-nav .nav-item.active .nav-link.active,
.startbar .startbar-menu .navbar-nav .nav-item.active .nav-link.active .menu-icon,
.startbar .startbar-menu .navbar-nav .nav-item .nav-link[data-bs-toggle=collapse][aria-expanded=true]:after,
.startbar .startbar-menu .navbar-nav .nav-item .nav-link[data-bs-toggle=collapse][aria-expanded=true] i,
.startbar .startbar-menu .navbar-nav .nav-item .nav-link[data-bs-toggle=collapse][aria-expanded=true] span {
    color: var(--fo-mint);
}
