:root {
    --ds-pink: #a91a6a;
    --ds-navy: #01345b;
    --ds-pink-light: #fdf2f8;
    /* pink-50 equivalent */
    --ds-navy-light: #f0fdf4;
    /* placeholder */
}

/* ================== BUTTONS ================== */
.btn-ds-primary {
    background-color: var(--ds-pink);
    border-color: var(--ds-pink);
    color: #fff;
    font-weight: 500;
}

.btn-ds-primary:hover,
.btn-ds-primary:focus,
.btn-ds-primary:active {
    background-color: #8f165a;
    /* darker pink */
    border-color: #8f165a;
    color: #fff;
}

.btn-ds-secondary {
    background-color: #fff;
    border-color: #e2e8f0;
    color: var(--ds-navy);
    font-weight: 500;
}

.btn-ds-secondary:hover {
    background-color: #f8fafc;
    border-color: var(--ds-navy);
    color: var(--ds-navy);
}

.btn-ds-outline-navy {
    background-color: transparent;
    border-color: var(--ds-navy);
    color: var(--ds-navy);
}

.btn-ds-outline-navy:hover {
    background-color: var(--ds-navy);
    color: #fff;
}

.btn-ds-link {
    color: var(--ds-navy);
    text-decoration: none;
    font-weight: 500;
}

.btn-ds-link:hover {
    color: var(--ds-pink);
    text-decoration: underline;
}

/* ================== BADGES ================== */
.badge-ds-passed {
    background-color: #ecfdf5;
    /* emerald-50 */
    color: #065f46;
    /* emerald-800 */
    border: 1px solid #d1fae5;
    /* emerald-100 */
    padding: 2px 10px;
    font-size: 12px;
    font-weight: 600;
    border-radius: 9999px;
    display: inline-flex;
    align-items: center;
    line-height: 1.4;
    white-space: nowrap;
}

.badge-ds-referred {
    background-color: #fffbeb;
    /* amber-50 */
    color: #92400e;
    /* amber-800 */
    border: 1px solid #fef3c7;
    /* amber-100 */
    padding: 2px 10px;
    font-size: 12px;
    font-weight: 600;
    border-radius: 9999px;
    display: inline-flex;
    align-items: center;
    line-height: 1.4;
    white-space: nowrap;
}

.badge-ds-submitted {
    background-color: #f0f9ff;
    /* sky-50 */
    color: #075985;
    /* sky-800 */
    border: 1px solid #e0f2fe;
    /* sky-100 */
    padding: 2px 10px;
    font-size: 12px;
    font-weight: 600;
    border-radius: 9999px;
    display: inline-flex;
    align-items: center;
    line-height: 1.4;
    white-space: nowrap;
}

.badge-ds-pending {
    background-color: #f8fafc;
    /* slate-50 */
    color: #475569;
    /* slate-600 */
    border: 1px solid #f1f5f9;
    /* slate-100 */
    padding: 2px 10px;
    font-size: 12px;
    font-weight: 600;
    border-radius: 9999px;
    display: inline-flex;
    align-items: center;
    line-height: 1.4;
    white-space: nowrap;
}

/* ================== UTILITIES ================== */
.text-ds-pink {
    color: var(--ds-pink) !important;
}

.text-ds-navy {
    color: var(--ds-navy) !important;
}

.bg-ds-pink {
    background-color: var(--ds-pink) !important;
}

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

.border-ds-pink {
    border-color: var(--ds-pink) !important;
}

.border-ds-navy {
    border-color: var(--ds-navy) !important;
}

/* Focus rings */
.form-control:focus,
.form-select:focus {
    border-color: var(--ds-navy);
    box-shadow: 0 0 0 0.25rem rgba(1, 52, 91, 0.25);
}

/* Modal tweaks */
.modal-header.ds-modal-header {
    background-color: #fff;
    border-bottom: 1px solid #e2e8f0;
}

.modal-title.ds-modal-title {
    color: var(--ds-navy);
    font-weight: 700;
}