    :root {
        --brand: #198754;
        --brand-dark: #145214;
        --muted: #6c757d;
        --bg: #f4f6f5;
    }

    html,
    body {
        height: 100%;
        font-family: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial;
        background-size: cover;
        background-position: center;
        margin: 0;
        color: #222;
    }

    /* center container */
    .login-root {
        min-height: 100%;
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 48px 20px;
        backdrop-filter: blur(2px);
    }

    .login-card {
        width: 100%;
        max-width: 420px;
        background: #fff;
        border-radius: 10px;
        box-shadow: 0 10px 30px rgba(18, 38, 21, 0.08);
        padding: 28px;
        border: 1px solid rgba(31, 93, 46, 0.05);
    }

    .login-logo {
        height: 72px;
        width: auto;
        display: block;
        margin: 0 auto 12px;
    }

    .login-title {
        text-align: center;
        margin-bottom: 14px;
        font-weight: 700;
        color: #0f4f16;
        letter-spacing: .2px;
    }

    .lead-sub {
        text-align: center;
        margin-bottom: 18px;
        color: var(--muted);
        font-size: 0.94rem;
    }

    .form-control {
        height: 48px;
        padding-left: 44px;
    }

    .input-icon {
        position: absolute;
        left: 12px;
        top: 50%;
        transform: translateY(-50%);
        color: #8aa999;
        font-size: 1.06rem;
        pointer-events: none;
    }

    .field-wrap {
        position: relative;
    }

    .btn-primary {
        background: var(--brand);
        border-color: var(--brand);
    }

    .btn-primary:focus {
        box-shadow: 0 0 0 0.15rem rgba(25, 135, 84, 0.18);
    }

    .small-link {
        color: var(--brand);
        text-decoration: none;
    }

    .small-link:hover {
        text-decoration: underline;
    }

    .helper-row {
        display: flex;
        align-items: center;
        justify-content: space-between;
        margin-top: 8px;
        margin-bottom: 14px;
        font-size: .92rem;
    }

    .footer-note {
        text-align: center;
        margin-top: 18px;
        font-size: 0.85rem;
        color: #8b9a8b;
    }

    @media (max-width:480px) {
        .login-card {
            padding: 18px;
            max-width: 92%;
        }

        .login-logo {
            height: 64px;
        }
    }



    .admin-topbar {
        background: linear-gradient(180deg, rgba(25, 135, 84, 0.06), transparent);
        border-bottom: 1px solid rgba(0, 0, 0, 0.04);
        
    }

    .admin-topbar .navbar {
        padding: .5rem 1rem;
    }

    .brand-title {
        font-weight: 700;
        color: var(--brand-dark);
        letter-spacing: .3px;
    }

    .sidebar {
        background: #fff;
        min-height: 100vh;
        border-right: 1px solid rgba(0, 0, 0, 0.04);
        padding-top: 1rem;
        
    }

    .sidebar .nav-link {
        color: #233;
        padding: .65rem 1rem;
    }

    .sidebar .nav-link.active {
        background: linear-gradient(90deg, rgba(25, 135, 84, 0.06), transparent);
        color: var(--brand-dark);
        font-weight: 600;
        border-left: 3px solid var(--brand);
    }

    .sidebar .nav-section {
        font-size: .85rem;
        color: var(--muted);
        padding: .5rem 1rem;
        text-transform: uppercase;
        letter-spacing: .6px;
    }

    .content-area {
        padding: 1.25rem;
        min-height: calc(100vh - 64px);
    }

    /* account for header */
    .topbar-actions .btn {
        margin-left: .45rem;
    }

    .avatar-sm {
        width: 36px;
        height: 36px;
        border-radius: 6px;
        background: #e9f4ec;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        color: var(--brand);
        font-weight: 700;
    }

    @media (max-width: 991px) {
        .sidebar {
            position: fixed;
            z-index: 1035;
            left: -280px;
            top: 0;
            width: 280px;
            height: 100%;
            transition: left .22s ease;
            box-shadow: 0 6px 26px rgba(0, 0, 0, .12);
        }

        .sidebar.open {
            left: 0;
        }

        .content-area {
            padding-top: 1rem;
        }
    }
    /* Sidebar typography adjustments */
.sidebar .nav-link {
  color: #183a23;           /* darker green for nav text */
  font-weight: 600;         /* semibold for emphasis */
  letter-spacing: .2px;
}

.sidebar .nav-link i {
  color: #198754;           /* icon color */
}

.sidebar .nav-section {
  color: #0f4f16;           /* section heading color */
  font-weight: 700;         /* bold section headings */
  font-size: .78rem;
  text-transform: uppercase;
  letter-spacing: .6px;
}

/* Small muted description under sidebar links (if you add them) */
.sidebar .nav-link .help {
  display:block;
  font-size: .82rem;
  color: #6a7d6a;
  font-weight: 500;
}


