:root {
    --brand-primary: #0b6e4f;
    --brand-primary-dark: #084c38;
    --brand-accent: #d4a017;
    --brand-surface: #f5fbf8;
    --brand-text: #1f2937;
    --brand-font: "Noto Sans Lao", "Noto Sans", sans-serif;
}

html,
body,
button,
input,
select,
textarea,
.btn,
.navbar,
.side-navbar,
.card,
.table,
.dropdown-menu,
.form-control,
.bootstrap-select .dropdown-toggle,
.select2-container,
.modal-content,
.main-footer,
.badge,
.nav-link,
.side-menu li a,
.login-page,
.login-page .form-inner,
.login-page .copyrights,
.page,
.swal2-popup {
    font-family: var(--brand-font);
}

body {
    color: var(--brand-text);
}

nav.navbar {
    background: linear-gradient(135deg, var(--brand-primary-dark), var(--brand-primary));
}

nav.navbar a,
nav.navbar .btn-link,
.side-navbar .side-menu li a,
.side-navbar .side-menu li span,
.header .nav-link,
.header .dropdown-item,
.menu-btn {
    color: #fff;
}

.side-navbar {
    background: linear-gradient(180deg, var(--brand-primary-dark), #0d5c44);
}

.side-navbar .side-menu li.active > a,
.side-navbar .side-menu li a:hover,
.side-navbar .side-menu li a:focus {
    background: rgba(255, 255, 255, 0.12);
    border-left: 4px solid var(--brand-accent);
}

.btn-primary,
.page-item.active .page-link {
    background-color: var(--brand-primary);
    border-color: var(--brand-primary);
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary:not(:disabled):not(.disabled):active {
    background-color: var(--brand-primary-dark);
    border-color: var(--brand-primary-dark);
}

.card,
.modal-content {
    border-radius: 14px;
    overflow: hidden;
}

.card-header {
    background: var(--brand-surface);
    border-bottom: 1px solid rgba(11, 110, 79, 0.12);
}

.main-footer {
    background: var(--brand-surface);
}

.login-page {
    background:
        radial-gradient(circle at top right, rgba(212, 160, 23, 0.15), transparent 32%),
        linear-gradient(160deg, #f5fbf8 0%, #edf7f1 45%, #e3f1eb 100%);
}

.login-page .form-outer {
    box-shadow: 0 24px 64px rgba(8, 76, 56, 0.16);
    border-radius: 24px;
}

.login-page .logo span,
.login-page a.forgot-pass,
.login-page a.signup {
    color: var(--brand-primary);
}

.brand-wordmark {
    display: flex;
    align-items: center;
    gap: 12px;
}

.brand-wordmark__title {
    display: flex;
    flex-direction: column;
    line-height: 1.15;
}

.brand-wordmark__name {
    font-size: 1rem;
    font-weight: 700;
    letter-spacing: 0.02em;
}

.brand-wordmark__tagline {
    font-size: 0.78rem;
    opacity: 0.82;
}

.currency-preset-note {
    margin-top: 6px;
    color: #607081;
    font-size: 0.85rem;
}

@media (max-width: 767.98px) {
    .brand-wordmark__tagline {
        display: none;
    }
}
