:root {
    --saf-primary: #0b5ed7;
    --saf-primary-hover: #0a53be;
    --saf-secondary: #6c757d;
    --saf-success: #198754;
    --saf-danger: #dc3545;
    --saf-warning: #ff9207;
    --saf-info: #0dcaf0;
    --saf-surface: #ffffff;
    --saf-text: #212529;
    --saf-text-muted: #6c757d;
    --saf-border: #dce2e8;
    --saf-radius-sm: 0.375rem;
    --saf-radius-md: 0.5rem;
    --saf-shadow-sm: 0 2px 8px rgba(0, 0, 0, 0.08);
}

.site-theme a,
.admin-theme a {
    transition: color 0.15s ease, opacity 0.15s ease;
}

.site-theme a:not(.btn),
.admin-theme a:not(.btn) {
    color: var(--saf-text);
}

.site-theme a:not(.btn):hover,
.admin-theme a:not(.btn):hover {
    color: var(--saf-primary);
}

.site-theme .btn,
.admin-theme .btn {
    border-radius: var(--saf-radius-sm);
    font-weight: 600;
    transition: all 0.15s ease;
}

.site-theme .btn-primary,
.admin-theme .btn-primary {
    background-color: var(--saf-primary);
    border-color: var(--saf-primary);
}

.site-theme .btn-primary:hover,
.admin-theme .btn-primary:hover {
    background-color: var(--saf-primary-hover);
    border-color: var(--saf-primary-hover);
}

.site-theme .btn:focus,
.admin-theme .btn:focus {
    box-shadow: 0 0 0 0.2rem rgba(11, 94, 215, 0.25);
}

.site-theme .modal-content,
.admin-theme .modal-content {
    border-radius: var(--saf-radius-md);
    border: 1px solid var(--saf-border);
    box-shadow: var(--saf-shadow-sm);
}

.site-theme .modal-header,
.admin-theme .modal-header {
    border-bottom: 1px solid var(--saf-border);
}

.site-theme .modal-footer,
.admin-theme .modal-footer {
    border-top: 1px solid var(--saf-border);
}

.site-theme .nav-inscripciones-btn {
    white-space: nowrap;
    word-break: keep-all;
    overflow-wrap: normal;
    line-height: 1.15;
    font-size: 1.05rem;
    padding: 0.85rem 2rem;
    max-width: 100%;
}

@media (max-width: 991.98px) {
    .site-theme .nav-inscripciones-btn {
        font-size: 0.92rem;
        padding: 0.7rem 1.35rem;
    }
}

.admin-theme .content-header {
    padding: 8px 0.5rem;
}

.admin-theme .btn-outline-success,
.admin-theme .btn-outline-danger,
.admin-theme .btn-outline-primary {
    border-width: 1px;
}
