/* Combined site styles moved from inline blocks */
:root {
    /* default brand color — overridden by inline CSS var in MasterPage.php */
    --brand-color: #52A8DC;
}

html, body { height: 100%; }

#app-root {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

main {
    padding: 1.25rem;
    box-sizing: border-box;
    flex: 1 0 auto;
    overflow: visible;
}

footer { flex-shrink: 0; }

/* Global link styling: make regular links stand out, but exclude buttons and nav links */
 a:not(.btn):not(.nav-link) {
    text-decoration: none;
    color: var(--link-color, #1C83AD) !important;
}

a:not(.btn):not(.nav-link):visited { color: var(--link-color, #1C83AD) !important; }

a:not(.btn):not(.nav-link):hover,
 a:not(.btn):not(.nav-link):focus {
    text-decoration: underline;
    color: #24AAE1 !important;
}

.table a:not(.btn) { text-decoration: none; color: var(--link-color, #1C83AD) !important; }
.table a:not(.btn):hover { text-decoration: underline; }

/* Override navbar color to requested brand color */
.navbar,
.navbar.bg-primary {
    background-color: var(--brand-color) !important;
}

.site-logo { height: 64px; width: auto; display: inline-block; vertical-align: middle; }

/* Nav link styling */
.navbar .nav-link { font-weight: 600; }
.navbar .nav-link.active { background: rgba(255, 255, 255, 0.08); border-radius: .25rem; }
.navbar .nav-link.active,
.navbar .nav-link.active:focus,
.navbar .nav-link.active:hover { color: #fff; background-color: #1C83AD; }

.navbar .navbar-nav.mx-auto { display: flex; flex: 1 0 0; min-width: 0; justify-content: center; gap: 0.5rem; }
.navbar-brand { flex: 0 0 auto; }
.navbar .navbar-nav.mx-auto .nav-link { padding-left: 0.6rem; padding-right: 0.6rem; white-space: nowrap; }
.navbar .navbar-nav.ms-auto { flex: 0 0 auto; }
.navbar .container-fluid { align-items: center; }

/* Hover state: Fills with #4BA3C3 and turns text white */
.btn-outline-light:hover,
.btn-outline-light:active,
.btn-outline-light:focus { background-color: #1C83AD !important; }

.dropdown-menu .dropdown-item.active { background: rgba(0, 0, 0, 0.06); font-weight: 600; }

/* Styles moved from inc/_head_includes.php */
.form-check-input:checked { background-color: #4BA3C3 !important; border-color: #4BA3C3 !important; }
.form-check-input:focus { border-color: #4BA3C3; box-shadow: 0 0 0 0.25rem rgba(75, 163, 195, 0.25); }
.form-check-input:checked:hover { filter: brightness(90%); }

.btn-outline-primary { color: #4BA3C3 !important; border-color: #4BA3C3 !important; background-color: transparent !important; }
.btn-outline-primary.active,
.btn-outline-primary:active { background-color: #4BA3C3 !important; border-color: #4BA3C3 !important; color: #ffffff !important; }
.btn-check:checked+.btn-outline-primary { background-color: #4BA3C3 !important; border-color: #4BA3C3 !important; color: #ffffff !important; }
.btn-outline-primary:active:focus { box-shadow: 0 0 0 0.25rem rgba(75, 163, 195, 0.25) !important; }
.btn-outline-primary:hover,
.btn-outline-primary:focus { background-color: #4BA3C3 !important; border-color: #4BA3C3 !important; color: #ffffff !important; box-shadow: 0 0 0 0.25rem rgba(75, 163, 195, 0.25) !important; }
.btn-check:focus+.btn-outline-primary,
.btn-outline-primary:focus { box-shadow: 0 0 0 0.25rem rgba(75, 163, 195, 0.25) !important; }

.alert-primary { background-color: #4BA3C3 !important; border-color: #4BA3C3 !important; color: #ffffff !important; }
.alert-primary .alert-link { color: #1C83AD !important; text-decoration: underline; }

button.btn.w-100[data-bs-toggle="collapse"]:hover,
button.btn.w-100[data-bs-toggle="collapse"]:focus { color: #000 !important; }
button[data-bs-toggle="collapse"]:hover,
button[data-bs-toggle="collapse"]:focus { color: #000 !important; }

/* Small utility for table highlight (used by dynamic scripts) */
.table-info { background-color: rgba(13,110,253,0.075) !important; }
