/* Shared locale layer. System Khmer fonts only: no network/font service dependency. */
html:lang(km) body,
html:lang(km) button,
html:lang(km) input,
html:lang(km) select,
html:lang(km) textarea,
[lang="km"] {
    font-family: "Noto Sans Khmer", "Khmer OS System", "Khmer OS", sans-serif;
}
html:lang(km) body { line-height: 1.8; }
html:lang(km) .login-eyebrow,
html:lang(km) .login-workflow,
html:lang(km) .login-intro h1,
html:lang(km) .login-box h2,
html:lang(km) .admin-header-title span,
html:lang(km) .sidebar-menu > li.header { letter-spacing: normal; line-height: 1.8; }
html:lang(km) .sidebar-menu > li > a > span { white-space: normal; }
html:lang(km) .admin-context { height: auto; min-height: 48px; padding-top: 8px; padding-bottom: 8px; flex-wrap: wrap; }
html:lang(km) .admin-context strong { white-space: normal; overflow: visible; }
html:lang(km) .admin-context a { white-space: normal; }
html:lang(km) .admin-dashboard .admin-kicker,
html:lang(km) .admin-dashboard h1,
html:lang(km) .admin-dashboard h2 { letter-spacing: normal; line-height: 1.8; }
html:lang(km) .admin-dashboard .btn { white-space: normal; line-height: 1.8; }
html:lang(km) .admin-dashboard .admin-page-heading,
html:lang(km) .admin-dashboard .admin-panel-header { flex-wrap: wrap; }
.kps-admin-shell .navbar-nav a[aria-current="true"] { font-weight: 700; text-decoration: underline; text-underline-offset: 5px; }
.login-header { flex-wrap: wrap; }
.login-languages { flex-wrap: wrap; }
@media (max-width: 767px) {
    .kps-admin-shell .main-header .navbar .nav > li > a { padding-left: 7px; padding-right: 7px; }
}
