:root {
    --navy: #0F2C4C;
    --navy-2: #15396163;
    --teal: #15A57B;
    --teal-hover: #129067;
    --bg-soft: #F6F8FA;
    --text-dark: #1F2430;
    --top-grey: #7b7f83;
    --menu-blue: #1670d8;
    --body-grey: #d3d6da;
}

body {
    background-color: var(--body-grey);
    color: var(--text-dark);
}

/* Grey top header bar */
.top-header {
    background-color: var(--top-grey);
    color: #fff;
    text-align: center;
    padding: .7rem 1rem;
}

.top-header h1 {
    margin: 0;
    font-weight: 700;
    font-size: 1.9rem;
    letter-spacing: .5px;
}

/* Navbar */
.navbar-brand {
    letter-spacing: .3px;
}

.navbar-brand .accent {
    color: var(--teal);
}

.navbar.bg-navy {
    background-color: var(--navy) !important;
}

.navbar.bg-menu-blue {
    background-color: var(--menu-blue) !important;
}

/* On the blue menu, use a white underline accent instead of teal */
.navbar.bg-menu-blue .nav-link::after {
    background: #fff;
}

/* Larger "Inicio" / dashboard link */
.navbar .nav-link.nav-home-lg {
    font-size: 1.2rem;
    font-weight: 700;
}

.navbar .nav-link {
    font-weight: 500;
    padding-left: 1rem !important;
    padding-right: 1rem !important;
    position: relative;
}

.navbar .nav-link::after {
    content: "";
    position: absolute;
    left: 1rem;
    right: 1rem;
    bottom: 6px;
    height: 2px;
    background: var(--teal);
    transform: scaleX(0);
    transition: transform .15s ease;
}

.navbar .nav-link:hover::after,
.navbar .nav-link.active::after {
    transform: scaleX(1);
}

.navbar .nav-link.active {
    color: #fff !important;
}

.btn-teal {
    background-color: var(--teal);
    border-color: var(--teal);
    color: #fff;
    font-weight: 600;
}

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

/* Hero (homepage placeholder) */
.hero {
    background: linear-gradient(135deg, var(--navy) 0%, #1c4671 100%);
    color: #fff;
    padding: 5rem 0;
}

.hero h1 {
    font-weight: 700;
}
