/**
 * Skysec LaunchPad - Custom Styles
 * Fonts, Links, and Brand Overrides
 */

/* ==========================================================================
   MAIN CONTENT - Space for fixed header
   ========================================================================== */

/* Main content area - ensure proper spacing */
main#content {
    min-height: calc(100vh - 72px);
}

/* ==========================================================================
   FONTS - Inter (locally hosted)
   ========================================================================== */

@font-face {
    font-family: 'Inter';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url('/assets/fonts/inter/Inter-Regular.woff2') format('woff2');
}

@font-face {
    font-family: 'Inter';
    font-style: normal;
    font-weight: 500;
    font-display: swap;
    src: url('/assets/fonts/inter/Inter-Medium.woff2') format('woff2');
}

@font-face {
    font-family: 'Inter';
    font-style: normal;
    font-weight: 600;
    font-display: swap;
    src: url('/assets/fonts/inter/Inter-SemiBold.woff2') format('woff2');
}

@font-face {
    font-family: 'Inter';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url('/assets/fonts/inter/Inter-Bold.woff2') format('woff2');
}

/* ==========================================================================
   BASE STYLES - Font Override
   ========================================================================== */

html,
body,
.btn,
.form-control,
.form-select,
.nav-link,
.dropdown-item,
.card,
.modal,
h1,
h2,
h3,
h4,
h5,
h6,
p,
span,
a,
li,
td,
th,
div,
input,
textarea,
select,
button,
.navbar,
.footer,
footer,
.display-1,
.display-2,
.display-3,
.display-4,
.display-5,
.display-6,
.lead,
.fw-bold,
.fw-semibold,
.fw-medium,
.text-dark,
.text-body,
.icon-text,
[class*="col-"],
.container,
.container-fluid {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif !important;
}

/* Ensure all elements inherit Inter */
* {
    font-family: inherit;
}

/* ==========================================================================
   BRAND COLORS
   ========================================================================== */

:root {
    --skysec-dark: #1e2022;
    --skysec-dark-hover: #2d3436;
    --skysec-link: #1e2022;
    --skysec-link-hover: #2d3436;
    --bs-primary: #1e2022;
    --bs-primary-rgb: 30, 32, 34;
    --bs-success: #1e2022;
    --bs-success-rgb: 30, 32, 34;
}

/* ==========================================================================
   LINKS - Dark for brand consistency
   ========================================================================== */

/* Default links - dark color */
a:not(.dropdown-toggle) {
    color: var(--skysec-dark) !important;
    text-decoration: none;
}

a:not(.dropdown-toggle):hover {
    color: var(--skysec-dark-hover) !important;
    text-decoration: underline;
}

/* Dropdown toggles - no underline ever */
a.dropdown-toggle,
.dropdown-toggle {
    text-decoration: none !important;
}

a.dropdown-toggle:hover,
.dropdown-toggle:hover,
a.dropdown-toggle:focus,
.dropdown-toggle:focus {
    text-decoration: none !important;
}

/* Navigation links - inherit color from parent, normal weight */
.navbar a,
.nav-link,
.dropdown-item,
.sidebar a {
    color: inherit;
    text-decoration: none;
    font-weight: 400 !important;
}

.navbar a:hover,
.nav-link:hover {
    text-decoration: none;
    color: inherit !important;
}

/* Footer links - light color */
footer a,
.link-light,
.link-light-75 {
    color: inherit !important;
    text-decoration: none;
}

footer a:hover {
    text-decoration: none !important;
}

/* Buttons - no underline */
.btn {
    text-decoration: none !important;
}

.btn:hover {
    text-decoration: none !important;
}

/* Content links - dark with underline on hover */
.card-body a:not(.btn):not(.text-decoration-none),
main p a:not(.btn),
main li a:not(.btn),
.content a:not(.btn),
article a:not(.btn) {
    color: var(--skysec-dark) !important;
    text-decoration: none;
}

.card-body a:not(.btn):not(.text-decoration-none):hover,
main p a:not(.btn):hover,
main li a:not(.btn):hover,
.content a:not(.btn):hover,
article a:not(.btn):hover {
    color: var(--skysec-dark-hover) !important;
    text-decoration: underline;
}

/* Breadcrumb links */
.breadcrumb-item a {
    color: var(--skysec-dark) !important;
    text-decoration: none;
}

.breadcrumb-item a:hover {
    text-decoration: underline;
}

/* ==========================================================================
   BRAND COMPONENTS
   ========================================================================== */

.navbar-brand-logo {
    height: 40px;
}

.navbar-brand-icon {
    height: 38px;
    width: auto;
}

.footer-brand-logo {
    height: 56px;
}

/* ==========================================================================
   HEADER BUTTONS - Uniform size (matching nav links)
   ========================================================================== */

/* Ensure both login and register buttons in header have same font size as nav */
html body .navbar .nav-item .btn,
html body header .nav-item .btn,
html body .navbar-nav .btn {
    font-size: 1rem !important;
    padding: 0.5rem 1rem !important;
    line-height: 1.5 !important;
}

/* btn-sm override for header buttons - slightly smaller but proportional */
html body .navbar .btn-sm,
html body header .btn-sm,
html body .navbar-nav .btn-sm {
    font-size: 0.9375rem !important;
    padding: 0.4rem 0.8rem !important;
}

/* btn-ghost-dark in header */
html body .navbar .btn-ghost-dark,
html body header .btn-ghost-dark {
    font-size: 1rem !important;
}

/* ==========================================================================
   BUTTONS
   ========================================================================== */

.btn-dark {
    background-color: var(--skysec-dark);
    border-color: var(--skysec-dark);
}

.btn-dark:hover {
    background-color: var(--skysec-dark-hover);
    border-color: var(--skysec-dark-hover);
}

.btn-primary {
    background-color: var(--skysec-dark);
    border-color: var(--skysec-dark);
}

.btn-primary:hover {
    background-color: var(--skysec-dark-hover);
    border-color: var(--skysec-dark-hover);
}

/* btn-outline-dark on light background */
.btn-outline-dark {
    color: var(--skysec-dark);
    border-color: var(--skysec-dark);
}

.btn-outline-dark:hover {
    background-color: var(--skysec-dark);
    border-color: var(--skysec-dark);
    color: #fff;
}

/* btn-outline-dark on dark background (navbar) - make it white/light */
.bg-dark .btn-outline-dark,
.navbar-dark .btn-outline-dark,
header.bg-dark .btn-outline-dark {
    color: #fff !important;
    border-color: rgba(255, 255, 255, 0.7) !important;
}

.bg-dark .btn-outline-dark:hover,
.navbar-dark .btn-outline-dark:hover,
header.bg-dark .btn-outline-dark:hover {
    background-color: #fff !important;
    border-color: #fff !important;
    color: var(--skysec-dark) !important;
}

/* btn-outline-light for dark backgrounds */
.btn-outline-light {
    color: #fff;
    border-color: rgba(255, 255, 255, 0.7);
}

.btn-outline-light:hover {
    background-color: #fff;
    border-color: #fff;
    color: var(--skysec-dark);
}

.btn-outline-primary {
    color: var(--skysec-dark);
    border-color: var(--skysec-dark);
    background-color: transparent;
}

.btn-outline-primary:hover,
.btn-outline-primary:focus,
.btn-outline-primary:active,
.btn-outline-primary.active {
    background-color: var(--skysec-dark);
    border-color: var(--skysec-dark);
    color: #fff;
}

/* Override Bootstrap success (green) to dark - with higher specificity */
.btn-success,
.btn.btn-success,
button.btn-success,
a.btn-success,
input.btn-success {
    background-color: var(--skysec-dark) !important;
    border-color: var(--skysec-dark) !important;
    color: #fff !important;
}

.btn-success:hover,
.btn-success:focus,
.btn-success:active,
.btn-success.active,
.btn.btn-success:hover,
.btn.btn-success:focus,
.btn.btn-success:active,
button.btn-success:hover,
a.btn-success:hover {
    background-color: var(--skysec-dark-hover) !important;
    border-color: var(--skysec-dark-hover) !important;
    color: #fff !important;
}

.btn-outline-success,
.btn.btn-outline-success {
    color: var(--skysec-dark) !important;
    border-color: var(--skysec-dark) !important;
    background-color: transparent !important;
}

.btn-outline-success:hover,
.btn.btn-outline-success:hover {
    background-color: var(--skysec-dark) !important;
    border-color: var(--skysec-dark) !important;
    color: #fff !important;
}

/* Override Bootstrap primary to dark */
.btn-primary,
.btn.btn-primary,
button.btn-primary,
a.btn-primary,
input.btn-primary,
button[type="submit"].btn-primary,
form .btn-primary {
    background-color: var(--skysec-dark) !important;
    border-color: var(--skysec-dark) !important;
    color: #fff !important;
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active,
.btn-primary.active,
.btn.btn-primary:hover,
.btn.btn-primary:focus,
.btn.btn-primary:active,
button[type="submit"].btn-primary:hover,
form .btn-primary:hover {
    background-color: var(--skysec-dark-hover) !important;
    border-color: var(--skysec-dark-hover) !important;
    color: #fff !important;
}

/* ==========================================================================
   FOOTER LINKS - Light on dark background
   ========================================================================== */

footer a,
footer .link,
footer .link-light,
footer .link-light-75,
.bg-dark a:not(.btn),
.bg-dark .link {
    color: rgba(255, 255, 255, 0.75) !important;
}

footer a:hover,
footer .link:hover,
.bg-dark a:not(.btn):hover {
    color: #fff !important;
    text-decoration: none !important;
}

/* ==========================================================================
   UTILITIES
   ========================================================================== */

.bg-soft-dark {
    background-color: rgba(30, 32, 34, 0.1) !important;
}

.text-primary {
    color: var(--skysec-dark) !important;
}

.bg-primary {
    background-color: var(--skysec-dark) !important;
}

.badge.bg-primary {
    background-color: var(--skysec-dark) !important;
}

.link-dark {
    color: var(--skysec-dark);
}

.link-dark:hover {
    color: var(--skysec-dark-hover);
    text-decoration: none;
}

/* ==========================================================================
   CARDS
   ========================================================================== */

/* Card header - reduced padding for cleaner look (especially without bg) */
.card-header {
    --bs-card-cap-padding-y: 0.75rem;
    --bs-card-cap-padding-x: 1rem;
    padding: var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);
}

/* Even tighter header when no background */
.card-header.bg-white,
.card-header.bg-transparent,
.card-header:not([class*="bg-"]) {
    padding-top: 0.75rem;
    padding-bottom: 0.25rem;
}

.card-transition:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.1);
}

/* ==========================================================================
   FLASH MESSAGES
   ========================================================================== */

.flash-message {
    position: fixed;
    top: 90px;
    right: 20px;
    z-index: 1060;
    min-width: 300px;
    max-width: 450px;
}

/* Flash message alerts - ensure space for close button */
html body .flash-message .alert,
html body .flash-message .alert-dismissible,
html body .position-fixed .alert-dismissible {
    padding-right: 3rem !important;
}

html body .flash-message .alert .btn-close,
html body .flash-message .alert-dismissible .btn-close,
html body .position-fixed .alert-dismissible .btn-close {
    padding: 0.75rem !important;
    position: absolute !important;
    top: 50% !important;
    right: 0.5rem !important;
    transform: translateY(-50%) !important;
}

/* ==========================================================================
   SELECTION
   ========================================================================== */

::selection {
    background-color: #1e2022;
    color: #fff;
}

::-moz-selection {
    background-color: #1e2022;
    color: #fff;
}

/* ==========================================================================
   MAXIMUM SPECIFICITY BUTTON OVERRIDES
   These rules ensure our dark buttons override any theme styles
   ========================================================================== */

/* Force all btn-primary and btn-success to be dark */
html body .btn-primary,
html body .btn-success,
html body button.btn-primary,
html body button.btn-success,
html body a.btn-primary,
html body a.btn-success,
html body input[type="submit"].btn-primary,
html body input[type="submit"].btn-success,
html body .card .btn-primary,
html body .card .btn-success,
html body form .btn-primary,
html body form .btn-success {
    background-color: #1e2022 !important;
    border-color: #1e2022 !important;
    color: #ffffff !important;
}

html body .btn-primary:hover,
html body .btn-primary:focus,
html body .btn-primary:active,
html body .btn-success:hover,
html body .btn-success:focus,
html body .btn-success:active,
html body button.btn-primary:hover,
html body button.btn-success:hover,
html body a.btn-primary:hover,
html body a.btn-success:hover {
    background-color: #2d3436 !important;
    border-color: #2d3436 !important;
    color: #ffffff !important;
}

/* Button text color for links styled as buttons */
html body .btn-primary,
html body .btn-success,
html body a.btn-primary,
html body a.btn-success {
    color: #ffffff !important;
}

/* ==========================================================================
   BG-DARK TEXT - Ensure white text on dark backgrounds
   ========================================================================== */

html body .bg-dark,
html body .bg-dark h1,
html body .bg-dark h2,
html body .bg-dark h3,
html body .bg-dark h4,
html body .bg-dark h5,
html body .bg-dark h6,
html body .bg-dark p,
html body .bg-dark span,
html body .bg-dark i,
html body .card-header.bg-dark,
html body .card-header.bg-dark h6,
html body .card-header.bg-dark i {
    color: #ffffff !important;
}

html body .bg-dark.text-white,
html body .bg-dark .text-white {
    color: #ffffff !important;
}

/* ==========================================================================
   BTN-DARK - Ensure white text
   ========================================================================== */

html body .btn-dark,
html body a.btn-dark,
html body button.btn-dark {
    background-color: #1e2022 !important;
    border-color: #1e2022 !important;
    color: #ffffff !important;
}

html body .btn-dark:hover,
html body a.btn-dark:hover,
html body button.btn-dark:hover {
    background-color: #2d3436 !important;
    border-color: #2d3436 !important;
    color: #ffffff !important;
}

/* ==========================================================================
   BTN-LIGHT - For dark backgrounds
   ========================================================================== */

html body .btn-light,
html body a.btn-light,
html body button.btn-light {
    background-color: #ffffff !important;
    border-color: #ffffff !important;
    color: #1e2022 !important;
}

html body .btn-light:hover,
html body a.btn-light:hover,
html body button.btn-light:hover {
    background-color: #f8f9fa !important;
    border-color: #f8f9fa !important;
    color: #1e2022 !important;
}

/* ==========================================================================
   BTN-OUTLINE-LIGHT - For dark backgrounds (white border and text)
   ========================================================================== */

html body .btn-outline-light,
html body a.btn-outline-light,
html body button.btn-outline-light,
.bg-dark .btn-outline-light,
.bg-dark a.btn-outline-light {
    background-color: transparent !important;
    border-color: rgba(255, 255, 255, 0.7) !important;
    color: #ffffff !important;
}

html body .btn-outline-light:hover,
html body a.btn-outline-light:hover,
html body button.btn-outline-light:hover,
.bg-dark .btn-outline-light:hover,
.bg-dark a.btn-outline-light:hover {
    background-color: #ffffff !important;
    border-color: #ffffff !important;
    color: #1e2022 !important;
}

/* ==========================================================================
   BTN-OUTLINE-DARK - For light backgrounds
   ========================================================================== */

html body .btn-outline-dark,
html body a.btn-outline-dark,
html body button.btn-outline-dark {
    background-color: transparent !important;
    border-color: #1e2022 !important;
    color: #1e2022 !important;
}

html body .btn-outline-dark:hover,
html body .btn-outline-dark:focus,
html body .btn-outline-dark:active,
html body .btn-outline-dark.active,
html body a.btn-outline-dark:hover,
html body a.btn-outline-dark:focus,
html body a.btn-outline-dark:active,
html body button.btn-outline-dark:hover,
html body button.btn-outline-dark:focus,
html body button.btn-outline-dark:active {
    background-color: #1e2022 !important;
    border-color: #1e2022 !important;
    color: #ffffff !important;
}

/* ==========================================================================
   BTN-OUTLINE-PRIMARY - For light backgrounds (with dark theme color)
   ========================================================================== */

html body .btn-outline-primary,
html body a.btn-outline-primary,
html body button.btn-outline-primary,
html body .card .btn-outline-primary {
    background-color: transparent !important;
    border-color: #1e2022 !important;
    color: #1e2022 !important;
}

html body .btn-outline-primary:hover,
html body .btn-outline-primary:focus,
html body .btn-outline-primary:active,
html body .btn-outline-primary.active,
html body a.btn-outline-primary:hover,
html body a.btn-outline-primary:focus,
html body a.btn-outline-primary:active,
html body button.btn-outline-primary:hover,
html body button.btn-outline-primary:focus,
html body button.btn-outline-primary:active,
html body .card .btn-outline-primary:hover,
html body .card .btn-outline-primary:focus,
html body .card .btn-outline-primary:active {
    background-color: #1e2022 !important;
    border-color: #1e2022 !important;
    color: #ffffff !important;
}

/* ==========================================================================
   BTN-OUTLINE-SUCCESS - Override green to dark
   ========================================================================== */

html body .btn-outline-success,
html body a.btn-outline-success,
html body button.btn-outline-success {
    background-color: transparent !important;
    border-color: #1e2022 !important;
    color: #1e2022 !important;
}

html body .btn-outline-success:hover,
html body .btn-outline-success:focus,
html body .btn-outline-success:active,
html body .btn-outline-success.active,
html body a.btn-outline-success:hover,
html body a.btn-outline-success:focus,
html body a.btn-outline-success:active,
html body button.btn-outline-success:hover,
html body button.btn-outline-success:focus,
html body button.btn-outline-success:active {
    background-color: #1e2022 !important;
    border-color: #1e2022 !important;
    color: #ffffff !important;
}

/* ==========================================================================
   LINK HOVER COLORS - Prevent green hover
   ========================================================================== */

/* Job title links and other text-dark links */
html body a.text-dark,
html body a.text-dark:visited,
html body .card a.text-dark,
html body .card-body a.text-dark {
    color: #1e2022 !important;
}

html body a.text-dark:hover,
html body a.text-dark:focus,
html body .card a.text-dark:hover,
html body .card-body a.text-dark:hover {
    color: #2d3436 !important;
    text-decoration: none !important;
}

/* Admin Backend - Topbar Dropdown Toggle NO GREEN! */
.admin-layout .topbar .dropdown-toggle,
.admin-layout .topbar .dropdown-toggle:visited {
    color: #212529 !important;
    text-decoration: none !important;
}

.admin-layout .topbar .dropdown-toggle:hover,
.admin-layout .topbar .dropdown-toggle:focus,
.admin-layout .topbar .dropdown-toggle:active {
    color: #000 !important;
    background-color: transparent !important;
    text-decoration: none !important;
}

/* CRITICAL FIX: Override ANY underline on admin dropdown toggles */
.admin-layout .topbar a.dropdown-toggle,
.admin-layout .topbar .dropdown a.dropdown-toggle {
    text-decoration: none !important;
    text-decoration-line: none !important;
    text-decoration-style: none !important;
    text-decoration-color: transparent !important;
    text-underline-position: auto !important;
}

.admin-layout .topbar a.dropdown-toggle:hover,
.admin-layout .topbar .dropdown a.dropdown-toggle:hover,
.admin-layout .topbar a.dropdown-toggle:focus,
.admin-layout .topbar .dropdown a.dropdown-toggle:focus,
.admin-layout .topbar a.dropdown-toggle:active,
.admin-layout .topbar .dropdown a.dropdown-toggle:active {
    text-decoration: none !important;
    text-decoration-line: none !important;
    text-decoration-style: none !important;
    text-decoration-color: transparent !important;
}

/* Admin Dropdown Toggle - Use SVG arrow ONLY, no border arrow */
.admin-layout .topbar .dropdown-toggle::after {
    /* Remove ALL border-based arrows */
    border: none !important;
    border-top: none !important;
    border-right: none !important;
    border-bottom: none !important;
    border-left: none !important;
    
    /* Use SVG arrow */
    display: inline-block !important;
    width: 24px !important;
    height: 24px !important;
    vertical-align: middle !important;
    margin-left: 0.255em !important;
    content: "" !important;
    background-image: url("data:image/svg+xml,%3csvg width='24' height='24' viewBox='0 0 24 24' fill='%23212529' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M12.72,15.78a.75.75,0,0,1-.53.22h-.38a.77.77,0,0,1-.53-.22L6.15,10.64a.5.5,0,0,1,0-.71l.71-.71a.49.49,0,0,1,.7,0L12,13.67l4.44-4.45a.5.5,0,0,1,.71,0l.7.71a.5.5,0,0,1,0,.71Z'/%3e%3c/svg%3e") !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: 16px !important;
}

.admin-layout .topbar .dropdown-toggle:hover::after {
    background-image: url("data:image/svg+xml,%3csvg width='24' height='24' viewBox='0 0 24 24' fill='%23000' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M12.72,15.78a.75.75,0,0,1-.53.22h-.38a.77.77,0,0,1-.53-.22L6.15,10.64a.5.5,0,0,1,0-.71l.71-.71a.49.49,0,0,1,.7,0L12,13.67l4.44-4.45a.5.5,0,0,1,.71,0l.7.71a.5.5,0,0,1,0,.71Z'/%3e%3c/svg%3e") !important;
}

/* Prevent any green color on links - EXCEPT navigation and dropdowns */
html body a:not(.nav-link):not(.dropdown-toggle):not(.dropdown-item):not(.btn):hover,
html body a:not(.nav-link):not(.dropdown-toggle):not(.dropdown-item):not(.btn):focus {
    color: #2d3436 !important;
}

/* Card links */
html body .card a:not(.btn),
html body .card-body a:not(.btn) {
    color: #1e2022 !important;
}

html body .card a:not(.btn):hover,
html body .card-body a:not(.btn):hover {
    color: #2d3436 !important;
}

/* ==========================================================================
   BORDER COLORS - Override Bootstrap primary/success borders
   ========================================================================== */

.border-primary {
    border-color: #1e2022 !important;
}

.border-success {
    border-color: #1e2022 !important;
}

/* ==========================================================================
   BUTTON FOCUS STATES - Prevent default Bootstrap blue/green focus ring
   ========================================================================== */

html body .btn:focus,
html body .btn:focus-visible,
html body .btn.focus {
    box-shadow: 0 0 0 0.25rem rgba(30, 32, 34, 0.25) !important;
}

html body .btn-outline-primary:focus,
html body .btn-outline-primary:focus-visible,
html body .btn-outline-success:focus,
html body .btn-outline-success:focus-visible,
html body .btn-outline-dark:focus,
html body .btn-outline-dark:focus-visible {
    box-shadow: 0 0 0 0.25rem rgba(30, 32, 34, 0.25) !important;
}

html body .btn-primary:focus,
html body .btn-primary:focus-visible,
html body .btn-success:focus,
html body .btn-success:focus-visible,
html body .btn-dark:focus,
html body .btn-dark:focus-visible {
    box-shadow: 0 0 0 0.25rem rgba(30, 32, 34, 0.5) !important;
}

/* ==========================================================================
   TEXT COLOR OVERRIDES
   ========================================================================== */

.text-success {
    color: #1e2022 !important;
}

.text-primary {
    color: #1e2022 !important;
}

/* Icon color in buttons */
html body .btn i,
html body .btn .bi {
    color: inherit !important;
}

/* ==========================================================================
   FORM CHECKBOXES & RADIO BUTTONS - Override Bootstrap green
   ========================================================================== */

/* Checkbox checked state */
.form-check-input:checked {
    background-color: #1e2022 !important;
    border-color: #1e2022 !important;
}

.form-check-input:focus {
    border-color: #1e2022 !important;
    box-shadow: 0 0 0 0.25rem rgba(30, 32, 34, 0.25) !important;
}

.form-check-input:checked:focus {
    box-shadow: 0 0 0 0.25rem rgba(30, 32, 34, 0.25) !important;
}

/* Indeterminate state */
.form-check-input:indeterminate {
    background-color: #1e2022 !important;
    border-color: #1e2022 !important;
}

/* Higher specificity for checkboxes */
html body .form-check-input:checked,
html body input[type="checkbox"]:checked,
html body input[type="radio"]:checked {
    background-color: #1e2022 !important;
    border-color: #1e2022 !important;
}

html body .form-check-input:focus,
html body input[type="checkbox"]:focus,
html body input[type="radio"]:focus {
    border-color: #1e2022 !important;
    box-shadow: 0 0 0 0.25rem rgba(30, 32, 34, 0.25) !important;
}

/* Form switch (toggle) */
.form-switch .form-check-input:checked {
    background-color: #1e2022 !important;
    border-color: #1e2022 !important;
}

/* ==========================================================================
   FORM CONTROLS - Focus state
   ========================================================================== */

.form-control:focus,
.form-select:focus {
    border-color: #1e2022 !important;
    box-shadow: 0 0 0 0.25rem rgba(30, 32, 34, 0.25) !important;
}

/* ==========================================================================
   AUTOFILL - Remove browser green/yellow autofill colors
   ========================================================================== */

input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active,
textarea:-webkit-autofill,
textarea:-webkit-autofill:hover,
textarea:-webkit-autofill:focus,
select:-webkit-autofill,
select:-webkit-autofill:hover,
select:-webkit-autofill:focus {
    -webkit-box-shadow: 0 0 0 1000px white inset !important;
    -webkit-text-fill-color: #000 !important;
    box-shadow: 0 0 0 1000px white inset !important;
    transition: background-color 5000s ease-in-out 0s;
}

/* Dark background autofill */
.bg-dark input:-webkit-autofill,
.bg-dark input:-webkit-autofill:hover,
.bg-dark input:-webkit-autofill:focus {
    -webkit-box-shadow: 0 0 0 1000px #1e2022 inset !important;
    -webkit-text-fill-color: #fff !important;
}

/* ==========================================================================
   LINK FOCUS - Remove green outline on links
   ========================================================================== */

a:focus,
a:focus-visible {
    outline: 2px solid #1e2022 !important;
    outline-offset: 2px !important;
}

a:focus:not(:focus-visible) {
    outline: none !important;
}

/* ==========================================================================
   LIST GROUP - Active state
   ========================================================================== */

.list-group-item.active {
    background-color: #1e2022 !important;
    border-color: #1e2022 !important;
    color: #ffffff !important;
}

.list-group-item-action:hover,
.list-group-item-action:focus {
    background-color: rgba(30, 32, 34, 0.075) !important;
    color: #1e2022 !important;
}

/* ==========================================================================
   PAGINATION
   ========================================================================== */

.page-link {
    color: #1e2022 !important;
}

.page-link:hover {
    background-color: rgba(30, 32, 34, 0.1) !important;
    color: #1e2022 !important;
}

.page-item.active .page-link {
    background-color: #1e2022 !important;
    border-color: #1e2022 !important;
    color: #ffffff !important;
}

/* ==========================================================================
   PROGRESS BARS
   ========================================================================== */

.progress-bar {
    background-color: #1e2022 !important;
}

.bg-success {
    background-color: #1e2022 !important;
}

/* ==========================================================================
   ALERTS - Success variant
   ========================================================================== */

.alert-success {
    background-color: rgba(30, 32, 34, 0.1) !important;
    border-color: rgba(30, 32, 34, 0.2) !important;
    color: #1e2022 !important;
}

.alert-primary {
    background-color: rgba(30, 32, 34, 0.1) !important;
    border-color: rgba(30, 32, 34, 0.2) !important;
    color: #1e2022 !important;
}

/* ==========================================================================
   DROPDOWN TOGGLE ARROWS - Override Template SVG Icons
   The Unify template uses SVG background-images for dropdown arrows.
   We need to replace green (#0ABF53) with dark (#1e2022 / #2d374b)
   ========================================================================== */

/* Standard nav-link dropdown toggle in header - dark arrow */
html body .navbar .nav-link.dropdown-toggle::after,
html body header .nav-link.dropdown-toggle::after,
html body .navbar-light .nav-link.dropdown-toggle::after {
    background-image: url("data:image/svg+xml,%3csvg width='24' height='24' viewBox='0 0 24 24' fill='%232d374b' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M12.72,15.78a.75.75,0,0,1-.53.22h-.38a.77.77,0,0,1-.53-.22L6.15,10.64a.5.5,0,0,1,0-.71l.71-.71a.49.49,0,0,1,.7,0L12,13.67l4.44-4.45a.5.5,0,0,1,.71,0l.7.71a.5.5,0,0,1,0,.71Z'/%3e%3c/svg%3e") !important;
    border: none !important;
    background-color: transparent !important;
}

/* Navbar dropdown toggle hover - dark arrow */
html body .navbar .nav-link.dropdown-toggle:hover::after,
html body header .nav-link.dropdown-toggle:hover::after {
    background-image: url("data:image/svg+xml,%3csvg width='24' height='24' viewBox='0 0 24 24' fill='%231e2022' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M12.72,15.78a.75.75,0,0,1-.53.22h-.38a.77.77,0,0,1-.53-.22L6.15,10.64a.5.5,0,0,1,0-.71l.71-.71a.49.49,0,0,1,.7,0L12,13.67l4.44-4.45a.5.5,0,0,1,.71,0l.7.71a.5.5,0,0,1,0,.71Z'/%3e%3c/svg%3e") !important;
}

/* Dark navbar dropdown toggle - white arrow */
html body .navbar-dark .nav-link.dropdown-toggle::after,
html body .bg-dark .nav-link.dropdown-toggle::after {
    background-image: url("data:image/svg+xml,%3csvg width='24' height='24' viewBox='0 0 24 24' fill='rgba(255, 255, 255, 0.7)' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M12.72,15.78a.75.75,0,0,1-.53.22h-.38a.77.77,0,0,1-.53-.22L6.15,10.64a.5.5,0,0,1,0-.71l.71-.71a.49.49,0,0,1,.7,0L12,13.67l4.44-4.45a.5.5,0,0,1,.71,0l.7.71a.5.5,0,0,1,0,.71Z'/%3e%3c/svg%3e") !important;
    border: none !important;
    background-color: transparent !important;
}

/* ==========================================================================
   DROPDOWN ITEMS - Remove arrows and fix hover
   ========================================================================== */

/* Remove the arrow from dropdown items in navbar - they are not submenus */
html body .navbar .dropdown-menu .dropdown-item::after,
html body header .dropdown-menu .dropdown-item::after,
html body .dropdown-menu .dropdown-item:not(.dropdown-toggle)::after {
    display: none !important;
}

/* Dropdown item hover state - no green background, no underline */
html body .dropdown-item,
html body .dropdown-menu .dropdown-item,
html body .dropdown-menu a.dropdown-item {
    font-size: 0.875rem !important;
    text-decoration: none !important;
    color: #1e2022 !important;
}

html body .dropdown-item:hover,
html body .dropdown-item:focus,
html body .dropdown-menu .dropdown-item:hover,
html body .dropdown-menu a.dropdown-item:hover {
    background-color: rgba(30, 32, 34, 0.08) !important;
    color: #1e2022 !important;
    text-decoration: none !important;
}

/* Dropdown item active state */
html body .dropdown-item.active,
html body .dropdown-item:active {
    background-color: #1e2022 !important;
    color: #ffffff !important;
    text-decoration: none !important;
}

/* ==========================================================================
   FOOTER DROPDOWN - Language Selector
   ========================================================================== */

/* Footer dropdown menu background */
footer .dropdown-menu,
.bg-dark .dropdown-menu {
    background-color: #ffffff !important;
}

/* Footer dropdown items */
footer .dropdown-menu .dropdown-item,
.bg-dark .dropdown-menu .dropdown-item {
    color: #1e2022 !important;
}

footer .dropdown-menu .dropdown-item:hover,
.bg-dark .dropdown-menu .dropdown-item:hover {
    background-color: rgba(30, 32, 34, 0.08) !important;
    color: #1e2022 !important;
}

footer .dropdown-menu .dropdown-item.active,
.bg-dark .dropdown-menu .dropdown-item.active {
    background-color: #1e2022 !important;
    color: #ffffff !important;
}

/* Hide arrow on footer dropdown items */
footer .dropdown-item::after,
.bg-dark .dropdown-item::after {
    display: none !important;
}

/* Footer dropdown toggle - white text */
footer .dropdown-toggle,
.bg-dark .dropdown-toggle {
    color: rgba(255, 255, 255, 0.75) !important;
}

footer .dropdown-toggle:hover,
.bg-dark .dropdown-toggle:hover {
    color: #ffffff !important;
}

/* Footer dropdown toggle arrow - white */
footer .dropdown-toggle::after,
.bg-dark .dropdown-toggle::after,
footer .link.dropdown-toggle::after {
    background-image: url("data:image/svg+xml,%3csvg width='24' height='24' viewBox='0 0 24 24' fill='rgba(255, 255, 255, 0.7)' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M12.72,15.78a.75.75,0,0,1-.53.22h-.38a.77.77,0,0,1-.53-.22L6.15,10.64a.5.5,0,0,1,0-.71l.71-.71a.49.49,0,0,1,.7,0L12,13.67l4.44-4.45a.5.5,0,0,1,.71,0l.7.71a.5.5,0,0,1,0,.71Z'/%3e%3c/svg%3e") !important;
    border: none !important;
    background-color: transparent !important;
}

/* Language check icon */
.lang-check-icon {
    color: #1e2022 !important;
}


/* ==========================================================================
   LANGUAGE SELECTOR - Unify Template Style
   ========================================================================== */

/* Language selector trigger - no dropdown arrow */
html body footer .btn-group a#selectLanguage::after,
html body footer .btn-group a[data-bs-toggle="dropdown"]::after,
html body footer #selectLanguage::after {
    display: none !important;
    content: none !important;
    background: none !important;
}

/* Language selector flags - round */
html body footer .btn-group img,
html body footer .dropdown-menu img,
html body footer img.avatar,
html body footer img.avatar-xss {
    width: 16px !important;
    height: 16px !important;
    border-radius: 50% !important;
    object-fit: cover !important;
}

/* Language dropdown - ACTIVE item: dark background, white text */
html body footer .dropdown-menu .dropdown-item.active,
html body footer .dropdown-item.active,
html body .dropdown-menu .dropdown-item[style*="background-color"] {
    background-color: #1e2022 !important;
    color: #ffffff !important;
    font-weight: 500 !important;
}

/* Language dropdown - INACTIVE items: no background, black text */
html body footer .dropdown-menu .dropdown-item:not(.active),
html body footer .dropdown-item:not(.active),
html body footer .dropdown-menu .dropdown-item:not(.active) span,
html body footer .dropdown-item:not(.active) span,
html body .bg-dark .dropdown-menu .dropdown-item:not(.active),
html body .bg-dark .dropdown-menu .dropdown-item:not(.active) span {
    background-color: transparent !important;
    color: #1e2022 !important;
}

html body footer .dropdown-menu .dropdown-item:hover:not(.active),
html body footer .dropdown-item:hover:not(.active),
html body footer .dropdown-menu .dropdown-item:hover:not(.active) span,
html body .bg-dark .dropdown-menu .dropdown-item:hover:not(.active),
html body .bg-dark .dropdown-menu .dropdown-item:hover:not(.active) span {
    background-color: rgba(30, 32, 34, 0.06) !important;
    color: #1e2022 !important;
    text-decoration: none !important;
}

/* Remove underline from language dropdown text */
html body footer .dropdown-item span,
html body footer .dropdown-menu .dropdown-item span,
html body .bg-dark .dropdown-menu .dropdown-item span {
    text-decoration: none !important;
}

html body footer .dropdown-item:hover span,
html body footer .dropdown-menu .dropdown-item:hover span,
html body .bg-dark .dropdown-menu .dropdown-item:hover span {
    text-decoration: none !important;
}

footer .dropdown-item.active .lang-check-icon,
.bg-dark .dropdown-item.active .lang-check-icon {
    color: #ffffff !important;
}

/* ==========================================================================
   LINK ARROWS - Footer Links with Arrows
   The Unify template uses ::after with background-image for link arrows
   ========================================================================== */

/* Footer link arrows - white color */
footer .link::after,
footer a.link::after,
.bg-dark .link::after,
.bg-dark a.link::after,
footer .link-light::after,
footer .link-light-75::after {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='rgba(255, 255, 255, 0.75)' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M4 8a.5.5 0 0 1 .5-.5h5.793L8.146 5.354a.5.5 0 1 1 .708-.708l3 3a.5.5 0 0 1 0 .708l-3 3a.5.5 0 0 1-.708-.708L10.293 8.5H4.5A.5.5 0 0 1 4 8z'/%3e%3c/svg%3e") !important;
}

footer .link:hover::after,
footer a.link:hover::after,
.bg-dark .link:hover::after {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='%23ffffff' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M4 8a.5.5 0 0 1 .5-.5h5.793L8.146 5.354a.5.5 0 1 1 .708-.708l3 3a.5.5 0 0 1 0 .708l-3 3a.5.5 0 0 1-.708-.708L10.293 8.5H4.5A.5.5 0 0 1 4 8z'/%3e%3c/svg%3e") !important;
}

/* Standard link arrows - dark color */
html body .link::after,
html body a.link::after {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='%232d374b' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M4 8a.5.5 0 0 1 .5-.5h5.793L8.146 5.354a.5.5 0 1 1 .708-.708l3 3a.5.5 0 0 1 0 .708l-3 3a.5.5 0 0 1-.708-.708L10.293 8.5H4.5A.5.5 0 0 1 4 8z'/%3e%3c/svg%3e") !important;
}

html body .link:hover::after,
html body a.link:hover::after {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='%231e2022' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M4 8a.5.5 0 0 1 .5-.5h5.793L8.146 5.354a.5.5 0 1 1 .708-.708l3 3a.5.5 0 0 1 0 .708l-3 3a.5.5 0 0 1-.708-.708L10.293 8.5H4.5A.5.5 0 0 1 4 8z'/%3e%3c/svg%3e") !important;
}

/* ==========================================================================
   BTN-GHOST-DARK - Dropdown arrow fix
   ========================================================================== */

html body .btn-ghost-dark.dropdown-toggle::after {
    background-image: url("data:image/svg+xml,%3csvg width='24' height='24' viewBox='0 0 24 24' fill='%232d374b' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M12.72,15.78a.75.75,0,0,1-.53.22h-.38a.77.77,0,0,1-.53-.22L6.15,10.64a.5.5,0,0,1,0-.71l.71-.71a.49.49,0,0,1,.7,0L12,13.67l4.44-4.45a.5.5,0,0,1,.71,0l.7.71a.5.5,0,0,1,0,.71Z'/%3e%3c/svg%3e") !important;
    border: none !important;
    background-color: transparent !important;
}

html body .btn-ghost-dark.dropdown-toggle:hover::after {
    background-image: url("data:image/svg+xml,%3csvg width='24' height='24' viewBox='0 0 24 24' fill='%231e2022' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M12.72,15.78a.75.75,0,0,1-.53.22h-.38a.77.77,0,0,1-.53-.22L6.15,10.64a.5.5,0,0,1,0-.71l.71-.71a.49.49,0,0,1,.7,0L12,13.67l4.44-4.45a.5.5,0,0,1,.71,0l.7.71a.5.5,0,0,1,0,.71Z'/%3e%3c/svg%3e") !important;
}

/* ==========================================================================
   CARD LINKS - Dark arrows
   ========================================================================== */

html body .card-link::after,
html body .card .link::after {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='%232d374b' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M4 8a.5.5 0 0 1 .5-.5h5.793L8.146 5.354a.5.5 0 1 1 .708-.708l3 3a.5.5 0 0 1 0 .708l-3 3a.5.5 0 0 1-.708-.708L10.293 8.5H4.5A.5.5 0 0 1 4 8z'/%3e%3c/svg%3e") !important;
}

html body .card-link:hover::after,
html body .card .link:hover::after {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='%231e2022' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M4 8a.5.5 0 0 1 .5-.5h5.793L8.146 5.354a.5.5 0 1 1 .708-.708l3 3a.5.5 0 0 1 0 .708l-3 3a.5.5 0 0 1-.708-.708L10.293 8.5H4.5A.5.5 0 0 1 4 8z'/%3e%3c/svg%3e") !important;
}

/* ==========================================================================
   GENERAL OVERRIDE - Remove any green (#0ABF53) arrows
   ========================================================================== */

/* Override primary (green) arrows to dark */
html body .link-primary::after,
html body a.link-primary::after,
html body .card-link.link-primary::after {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='%231e2022' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M4 8a.5.5 0 0 1 .5-.5h5.793L8.146 5.354a.5.5 0 1 1 .708-.708l3 3a.5.5 0 0 1 0 .708l-3 3a.5.5 0 0 1-.708-.708L10.293 8.5H4.5A.5.5 0 0 1 4 8z'/%3e%3c/svg%3e") !important;
}

/* Override success (green) arrows to dark */
html body .link-success::after,
html body a.link-success::after {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='%231e2022' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M4 8a.5.5 0 0 1 .5-.5h5.793L8.146 5.354a.5.5 0 1 1 .708-.708l3 3a.5.5 0 0 1 0 .708l-3 3a.5.5 0 0 1-.708-.708L10.293 8.5H4.5A.5.5 0 0 1 4 8z'/%3e%3c/svg%3e") !important;
}

/* ==========================================================================
   ALERTS - Error/Danger variant (Light red, readable text)
   ========================================================================== */

/* Alert danger - light red background, dark readable text */
html body .alert-danger,
html body .alert.alert-danger {
    background-color: #fef2f2 !important;
    border-color: #fecaca !important;
    color: #991b1b !important;
}

html body .alert-danger a,
html body .alert.alert-danger a {
    color: #7f1d1d !important;
    text-decoration: underline !important;
}

html body .alert-danger .btn-close,
html body .alert.alert-danger .btn-close {
    filter: none !important;
}

/* Alert warning - light yellow background */
html body .alert-warning,
html body .alert.alert-warning {
    background-color: #fffbeb !important;
    border-color: #fde68a !important;
    color: #92400e !important;
}

/* Alert info - light blue background */
html body .alert-info,
html body .alert.alert-info {
    background-color: #eff6ff !important;
    border-color: #bfdbfe !important;
    color: #1e40af !important;
}

/* ==========================================================================
   TOAST NOTIFICATIONS - Solid backgrounds for readability
   ========================================================================== */

/* Success toast - green background */
html body .toast.bg-success,
html body .toast.toast-success,
html body .toast[data-type="success"],
html body .alert.alert-success.toast,
html body .toast-container .toast.bg-success {
    background-color: #198754 !important;
    border-color: #198754 !important;
    color: #ffffff !important;
    opacity: 1 !important;
}

html body .toast.bg-success .toast-body,
html body .toast.bg-success .toast-header,
html body .toast.toast-success .toast-body {
    background-color: #198754 !important;
    color: #ffffff !important;
}

html body .toast.bg-success .btn-close {
    filter: invert(1) !important;
}

/* Toast with soft-success background */
html body .toast.bg-soft-success,
html body .alert-success.position-fixed,
html body .toast-container .alert-success {
    background-color: #198754 !important;
    border-color: #198754 !important;
    color: #ffffff !important;
    opacity: 1 !important;
}

/* Flash message alerts (fixed position) - solid backgrounds */
html body .flash-message .alert-success,
html body .position-fixed .alert-success,
html body .toast-container .alert-success {
    background-color: #198754 !important;
    border-color: #198754 !important;
    color: #ffffff !important;
}

html body .flash-message .alert-success .btn-close,
html body .position-fixed .alert-success .btn-close {
    filter: invert(1) !important;
}

/* ==========================================================================
   BTN-DANGER - Modernes Rot statt Bootstrap-Weinrot
   ========================================================================== */

html body .btn-danger,
html body a.btn-danger,
html body button.btn-danger,
html body input[type="submit"].btn-danger {
    background-color: #dc2626 !important;
    border-color: #dc2626 !important;
    color: #ffffff !important;
}

html body .btn-danger:hover,
html body .btn-danger:focus,
html body .btn-danger:active,
html body a.btn-danger:hover,
html body button.btn-danger:hover {
    background-color: #b91c1c !important;
    border-color: #b91c1c !important;
    color: #ffffff !important;
}

html body .btn-danger:focus,
html body .btn-danger:focus-visible {
    box-shadow: 0 0 0 0.25rem rgba(220, 38, 38, 0.25) !important;
}

html body .btn-outline-danger,
html body a.btn-outline-danger,
html body button.btn-outline-danger {
    background-color: transparent !important;
    border-color: #dc2626 !important;
    color: #dc2626 !important;
}

html body .btn-outline-danger:hover,
html body .btn-outline-danger:focus,
html body .btn-outline-danger:active,
html body a.btn-outline-danger:hover,
html body button.btn-outline-danger:hover {
    background-color: #dc2626 !important;
    border-color: #dc2626 !important;
    color: #ffffff !important;
}

/* Text-danger und Border-danger */
html body .text-danger {
    color: #dc2626 !important;
}

html body .border-danger {
    border-color: #dc2626 !important;
}

html body .bg-danger {
    background-color: #dc2626 !important;
}

html body .bg-danger.bg-opacity-10 {
    background-color: rgba(220, 38, 38, 0.1) !important;
}

/* ==========================================================================
   SSO / AUTHENTIK BUTTON - 15px text
   ========================================================================== */

/* Authentik/SSO login button - consistent 15px for better readability */
html body .btn-authentik,
html body a[href*="authentik"],
html body a[href*="/sso/"],
html body .btn-sso,
html body .btn-outline-dark.btn-lg,
html body form[action*="sso"] .btn,
html body .card .btn-outline-dark[type="submit"],
html body .login-card .btn-outline-dark {
    font-size: 15px !important;
    padding: 0.75rem 1.5rem !important;
}

/* Specific SSO button in admin login */
html body .btn-outline-dark.w-100,
html body .card-body .btn-outline-dark.w-100 {
    font-size: 15px !important;
    padding: 0.75rem 1.5rem !important;
    line-height: 1.5 !important;
}

/* ==========================================================================
   APPLICANT AREA - Reduced & Unified Font Sizes
   For a cleaner, more professional look in the dashboard and profile
   ========================================================================== */

/* Base font size reduction for applicant area */
.applicant-dashboard,
.applicant-profile,
.applicant-application,
[class*="applicant-"] {
    font-size: 0.9rem;
}

/* Page titles - smaller */
.applicant-dashboard h1,
.applicant-dashboard .display-5,
.applicant-profile h1,
.applicant-profile .display-5 {
    font-size: 2.75rem !important;
    font-weight: 600 !important;
}

/* Section titles - smaller */
.applicant-dashboard h2,
.applicant-dashboard h3,
.applicant-profile h2,
.applicant-profile h3 {
    font-size: 1.1rem !important;
    font-weight: 600 !important;
}

/* Card headers - consistent size */
.applicant-dashboard .card-header,
.applicant-profile .card-header,
.applicant-dashboard .card-header h5,
.applicant-dashboard .card-header h6,
.applicant-profile .card-header h5,
.applicant-profile .card-header h6 {
    font-size: 0.95rem !important;
    font-weight: 600 !important;
}

/* Card body text - smaller */
.applicant-dashboard .card-body,
.applicant-profile .card-body {
    font-size: 0.875rem !important;
}

/* Stat cards - smaller numbers */
.applicant-dashboard .stats-card h2,
.applicant-dashboard .stats-card .display-6,
.applicant-dashboard .card .fs-3,
.applicant-dashboard .card .fs-4 {
    font-size: 1.5rem !important;
    font-weight: 700 !important;
}

.applicant-dashboard .stats-card p,
.applicant-dashboard .stats-card small,
.applicant-dashboard .stats-card .text-muted {
    font-size: 0.8rem !important;
}

/* Sidebar text */
.applicant-sidebar,
.applicant-dashboard .sidebar,
.applicant-dashboard [class*="sidebar"] {
    font-size: 0.875rem !important;
}

.applicant-sidebar a,
.applicant-sidebar .nav-link {
    font-size: 0.875rem !important;
    padding: 0.5rem 0.75rem !important;
}

/* Profile name in sidebar */
.applicant-sidebar .profile-name,
.applicant-dashboard .profile-name {
    font-size: 1rem !important;
    font-weight: 600 !important;
}

.applicant-sidebar .profile-email,
.applicant-dashboard .profile-email {
    font-size: 0.8rem !important;
}

/* Buttons - consistent sizing */
.applicant-dashboard .btn,
.applicant-profile .btn {
    font-size: 0.875rem !important;
    padding: 0.5rem 1rem !important;
}

.applicant-dashboard .btn-sm,
.applicant-profile .btn-sm {
    font-size: 0.8rem !important;
    padding: 0.35rem 0.75rem !important;
}

/* Form labels - smaller */
.applicant-profile .form-label,
.applicant-profile label {
    font-size: 0.85rem !important;
    font-weight: 500 !important;
}

/* Form inputs - consistent */
.applicant-profile .form-control,
.applicant-profile .form-select {
    font-size: 0.875rem !important;
    padding: 0.5rem 0.75rem !important;
}

/* Table text */
.applicant-dashboard table,
.applicant-dashboard .table {
    font-size: 0.85rem !important;
}

/* Badges */
.applicant-dashboard .badge,
.applicant-profile .badge {
    font-size: 0.75rem !important;
    padding: 0.35em 0.6em !important;
}

/* Alert and info boxes */
.applicant-dashboard .alert,
.applicant-profile .alert {
    font-size: 0.85rem !important;
    padding: 0.75rem 1rem !important;
}

/* Empty state text */
.applicant-dashboard .text-muted,
.applicant-dashboard .empty-state {
    font-size: 0.875rem !important;
}

/* List items */
.applicant-dashboard .list-group-item,
.applicant-profile .list-group-item {
    font-size: 0.875rem !important;
    padding: 0.65rem 1rem !important;
}

/* Breadcrumb smaller */
.applicant-dashboard .breadcrumb,
.applicant-profile .breadcrumb {
    font-size: 0.8rem !important;
}

/* Welcome text */
.applicant-dashboard .lead,
.applicant-dashboard .welcome-text {
    font-size: 0.95rem !important;
}

/* Menu icons - consistent size */
.applicant-sidebar .bi,
.applicant-sidebar i {
    font-size: 1rem !important;
}

/* Progress text */
.applicant-dashboard .progress-text,
.applicant-profile .progress-text {
    font-size: 0.8rem !important;
}

/* Hint text and descriptions */
.applicant-profile .form-text,
.applicant-profile .text-muted,
.applicant-profile small {
    font-size: 0.8rem !important;
}

/* Application cards */
.applicant-dashboard .application-card h5,
.applicant-dashboard .application-card .card-title {
    font-size: 1rem !important;
    font-weight: 600 !important;
}

.applicant-dashboard .application-card .card-text {
    font-size: 0.85rem !important;
}

/* ==========================================================================
   LP-59: REDUCED SPACING - Smaller gaps between header and content
   ========================================================================== */

/* Reduce padding on bg-light header sections */
.bg-light.py-4 {
    padding-top: 1.25rem !important;
    padding-bottom: 1.25rem !important;
}

.bg-light.py-5 {
    padding-top: 1.5rem !important;
    padding-bottom: 1.5rem !important;
}

/* Main content area - reduced top padding */
main#content>.container.py-4,
main#content>.container-fluid.py-4,
main>.container.py-4 {
    padding-top: 1.25rem !important;
}

main#content>.container.py-5,
main#content>.container-fluid.py-5,
main>.container.py-5 {
    padding-top: 1.5rem !important;
}

/* Applicant dashboard/profile - reduced spacing */
.applicant-dashboard.py-4,
.applicant-profile.py-4,
.applicant-application.py-4 {
    padding-top: 1.25rem !important;
}

/* Card margins - tighter */
.applicant-dashboard .card.mb-4,
.applicant-profile .card.mb-4 {
    margin-bottom: 1rem !important;
}

/* Row margins */
.applicant-dashboard .row.mb-4,
.applicant-profile .row.mb-4 {
    margin-bottom: 1rem !important;
}

/* Header section in applicant area */
.applicant-dashboard>.bg-light,
.applicant-profile>.bg-light {
    padding: 1rem 0 !important;
}

/* Title and subtitle spacing */
.applicant-dashboard h2.mb-0+p.text-muted,
.applicant-profile h2.mb-0+p.text-muted {
    margin-bottom: 0.5rem !important;
}

/* ==========================================================================
   GLOBAL - Reduce base font sizes for cleaner look
   ========================================================================== */

/* Default body text - slightly smaller */
body {
    font-size: 0.9375rem;
    line-height: 1.6;
}

/* h1-h6 reductions */
h1,
.h1 {
    font-size: 2rem !important;
}

h2,
.h2 {
    font-size: 1.5rem !important;
}

h3,
.h3 {
    font-size: 1.25rem !important;
}

h4,
.h4 {
    font-size: 1.1rem !important;
}

h5,
.h5 {
    font-size: 1rem !important;
}

h6,
.h6 {
    font-size: 0.9rem !important;
}

/* Display classes - smaller */
.display-1 {
    font-size: 3.5rem !important;
}

.display-2 {
    font-size: 3rem !important;
}

.display-3 {
    font-size: 2.5rem !important;
}

.display-4 {
    font-size: 2rem !important;
}

.display-5 {
    font-size: 2.75rem !important;
}

.display-6 {
    font-size: 1.5rem !important;
}

/* Lead text - smaller */
.lead {
    font-size: 1.1rem !important;
    font-weight: 400 !important;
}

/* ==========================================================================
   GLOBAL BUTTON FONT SIZE - Maximum 15px for all buttons
   ========================================================================== */

/* All buttons - max 15px font size */
html body .btn,
html body button.btn,
html body a.btn,
html body input[type="submit"].btn,
html body input[type="button"].btn,
html body .btn-lg,
html body .btn.btn-lg,
html body .btn-group-lg>.btn,
html body button,
html body [type="button"],
html body [type="submit"] {
    font-size: 15px !important;
}

/* Small buttons - 13px */
html body .btn-sm,
html body .btn.btn-sm,
html body .btn-group-sm>.btn {
    font-size: 13px !important;
}

/* ==========================================================================
   HEADER NAV BUTTONS - Explicit 15px override
   ========================================================================== */

/* Header navbar buttons - force 15px */
html body header .btn,
html body header a.btn,
html body .navbar .btn,
html body .navbar a.btn,
html body .navbar-nav .btn,
html body .navbar-nav a.btn,
html body header .nav-item .btn,
html body header .nav-item a.btn {
    font-size: 15px !important;
}

/* Header small buttons - force 15px (same as regular buttons) */
html body header .btn-sm,
html body header a.btn-sm,
html body header a.btn.btn-sm,
html body header a.btn.btn-primary.btn-sm,
html body .navbar .btn-sm,
html body .navbar a.btn-sm,
html body .navbar a.btn.btn-sm,
html body .navbar a.btn.btn-primary.btn-sm,
html body .navbar-nav .btn-sm,
html body .navbar-nav a.btn-sm,
html body .navbar-nav a.btn.btn-sm,
html body .navbar-nav a.btn.btn-primary.btn-sm,
html body header .nav-item .btn-sm,
html body header .nav-item a.btn-sm,
html body header .nav-item a.btn.btn-sm,
html body header .nav-item a.btn.btn-primary.btn-sm {
    font-size: 15px !important;
}

/* ==========================================================================
   FORM-SELECT - Remove link arrows from select elements
   ========================================================================== */

/* Prevent ::after arrows on form-select elements */
html body .form-select::after,
html body select.form-select::after,
html body .card .form-select::after,
html body .card-body .form-select::after {
    display: none !important;
    content: none !important;
}

/* Fix form-select padding for dropdown arrow - prevent text overlap */
html body .form-select,
html body select.form-select,
html body .form-select-sm {
    padding-right: 2.25rem !important;
    background-position: right 0.5rem center !important;
}

html body .form-select-sm {
    padding-right: 2rem !important;
}

/* ==========================================================================
   APPLICANT SIDEBAR NAVIGATION - Consistent styling
   ========================================================================== */

/* Sidebar container */
.applicant-sidebar {
    border-radius: 12px;
    overflow: hidden;
}

.applicant-sidebar .card-body {
    padding: 1.5rem 1rem;
}

/* Profile name and email */
.applicant-sidebar .profile-name {
    font-size: 1rem !important;
    font-weight: 600 !important;
    color: #1e2022;
    margin-bottom: 2px !important;
}

.applicant-sidebar .profile-email {
    font-size: 0.8rem !important;
    color: #6c757d;
}

/* Navigation list */
.applicant-nav.list-group {
    border-top: 1px solid #e9ecef;
}

/* Navigation links - consistent styling */
.applicant-nav .list-group-item {
    font-size: 0.875rem !important;
    font-weight: 400 !important;
    padding: 0.75rem 1rem !important;
    border: none !important;
    border-left: 3px solid transparent !important;
    color: #1e2022 !important;
    background-color: transparent !important;
    display: flex !important;
    align-items: center !important;
    transition: all 0.15s ease !important;
}

.applicant-nav .list-group-item:hover {
    background-color: rgba(30, 32, 34, 0.04) !important;
    text-decoration: none !important;
}

/* Icons - consistent size */
.applicant-nav .list-group-item .bi {
    font-size: 1rem !important;
    width: 1.25rem !important;
    text-align: center !important;
    flex-shrink: 0 !important;
}

/* Active state */
.applicant-nav .list-group-item.active-item {
    background-color: rgba(30, 32, 34, 0.06) !important;
    color: #1e2022 !important;
    font-weight: 600 !important;
    border-left-color: #1e2022 !important;
}

.applicant-nav .list-group-item.active-item:hover {
    background-color: rgba(30, 32, 34, 0.08) !important;
}

/* Special colors for logout (danger) */
.applicant-nav .list-group-item.text-danger {
    color: #dc2626 !important;
}

.applicant-nav .list-group-item.text-danger:hover {
    background-color: rgba(220, 38, 38, 0.06) !important;
}

/* Special colors for onboarding (success) */
.applicant-nav .list-group-item.text-success {
    color: #059669 !important;
}

.applicant-nav .list-group-item.text-success:hover {
    background-color: rgba(5, 150, 105, 0.06) !important;
}

/* Badge (warning indicator) - Override float-end with flex */
.applicant-nav .list-group-item .badge {
    font-size: 0.65rem !important;
    padding: 0.2em 0.5em !important;
    margin-left: auto !important;
    border-radius: 50% !important;
    min-width: 1.25rem !important;
    height: 1.25rem !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    float: none !important;
    flex-shrink: 0 !important;
}

/* Avatar edit overlay */
.avatar-edit-link {
    cursor: pointer;
    text-decoration: none !important;
    display: inline-block;
}

.avatar-edit-link:hover {
    text-decoration: none !important;
}

.avatar-edit-overlay {
    position: absolute;
    bottom: 0;
    right: 0;
    width: 28px;
    height: 28px;
    background: #1e2022;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    font-size: 12px;
    border: 2px solid white;
    opacity: 0;
    transition: opacity 0.2s ease;
}

.avatar-edit-link:hover .avatar-edit-overlay {
    opacity: 1;
}

/* Remove rounded corners from list-group in sidebar */
.applicant-nav.list-group .list-group-item:first-child {
    border-radius: 0 !important;
}

.applicant-nav.list-group .list-group-item:last-child {
    border-radius: 0 0 12px 12px !important;
}

/* ==========================================================================
   JOB CONTENT - Force bullet points instead of numbers
   ========================================================================== */
.job-content {
    padding-bottom: 0.5rem !important;
}

.job-content ol,
.job-content ul {
    list-style-type: disc !important;
    padding-left: 1.5rem;
    margin-top: 1rem;
    margin-bottom: 1rem;
}

.job-content ol li,
.job-content ul li {
    margin-bottom: 0.3rem;
}

/* Remove bottom margin from last list item */
.job-content ol li:last-child,
.job-content ul li:last-child {
    margin-bottom: 0;
}

/* Nested lists should also use bullets */
.job-content ol ol,
.job-content ol ul,
.job-content ul ol,
.job-content ul ul {
    list-style-type: disc !important;
    padding-left: 1.25rem;
    margin-top: 0.3rem;
    margin-bottom: 0.3rem;
}

/* ==========================================================================
   GENDER NOTICE POPOVER - Smaller text in popover content
   ========================================================================== */

/* Popover content from gender notice link - smaller font */
.gender-notice-link+.popover .popover-body,
.popover .popover-body {
    font-size: 0.8125rem !important;
    line-height: 1.5 !important;
}

/* Specific styling for gender notice popover */
html body .gender-notice-link+.popover .popover-body {
    font-size: 13px !important;
}

/* ==========================================================================
   NAV-TABS - Login Page (Override Unify green to dark)
   ========================================================================== */

/* Nav tabs - active state dark instead of green */
html body .nav-tabs .nav-link.active,
html body .nav-tabs .nav-link.active:hover,
html body .nav-tabs .nav-link.active:focus,
html body .card .nav-tabs .nav-link.active {
    color: #1e2022 !important;
    background-color: #fff !important;
    border-color: #dee2e6 #dee2e6 #fff !important;
    font-weight: 500 !important;
}

/* Nav tabs - inactive state */
html body .nav-tabs .nav-link:not(.active),
html body .card .nav-tabs .nav-link:not(.active) {
    color: #6c757d !important;
    background-color: #f8f9fa !important;
    border-color: #dee2e6 #dee2e6 transparent !important;
}

html body .nav-tabs .nav-link:not(.active):hover {
    color: #1e2022 !important;
    border-color: #e9ecef #e9ecef #dee2e6 !important;
}

/* Remove any green underline/border */
html body .nav-tabs .nav-link.active::after,
html body .nav-tabs .nav-link::after {
    display: none !important;
}

/* Tab border bottom color - dark instead of primary */
html body .nav-tabs {
    border-bottom-color: #dee2e6 !important;
}

/* ==========================================================================
   MOBILE RESPONSIVE FIXES
   Fixes word-breaking issues on mobile devices for titles
   ========================================================================== */

@media (max-width: 767.98px) {
  /* Fix for all heading elements on mobile */
  h1, h2, h3, h4, h5, h6,
  .h1, .h2, .h3, .h4, .h5, .h6 {
    word-break: break-word !important;
    overflow-wrap: break-word !important;
    -webkit-hyphens: auto !important;
    -moz-hyphens: auto !important;
    -ms-hyphens: auto !important;
    hyphens: auto !important;
  }

  /* Fix for card titles specifically */
  .card-title {
    word-break: break-word !important;
    overflow-wrap: break-word !important;
    hyphens: auto !important;
  }

  /* Fix for page titles */
  .page-title,
  .content-header h1,
  .content-header h2 {
    word-break: break-word !important;
    overflow-wrap: break-word !important;
    hyphens: auto !important;
  }

  /* Fix for job titles in lists */
  .job-title,
  .application-title {
    word-break: break-word !important;
    overflow-wrap: break-word !important;
    hyphens: auto !important;
  }
  
  /* Fix for dropdown user names in navigation */
  .navbar .dropdown-toggle {
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: unset !important;
    max-width: 150px;
    display: inline-flex !important;
    align-items: center !important;
    flex-wrap: wrap !important;
  }
  
  /* Ensure icons stay inline with text */
  .navbar .dropdown-toggle i {
    flex-shrink: 0;
  }
}