/* Shared controls adapted from Uiverse: anandita-3217 (switch), 00Kubi (checkbox). */
:root {
  --pc-accent: var(--red);
  --pc-glow: color-mix(in srgb, var(--pc-accent) 24%, transparent);
  --pc-active-surface: color-mix(in srgb, var(--pc-accent) 10%, var(--surface));
  --pc-day: #2185d6; --pc-night: #28096b; --pc-sun: #fdf906; --pc-cloud: #fff;
  --pc-admin-header-height: 68px;
}
body .pc-old-decoration { display:none!important; }
body .pc-check,body .pc-check span { margin:0!important;padding:0!important;border:0!important;box-shadow:none!important;border-radius:0!important;transform:none!important; }
body .pc-check::before,body .pc-check::after,body .pc-check span::before,body .pc-check span::after { content:none!important; }
body .pc-control-host { display:inline-flex;width:26px;min-width:26px;height:26px;flex:none;vertical-align:middle; }
body .pc-check { display:inline-flex;position:relative;width:24px;height:24px;flex:0 0 24px;vertical-align:middle;overflow:visible;isolation:isolate; }
body .pc-check input[type=checkbox] { display:block!important;position:absolute!important;inset:0!important;width:100%!important;height:100%!important;opacity:0!important;margin:0!important;padding:0!important;cursor:pointer;z-index:2;transform:none!important; }
body .pc-check input::after,body .pc-check input::before { content:none!important; }
body .pc-check-frame { display:block;position:absolute;inset:0;width:100%;height:100%;background:transparent!important;pointer-events:none; }
body .pc-check .pc-check-box { display:block;position:absolute;inset:1px;width:auto!important;height:auto!important;border:2px solid color-mix(in srgb,var(--pc-accent) 58%,var(--line))!important;border-radius:4px!important;background:var(--surface)!important;transition:background .2s,border-color .2s; }
body .pc-check-box svg { width:100%;height:100%;fill:none;stroke:var(--pc-accent);stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round; }
body .pc-check-mark { stroke-dasharray:30;stroke-dashoffset:30;transition:stroke-dashoffset .25s; }
body .pc-check-mixed { display:none; }
body .pc-check-glow { position:absolute;inset:-2px;width:auto;height:auto;background:var(--pc-glow);filter:blur(4px);border-radius:5px;opacity:0;transition:opacity .2s; }
body .pc-check input:checked ~ .pc-check-frame .pc-check-box,body .pc-check input:indeterminate ~ .pc-check-frame .pc-check-box { background:var(--pc-active-surface)!important;border-color:var(--pc-accent)!important; }
body .pc-check input:checked ~ .pc-check-frame .pc-check-mark { stroke-dashoffset:0; }
body .pc-check input:indeterminate ~ .pc-check-frame .pc-check-mark { display:none; }
body .pc-check input:indeterminate ~ .pc-check-frame .pc-check-mixed { display:block; }
body .pc-check input:checked ~ .pc-check-frame .pc-check-glow { opacity:1; }
body .pc-check input:focus-visible ~ .pc-check-frame { outline:2px solid var(--pc-accent);outline-offset:3px;border-radius:5px; }
body .pc-check input:disabled { cursor:not-allowed; }
body .pc-check input:disabled ~ .pc-check-frame { opacity:.4; }
body .pc-check-sparks { position:absolute;inset:0;width:100%;height:100%;background:transparent;overflow:visible; }
body .pc-check-sparks i { position:absolute;inset:50% auto auto 50%;width:3px;height:3px;background:var(--pc-accent);border-radius:50%;opacity:0;--pc-x:8px;--pc-y:8px; }
body .pc-check-sparks i:nth-child(2) { --pc-x:-8px; }
body .pc-check-sparks i:nth-child(3) { --pc-y:-8px; }
body .pc-check-sparks i:nth-child(4) { --pc-x:-8px;--pc-y:-8px; }
body .pc-check input:checked ~ .pc-check-frame .pc-check-sparks i { animation:pc-spark .45s ease-out both; }
@keyframes pc-spark { 20%{opacity:.8}100%{opacity:0;transform:translate(var(--pc-x),var(--pc-y)) scale(.3)} }
body button.pc-theme { display:inline-flex;position:relative;width:54px!important;min-width:54px;height:32px!important;padding:0!important;border:0!important;border-radius:20px!important;background:transparent!important;flex:none;cursor:pointer; }
body .pc-theme-track { display:block;position:absolute;inset:0;border-radius:20px;background:var(--pc-day);overflow:hidden;transition:background .3s; }
body .pc-theme-orb { position:absolute;left:5px;top:5px;width:22px;height:22px;border-radius:50%;background:var(--pc-sun);transition:transform .3s,background .3s,box-shadow .3s;z-index:1; }
body .pc-theme-sky { position:absolute;left:39px;top:9px;width:8px;height:8px;border-radius:50%;background:var(--pc-cloud);box-shadow:-7px 1px 0 1px var(--pc-cloud),-3px 10px 0 -1px var(--pc-cloud);transition:all .3s; }
body .pc-theme[aria-checked=true] .pc-theme-track { background:var(--pc-night); }
body .pc-theme[aria-checked=true] .pc-theme-orb { transform:translateX(22px);background:transparent;box-shadow:inset 7px -3px 0 0 var(--pc-cloud); }
body .pc-theme[aria-checked=true] .pc-theme-sky { left:10px;top:8px;width:2px;height:2px;box-shadow:8px 6px 0 var(--pc-cloud),2px 14px 0 var(--pc-cloud),13px -1px 0 var(--pc-cloud); }
body .pc-theme:focus-visible { outline:2px solid var(--pc-accent);outline-offset:3px; }
body.app-admin .adm-top { position:fixed!important;inset:0 0 auto!important;width:100%;z-index:1180;overflow:visible; }
body.app-admin .adm-shell { padding-top:var(--pc-admin-header-height)!important; }
body.app-admin .adm-top::after { display:none!important; }
body .pc-notifications { width:350px;max-width:calc(100vw - 24px);padding:8px;max-height:calc(100dvh - var(--pc-admin-header-height) - 16px);overflow:auto; }
body .pc-notifications .adm-menu-head { padding:10px 8px 14px;display:flex;justify-content:space-between;align-items:center; }
body .pc-notifications .adm-menu-row { border-radius:6px;padding:12px 10px;gap:12px; }
body .pc-notifications .adm-menu-row > span { display:flex;align-items:center;gap:10px;min-width:0; }
body .pc-notifications .adm-menu-row [hidden] { display:none!important; }
body .pc-notifications .adm-menu-row[hidden] { display:none!important; }
body .pc-notifications [data-pulse-empty][hidden] { display:none!important; }
body .pc-notifications .adm-sound-row { margin-top:8px;border-top:1px solid var(--line);border-radius:0;padding-top:14px; }
body .pc-notifications .adm-menu-empty { padding:24px 10px;text-align:center;color:var(--muted); }
body .pc-notifications .adm-live[data-state=error] { background:var(--red); }
body .pc-page-name { display:block;min-width:0;font-size:1rem;font-weight:700;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
body.app-user .pc-page-heading { min-width:0;flex:1; }
@media(min-width:1024px) { body.app-user .topbar .tb-brand { display:none; } body.app-user .topbar .tools { flex:none; } body.app-user .pc-page-heading { direction:rtl;text-align:right; } }
@media(max-width:1023px) { body .pc-page-name { display:none; } }
@media(max-width:620px) { body.app-admin .pc-notifications { position:fixed!important;inset:auto 12px auto!important;top:calc(var(--pc-admin-header-height) + 8px)!important;width:auto!important;max-width:none; } }
@media(prefers-reduced-motion:reduce) { body .pc-check *,body .pc-theme * { animation:none!important;transition:none!important; } }