:root {
    --brand-primary:       #0F2753;
    --brand-primary-600:   #183875;
    --brand-primary-700:   #0A1E43;
    --brand-accent:        #8EA4D2;
    --brand-accent-soft:   #E7ECF5;
    --brand-surface:       #F6F7F9;
    --brand-surface-2:     #FFFFFF;
    --brand-border:        #E3E6EC;
    --brand-text:          #1A1F2B;
    --brand-text-muted:    #5A6475;

    --bs-primary:          var(--brand-primary);
    --bs-primary-rgb:      15, 39, 83;
    --bs-border-radius:    0.5rem;
}

html, body {
    height: 100%;
    background: var(--brand-surface);
    color: var(--brand-text);
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}

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

.btn-primary:hover,
.btn-primary:focus {
    background-color: var(--brand-primary-600);
    border-color: var(--brand-primary-600);
}

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

.btn-outline-primary:hover,
.btn-outline-primary:focus {
    background-color: var(--brand-primary);
    border-color: var(--brand-primary);
    color: #fff;
}

.bg-primary { background-color: var(--brand-primary) !important; }
.text-primary { color: var(--brand-primary) !important; }

a { color: var(--brand-primary); }
a:hover { color: var(--brand-primary-600); }

:focus-visible {
    outline-offset: 2px;
}
