:root {
    --bos-navy-950: #001229;
    --bos-navy-900: #001a3f;
    --bos-navy-800: #082b57;
    --bos-navy-700: #163f6f;

    --bos-gold-500: #fdbb00;
    --bos-gold-400: #ffc928;

    --bos-white: #ffffff;
    --bos-gray-50: #f7f9fc;
    --bos-gray-100: #eef2f7;
    --bos-gray-200: #dce4ee;
    --bos-gray-500: #64748b;
    --bos-gray-700: #334155;

    --bos-danger-bg: #fdebec;
    --bos-danger-text: #b4232c;

    --bos-success-bg: #eaf7ef;
    --bos-success-text: #177245;

    --bos-radius-sm: 8px;
    --bos-radius-md: 14px;
    --bos-radius-lg: 22px;

    --bos-shadow:
        0 18px 50px rgba(0, 18, 41, 0.12);

    --bos-font:
        Inter,
        ui-sans-serif,
        system-ui,
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        sans-serif;
}

html,
body {
    font-family: var(--bos-font);
}

body {
    color: var(--bos-navy-950);
}

.bos-brand {
    display: flex;
    align-items: center;
    gap: 14px;
}

.bos-brand-symbol {
    width: 48px;
    height: 48px;
    object-fit: contain;
}

.bos-brand-wordmark {
    display: block;
    width: min(250px, 72vw);
    height: auto;
}

.bos-eyebrow {
    color: var(--bos-gold-500);
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.bos-button,
button[type="submit"] {
    background: var(--bos-gold-500);
    color: var(--bos-navy-950);
    border: 0;
    border-radius: var(--bos-radius-sm);
    font-weight: 800;
    cursor: pointer;
    transition:
        transform 0.15s ease,
        box-shadow 0.15s ease,
        background 0.15s ease;
}

.bos-button:hover,
button[type="submit"]:hover {
    background: var(--bos-gold-400);
    box-shadow: 0 8px 20px rgba(253, 187, 0, 0.22);
}

.bos-button:active,
button[type="submit"]:active {
    transform: translateY(1px);
}

.bos-card {
    background: var(--bos-white);
    border: 1px solid var(--bos-gray-200);
    border-radius: var(--bos-radius-lg);
    box-shadow: var(--bos-shadow);
}

.bos-alert-error {
    background: var(--bos-danger-bg);
    color: var(--bos-danger-text);
    border-radius: var(--bos-radius-sm);
}

.bos-alert-success {
    background: var(--bos-success-bg);
    color: var(--bos-success-text);
    border-radius: var(--bos-radius-sm);
}
