@font-face { font-family: "Inter"; src: url("../fonts/brand/inter-latin.woff2") format("woff2"); font-style: normal; font-weight: 400 700; font-display: swap; }
@font-face { font-family: "Montserrat"; src: url("../fonts/brand/montserrat-latin.woff2") format("woff2"); font-style: normal; font-weight: 500 700; font-display: swap; }

:root {
    --life-primary: #18983a;
    --life-secondary: #0f5923;
    --life-highlight: #ffd863;
    --life-black: #0b0b0b;
    --life-white: #fdfdfd;
    --panel-gold: var(--life-primary);
    --panel-gold-dim: rgba(24, 152, 58, .15);
    --panel-gold-glow: rgba(24, 152, 58, .08);
    --panel-glass-border: rgba(24, 152, 58, .14);
    --panel-border-strong: rgba(24, 152, 58, .24);
    --panel-input-focus-border: rgba(24, 152, 58, .7);
    --panel-input-focus-ring: rgba(24, 152, 58, .16);
    --panel-table-sort-bg: rgba(24, 152, 58, .07);
    --panel-table-sort-hover: rgba(24, 152, 58, .13);
    --panel-font-sans: "Inter", Arial, sans-serif;
}

body, button, input, select, textarea { font-family: var(--panel-font-sans) !important; }
h1, h2, h3, h4, h5, h6, .btn, .nav-link, .menu-item-label { font-family: "Montserrat", var(--panel-font-sans) !important; }
:focus-visible { outline: 2px solid var(--life-primary) !important; outline-offset: 2px; }

.brand-logo img { display: block; width: 100%; max-width: 190px; max-height: 52px; object-fit: contain; margin: 0 auto; }
.panel-sidebar .brand-logo {
    background: linear-gradient(145deg, var(--life-black), #171a18);
    border: 1px solid rgba(24, 152, 58, .32);
    box-shadow: 0 16px 34px rgba(0, 0, 0, .34), 0 0 18px rgba(24, 152, 58, .08);
}
.signin-brand img { display: block; width: 100%; max-width: 240px; height: auto; margin: 0 auto 20px; object-fit: contain; }
.panel-sidebar .brand { padding: 20px 18px 14px; }
.slim-logo img { max-width: 190px; max-height: 38px; object-fit: contain; }

.btn-primary, .page-item.active .page-link, .dataTables_wrapper .dataTables_paginate .paginate_button.current {
    background: var(--life-secondary) !important; border-color: var(--life-secondary) !important; color: var(--life-white) !important;
}
.btn-primary:hover, .btn-primary:focus { background: var(--life-primary) !important; border-color: var(--life-primary) !important; color: var(--life-black) !important; }
.btn-outline-primary { color: #55c874 !important; border-color: var(--life-primary) !important; }
.btn-outline-primary:hover { background: var(--life-primary) !important; color: var(--life-black) !important; }
.form-control:focus, .select2-container--focus .select2-selection, .select2-container--open .select2-selection {
    border-color: var(--life-primary) !important; box-shadow: 0 0 0 3px rgba(24, 152, 58, .16) !important;
}
.panel-sidebar-nav .nav-link:hover, .panel-sidebar-nav .active > .nav-link, .panel-sidebar-nav .active > a { color: #66d482 !important; }
.panel-sidebar-nav .active > .nav-link::before, .panel-sidebar-nav .active > a::before { background: var(--life-primary) !important; }
.badge-primary, .bg-primary, .progress-bar { background-color: var(--life-primary) !important; }
.text-primary { color: #55c874 !important; }
.dropdown-item:active, .dropdown-item.active { background-color: var(--life-secondary) !important; }

@media (max-width: 991.98px) { .brand-logo img { max-width: 155px; } }
