:root {
    --sa-brand-primary: #2E8B57;
    --sa-brand-primary-dark: #256f46;
    --sa-brand-secondary: #A8D5BA;
    --sa-brand-neutral: #D3D3D3;
    --sa-brand-surface: #ffffff;
    --sa-brand-bg-soft: #f4faf6;
    --sa-brand-text: #1f2a24;
    --sa-brand-muted: #5f6f66;
}

html, body {
    font-family: "Open Sans", "Segoe UI", Arial, sans-serif;
    color: var(--sa-brand-text);
}

h1, h2, h3, h4, h5, h6,
.card-title,
.sa-shell-page-title,
.sa-alert__title,
.btn {
    font-family: "Montserrat", "Open Sans", "Segoe UI", Arial, sans-serif;
}

h1, h2, h3, h4, h5, h6 {
    font-weight: 700;
}

.bg-gradient-primary {
    background-image: linear-gradient(120deg, var(--sa-brand-primary-dark) 0%, var(--sa-brand-primary) 100%) !important;
}

.btn-primary,
.btn.bg-gradient-primary {
    background-color: var(--sa-brand-primary) !important;
    border-color: var(--sa-brand-primary) !important;
    color: #fff !important;
}

.btn-primary:hover,
.btn.bg-gradient-primary:hover {
    background-color: var(--sa-brand-primary-dark) !important;
    border-color: var(--sa-brand-primary-dark) !important;
}

.btn-outline-secondary {
    border-color: #b9c6bf !important;
    color: #3b4c43 !important;
}

.btn-outline-secondary:hover {
    background: #eef4f0 !important;
    border-color: #9eb2a7 !important;
    color: #2d3f35 !important;
}

.card {
    border-color: #e3ece7 !important;
    box-shadow: 0 10px 24px rgba(17, 54, 35, 0.08);
}

.form-control,
.form-select {
    border-color: #cfe1d7;
}

.form-control:focus,
.form-select:focus {
    border-color: var(--sa-brand-primary);
    box-shadow: 0 0 0 0.2rem rgba(46, 139, 87, 0.18);
}

.alert-primary {
    background: #eaf6ef;
    border-color: #bedfc9;
    color: #1f5f3b;
}

.alert-info {
    background: #eef8f3;
    border-color: #c9e6d6;
    color: #285f44;
}

.alert-success {
    background: #ecf8f1;
    border-color: #bfe1cc;
    color: #215f3d;
}

.alert-warning {
    background: #fff9ec;
    border-color: #f0ddb3;
    color: #70511d;
}

.alert-danger {
    background: #fff1f1;
    border-color: #efc3c3;
    color: #8f2d2d;
}

.sa-alert {
    border-width: 1px;
    box-shadow: 0 8px 20px rgba(20, 55, 37, 0.08);
}

.dashboard-shell {
    --sa-shell-primary: var(--sa-brand-primary);
    --sa-shell-primary-soft: #e8f5ed;
    --sa-shell-primary-dark: var(--sa-brand-primary-dark);
    --sa-shell-primary-active: #2b7f4f;
    --sa-shell-border: #d4e5db;
    --sa-shell-text: #243a2f;
    --sa-shell-muted: #5f786a;
    --sa-shell-bg: #edf5f0;
}

.dashboard-shell .sa-shell-sidebar {
    background: var(--sa-brand-primary-dark) !important;
}

.dashboard-shell .sa-shell-link.active {
    background: var(--sa-brand-primary) !important;
}

.dashboard-shell .sa-shell-topbar {
    border-color: #d5e4dc;
}
