:root {
    --khm-blue-900: #0e2a5a;
    --khm-blue-700: #1f4f8d;
    --khm-blue-500: #3f7dc3;
    --khm-gold: #f3cb0a;
    --khm-slate: #e9eef6;
}

body.kh-theme {
    background: radial-gradient(circle at top right, rgba(63, 125, 195, 0.2), transparent 40%), linear-gradient(160deg, #f4f8fc 0%, #e8eef9 100%);
    min-height: 100vh;
}

.kh-navbar {
    background: linear-gradient(90deg, var(--khm-blue-900), var(--khm-blue-700));
    border-bottom: 3px solid var(--khm-gold);
}

.kh-logo {
    height: 44px;
    width: auto;
    object-fit: contain;
}

.kh-brand-title {
    color: #fff;
    font-weight: 700;
    letter-spacing: 0.3px;
}

.kh-card {
    border: 0;
    border-radius: 16px;
    box-shadow: 0 12px 28px rgba(14, 42, 90, 0.12);
    overflow: hidden;
}

.kh-card-head {
    background: linear-gradient(90deg, rgba(63, 125, 195, 0.18), rgba(243, 203, 10, 0.18));
    border-bottom: 1px solid rgba(14, 42, 90, 0.08);
}

.btn-primary {
    background-color: var(--khm-blue-700);
    border-color: var(--khm-blue-700);
}

.btn-primary:hover,
.btn-primary:focus {
    background-color: var(--khm-blue-900);
    border-color: var(--khm-blue-900);
}

.btn-outline-light:hover {
    color: var(--khm-blue-900);
}

.kh-accent {
    color: var(--khm-blue-700);
}

.kh-gold {
    color: #9a7b00;
}

.table thead th {
    background: #edf3fb;
    color: var(--khm-blue-900);
}
