:root {
    --brand-blue: #0d5fb8;
    --brand-red: #d71920;
    --brand-dark: #0f172a;
    --brand-light: #f8fafc;
    --brand-gray: #64748b;
}

body {
    background: var(--brand-light);
}

.navbar-custom {
    background: linear-gradient(90deg, var(--brand-blue), var(--brand-red));
    box-shadow: 0 2px 10px rgba(0, 0, 0, .15);
}

.brand-text {
    color: #fff;
    font-weight: 700;
    font-size: 1.25rem;
    letter-spacing: .5px;
}

.navbar-custom .nav-link {
    color: rgba(255, 255, 255, .85) !important;
    font-weight: 500;
}

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

main>.container {
    padding: 90px 20px 30px;
}

.breadcrumb a {
    color: var(--brand-blue);
}

.alert-success {
    border-left: 4px solid var(--brand-blue);
}

.alert-danger,
.error-summary {
    border-left: 4px solid var(--brand-red);
    background: #fff5f5;
}

.btn-primary {
    background: var(--brand-blue);
    border-color: var(--brand-blue);
}

.btn-danger {
    background: var(--brand-red);
    border-color: var(--brand-red);
}

.form-control:focus {
    border-color: var(--brand-blue);
    box-shadow: 0 0 0 .15rem rgba(13, 95, 184, .25);
}

div.required>label::after,
div.required .form-label::after {
    content: " *";
    color: var(--brand-red);
    font-weight: 700;
}

#footer {
    background: var(--brand-dark);
    color: #cbd5e1;
    font-size: .9rem;
}

.nav li>form>button.logout {
    color: rgba(255, 255, 255, .85);
}

.brand-logo {
    height: 32px;
    /* controls logo size */
    width: auto;
    /* keeps aspect ratio */
    display: inline-block;
    object-fit: contain;
}

/* Ensure brand container aligns properly */
.navbar-brand {
    display: flex;
    align-items: center;
    gap: 8px;
}

/* Text alignment with logo */
.brand-text {
    font-weight: 700;
    font-size: 1.1rem;
    line-height: 1;
    white-space: nowrap;
}

.pt-navbar {
    padding-top: 90px;
    /* height of your fixed navbar */
}