html { min-height: 100%; }
body { min-height: 100vh; background: #f5f7fb; }
:root { --portal-brand-blue: #206bc4; --portal-brand-blue-deep: #174a8b; }
.navbar-brand img { max-width: 72px; object-fit: contain; }
.page-header { padding: .5rem 0; }
.table td { vertical-align: middle; }
.portal-section { margin-top: 2rem; }
.portal-service-card { border: 0; background: linear-gradient(135deg, #ffffff 0%, #f0f6ff 100%); box-shadow: 0 .35rem 1.25rem rgba(29, 50, 84, .07); transition: transform .18s ease, box-shadow .18s ease; }
.portal-section .col:nth-child(3n + 2) .portal-service-card { background: linear-gradient(135deg, #ffffff 0%, #f1f7ff 52%, #e4efff 100%); }
.portal-section .col:nth-child(3n + 3) .portal-service-card { background: linear-gradient(135deg, #ffffff 0%, #f5f9ff 52%, #eaf3ff 100%); }
.portal-gradient-card { background: linear-gradient(135deg, #dcecff 0%, #eef6ff 45%, #ffffff 100%); border: 1px solid rgba(32, 107, 196, .16); }
.portal-recommendations #recommendations-title,
.portal-recommendations .portal-gradient-card .card-title,
.portal-recommendations .portal-gradient-card p { color: var(--portal-brand-blue) !important; }
.portal-recommendations .portal-gradient-card .card-title { color: var(--portal-brand-blue-deep) !important; }
.portal-service-card:hover { transform: translateY(-3px); box-shadow: 0 .7rem 1.5rem rgba(29, 50, 84, .13); }
.portal-service-card .card-title { margin-bottom: .75rem; }
.portal-service-card p { line-height: 1.7; }
.portal-card-heading { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; margin-bottom: .75rem; }
.portal-card-heading .card-title { margin-bottom: 0; }
.portal-main-nav .nav-link { display: inline-flex; align-items: center; gap: .35rem; }
.portal-main-nav .icon { width: 1rem; height: 1rem; stroke-width: 1.8; }
.portal-service-card:focus-visible { outline: 2px solid var(--tblr-primary); outline-offset: 3px; }
@media (min-width: 768px) {
    .portal-main-nav { margin-inline-start: 5rem; }
}
