:root {
    --g-dark: #0b1f17;
    --g-main: #0f2b1f;
    --g-accent: #1f6f4a;
}

body {
    font-family: "Noto Sans Thai", sans-serif;
    background: #f6f8f7;
    color: #0f172a;
}

/* Topbar */
.topbar {
    background: linear-gradient(90deg, #0b1f17, #15402d);
    color: #eaf7ef;
    padding: 8px 0;
}

.topbar-link {
    color: #eaf7ef;
    opacity: .9;
}

/* Navbar */
.nav-academic {
    background: rgba(11, 31, 23, .95);
    backdrop-filter: blur(8px);
}

.navbar-brand {
    font-family: "Merriweather", serif;
    letter-spacing: .4px;
}

/* Button */
.btn-cta {
    background: linear-gradient(180deg, #2b8a5d, var(--g-accent));
    color: #fff;
    font-weight: 700;
    border: none;
}

/* user pill + menu + logout */
.user-pill {
    background: rgba(255, 255, 255, 0.15);
    color: #eaf7ef;
    padding: 6px 10px;
    border-radius: 999px;
    font-size: 0.85rem;
    white-space: nowrap;
    border: 1px solid rgba(255, 255, 255, 0.25);
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.user-pill .name {
    padding: 0 6px;
    opacity: .95;
}

.user-pill .divider {
    width: 1px;
    height: 18px;
    background: rgba(255, 255, 255, 0.25);
}

.btn-mini {
    border: none;
    border-radius: 999px;
    padding: 4px 10px;
    font-weight: 700;
    font-size: .82rem;
    line-height: 1.2;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.btn-menu {
    background: rgba(255, 255, 255, 0.18);
    color: #eaf7ef !important;
}

.btn-menu:hover {
    filter: brightness(1.08);
}

.btn-logout {
    background: linear-gradient(180deg, #c0392b, #a93226);
    color: #fff !important;
}

.btn-logout:hover {
    filter: brightness(1.05);
}