:root {
    --bs-brand: #8c2425;
    --bs-brand-hover: #7a1d1d;
    --font-family: 'Inter', system-ui, -apple-system, sans-serif;
}

body {
    font-family: var(--font-family);
    -webkit-font-smoothing: antialiased;
    background-color: #f9fafb !important;
}

.form-control:focus {
    box-shadow: none !important;
}

.focus-ring-danger:focus {
    border-color: rgba(140, 36, 37, 0.4) !important;
    box-shadow: 0 0 0 0.25rem rgba(140, 36, 37, 0.25) !important;
}

.form-check-input:checked {
    background-color: var(--bs-brand);
    border-color: var(--bs-brand);
}

.link-brand {
    color: var(--bs-brand) !important;
}

.link-brand:hover {
    color: var(--bs-brand-hover) !important;
    text-decoration: underline !important;
}

.btn-brand {
    background-color: var(--bs-brand) !important;
    border-color: var(--bs-brand) !important;
    transition: all 0.2s ease;
}

.btn-brand:hover {
    background-color: var(--bs-brand-hover) !important;
    border-color: var(--bs-brand-hover) !important;
}

.cursor-pointer {
    cursor: pointer;
}

/* Animations */
.ph-spin {
    animation: spin 1s linear infinite;
    font-size: 20px;
}

@keyframes spin {
    to { transform: rotate(360deg); }
}

.fade-enter-active,
.fade-leave-active {
    transition: opacity 0.3s ease;
}

.fade-enter-from,
.fade-leave-to {
    opacity: 0;
}
