/* Whale Admin / Single visual design entry point.
 * Sections: background picker, navigation rail, glass surfaces, contrast,
 * broadcast, unified interactions. Structural layout: admin.css.
 * Preferences: admin-glass-settings.js -> CSS custom properties below.
 * Built by build-modern-theme.py; edit tokens in admin-neutral-interactions.css.
 */

/* ===== BACKGROUND_PICKER ===== */
/* Background picker. Image is a browser-local preference; admin-only control. */
.admin-body .admin-bg-trigger{
 position:fixed;right:18px;bottom:18px;z-index:64;
 display:flex;align-items:center;gap:8px;min-height:43px;
 border:1px solid rgba(239,249,255,.32);border-radius:999px;
 padding:9px 16px;color:#f4fafc;background:rgba(var(--admin-glass-rgb),.86);
 box-shadow:0 12px 36px rgba(15,9,7,.25);
 backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);
 font-size:12px;font-weight:850;cursor:pointer;
}
.admin-body .admin-bg-trigger:hover{background:rgba(var(--admin-glass-rgb),.94)}
/* Nonmodal popover anchored over the bottom-right settings trigger.
   No full-screen dimming or scroll blocking. */
.admin-body .admin-bg-dialog{
 position:fixed;inset:0;z-index:210;display:none;
 pointer-events:none;padding:0;
 background:transparent!important;
 backdrop-filter:none!important;-webkit-backdrop-filter:none!important;
}
.admin-body .admin-bg-dialog.is-open{display:block}
.admin-body .admin-bg-panel{
 position:absolute;right:16px;bottom:74px;
 width:min(380px,calc(100vw - 24px));
 max-height:calc(100dvh - 100px);
 overflow-y:auto;overscroll-behavior:contain;
 pointer-events:auto;
 padding:19px;border:1px solid var(--admin-glass-border,rgba(255,255,255,.28));
 border-radius:19px;
 color:var(--ui-text,#f6f6f6);
 background:rgba(var(--admin-glass-rgb),.96);
 box-shadow:none!important;
}
.admin-body .admin-bg-panel h2{font-size:19px;margin-right:34px}
.admin-body .admin-bg-panel p{line-height:1.5}
.admin-body .admin-bg-panel label{margin-top:11px}
.admin-body .admin-glass-control{margin-top:7px}
.admin-body .admin-bg-panel input[type="url"],
.admin-body .admin-bg-panel input[type="file"]{padding:9px}
.admin-body .admin-bg-actions{margin-top:11px;gap:7px}
.admin-body .admin-bg-actions button{padding:9px 11px}
@media(max-width:760px){
 .admin-body .admin-bg-panel{
  right:10px;bottom:68px;width:min(360px,calc(100vw - 20px));
  max-height:calc(100dvh - 87px);padding:16px;
 }
}
.admin-body .admin-bg-panel h2{font-size:21px;margin:0 40px 8px 0}
.admin-body .admin-bg-panel p{font-size:12px;line-height:1.5;color:#d1e0e8}
.admin-body .admin-bg-panel label{display:block;margin:17px 0 7px;font-weight:800;font-size:12px}
.admin-body .admin-bg-panel input[type="url"],
.admin-body .admin-bg-panel input[type="file"]{
 width:100%;border:1px solid rgba(238,249,255,.27);border-radius:11px;
 color:#f2f8fa;background:rgba(var(--admin-glass-rgb),.55);padding:11px;font:inherit;font-size:13px;
}
.admin-body .admin-bg-panel input[type="file"]{font-size:11px}
.admin-body .admin-bg-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:17px}
.admin-body .admin-bg-actions button,.admin-body .admin-bg-close{
 border:1px solid rgba(238,248,255,.27);border-radius:11px;
 color:#eef7fb;background:rgba(var(--admin-glass-rgb),.65);padding:10px 13px;
 font:800 12px "Onest",system-ui;cursor:pointer;
}
.admin-body .admin-bg-actions button:first-child{background:var(--admin-accent);color:#20313b}
.admin-body .admin-bg-close{position:absolute;top:14px;right:14px;padding:5px 12px;font-size:20px}
.admin-body #adminBgStatus{min-height:18px;font-size:12px;margin-top:9px;color:var(--admin-accent)}
.admin-body.has-custom-background{
 background-image:linear-gradient(105deg,rgba(0,0,0,.20),rgba(0,0,0,.12)),var(--admin-custom-bg)!important;
 background-size:cover!important;background-position:center center!important;
 background-attachment:fixed!important;
}
@media(max-width:760px){
 .admin-body .admin-bg-trigger{right:12px;bottom:12px;padding:11px 13px;font-size:11px}
}


/* ===== ICON_RAIL ===== */
/* Floating icon rail / 2026-11-08. Admin-only; actions stay unchanged. */
@media(min-width:761px){
 body.admin-body #adminApp.admin-app{grid-template-columns:108px minmax(0,1fr)!important}
 body.admin-body .admin-sidebar{
  position:fixed!important;top:20px!important;left:19px!important;bottom:20px!important;
  width:70px!important;max-width:70px!important;height:calc(100dvh - 40px)!important;
  z-index:65;border:1px solid rgba(239,248,254,.27)!important;
  border-radius:35px!important;padding:11px 7px 12px!important;
  background:rgba(var(--admin-glass-rgb),.58)!important;
  box-shadow:0 18px 54px rgba(12,8,7,.33),inset 0 1px rgba(255,255,255,.14)!important;
  backdrop-filter:blur(26px) saturate(125%);-webkit-backdrop-filter:blur(26px) saturate(125%);
  transition:none!important;overflow:hidden!important;
 }
 body.admin-body .admin-sidebar:hover,body.admin-body .admin-sidebar:focus-within{
  width:70px!important;max-width:70px!important;transition:none!important;
  box-shadow:0 18px 54px rgba(12,8,7,.33),inset 0 1px rgba(255,255,255,.14)!important;
 }
}
body.admin-body .admin-brand{
 height:59px!important;min-height:59px!important;display:flex!important;
 align-items:center!important;justify-content:center!important;
 padding:0!important;margin:0 1px 5px!important;gap:0!important;
 border-bottom:1px solid rgba(245,250,255,.18)!important
}
body.admin-body .admin-brand img{
 flex:0 0 43px!important;width:43px!important;height:43px!important;
 border:1px solid rgba(240,248,255,.25);border-radius:50%;
 background:radial-gradient(circle at 32% 28%,rgba(224,239,247,.20),rgba(36,47,57,.50));
 padding:6px;filter:drop-shadow(0 3px 8px rgba(203,220,230,.13));
 transition:transform .24s ease
}
body.admin-body .admin-brand:hover img{transform:scale(1.07)}
body.admin-body .admin-brand>div,body.admin-body .admin-sidebar:hover .admin-brand>div,
body.admin-body .admin-sidebar:focus-within .admin-brand>div{display:none!important}
body.admin-body .admin-nav{
 padding:6px 0 4px!important;display:flex!important;flex:1 1 auto;
 flex-direction:column;align-items:center!important;
 overflow-y:auto!important;overflow-x:hidden!important;gap:5px!important;scrollbar-width:none
}
body.admin-body .admin-nav::-webkit-scrollbar{display:none}
body.admin-body .admin-nav>p{
 flex:0 0 12px!important;width:33px!important;height:12px!important;display:flex!important;
 align-items:center;justify-content:center;overflow:hidden;margin:3px auto!important;
 color:transparent!important;font-size:0!important;opacity:1!important;white-space:nowrap;pointer-events:none
}
body.admin-body .admin-nav>p::before{
 content:"";display:block;width:24px;height:1px;background:rgba(243,250,255,.24)
}
body.admin-body .admin-nav-item{
 display:flex!important;align-items:center!important;justify-content:center!important;
 flex:0 0 46px!important;width:46px!important;height:46px!important;
 min-height:46px!important;max-width:46px!important;
 padding:0!important;margin:0 auto!important;gap:0!important;
 border-radius:17px!important;border:1px solid transparent!important;
 color:#eaf3f7!important;background:transparent!important;transform:none!important;
 transition:background .24s ease,border-color .24s ease,color .24s ease!important
}
body.admin-body .admin-nav-item>span{
 display:grid!important;place-items:center!important;
 flex:0 0 39px!important;width:39px!important;height:39px!important;min-width:39px!important;
 padding:0!important;background:transparent!important;border:0!important;
 border-radius:14px!important;color:inherit!important;font-size:17px!important
}
body.admin-body .admin-nav-item>span svg,body.admin-body .admin-sidebar-bottom svg{
 width:19px;height:19px;stroke:currentColor;stroke-width:1.9;fill:none;
 stroke-linejoin:round;stroke-linecap:round
}
body.admin-body .admin-nav-item>b,body.admin-body .admin-nav-item>em,
body.admin-body .admin-sidebar:hover .admin-nav-item>b,
body.admin-body .admin-sidebar:focus-within .admin-nav-item>b,
body.admin-body .admin-sidebar:hover .admin-nav-item>em,
body.admin-body .admin-sidebar:focus-within .admin-nav-item>em{display:none!important}
body.admin-body .admin-nav-item:hover,body.admin-body .admin-nav-item:focus-visible{
 background:rgba(233,244,250,.14)!important;border-color:rgba(244,251,255,.20)!important;
 color:#f8fbfd!important;transform:none!important
}
body.admin-body .admin-nav-item.is-active{
 color:#f8fbfd!important;border-color:rgba(237,247,252,.31)!important;
 background:linear-gradient(140deg,rgba(227,243,251,.14),rgba(99,121,136,.10))!important;
 box-shadow:inset 0 1px rgba(255,255,255,.12),0 6px 18px rgba(9,18,25,.14)!important
}
body.admin-body .admin-nav-item.is-active>span{color:#f8fbfd!important}
body.admin-body .admin-sidebar-bottom{
 flex:0 0 auto;display:flex!important;flex-direction:column;align-items:center!important;
 gap:5px!important;margin:5px 0 0!important;padding:12px 0 2px!important;
 width:100%!important;border-top:1px solid rgba(249,252,255,.24)!important;overflow:visible!important
}
body.admin-body .admin-sidebar-bottom :is(a,button){
 display:flex!important;align-items:center!important;justify-content:center!important;
 flex:0 0 42px;width:42px!important;height:42px!important;min-height:42px!important;
 margin:0!important;padding:0!important;font-size:0!important;
 border:1px solid transparent!important;border-radius:14px!important;
 background:rgba(237,248,255,.07)!important;color:#f2f8fc!important;
 line-height:0;overflow:visible!important;transform:none!important;
 transition:background .22s ease,border-color .22s ease!important
}
body.admin-body .admin-sidebar-bottom :is(a,button):hover{
 background:rgba(238,247,255,.17)!important;border-color:rgba(245,251,255,.21)!important
}
body.admin-body .admin-sidebar-bottom :is(a,button)::before{content:none!important;display:none!important}
body.admin-body .admin-sidebar-bottom :is(a,button)::after{content:none}
body.admin-body .admin-sidebar-bottom a[href="/account/"]{
 order:3;border-radius:50%!important;width:43px!important;height:43px!important;
 background:rgba(242,249,253,.88)!important;color:#435766!important;
 border-color:rgba(255,255,255,.55)!important;position:relative
}
body.admin-body .admin-sidebar-bottom a[href="/account/"]::after{
 content:"";display:block;width:9px;height:9px;position:absolute;
 right:-2px;bottom:1px;border:2px solid #778b98;border-radius:50%;background:#70d6a2
}
body.admin-body .admin-sidebar-bottom a[href="/"]{order:1}
body.admin-body #adminLogout{order:2}
body.admin-body .admin-rail-tooltip{
 position:fixed;z-index:1000;pointer-events:none;opacity:0;visibility:hidden;
 transform:translateX(-5px) scale(.97);padding:8px 12px;
 border:1px solid rgba(239,248,255,.28);border-radius:11px;
 background:rgba(var(--admin-glass-rgb),.94);color:#f6fbfd;
 font:800 12px/1.2 "Onest",system-ui,sans-serif;
 box-shadow:0 11px 30px rgba(0,0,0,.31);white-space:nowrap;
 transition:opacity .14s ease,transform .14s ease,visibility .14s ease
}
body.admin-body .admin-rail-tooltip.is-visible{
 opacity:1;visibility:visible;transform:translateX(0) scale(1)
}
@media(max-height:660px) and (min-width:761px){
 body.admin-body .admin-sidebar{
  top:10px!important;bottom:10px!important;height:calc(100dvh - 20px)!important
 }
 body.admin-body .admin-nav{gap:1px!important}
 body.admin-body .admin-nav-item{
  flex-basis:38px!important;height:38px!important;min-height:38px!important
 }
 body.admin-body .admin-nav-item>span{height:35px!important}
 body.admin-body .admin-brand{height:51px!important;min-height:51px!important}
 body.admin-body .admin-sidebar-bottom :is(a,button){
  height:36px!important;min-height:36px!important;flex-basis:36px
 }
}
@media(max-width:760px){
 body.admin-body .admin-app{display:block!important;grid-template-columns:1fr!important}
 body.admin-body .admin-sidebar{
  position:fixed!important;top:12px!important;left:-96px!important;bottom:12px!important;
  height:calc(100dvh - 24px)!important;width:70px!important;max-width:70px!important;
  z-index:90!important;border-radius:35px!important;padding:10px 7px!important;
  background:rgba(var(--admin-glass-rgb),.88)!important;
  border:1px solid rgba(246,251,255,.30)!important;
  box-shadow:0 14px 40px rgba(8,16,23,.34);
  overflow:hidden!important;transition:left .25s ease!important
 }
 body.admin-body .admin-app.menu-open .admin-sidebar{left:12px!important}
 body.admin-body .admin-sidebar:hover,body.admin-body .admin-sidebar:focus-within{
  width:70px!important;max-width:70px!important
 }
 body.admin-body .admin-sidebar .admin-brand>div,
 body.admin-body .admin-sidebar .admin-nav-item>b,
 body.admin-body .admin-sidebar .admin-nav-item>em{display:none!important}
 body.admin-body .admin-sidebar .admin-nav>p{opacity:1!important}
 body.admin-body .admin-sidebar .admin-sidebar-bottom a,
 body.admin-body .admin-sidebar .admin-sidebar-bottom button{font-size:0!important}
}
@media(prefers-reduced-motion:reduce){
 body.admin-body .admin-rail-tooltip,body.admin-body .admin-nav-item{transition:none!important}
}
/* Fixed rail is removed from grid flow: explicitly place content in track two. */
@media(min-width:761px){
  body.admin-body #adminApp.admin-app>.admin-main{
    grid-column:2 / 3!important;
    min-width:0!important;
    width:100%!important;
  }
}


/* ===== DESIGN_TOKENS ===== */
/* Neutral Apple-like glass, admin only. All controls are browser-local. */
body.admin-body{
 --admin-panel-opacity:.44;--admin-card-blur:24px;--admin-background-blur:0px;
 --admin-glass-rgb:70,70,70;
 --admin-glass-surface:rgba(var(--admin-glass-rgb),var(--admin-panel-opacity));
 --admin-chart-grid:rgba(255,255,255,.16);
 --admin-chart-label:#dedede;
 --admin-accent:#eeeeee;--a-bg:#181818;--a-side:rgba(65,65,65,.48);
 --a-panel:var(--admin-glass-surface);--a-panel2:rgba(var(--admin-glass-rgb),.50);
 --a-line:rgba(231,243,252,.18);--a-text:#f4f7f9;
 --a-muted:#c7d1d7;--a-dim:#98a6ae;--a-blue:var(--admin-accent);
 --a-blue2:var(--admin-accent);
 --glass-border:rgba(238,247,254,.24);
 --glass-shadow:none;
 color:#f4f4f4;background:#191919!important;
 background-image:linear-gradient(125deg,#202020,#383838 55%,#242424)!important;
}
body.admin-body::before{
 content:"";position:fixed;inset:-48px;pointer-events:none;z-index:0;
 background-image:var(--admin-glass-background,
 radial-gradient(circle at 80% 20%,rgba(180,180,180,.20),transparent 42%),
 linear-gradient(125deg,#202020,#414141,#292929))!important;
 background-position:center!important;background-size:cover!important;
 opacity:1!important;filter:blur(var(--admin-background-blur))!important;
 transition:filter .18s ease;
}
body.admin-body::after{
 content:"";position:fixed;inset:0;z-index:0;pointer-events:none;
 background:linear-gradient(110deg,rgba(0,0,0,.24),rgba(0,0,0,.14));
}
body.admin-body.has-custom-background{background-image:linear-gradient(125deg,#242424,#353535)!important}
body.admin-body .admin-app{position:relative;z-index:1}
body.admin-body .admin-bg-dialog{z-index:9999!important}
body.admin-body .admin-bg-panel{
 max-height:calc(100dvh - 36px);overflow-y:auto;
 background:rgba(var(--admin-glass-rgb),.94)!important;
 border-color:rgba(235,246,252,.27)!important;
 backdrop-filter:blur(32px)!important;-webkit-backdrop-filter:blur(32px)!important;
}
body.admin-body .admin-bg-trigger{
 background:rgba(var(--admin-glass-rgb),.78)!important;color:#f4f8fa!important;
 border-color:rgba(233,246,253,.30)!important;
}
body.admin-body .admin-bg-panel input[type="file"],
body.admin-body .admin-bg-panel input[type="url"]{
 background:rgba(var(--admin-glass-rgb),.60)!important;
 border-color:rgba(232,245,252,.25)!important;
}
body.admin-body .admin-bg-actions button:first-child{
 background:var(--admin-accent)!important;color:#14212a!important;
}
body.admin-body #adminBgStatus{color:var(--admin-accent)}
body.admin-body .admin-glass-control{display:grid;gap:6px;margin-top:12px}
body.admin-body .admin-glass-control>div{
 display:flex;align-items:center;justify-content:space-between;gap:12px;
}
body.admin-body .admin-glass-control label{margin:0!important;color:#e9f0f4}
body.admin-body .admin-glass-control output{
 color:#c3d2da;font-size:12px;font-weight:800;font-variant-numeric:tabular-nums
}
body.admin-body .admin-glass-control input[type="range"]{
 width:100%;margin:5px 0;cursor:pointer;accent-color:var(--admin-accent)
}
body.admin-body .admin-glass-control input[type="color"]{
 width:54px;height:35px;padding:3px;border-radius:10px;
 border:1px solid rgba(233,244,249,.3);background:rgba(var(--admin-glass-rgb),.65);cursor:pointer
}
body.admin-body .admin-glass-reset{background:rgba(var(--admin-glass-rgb),.70)!important;color:#f0f5f7!important}
/* Frosted surfaces. Opacity changes background alpha only; text stays opaque. */
body.admin-body :is(
 .admin-panel,.admin-table-card,.admin-server-card,.admin-metrics article,
 .admin-auth-card,.admin-support-layout,.admin-search,.admin-broadcast-card,
 .admin-broadcast-panel,.admin-ru-card,.admin-host-card,.admin-node-card,
 .admin-user-drawer,.admin-user-hero,.admin-user-profile-card,
 .admin-user-actions-card,.admin-user-tech-strip,.admin-user-tech-grid article,
 .admin-user-summary article,.admin-user-tabs,.admin-user-tab-panel,
 .admin-user-quick-actions button,.admin-user-secondary-actions button,
 .admin-ticket-list-panel,.admin-thread-panel,.admin-thread-active,
 .admin-thread-messages,.admin-broadcast-schedule,.admin-audience-cards button
){
 background:var(--admin-glass-surface)!important;
 border-color:rgba(241,248,254,.21)!important;
 backdrop-filter:blur(var(--admin-card-blur))!important;
 -webkit-backdrop-filter:blur(var(--admin-card-blur))!important;
 box-shadow:0 12px 34px rgba(4,11,16,.17),inset 0 1px rgba(255,255,255,.11)!important;
}
body.admin-body .admin-metrics article:nth-child(n){
 background:var(--admin-glass-surface)!important;
 border-color:rgba(237,249,255,.23)!important;
}
body.admin-body .admin-metrics article::after{
 border-color:rgba(238,248,253,.09)!important;
 box-shadow:0 0 0 24px rgba(244,250,253,.017)!important;
}
body.admin-body :is(.admin-panel-head,.admin-table-head,.admin-drawer-head){
 border-color:rgba(235,246,252,.15)!important;background:transparent!important;
}
body.admin-body :is(
 .admin-host-address,.admin-host-service,.admin-user-profile-list>div,
 .admin-user-card-icon,.admin-user-summary-icon,.admin-user-avatar,
 .admin-user-quick-actions button>span,.admin-host-marker,.admin-node-flag,
 .admin-reply-composer,.admin-reply-composer textarea,
 .admin-field input,.admin-field select,.admin-field textarea,
 .admin-filter-group button,.admin-subtabs button,.admin-user-filters button,
 .admin-user-tabs button,.admin-ticket-item,.admin-ticket-list-head,
 .admin-broadcast-schedule input
){
 background:rgba(var(--admin-glass-rgb),.43)!important;
 border-color:rgba(234,247,253,.17)!important;color:#eaf1f5!important;
}
body.admin-body :is(
 .admin-user-card-icon,.admin-user-summary-icon,.admin-user-avatar,
 .admin-user-quick-actions button>span,.admin-host-marker,.admin-node-flag
){color:#e4eff2!important}
body.admin-body :is(.admin-user-filters button,.admin-subtabs button,
 .admin-user-tabs button,.admin-filter-group button,
 .admin-chart-periods button,.admin-chart-series button){
 background:rgba(var(--admin-glass-rgb),.38)!important;color:#d7e2e8!important;
 border-color:rgba(231,246,252,.20)!important;
}
body.admin-body :is(.admin-user-filters button,.admin-subtabs button,
 .admin-user-tabs button,.admin-filter-group button,
 .admin-chart-periods button,.admin-chart-series button).is-active{
 background:color-mix(in srgb,var(--admin-accent) 18%,rgba(42,52,60,.46))!important;
 border-color:color-mix(in srgb,var(--admin-accent) 53%,transparent)!important;
 color:#f5fafd!important;
}
body.admin-body :is(.admin-user-filters button,.admin-subtabs button,
 .admin-user-tabs button,.admin-filter-group button):hover{
 background:rgba(155,175,184,.16)!important;color:#fff!important;
}
body.admin-body .admin-user-filters button b{
 color:#e4edf1!important;background:rgba(240,249,255,.12)!important;
}
body.admin-body .admin-chart-line{stroke:var(--admin-accent)!important;filter:none!important}
body.admin-body .admin-chart-area{fill:var(--admin-accent)!important;fill-opacity:.13!important}
body.admin-body .admin-chart-dot,body.admin-body .admin-chart-hover-dot{stroke:var(--admin-accent)!important}
body.admin-body .admin-chart-summary strong{color:#f1f7f9!important}
body.admin-body :is(.admin-panel-head p,.admin-user-section-kicker,
 .admin-user-fact-group>p,.admin-node-kicker,.admin-host-kicker){color:#b5c5ce!important}
body.admin-body :is(.admin-panel-link,.admin-readonly-badge){color:#d2e1e7!important}
body.admin-body :is(.admin-primary,.admin-reply-send:not(:disabled)){
 background:rgba(233,243,248,.89)!important;border-color:rgba(247,252,255,.41)!important;
 color:#202d35!important;box-shadow:0 4px 14px rgba(6,12,17,.12)!important;
}
body.admin-body .admin-primary:hover{background:#fff!important}
body.admin-body .admin-refresh{background:rgba(64,79,88,.47)!important;color:#eef4f6!important}
body.admin-body .admin-ticket-item.is-active,body.admin-body .admin-ticket-item:hover{
 background:rgba(169,186,196,.15)!important;
}
body.admin-body .admin-ticket-list-head{background:rgba(62,75,83,.28)!important}
body.admin-body .admin-node-resource-track{background:rgba(204,220,230,.19)!important}
body.admin-body .admin-node-resource-track i{background:var(--admin-accent)!important}
body.admin-body .admin-user-tabs button>span{
 background:rgba(235,246,251,.12)!important;color:#e6eff2!important;
}
body.admin-body .admin-user-hero>button{background:rgba(76,90,103,.49)!important;color:#edf4f7!important}
/* Subtle accent ONLY on selection and data visualization. */
body.admin-body .admin-sidebar{
 background:rgba(var(--admin-glass-rgb),.55)!important;
 border-color:rgba(241,250,255,.33)!important;
 box-shadow:0 18px 55px rgba(6,11,18,.22),inset 0 1px rgba(255,255,255,.20)!important;
 backdrop-filter:blur(28px) saturate(145%)!important;
 -webkit-backdrop-filter:blur(28px) saturate(145%)!important;
}
body.admin-body .admin-nav-item.is-active{
 background:color-mix(in srgb,var(--admin-accent) 26%,rgba(49,60,70,.48))!important;
 border-color:color-mix(in srgb,var(--admin-accent) 53%,rgba(255,255,255,.13))!important;
 color:#f6fcff!important;
 box-shadow:inset 0 1px rgba(255,255,255,.19)!important;
}
body.admin-body .admin-nav-item.is-active>span{color:#f6fcff!important}
body.admin-body .admin-nav-item:hover{
 background:rgba(221,237,244,.16)!important;
 border-color:rgba(238,248,255,.18)!important;
}
body.admin-body .admin-brand img{background:rgba(192,215,224,.22)!important}
body.admin-body .admin-sidebar-bottom :is(a,button){
 background:rgba(222,237,245,.08)!important;color:#edf6f9!important
}
body.admin-body .admin-sidebar-bottom :is(a,button):hover{
 background:rgba(235,248,253,.20)!important;
}
body.admin-body .admin-sidebar-bottom a[href="/account/"]{
 background:rgba(233,242,248,.92)!important;color:#374f5d!important
}
body.admin-body .admin-sidebar-bottom :is(a,button){
 font-size:0!important;letter-spacing:-100px!important;
 text-indent:-9999px!important;line-height:0!important;
}
body.admin-body .admin-sidebar-bottom :is(a,button) svg{
 display:block!important;flex:0 0 19px!important;
 width:19px!important;height:19px!important;
 min-width:19px!important;min-height:19px!important;
 text-indent:0!important;letter-spacing:normal!important;
}
@media(min-width:761px){
 body.admin-body #adminApp.admin-app{grid-template-columns:84px minmax(0,1fr)!important}
 body.admin-body .admin-sidebar,
 body.admin-body .admin-sidebar:hover,
 body.admin-body .admin-sidebar:focus-within{
  top:12.5vh!important;left:17px!important;
  height:100dvh!important;bottom:auto!important;
  transform:scale(.75)!important;transform-origin:top left!important;
  width:70px!important;max-width:70px!important;
  transition:none!important;
 }
 body.admin-body .admin-nav{gap:4px!important}
}
@media(max-width:760px){
 body.admin-body .admin-sidebar{
  background:rgba(var(--admin-glass-rgb),.87)!important;
  transform:none!important
 }
}
@media(prefers-reduced-motion:reduce){
 body.admin-body::before{transition:none!important}
}
/* Footer text cannot replace SVG icon on hover, including legacy hover rules. */
body.admin-body .admin-sidebar-bottom :is(a,button):hover{
 font-size:0!important
}

/* Bottom rail links contain icon-only SVG after JS initialization.
   Do not text-indent them offscreen: that also hides their SVG artwork. */
body.admin-body .admin-sidebar-bottom :is(a,button),
body.admin-body .admin-sidebar-bottom :is(a,button):hover,
body.admin-body .admin-sidebar-bottom :is(a,button):focus-visible{
  text-indent:0!important;
  letter-spacing:normal!important;
  font-size:0!important;
}
body.admin-body .admin-sidebar-bottom :is(a,button) svg{
  display:block!important;
  position:relative!important;
  flex:none!important;
  width:19px!important;
  height:19px!important;
  margin:auto!important;
  overflow:visible!important;
  visibility:visible!important;
  opacity:1!important;
  color:inherit!important;
  transform:none!important;
  stroke:currentColor!important;
  fill:none!important;
}


/* ===== GLASS_COMPONENTS ===== */
/* Whale Admin — final unified frosted surfaces. Scoped to admin ONLY.
   Makes old midnight table/chat/host/profile backgrounds obey the glass theme.
   Accent is intentionally limited to selections and charts. */
body.admin-body{
 --au-ink:#f1f6f8;
 --au-sub:#cbd6dd;
 --au-dim:#9aaeb9;
 --au-stroke:rgba(239,248,255,.24);
 --au-line:rgba(239,248,255,.16);
 --au-surface:var(--admin-glass-surface);
 --au-inset:rgba(var(--admin-glass-rgb),.26);
 --au-hover:rgba(224,240,249,.12);
 --au-glass-blur:blur(var(--admin-card-blur,24px));
 --a-text:var(--au-ink);--a-muted:var(--au-sub);--a-dim:var(--au-dim);
 --a-panel:var(--au-surface);--a-panel2:var(--au-inset);
 --a-line:var(--au-line);
}
/* Every major top-level panel uses the same glass material. */
body.admin-body :is(
 .admin-events-panel,.admin-users-card,.admin-table-card,.admin-panel,
 .admin-host-card,.admin-node-card,.admin-server-card,
 .admin-support-layout,.admin-ticket-list-panel,.admin-thread-panel,
 .admin-user-drawer,.admin-user-profile-card,.admin-user-actions-card,
 .admin-user-tech-strip,.admin-user-summary article,.admin-user-tech-grid article,
 .admin-user-tabs,.admin-user-access-card,.admin-broadcast-schedule,
 .admin-audience-cards button,.admin-auth-card,.admin-health-services,
 .admin-ru-card,.admin-modal-content
){
 background:var(--au-surface)!important;
 background-image:none!important;
 border-color:var(--au-stroke)!important;
 color:var(--au-ink)!important;
 backdrop-filter:var(--au-glass-blur)!important;
 -webkit-backdrop-filter:var(--au-glass-blur)!important;
 box-shadow:0 9px 30px rgba(4,10,14,.12),inset 0 1px rgba(255,255,255,.09)!important;
}
body.admin-body :is(.admin-user-profile-card,.admin-user-actions-card,
 .admin-user-tech-strip,.admin-user-summary article,.admin-host-card,.admin-node-card){
 border-radius:16px!important;
}
/* Remove solid stripes and old blue fills in overview and data tables. */
body.admin-body :is(
 .admin-event-row,.admin-table th,.admin-table td,
 .admin-table tfoot td,.admin-table tbody tr,
 .admin-user-row,.admin-users-pagination,
 .admin-user-profile-list,.admin-user-profile-list>div,
 .admin-drawer-section,.admin-resource-row,
 .admin-host-head,.admin-host-address,.admin-host-resources,.admin-host-meta,
 .admin-host-services,.admin-host-footer,.admin-node-head,
 .admin-node-metrics,.admin-node-resources,.admin-node-footer,
 .admin-ticket-list-head,.admin-thread-head,.admin-thread-messages,
 .admin-thread-reply,.admin-broadcast-item,.admin-quick-list button,
 .admin-user-hero,.admin-user-tech-grid,.admin-user-tech-grid article
){
 background:transparent!important;
 background-image:none!important;
 border-color:var(--au-line)!important;
}
body.admin-body :is(.admin-table tbody tr[data-customer-id]:hover td,
 .admin-table tbody tr[data-customer-id]:focus-visible td,
 .admin-event-row:hover,.admin-quick-list button:hover){
 background:var(--au-hover)!important;
}
body.admin-body .admin-table th{color:var(--au-sub)!important}
body.admin-body :is(.admin-table td,.admin-cell-main,.admin-event-main strong,
 .admin-user-profile-list dd,.admin-host-ident h3,.admin-node-identity h3){
 color:var(--au-ink)!important;
}
body.admin-body :is(.admin-event-main span,.admin-event-time,
 .admin-cell-sub,.admin-host-footer,.admin-host-address code,
 .admin-host-address span,.admin-user-profile-list dt){
 color:var(--au-sub)!important;
}
body.admin-body :is(.admin-events-panel .admin-panel-head,
 .admin-table-head,.admin-panel-head,.admin-ticket-list-head){
 background:rgba(231,245,252,.035)!important;
 border-bottom:1px solid var(--au-line)!important;
}
body.admin-body :is(.admin-event-icon,.admin-host-marker,.admin-node-flag,
 .admin-user-card-icon,.admin-user-summary-icon,.admin-user-avatar){
 background:rgba(218,235,244,.09)!important;
 border-color:var(--au-stroke)!important;
 color:#edf4f8!important;
}
body.admin-body .admin-event-icon.is-payment{color:var(--a-green)!important}
body.admin-body .admin-event-icon.is-subscription{color:var(--au-sub)!important}
body.admin-body .admin-event-icon.is-ticket{color:var(--au-sub)!important}
body.admin-body .admin-event-arrow{color:var(--au-sub)!important}
body.admin-body .admin-host-resources .admin-node-resource-track,
body.admin-body .admin-node-resource-track{background:rgba(224,239,248,.18)!important}
body.admin-body .admin-node-resource-track i{background:var(--au-sub)!important}
/* Pager and all passive controls are neutral; accent only denotes selection. */
body.admin-body :is(
 .admin-users-pagination button,.admin-subtabs button,
 .admin-user-filters button,.admin-filter-group button,.admin-user-tabs button,
 .admin-chart-periods button,.admin-chart-series button,
 .admin-audience-cards button,.admin-host-service,
 .admin-user-quick-actions button,.admin-user-secondary-actions button,
 .admin-user-hero>button,.admin-thread-reply textarea
){
 background:var(--au-inset)!important;border-color:var(--au-stroke)!important;
 color:var(--au-ink)!important;
}
body.admin-body :is(.admin-users-pagination button,
 .admin-subtabs button,.admin-user-filters button,.admin-filter-group button,
 .admin-user-tabs button,.admin-chart-periods button,.admin-chart-series button,
 .admin-audience-cards button).is-active{
 background:color-mix(in srgb,var(--admin-accent,#93c2d3) 17%,transparent)!important;
 border-color:color-mix(in srgb,var(--admin-accent,#93c2d3) 52%,transparent)!important;
 color:var(--au-ink)!important;
}
body.admin-body :is(.admin-users-pagination button,.admin-subtabs button,
 .admin-user-filters button,.admin-filter-group button,.admin-user-tabs button,
 .admin-chart-periods button,.admin-chart-series button):hover:not(:disabled){
 background:var(--au-hover)!important;
}
body.admin-body .admin-users-pagination{background:transparent!important}
body.admin-body .admin-users-page-info{color:var(--au-sub)!important}
/* Support: single shared glass canvas with subtle separation, no dark-blue split. */
body.admin-body .admin-support-layout{
 overflow:hidden;
 background:var(--au-surface)!important;
}
body.admin-body :is(.admin-ticket-list-panel,.admin-thread-panel,
 .admin-thread-active,.admin-thread-messages,.admin-ticket-list){
 background:transparent!important;background-image:none!important;
 box-shadow:none!important;backdrop-filter:none!important;
 -webkit-backdrop-filter:none!important;
}
body.admin-body .admin-ticket-list-panel{
 border-right:1px solid var(--au-line)!important;
}
body.admin-body :is(.admin-ticket-item,.admin-ticket-item.is-active,
 .admin-ticket-item:hover,.admin-ticket-list-head,
 .admin-thread-head,.admin-thread-reply){
 background:transparent!important;border-color:var(--au-line)!important;
}
body.admin-body .admin-ticket-item.is-active{
 background:rgba(231,242,249,.11)!important;
 box-shadow:inset 2px 0 color-mix(in srgb,var(--admin-accent) 60%,transparent)!important;
}
body.admin-body .admin-ticket-item:hover:not(.is-active){background:var(--au-hover)!important}
body.admin-body .admin-message-row .admin-message-bubble{
 border:1px solid var(--au-stroke)!important;
 background:rgba(226,240,247,.11)!important;
 color:var(--au-ink)!important;
 box-shadow:none!important;
}
body.admin-body .admin-message-row.is-admin .admin-message-bubble{
 background:rgba(219,234,244,.20)!important;
 border-color:rgba(238,248,255,.25)!important;
}
body.admin-body .admin-message-bubble span,
body.admin-body .admin-thread-head p{color:var(--au-sub)!important}
body.admin-body .admin-ticket-closed{
 background:rgba(224,238,246,.11)!important;color:var(--au-sub)!important;
}
body.admin-body .admin-ticket-waiting{
 background:rgba(245,200,112,.15)!important;color:#f4d19d!important;
}
body.admin-body .admin-thread-head>button:last-child{color:var(--au-sub)!important}
body.admin-body .admin-thread-reply textarea{
 background:rgba(34,49,60,.25)!important;
}
body.admin-body .admin-thread-reply textarea:focus{
 border-color:var(--admin-accent)!important;
}
/* User drawer is a distinct modal glass layer, with no opaque old panels. */
body.admin-body .admin-user-drawer{
 background:rgba(38,51,60,var(--admin-panel-opacity,.32))!important;
}
body.admin-body :is(.admin-user-hero,.admin-user-dashboard,.admin-user-dashboard-main,
 .admin-user-tab-panel,.admin-user-profile-list,.admin-user-tech-grid,
 .admin-user-tech-grid article,.admin-user-access-list,.admin-user-access-list>div){
 background:transparent!important;background-image:none!important;
 border-color:var(--au-line)!important;
}
body.admin-body .admin-user-profile-list>div{
 border-bottom:1px solid var(--au-line)!important;padding-inline:0!important;
}
body.admin-body .admin-user-profile-list dt{color:var(--au-sub)!important}
body.admin-body .admin-user-profile-list dd{color:var(--au-ink)!important}
body.admin-body :is(.admin-user-card-title h3,.admin-user-tech-title h3,
 .admin-user-hero h2,.admin-user-summary strong){color:var(--au-ink)!important}
body.admin-body :is(.admin-user-card-title p,.admin-user-tech-title p,
 .admin-user-summary span,.admin-user-hero-meta span){color:var(--au-sub)!important}
body.admin-body .admin-user-profile-card,
body.admin-body .admin-user-actions-card,
body.admin-body .admin-user-tech-strip{
 background:var(--au-surface)!important;
 border-color:var(--au-stroke)!important;
}
body.admin-body .admin-user-tabs button:not(.is-active){
 background:rgba(226,239,246,.06)!important;
}
body.admin-body .admin-user-quick-actions button:hover:not(:disabled){
 background:rgba(229,241,248,.14)!important;
}
body.admin-body :is(.admin-user-action.is-danger,.admin-user-danger-zone){
 border-color:rgba(239,147,147,.26)!important;
}
body.admin-body .admin-user-danger-zone{background:rgba(143,50,57,.13)!important}
/* Server panels: glass across header, resources, address, footer. */
body.admin-body :is(.admin-host-head,.admin-host-address,.admin-host-resources,
 .admin-host-meta,.admin-host-services,.admin-host-footer,
 .admin-node-head,.admin-node-metrics,.admin-node-resources,.admin-node-footer){
 background:transparent!important;
 background-image:none!important;
 border-color:var(--au-line)!important;
 box-shadow:none!important;
}
body.admin-body .admin-host-card,
body.admin-body .admin-node-card{
 background:var(--au-surface)!important;
 background-image:none!important;
}
body.admin-body .admin-host-service{
 background:rgba(218,234,244,.08)!important;color:var(--au-sub)!important;
}
body.admin-body .admin-host-service.is-ok{color:#8ce5bb!important}
body.admin-body .admin-host-service.is-off{color:#f3aaaa!important}
body.admin-body .admin-host-address code{color:var(--au-sub)!important}
body.admin-body .admin-host-marker{color:var(--au-ink)!important}
/* Keep accents on selected states and graph; keep semantic health colors. */
body.admin-body :is(.admin-user-hero-copy>p,
 .admin-drawer-head p,.admin-event-icon:not(.is-payment):not(.is-subscription),
 .admin-table-head span,.admin-ticket-list-head span){color:var(--au-sub)!important}
body.admin-body .admin-chart-line{stroke:var(--admin-accent)!important}
body.admin-body .admin-chart-area{fill:var(--admin-accent)!important}
body.admin-body :is(.admin-status.is-ok,.admin-host-service.is-ok){color:#8de3b6!important}
body.admin-body :is(.admin-status.is-bad,.admin-host-service.is-off){color:#f0aaa9!important}
body.admin-body .admin-status.is-warn{color:#edc98f!important}
body.admin-body :is(.admin-table-card,.admin-panel,.admin-support-layout,
 .admin-user-profile-card,.admin-user-actions-card,.admin-host-card){
 transition:background-color .22s ease, border-color .22s ease;
}

/* User-reported misses: pagination footer and customer modal, 2026-11-08. */
body.admin-body .admin-users-footer{
  background:rgba(227,241,248,.055)!important;
  background-image:none!important;
  border-top:1px solid var(--au-line)!important;
  backdrop-filter:blur(var(--admin-card-blur,24px)) saturate(125%)!important;
  -webkit-backdrop-filter:blur(var(--admin-card-blur,24px)) saturate(125%)!important;
}
body.admin-body .admin-users-page-size select{
  background:rgba(225,240,248,.09)!important;
  border:1px solid var(--au-stroke)!important;
  color:var(--au-ink)!important;
}
body.admin-body .admin-users-page-size select option{
  background:#25323a!important;color:#f1f6f8!important;
}
body.admin-body .admin-users-pagination button{
  background:rgba(229,244,250,.08)!important;
  border:1px solid var(--au-stroke)!important;
  color:var(--au-ink)!important;
}
body.admin-body .admin-users-pagination button.is-active{
  border-color:color-mix(in srgb,var(--admin-accent,#93c2d3) 65%,transparent)!important;
  background:color-mix(in srgb,var(--admin-accent,#93c2d3) 19%,transparent)!important;
  color:var(--au-ink)!important;
}
body.admin-body .admin-users-pagination button:hover:not(:disabled){
  background:rgba(231,246,252,.17)!important;
}
body.admin-body .admin-users-pagination button.is-active:hover:not(:disabled){
  background:color-mix(in srgb,var(--admin-accent,#93c2d3) 23%,transparent)!important;
}
/* A heavy navy backdrop had been making even transparent customer cards look opaque. */
body.admin-body .admin-drawer-backdrop{
  background:rgba(9,15,21,.38)!important;
  backdrop-filter:blur(7px)!important;
  -webkit-backdrop-filter:blur(7px)!important;
}
body.admin-body .admin-user-drawer{
  background:var(--admin-glass-surface)!important;
  background-image:none!important;
  border:1px solid rgba(239,248,255,.33)!important;
  box-shadow:0 26px 88px rgba(0,0,0,.28),inset 0 1px rgba(255,255,255,.16)!important;
  backdrop-filter:blur(var(--admin-card-blur,24px))!important;
  -webkit-backdrop-filter:blur(var(--admin-card-blur,24px))!important;
}
body.admin-body .admin-user-drawer .admin-user-hero{
  background:rgba(242,250,255,.045)!important;
  border-bottom:1px solid var(--au-line)!important;
}
body.admin-body .admin-user-drawer :is(.admin-user-profile-card,.admin-user-actions-card,
 .admin-user-tech-strip,.admin-user-summary article,.admin-user-tech-grid article){
  background:var(--admin-glass-surface)!important;
  border-color:rgba(242,250,255,.26)!important;
  backdrop-filter:blur(var(--admin-card-blur,24px))!important;
  -webkit-backdrop-filter:blur(var(--admin-card-blur,24px))!important;
}
body.admin-body .admin-user-drawer .admin-user-profile-list>div{
  background:transparent!important;
  border-bottom:1px solid var(--au-line)!important;
}
body.admin-body .admin-user-drawer .admin-user-tabs{
  background:rgba(226,241,249,.08)!important;
  border:1px solid var(--au-stroke)!important;
  box-shadow:none!important;
}
body.admin-body .admin-user-drawer .admin-user-tabs button{
  background:transparent!important;
  border:1px solid transparent!important;
  color:var(--au-sub)!important;
}
body.admin-body .admin-user-drawer .admin-user-tabs button.is-active{
  background:color-mix(in srgb,var(--admin-accent,#93c2d3) 20%,transparent)!important;
  border-color:color-mix(in srgb,var(--admin-accent,#93c2d3) 65%,transparent)!important;
  color:var(--au-ink)!important;
}
body.admin-body .admin-user-drawer .admin-user-tabs button:hover:not(.is-active){
  background:rgba(242,250,255,.10)!important;
  color:var(--au-ink)!important;
}


/* ===== CONTRAST_BROADCAST ===== */
/* Whale Admin — neutral, consistent glass and readable controls. */
body.admin-body{
 --af-line:rgba(243,249,253,.28);
 --af-soft:rgba(227,238,245,.13);
 --af-matte:rgba(33,42,49,.46);
 --af-muted:#d8e3e9;
 --af-strong:#f8fbfd;
 --af-accent:var(--admin-accent,#93c2d3);
}
body.admin-body :is(.admin-metrics small,.admin-metrics span,.admin-user-summary article>span,
 .admin-user-summary article small,.admin-user-tech-grid article>span,
 .admin-user-tech-grid article>small,.admin-panel-head p,.admin-ru-meta,.admin-ru-footnote){
 color:var(--af-muted)!important;opacity:1!important;
}
body.admin-body :is(.admin-metrics strong,.admin-user-summary article strong,
 .admin-user-tech-grid article>strong,.admin-panel-head h3){
 color:var(--af-strong)!important;opacity:1!important;
}
body.admin-body :is(.admin-metrics article,.admin-user-summary article,.admin-user-tech-grid article),
body.admin-body .admin-metrics article:nth-child(n){
 background:var(--admin-glass-surface)!important;
 border-color:var(--af-line)!important;
}
body.admin-body .admin-metrics article::after{border-color:rgba(251,252,255,.09)!important}
body.admin-body :is(.admin-audience-cards button,.admin-subtabs button,.admin-user-filters button,
 .admin-users-pagination button,.admin-chart-periods button,.admin-chart-series button,
 .admin-user-tabs button,.admin-filter-group button).is-active{
 color:var(--af-strong)!important;
 background:color-mix(in srgb,var(--af-accent) 20%,rgba(90,103,111,.27))!important;
 border-color:color-mix(in srgb,var(--af-accent) 56%,rgba(255,255,255,.15))!important;
}
body.admin-body :is(.admin-audience-cards button,.admin-subtabs button,.admin-user-filters button,
 .admin-users-pagination button,.admin-chart-periods button,.admin-chart-series button,
 .admin-user-tabs button,.admin-filter-group button):hover:not(:disabled):not(.is-active){
 background:rgba(225,238,246,.18)!important;
}
body.admin-body :is(.admin-user-search,.admin-users-sort-preset,.admin-users-sort-control select,
 .admin-sort-direction,.admin-user-search-shortcut,.admin-user-search-clear,.admin-search,
 .admin-refresh,.admin-sort){color:var(--af-strong)!important;border-color:var(--af-line)!important}
body.admin-body :is(.admin-user-search,.admin-users-sort-preset,.admin-sort-direction,
 .admin-search,.admin-refresh){background:rgba(76,88,97,.25)!important}
body.admin-body :is(.admin-user-search-shortcut,.admin-user-search-clear){
 background:rgba(37,47,55,.28)!important
}
body.admin-body .admin-user-search input::placeholder,
body.admin-body .admin-search input::placeholder{
 color:#d1dee5!important;opacity:1!important
}
body.admin-body .admin-users-sort-preset>span,
body.admin-body .admin-user-search-state{color:var(--af-muted)!important}
body.admin-body .admin-sort-direction:hover{background:rgba(221,235,244,.19)!important}
body.admin-body :is(.admin-search,.admin-user-search,.admin-users-sort-preset):focus-within{
 border-color:var(--af-accent)!important;
 box-shadow:0 0 0 2px color-mix(in srgb,var(--af-accent) 20%,transparent)!important
}
body.admin-body .admin-user-search-shortcut{
 border:1px solid var(--af-line)!important;color:var(--af-strong)!important
}
/* RU availability status: colors indicate health, other surfaces stay neutral. */
body.admin-body :is(.admin-ru-section,.admin-ru-card){
 background:var(--admin-glass-surface)!important;
 border-color:var(--af-line)!important;
 backdrop-filter:blur(var(--admin-card-blur,24px))!important;
 -webkit-backdrop-filter:blur(var(--admin-card-blur,24px))!important
}
body.admin-body :is(.admin-ru-card-head,.admin-ru-probes,.admin-ru-probe,.admin-ru-card-footer){
 border-color:var(--af-line)!important;background:transparent!important
}
body.admin-body :is(.admin-ru-head h3,.admin-ru-card-ident strong){
 color:var(--af-strong)!important
}
body.admin-body :is(.admin-ru-probe-location,.admin-ru-meta,.admin-ru-footnote,
 .admin-ru-card-ident code){color:var(--af-muted)!important}
body.admin-body .admin-ru-card-footer a{
 color:var(--af-accent)!important;text-decoration:underline;text-underline-offset:3px
}
/* Broadcast page: neutral glass on both sides, comfortable spacing. */
body.admin-body #broadcastView .admin-broadcast-grid{
 grid-template-columns:minmax(370px,.83fr) minmax(0,1.17fr);
 gap:18px;align-items:start;
}
body.admin-body #broadcastView .admin-panel{
 min-width:0;overflow:hidden;border-radius:22px!important;
 background:var(--admin-glass-surface)!important;
 border:1px solid var(--af-line)!important;
 box-shadow:0 12px 40px rgba(3,9,14,.14),inset 0 1px rgba(255,255,255,.13)!important;
 backdrop-filter:blur(var(--admin-card-blur,24px))!important;
 -webkit-backdrop-filter:blur(var(--admin-card-blur,24px))!important;
}
body.admin-body #broadcastView .admin-panel-head{
 min-height:80px;padding:21px 24px!important;
 background:rgba(230,241,249,.055)!important;
 border-bottom:1px solid var(--af-line)!important;
}
body.admin-body #broadcastView .admin-panel-head p{
 font-size:10px!important;letter-spacing:.12em!important;
 font-weight:800;color:var(--af-muted)!important;
}
body.admin-body #broadcastView .admin-panel-head h3{
 font-size:20px!important;letter-spacing:-.025em;
 color:var(--af-strong)!important;
}
body.admin-body #broadcastView .admin-panel-head .admin-refresh{
 min-height:36px;padding:0 15px;border-radius:12px;
 font-size:12px;font-weight:800;
}
body.admin-body #broadcastView .admin-broadcast-form{
 padding:23px 24px 24px!important;gap:20px!important;
}
body.admin-body #broadcastView .admin-field{
 display:grid;gap:9px;min-width:0;
}
body.admin-body #broadcastView .admin-field>span{
 font-size:12px!important;font-weight:850;color:var(--af-strong)!important;
}
body.admin-body #broadcastView :is(select,textarea,input[type="datetime-local"]){
 background:rgba(25,35,43,.38)!important;
 color:var(--af-strong)!important;
 border:1px solid rgba(238,248,254,.29)!important;
 border-radius:13px!important;outline:none;
}
body.admin-body #broadcastView select{
 width:100%;height:48px;padding:0 15px;
 font-size:13px!important;font-weight:750;
}
body.admin-body #broadcastView select option{
 color:#eff6fa;background:#293740;
}
body.admin-body #broadcastView textarea{
 width:100%;min-height:215px;max-height:520px;padding:17px!important;
 resize:vertical;line-height:1.6;font-size:13px!important;
}
body.admin-body #broadcastView textarea::placeholder{
 color:#becdd5!important;opacity:1;
}
body.admin-body #broadcastView :is(select,textarea,input[type="datetime-local"]):focus-visible{
 border-color:var(--af-accent)!important;
 box-shadow:0 0 0 2px color-mix(in srgb,var(--af-accent) 22%,transparent)!important;
}
body.admin-body #broadcastView .admin-audience-cards{
 grid-template-columns:repeat(3,minmax(0,1fr));gap:11px!important;
}
body.admin-body #broadcastView .admin-audience-cards button{
 min-height:97px;padding:16px!important;border-radius:15px!important;
 border:1px solid var(--af-line)!important;
 background:rgba(35,48,57,.23)!important;color:var(--af-strong)!important;
}
body.admin-body #broadcastView .admin-audience-cards button span{
 font-size:11px!important;color:var(--af-muted)!important;
}
body.admin-body #broadcastView .admin-audience-cards button b{
 margin-top:12px!important;font-size:27px!important;
 letter-spacing:-.045em;color:var(--af-strong)!important;
}
body.admin-body #broadcastView .admin-audience-cards button.is-active{
 background:color-mix(in srgb,var(--af-accent) 16%,rgba(30,44,55,.36))!important;
 border-color:color-mix(in srgb,var(--af-accent) 55%,rgba(255,255,255,.12))!important;
}
body.admin-body #broadcastView .admin-broadcast-schedule{
 display:grid;gap:12px;padding:17px 19px!important;
 border:1px solid var(--af-line)!important;border-radius:15px!important;
 background:rgba(35,46,54,.25)!important;
}
body.admin-body #broadcastView .admin-broadcast-schedule label{
 font-size:12px!important;color:var(--af-strong)!important;
 font-weight:750;min-height:25px;
}
body.admin-body #broadcastView .admin-broadcast-schedule input[type=radio]{
 width:16px;height:16px;accent-color:var(--af-accent)!important;
}
body.admin-body #broadcastView .admin-broadcast-schedule small{
 color:var(--af-muted)!important;font-size:11px!important;line-height:1.5;
}
body.admin-body #broadcastView .admin-broadcast-footer{border:0;padding-top:2px;gap:15px}
body.admin-body #broadcastView .admin-broadcast-footer .admin-primary{
 min-height:48px;padding:0 20px;border-radius:14px!important;
 font-size:14px!important;font-weight:850;
}
/* Broadcast history: separate readable messages, no navy badges. */
body.admin-body #broadcastView .admin-broadcast-list{
 max-height:min(830px,calc(100dvh - 145px));overflow:auto;
 padding:12px 17px 20px;
}
body.admin-body #broadcastView .admin-broadcast-item{
 margin:0 0 11px;padding:18px 18px 16px!important;
 background:rgba(33,45,53,.28)!important;
 border:1px solid var(--af-line)!important;border-radius:16px!important;
}
body.admin-body #broadcastView .admin-broadcast-item:last-child{margin-bottom:0}
body.admin-body #broadcastView .admin-broadcast-item-head{align-items:flex-start;gap:14px}
body.admin-body #broadcastView .admin-broadcast-item h4{
 color:var(--af-strong)!important;font-size:13px!important;line-height:1.4;
}
body.admin-body #broadcastView .admin-broadcast-item time{
 color:var(--af-muted)!important;font-size:11px!important;
}
body.admin-body #broadcastView .admin-broadcast-item p{
 color:var(--af-muted)!important;font-size:12px!important;
 line-height:1.65!important;margin-top:11px!important;
}
body.admin-body #broadcastView .admin-broadcast-meta{margin-top:15px!important;gap:8px}
body.admin-body #broadcastView .admin-broadcast-meta span{
 font-size:10px!important;font-weight:750;
 padding:7px 9px;border:1px solid rgba(235,248,254,.16);
 border-radius:9px!important;background:rgba(24,38,47,.32)!important;
 color:var(--af-strong)!important;
}
body.admin-body #broadcastView .admin-broadcast-actions{margin-top:13px}
body.admin-body #broadcastView .admin-empty{color:var(--af-muted)!important}
/* Status pills retain semantic green/red, never as primary accents. */
body.admin-body #broadcastView :is(.admin-status.is-ok,.admin-broadcast-complete){
 color:#a2efc6!important;
}
body.admin-body #broadcastView .admin-broadcast-schedule input[type=datetime-local]{
 padding:10px 12px;font-size:12px!important;
}
@media(max-width:1080px){
 body.admin-body #broadcastView .admin-broadcast-grid{grid-template-columns:1fr!important}
 body.admin-body #broadcastView .admin-broadcast-list{max-height:none}
}
@media(max-width:580px){
 body.admin-body #broadcastView .admin-panel-head{padding:17px!important}
 body.admin-body #broadcastView .admin-broadcast-form{padding:16px!important;gap:15px!important}
 body.admin-body #broadcastView .admin-audience-cards{gap:7px!important}
 body.admin-body #broadcastView .admin-audience-cards button{
  min-height:78px;padding:10px!important
 }
 body.admin-body #broadcastView .admin-audience-cards button span{font-size:9px!important}
 body.admin-body #broadcastView .admin-audience-cards button b{font-size:21px!important}
 body.admin-body #broadcastView .admin-broadcast-list{padding:10px}
 body.admin-body #broadcastView .admin-broadcast-item{padding:14px!important}
}


/* ===== NEUTRAL_INTERACTIONS ===== */
/* THEME SOURCE OF TRUTH — design tokens and interactions.
   Edit this file, then run: python3 build-modern-theme.py */
body.admin-body{
 --ui-text:#f5f5f5;--ui-subtext:#dedede;--ui-dim:#bebebe;
 --ui-line:rgba(237,248,255,.26);
 --ui-line-soft:rgba(237,248,255,.15);
 --ui-control:rgba(var(--admin-glass-rgb),.35);
 --ui-hover:rgba(222,237,246,.16);
 --ui-press:rgba(231,244,250,.23);
 --ui-selection:rgba(220,236,245,.14);
 --ui-tooltip:rgba(var(--admin-glass-rgb),.96);
 --ui-ring:var(--admin-accent,#93c2d3);
 --a-text:var(--ui-text);--a-muted:var(--ui-subtext);
 --a-dim:var(--ui-dim);--a-blue:var(--ui-ring);--a-blue2:var(--ui-ring);
}
body.admin-body .admin-rail-tooltip{
 background:var(--ui-tooltip)!important;color:var(--ui-text)!important;
 border:1px solid var(--ui-line)!important;
 box-shadow:0 12px 30px rgba(6,14,22,.24)!important;
 backdrop-filter:blur(16px)!important;-webkit-backdrop-filter:blur(16px)!important;
}
body.admin-body .admin-sidebar{
 background:rgba(var(--admin-glass-rgb),.55)!important;
 border-color:var(--ui-line)!important;
}
body.admin-body .admin-nav-item{color:var(--ui-subtext)!important}
body.admin-body .admin-nav-item:hover:not(.is-active),
body.admin-body .admin-nav-item:focus-visible:not(.is-active){
 background:var(--ui-hover)!important;color:var(--ui-text)!important;
 border-color:var(--ui-line-soft)!important;
}
body.admin-body .admin-nav-item.is-active{
 background:var(--ui-selection)!important;color:var(--ui-text)!important;
 border-color:var(--ui-line)!important;
 box-shadow:inset 3px 0 0 var(--ui-ring)!important;
}
body.admin-body .admin-nav-item.is-active>span{color:var(--ui-text)!important}
body.admin-body .admin-nav-item.is-active:hover{background:var(--ui-press)!important}
body.admin-body .admin-sidebar-bottom :is(a,button):hover{
 background:var(--ui-hover)!important;border-color:var(--ui-line)!important;
}
body.admin-body :is(
 .admin-refresh,.admin-filter-group button,.admin-subtabs button,
 .admin-user-filters button,.admin-users-pagination button,
 .admin-user-tabs button,.admin-chart-periods button,.admin-chart-series button,
 .admin-audience-cards button,.admin-sort-direction,.admin-row-action,
 .admin-user-quick-actions button,.admin-user-secondary-actions button,
 .admin-broadcast-actions button,.admin-ticket-list-head button,
 .admin-thread-head button,.admin-ru-refresh,
 .admin-bg-actions button,.admin-bg-close
){
 border-color:var(--ui-line)!important;color:var(--ui-text)!important;
 background:var(--ui-control)!important;
 transition:background-color .18s ease,border-color .18s ease,color .18s ease,
            transform .22s cubic-bezier(.22,1,.36,1)!important;
}
body.admin-body :is(
 .admin-refresh,.admin-filter-group button,.admin-subtabs button,
 .admin-user-filters button,.admin-users-pagination button,
 .admin-user-tabs button,.admin-chart-periods button,.admin-chart-series button,
 .admin-audience-cards button,.admin-sort-direction,.admin-row-action,
 .admin-user-quick-actions button,.admin-user-secondary-actions button,
 .admin-broadcast-actions button,.admin-ticket-list-head button,
 .admin-thread-head button,.admin-ru-refresh,.admin-bg-actions button,.admin-bg-close
):hover:not(:disabled):not(.is-active){
 background:var(--ui-hover)!important;
 border-color:var(--ui-line)!important;color:var(--ui-text)!important;
}
body.admin-body :is(
 .admin-filter-group button,.admin-subtabs button,.admin-user-filters button,
 .admin-users-pagination button,.admin-user-tabs button,
 .admin-chart-periods button,.admin-chart-series button,.admin-audience-cards button
).is-active{
 color:var(--ui-text)!important;background:var(--ui-selection)!important;
 border-color:var(--ui-line)!important;
 box-shadow:inset 0 -2px 0 var(--ui-ring)!important;
}
body.admin-body :is(
 .admin-filter-group button,.admin-subtabs button,.admin-user-filters button,
 .admin-users-pagination button,.admin-user-tabs button,
 .admin-chart-periods button,.admin-chart-series button,.admin-audience-cards button
).is-active:hover{
 background:var(--ui-press)!important;border-color:var(--ui-line)!important;
}
body.admin-body .admin-user-filters button b{
 background:rgba(230,241,249,.12)!important;color:var(--ui-text)!important;
}
body.admin-body :is(.admin-sort-direction,.admin-user-search-shortcut,
 .admin-users-sort-preset,.admin-users-sort-control select,
 .admin-user-search,.admin-search,.admin-user-search-clear){
 background:var(--ui-control)!important;color:var(--ui-text)!important;
 border-color:var(--ui-line-soft)!important;
}
body.admin-body :is(.admin-search input,.admin-user-search input)::placeholder{
 color:var(--ui-subtext)!important;opacity:1;
}
body.admin-body :is(.admin-sort-direction,.admin-user-search-clear):hover{
 background:var(--ui-hover)!important;color:var(--ui-text)!important;
}
body.admin-body .admin-user-search-shortcut{color:var(--ui-subtext)!important}
body.admin-body :is(.admin-quick-list button,.admin-overview-stat-list>button,
 .admin-event-row,.admin-ticket-item):hover{
 background:var(--ui-hover)!important;
}
body.admin-body .admin-table tbody tr[data-customer-id]:hover td{background:var(--ui-hover)!important}
body.admin-body .admin-ticket-item.is-active{
 background:var(--ui-selection)!important;
 box-shadow:inset 2px 0 0 var(--ui-ring)!important;
}
body.admin-body :is(.admin-metrics small,.admin-panel-head p,
 .admin-user-summary article small,.admin-broadcast-item p,
 .admin-broadcast-item time,.admin-ru-probe-location,
 .admin-users-note,.admin-event-time,.admin-ticket-item small){
 color:var(--ui-subtext)!important;
}
body.admin-body :is(.admin-metrics strong,.admin-panel-head h3,
 .admin-broadcast-item h4,.admin-user-title-row h2){
 color:var(--ui-text)!important;
}
body.admin-body :is(.admin-primary,.admin-reply-send:not(:disabled)){
 background:rgba(239,247,252,.92)!important;color:#1e303c!important;
 border:1px solid rgba(249,253,255,.45)!important;
 box-shadow:0 5px 16px rgba(7,17,23,.14)!important;
}
body.admin-body :is(.admin-primary,.admin-reply-send:not(:disabled)):hover{
 background:#fff!important;color:#1e303c!important;
}
body.admin-body :is(button,a,input,select,textarea):focus-visible{
 outline:2px solid var(--ui-ring)!important;outline-offset:3px;
}
body.admin-body :is(.admin-status.is-ok,.admin-ru-result.is-ok,
 .admin-host-service.is-ok){color:#a1edc3!important}
body.admin-body :is(.admin-status.is-bad,.admin-ru-result.is-failed){
 color:#ffb4b2!important;
}
body.admin-body :is(.admin-status.is-warn,.admin-ru-result.is-partial){
 color:#ffe0a8!important;
}
@media(prefers-reduced-motion:reduce){
 body.admin-body :is(button,a,.admin-rail-tooltip){transition:none!important}
}
/* Layout details that used to live in duplicate legacy theme files. */
body.admin-body .admin-topbar{display:none!important}
body.admin-body .admin-main{min-width:0;padding:16px 18px 25px}
body.admin-body .admin-view{padding:8px 2px 20px}
body.admin-body .admin-page-intro h2{
 color:var(--ui-text)!important;font-size:25px;letter-spacing:-.04em;
}
body.admin-body .admin-page-intro p{
 color:var(--ui-subtext)!important;font-size:12px;
}
body.admin-body .admin-metrics{gap:14px}
body.admin-body .admin-metrics article{
 min-height:125px;border-radius:17px;padding:19px;
}
body.admin-body .admin-metrics strong{font-size:31px}
body.admin-body .admin-panel{border-radius:17px;overflow:hidden}
body.admin-body .admin-panel-head{padding:18px 20px}
body.admin-body .admin-panel-head h3{font-size:16px}
body.admin-body .admin-panel-head p{font-size:10px;letter-spacing:.1em}
body.admin-body .admin-support-layout{
 height:calc(100dvh - 120px);
}
@media(max-width:760px){
 body.admin-body .admin-main{padding:14px 11px 23px}
 body.admin-body .admin-view{padding:58px 0 20px}
 body.admin-body .admin-app{display:block!important;grid-template-columns:1fr!important}
 body.admin-body .admin-mobile-menu{
  display:grid!important;place-items:center!important;
  position:fixed!important;left:12px;top:12px;z-index:88;
  width:42px;height:42px;border:1px solid var(--ui-line)!important;
  border-radius:13px;background:rgba(54,73,84,.87)!important;
  color:var(--ui-text)!important;font-size:21px;
  backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
 }
 body.admin-body .admin-metrics{gap:9px}
 body.admin-body .admin-metrics article{min-height:108px;padding:13px}
 body.admin-body .admin-metrics strong{font-size:26px}
 body.admin-body .admin-support-layout{height:calc(100dvh - 184px)}
}
@media(min-width:761px){
 body.admin-body .admin-mobile-menu{display:none!important}
}
/* Small-screen containment: keep support actions inside the viewport. */
@media(max-width:760px){
 body.admin-body :is(.admin-main,.admin-view,#supportView,.admin-support-toolbar,
 .admin-support-layout,.admin-ticket-list-panel,.admin-thread-panel){
  min-width:0!important;max-width:100%!important;
 }
 body.admin-body #supportView .admin-support-toolbar{
  display:grid!important;grid-template-columns:minmax(0,1fr)!important;
  gap:10px!important;
 }
 body.admin-body #supportView .admin-filter-group{
  display:flex;flex-wrap:wrap;justify-content:flex-start;
 }
 body.admin-body #supportView .admin-support-layout{
  display:grid!important;grid-template-columns:minmax(0,1fr)!important;
  overflow:hidden!important;
 }
 body.admin-body #supportView .admin-ticket-list-panel{
  width:100%!important;min-width:0!important;
 }
 body.admin-body #supportView .admin-ticket-list-head{
  min-width:0!important;padding-inline:12px!important;
 }
 body.admin-body #supportView .admin-ticket-list-head button{
  flex:0 0 auto;
 }
}

/* Safety net for new or seldom-used admin controls: inherited neutral hover.
   Explicit status/danger/primary controls above keep their semantic treatment. */
body.admin-body :is(.admin-view,.admin-user-drawer,.admin-bg-panel)
 button:not(:disabled):not(.is-active):not(.admin-primary)
 :not(.admin-reply-send):not(.is-danger):not(.admin-mobile-menu)
 :not(.admin-bg-trigger):not(.admin-bg-close)
 :not([aria-pressed="true"]):hover{
 background-color:var(--ui-hover)!important;
 border-color:var(--ui-line)!important;
 color:var(--ui-text)!important;
}
body.admin-body :is(.admin-view,.admin-user-drawer) :is(
 .admin-panel-link,.admin-quick-list a,.admin-ticket-link
):hover{
 color:var(--ui-text)!important;
 background:var(--ui-hover)!important;
}
/* Never obscure destructive-action warnings with the generic hover. */
body.admin-body :is(.admin-user-danger-zone,.admin-danger-zone)
 button:hover:not(:disabled){
 background:rgba(159,67,78,.20)!important;
 border-color:rgba(255,153,160,.42)!important;
 color:#ffd2d3!important;
}
/* ===== LEGACY_COVERAGE ===== */
/* Cover less-common screens still present in admin.css.
   Keep semantic error/warning/success indicators separate from the theme. */
body.admin-body :is(.admin-tool-button,.admin-copy-button,.admin-ticket-more,
 .admin-action-grid button:not(.is-danger),.admin-active-filter,
 .admin-thread-customer,.admin-user-access-grid article,
 .admin-action-result,.admin-tool-result,.admin-device-icon,
 .admin-drawer-section-head>span:not(.admin-status):not(.admin-readonly-badge)){
 background:var(--ui-control)!important;
 border-color:var(--ui-line)!important;
 color:var(--ui-text)!important;
}
body.admin-body :is(.admin-tool-button,.admin-copy-button,.admin-ticket-more,
 .admin-action-grid button:not(.is-danger),.admin-thread-customer,
 .admin-active-filter):hover:not(:disabled){
 background:var(--ui-hover)!important;
 border-color:var(--ui-line)!important;
 color:var(--ui-text)!important;
}
body.admin-body .admin-active-filter{
 background:var(--ui-selection)!important;
 box-shadow:inset 0 -2px 0 var(--ui-ring)!important;
}
body.admin-body :is(.admin-attention-item:hover,
 .admin-thread-customer:hover,.admin-dialog-close:hover){
 background:var(--ui-hover)!important;
}
body.admin-body .admin-device-icon{
 color:var(--ui-subtext)!important;
}
body.admin-body .admin-timeline-row>i{
 background:rgba(63,80,89,.75)!important;
 border-color:var(--ui-ring)!important;
}
body.admin-body .admin-timeline-row:not(:last-child)>i::after{
 background:var(--ui-line)!important;
}
body.admin-body .admin-action-dialog{
 background:rgba(var(--admin-glass-rgb),.90)!important;
 border-color:var(--ui-line)!important;
 color:var(--ui-text)!important;
 backdrop-filter:blur(var(--admin-card-blur,24px))!important;
 -webkit-backdrop-filter:blur(var(--admin-card-blur,24px))!important;
 box-shadow:0 22px 70px rgba(5,12,18,.36)!important;
}
body.admin-body .admin-action-dialog::backdrop{
 background:rgba(5,12,18,.55)!important;
 backdrop-filter:blur(6px)!important;
}
body.admin-body .admin-action-dialog :is(input,select,textarea){
 background:var(--ui-control)!important;
 border-color:var(--ui-line)!important;
 color:var(--ui-text)!important;
}
body.admin-body :is(.admin-action-result,.admin-tool-result) code{
 color:var(--ui-subtext)!important;
}
body.admin-body .admin-tool-result a{
 color:var(--ui-text)!important;
 text-decoration:underline;text-underline-offset:3px;
}
body.admin-body .admin-action-warning{
 background:rgba(190,129,51,.15)!important;
 border-color:rgba(239,191,110,.32)!important;
 color:#ffe3b4!important;
}
body.admin-body .admin-attention-panel .admin-panel-head>strong{
 background:rgba(174,65,80,.18)!important;
 color:#ffb2b7!important;
}
/* ===== GLASS_AND_CHART ===== */
/*
 * Glass & chart finish. No decorative shadows. Palette is controlled by
 * --admin-glass-rgb, --admin-panel-opacity, --admin-card-blur and --admin-accent.
 * Chart contrast variables are set by admin-glass-settings.js.
 */
body.admin-body,
body.admin-body *,
body.admin-body *::before,
body.admin-body *::after{
  box-shadow:none!important;
  text-shadow:none!important;
}
/* The only appearance variable affecting glass tint: the chosen RGB.
   It must never be mixed with a fixed blue background or a fixed warm glow. */
body.admin-body :is(
 .admin-panel,.admin-table-card,.admin-server-card,
 .admin-host-card,.admin-node-card,.admin-ru-card,
 .admin-support-layout,.admin-user-drawer,.admin-auth-card,
 .admin-user-profile-card,.admin-user-actions-card,.admin-user-tech-strip,
 .admin-user-summary article,.admin-user-tech-grid article,
 .admin-metrics article,.admin-overview-metrics article,
 .admin-broadcast-schedule,.admin-audience-cards button
){
 background:var(--admin-glass-surface)!important;
 background-image:none!important;
 border-color:var(--admin-glass-border,rgba(255,255,255,.25))!important;
 backdrop-filter:blur(var(--admin-card-blur,24px))!important;
 -webkit-backdrop-filter:blur(var(--admin-card-blur,24px))!important;
}
body.admin-body #broadcastView :is(.admin-panel,.admin-audience-cards button){
 background:var(--admin-glass-surface)!important;
 border-color:var(--admin-glass-border,rgba(255,255,255,.25))!important;
}
body.admin-body .admin-user-drawer :is(
 .admin-user-profile-card,.admin-user-actions-card,.admin-user-tech-strip,
 .admin-user-summary article,.admin-user-tech-grid article
){
 background:var(--admin-glass-surface)!important;
 border-color:var(--admin-glass-border,rgba(255,255,255,.25))!important;
}
body.admin-body .admin-overview-metrics article::after{display:none!important}
body.admin-body .admin-brand img{filter:none!important}
body.admin-body :is(.admin-sidebar,.admin-sidebar:hover,
 .admin-sidebar:focus-within,.admin-bg-panel,.admin-bg-trigger){
 box-shadow:none!important;
}
body.admin-body .admin-sidebar{
 background:rgba(var(--admin-glass-rgb),.62)!important;
 border-color:var(--admin-glass-border,rgba(255,255,255,.25))!important;
}
/* Tooltip follows the selected accent, without becoming an opaque colored box. */
body.admin-body .admin-rail-tooltip{
 background:color-mix(in srgb,var(--admin-accent) 14%,rgba(var(--admin-glass-rgb),.96))!important;
 border:1px solid var(--admin-accent)!important;
 color:var(--ui-text)!important;
 box-shadow:none!important;
}
/* Retain accent identification after eliminating inset shadows. */
body.admin-body :is(
 .admin-chart-periods button,.admin-chart-series button,
 .admin-filter-group button,.admin-user-filters button,
 .admin-user-tabs button,.admin-subtabs button,
 .admin-users-pagination button,.admin-audience-cards button
).is-active{
 border-bottom:2px solid var(--admin-accent)!important;
 box-shadow:none!important;
}
body.admin-body .admin-nav-item.is-active{
 border-left:2px solid var(--admin-accent)!important;
 box-shadow:none!important;
}
body.admin-body .admin-ticket-item.is-active{
 border-left:2px solid var(--admin-accent)!important;
 box-shadow:none!important;
}
/* The chart uses its full measured SVG viewport; the JS rebuilds on resize. */
body.admin-body .admin-chart-panel{
 min-width:0;display:flex;flex-direction:column;min-height:0;
}
body.admin-body .admin-chart-panel>.admin-chart-wrap{
 height:clamp(205px,16vw,265px);
 flex:0 0 auto;min-width:0;width:100%;
 padding:8px 16px 16px;
}
body.admin-body .admin-chart-wrap svg{
 display:block;width:100%;height:100%;
 overflow:visible;
}
body.admin-body .admin-chart-grid{
 stroke:var(--admin-chart-grid,rgba(255,255,255,.16))!important;
 stroke-width:1!important;
}
body.admin-body .admin-chart-axis-label{
 fill:var(--admin-chart-label,#dedede)!important;
 font-size:11px!important;
}
body.admin-body .admin-chart-line{
 stroke:var(--admin-accent)!important;
 stroke-width:2.8!important;
 filter:none!important;
}
body.admin-body .admin-chart-area{
 fill:var(--admin-accent)!important;
 fill-opacity:.055!important;
 filter:none!important;
}
body.admin-body .admin-chart-dot,
body.admin-body .admin-chart-hover-dot{
 fill:rgba(var(--admin-glass-rgb),.94)!important;
 stroke:var(--admin-accent)!important;
}
body.admin-body .admin-chart-hover-guide{
 stroke:var(--admin-chart-grid,rgba(255,255,255,.16))!important;
 stroke-dasharray:4 5;
}
body.admin-body .admin-chart-tooltip rect{
 fill:rgba(var(--admin-glass-rgb),.96)!important;
 stroke:var(--admin-accent)!important;
 stroke-width:1!important;filter:none!important;
}
body.admin-body .admin-chart-tooltip-value{
 fill:var(--admin-chart-tooltip-text,#f5f5f5)!important;
}
body.admin-body .admin-chart-tooltip-date{
 fill:var(--admin-chart-label,#dedede)!important;
}
body.admin-body .admin-chart-summary span{
 color:var(--ui-subtext)!important;
}
/* On lighter glass, use dark text and subtle dark borders. */
body.admin-body[data-glass-contrast="light"] :is(
 .admin-panel,.admin-metrics article,.admin-table-card,
 .admin-user-drawer,.admin-user-profile-card,.admin-user-actions-card,
 .admin-host-card,.admin-node-card,.admin-bg-panel
){
 color:var(--ui-text)!important;
 border-color:var(--admin-glass-border)!important;
}
body.admin-body[data-glass-contrast="light"] :is(
 .admin-panel-head h3,.admin-metrics article strong,
 .admin-event-main strong,.admin-chart-summary strong,
 .admin-user-drawer h2,.admin-user-drawer h3,.admin-user-drawer strong,
 #broadcastView .admin-panel-head h3,#broadcastView .admin-broadcast-item h4,
 .admin-host-card h3,.admin-node-card h3
){
 color:var(--ui-text)!important;
}
body.admin-body[data-glass-contrast="light"] :is(
 .admin-metrics article span,.admin-metrics article small,
 .admin-panel-head p,.admin-chart-summary span,
 .admin-event-main span,.admin-event-time,
 #broadcastView .admin-broadcast-item p,.admin-user-drawer small
){
 color:var(--ui-subtext)!important;
}
body.admin-body .admin-bg-panel :is(h2,label,p,output){
 color:var(--ui-text)!important;
}
body.admin-body .admin-bg-panel :is(input[type="url"],input[type="file"]){
 color:var(--ui-text)!important;
}
@media(max-width:760px){
 body.admin-body .admin-chart-panel{min-height:0}
 body.admin-body .admin-chart-panel>.admin-chart-wrap{
  height:215px;min-height:0;padding:9px 9px 15px;
 }
}
/* Compact, corner-anchored appearance popover. Keep all controls accessible. */
body.admin-body .admin-bg-panel{
 padding:15px 17px!important;
 width:min(375px,calc(100vw - 24px));
 border-radius:17px!important;
}
body.admin-body .admin-bg-panel h2{
 font-size:17px!important;
 line-height:1.25;
 margin:0 35px 4px 0!important;
}
body.admin-body .admin-bg-panel p{
 font-size:11px!important;line-height:1.4;
 margin:0 0 6px!important;
}
body.admin-body .admin-bg-panel label{
 display:block;margin:8px 0 4px!important;
 font-size:11px!important;line-height:1.3;
}
body.admin-body .admin-bg-panel :is(input[type="url"],input[type="file"]){
 padding:8px 9px!important;min-height:36px;
 font-size:11px!important;
}
body.admin-body .admin-bg-panel .admin-glass-control{
 margin-top:7px!important;gap:2px!important;
}
body.admin-body .admin-bg-panel .admin-glass-control label{
 margin:0!important;
}
body.admin-body .admin-bg-panel .admin-glass-control>div{
 min-height:22px;
}
body.admin-body .admin-bg-panel .admin-glass-control input[type="range"]{
 margin:1px 0!important;height:15px;
}
body.admin-body .admin-bg-panel .admin-glass-control input[type="color"]{
 width:42px!important;height:29px!important;
}
body.admin-body .admin-bg-panel .admin-bg-actions{
 gap:6px!important;margin-top:9px!important;
}
body.admin-body .admin-bg-panel .admin-bg-actions button{
 padding:8px 10px!important;
 font-size:11px!important;line-height:1.2;
}
body.admin-body .admin-bg-panel #adminBgStatus{
 min-height:0!important;margin:5px 0 0!important;
}
@media(max-width:760px){
 body.admin-body .admin-bg-panel{
  width:min(360px,calc(100vw - 20px));
  padding:14px 15px!important;
 }
}

/* One glass material for the rail, settings popover, and all main cards.
 * The material uses precisely the HSL color and alpha chosen by the user;
 * backdrop brightness bounds contrast even with an arbitrary photo behind.
 * There is no opaque, fixed-tint exception for the rail or the popover.
 */
body.admin-body :is(
  .admin-sidebar,.admin-bg-panel,.admin-bg-trigger,
  .admin-panel,.admin-metrics article,.admin-table-card,.admin-host-card,
  .admin-node-card,.admin-ru-card,.admin-server-card,.admin-support-layout,
  .admin-user-drawer,.admin-user-profile-card,.admin-user-actions-card,
  .admin-user-tech-strip,.admin-user-summary article,
  .admin-broadcast-schedule,.admin-audience-cards button
){
  background-color:var(--admin-glass-surface)!important;
  background-image:var(--admin-readability-scrim,none)!important;
  border-color:var(--admin-glass-border,rgba(255,255,255,.25))!important;
  backdrop-filter:blur(var(--admin-card-blur,24px)) brightness(var(--admin-backdrop-brightness,.36))!important;
  -webkit-backdrop-filter:blur(var(--admin-card-blur,24px)) brightness(var(--admin-backdrop-brightness,.36))!important;
}
body.admin-body .admin-sidebar:is(:hover,:focus-within),
body.admin-body #broadcastView :is(.admin-panel,.admin-audience-cards button),
body.admin-body .admin-user-drawer :is(
  .admin-user-profile-card,.admin-user-actions-card,.admin-user-tech-strip,
  .admin-user-summary article
){
  background-color:var(--admin-glass-surface)!important;
  background-image:var(--admin-readability-scrim,none)!important;
}
body.admin-body :is(.admin-sidebar,.admin-bg-panel,.admin-bg-trigger)
{color:var(--ui-text)!important}
body.admin-body .admin-bg-panel :is(h2,h3,label,p,output),
body.admin-body .admin-bg-panel .admin-glass-control :is(label,output),
body.admin-body .admin-bg-panel #adminBgStatus{
  color:var(--ui-text)!important;
}
body.admin-body .admin-bg-panel :is(input[type="url"],input[type="file"]){
  color:var(--ui-text)!important;
  border-color:var(--ui-line)!important;
}
body.admin-body .admin-bg-panel .admin-bg-actions button:not(:first-child){
  color:var(--ui-text)!important;
  border-color:var(--ui-line)!important;
}
body.admin-body .admin-bg-trigger{color:var(--ui-text)!important}
body.admin-body .admin-sidebar .admin-nav-item,
body.admin-body .admin-sidebar .admin-nav-item>span,
body.admin-body .admin-sidebar .admin-sidebar-bottom :is(a,button){
  color:var(--ui-text)!important;
}
body.admin-body .admin-sidebar .admin-nav-item:is(:hover,.is-active){
  color:var(--ui-text)!important;
}
/* Typography follows the computed foreground mode, not stale palette CSS.
 * Semantic badges (live/warning/errors) remain colored by status rules. */
body.admin-body :is(
 .admin-panel,.admin-metrics article,.admin-user-drawer,
 .admin-bg-panel,.admin-host-card,.admin-node-card,.admin-support-layout
) :is(h1,h2,h3,h4,h5,strong){
  color:var(--ui-text)!important;
}
body.admin-body :is(
 .admin-panel,.admin-metrics article,.admin-user-drawer,
 .admin-host-card,.admin-node-card,.admin-support-layout
) :is(dt,small,time){
  color:var(--ui-subtext)!important;
}
body.admin-body .admin-chart-summary,
body.admin-body .admin-chart-summary strong{
  color:var(--ui-text)!important;
}
body.admin-body .admin-chart-summary span{
  color:var(--ui-subtext)!important;
}
/* The popover isn't a separate opacity/tone system; its title,
 * input labels and controls must adapt on very bright glass, too. */
body.admin-body[data-glass-contrast="light"] .admin-bg-panel
 :is(input[type="url"],input[type="file"]){
  background:rgba(255,255,255,.22)!important;
}
/* HSL sliders must update all surfaces in the same paint frame.
   Previous card background-color transitions delayed cards by 220ms,
   while rail and appearance popover changed immediately. */
body.admin-body :is(
  .admin-panel,.admin-chart-panel,.admin-metrics article,
  .admin-table-card,.admin-sidebar,.admin-bg-panel,.admin-bg-trigger,
  .admin-host-card,.admin-node-card,.admin-ru-card,.admin-server-card,
  .admin-support-layout,.admin-user-drawer,
  .admin-user-profile-card,.admin-user-actions-card,.admin-user-tech-strip,
  .admin-user-summary article,.admin-broadcast-schedule,
  .admin-audience-cards button
){
  transition-property:none!important;
}
/* Muted metadata remains readable over photos; do not use disabled-looking
   low-contrast palette values for normal-size explanatory text. */
body.admin-body :is(
 .admin-panel,.admin-metrics article,.admin-host-card,
 .admin-node-card,.admin-user-drawer,.admin-support-layout
) :is(p,small,time,dt){
 color:var(--ui-subtext)!important;
 opacity:1!important;
}
body.admin-body :is(.admin-metrics article,.admin-user-summary article)
 :is(span,small){
 color:var(--ui-subtext)!important;
 opacity:1!important;
}
body.admin-body .admin-sidebar-bottom :is(a,button),
body.admin-body .admin-sidebar .admin-nav-item{opacity:1!important}

/* Background manager: clipboard paste and locally remembered previews. */
body.admin-body .admin-bg-paste-row{display:flex;gap:8px;margin:10px 0 14px}
body.admin-body .admin-bg-paste-row button{
 flex:1;padding:11px;border-radius:10px;border:1px solid var(--ui-line);
 color:var(--ui-text);background:rgba(var(--admin-glass-rgb),.6);cursor:pointer;font:700 13px inherit
}
body.admin-body #adminBgPaste{background:var(--admin-accent);color:#151515}
body.admin-body .admin-bg-history-title{font-size:12px;font-weight:800;color:var(--ui-text);margin-bottom:9px}
body.admin-body .admin-bg-history{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-bottom:12px}
body.admin-body .admin-bg-thumb{
 padding:3px;height:61px;border:1px solid var(--ui-line);border-radius:9px;
 background:transparent;cursor:pointer;overflow:hidden
}
body.admin-body .admin-bg-thumb.is-current{outline:2px solid var(--admin-accent);outline-offset:-3px}
body.admin-body .admin-bg-thumb-preview{display:block;width:100%;height:100%;border-radius:6px;background-size:cover;background-position:center}
body.admin-body .admin-bg-history-empty{grid-column:1/-1;color:var(--ui-subtext);font-size:11px;padding:9px 0}

/* Graphic-editor style HSL tracks; saturation and tone update as hue changes. */
body.admin-body .admin-bg-panel :is(#adminGlassHue,#adminGlassSaturation,#adminGlassTone,#adminGlassTransparency){
 appearance:none;-webkit-appearance:none;height:13px;border:1px solid var(--ui-line);
 border-radius:99px;background:var(--range-preview)!important;overflow:visible
}
body.admin-body .admin-bg-panel :is(#adminGlassHue,#adminGlassSaturation,#adminGlassTone,#adminGlassTransparency)::-webkit-slider-thumb{
 -webkit-appearance:none;width:19px;height:19px;border-radius:50%;
 border:2px solid #fff;background:#333;box-shadow:0 0 0 1px #333!important;cursor:grab
}
body.admin-body .admin-bg-panel :is(#adminGlassHue,#adminGlassSaturation,#adminGlassTone,#adminGlassTransparency)::-moz-range-thumb{
 width:16px;height:16px;border-radius:50%;border:2px solid #fff;background:#333;cursor:grab
}

/* Contrast-critical surfaces: table body, column headers, search/filter
   controls and secondary labels must follow the same glass foreground.
   Table backgrounds cannot use old hardcoded white/blue values. */
body.admin-body .admin-users-card,
body.admin-body .admin-users-card :is(.admin-table-wrap,.admin-table,.admin-users-table,thead,tbody,tr,td,th),
body.admin-body .admin-table-card :is(.admin-table-wrap,.admin-table,thead,tbody,tr,td,th){
 background-color:transparent!important;background-image:none!important;
}
body.admin-body .admin-users-card :is(.admin-table th,.admin-table td,.admin-cell-main,.admin-cell-sub),
body.admin-body .admin-table-card :is(.admin-table th,.admin-table td,.admin-cell-main,.admin-cell-sub){
 color:var(--ui-text)!important;opacity:1!important;
}
body.admin-body .admin-users-card :is(.admin-table th,.admin-cell-sub),
body.admin-body .admin-table-card :is(.admin-table th,.admin-cell-sub){
 color:var(--ui-subtext)!important;
}
body.admin-body :is(.admin-user-row,.admin-table tbody tr[data-customer-id]):hover{
 background:color-mix(in srgb,var(--admin-accent) 9%,transparent)!important
}
body.admin-body :is(.admin-search,.admin-user-filters button,.admin-user-filters .is-active,
 .admin-users-toolbar,.admin-users-sort,.admin-user-sort,.admin-filter-group button){
 color:var(--ui-text)!important;
}
body.admin-body :is(.admin-search input,.admin-search input::placeholder,
 .admin-users-sort select,.admin-user-sort select){
 color:var(--ui-text)!important;opacity:1!important
}
/* The backdrop must not permanently darken a white HSL tone.
   Readability is handled by the adaptive neutral scrim instead. */
body.admin-body :is(.admin-panel,.admin-table-card,.admin-sidebar,.admin-bg-panel,
 .admin-metrics article,.admin-user-drawer,.admin-bg-trigger){
 backdrop-filter:blur(var(--admin-card-blur,24px))!important;
 -webkit-backdrop-filter:blur(var(--admin-card-blur,24px))!important;
}
/* A combined background shorthand prevents older !important background rules
   from dropping the contrast matte on metrics and tables. */
body.admin-body :is(.admin-panel,.admin-chart-panel,.admin-metrics article,
 .admin-table-card,.admin-users-card,.admin-sidebar,.admin-bg-panel,
 .admin-bg-trigger,.admin-host-card,.admin-node-card,.admin-user-drawer,
 .admin-user-profile-card,.admin-user-actions-card,.admin-user-tech-strip,
 .admin-user-summary article,.admin-support-layout){
 background:var(--admin-readability-scrim,none),var(--admin-glass-surface)!important;
}
body.admin-body .admin-metrics article :is(span,strong,small){
 color:var(--ui-text)!important;opacity:1!important
}

/* True material alpha. No neutral contrast matte or opaque fallback.
   100% transparency means no color fill at all, including on the sidebar,
   background picker and nested card surfaces. */
body.admin-body::after{background:none!important;display:none!important}
body.admin-body.has-custom-background{
 background-image:none!important;
 background-color:transparent!important;
}
body.admin-body :is(
 .admin-panel,.admin-chart-panel,.admin-metrics article,
 .admin-table-card,.admin-users-card,.admin-sidebar,.admin-bg-panel,
 .admin-bg-trigger,.admin-host-card,.admin-node-card,.admin-ru-card,
 .admin-server-card,.admin-user-drawer,.admin-user-profile-card,
 .admin-user-actions-card,.admin-user-tech-strip,
 .admin-user-summary article,.admin-user-tech-grid article,
 .admin-support-layout,.admin-ticket-list-panel,.admin-thread-panel,
 .admin-thread-active,.admin-thread-messages,.admin-broadcast-card,
 .admin-broadcast-panel,.admin-broadcast-schedule,.admin-audience-cards button
){
 background:var(--admin-glass-surface)!important;
 background-image:none!important;
}
body.admin-body .admin-sidebar:is(:hover,:focus-within){
 background:var(--admin-glass-surface)!important;
 background-image:none!important;
}
body.admin-body .admin-bg-panel :is(.admin-bg-paste-row button,.admin-bg-actions button:not(#adminGlassReset),input[type="color"]){
 border-color:var(--ui-line)!important;
}

/* Photograph-aware fallback for transparent glass.
   Text protection is independent from the glass fill and its opacity. */
body.admin-body[data-glass-photo-contrast="true"] :is(
 .admin-main,.admin-panel,.admin-metrics,.admin-sidebar,.admin-bg-panel,
 .admin-table-card,.admin-users-card,.admin-support-layout,.admin-host-card,
 .admin-server-card,.admin-user-drawer,.admin-bg-trigger
) :is(h1,h2,h3,h4,h5,h6,p,span,small,strong,label,output,th,td,a,button){
 text-shadow:var(--admin-text-halo)!important;
}
body.admin-body[data-glass-photo-contrast="true"] :is(
 .admin-main,.admin-panel,.admin-metrics,.admin-sidebar,.admin-bg-panel,
 .admin-table-card,.admin-users-card,.admin-support-layout,.admin-host-card,
 .admin-server-card,.admin-user-drawer
) :is(h1,h2,h3,h4,h5,h6,th,strong){
 color:var(--ui-text)!important;
}
body.admin-body[data-glass-photo-contrast="true"] :is(
 .admin-main,.admin-panel,.admin-metrics,.admin-sidebar,.admin-bg-panel,
 .admin-table-card,.admin-users-card,.admin-support-layout,.admin-host-card,
 .admin-server-card,.admin-user-drawer
) :is(p,small,label,td){
 color:var(--ui-subtext)!important;
}


body.admin-body .admin-contrast-control .admin-contrast-label{
 display:block;margin:17px 0 7px;font-weight:800;font-size:12px;
}
body.admin-body .admin-contrast-buttons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
body.admin-body .admin-contrast-buttons button{
 min-height:39px;padding:7px 4px;border-radius:10px;cursor:pointer;
 border:1px solid var(--ui-line);background:rgba(var(--admin-glass-rgb),.24);
 color:var(--ui-text);font:700 12px "Onest",system-ui;box-shadow:none!important;
}
body.admin-body .admin-contrast-buttons button.is-active{
 border-color:var(--admin-accent);background:var(--admin-accent);
 color:#172025;
}
body.admin-body .admin-contrast-buttons button:focus-visible{
 outline:2px solid var(--admin-accent);outline-offset:2px;
}

/* Appearance controls are a distinct tool surface, independent of the
   configured page glass transparency and photo contrast. */
body.admin-body .admin-bg-dialog .admin-bg-panel{
 --ui-text:#f6f7f8;
 --ui-subtext:#c5cbd0;
 --ui-line:rgba(255,255,255,.24);
 --ui-control:#35383c;
 color:#f6f7f8!important;
 background:rgba(24,26,29,.96)!important;
 background-image:none!important;
 border:1px solid rgba(255,255,255,.34)!important;
 backdrop-filter:blur(36px) saturate(1.05)!important;
 -webkit-backdrop-filter:blur(36px) saturate(1.05)!important;
 color-scheme:dark;
}
body.admin-body .admin-bg-dialog .admin-bg-panel :is(h2,h3,label,output,p,small,.admin-contrast-label){color:#f6f7f8!important;text-shadow:none!important}
body.admin-body .admin-bg-dialog .admin-bg-panel :is(button:not(.is-active),input:not([type="range"]),select){color:#f6f7f8!important;text-shadow:none!important}
body.admin-body .admin-bg-dialog .admin-bg-panel .admin-contrast-buttons button:not(.is-active){background:#373b40!important;border-color:rgba(255,255,255,.26)!important}
body.admin-body .admin-bg-dialog .admin-bg-panel .admin-contrast-buttons button.is-active{color:#172025!important}
body.admin-body .admin-bg-dialog .admin-bg-panel :is(.admin-bg-paste-row button,.admin-bg-actions button){border-color:rgba(255,255,255,.27)!important}
body.admin-body .admin-bg-dialog .admin-bg-panel #adminBgStatus{color:#d7dde0!important}


/* Five top-level Overview KPI cards, without changing other admin grids. */
body.admin-body #overviewView .admin-overview-metrics{
 grid-template-columns:repeat(5,minmax(0,1fr))!important;
}
body.admin-body #overviewView .admin-overview-metrics article{
 min-width:0;
}
body.admin-body #overviewView .admin-overview-metrics article>span{
 overflow-wrap:anywhere;
}
@media(max-width:1240px){
 body.admin-body #overviewView .admin-overview-metrics{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
 }
}
@media(max-width:850px){
 body.admin-body #overviewView .admin-overview-metrics{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
 }
}
@media(max-width:520px){
 body.admin-body #overviewView .admin-overview-metrics{
  grid-template-columns:minmax(0,1fr)!important;
 }
}

/* Six Overview KPI tiles; three columns on medium widths and balanced rows on mobile. */
@media(min-width:1241px){
 body.admin-body #overviewView .admin-overview-metrics{
   grid-template-columns:repeat(6,minmax(0,1fr))!important;
 }
}

/* Users table: fit available card width without a horizontal scrollbar. */
body.admin-body .admin-users-card .admin-table-wrap{overflow-x:hidden}
body.admin-body .admin-users-card .admin-users-table{width:100%;min-width:0;table-layout:fixed}
body.admin-body .admin-users-card .admin-users-table th{min-width:0}
body.admin-body .admin-users-card .admin-users-table th:first-child{width:24%;min-width:0}
body.admin-body .admin-users-card .admin-users-table th:nth-child(2){width:9%}
body.admin-body .admin-users-card .admin-users-table th:nth-child(3){width:9%}
body.admin-body .admin-users-card .admin-users-table th:nth-child(4){width:8%}
body.admin-body .admin-users-card .admin-users-table th:nth-child(5){width:12%}
body.admin-body .admin-users-card .admin-users-table th:nth-child(6){width:11%}
body.admin-body .admin-users-card .admin-users-table th:nth-child(7){width:8%}
body.admin-body .admin-users-card .admin-users-table th:nth-child(8){width:8%}
body.admin-body .admin-users-card .admin-users-table th:nth-child(9){width:8%}
body.admin-body .admin-users-card .admin-users-table th:last-child{width:3%}
body.admin-body .admin-users-card .admin-users-table td{overflow:hidden;text-overflow:ellipsis}
body.admin-body .admin-users-card .admin-users-table :is(.admin-cell-main,.admin-cell-sub){max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* Account shortcut uses the same neutral rail button treatment as its peers. */
body.admin-body .admin-sidebar-bottom a[href="/account/"]{
  width:42px!important;height:42px!important;min-height:42px!important;
  border-radius:14px!important;
  background:rgba(var(--admin-glass-rgb),.10)!important;
  border:1px solid var(--ui-line)!important;
  color:var(--ui-text)!important;
}
body.admin-body .admin-sidebar-bottom a[href="/account/"]:hover,
body.admin-body .admin-sidebar-bottom a[href="/account/"]:focus-visible{
  background:rgba(var(--admin-glass-rgb),.22)!important;
  border-color:var(--admin-accent)!important;
}
body.admin-body .admin-sidebar-bottom a[href="/account/"]::after{display:none!important}

/* Broadcast audience picker: five compact choices in one horizontal row.
   Container queries prevent unreadable cards inside narrower split layouts. */
body.admin-body #broadcastView .admin-broadcast-form{container-type:inline-size}
body.admin-body #broadcastView .admin-audience-cards{
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  gap:8px!important;
}
body.admin-body #broadcastView .admin-audience-cards button{
  min-width:0;min-height:80px!important;padding:11px 12px!important;
  border-radius:13px!important;
}
body.admin-body #broadcastView .admin-audience-cards button span{
  font-size:10px!important;line-height:1.28!important;
  overflow-wrap:break-word;
}
body.admin-body #broadcastView .admin-audience-cards button b{
  margin-top:8px!important;font-size:23px!important;line-height:1!important;
}
@container (max-width:650px){
  body.admin-body #broadcastView .admin-audience-cards{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
}
@container (max-width:390px){
  body.admin-body #broadcastView .admin-audience-cards{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}

/* Overview: funnel beside chart, attention in third row. */
body.admin-body #overviewView .admin-trial-funnel-panel{min-width:0}
body.admin-body #overviewView .admin-trial-funnel-content{padding:2px 2px 0;display:grid;gap:8px}
body.admin-body #overviewView .admin-trial-funnel-rate{font-size:clamp(36px,3.5vw,53px);font-weight:750;line-height:1.06;letter-spacing:-.045em}
body.admin-body #overviewView .admin-trial-funnel-content>small{font-size:12px;opacity:.7}
body.admin-body #overviewView .admin-trial-funnel-details{display:grid;gap:12px;margin-top:10px}
body.admin-body #overviewView .admin-trial-funnel-details>div{display:flex;align-items:flex-start;gap:11px;line-height:1.4;font-size:12px}
body.admin-body #overviewView .admin-trial-funnel-details b{font-size:21px;min-width:25px;line-height:1.15;font-variant-numeric:tabular-nums}
body.admin-body #overviewView .admin-overview-secondary{grid-template-columns:minmax(220px,1fr) minmax(0,1.3fr) minmax(180px,.8fr) minmax(180px,.8fr)}
@media(max-width:1250px){body.admin-body #overviewView .admin-overview-secondary{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:750px){body.admin-body #overviewView .admin-overview-secondary{grid-template-columns:minmax(0,1fr)}}

/* Compact funnel: strong hierarchy, restrained progress indicator, full-height balance. */
body.admin-body #overviewView .admin-trial-funnel-panel{display:flex;flex-direction:column}
body.admin-body #overviewView .admin-trial-funnel-content{display:flex;flex:1;flex-direction:column;justify-content:space-between;gap:22px;padding:20px 22px 24px!important;min-height:0}
body.admin-body #overviewView .admin-trial-funnel-summary{display:flex;flex-direction:column;align-items:flex-start;gap:7px}
body.admin-body #overviewView .admin-trial-funnel-eyebrow{font-size:11px;letter-spacing:.045em;text-transform:uppercase;font-weight:650;opacity:.58}
body.admin-body #overviewView .admin-trial-funnel-rate{font-size:clamp(40px,3.4vw,57px)!important;line-height:1.04!important;letter-spacing:-.055em!important;font-weight:740!important;margin:2px 0 0}
body.admin-body #overviewView .admin-trial-funnel-summary>small{font-size:12px!important;opacity:.72;margin-top:2px}
body.admin-body #overviewView .admin-trial-funnel-track{height:6px;width:100%;overflow:hidden;border-radius:99px;background:rgba(150,165,180,.15);margin-top:15px}
body.admin-body #overviewView .admin-trial-funnel-track>span{display:block;height:100%;width:0;border-radius:inherit;background:var(--admin-accent,#79c8ed);transition:width .6s cubic-bezier(.2,.8,.2,1)}
body.admin-body #overviewView .admin-trial-funnel-details{margin:0!important;gap:0!important;border-top:1px solid rgba(160,175,190,.14)}
body.admin-body #overviewView .admin-trial-funnel-details>div{display:grid!important;grid-template-columns:18px minmax(0,1fr) 30px;align-items:center!important;gap:10px!important;min-height:65px;padding:11px 0;border-bottom:1px solid rgba(160,175,190,.11);font-size:12px!important;line-height:1.35!important}
body.admin-body #overviewView .admin-trial-funnel-details>div:last-child{border-bottom:0}
body.admin-body #overviewView .admin-trial-funnel-detail-icon{font-size:17px;opacity:.45;text-align:center}
body.admin-body #overviewView .admin-trial-funnel-details b{font-size:21px!important;min-width:0!important;text-align:right;font-weight:700;line-height:1.1!important}
@media(max-width:750px){body.admin-body #overviewView .admin-trial-funnel-content{padding:17px 18px 20px!important;gap:22px}}

/* Trial funnel typography aligned with the rest of Overview. */
body.admin-body #overviewView .admin-trial-funnel-rate{font-size:40px!important;font-weight:720!important;letter-spacing:-.025em!important;line-height:1.18!important;font-variant-numeric:tabular-nums;white-space:nowrap}
body.admin-body #overviewView .admin-trial-funnel-details>div{grid-template-columns:18px minmax(0,1fr) 42px!important;column-gap:12px!important;min-height:65px}
body.admin-body #overviewView .admin-trial-funnel-details>div>span:nth-child(2){min-width:0;overflow-wrap:normal;line-height:1.45}
body.admin-body #overviewView .admin-trial-funnel-details b{font-size:19px!important;letter-spacing:0!important;white-space:nowrap;font-variant-numeric:tabular-nums;justify-self:end;padding-left:7px}
body.admin-body #overviewView .admin-trial-funnel-summary>small{letter-spacing:0!important}
@media(max-width:750px){body.admin-body #overviewView .admin-trial-funnel-rate{font-size:36px!important}}

/* Two-column Overview: four KPIs above chart; retention above trial funnel. */
body.admin-body #overviewView .admin-overview-split{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(290px,.72fr);gap:10px;align-items:stretch}
body.admin-body #overviewView .admin-overview-column{min-width:0;display:flex;flex-direction:column;gap:10px}
body.admin-body #overviewView .admin-overview-chart-metrics{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:10px}
body.admin-body #overviewView .admin-overview-retention-metrics{display:grid!important;grid-template-columns:minmax(0,1fr)!important}
body.admin-body #overviewView .admin-overview-split .admin-overview-metrics article{min-height:116px;box-sizing:border-box}
body.admin-body #overviewView .admin-overview-split .admin-overview-retention-metrics article{padding:16px 19px}
body.admin-body #overviewView .admin-overview-split .admin-overview-retention-metrics small{font-size:11px;line-height:1.45!important}
body.admin-body #overviewView .admin-overview-split .admin-chart-panel,body.admin-body #overviewView .admin-overview-split .admin-trial-funnel-panel{flex:1;min-height:0}
@media(max-width:1240px){body.admin-body #overviewView .admin-overview-chart-metrics{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:850px){body.admin-body #overviewView .admin-overview-split{grid-template-columns:minmax(0,1fr)}body.admin-body #overviewView .admin-overview-chart-metrics{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:520px){body.admin-body #overviewView .admin-overview-chart-metrics{grid-template-columns:repeat(2,minmax(0,1fr))!important}}

/* Single purchase-path card: occupies the previous retention + trial-funnel slots. */
body.admin-body #overviewView .admin-purchase-path-panel{
  display:flex;flex:1;flex-direction:column;min-width:0;
}
body.admin-body #overviewView .admin-purchase-path-head{
  display:flex;justify-content:space-between;align-items:center;gap:12px;
}
body.admin-body #overviewView .admin-purchase-path-period{
  font-size:10px;font-weight:600;color:var(--ui-subtext,#aab1b9);white-space:nowrap;
}
body.admin-body #overviewView .admin-purchase-path-body{
  display:flex;flex:1;flex-direction:column;justify-content:space-between;
  gap:20px;padding:20px 22px 22px;min-width:0;
}
body.admin-body #overviewView .admin-purchase-path-label{
  display:block;font-size:11px;font-weight:700;line-height:1.35;
  color:var(--ui-subtext,#b8bec5);
}
body.admin-body #overviewView .admin-purchase-path-buyers{
  display:flex;align-items:end;justify-content:space-between;gap:12px;
}
body.admin-body #overviewView .admin-purchase-path-total{
  display:block;margin-top:4px;font-size:37px;line-height:1.13;letter-spacing:0;
  font-weight:750;font-variant-numeric:tabular-nums;color:var(--ui-text,#fff);
}
body.admin-body #overviewView .admin-purchase-path-buyers-note{
  max-width:118px;text-align:right;font-size:10px;line-height:1.35;
  color:var(--ui-subtext,#aab1b9);
}
body.admin-body #overviewView .admin-purchase-path-channels{
  display:grid;gap:14px;
}
body.admin-body #overviewView .admin-purchase-path-channel-top{
  display:flex;justify-content:space-between;align-items:baseline;gap:12px;
  margin-bottom:8px;font-size:12px;line-height:1.4;
}
body.admin-body #overviewView .admin-purchase-path-channel-top>span:first-child{
  min-width:0;flex:1;
}
body.admin-body #overviewView .admin-purchase-path-channel-top>span:last-child{
  white-space:nowrap;font-variant-numeric:tabular-nums;
}
body.admin-body #overviewView .admin-purchase-path-channel-top b{
  font-size:15px;font-weight:750;
}
body.admin-body #overviewView .admin-purchase-path-channel-top small{
  font-size:11px;opacity:.68;margin-left:3px;
}
body.admin-body #overviewView .admin-purchase-path-track{
  height:6px;width:100%;background:rgba(156,169,181,.17);
  border-radius:999px;overflow:hidden;
}
body.admin-body #overviewView .admin-purchase-path-track>span{
  display:block;height:100%;width:0;border-radius:inherit;
  transition:width .5s cubic-bezier(.2,.8,.2,1);
}
body.admin-body #overviewView .admin-purchase-path-track-direct{
  background:var(--admin-accent,#71c8eb);
}
body.admin-body #overviewView .admin-purchase-path-track-trial{
  background:rgba(145,190,213,.68);
}
body.admin-body #overviewView .admin-purchase-path-trial{
  padding-top:16px;border-top:1px solid rgba(160,175,190,.16);
}
body.admin-body #overviewView .admin-purchase-path-heading{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
}
body.admin-body #overviewView .admin-purchase-path-heading small,
body.admin-body #overviewView .admin-purchase-path-retention-main small{
  display:block;margin-top:5px;font-size:11px;line-height:1.4;
  color:var(--ui-subtext,#aab1b9);
}
body.admin-body #overviewView .admin-purchase-path-percentage{
  font-size:28px;line-height:1.2;font-weight:750;letter-spacing:0;
  font-variant-numeric:tabular-nums;white-space:nowrap;
}
body.admin-body #overviewView .admin-purchase-path-trial-track{
  margin-top:13px;
}
body.admin-body #overviewView .admin-purchase-path-trial-track>span{
  background:var(--admin-accent,#71c8eb);
}
body.admin-body #overviewView .admin-purchase-path-trial-details{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;
  margin-top:14px;
}
body.admin-body #overviewView .admin-purchase-path-trial-details>div{
  min-width:0;padding:11px 9px;background:rgba(143,156,169,.075);
  border:1px solid rgba(160,175,190,.11);border-radius:10px;
  display:flex;flex-direction:column;gap:5px;
}
body.admin-body #overviewView .admin-purchase-path-trial-details b{
  font-size:23px;line-height:1;font-weight:750;font-variant-numeric:tabular-nums;
}
body.admin-body #overviewView .admin-purchase-path-trial-details span{
  font-size:10px;line-height:1.35;color:var(--ui-subtext,#b8bec5);
}
body.admin-body #overviewView .admin-purchase-path-retention{
  display:flex;justify-content:space-between;align-items:center;gap:12px;
  padding-top:16px;border-top:1px solid rgba(160,175,190,.16);
}
body.admin-body #overviewView .admin-purchase-path-retention-main{
  flex:1;min-width:0;
}
body.admin-body #overviewView .admin-purchase-path-retention-main small b{
  font-weight:700;color:var(--ui-text,#fff);
}
@media(max-width:1240px){
  body.admin-body #overviewView .admin-purchase-path-body{padding:17px 16px 18px;gap:17px}
  body.admin-body #overviewView .admin-purchase-path-trial-details>div{padding:9px 7px}
}
@media(max-width:850px){
  body.admin-body #overviewView .admin-purchase-path-body{gap:20px;padding:20px}
  body.admin-body #overviewView .admin-purchase-path-trial-details>div{padding:11px 10px}
}
/* Purchase path reference layout — keep Whale theme and palette. */
body.admin-body #overviewView .admin-purchase-path-period{border:1px solid var(--ui-line,rgba(190,204,214,.2));padding:6px 9px;border-radius:8px;font-size:10px}
body.admin-body #overviewView .admin-purchase-path-reference{display:flex;flex-direction:column;justify-content:space-between;gap:0;padding:17px 20px 20px;min-width:0}
body.admin-body #overviewView .admin-purchase-path-reference .admin-purchase-path-buyers{display:flex;flex-direction:column;align-items:flex-start;gap:4px}
body.admin-body #overviewView .admin-purchase-path-reference .admin-purchase-path-total{font-size:36px;line-height:1.12;letter-spacing:0;font-weight:750;margin-top:2px;font-variant-numeric:tabular-nums}
body.admin-body #overviewView .admin-purchase-path-reference .admin-purchase-path-buyers-note{max-width:none;text-align:left;font-size:10px;line-height:1.4}
body.admin-body #overviewView .admin-purchase-path-breakdown{margin:17px 0 18px;display:flex;flex-direction:column;gap:14px}
body.admin-body #overviewView .admin-purchase-path-stacked-track{width:100%;height:9px;display:flex;overflow:hidden;border-radius:99px;background:rgba(156,169,181,.17)}
body.admin-body #overviewView .admin-purchase-path-stacked-track>span{display:block;width:0;height:100%;flex:none;transition:width .5s cubic-bezier(.2,.8,.2,1)}
body.admin-body #overviewView .admin-purchase-path-stacked-track>.admin-purchase-path-track-direct{background:var(--admin-accent,#71c8eb)}
body.admin-body #overviewView .admin-purchase-path-stacked-track>.admin-purchase-path-track-trial{background:rgba(157,184,199,.76)}
body.admin-body #overviewView .admin-purchase-path-legend{display:flex;flex-direction:column;gap:11px}
body.admin-body #overviewView .admin-purchase-path-legend-item{min-width:0;display:grid;grid-template-columns:10px minmax(0,1fr) auto 45px;align-items:center;column-gap:9px;line-height:1.35}
body.admin-body #overviewView .admin-purchase-path-legend-swatch{width:9px;height:9px;border-radius:3px;display:block;background:var(--admin-accent,#71c8eb)}
body.admin-body #overviewView .admin-purchase-path-legend-swatch.is-trial-path{background:rgba(157,184,199,.76)}
body.admin-body #overviewView .admin-purchase-path-legend-item>span{font-size:11px;min-width:0;line-height:1.35}
body.admin-body #overviewView .admin-purchase-path-legend-item>b{font-size:15px;font-weight:750;font-variant-numeric:tabular-nums;text-align:right}
body.admin-body #overviewView .admin-purchase-path-legend-item>small{font-size:11px;text-align:right;color:var(--ui-subtext,#aab1b9);font-variant-numeric:tabular-nums}
body.admin-body #overviewView .admin-purchase-path-reference .admin-purchase-path-trial{padding:17px 0;border-top:1px solid var(--ui-line,rgba(160,175,190,.17))}
body.admin-body #overviewView .admin-purchase-path-reference .admin-purchase-path-retention{display:flex;flex-direction:column;align-items:stretch;gap:0;padding-top:17px;border-top:1px solid var(--ui-line,rgba(160,175,190,.17))}
body.admin-body #overviewView .admin-purchase-path-reference .admin-purchase-path-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}
body.admin-body #overviewView .admin-purchase-path-reference .admin-purchase-path-heading>div{flex:1;min-width:0}
body.admin-body #overviewView .admin-purchase-path-reference .admin-purchase-path-heading h4{font-size:13px;line-height:1.33;font-weight:750;margin:0;color:var(--ui-text,#fff)}
body.admin-body #overviewView .admin-purchase-path-reference .admin-purchase-path-heading small{margin-top:4px;font-size:10px;line-height:1.35}
body.admin-body #overviewView .admin-purchase-path-reference .admin-purchase-path-percentage{font-size:27px;line-height:1.2;letter-spacing:0;font-weight:750;font-variant-numeric:tabular-nums;white-space:nowrap}
body.admin-body #overviewView .admin-purchase-path-reference .admin-purchase-path-track{height:6px;border-radius:99px}
body.admin-body #overviewView .admin-purchase-path-reference .admin-purchase-path-trial-track{margin-top:12px}
body.admin-body #overviewView .admin-purchase-path-reference .admin-purchase-path-trial-details{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:14px}
body.admin-body #overviewView .admin-purchase-path-reference .admin-purchase-path-trial-details>div{padding:10px 9px;gap:7px;border-radius:10px}
body.admin-body #overviewView .admin-purchase-path-reference .admin-purchase-path-trial-details b{font-size:22px;letter-spacing:0}
body.admin-body #overviewView .admin-purchase-path-reference .admin-purchase-path-trial-details span{font-size:10px;line-height:1.32}
body.admin-body #overviewView .admin-purchase-path-retention-track{margin-top:12px}
body.admin-body #overviewView .admin-purchase-path-retention-track>span{background:var(--a-green,var(--admin-accent,#71c8eb))}
body.admin-body #overviewView .admin-purchase-path-first-term{display:flex;align-items:center;gap:9px;margin-top:14px;padding:11px 12px;border-radius:10px;background:rgba(143,156,169,.075);border:1px solid rgba(160,175,190,.11);color:var(--ui-subtext,#b8bec5);font-size:10px;line-height:1.4}
body.admin-body #overviewView .admin-purchase-path-first-term b{color:var(--ui-text,#fff);font-size:12px;font-variant-numeric:tabular-nums}
body.admin-body #overviewView .admin-purchase-path-clock{display:inline-block;flex:none;position:relative;width:14px;height:14px;border-radius:50%;border:1.5px solid currentColor;opacity:.75}
body.admin-body #overviewView .admin-purchase-path-clock::before{content:"";position:absolute;left:5px;top:2px;width:1px;height:4px;background:currentColor}
body.admin-body #overviewView .admin-purchase-path-clock::after{content:"";position:absolute;left:5px;top:6px;width:4px;height:1px;background:currentColor;transform:rotate(25deg);transform-origin:left center}
@media(max-width:1240px){body.admin-body #overviewView .admin-purchase-path-reference{padding:15px 14px 18px}body.admin-body #overviewView .admin-purchase-path-legend-item{column-gap:6px;grid-template-columns:10px minmax(0,1fr) auto 42px}body.admin-body #overviewView .admin-purchase-path-reference .admin-purchase-path-heading h4{font-size:12px}body.admin-body #overviewView .admin-purchase-path-reference .admin-purchase-path-percentage{font-size:25px}}
@media(max-width:850px){body.admin-body #overviewView .admin-purchase-path-reference{padding:18px 20px}body.admin-body #overviewView .admin-purchase-path-legend-item{column-gap:9px}}

/* Prevent global .trial landing-page styles from leaking into the legend. */
body.admin-body #overviewView .admin-purchase-path-legend{gap:9px!important}
body.admin-body #overviewView .admin-purchase-path-legend-item{
  display:grid!important;grid-template-columns:11px minmax(0,1fr) 36px 50px!important;
  column-gap:9px!important;align-items:center!important;
  min-height:26px!important;height:auto!important;
  margin:0!important;padding:0!important;
}
body.admin-body #overviewView .admin-purchase-path-legend-item>.admin-purchase-path-legend-swatch{
  display:block!important;box-sizing:border-box!important;
  width:10px!important;height:10px!important;min-width:10px!important;
  min-height:10px!important;max-height:10px!important;
  border:0!important;border-radius:3px!important;
  margin:0!important;padding:0!important;
  align-self:center!important;justify-self:center!important;
}
body.admin-body #overviewView .admin-purchase-path-legend-item>span{margin:0!important;padding:0!important}
@media(max-width:1240px){
 body.admin-body #overviewView .admin-purchase-path-legend-item{
  grid-template-columns:11px minmax(0,1fr) 33px 46px!important;
  column-gap:6px!important;
 }
}

/* Functional period picker, styled as the existing Whale glass control. */
body.admin-body #overviewView .admin-purchase-period-control{
  flex:none;position:relative;min-width:0;
}
body.admin-body #overviewView .admin-purchase-period-control::after{
  content:"";position:absolute;right:13px;top:50%;pointer-events:none;
  width:6px;height:6px;border-right:1.5px solid currentColor;
  border-bottom:1.5px solid currentColor;transform:translateY(-68%) rotate(45deg);
  opacity:.7;
}
body.admin-body #overviewView select.admin-purchase-path-period{
  appearance:none!important;-webkit-appearance:none!important;
  cursor:pointer!important;display:block!important;
  font-family:inherit!important;font-size:11px!important;font-weight:650!important;
  line-height:1.3!important;min-height:34px!important;
  width:135px!important;min-width:0!important;
  padding:8px 30px 8px 12px!important;
  border:1px solid var(--ui-line,rgba(190,204,214,.25))!important;
  border-radius:10px!important;background:rgba(var(--admin-glass-rgb,145,155,164),.11)!important;
  color:var(--ui-text,#fff)!important;
  transition:background .2s ease,border-color .2s ease!important;
}
body.admin-body #overviewView select.admin-purchase-path-period:hover{
  background:rgba(var(--admin-glass-rgb,145,155,164),.2)!important;
  border-color:var(--admin-accent,#71c8eb)!important;
}
body.admin-body #overviewView select.admin-purchase-path-period:focus-visible{
  outline:2px solid var(--admin-accent,#71c8eb)!important;
  outline-offset:2px!important;
}
body.admin-body #overviewView select.admin-purchase-path-period option{
  color:#f7f9fb!important;background:#22272b!important;
}
@media(max-width:420px){
  body.admin-body #overviewView select.admin-purchase-path-period{
    width:120px!important;font-size:10px!important;
  }
}

/* Users: desktop table stays intact; mobile switches to readable record cards. */
body.admin-body #usersView .admin-users-mobile-list{display:none}
@media(max-width:760px){
 body.admin-body #usersView{min-width:0;overflow-x:clip}
 body.admin-body #usersView .admin-users-toolbar,
 body.admin-body #usersView .admin-users-card{min-width:0;width:100%;box-sizing:border-box}
 body.admin-body #usersView .admin-users-toolbar .admin-list-toolbar{
   display:grid!important;grid-template-columns:minmax(0,1fr) 44px!important;
   gap:9px!important;margin-bottom:12px!important;
 }
 body.admin-body #usersView .admin-user-search{
   grid-column:1/-1!important;min-width:0!important;height:46px!important;
   box-sizing:border-box!important;
 }
 body.admin-body #usersView #usersSearch{min-width:0!important;width:100%!important;font-size:14px!important}
 body.admin-body #usersView #usersSearch::placeholder{font-size:12px!important}
 body.admin-body #usersView .admin-users-sort-control{
   display:flex!important;grid-column:1!important;min-width:0!important;gap:8px!important;
 }
 body.admin-body #usersView .admin-users-sort-preset{
   min-width:0!important;flex:1!important;height:44px!important;padding:0 10px!important;
 }
 body.admin-body #usersView .admin-users-sort-preset>span{display:none!important}
 body.admin-body #usersView #usersQuickSort{
   display:block!important;min-width:0!important;width:100%!important;
   font-size:13px!important;font-weight:650!important;
 }
 body.admin-body #usersView .admin-sort-direction{
   flex:0 0 44px!important;width:44px!important;height:44px!important;
 }
 body.admin-body #usersView #refreshUsers{
   grid-column:2!important;grid-row:2!important;
   width:44px!important;height:44px!important;padding:0!important;
   font-size:0!important;display:flex!important;align-items:center;justify-content:center;
 }
 body.admin-body #usersView #refreshUsers::before{
   content:"↻";font-size:24px;line-height:1;font-weight:500;
 }
 body.admin-body #usersView .admin-user-filters{
   margin:0 -12px!important;padding:3px 12px 10px!important;
   gap:8px!important;scrollbar-width:none;
   -webkit-overflow-scrolling:touch;
 }
 body.admin-body #usersView .admin-user-filters::-webkit-scrollbar{display:none}
 body.admin-body #usersView .admin-user-filters button{
   min-height:38px!important;padding:0 12px!important;
   font-size:12px!important;gap:7px!important;
 }
 body.admin-body #usersView .admin-user-filters button b{
   min-width:20px!important;height:22px!important;font-size:11px!important;
 }
 body.admin-body #usersView .admin-users-head{
   height:auto!important;min-height:58px!important;padding:13px 15px!important;
   align-items:center!important;gap:8px!important;
 }
 body.admin-body #usersView .admin-users-head h2{font-size:16px!important}
 body.admin-body #usersView .admin-users-head p{font-size:11px!important;line-height:1.3}
 body.admin-body #usersView .admin-users-head>div{gap:7px!important}
 body.admin-body #usersView .admin-users-head>div>span{font-size:11px!important}
 body.admin-body #usersView .admin-users-card .admin-table-wrap{display:none!important}
 body.admin-body #usersView .admin-users-mobile-list{
   display:grid!important;grid-template-columns:minmax(0,1fr)!important;
   gap:9px!important;padding:12px!important;min-width:0;
 }
 body.admin-body #usersView .admin-user-mobile-card{
   appearance:none!important;display:block!important;box-sizing:border-box!important;
   width:100%!important;min-width:0!important;text-align:left!important;
   padding:14px!important;margin:0!important;
   color:var(--ui-text,#fff)!important;
   background:rgba(var(--admin-glass-rgb,160,170,180),.065)!important;
   border:1px solid var(--ui-line,rgba(255,255,255,.17))!important;
   border-radius:13px!important;font-family:inherit!important;
   cursor:pointer!important;
 }
 body.admin-body #usersView .admin-user-mobile-card:active{
   background:color-mix(in srgb,var(--admin-accent) 12%,transparent)!important;
 }
 body.admin-body #usersView .admin-user-mobile-card:focus-visible{
   outline:2px solid var(--admin-accent)!important;outline-offset:2px;
 }
 body.admin-body #usersView .admin-user-mobile-header{
   display:flex!important;justify-content:space-between!important;
   align-items:flex-start!important;gap:10px!important;min-width:0;
 }
 body.admin-body #usersView .admin-user-mobile-person{
   display:grid!important;grid-template-columns:auto minmax(0,1fr)!important;
   column-gap:8px!important;row-gap:4px!important;min-width:0;flex:1;
 }
 body.admin-body #usersView .admin-user-mobile-id{
   color:var(--admin-accent,#8fcbe6)!important;
   font-size:12px!important;font-weight:750!important;white-space:nowrap;
   line-height:1.4;
 }
 body.admin-body #usersView .admin-user-mobile-name{
   font-size:15px!important;font-weight:750!important;line-height:1.35!important;
   min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
 }
 body.admin-body #usersView .admin-user-mobile-identity{
   grid-column:1/-1;font-size:11px!important;line-height:1.45!important;
   color:var(--ui-subtext,#b8bec5)!important;
   overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
 }
 body.admin-body #usersView .admin-user-mobile-status{
   display:flex!important;align-items:center!important;gap:8px!important;flex:none;
 }
 body.admin-body #usersView .admin-user-mobile-status .admin-status{
   white-space:nowrap!important;font-size:10px!important;
 }
 body.admin-body #usersView .admin-user-mobile-chevron{
   font-size:21px!important;line-height:1!important;opacity:.55;
 }
 body.admin-body #usersView .admin-user-mobile-facts{
   display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;
   margin-top:13px!important;padding:12px 0!important;
   border-top:1px solid var(--ui-line,rgba(255,255,255,.12));
   border-bottom:1px solid var(--ui-line,rgba(255,255,255,.12));
 }
 body.admin-body #usersView .admin-user-mobile-fact{
   min-width:0!important;display:flex!important;flex-direction:column!important;
   gap:5px!important;padding:0 9px!important;
   border-left:1px solid var(--ui-line,rgba(255,255,255,.12));
 }
 body.admin-body #usersView .admin-user-mobile-fact:first-child{
   padding-left:0!important;border-left:0!important;
 }
 body.admin-body #usersView .admin-user-mobile-fact-label{
   font-size:10px!important;color:var(--ui-subtext,#aab1b9)!important;
   line-height:1.3!important;
 }
 body.admin-body #usersView .admin-user-mobile-fact-value{
   font-size:13px!important;font-weight:700!important;line-height:1.3!important;
   overflow-wrap:anywhere;
 }
 body.admin-body #usersView .admin-user-mobile-footer{
   display:flex!important;flex-wrap:wrap!important;gap:5px 14px!important;
   margin-top:11px!important;color:var(--ui-subtext,#aab1b9)!important;
   font-size:10px!important;line-height:1.4!important;
 }
 body.admin-body #usersView .admin-users-mobile-empty{
   padding:20px 10px!important;text-align:center!important;
   color:var(--ui-subtext,#b8bec5)!important;font-size:13px!important;
 }
 body.admin-body #usersView .admin-users-footer{
   padding:12px 14px!important;gap:10px!important;
 }
 body.admin-body #usersView .admin-users-page-size,
 body.admin-body #usersView .admin-users-page-info{font-size:11px!important}
 body.admin-body #usersView .admin-users-pagination button{
   min-width:37px!important;min-height:37px!important;font-size:12px!important;
 }
 body.admin-body #usersView .admin-users-note{font-size:11px!important;line-height:1.5!important}
}
@media(max-width:380px){
 body.admin-body #usersView .admin-user-mobile-card{padding:12px!important}
 body.admin-body #usersView .admin-user-mobile-name{font-size:14px!important}
 body.admin-body #usersView .admin-user-mobile-fact{padding:0 6px!important}
 body.admin-body #usersView .admin-user-mobile-fact-value{font-size:12px!important}
}

/* Historical server comparison: retains Whale panel/glass theme. */
body.admin-body #serversView .admin-server-tabs{display:flex;gap:8px;margin-bottom:14px;padding:3px;border-radius:12px;background:rgba(var(--admin-glass-rgb,150,160,170),.08);border:1px solid var(--ui-line)}
body.admin-body #serversView .admin-server-tabs button{flex:1;min-height:41px;padding:9px 14px;border-radius:9px;border:1px solid transparent;background:transparent;color:var(--ui-subtext);font:650 13px/1.3 inherit;cursor:pointer;transition:background .18s,border-color .18s}
body.admin-body #serversView .admin-server-tabs button.is-active{background:rgba(var(--admin-glass-rgb,150,160,170),.2);border-color:var(--ui-line);color:var(--ui-text)}
body.admin-body #serversView .admin-server-tabs button:focus-visible,body.admin-body #serversView .wh-analytics-options button:focus-visible,body.admin-body #serversView .wh-analytics-server:focus-visible{outline:2px solid var(--admin-accent);outline-offset:2px}
body.admin-body #serversView .wh-analytics-panel{overflow:hidden;min-width:0}
body.admin-body #serversView .wh-analytics-head{display:flex;align-items:center;justify-content:space-between;gap:15px}
body.admin-body #serversView .wh-analytics-head p{margin:4px 0 0;color:var(--ui-subtext);font-size:11px}
body.admin-body #serversView .wh-analytics-content{padding:19px 20px 22px;min-width:0}
body.admin-body #serversView .wh-analytics-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
body.admin-body #serversView .wh-analytics-options{display:flex;align-items:center;gap:5px;padding:4px;border:1px solid var(--ui-line);background:rgba(var(--admin-glass-rgb,150,160,170),.07);border-radius:10px}
body.admin-body #serversView .wh-analytics-options button{padding:9px 13px;border-radius:7px;border:1px solid transparent;background:transparent;color:var(--ui-subtext);font:650 12px/1.3 inherit;cursor:pointer;white-space:nowrap}
body.admin-body #serversView .wh-analytics-options button.is-active{background:rgba(var(--admin-glass-rgb,150,160,170),.22);border-color:var(--ui-line);color:var(--ui-text)}
body.admin-body #serversView .wh-analytics-summary{display:flex;justify-content:space-between;gap:10px;margin:18px 0 4px;color:var(--ui-subtext);font-size:12px}
body.admin-body #serversView .wh-analytics-chart-wrap{position:relative;width:100%;min-width:0;margin-top:4px}
body.admin-body #serversView #whAnalyticsChart{width:100%;height:355px;display:block;overflow:visible;color:var(--ui-subtext)}
body.admin-body #serversView .wh-analytics-tooltip{position:absolute;z-index:6;min-width:175px;max-width:255px;pointer-events:none;padding:11px 13px;border:1px solid var(--ui-line);background:rgba(24,29,34,.96);color:#f5f8fb;border-radius:11px;box-shadow:0 10px 36px rgba(0,0,0,.28);font-size:11px}
body.admin-body #serversView .wh-analytics-tooltip>strong{display:block;margin-bottom:8px;font-size:11px}
body.admin-body #serversView .wh-analytics-tip-line{display:grid;grid-template-columns:8px minmax(0,1fr) auto;align-items:center;gap:7px;padding:3px 0}
body.admin-body #serversView .wh-analytics-tip-line i{width:8px;height:8px;border-radius:50%}
body.admin-body #serversView .wh-analytics-tip-line b{font-variant-numeric:tabular-nums}
body.admin-body #serversView .wh-analytics-legend-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:18px 0 12px}
body.admin-body #serversView .wh-analytics-legend-head>strong{font-size:13px}
body.admin-body #serversView .wh-analytics-legend-head>div{display:flex;gap:9px}
body.admin-body #serversView .wh-analytics-legend-head button{border:0;background:transparent;color:var(--admin-accent);font-size:11px;font-weight:650;cursor:pointer}
body.admin-body #serversView .wh-analytics-legend{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:9px}
body.admin-body #serversView .wh-analytics-server{display:flex;align-items:center;gap:9px;min-width:0;min-height:49px;padding:9px 10px;border:1px solid var(--ui-line);border-radius:10px;background:rgba(var(--admin-glass-rgb,150,160,170),.045);opacity:.55;color:var(--ui-text);font:inherit;text-align:left;cursor:pointer}
body.admin-body #serversView .wh-analytics-server.is-selected{opacity:1;background:rgba(var(--admin-glass-rgb,150,160,170),.12);border-color:color-mix(in srgb,var(--admin-accent) 45%,var(--ui-line))}
body.admin-body #serversView .wh-analytics-swatch{flex:none;width:10px;height:10px;border-radius:3px}
body.admin-body #serversView .wh-analytics-name{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:650}
body.admin-body #serversView .wh-analytics-count{font-size:10px;white-space:nowrap;color:var(--ui-subtext)}
body.admin-body #serversView .wh-analytics-footnote{margin:19px 0 0;color:var(--ui-subtext);font-size:11px;line-height:1.55}
body.admin-body #serversView .wh-analytics-empty{font-size:12px;color:var(--ui-subtext)}
@media(max-width:760px){body.admin-body #serversView .wh-analytics-content{padding:13px 12px 18px}body.admin-body #serversView .wh-analytics-toolbar{align-items:stretch;flex-direction:column}body.admin-body #serversView .wh-analytics-options{width:100%;box-sizing:border-box}body.admin-body #serversView .wh-analytics-options button{flex:1;padding:10px 5px}body.admin-body #serversView #whAnalyticsChart{height:245px}body.admin-body #serversView .wh-analytics-summary{font-size:11px}body.admin-body #serversView .wh-analytics-legend{grid-template-columns:repeat(2,minmax(0,1fr))}body.admin-body #serversView .wh-analytics-server{min-width:0;padding:8px 7px;flex-wrap:wrap}body.admin-body #serversView .wh-analytics-count{width:100%;margin-left:19px}body.admin-body #serversView .wh-analytics-tooltip{max-width:195px}body.admin-body #serversView .wh-analytics-legend-head button{font-size:10px}}
