/* Modern visual layer on top of legacy structure.
   Keep selectors scoped to avoid changing app behavior. */

:root {
    --pd-bg: #f3f6fb;
    --pd-surface: #ffffff;
    --pd-text: #182433;
    --pd-muted: #5e6f84;
    --pd-border: #d6deea;
    --pd-brand: #0a3d72;
    --pd-brand-soft: #dbe9f8;
    --pd-brand-ink: #082f58;
    --pd-radius: 12px;
    --pd-shadow: 0 10px 24px rgba(11, 37, 66, 0.08);
}

body {
    background: radial-gradient(circle at 10% 5%, #ffffff 0%, #f2f6fb 45%, #e9f0f8 100%);
    color: var(--pd-text);
}

.container.body-content {
    background: var(--pd-surface);
    border: 1px solid var(--pd-border);
    border-radius: 16px;
    box-shadow: var(--pd-shadow);
    padding-top: 16px;
    padding-bottom: 16px;
}

.search-form {
    background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
    border: 1px solid var(--pd-border);
    border-radius: var(--pd-radius);
    padding: 16px;
    margin-bottom: 14px;
}

.search-form .input-group {
    gap: 8px;
}

.search-form .form-control {
    border: 1px solid #b8c8dc;
    border-radius: 10px !important;
    min-height: 42px;
}

.search-form .btn {
    border-radius: 10px !important;
    min-height: 42px;
}

.search-form .search-button,
#utility-login,
#utility-search {
    background: var(--pd-brand);
    border-color: var(--pd-brand);
}

.search-form .search-button:hover,
#utility-login:hover,
#utility-search:hover {
    background: var(--pd-brand-ink);
    border-color: var(--pd-brand-ink);
}

#SiteTabs.nav:not(.sideTabs) {
    background: #f8fbff;
    border: 1px solid var(--pd-border);
    border-radius: var(--pd-radius);
    padding: 6px;
    gap: 6px;
}

#SiteTabs.nav:not(.sideTabs) .nav-item {
    margin: 0 !important;
    float: none !important;
}

#SiteTabs.nav:not(.sideTabs) .nav-link {
    border: 1px solid transparent;
    border-radius: 10px;
    color: var(--pd-brand);
    font-weight: 600;
    min-height: 56px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 8px 10px;
    background: transparent;
}

#SiteTabs.nav:not(.sideTabs) .nav-link.active {
    color: #083b6d;
    background: #e6f0fb;
    border-color: #a9c2df;
    box-shadow: inset 0 -2px 0 #083b6d;
}

#SiteTabs.nav:not(.sideTabs) .show > .nav-link,
#SiteTabs.nav:not(.sideTabs) .nav-link.active:focus,
#SiteTabs.nav:not(.sideTabs) .nav-link.active:hover {
    color: #083b6d;
    background: #e6f0fb;
    border-color: #a9c2df;
}

.side-nav-modern {
    background: #f8fbff;
    border: 1px solid var(--pd-border);
    border-radius: 12px;
    padding: 8px;
}

.side-nav-modern .nav-link {
    border: 1px solid #c6d4e6;
    border-radius: 10px;
    color: var(--pd-brand);
    background: #fff;
    min-height: 92px;
    font-weight: 600;
    display: block;
    line-height: 1.2;
    padding: 8px 6px;
}

.side-nav-modern .nav-link:hover,
.side-nav-modern .nav-link:focus {
    color: var(--pd-brand-ink);
    border-color: #9eb8d8;
    background: #f1f7ff;
}

.side-nav-modern .nav-link.active,
.side-nav-modern .nav-link.active:hover,
.side-nav-modern .nav-link.active:focus {
    color: #fff;
    background: #083b6d;
    border-color: #083b6d;
}

.side-nav-modern .nav-link img,
.side-nav-modern .nav-link .fa {
    display: block;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 4px;
}

.search-results .facets-column {
    background: #f8fbff;
    border: 1px solid var(--pd-border);
    border-radius: 10px;
    padding: 14px;
}

.search-results .results-column {
    border: 1px solid var(--pd-border) !important;
    border-radius: 10px;
    background: #fff;
    box-shadow: 0 4px 12px rgba(12, 42, 77, 0.05);
}

.result-highlight {
    background: #fbfdff;
    border-left: 4px solid #88add8;
    border-radius: 6px;
    padding: 8px 10px;
}

.alert.alert-info {
    border: 1px solid #b8d5f2;
    background: #ecf6ff;
    color: #174a77;
    border-radius: 10px;
}

.card {
    border: 1px solid var(--pd-border);
    border-radius: 12px;
    box-shadow: 0 4px 14px rgba(14, 46, 86, 0.05);
}

.card-header {
    background: linear-gradient(180deg, #f8fbff 0%, #eff5fd 100%);
    border-bottom: 1px solid var(--pd-border);
}

.viewitem-modern-shell {
    background: #fff;
    border: 1px solid var(--pd-border);
    border-radius: 12px;
    box-shadow: 0 4px 14px rgba(14, 46, 86, 0.05);
    padding: 16px;
}

.viewitem-modern-body {
    line-height: 1.65;
    color: #1b2f44;
}

.viewitem-modern-body table {
    width: 100%;
    margin-bottom: 12px;
}

ul.pagination > li > a {
    border-color: #c8d6e8;
    color: var(--pd-brand);
}

ul.pagination > li.current-page > a,
.pagination .current-page a {
    background: var(--pd-brand) !important;
    border-color: var(--pd-brand) !important;
    color: #fff !important;
}

@media (max-width: 991.98px) {
    .container.body-content {
        border-radius: 10px;
        padding-left: 10px;
        padding-right: 10px;
    }

    #SiteTabs.nav:not(.sideTabs) {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    #SiteTabs.nav:not(.sideTabs) .nav-item.float-end {
        order: 3;
    }
}
