/* Scoped cosmetic control; page colours follow the root's selected color-scheme. */
.zpp-theme-control { position: relative; display: inline-flex; flex: 0 0 auto; width: max-content; max-width: 100%; font: 13px/1.4 -apple-system, BlinkMacSystemFont, "PingFang SC", sans-serif; letter-spacing: normal; }
button.zpp-theme-trigger { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-width: 0; min-height: 34px; height: 34px; width: auto; padding: 0 10px; margin: 0; border: 1px solid light-dark(#e7eaf0, #333945); border-radius: 7px; background: light-dark(#ffffff, #1c2028); color: light-dark(#697180, #a6adbb); box-shadow: none; font: inherit; font-weight: 400; cursor: pointer; transform: none; white-space: nowrap; }
button.zpp-theme-trigger:hover { background: light-dark(#f0f3f7, #252c36); color: light-dark(#202631, #e6e9ee); box-shadow: none; transform: none; }
.zpp-theme-menu { position: absolute; top: calc(100% + 6px); left: 0; z-index: 250; display: grid; gap: 3px; width: 160px; padding: 5px; border: 1px solid light-dark(#e7eaf0, #333945); border-radius: 9px; background: light-dark(#ffffff, #1c2028); box-shadow: 0 5px 18px light-dark(#20263114, #00000040); }
.zpp-theme-menu[hidden] { display: none; }
.zpp-theme-menu button { display: flex; align-items: center; justify-content: space-between; gap: 16px; width: 100%; height: 34px; min-height: 34px; margin: 0; padding: 0 10px; border: 0; border-radius: 5px; background: transparent; color: light-dark(#202631, #e6e9ee); box-shadow: none; font: inherit; font-weight: 400; text-align: left; cursor: pointer; transform: none; }
.zpp-theme-menu button:hover { background: light-dark(#f0f3f7, #252c36); box-shadow: none; transform: none; }
.zpp-theme-menu button[aria-checked="true"] { background: light-dark(#eaf1ff, #273c5c); color: light-dark(#427ce5, #78a6ff); }
.zpp-theme-check { visibility: hidden; }
[aria-checked="true"] > .zpp-theme-check { visibility: visible; }
.zpp-theme-control button:focus-visible { outline: 2px solid light-dark(#427ce5, #78a6ff); outline-offset: 2px; }
.employee-sidebar > .zpp-theme-control, .employee-login-copy > .zpp-theme-control { margin-top: 12px; }
.admin-topbar-copy-row:has(> .zpp-theme-control) { flex-wrap: wrap; }
header.topbar nav:has(> .zpp-theme-control) { flex-wrap: wrap; }

.zpp-theme-sync-status { margin: 4px 6px; color: light-dark(#95601c, #e5b768); font-size: 11px; line-height: 1.5; }
.zpp-theme-sync-status[hidden] { display: none; }
