:root {
    --bs-primary: #2f8f6f;
    --bs-primary-rgb: 47, 143, 111;
    --bs-primary-text-emphasis: #1e5c48;
    --bs-primary-bg-subtle: #ddf1e8;
    --bs-primary-border-subtle: #b8e0cf;
    --bs-link-color: #2f8f6f;
    --bs-link-color-rgb: 47, 143, 111;
    --bs-link-hover-color: #246f57;
    --bs-link-hover-color-rgb: 36, 111, 87;
}

body {
    background-color: #f2f7f4;
    color: #33443c;
}

.navbar.navbar-dark {
    background: linear-gradient(90deg, #2f8f6f, #3f9f7e) !important;
    box-shadow: 0 2px 10px rgba(31, 75, 60, 0.15);
}

.navbar .nav-link:hover {
    color: #e8f7f0 !important;
}

.card {
    border: 0 !important;
    border-radius: 0.8rem;
    box-shadow: 0 1px 4px rgba(31, 75, 60, 0.08) !important;
}

.card-header {
    background-color: #fbfdfc !important;
    border-bottom: 1px solid #eaf2ee !important;
}

.btn {
    border-radius: 0.5rem;
}

.table > :not(caption) > * > * {
    border-bottom-color: #e9f0ec;
}

.table thead th {
    color: #2f6b56;
    font-size: 0.85rem;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    background-color: #f6faf8;
}

.alert {
    border-radius: 0.6rem;
}

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

.form-control:focus,
.form-select:focus {
    border-color: #2f8f6f;
    box-shadow: 0 0 0 0.2rem rgba(47, 143, 111, 0.15);
}

.page-login {
    min-height: 100vh;
    background: linear-gradient(135deg, #2f8f6f 0%, #4fae8c 60%, #7dc4a6 100%);
    display: flex;
    align-items: center;
    justify-content: center;
}

footer {
    color: #8aa396 !important;
}