.cp-language-tile { overflow: visible; }
.cp-language-selector { position: relative; margin: 0; }
.cp-language-toggle { position: relative; display: grid; place-items: center; width: 34px; height: 34px; padding: 0; border: 1px solid transparent; border-radius: 7px; background: transparent; color: #68756f; }
.cp-language-toggle > .mdi { font-size: 21px; line-height: 1; }
.cp-language-toggle [data-cp-language-code] { position: absolute; right: -1px; bottom: -1px; padding: 1px 3px; border: 1px solid #dfe6dc; border-radius: 4px; background: #fff; color: #4e6c3a; font-size: 8px; font-weight: 700; line-height: 1.1; max-width: 38px; overflow: hidden; }
.cp-language-toggle:hover, .cp-language-toggle[aria-expanded="true"] { background: #edf3e9; color: #527f38; border-color: #dae5d3; }
.cp-language-toggle:focus-visible { outline: 2px solid #527f38; outline-offset: 2px; }
.cp-language-selector .cp-language-menu { min-width: 155px; padding: .35rem; border: 1px solid #e1e6dd; border-radius: .5rem; box-shadow: 0 6px 20px #24321c1a; }
.cp-language-selector .dropdown-header { padding: .35rem .6rem; font-size: .72rem; }
.cp-language-selector .dropdown-item { display: flex; align-items: center; justify-content: space-between; gap: 1rem; border-radius: .3rem; font-size: .8rem; padding: .45rem .6rem; }
.cp-language-selector .dropdown-item:not(.active) .mdi-check { visibility: hidden; }
.cp-language-selector .dropdown-item.active { color: #42682c; background: #edf3e9; }
.cp-language-status { position: absolute; right: 0; top: calc(100% + 8px); z-index: 1100; width: max-content; max-width: min(240px, 80vw); padding: .45rem .6rem; border: 1px solid #e1e6dd; border-radius: .35rem; background: #fff; color: #495057; font-size: .75rem; box-shadow: 0 4px 12px #24321c1a; }
.cp-language-status:empty { display: none; }
.cp-service-status { overflow: visible; }
.cp-service-toggle { position: relative; display: grid; place-items: center; width: 34px; height: 34px; padding: 0; border: 1px solid transparent; border-radius: 7px; background: transparent; color: #68756f; }
.cp-service-toggle:hover, .cp-service-toggle[aria-expanded="true"] { background: #edf3e9; border-color: #dae5d3; }
.cp-service-toggle:focus-visible { outline: 2px solid #527f38; outline-offset: 2px; }
.cp-service-count { position: absolute; right: -1px; top: -1px; min-width: 15px; padding: 1px 3px; border-radius: 6px; background: #e5e9e3; color: #586353; font-size: 9px; font-weight: 700; line-height: 1.3; }
.cp-service-online .cp-service-count { background: #527f38; color: #fff; }
.cp-service-status .cp-service-menu { width: min(340px, calc(100vw - 24px)); padding: .4rem; border: 1px solid #e1e6dd; border-radius: .5rem; box-shadow: 0 6px 20px #24321c1a; }
.cp-service-status [data-service-list] { max-height: 300px; overflow-y: auto; }
.cp-service-row { padding: .5rem .6rem; border-top: 1px solid #edf0ea; text-align: start; }
.cp-service-row-heading { display: flex; align-items: baseline; justify-content: space-between; gap: .6rem; }
.cp-service-name { color: #405039; font-size: .8rem; overflow-wrap: anywhere; }
.cp-service-state { color: #7c8478; font-size: .7rem; white-space: nowrap; }
.cp-service-state.is-online { color: #527f38; }
.cp-service-client, .cp-service-last-seen { display: block; color: #778070; font-size: .7rem; overflow-wrap: anywhere; }
.cp-service-hint, .cp-service-empty { margin: .4rem .6rem; color: #778070; font-size: .7rem; text-align: start; }
