:root{
  color-scheme:dark;
  --bg:#111419;
  --bg-deep:#0c0f13;
  --surface:rgba(25,30,36,.78);
  --surface-strong:#1a2027;
  --surface-soft:rgba(32,38,46,.72);
  --surface-hover:rgba(40,47,56,.88);
  --border:rgba(188,201,214,.14);
  --border-strong:rgba(135,169,190,.40);
  --text:#f1f4f6;
  --text-soft:#c7d0d8;
  --muted:#9aa8b5;
  --faint:#758594;
  --cyan:#87a9be;
  --cyan-strong:#4c7188;
  --violet:#a198b8;
  --violet-strong:#645d7a;
  --green:#8ab89b;
  --amber:#c9a77c;
  --red:#c98792;
  --shadow:0 24px 64px rgba(6,9,12,.28);
  --shadow-soft:0 12px 28px rgba(6,9,12,.20);
  --radius-xl:24px;
  --radius-lg:18px;
  --radius-md:13px;
}

:root[data-theme="dark"]{
  color-scheme:dark;
}

:root[data-theme="light"]{
  color-scheme:light;
  --bg:#f5f7f8;
  --bg-deep:#ebeff1;
  --surface:rgba(255,255,255,.86);
  --surface-strong:#ffffff;
  --surface-soft:#f0f3f5;
  --surface-hover:#ffffff;
  --border:rgba(47,63,76,.13);
  --border-strong:rgba(87,122,143,.42);
  --text:#1d2830;
  --text-soft:#43535f;
  --muted:#5f6f7b;
  --faint:#687985;
  --cyan:#3f718c;
  --cyan-strong:#325e77;
  --violet:#665d80;
  --violet-strong:#524b6c;
  --green:#3c7455;
  --amber:#8b642e;
  --red:#a4515e;
  --shadow:0 20px 56px rgba(29,45,56,.12);
  --shadow-soft:0 10px 24px rgba(29,45,56,.07);
}

*{box-sizing:border-box}

html{min-height:100%;font-size:16px;background:var(--bg-deep)}

body{
  min-width:320px;
  min-height:100vh;
  margin:0;
  overflow-x:hidden;
  background:
    radial-gradient(circle at 0% 0%, rgba(108,139,157,.10), transparent 31rem),
    radial-gradient(circle at 100% 100%, rgba(139,129,152,.08), transparent 36rem),
    var(--bg);
  color:var(--text);
  font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;
  letter-spacing:.01em;
  transition:background .28s ease,color .28s ease;
}

body::before{
  position:fixed;
  z-index:-1;
  inset:0;
  content:"";
  pointer-events:none;
  opacity:.26;
  background-image:linear-gradient(rgba(255,255,255,.024) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.024) 1px,transparent 1px);
  background-size:36px 36px;
  mask-image:linear-gradient(140deg,black,transparent 78%);
}

button,input,select{font:inherit;letter-spacing:inherit}
button{cursor:pointer}
button:disabled{cursor:not-allowed;opacity:.52}
button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible{outline:2px solid var(--cyan);outline-offset:3px}

h1,h2,h3,p{margin:0}
h1,h2,h3{letter-spacing:-.035em}
p{color:var(--muted);line-height:1.65}

.admin-ambient{
  position:fixed;
  z-index:-1;
  width:32rem;
  aspect-ratio:1;
  border-radius:50%;
  filter:blur(75px);
  pointer-events:none;
  opacity:.07;
  animation:ambient-drift 14s ease-in-out infinite alternate;
}

.admin-ambient--cyan{top:-13rem;right:-8rem;background:#7698a9}
.admin-ambient--violet{bottom:-16rem;left:-9rem;background:#93899d;animation-delay:-5s}

.admin-shell{
  width:min(1520px,calc(100% - 40px));
  min-height:100vh;
  margin:0 auto;
  padding:26px 0 38px;
}

.admin-topbar{
  position:sticky;
  top:18px;
  z-index:30;
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:14px;
  margin-bottom:18px;
  padding:12px 14px;
  border:1px solid var(--border);
  border-radius:19px;
  background:var(--surface);
  box-shadow:var(--shadow-soft),inset 0 1px 0 rgba(255,255,255,.035);
  backdrop-filter:blur(20px);
}

:root[data-theme="light"] .admin-topbar{background:var(--surface)}

.admin-topbar-start{display:flex;align-items:center;gap:10px;min-width:0}
.admin-sidebar-toggle{flex:0 0 auto}
.admin-dashboard-bar{display:flex;align-items:center;justify-content:center;gap:8px;min-width:0}
.admin-dashboard-bar-status{min-width:0;max-width:210px;overflow:hidden;padding-left:10px;border-left:1px solid var(--border);color:var(--faint);font-size:.68rem;font-weight:720;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}
.admin-dashboard-refresh{min-height:34px;padding:0 10px;font-size:.76rem}

.admin-brand{display:flex;align-items:center;gap:14px;min-width:0}

.admin-brand-mark{
  display:grid;
  width:40px;
  height:40px;
  flex:0 0 auto;
  place-items:center;
  border:1px solid color-mix(in srgb,var(--cyan) 36%,var(--border));
  border-radius:13px;
  background:color-mix(in srgb,var(--cyan) 14%,var(--surface-strong));
  color:var(--text);
  box-shadow:0 8px 18px color-mix(in srgb,var(--cyan) 9%,transparent);
}
.admin-brand-mark svg{width:21px;height:21px;stroke-width:2.2}
.admin-kicker,.section-kicker{font-size:.68rem;font-weight:850;letter-spacing:.16em;text-transform:uppercase}
.admin-kicker{color:var(--muted)}
h1{margin-top:2px;font-size:1.35rem;line-height:1.2}
h2{font-size:1.38rem;line-height:1.2}
.admin-brand-copy{margin-top:4px;font-size:.8rem;color:var(--faint)}

.admin-session{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  min-width:0;
}
.admin-session-online{
  display:inline-flex;
  align-items:center;
  gap:7px;
  min-height:34px;
  padding:0 11px;
  border:1px solid color-mix(in srgb,var(--green) 34%,var(--border));
  border-radius:999px;
  color:var(--green);
  background:color-mix(in srgb,var(--green) 10%,transparent);
  font-size:.73rem;
  font-weight:800;
  white-space:nowrap;
}
.session-pulse,.sidebar-status-dot,.live-dot{
  display:inline-block;
  width:7px;
  height:7px;
  flex:0 0 auto;
  border-radius:50%;
  background:var(--green);
  box-shadow:0 0 0 4px color-mix(in srgb,var(--green) 11%,transparent),0 0 12px color-mix(in srgb,var(--green) 28%,transparent);
  animation:pulse 2.4s ease-in-out infinite;
}
.admin-session-label{color:var(--faint);font-size:.65rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.admin-session-user{max-width:230px;overflow:hidden;color:var(--text);font-size:.88rem;font-weight:780;text-overflow:ellipsis;white-space:nowrap}

.admin-primary-button,.admin-secondary-button,.admin-icon-button,.admin-tab,.danger-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:40px;
  border:1px solid transparent;
  border-radius:11px;
  font-weight:780;
  transition:transform .18s ease,background .18s ease,border-color .18s ease,box-shadow .18s ease,color .18s ease;
}
.admin-primary-button{padding:0 15px;background:var(--cyan-strong);color:#fff;box-shadow:0 8px 18px color-mix(in srgb,var(--cyan) 17%,transparent)}
.admin-primary-button:hover{transform:translateY(-1px);box-shadow:0 12px 22px color-mix(in srgb,var(--cyan) 22%,transparent)}
.admin-secondary-button{padding:0 14px;border-color:var(--border);background:rgba(255,255,255,.035);color:var(--text-soft)}
.admin-secondary-button:hover{transform:translateY(-1px);border-color:var(--border-strong);background:var(--surface-hover);color:var(--text)}
.admin-icon-button{width:40px;padding:0;border-color:var(--border);background:rgba(255,255,255,.035);color:var(--text-soft)}
.admin-icon-button:hover{transform:translateY(-1px);border-color:var(--border-strong);color:var(--cyan);background:var(--surface-hover)}
.admin-theme-toggle[aria-pressed="true"]{border-color:color-mix(in srgb,var(--amber) 38%,var(--border));background:color-mix(in srgb,var(--amber) 10%,transparent);color:var(--amber)}
.admin-icon-button svg,.admin-primary-button svg,.admin-secondary-button svg{width:17px;height:17px;stroke-width:2.25}

.admin-login-panel,.admin-blocker{
  border:1px solid var(--border);
  border-radius:var(--radius-xl);
  background:var(--surface);
  box-shadow:var(--shadow);
  backdrop-filter:blur(20px);
}
.admin-login-panel{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:32px;align-items:center;padding:34px}
.admin-login-copy{display:grid;gap:16px}
.admin-login-copy h2,.admin-blocker h2{font-size:1.55rem}
.admin-consent{display:flex;align-items:flex-start;gap:9px;max-width:620px;color:var(--muted);font-size:.83rem;font-weight:650;line-height:1.55}
.admin-consent input{width:16px;min-width:16px;height:16px;margin:3px 0 0;accent-color:var(--cyan)}
.admin-consent a{color:var(--cyan);text-underline-offset:3px}
.admin-login-qr{display:grid;gap:12px;justify-items:center}
.qr-frame{display:grid;width:222px;aspect-ratio:1;place-items:center;overflow:hidden;border:1px solid var(--border-strong);border-radius:20px;background:#fff;box-shadow:0 0 0 8px color-mix(in srgb,var(--cyan) 5%,transparent),0 16px 34px rgba(0,0,0,.18)}
.qr-frame img{width:100%;height:100%;object-fit:contain}
.qr-placeholder{padding:20px;color:#586682;font-size:.84rem;line-height:1.6;text-align:center}
.login-check-code{font-size:.8rem;color:var(--muted);font-weight:750}
.login-check-code strong{margin-left:5px;color:var(--cyan);font-size:1.25rem;letter-spacing:.14em}
.admin-muted,.admin-status-line{color:var(--muted);font-size:.83rem;line-height:1.6}
.admin-blocker{display:grid;gap:14px;padding:34px}

.admin-workspace{display:grid;grid-template-columns:236px minmax(0,1fr);align-items:start;gap:18px;transition:grid-template-columns .22s ease}
.admin-workspace.is-sidebar-collapsed{grid-template-columns:64px minmax(0,1fr)}
.admin-sidebar{
  position:sticky;
  top:106px;
  min-width:0;
  max-height:calc(100vh - 128px);
  overflow:auto;
  display:grid;
  gap:16px;
  padding:14px 10px 12px;
  border:1px solid var(--border);
  border-radius:var(--radius-xl);
  background:var(--surface);
  box-shadow:var(--shadow-soft),inset 0 1px 0 rgba(255,255,255,.035);
  backdrop-filter:blur(20px);
  transition:padding .22s ease,border-radius .22s ease;
}
.admin-sidebar::-webkit-scrollbar{width:4px}
.admin-sidebar::-webkit-scrollbar-thumb{border-radius:999px;background:color-mix(in srgb,var(--cyan) 30%,transparent)}
:root[data-theme="light"] .admin-sidebar{background:var(--surface)}
.admin-sidebar-heading{display:grid;gap:4px;padding:7px 10px 4px}
.admin-sidebar-heading span{color:var(--faint);font-size:.63rem;font-weight:850;letter-spacing:.14em}
.admin-sidebar-heading strong{font-size:.92rem;color:var(--text)}
.admin-tabs{display:grid;gap:5px}
.admin-tab{position:relative;justify-content:flex-start;min-height:45px;padding:0 12px;border-color:transparent;background:transparent;color:var(--muted);text-align:left}
.admin-tab::before{position:absolute;left:0;width:3px;height:20px;border-radius:0 4px 4px 0;background:transparent;content:"";transition:height .2s ease,background .2s ease}
.admin-tab svg{width:18px;height:18px;stroke-width:2.25;transition:transform .2s ease}
.admin-tab:hover{background:color-mix(in srgb,var(--cyan) 8%,transparent);color:var(--text)}
.admin-tab:hover svg{transform:scale(1.08)}
.admin-tab.is-active{border-color:color-mix(in srgb,var(--cyan) 25%,var(--border));background:color-mix(in srgb,var(--cyan) 12%,transparent);color:var(--text);box-shadow:inset 0 1px 0 rgba(255,255,255,.05),0 6px 16px rgba(6,9,12,.08)}
.admin-tab.is-active::before{height:26px;background:var(--cyan);box-shadow:none}
:root[data-theme="light"] .admin-tab.is-active{color:var(--text)}
.admin-sidebar-status{display:flex;align-items:center;gap:8px;margin-top:2px;padding:13px 10px 2px;border-top:1px solid var(--border);color:var(--faint);font-size:.72rem;font-weight:720}
.admin-workspace.is-sidebar-collapsed .admin-sidebar{padding-right:8px;padding-left:8px;overflow:visible}
.admin-workspace.is-sidebar-collapsed .admin-sidebar-heading,.admin-workspace.is-sidebar-collapsed .admin-sidebar-status{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.admin-workspace.is-sidebar-collapsed .admin-tab{justify-content:center;padding:0}
.admin-workspace.is-sidebar-collapsed .admin-tab > span{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.admin-workspace.is-sidebar-collapsed .admin-tab::before{left:-8px}

.admin-content{min-width:0}
.admin-section{display:none;min-width:0;padding:28px;border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--surface);box-shadow:var(--shadow);backdrop-filter:blur(20px)}
.admin-section.is-active{display:grid;gap:21px;animation:panel-in .32s cubic-bezier(.2,.8,.2,1) both}
.section-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}
.section-kicker{color:var(--cyan)}
.section-copy{max-width:610px;margin-top:7px;font-size:.85rem}
.dashboard-header-actions,.section-header-tools{display:flex;align-items:center;justify-content:flex-end;gap:9px;flex-wrap:wrap}

.dashboard-mode-switch,.dashboard-range-switch,.section-product-switch{display:inline-flex;gap:3px;padding:4px;border:1px solid var(--border);border-radius:13px;background:var(--surface-strong)}
:root[data-theme="light"] .dashboard-mode-switch,:root[data-theme="light"] .dashboard-range-switch,:root[data-theme="light"] .section-product-switch{background:var(--surface-soft)}
.dashboard-mode-switch button,.dashboard-range-switch button,.section-product-switch button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:34px;padding:0 11px;border:1px solid transparent;border-radius:9px;background:transparent;color:var(--muted);font-size:.78rem;font-weight:800;white-space:nowrap;transition:background .18s ease,color .18s ease,box-shadow .18s ease}
.dashboard-mode-switch button svg{width:15px;height:15px;stroke-width:2.3}
.dashboard-mode-switch button.is-active,.dashboard-range-switch button.is-active,.section-product-switch button.is-active{border-color:color-mix(in srgb,var(--cyan) 28%,var(--border));background:color-mix(in srgb,var(--cyan) 12%,var(--surface-strong));color:var(--text);box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 4px 10px rgba(6,9,12,.08)}
.admin-status-line{display:flex;align-items:center;gap:8px;min-height:26px;padding:0 1px;color:var(--faint)}
.admin-status-line::before{display:inline-block;width:6px;height:6px;flex:0 0 auto;border-radius:50%;background:var(--cyan);box-shadow:0 0 8px color-mix(in srgb,var(--cyan) 42%,transparent);content:""}

.analytics-dashboard,.group-dashboard{display:grid;gap:17px}
.group-dashboard-hero{position:relative;display:flex;align-items:flex-start;justify-content:space-between;gap:20px;overflow:hidden;padding:25px;border:1px solid color-mix(in srgb,var(--cyan) 24%,var(--border));border-radius:21px;background:linear-gradient(135deg,color-mix(in srgb,var(--cyan) 10%,var(--surface-strong)),var(--surface-strong));box-shadow:inset 0 1px 0 rgba(255,255,255,.06),var(--shadow-soft)}
.group-dashboard-hero::before,.group-dashboard-hero::after{position:absolute;z-index:0;border:1px solid color-mix(in srgb,var(--cyan) 18%,transparent);border-radius:50%;content:""}
.group-dashboard-hero::before{width:300px;height:300px;top:-183px;right:-65px;box-shadow:0 0 0 34px color-mix(in srgb,var(--violet) 4%,transparent)}
.group-dashboard-hero::after{width:130px;height:130px;bottom:-82px;right:23%;background:color-mix(in srgb,var(--cyan) 4%,transparent);filter:blur(3px)}
.group-dashboard-hero > *{position:relative;z-index:1}
.group-dashboard-eyebrow{display:flex;align-items:center;gap:8px;color:var(--cyan);font-size:.68rem;font-weight:850;letter-spacing:.13em;text-transform:uppercase}
.group-dashboard-hero h3{margin:9px 0 7px;color:var(--text);font-size:1.6rem;line-height:1.15}
.group-dashboard-hero p{max-width:650px;color:var(--muted);font-size:.86rem;line-height:1.6}
.group-dashboard-date{display:inline-flex;align-items:center;gap:7px;flex:0 0 auto;padding:8px 11px;border:1px solid var(--border);border-radius:999px;background:rgba(0,0,0,.08);color:var(--text-soft);font-size:.74rem;font-weight:780;white-space:nowrap}
.group-dashboard-date svg{width:15px;height:15px}

.group-metrics-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.daily-snapshot-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:14px}.daily-snapshot-grid--single{grid-template-columns:minmax(0,1fr)}
.daily-snapshot{display:grid;gap:15px;min-width:0;padding:18px;border:1px solid var(--border);border-radius:19px;background:var(--surface-strong);box-shadow:var(--shadow-soft);animation:card-in .36s ease both}
.daily-snapshot[data-daily-period="today"]{border-color:color-mix(in srgb,var(--cyan) 28%,var(--border))}
.daily-snapshot[data-daily-period="yesterday"]{border-color:color-mix(in srgb,var(--violet) 24%,var(--border));animation-delay:.045s}
.daily-snapshot-header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.daily-snapshot-kicker{display:block;color:var(--faint);font-size:.63rem;font-weight:850;letter-spacing:.13em}
.daily-snapshot-header h3{margin-top:5px;color:var(--text);font-size:1.05rem}
.daily-snapshot-date{display:inline-flex;align-items:center;min-height:28px;padding:0 9px;border:1px solid var(--border);border-radius:999px;color:var(--muted);font-size:.68rem;font-weight:820}
.daily-snapshot-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.daily-snapshot-metric{--snapshot-accent:var(--cyan);display:flex;align-items:center;gap:8px;min-width:0;padding:10px;border:1px solid color-mix(in srgb,var(--snapshot-accent) 19%,var(--border));border-radius:13px;background:color-mix(in srgb,var(--snapshot-accent) 6%,transparent)}
.daily-snapshot-metric--active{--snapshot-accent:var(--cyan)}.daily-snapshot-metric--generated{--snapshot-accent:var(--violet)}.daily-snapshot-metric--web{--snapshot-accent:var(--green)}
.daily-snapshot-icon{display:grid;width:29px;height:29px;flex:0 0 auto;place-items:center;border-radius:9px;background:color-mix(in srgb,var(--snapshot-accent) 14%,transparent);color:var(--snapshot-accent)}
.daily-snapshot-icon svg{width:15px;height:15px;stroke-width:2.25}
.daily-snapshot-metric > div{display:grid;min-width:0;gap:3px}.daily-snapshot-metric span:not(.daily-snapshot-icon){overflow:hidden;color:var(--faint);font-size:.63rem;font-weight:730;text-overflow:ellipsis;white-space:nowrap}.daily-snapshot-metric strong{color:var(--text);font-size:1.28rem;font-weight:860;letter-spacing:-.055em;line-height:1}
.daily-snapshot-members{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;align-items:center;padding-top:13px;border-top:1px solid var(--border)}
.daily-snapshot-members > div:first-child{display:flex;align-items:center;gap:8px;min-width:0}.daily-snapshot-members > div:first-child span{display:inline-flex;align-items:center;gap:6px;color:var(--text-soft);font-size:.76rem;font-weight:800}.daily-snapshot-members > div:first-child svg{width:15px;height:15px;color:var(--amber)}.daily-snapshot-members > div:first-child strong{margin-left:auto;color:var(--text);font-size:1.28rem;letter-spacing:-.05em}.daily-snapshot-members small{grid-column:1;color:var(--faint);font-size:.64rem;font-weight:650;line-height:1.35}
.daily-member-breakdown{grid-column:2;grid-row:1 / span 2;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:5px}.daily-member-breakdown span{min-width:31px;padding:4px 6px;border:1px solid color-mix(in srgb,var(--amber) 20%,var(--border));border-radius:8px;background:color-mix(in srgb,var(--amber) 6%,transparent);color:var(--muted);font-size:.59rem;font-weight:790;line-height:1;text-align:center}.daily-member-breakdown b{display:block;margin-top:3px;color:var(--amber);font-size:.68rem}
.daily-snapshot-note{display:flex;align-items:center;gap:8px;padding-top:13px;border-top:1px solid var(--border);color:var(--faint);font-size:.68rem;font-weight:680;line-height:1.45}.daily-snapshot-note svg{width:16px;height:16px;flex:0 0 auto;color:var(--violet)}
.daily-comparison-strip{display:grid;gap:14px;padding:16px 18px;border:1px solid var(--border);border-radius:18px;background:var(--surface);box-shadow:var(--shadow-soft)}
.daily-comparison-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:16px}.daily-comparison-heading > div > span{display:block;color:var(--faint);font-size:.62rem;font-weight:850;letter-spacing:.13em}.daily-comparison-heading h3{margin-top:4px;color:var(--text);font-size:1rem}.daily-comparison-heading p{max-width:430px;font-size:.71rem;line-height:1.45;text-align:right}
.daily-comparison-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.daily-comparison-groups--single{grid-template-columns:minmax(0,1fr)}.daily-comparison-group{display:grid;gap:9px;padding:11px;border:1px solid var(--border);border-radius:13px;background:color-mix(in srgb,var(--surface-strong) 76%,transparent)}.daily-comparison-group-title{color:var(--text-soft);font-size:.72rem;font-weight:820}.daily-comparison-deltas{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
.pulse-delta{display:grid;gap:2px;min-width:0;padding:7px 8px;border:1px solid var(--border);border-radius:10px;background:rgba(255,255,255,.018);color:var(--faint);font-size:.63rem;font-weight:710;line-height:1.25}.pulse-delta strong{overflow:hidden;color:var(--text-soft);font-size:.69rem;text-overflow:ellipsis;white-space:nowrap}.pulse-delta.is-up strong{color:var(--green)}.pulse-delta.is-down strong{color:var(--red)}.pulse-delta.is-flat strong{color:var(--muted)}.pulse-delta span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.metric-card{--metric:var(--cyan);--metric-soft:color-mix(in srgb,var(--cyan) 13%,transparent);position:relative;display:grid;min-height:155px;align-content:start;gap:5px;overflow:hidden;padding:16px;border:1px solid var(--border);border-radius:18px;background:var(--surface-strong);box-shadow:var(--shadow-soft);transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease;animation:card-in .42s ease both}
.metric-card:nth-child(2){animation-delay:.035s}.metric-card:nth-child(3){animation-delay:.07s}.metric-card:nth-child(4){animation-delay:.105s}.metric-card:nth-child(5){animation-delay:.14s}.metric-card:nth-child(6){animation-delay:.175s}.metric-card:nth-child(7){animation-delay:.21s}.metric-card:nth-child(8){animation-delay:.245s}
.metric-card::before{position:absolute;top:-47px;right:-43px;width:128px;height:128px;border-radius:50%;background:radial-gradient(circle,var(--metric-soft),transparent 68%);content:""}
.metric-card::after{position:absolute;right:12px;bottom:12px;width:44px;height:44px;border:1px solid var(--metric-soft);border-radius:15px;transform:rotate(19deg);content:""}
.metric-card:hover{z-index:1;transform:translateY(-4px);border-color:color-mix(in srgb,var(--metric) 43%,var(--border));box-shadow:0 20px 38px rgba(0,0,0,.23)}
.metric-card--blue{--metric:var(--cyan);--metric-soft:color-mix(in srgb,var(--cyan) 15%,transparent)}
.metric-card--cyan{--metric:var(--green);--metric-soft:color-mix(in srgb,var(--green) 14%,transparent)}
.metric-card--green{--metric:var(--green);--metric-soft:color-mix(in srgb,var(--green) 14%,transparent)}
.metric-card--purple{--metric:var(--violet);--metric-soft:color-mix(in srgb,var(--violet) 15%,transparent)}
.metric-card--amber{--metric:var(--amber);--metric-soft:color-mix(in srgb,var(--amber) 15%,transparent)}
.metric-card--pink{--metric:var(--red);--metric-soft:color-mix(in srgb,var(--red) 14%,transparent)}
.metric-card--indigo{--metric:var(--violet);--metric-soft:color-mix(in srgb,var(--violet) 14%,transparent)}
.metric-card-top{display:flex;align-items:center;justify-content:space-between;min-height:31px}
.metric-icon{position:relative;z-index:1;display:grid;width:31px;height:31px;place-items:center;border:1px solid var(--metric-soft);border-radius:10px;background:rgba(255,255,255,.055);color:var(--metric)}
.metric-icon svg{width:17px;height:17px;stroke-width:2.35}
.metric-orbit{width:20px;height:20px;border:2px dotted var(--metric);border-radius:50%;opacity:.7;animation:spin 12s linear infinite}
.metric-value{position:relative;z-index:1;margin-top:9px;color:var(--text);font-size:1.72rem;font-weight:850;letter-spacing:-.055em;line-height:1.05}
.metric-label{position:relative;z-index:1;color:var(--text-soft);font-size:.82rem;font-weight:800}
.metric-hint{position:relative;z-index:1;min-height:2.6em;color:var(--faint);font-size:.69rem;font-weight:600;line-height:1.4}

.group-dashboard-grid{display:grid;grid-template-columns:minmax(0,1.62fr) minmax(290px,.88fr);gap:17px}
.analytics-lower-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}
.dashboard-panel{min-width:0;padding:19px;border:1px solid var(--border);border-radius:19px;background:color-mix(in srgb,var(--surface-strong) 74%,transparent);box-shadow:var(--shadow-soft)}
:root[data-theme="light"] .dashboard-panel{background:var(--surface-strong)}
.dashboard-panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.dashboard-panel-heading > div:first-child > span{display:block;color:var(--faint);font-size:.64rem;font-weight:850;letter-spacing:.12em}
.dashboard-panel-heading h3{margin-top:5px;color:var(--text);font-size:1rem;line-height:1.25}
.dashboard-panel-heading > svg{width:20px;height:20px;color:var(--violet)}
.panel-legend{display:inline-flex;align-items:center;gap:6px;color:var(--faint);font-size:.69rem;font-weight:720;white-space:nowrap}
.panel-legend svg{width:14px;height:14px;color:var(--cyan)}

.activity-comparison{position:relative;min-height:226px;margin-top:17px;padding:10px 4px 0}
.activity-comparison-legend{display:flex;align-items:center;gap:13px;margin:0 0 10px 6px;color:var(--muted);font-size:.69rem;font-weight:720}
.activity-comparison-legend span{display:inline-flex;align-items:center;gap:5px}
.activity-comparison-legend b{color:var(--text-soft);font-weight:800}
.activity-comparison-legend i{width:8px;height:8px;border-radius:50%;background:var(--cyan);box-shadow:0 0 8px color-mix(in srgb,var(--cyan) 32%,transparent)}
.activity-comparison-legend i.is-generated{background:var(--violet);box-shadow:0 0 8px color-mix(in srgb,var(--violet) 30%,transparent)}
.activity-line-chart{position:relative;height:168px;padding:0 2px}
.activity-line-chart::before{position:absolute;inset:0 2px 0;border-top:1px dashed var(--border);border-bottom:1px dashed var(--border);background:linear-gradient(to bottom,transparent 32%,rgba(140,156,210,.08) 32%,rgba(140,156,210,.08) 33%,transparent 33%,transparent 65%,rgba(140,156,210,.08) 65%,rgba(140,156,210,.08) 66%,transparent 66%);content:""}
.activity-line-chart svg{position:relative;z-index:1;display:block;width:100%;height:100%;overflow:visible}
.activity-area{fill:url(#activity-area-gradient);opacity:.38}
.activity-line{fill:none;stroke:var(--cyan);stroke-linecap:round;stroke-linejoin:round;stroke-width:3;filter:drop-shadow(0 2px 4px color-mix(in srgb,var(--cyan) 25%,transparent))}
.activity-line.is-generated{stroke:var(--violet);stroke-width:2.4;filter:drop-shadow(0 2px 4px color-mix(in srgb,var(--violet) 22%,transparent))}
.activity-point{fill:var(--surface-strong);stroke:var(--cyan);stroke-width:3}
.activity-point.is-generated{stroke:var(--violet);stroke-width:2.4}
.activity-point.is-highlighted{stroke-width:5;filter:drop-shadow(0 0 7px color-mix(in srgb,var(--cyan) 52%,transparent))}.activity-point.is-generated.is-highlighted{filter:drop-shadow(0 0 7px color-mix(in srgb,var(--violet) 48%,transparent))}
.activity-hit-target{fill:transparent;cursor:crosshair;pointer-events:all}
.activity-chart-tooltip{position:absolute;z-index:5;top:16px;min-width:146px;padding:9px 10px;border:1px solid color-mix(in srgb,var(--cyan) 32%,var(--border));border-radius:12px;background:color-mix(in srgb,var(--surface-strong) 92%,#000);box-shadow:0 14px 30px rgba(0,0,0,.22);color:var(--text);font-size:.7rem;font-weight:730;line-height:1.55;pointer-events:none;transform:translateX(-50%);backdrop-filter:blur(14px)}
:root[data-theme="light"] .activity-chart-tooltip{background:rgba(255,255,255,.94)}
.activity-chart-tooltip strong{display:block;margin-bottom:3px;color:var(--text);font-size:.74rem}.activity-chart-tooltip span{display:flex;align-items:center;justify-content:space-between;gap:14px}.activity-chart-tooltip i{display:inline-block;width:7px;height:7px;margin-right:5px;border-radius:50%;background:var(--cyan);box-shadow:0 0 7px color-mix(in srgb,var(--cyan) 40%,transparent)}.activity-chart-tooltip i.is-generated{background:var(--violet);box-shadow:0 0 7px color-mix(in srgb,var(--violet) 38%,transparent)}.activity-chart-tooltip b{margin-left:auto;color:var(--text);font-size:.75rem}
.activity-axis{display:grid;grid-template-columns:repeat(var(--chart-columns,7),minmax(0,1fr));gap:2px;margin-top:8px;color:var(--faint);font-size:.63rem;font-weight:750;text-align:center}
.activity-axis span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.trend-chart{display:flex;align-items:flex-end;gap:8px;min-height:180px;margin-top:17px;padding:10px 3px 0}
.trend-column{display:grid;flex:1 1 0;min-width:0;align-items:end;gap:7px}
.trend-bar-track{display:flex;align-items:flex-end;height:132px;padding:0 3px;border-bottom:1px dashed var(--border)}
.trend-bar{position:relative;width:100%;min-height:4px;border-radius:7px 7px 3px 3px;background:var(--cyan);box-shadow:0 6px 12px color-mix(in srgb,var(--cyan) 18%,transparent)}
.trend-bar span{position:absolute;top:-19px;left:50%;color:var(--text-soft);font-size:.62rem;font-weight:800;transform:translateX(-50%)}
.trend-date{color:var(--faint);font-size:.65rem;font-weight:740;text-align:center}

.membership-matrix{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:17px}
.membership-meter{display:grid;grid-template-columns:1fr auto;gap:3px 7px;padding:11px;border:1px solid var(--border);border-radius:13px;background:rgba(255,255,255,.03)}
.membership-meter span{color:var(--muted);font-size:.72rem;font-weight:750}
.membership-meter strong{grid-row:span 2;align-self:center;color:var(--text);font-size:1.18rem;letter-spacing:-.04em}
.membership-meter small{color:var(--faint);font-size:.63rem;font-weight:650}
.membership-meter--plus{border-color:color-mix(in srgb,var(--green) 26%,var(--border));background:color-mix(in srgb,var(--green) 6%,transparent)}.membership-meter--plus strong{color:var(--green)}
.membership-meter--pro{border-color:color-mix(in srgb,var(--cyan) 26%,var(--border));background:color-mix(in srgb,var(--cyan) 6%,transparent)}.membership-meter--pro strong{color:var(--cyan)}
.membership-meter--max{border-color:color-mix(in srgb,var(--violet) 28%,var(--border));background:color-mix(in srgb,var(--violet) 7%,transparent)}.membership-meter--max strong{color:var(--violet)}
.membership-meter--trial{border-color:color-mix(in srgb,var(--amber) 26%,var(--border));background:color-mix(in srgb,var(--amber) 6%,transparent)}.membership-meter--trial strong{color:var(--amber)}
.dashboard-panel-note{margin-top:14px;color:var(--faint);font-size:.7rem;line-height:1.55}

.analytics-funnel{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:17px}
.analytics-funnel-stage{position:relative;display:grid;gap:5px;min-width:0;padding:11px 8px;border:1px solid var(--border);border-radius:13px;background:rgba(255,255,255,.03)}
.analytics-funnel-stage:not(:last-child)::after{position:absolute;z-index:2;top:50%;right:-5px;width:8px;height:8px;border-top:1px solid var(--border-strong);border-right:1px solid var(--border-strong);background:var(--surface-strong);transform:translateY(-50%) rotate(45deg);content:""}
.analytics-funnel-step{display:grid;width:19px;height:19px;place-items:center;border-radius:7px;background:color-mix(in srgb,var(--cyan) 14%,transparent);color:var(--cyan);font-size:.61rem;font-weight:850}
.analytics-funnel-stage strong{overflow:hidden;color:var(--text);font-size:1.26rem;line-height:1.1;text-overflow:ellipsis}
.analytics-funnel-stage small{color:var(--faint);font-size:.63rem;font-weight:680;line-height:1.35}
.analytics-behavior{display:grid;gap:7px;margin-top:17px}
.analytics-behavior-row{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:36px;padding:8px 10px;border:1px solid var(--border);border-radius:11px;background:rgba(255,255,255,.025);color:var(--muted);font-size:.73rem;font-weight:700}
.analytics-behavior-row strong{color:var(--cyan);font-size:.9rem}
.dashboard-panel--leaders{display:grid;gap:13px}
.leaderboard{display:grid;gap:7px}
.leaderboard-row{display:grid;grid-template-columns:31px minmax(0,1fr) 70px 54px;align-items:center;gap:9px;min-height:57px;padding:8px 10px;border:1px solid var(--border);border-radius:13px;background:rgba(255,255,255,.026)}
.leader-rank{display:grid;width:25px;height:25px;place-items:center;border-radius:8px;background:color-mix(in srgb,var(--cyan) 12%,transparent);color:var(--cyan);font-size:.71rem;font-weight:850}
.leaderboard-row:nth-child(1) .leader-rank{background:color-mix(in srgb,var(--amber) 16%,transparent);color:var(--amber)}.leaderboard-row:nth-child(2) .leader-rank{background:color-mix(in srgb,var(--muted) 15%,transparent);color:var(--text-soft)}.leaderboard-row:nth-child(3) .leader-rank{background:color-mix(in srgb,var(--violet) 14%,transparent);color:var(--violet)}
.leader-user,.leader-metric{display:grid;min-width:0;gap:3px}
.leader-user strong{overflow:hidden;color:var(--text-soft);font-size:.79rem;text-overflow:ellipsis;white-space:nowrap}
.leader-user span,.leader-metric span{color:var(--faint);font-size:.62rem;font-weight:650}
.leader-metric{text-align:right}.leader-metric strong{color:var(--text);font-size:.83rem}
.empty-dashboard-state{display:grid;width:100%;min-height:120px;place-items:center;color:var(--faint);font-size:.8rem;font-weight:700;text-align:center}
.group-data-note{display:flex;align-items:flex-start;gap:8px;margin:0;padding:12px 13px;border:1px solid color-mix(in srgb,var(--cyan) 18%,var(--border));border-radius:13px;background:color-mix(in srgb,var(--cyan) 5%,transparent);color:var(--muted);font-size:.72rem;font-weight:640;line-height:1.55}
.group-data-note svg{width:16px;min-width:16px;height:16px;margin-top:1px;color:var(--cyan)}

.admin-warning{padding:13px 14px;border:1px solid color-mix(in srgb,var(--amber) 32%,var(--border));border-radius:14px;background:color-mix(in srgb,var(--amber) 7%,transparent);color:var(--amber);font-size:.84rem;font-weight:650;line-height:1.6}
.access-command-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.access-disclosure{overflow:hidden;border:1px solid var(--border);border-radius:20px;background:var(--surface-strong);box-shadow:var(--shadow-soft);transition:border-color .2s ease,transform .2s ease,background .2s ease}
.access-disclosure:hover{border-color:color-mix(in srgb,var(--cyan) 30%,var(--border));transform:translateY(-2px)}
.access-disclosure--create{border-color:color-mix(in srgb,var(--cyan) 24%,var(--border));background:color-mix(in srgb,var(--cyan) 5%,var(--surface-strong))}
.access-disclosure--manage{border-color:color-mix(in srgb,var(--violet) 24%,var(--border));background:color-mix(in srgb,var(--violet) 5%,var(--surface-strong))}
.access-disclosure[open]{border-color:var(--border-strong);transform:none}
.access-disclosure summary{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:13px;padding:20px;cursor:pointer;list-style:none;outline:none}
.access-disclosure summary::-webkit-details-marker{display:none}
.access-disclosure summary:focus-visible{box-shadow:inset 0 0 0 2px var(--cyan)}
.access-disclosure-icon{display:grid;width:42px;height:42px;place-items:center;border:1px solid color-mix(in srgb,var(--cyan) 32%,var(--border));border-radius:14px;background:color-mix(in srgb,var(--cyan) 10%,transparent);color:var(--cyan);box-shadow:none}
.access-disclosure--manage .access-disclosure-icon{border-color:color-mix(in srgb,var(--violet) 32%,var(--border));background:color-mix(in srgb,var(--violet) 10%,transparent);color:var(--violet);box-shadow:none}
.access-disclosure-icon svg{width:20px;height:20px}
.access-disclosure-copy{display:grid;gap:3px;min-width:0}
.access-disclosure-copy small{color:var(--faint);font-size:.62rem;font-weight:850;letter-spacing:.12em}
.access-disclosure-copy strong{color:var(--text);font-size:1rem;letter-spacing:-.02em}
.access-disclosure-copy em{overflow:hidden;color:var(--muted);font-size:.75rem;font-style:normal;line-height:1.45;text-overflow:ellipsis;white-space:nowrap}
.access-disclosure-chevron{width:17px;height:17px;color:var(--faint);transition:transform .22s ease,color .22s ease}
.access-disclosure[open] .access-disclosure-chevron{color:var(--cyan);transform:rotate(180deg)}
.access-disclosure-body{display:grid;gap:13px;padding:0 16px 16px;border-top:1px solid var(--border);animation:disclosure-in .22s ease both}
.access-disclosure-body .admin-form{margin-top:15px}
.disclosure-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 2px 0;color:var(--text-soft);font-size:.8rem;font-weight:780}
@keyframes disclosure-in{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}
.admin-form{display:grid;gap:15px;padding:18px;border:1px solid var(--border);border-radius:18px;background:color-mix(in srgb,var(--surface-strong) 62%,transparent)}
:root[data-theme="light"] .admin-form{background:var(--surface-soft)}
.form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}
.form-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:12px;padding:18px;border:1px solid var(--border);border-radius:18px;background:color-mix(in srgb,var(--surface-strong) 62%,transparent)}
:root[data-theme="light"] .form-row{background:var(--surface-soft)}
.form-wide{grid-column:span 2}
label{display:grid;gap:7px;color:var(--text-soft);font-size:.84rem;font-weight:780}
label span{color:var(--muted);font-size:.74rem}
input,select{width:100%;min-height:42px;padding:0 12px;border:1px solid var(--border);border-radius:11px;outline:none;background:var(--surface-strong);color:var(--text);font-size:.84rem;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}
:root[data-theme="light"] input,:root[data-theme="light"] select{background:var(--surface-strong)}
input::placeholder{color:var(--faint)}
input:focus,select:focus{border-color:var(--border-strong);background:var(--surface-strong);box-shadow:0 0 0 4px color-mix(in srgb,var(--cyan) 10%,transparent)}
.input-with-action{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}
.toolbar{display:grid;grid-template-columns:minmax(0,1fr) 150px auto;gap:10px;padding:4px}
.inline-actions{display:flex;gap:9px;flex-wrap:wrap}
.compact-list{display:grid;gap:9px}
.refund-workbench-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.refund-workbench-grid .admin-form>strong{color:var(--text);font-size:.9rem}
.refund-case-toolbar{grid-template-columns:minmax(180px,1fr) repeat(3,minmax(130px,180px)) auto;margin-top:4px}
.refund-list-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:8px;padding:4px 2px;color:var(--text);font-size:.86rem}
.refund-list-heading span{color:var(--faint);font-size:.72rem;font-weight:650;text-align:right}
.refund-pagination{display:flex;justify-content:center;gap:9px;padding:5px 0 12px}
.refund-pagination button:disabled{cursor:not-allowed;opacity:.42;transform:none}
.refund-case-card{border-left:3px solid #F59E0B}
.refund-case-card.is-released{border-left-color:#10B981}
.refund-case-card.is-banned{border-left-color:#DC2626}
.refund-case-card.is-overdue{border-left-color:#DC2626;background:color-mix(in srgb,var(--red) 4%,transparent)}
.refund-case-tags{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}
.refund-case-tags .tag.is-review{color:var(--cyan);background:color-mix(in srgb,var(--cyan) 11%,transparent)}
.refund-case-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;color:var(--muted);font-size:.76rem}
.refund-case-meta span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.refund-debt-preview{display:grid;gap:10px;padding:12px 14px;border:1px solid color-mix(in srgb,var(--cyan) 24%,var(--border));border-radius:14px;background:color-mix(in srgb,var(--cyan) 5%,var(--surface-strong))}
.refund-debt-preview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 14px;color:var(--muted);font-size:.78rem}
.refund-fact-card{border-left:3px solid var(--cyan)}
.refund-fact-card.is-failed{border-left-color:var(--red)}
.refund-fact-card.is-succeeded{border-left-color:var(--green)}
.refund-fact-streams{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}
.refund-fact-stream{display:grid;gap:9px;min-width:0}
.refund-case-detail{display:grid;gap:12px;margin-top:8px;padding:16px;border:1px solid var(--border-strong);border-radius:17px;background:color-mix(in srgb,var(--cyan) 4%,var(--surface-strong))}
.refund-case-detail-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.list-item{display:grid;gap:11px;padding:15px;border:1px solid var(--border);border-radius:17px;background:rgba(255,255,255,.028);transition:border-color .18s ease,transform .18s ease}
.list-item:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--cyan) 28%,var(--border))}
.list-item-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.list-title{color:var(--text);font-size:.9rem;font-weight:840;word-break:break-all}
.list-subtitle{margin-top:4px;color:var(--muted);font-size:.78rem;line-height:1.5}
.tag{display:inline-flex;align-items:center;min-height:25px;padding:0 9px;border-radius:999px;font-size:.7rem;font-weight:800;white-space:nowrap}
.tag.is-active{color:var(--green);background:color-mix(in srgb,var(--green) 11%,transparent)}
.tag.is-disabled,.tag.is-expired,.tag.is-exhausted{color:var(--red);background:color-mix(in srgb,var(--red) 10%,transparent)}
.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.detail-row{display:grid;gap:4px;min-height:54px;padding:11px 12px;border:1px solid var(--border);border-radius:14px;background:rgba(255,255,255,.03)}
.detail-label{color:var(--faint);font-size:.7rem;font-weight:750}.detail-value{color:var(--text-soft);font-size:.84rem;font-weight:760;word-break:break-word}
.item-actions{display:flex;gap:8px;flex-wrap:wrap}
.danger-button{min-height:36px;padding:0 12px;border-color:color-mix(in srgb,var(--red) 32%,var(--border));background:color-mix(in srgb,var(--red) 7%,transparent);color:var(--red);font-size:.76rem}
.danger-button:hover{transform:translateY(-1px);background:color-mix(in srgb,var(--red) 12%,transparent)}
.provider-switch{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.provider-switch button{position:relative;display:grid;min-height:118px;padding:18px;border:1px solid var(--border);border-radius:18px;background:var(--surface-strong);color:var(--text-soft);font-weight:800;text-align:left;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}
.provider-switch button::after{position:absolute;right:16px;bottom:16px;width:26px;height:26px;border:1px solid var(--border);border-radius:50%;content:""}
.provider-switch button:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--violet) 34%,var(--border))}
.provider-switch button.is-active{border-color:color-mix(in srgb,var(--cyan) 40%,var(--border));background:color-mix(in srgb,var(--cyan) 10%,var(--surface-strong));color:var(--text);box-shadow:0 12px 24px color-mix(in srgb,var(--cyan) 12%,transparent)}
.load-more{justify-self:center}

.admin-footer{display:flex;justify-content:center;gap:8px 16px;flex-wrap:wrap;margin:24px 0 0;color:var(--faint);font-size:.7rem;font-weight:680}
.admin-footer a{color:inherit;text-decoration:none}.admin-footer a:hover{color:var(--cyan);text-decoration:underline;text-underline-offset:3px}
.toast{position:fixed;z-index:50;bottom:28px;left:50%;max-width:min(440px,calc(100% - 32px));padding:12px 16px;border:1px solid color-mix(in srgb,var(--cyan) 28%,var(--border));border-radius:14px;background:color-mix(in srgb,var(--surface-strong) 92%,#000);box-shadow:0 18px 48px rgba(0,0,0,.28);color:var(--text);font-size:.84rem;font-weight:750;transform:translateX(-50%);backdrop-filter:blur(16px);animation:toast-in .25s ease both}

[hidden]{display:none !important}

@keyframes ambient-drift{from{transform:translate3d(0,0,0) scale(1)}to{transform:translate3d(-35px,24px,0) scale(1.12)}}
@keyframes pulse{0%,100%{transform:scale(.86);opacity:.62}50%{transform:scale(1.08);opacity:1}}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes panel-in{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}
@keyframes card-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@keyframes toast-in{from{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%,0)}}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto !important;animation-duration:.001ms !important;animation-iteration-count:1 !important;transition-duration:.001ms !important}
}

@media (max-width:1240px){
  .admin-topbar{grid-template-columns:minmax(0,1fr) auto}
  .admin-dashboard-bar{grid-column:1 / -1;justify-content:flex-start;padding-top:10px;border-top:1px solid var(--border)}
  .admin-dashboard-bar-status{margin-left:auto}
  .admin-sidebar{top:154px;max-height:calc(100vh - 176px)}
}

@media (max-width:1120px){
  .admin-shell{width:min(100% - 28px,1520px)}
  .admin-workspace{grid-template-columns:212px minmax(0,1fr);gap:16px}
  .admin-workspace.is-sidebar-collapsed{grid-template-columns:64px minmax(0,1fr)}
  .group-metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .group-dashboard-grid{grid-template-columns:1fr}
}

@media (max-width:860px){
  .admin-shell{width:min(100% - 20px,1520px);padding-top:12px}
  .admin-topbar{top:10px;grid-template-columns:1fr;padding:12px}
  .admin-dashboard-bar{grid-column:auto;align-items:stretch;justify-content:flex-start;flex-wrap:wrap;padding-top:9px}
  .admin-dashboard-bar-status{width:100%;max-width:none;margin:0;padding:7px 0 0;border-top:1px solid var(--border);border-left:0;white-space:normal}
  .admin-sidebar-toggle{display:none}
  .admin-session{justify-content:flex-start;flex-wrap:wrap}
  .admin-session-user{max-width:min(48vw,260px)}
  .admin-workspace{grid-template-columns:1fr;gap:14px}
  .admin-sidebar{position:relative;top:auto;max-height:none;padding:12px}
  .admin-workspace.is-sidebar-collapsed{grid-template-columns:1fr}
  .admin-sidebar-heading,.admin-sidebar-status{display:none}
  .admin-tabs{display:flex;gap:6px;overflow-x:auto;padding-bottom:2px;scrollbar-width:none}
  .admin-tabs::-webkit-scrollbar{display:none}
  .admin-tab{min-width:max-content;justify-content:center;min-height:42px;padding:0 11px}
  .admin-tab::before{bottom:0;left:50%;width:24px;height:3px;border-radius:4px 4px 0 0;transform:translateX(-50%)}
  .admin-tab.is-active::before{width:30px;height:3px}
  .admin-workspace.is-sidebar-collapsed .admin-tab{justify-content:center;padding:0 11px}
  .admin-workspace.is-sidebar-collapsed .admin-tab > span{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto;white-space:normal}
  .admin-workspace.is-sidebar-collapsed .admin-tab::before{bottom:0;left:50%;width:24px;height:3px;transform:translateX(-50%)}
  .admin-workspace.is-sidebar-collapsed .admin-tab.is-active::before{width:30px;height:3px}
  .admin-section{padding:20px}
  .section-header{flex-direction:column;align-items:stretch}
  .dashboard-header-actions,.section-header-tools{justify-content:flex-start}
  .dashboard-header-actions > *,.section-header-tools > *{flex:1 1 auto}
  .admin-login-panel{grid-template-columns:1fr;padding:24px}
  .analytics-lower-grid{grid-template-columns:1fr}
  .access-command-grid{grid-template-columns:1fr}
  .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media (max-width:600px){
  .admin-brand-mark{width:42px;height:42px;border-radius:14px}.admin-brand-mark svg{width:22px;height:22px}
  h1{font-size:1.4rem}.admin-brand-copy{display:none}
  .admin-session-online{display:none}
  .admin-session{gap:7px}.admin-session > div:nth-child(2){margin-right:auto}
  .admin-section{padding:16px;border-radius:19px}
  .group-dashboard-hero{flex-direction:column;padding:19px}.group-dashboard-hero h3{font-size:1.35rem}.group-dashboard-date{align-self:flex-start}
  .group-metrics-grid,.daily-snapshot-grid,.daily-comparison-groups,.form-grid,.detail-grid,.provider-switch{grid-template-columns:1fr}
  .daily-snapshot-metrics{grid-template-columns:1fr}
  .daily-snapshot-members{grid-template-columns:1fr}.daily-member-breakdown{grid-column:1;grid-row:auto;justify-content:flex-start}.daily-snapshot-members small{grid-column:1}
  .daily-comparison-heading{align-items:flex-start;flex-direction:column}.daily-comparison-heading p{text-align:left}
  .form-row,.toolbar,.input-with-action{grid-template-columns:1fr}.form-wide{grid-column:auto}
  .dashboard-mode-switch,.dashboard-range-switch,.section-product-switch{width:100%}.dashboard-mode-switch button,.dashboard-range-switch button,.section-product-switch button{flex:1 1 0;padding:0 8px}
  .analytics-funnel{grid-template-columns:repeat(2,minmax(0,1fr))}.analytics-funnel-stage:nth-child(2)::after{display:none}
  .activity-comparison{min-height:205px}.activity-line-chart{height:145px}.activity-axis{font-size:.57rem}
  .activity-chart-tooltip{top:8px;min-width:136px;padding:8px 9px}
  .access-disclosure summary{padding:16px}.access-disclosure-copy em{white-space:normal}.access-disclosure-body{padding:0 12px 12px}
  .leaderboard-row{grid-template-columns:30px minmax(0,1fr) 50px;gap:7px}.leaderboard-row .leader-metric:last-child{display:none}
  .panel-legend{display:none}
}

/* Administrator dashboard: cyber shell and resilient layout. */
:root{
  --bg:#060816;
  --bg-deep:#03050d;
  --surface:rgba(12,18,37,.86);
  --surface-strong:#10182d;
  --surface-soft:#0b1224;
  --surface-hover:#172442;
  --border:rgba(116,157,255,.18);
  --border-strong:rgba(78,225,255,.62);
  --text:#edf6ff;
  --text-soft:#c7d9f3;
  --muted:#91a5c7;
  --faint:#60749a;
  --cyan:#52e5ff;
  --cyan-strong:#117ccf;
  --violet:#9b7bff;
  --violet-strong:#6546df;
  --green:#53e8ae;
  --amber:#ffcc70;
  --red:#ff739c;
  --shadow:0 26px 70px rgba(0,0,0,.34),0 0 0 1px rgba(102,146,255,.035);
  --shadow-soft:0 14px 34px rgba(0,0,0,.25),0 0 0 1px rgba(102,146,255,.03);
  --radius-xl:22px;
  --radius-lg:17px;
  --radius-md:12px;
}

:root[data-theme="light"]{
  --bg:#f3f7ff;
  --bg-deep:#e8efff;
  --surface:rgba(255,255,255,.91);
  --surface-strong:#ffffff;
  --surface-soft:#edf3ff;
  --surface-hover:#f7faff;
  --border:rgba(51,88,158,.16);
  --border-strong:rgba(0,132,201,.54);
  --text:#102147;
  --text-soft:#29436d;
  --muted:#587096;
  --faint:#7287a8;
  --cyan:#008bb5;
  --cyan-strong:#006bd1;
  --violet:#674ce0;
  --violet-strong:#5134c4;
  --green:#0e9d68;
  --amber:#ad6c00;
  --red:#d34670;
  --shadow:0 22px 54px rgba(42,67,118,.15);
  --shadow-soft:0 10px 28px rgba(42,67,118,.10);
}

html{background:var(--bg-deep)}

body{
  background:
    radial-gradient(ellipse 55rem 34rem at -10% -8%,rgba(28,112,255,.24),transparent 68%),
    radial-gradient(ellipse 44rem 28rem at 108% 4%,rgba(141,73,255,.20),transparent 70%),
    radial-gradient(ellipse 38rem 26rem at 62% 110%,rgba(0,217,255,.10),transparent 70%),
    var(--bg);
}

body::before{
  opacity:.42;
  background-image:
    linear-gradient(rgba(126,174,255,.055) 1px,transparent 1px),
    linear-gradient(90deg,rgba(126,174,255,.055) 1px,transparent 1px);
  background-size:32px 32px;
  mask-image:linear-gradient(150deg,black 0%,rgba(0,0,0,.62) 44%,transparent 84%);
}

body::after{
  position:fixed;
  z-index:-1;
  inset:0;
  content:"";
  pointer-events:none;
  opacity:.18;
  background:repeating-linear-gradient(180deg,rgba(255,255,255,.022) 0 1px,transparent 1px 5px);
}

.admin-ambient{opacity:.18;filter:blur(92px)}
.admin-ambient--cyan{top:-15rem;right:-9rem;background:#006bff}
.admin-ambient--violet{bottom:-15rem;left:-10rem;background:#9a59ff}

.admin-shell{
  width:min(1680px,calc(100% - 48px));
  padding:18px 0 42px;
}

.admin-topbar{
  position:sticky;
  top:14px;
  z-index:30;
  display:grid;
  grid-template-columns:minmax(230px,.84fr) minmax(470px,1.5fr) minmax(240px,.76fr);
  grid-template-areas:"brand context session";
  align-items:center;
  gap:16px;
  min-height:74px;
  margin-bottom:22px;
  padding:10px 12px;
  border:1px solid rgba(111,155,255,.25);
  border-radius:20px;
  background:linear-gradient(115deg,rgba(11,19,39,.95),rgba(12,19,38,.82) 56%,rgba(22,19,52,.82));
  box-shadow:0 18px 42px rgba(0,0,0,.24),inset 0 1px 0 rgba(255,255,255,.08),0 0 0 1px rgba(63,229,255,.035);
  backdrop-filter:blur(24px) saturate(130%);
}

.admin-topbar::before{
  position:absolute;
  top:-1px;
  right:18px;
  left:18px;
  height:1px;
  background:linear-gradient(90deg,transparent,var(--cyan),var(--violet),transparent);
  box-shadow:0 0 14px color-mix(in srgb,var(--cyan) 52%,transparent);
  content:"";
  pointer-events:none;
}

:root[data-theme="light"] .admin-topbar{background:linear-gradient(115deg,rgba(255,255,255,.96),rgba(248,251,255,.88) 56%,rgba(246,243,255,.88))}

.admin-topbar-start{grid-area:brand;gap:12px}
.admin-dashboard-bar{
  grid-area:context;
  display:grid;
  grid-template-columns:auto auto auto minmax(112px,1fr);
  align-items:center;
  gap:7px;
  min-width:0;
}

.admin-dashboard-bar-status{
  min-width:0;
  max-width:none;
  overflow:hidden;
  padding:7px 9px;
  border:1px solid color-mix(in srgb,var(--cyan) 17%,var(--border));
  border-radius:9px;
  background:linear-gradient(90deg,color-mix(in srgb,var(--cyan) 8%,transparent),transparent);
  color:var(--muted);
  font-size:.68rem;
  font-weight:730;
  line-height:1.25;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.admin-dashboard-bar-status::before{
  display:inline-block;
  margin-right:6px;
  color:var(--cyan);
  content:"DATA / ";
  font-size:.57rem;
  font-weight:900;
  letter-spacing:.11em;
}

.admin-dashboard-refresh{min-height:38px;padding:0 11px;font-size:.74rem}

.admin-brand{gap:12px}
.admin-brand-mark{
  width:44px;
  height:44px;
  border-color:color-mix(in srgb,var(--cyan) 64%,var(--border));
  border-radius:14px;
  background:linear-gradient(145deg,color-mix(in srgb,var(--cyan) 28%,var(--surface-strong)),color-mix(in srgb,var(--violet) 18%,var(--surface-strong)));
  color:#f7feff;
  box-shadow:0 0 0 1px rgba(255,255,255,.07) inset,0 0 22px color-mix(in srgb,var(--cyan) 24%,transparent),0 10px 22px rgba(0,0,0,.22);
}

.admin-brand-mark::after{
  position:absolute;
  width:11px;
  height:11px;
  border:1px solid var(--cyan);
  border-radius:50%;
  box-shadow:0 0 11px var(--cyan);
  content:"";
  transform:translate(12px,-12px);
}

.admin-brand-mark{position:relative}
.admin-brand-mark svg{width:22px;height:22px;stroke-width:2.15}
.admin-kicker{color:var(--cyan);font-size:.61rem;letter-spacing:.17em;text-shadow:0 0 12px color-mix(in srgb,var(--cyan) 34%,transparent)}
h1{margin-top:2px;font-size:1.28rem;letter-spacing:-.045em}
.admin-brand-copy{margin-top:3px;color:var(--faint);font-size:.73rem;line-height:1.35}

.admin-session{
  grid-area:session;
  justify-self:end;
  gap:8px;
  padding-left:14px;
  border-left:1px solid color-mix(in srgb,var(--violet) 22%,var(--border));
}

.admin-session-online{
  min-height:31px;
  padding:0 9px;
  border-color:color-mix(in srgb,var(--green) 42%,var(--border));
  background:color-mix(in srgb,var(--green) 10%,transparent);
  color:var(--green);
  font-size:.67rem;
  box-shadow:0 0 16px color-mix(in srgb,var(--green) 9%,transparent);
}

.session-pulse,.sidebar-status-dot,.live-dot{box-shadow:0 0 0 4px color-mix(in srgb,var(--green) 12%,transparent),0 0 12px color-mix(in srgb,var(--green) 65%,transparent)}
.admin-session-label{color:var(--faint);font-size:.58rem;letter-spacing:.12em}
.admin-session-user{max-width:190px;color:var(--text);font-size:.79rem}

.admin-primary-button{
  border-color:color-mix(in srgb,var(--cyan) 60%,transparent);
  background:linear-gradient(135deg,var(--cyan-strong),var(--violet-strong));
  box-shadow:0 9px 22px color-mix(in srgb,var(--cyan) 21%,transparent),inset 0 1px 0 rgba(255,255,255,.24);
}

.admin-primary-button:hover{box-shadow:0 12px 27px color-mix(in srgb,var(--cyan) 34%,transparent),inset 0 1px 0 rgba(255,255,255,.24)}
.admin-secondary-button,.admin-icon-button{border-color:var(--border);background:rgba(255,255,255,.035);color:var(--text-soft)}
.admin-secondary-button:hover,.admin-icon-button:hover{border-color:color-mix(in srgb,var(--cyan) 58%,var(--border));background:color-mix(in srgb,var(--cyan) 10%,var(--surface-hover));box-shadow:0 0 17px color-mix(in srgb,var(--cyan) 13%,transparent);color:var(--cyan)}
.admin-theme-toggle[aria-pressed="true"]{border-color:color-mix(in srgb,var(--violet) 56%,var(--border));background:color-mix(in srgb,var(--violet) 13%,transparent);color:var(--violet)}

.dashboard-mode-switch,.dashboard-range-switch,.section-product-switch{
  gap:2px;
  padding:3px;
  border-color:color-mix(in srgb,var(--cyan) 20%,var(--border));
  border-radius:11px;
  background:#080f21;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035);
}

:root[data-theme="light"] .dashboard-mode-switch,:root[data-theme="light"] .dashboard-range-switch,:root[data-theme="light"] .section-product-switch{background:#eef4ff}
.dashboard-mode-switch button,.dashboard-range-switch button,.section-product-switch button{min-height:32px;padding:0 9px;border-radius:8px;color:var(--muted);font-size:.72rem}
.dashboard-mode-switch button.is-active,.dashboard-range-switch button.is-active,.section-product-switch button.is-active{
  border-color:color-mix(in srgb,var(--cyan) 62%,var(--border));
  background:linear-gradient(135deg,color-mix(in srgb,var(--cyan) 22%,var(--surface-strong)),color-mix(in srgb,var(--violet) 17%,var(--surface-strong)));
  box-shadow:0 0 15px color-mix(in srgb,var(--cyan) 13%,transparent),inset 0 1px 0 rgba(255,255,255,.12);
  color:var(--text);
}

.admin-workspace{grid-template-columns:252px minmax(0,1fr);gap:22px}
.admin-workspace.is-sidebar-collapsed{grid-template-columns:72px minmax(0,1fr)}

.admin-sidebar{
  position:sticky;
  top:110px;
  display:grid;
  gap:15px;
  max-height:calc(100vh - 132px);
  padding:13px 10px 12px;
  border-color:rgba(118,158,255,.22);
  border-radius:20px;
  background:linear-gradient(165deg,rgba(15,25,48,.92),rgba(8,13,28,.86));
  box-shadow:var(--shadow-soft),inset 0 1px 0 rgba(255,255,255,.07),0 0 24px rgba(82,229,255,.035);
}

.admin-sidebar::before{
  position:absolute;
  top:0;
  right:16px;
  left:16px;
  height:1px;
  background:linear-gradient(90deg,transparent,var(--cyan),transparent);
  content:"";
  opacity:.7;
}

:root[data-theme="light"] .admin-sidebar{background:linear-gradient(165deg,rgba(255,255,255,.94),rgba(241,246,255,.9))}
.admin-sidebar-heading{gap:5px;padding:9px 10px 6px}
.admin-sidebar-heading span{color:var(--cyan);font-size:.58rem;letter-spacing:.18em}
.admin-sidebar-heading strong{font-size:.9rem;letter-spacing:-.02em}
.admin-tabs{gap:6px}
.admin-tab{min-height:46px;padding:0 12px;border-color:transparent;border-radius:12px;color:var(--muted)}
.admin-tab::before{left:7px;width:3px;height:0;border-radius:999px;background:linear-gradient(var(--cyan),var(--violet));box-shadow:0 0 10px color-mix(in srgb,var(--cyan) 70%,transparent)}
.admin-tab:hover{background:color-mix(in srgb,var(--cyan) 8%,transparent);color:var(--text)}
.admin-tab.is-active{border-color:color-mix(in srgb,var(--cyan) 38%,var(--border));background:linear-gradient(90deg,color-mix(in srgb,var(--cyan) 16%,transparent),color-mix(in srgb,var(--violet) 9%,transparent));box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 0 18px color-mix(in srgb,var(--cyan) 8%,transparent);color:var(--text)}
.admin-tab.is-active::before{height:24px;background:linear-gradient(var(--cyan),var(--violet));box-shadow:0 0 12px color-mix(in srgb,var(--cyan) 70%,transparent)}
.admin-sidebar-status{padding:13px 10px 2px;border-top-color:color-mix(in srgb,var(--cyan) 14%,var(--border));color:var(--faint);font-size:.68rem}
.admin-workspace.is-sidebar-collapsed .admin-sidebar{padding-right:10px;padding-left:10px}
.admin-workspace.is-sidebar-collapsed .admin-tab::before{left:0}

.admin-content{min-width:0}
.admin-section{
  padding:clamp(20px,2vw,30px);
  border-color:rgba(112,154,255,.2);
  border-radius:22px;
  background:linear-gradient(145deg,rgba(15,24,46,.9),rgba(10,16,34,.82));
  box-shadow:var(--shadow),inset 0 1px 0 rgba(255,255,255,.055);
}

:root[data-theme="light"] .admin-section{background:linear-gradient(145deg,rgba(255,255,255,.94),rgba(247,250,255,.89))}
.section-kicker{color:var(--cyan);font-size:.64rem;text-shadow:0 0 10px color-mix(in srgb,var(--cyan) 28%,transparent)}
.section-header{gap:16px}
.section-copy{font-size:.82rem}

.group-dashboard-hero{
  border-color:color-mix(in srgb,var(--cyan) 42%,var(--border));
  border-radius:19px;
  background:linear-gradient(125deg,color-mix(in srgb,var(--cyan) 17%,var(--surface-strong)),color-mix(in srgb,var(--violet) 15%,var(--surface-strong)) 58%,var(--surface-strong));
  box-shadow:var(--shadow-soft),inset 0 1px 0 rgba(255,255,255,.1);
}

.daily-snapshot,.dashboard-panel,.metric-card,.access-disclosure,.admin-form,.form-row{
  border-color:color-mix(in srgb,var(--cyan) 13%,var(--border));
  background:linear-gradient(145deg,color-mix(in srgb,var(--surface-strong) 92%,transparent),color-mix(in srgb,var(--surface-soft) 78%,transparent));
}

.metric-card{border-radius:16px}
.metric-card:hover{border-color:color-mix(in srgb,var(--metric) 64%,var(--border));box-shadow:0 18px 40px rgba(0,0,0,.28),0 0 22px color-mix(in srgb,var(--metric) 12%,transparent)}
.metric-icon{background:color-mix(in srgb,var(--metric) 12%,var(--surface-strong));box-shadow:0 0 16px color-mix(in srgb,var(--metric) 10%,transparent)}
.metric-orbit{filter:drop-shadow(0 0 5px var(--metric))}

.dashboard-panel{border-radius:17px}
.activity-comparison-legend b{color:var(--text)}
.activity-line{filter:drop-shadow(0 0 6px color-mix(in srgb,var(--cyan) 44%,transparent))}
.activity-line.is-generated{filter:drop-shadow(0 0 6px color-mix(in srgb,var(--violet) 42%,transparent))}
.activity-line-chart::before{background:linear-gradient(to bottom,transparent 32%,color-mix(in srgb,var(--cyan) 8%,transparent) 32%,color-mix(in srgb,var(--cyan) 8%,transparent) 33%,transparent 33%,transparent 65%,color-mix(in srgb,var(--violet) 7%,transparent) 65%,color-mix(in srgb,var(--violet) 7%,transparent) 66%,transparent 66%)}
.activity-chart-tooltip{border-color:color-mix(in srgb,var(--cyan) 55%,var(--border));background:color-mix(in srgb,var(--surface-strong) 94%,#02040a);box-shadow:0 14px 34px rgba(0,0,0,.38),0 0 18px color-mix(in srgb,var(--cyan) 9%,transparent)}

.group-metrics-grid{grid-template-columns:repeat(auto-fit,minmax(172px,1fr))}
.daily-snapshot-metrics{grid-template-columns:repeat(auto-fit,minmax(155px,1fr))}
.daily-comparison-groups{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.analytics-lower-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}
.access-command-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}
.form-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}
.provider-switch{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}
.detail-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}
.form-wide{grid-column:auto}

.admin-footer{margin-top:28px;color:var(--faint)}
.toast{border-color:color-mix(in srgb,var(--cyan) 48%,var(--border));background:color-mix(in srgb,var(--surface-strong) 94%,#02040a);box-shadow:0 18px 48px rgba(0,0,0,.38),0 0 22px color-mix(in srgb,var(--cyan) 12%,transparent)}

@media (max-width:1460px){
  .admin-topbar{
    grid-template-columns:minmax(0,1fr) auto;
    grid-template-areas:"brand session" "context context";
    align-items:center;
  }
  .admin-dashboard-bar{grid-template-columns:auto auto auto minmax(150px,1fr);padding-top:8px;border-top:1px solid color-mix(in srgb,var(--cyan) 13%,var(--border))}
  .admin-sidebar{position:relative;top:auto;max-height:none}
}

@media (max-width:1180px){
  .admin-shell{width:min(100% - 32px,1680px)}
  .admin-workspace{grid-template-columns:212px minmax(0,1fr);gap:16px}
  .admin-workspace.is-sidebar-collapsed{grid-template-columns:68px minmax(0,1fr)}
  .admin-sidebar{border-radius:18px}
  .admin-section{padding:22px}
  .group-dashboard-grid{grid-template-columns:1fr}
  .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media (max-width:980px){
  .admin-shell{width:min(100% - 24px,1680px);padding-top:12px}
  .admin-topbar{top:8px;gap:11px;margin-bottom:14px;padding:10px}
  .admin-dashboard-bar{grid-template-columns:minmax(0,1fr) auto;gap:8px}
  .dashboard-mode-switch{grid-column:1 / -1;justify-self:start}
  .dashboard-range-switch{min-width:0;overflow-x:auto;scrollbar-width:thin}
  .admin-dashboard-refresh{justify-self:end}
  .admin-dashboard-bar-status{grid-column:1 / -1}
  .admin-session{padding-left:10px}
  .admin-session-user{max-width:165px}
  .admin-workspace,.admin-workspace.is-sidebar-collapsed{grid-template-columns:1fr;gap:14px}
  .admin-sidebar{display:block;overflow:visible;padding:9px 8px;border-radius:16px}
  .admin-sidebar::before{right:12px;left:12px}
  .admin-sidebar-heading,.admin-sidebar-status{display:none}
  .admin-tabs{display:flex;gap:7px;overflow-x:auto;padding:2px 2px 8px;scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--cyan) 55%,transparent) transparent;scroll-snap-type:x proximity}
  .admin-tabs::-webkit-scrollbar{display:block;height:4px}
  .admin-tabs::-webkit-scrollbar-thumb{border-radius:999px;background:color-mix(in srgb,var(--cyan) 45%,transparent)}
  .admin-tab{min-width:max-content;min-height:42px;padding:0 12px;scroll-snap-align:start}
  .admin-tab::before{bottom:3px;left:50%;width:22px;height:3px;transform:translateX(-50%)}
  .admin-tab.is-active::before{width:32px;height:3px}
  .admin-workspace.is-sidebar-collapsed .admin-tab{justify-content:center;padding:0 12px}
  .admin-workspace.is-sidebar-collapsed .admin-tab > span{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto;white-space:normal}
  .admin-workspace.is-sidebar-collapsed .admin-tab::before{bottom:3px;left:50%;width:22px;height:3px;transform:translateX(-50%)}
  .admin-workspace.is-sidebar-collapsed .admin-tab.is-active::before{width:32px;height:3px}
  .admin-sidebar-toggle{display:none}
  .access-command-grid{grid-template-columns:1fr}
  .form-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}
}

@media (max-width:700px){
  .admin-shell{width:100%;padding:0 0 28px}
  .admin-topbar{
    top:0;
    gap:9px;
    margin:0 0 12px;
    padding:9px 12px 10px;
    border-right:0;
    border-left:0;
    border-radius:0 0 17px 17px;
    grid-template-columns:minmax(0,1fr) auto;
  }
  .admin-brand{gap:9px}
  .admin-brand-mark{width:38px;height:38px;border-radius:12px}
  .admin-brand-mark svg{width:19px;height:19px}
  .admin-brand-mark::after{width:8px;height:8px;transform:translate(10px,-10px)}
  .admin-kicker,.admin-brand-copy{display:none}
  h1{font-size:1.08rem;line-height:1.2}
  .admin-session{gap:6px;padding-left:7px;border-left:0}
  .admin-session-online{display:none}
  .admin-session-label{display:none}
  .admin-session-user{max-width:112px;font-size:.7rem}
  .admin-icon-button{width:38px;min-height:38px}
  .admin-session .admin-secondary-button{min-height:38px;padding:0 9px;font-size:.7rem}
  .admin-dashboard-bar{padding-top:9px}
  .admin-workspace{padding:0 12px}
  .admin-section{padding:18px;border-radius:18px}
  .section-header{gap:12px}
  .section-header h2{font-size:1.2rem}
  .dashboard-header-actions,.section-header-tools{justify-content:flex-start}
  .daily-snapshot,.dashboard-panel{padding:15px}
  .group-dashboard-hero{padding:18px}
  .group-dashboard-hero h3{font-size:1.3rem}
  .group-dashboard-date{align-self:flex-start}
  .analytics-lower-grid{grid-template-columns:1fr}
  .leaderboard-row{grid-template-columns:30px minmax(0,1fr) auto;grid-template-areas:"rank user generated" ". user jobs";gap:6px 8px}
  .leader-rank{grid-area:rank}
  .leader-user{grid-area:user}
  .leader-metric{display:grid !important;text-align:right}
  .leader-metric:nth-of-type(3){grid-area:generated}
  .leader-metric:nth-of-type(4){grid-area:jobs}
  .disclosure-toolbar,.list-item-header{align-items:flex-start;flex-wrap:wrap}
  .form-row,.toolbar,.input-with-action{grid-template-columns:1fr}
  .form-wide{grid-column:auto}
}

@media (max-width:520px){
  .admin-topbar{padding-right:10px;padding-left:10px}
  .admin-session-user{display:none}
  .admin-session .admin-secondary-button span{display:none}
  .admin-dashboard-bar{grid-template-columns:minmax(0,1fr) auto;gap:7px}
  .dashboard-mode-switch{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}
  .dashboard-range-switch{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));width:100%;max-width:100%;overflow:visible}
  .dashboard-mode-switch button,.dashboard-range-switch button{min-width:0;padding:0 5px;font-size:.68rem}
  .dashboard-range-switch button{min-height:34px}
  .admin-dashboard-refresh{width:38px;padding:0}
  .admin-dashboard-refresh span{display:none}
  .admin-dashboard-bar-status{min-height:31px;padding:7px 8px;font-size:.64rem}
  .admin-dashboard-bar-status::before{font-size:.53rem}
  .admin-workspace{padding:0 10px}
  .admin-sidebar{margin:0 -2px;padding:7px 6px}
  .admin-tabs{gap:5px}
  .admin-tab{min-height:39px;padding:0 10px;font-size:.73rem}
  .admin-tab svg{width:16px;height:16px}
  .admin-section{padding:15px}
  .group-metrics-grid,.daily-snapshot-metrics,.daily-comparison-groups,.form-grid,.detail-grid,.provider-switch{grid-template-columns:1fr}
  .daily-snapshot-members{grid-template-columns:1fr}
  .daily-member-breakdown{grid-column:1;grid-row:auto;justify-content:flex-start}
  .daily-snapshot-members small{grid-column:1}
  .daily-comparison-heading{align-items:flex-start;flex-direction:column}
  .daily-comparison-heading p{text-align:left}
  .analytics-funnel{grid-template-columns:repeat(2,minmax(0,1fr))}
  .analytics-funnel-stage:nth-child(2)::after{display:none}
  .activity-comparison{min-height:205px}
  .activity-line-chart{height:145px}
  .activity-axis{font-size:.57rem}
  .activity-chart-tooltip{top:8px;min-width:136px;padding:8px 9px}
  .access-disclosure summary{padding:15px}
  .access-disclosure-copy em{white-space:normal}
  .access-disclosure-body{padding:0 11px 11px}
  .admin-footer{padding:0 14px;text-align:center}
}

/* Dashboard V2 — light SaaS app shell. This layer intentionally replaces the
   earlier floating/cyber treatment while retaining shared management controls. */
:root,
:root[data-theme="light"],
:root[data-theme="dark"]{
  color-scheme:light;
  --bg:#F6F7F9;
  --bg-deep:#F6F7F9;
  --surface:#FFFFFF;
  --surface-strong:#FFFFFF;
  --surface-soft:#F9FAFB;
  --surface-hover:#F3F4F6;
  --border:#E5E7EB;
  --border-strong:#93C5FD;
  --text:#111827;
  --text-soft:#374151;
  --muted:#6B7280;
  --faint:#9CA3AF;
  --cyan:#2563EB;
  --cyan-strong:#2563EB;
  --violet:#2563EB;
  --violet-strong:#1D4ED8;
  --green:#059669;
  --amber:#D97706;
  --red:#DC2626;
  --shadow:none;
  --shadow-soft:none;
  --radius-xl:12px;
  --radius-lg:12px;
  --radius-md:10px;
}

html,
body{height:100%;min-height:100%;overflow:hidden;background:#F6F7F9}
body{margin:0;background:#F6F7F9;color:var(--text);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif}
body::before,
body::after,
.admin-ambient{display:none !important}
button,
input,
select{font:inherit}

.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

.admin-shell{width:100%;height:100dvh;min-height:0;margin:0;padding:0;background:#F6F7F9}
.admin-login-panel,
.admin-blocker{width:min(720px,calc(100% - 48px));margin:72px auto;padding:28px;border:1px solid var(--border);border-radius:12px;background:#FFF;box-shadow:none}
.admin-login-panel{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:32px}
.admin-login-copy h2,
.admin-blocker h2{color:var(--text)}
.admin-consent{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:13px;line-height:1.45}
.admin-consent input[type="checkbox"]{box-sizing:border-box;flex:0 0 18px;width:18px;min-width:18px;height:18px;min-height:18px;margin:0;padding:0;accent-color:var(--cyan)}
.admin-consent > span{display:block}

.admin-workspace,
.admin-workspace.is-sidebar-collapsed{display:grid;grid-template-columns:224px minmax(0,1fr);align-items:stretch;width:100%;height:100%;min-height:0;gap:0;overflow:hidden}
.admin-sidebar{position:relative;top:auto;display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;gap:18px;min-width:0;max-height:none;min-height:0;padding:22px 16px 18px;border:0;border-right:1px solid var(--border);border-radius:0;background:#FFF;box-shadow:none;overflow:hidden}
.admin-sidebar::before{display:none}
.admin-sidebar-brand{display:flex;align-items:center;gap:10px;min-width:0;padding:0 4px}
.admin-sidebar-brand > div:last-child{display:grid;gap:3px;min-width:0}
.admin-sidebar-brand strong{overflow:hidden;color:var(--text);font-size:14px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}
.admin-sidebar-brand span{color:var(--muted);font-size:12px;line-height:1.2}
.admin-brand-mark{display:grid;width:32px;height:32px;place-items:center;flex:0 0 auto;border:0;border-radius:9px;background:#EFF6FF;color:var(--cyan);box-shadow:none}
.admin-brand-mark::after{display:none}
.admin-brand-mark svg{width:18px;height:18px;stroke-width:2}
.admin-sidebar-heading{display:none}
.admin-product-switch,
.section-product-switch{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;padding:3px;border:0;border-radius:10px;background:#F3F4F6;box-shadow:none}
.admin-product-switch button,
.section-product-switch button{min-width:0;min-height:32px;padding:0 8px;border:0;border-radius:7px;background:transparent;color:var(--muted);font-size:13px;font-weight:600;box-shadow:none}
.admin-product-switch button:hover,
.section-product-switch button:hover{background:#FFF;color:var(--text)}
.admin-product-switch button.is-active,
.section-product-switch button.is-active{border:0;background:#FFF;color:var(--cyan);box-shadow:0 1px 2px rgba(17,24,39,.08)}
.admin-tabs{display:grid;align-content:start;gap:4px;min-height:0;overflow:hidden}
.admin-tab{position:relative;display:flex;align-items:center;justify-content:flex-start;gap:10px;min-height:40px;padding:0 10px;border:0;border-radius:8px;background:transparent;color:var(--muted);font-size:14px;font-weight:500;text-align:left;box-shadow:none}
.admin-tab::before{display:none}
.admin-tab svg{width:17px;height:17px;stroke-width:1.9}
.admin-tab:hover{background:#F9FAFB;color:var(--text)}
.admin-tab.is-active{border:0;background:#EFF6FF;color:var(--cyan);box-shadow:none}
.admin-tab.is-active::before{display:none}
.admin-workspace.is-sidebar-collapsed .admin-sidebar{padding-right:16px;padding-left:16px}
.admin-workspace.is-sidebar-collapsed .admin-tab{justify-content:flex-start;padding:0 10px}
.admin-workspace.is-sidebar-collapsed .admin-tab > span{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto;white-space:normal}
.admin-sidebar-status{display:grid;gap:10px;margin:0;padding:16px 4px 0;border-top:1px solid var(--border);color:var(--muted);font-size:12px;font-weight:500}
.admin-sidebar-status > div{display:flex;align-items:center;gap:8px}
.sidebar-status-dot{width:7px;height:7px;border:0;border-radius:50%;background:#10B981;box-shadow:none}

.admin-page{display:grid;grid-template-rows:68px minmax(0,1fr);min-width:0;min-height:0;background:#F6F7F9}
.admin-topbar{position:relative;top:auto;z-index:10;display:grid;grid-template-columns:minmax(0,1fr) auto auto;grid-template-areas:"title controls user";align-items:center;min-height:68px;height:68px;margin:0;padding:0 24px;border:0;border-bottom:1px solid var(--border);border-radius:0;background:#FFF;box-shadow:none;backdrop-filter:none}
.admin-topbar::before{display:none}
.admin-topbar-start{grid-area:title;display:grid;gap:3px;min-width:0}
.admin-topbar-start h1{margin:0;color:var(--text);font-size:18px;font-weight:700;letter-spacing:-.02em;line-height:1.25}
.admin-topbar-start p{margin:0;overflow:hidden;color:var(--muted);font-size:13px;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}
.admin-dashboard-bar{grid-area:controls;display:flex;align-items:center;justify-content:flex-end;gap:12px;min-width:0}
.admin-dashboard-status{display:none}
.dashboard-range-select select{width:118px;min-height:36px;padding:0 30px 0 11px;border:1px solid var(--border);border-radius:8px;outline:0;background:#FFF;color:var(--text);font-size:13px;font-weight:500;box-shadow:none}
.dashboard-range-select select:focus{border-color:var(--cyan);box-shadow:0 0 0 3px rgba(37,99,235,.12)}
.dashboard-last-updated{display:grid;gap:1px;min-width:112px;color:var(--muted);font-size:11px;line-height:1.2}
.dashboard-last-updated strong{color:var(--text-soft);font-size:12px;font-weight:600;white-space:nowrap}
.admin-secondary-button,
.admin-icon-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:36px;padding:0 11px;border:1px solid var(--border);border-radius:8px;background:#FFF;color:var(--text-soft);font-size:13px;font-weight:500;box-shadow:none;transition:border-color .16s ease,background .16s ease,color .16s ease}
.admin-secondary-button:hover,
.admin-icon-button:hover{border-color:#BFDBFE;background:#EFF6FF;color:var(--cyan);box-shadow:none;transform:none}
.admin-dashboard-refresh{min-width:72px;padding:0 10px}
.admin-dashboard-refresh svg{width:15px;height:15px}
.admin-user-menu{position:relative;grid-area:user;margin-left:14px}
.admin-user-menu summary{display:flex;align-items:center;gap:7px;min-height:36px;max-width:180px;padding:0 8px;cursor:pointer;list-style:none;color:var(--text-soft);font-size:13px;font-weight:500;user-select:none}
.admin-user-menu summary::-webkit-details-marker{display:none}
.admin-user-menu summary > span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.admin-user-menu summary svg{width:15px;height:15px;color:var(--muted);transition:transform .16s ease}
.admin-user-menu[open] summary svg{transform:rotate(180deg)}
.admin-user-menu-popover{position:absolute;top:calc(100% + 10px);right:0;z-index:20;display:grid;min-width:208px;padding:7px;border:1px solid var(--border);border-radius:10px;background:#FFF;box-shadow:0 10px 24px rgba(17,24,39,.10)}
.admin-user-menu-heading{display:grid;gap:4px;padding:8px 9px 10px;border-bottom:1px solid var(--border)}
.admin-user-menu-heading span{color:var(--muted);font-size:11px}
.admin-user-menu-heading strong{max-width:180px;overflow:hidden;color:var(--text);font-size:13px;text-overflow:ellipsis;white-space:nowrap}
.admin-user-menu-popover button{display:flex;align-items:center;gap:8px;min-height:34px;padding:0 9px;border:0;border-radius:7px;background:transparent;color:var(--text-soft);font-size:13px;text-align:left}
.admin-user-menu-popover button:hover{background:#F9FAFB;color:var(--text)}
.admin-user-menu-popover button svg{width:15px;height:15px;color:var(--muted)}

.admin-content{min-width:0;min-height:0;padding:24px;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain}
.admin-section{display:none;margin:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}
.admin-section.is-active{display:block}
.admin-section[data-tab-panel="overview"]{min-width:0}
.section-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:20px}
.section-header h2{margin:0;color:var(--text);font-size:20px;line-height:1.3}
.section-kicker{margin:0 0 5px;color:var(--muted);font-size:12px;font-weight:600;letter-spacing:0;text-shadow:none}
.section-copy{margin:6px 0 0;color:var(--muted);font-size:13px;line-height:1.55}
.section-header-tools{display:flex;align-items:center;gap:10px}
.admin-warning{margin-bottom:16px;padding:12px 14px;border:1px solid #FDE68A;border-radius:10px;background:#FFFBEB;color:#92400E;font-size:13px;font-weight:500;line-height:1.55}
.admin-primary-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:38px;padding:0 13px;border:1px solid var(--cyan);border-radius:8px;background:var(--cyan);color:#FFF;font-size:13px;font-weight:600;box-shadow:none}
.admin-primary-button:hover{border-color:#1D4ED8;background:#1D4ED8;box-shadow:none;transform:none}
.admin-primary-button svg{width:16px;height:16px}
.access-command-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.access-disclosure,.admin-form,.form-row,.list-item,.detail-row,.provider-switch button{border:1px solid var(--border);border-radius:10px;background:#FFF;box-shadow:none}
.access-disclosure{overflow:hidden;transition:border-color .16s ease,background .16s ease,transform .16s ease}
.access-disclosure:hover{border-color:#BFDBFE;background:#FFF;transform:none}
.access-disclosure--create,.access-disclosure--manage{border-color:var(--border);background:#FFF}
.access-disclosure summary{padding:17px;gap:12px}
.access-disclosure-icon{width:38px;height:38px;border:0;border-radius:9px;background:#EFF6FF;color:var(--cyan);box-shadow:none}
.access-disclosure--manage .access-disclosure-icon{border:0;background:#EFF6FF;color:var(--cyan);box-shadow:none}
.access-disclosure-copy small{color:var(--muted);font-size:11px;font-weight:600;letter-spacing:0}
.access-disclosure-copy strong{color:var(--text);font-size:15px}
.access-disclosure-copy em{color:var(--muted);font-size:12px}
.access-disclosure-chevron{color:var(--muted)}
.access-disclosure[open] .access-disclosure-chevron{color:var(--cyan)}
.access-disclosure-body{padding:0 16px 16px;border-top:1px solid var(--border)}
.admin-form{gap:14px;padding:16px}
.form-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:16px}
.form-grid{gap:13px}
label{color:var(--text-soft);font-size:13px;font-weight:600}
label span{color:var(--muted);font-size:12px}
input,
select{min-height:38px;border:1px solid var(--border);border-radius:8px;background:#FFF;color:var(--text);font-size:13px;box-shadow:none}
input:focus,
select:focus{border-color:var(--cyan);background:#FFF;box-shadow:0 0 0 3px rgba(37,99,235,.12)}
.toolbar{gap:10px;padding:0}
.compact-list{gap:10px}
.list-item{padding:14px;transition:border-color .16s ease,background .16s ease,transform .16s ease}
.list-item:hover{border-color:#BFDBFE;background:#FFF;transform:none}
.detail-row{min-height:0;padding:12px}
.provider-switch button{min-height:96px;padding:15px;color:var(--text-soft)}
.provider-switch button::after{border-color:var(--border)}
.provider-switch button:hover{border-color:#BFDBFE;transform:none}
.provider-switch button.is-active{border-color:#93C5FD;background:#EFF6FF;color:var(--cyan);box-shadow:none}
.tag{border-radius:999px}
.toast{bottom:24px;padding:11px 14px;border:1px solid var(--border);border-radius:9px;background:#FFF;box-shadow:0 10px 24px rgba(17,24,39,.12);color:var(--text);backdrop-filter:none}

/* Dashboard V2 content */
.dashboard-v2{display:grid;gap:24px;min-width:0}
.dashboard-v2-section{display:grid;gap:12px;min-width:0}
.dashboard-v2-heading{display:flex;align-items:end;justify-content:space-between;gap:16px}
.dashboard-v2-heading h2{margin:0;color:var(--text);font-size:15px;font-weight:650;line-height:1.3}
.dashboard-v2-heading p{margin:0;color:var(--muted);font-size:12px;line-height:1.45;text-align:right}
.dashboard-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.dashboard-kpi-card{display:grid;gap:10px;min-width:0;padding:17px;border:1px solid var(--border);border-radius:10px;background:#FFF}
.dashboard-kpi-label{color:var(--muted);font-size:13px;font-weight:500}
.dashboard-kpi-value{overflow:hidden;color:var(--text);font-size:28px;font-weight:700;letter-spacing:-.04em;line-height:1.1;text-overflow:ellipsis;white-space:nowrap}
.dashboard-kpi-delta{display:flex;align-items:center;gap:5px;min-height:18px;color:var(--muted);font-size:12px;line-height:1.35}
.dashboard-kpi-delta strong{font-weight:600}
.dashboard-kpi-delta.is-up{color:var(--green)}
.dashboard-kpi-delta.is-down{color:var(--red)}
.dashboard-kpi-delta.is-flat{color:var(--muted)}
.dashboard-snapshot-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.dashboard-snapshot-card{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0;padding:15px 17px;border:1px solid var(--border);border-radius:10px;background:#FFF}
.dashboard-snapshot-card span{color:var(--muted);font-size:13px}
.dashboard-snapshot-card strong{overflow:hidden;color:var(--text);font-size:22px;font-weight:700;letter-spacing:-.035em;text-overflow:ellipsis;white-space:nowrap}
.dashboard-main-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(286px,.8fr);gap:16px;min-width:0}
.dashboard-compact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;min-width:0}
.dashboard-card{min-width:0;padding:18px;border:1px solid var(--border);border-radius:10px;background:#FFF}
.dashboard-card-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}
.dashboard-card-heading h2{margin:0;color:var(--text);font-size:15px;font-weight:650;line-height:1.35}
.dashboard-card-heading p{margin:4px 0 0;color:var(--muted);font-size:12px;line-height:1.45}
.dashboard-card-note{margin:12px 0 0;color:var(--muted);font-size:12px;line-height:1.45}
.dashboard-chart-legend{display:flex;align-items:center;gap:14px;padding-top:2px;color:var(--muted);font-size:12px;white-space:nowrap}
.dashboard-chart-legend span{display:inline-flex;align-items:center;gap:6px}
.dashboard-chart-legend i{display:block;width:8px;height:8px;border-radius:50%;background:#2563EB}
.dashboard-chart-legend i.is-generated{background:#7C3AED}
.dashboard-trend-chart{position:relative;min-width:0;margin-top:18px}
.dashboard-trend-chart svg{display:block;width:100%;height:208px;overflow:visible}
.dashboard-chart-grid-line{stroke:#E5E7EB;stroke-width:1}
.dashboard-chart-line{fill:none;stroke:#2563EB;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.5}
.dashboard-chart-line.is-generated{stroke:#7C3AED}
.dashboard-chart-line.is-partial{stroke-dasharray:5 5}
.dashboard-chart-point{fill:#FFF;stroke:#2563EB;stroke-width:2}
.dashboard-chart-point.is-generated{stroke:#7C3AED}
.dashboard-chart-axis{display:grid;grid-template-columns:repeat(var(--chart-label-count,7),minmax(0,1fr));min-height:18px;margin-top:7px;color:var(--muted);font-size:11px;line-height:1.25;text-align:center}
.dashboard-chart-axis span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dashboard-membership-list{display:grid;gap:14px;margin-top:19px}
.dashboard-membership-row{display:grid;grid-template-columns:76px minmax(0,1fr) auto;align-items:center;gap:10px}
.dashboard-membership-row > span{color:var(--text-soft);font-size:13px;font-weight:500}
.dashboard-membership-row strong{color:var(--text);font-size:13px;font-weight:650}
.dashboard-membership-meter{height:7px;overflow:hidden;border-radius:999px;background:#F3F4F6}
.dashboard-membership-meter b{display:block;width:var(--membership-share,0%);height:100%;border-radius:inherit;background:#2563EB}
.dashboard-membership-row[data-plan="pro"] .dashboard-membership-meter b{background:#4F46E5}
.dashboard-membership-row[data-plan="max"] .dashboard-membership-meter b{background:#7C3AED}
.dashboard-membership-row[data-plan="trial"] .dashboard-membership-meter b{background:#94A3B8}
.dashboard-new-members-breakdown{margin-top:18px;border-top:1px solid #F3F4F6}
.dashboard-new-members-breakdown summary{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;min-height:58px;cursor:pointer;list-style:none}
.dashboard-new-members-breakdown summary::-webkit-details-marker{display:none}
.dashboard-new-members-breakdown summary:focus-visible{outline:2px solid #93C5FD;outline-offset:3px;border-radius:7px}
.dashboard-new-members-summary-copy{display:grid;gap:3px;min-width:0}
.dashboard-new-members-summary-copy strong{color:var(--text);font-size:13px;font-weight:650}
.dashboard-new-members-summary-copy small{overflow:hidden;color:var(--muted);font-size:12px;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}
.dashboard-new-members-summary-total{display:inline-flex;align-items:center;gap:7px;color:var(--text)}
.dashboard-new-members-summary-total b{font-size:16px;font-weight:700;letter-spacing:-.025em}
.dashboard-new-members-summary-total i{width:16px;height:16px;color:var(--muted);transition:transform .16s ease}
.dashboard-new-members-breakdown[open] .dashboard-new-members-summary-total i{transform:rotate(180deg)}
.dashboard-new-members-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding:12px 0 2px;border-top:1px solid #F3F4F6}
.dashboard-new-members-plan{display:grid;gap:4px;min-width:0;padding:0 10px;border-left:1px solid #E5E7EB}
.dashboard-new-members-plan:first-child{padding-left:0;border-left:0}
.dashboard-new-members-plan span{overflow:hidden;color:var(--muted);font-size:12px;text-overflow:ellipsis;white-space:nowrap}
.dashboard-new-members-plan strong{color:var(--text);font-size:17px;font-weight:700;letter-spacing:-.025em;line-height:1.2}
.dashboard-funnel{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:17px}
.dashboard-funnel-step{display:grid;gap:5px;min-width:0;padding:10px 9px;border-radius:8px;background:#F9FAFB}
.dashboard-funnel-step span{overflow:hidden;color:var(--muted);font-size:11px;text-overflow:ellipsis;white-space:nowrap}
.dashboard-funnel-step strong{color:var(--text);font-size:19px;font-weight:700;letter-spacing:-.035em;line-height:1.1}
.dashboard-operation-list{display:grid;gap:8px;margin-top:16px}
.dashboard-operation-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;min-height:34px;padding-bottom:8px;border-bottom:1px solid #F3F4F6}
.dashboard-operation-row:last-child{padding-bottom:0;border-bottom:0}
.dashboard-operation-name{display:grid;gap:2px;min-width:0}
.dashboard-operation-name strong{overflow:hidden;color:var(--text-soft);font-size:13px;font-weight:500;text-overflow:ellipsis;white-space:nowrap}
.dashboard-operation-name small{overflow:hidden;color:var(--faint);font-size:11px;text-overflow:ellipsis;white-space:nowrap}
.dashboard-operation-row > strong{color:var(--text);font-size:13px;font-weight:650}
.dashboard-ranking-table-wrap{margin-top:15px;overflow-x:auto}
.dashboard-ranking-table{width:100%;min-width:660px;border-collapse:collapse;font-size:13px;table-layout:fixed}
.dashboard-ranking-table th{height:38px;padding:0 12px;border-bottom:1px solid var(--border);color:var(--muted);font-size:12px;font-weight:500;text-align:left;white-space:nowrap}
.dashboard-ranking-table td{height:48px;padding:0 12px;border-bottom:1px solid #F3F4F6;color:var(--text-soft);vertical-align:middle}
.dashboard-ranking-table tbody tr:last-child td{border-bottom:0}
.dashboard-ranking-table th:nth-child(n+3),
.dashboard-ranking-table td:nth-child(n+3){text-align:right}
.dashboard-ranking-table th:first-child,
.dashboard-ranking-table td:first-child{width:64px}
.dashboard-ranking-table th:nth-child(2),
.dashboard-ranking-table td:nth-child(2){width:42%}
.dashboard-ranking-user{overflow:hidden;color:var(--text);font-weight:500;text-overflow:ellipsis;white-space:nowrap}
.dashboard-ranking-rank{display:inline-grid;width:24px;height:24px;place-items:center;border-radius:6px;background:#F3F4F6;color:var(--text-soft);font-size:12px;font-weight:600}
.dashboard-empty-state{display:grid;min-height:124px;place-items:center;color:var(--muted);font-size:13px;text-align:center}
.dashboard-v2-privacy{margin:0;color:var(--muted);font-size:12px;line-height:1.5}

@media (max-width:1180px){
  .dashboard-main-grid{grid-template-columns:1fr}
  .dashboard-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media (max-width:880px){
  html,body{overflow:auto}
  .admin-shell{height:auto;min-height:100dvh}
  .admin-workspace,
  .admin-workspace.is-sidebar-collapsed{grid-template-columns:1fr;height:auto;overflow:visible}
  .admin-sidebar{grid-template-rows:auto auto auto;gap:12px;padding:14px 16px;border-right:0;border-bottom:1px solid var(--border);overflow:visible}
  .admin-tabs{display:flex;gap:5px;overflow-x:auto;padding-bottom:2px}
  .admin-tab{flex:0 0 auto;min-height:36px;padding:0 9px}
  .admin-sidebar-status{display:none}
  .admin-page{grid-template-rows:auto minmax(0,1fr)}
  .admin-topbar{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"title user" "controls controls";height:auto;min-height:68px;gap:10px;padding:12px 16px}
  .admin-dashboard-bar{justify-content:flex-start}
  .admin-content{padding:18px;overflow:visible}
  .dashboard-compact-grid{grid-template-columns:1fr}
  .refund-workbench-grid{grid-template-columns:1fr}
  .refund-fact-streams{grid-template-columns:1fr}
  .refund-case-toolbar{grid-template-columns:1fr 1fr}
}

@media (max-width:560px){
  .admin-login-panel{grid-template-columns:1fr;width:min(100% - 28px,720px);margin:28px auto;padding:20px}
  .admin-topbar{padding:11px 14px}
  .admin-topbar-start p{display:none}
  .dashboard-last-updated{display:none}
  .admin-user-menu{margin-left:4px}
  .admin-user-menu summary{max-width:110px}
  .admin-dashboard-bar{width:100%;justify-content:space-between}
  .dashboard-range-select select{width:112px}
  .admin-content{padding:16px 12px}
  .dashboard-kpi-grid,
  .dashboard-snapshot-grid{grid-template-columns:1fr}
  .dashboard-v2-heading{align-items:flex-start;flex-direction:column}
  .dashboard-v2-heading p{text-align:left}
  .dashboard-funnel{grid-template-columns:repeat(2,minmax(0,1fr))}
  .dashboard-new-members-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px 0}
  .dashboard-new-members-plan:nth-child(3){padding-left:0;border-left:0}
  .dashboard-card{padding:15px}
  .dashboard-chart-legend{gap:10px;font-size:11px}
  .refund-case-meta{grid-template-columns:1fr}
  .refund-debt-preview-grid{grid-template-columns:1fr}
  .refund-case-toolbar{grid-template-columns:1fr}
}

/* Management login: Official Account WeChat QR is the primary entry; the
   existing Mini Program scanner remains an explicit fallback. */
.admin-login-copy{align-content:center}
.admin-login-methods{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;width:min(100%,420px);padding:4px;border:1px solid var(--border);border-radius:10px;background:#F9FAFB}
.admin-login-method{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:0;min-height:38px;padding:0 10px;border:1px solid transparent;border-radius:7px;background:transparent;color:var(--muted);font-size:13px;font-weight:600;transition:background .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease}
.admin-login-method:hover{background:#FFF;color:var(--text-soft)}
.admin-login-method.is-active{border-color:#BFDBFE;background:#FFF;color:var(--cyan);box-shadow:0 1px 2px rgba(17,24,39,.08)}
.admin-login-method svg{width:16px;height:16px;flex:0 0 auto;stroke-width:2}
.admin-login-method span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.admin-login-method small{padding:2px 5px;border-radius:999px;background:#EFF6FF;color:var(--cyan);font-size:10px;font-weight:700;line-height:1}
.admin-login-method-tip{max-width:500px;color:var(--muted);font-size:12px;line-height:1.55}
.admin-login-qr .qr-frame{position:relative;transition:border-color .16s ease,box-shadow .16s ease}
.admin-login-qr .qr-frame.is-error{border-color:#FCA5A5;box-shadow:0 0 0 3px rgba(220,38,38,.09)}
.admin-login-qr .qr-frame.is-loading::after{position:absolute;inset:0;display:grid;place-items:center;background:rgba(255,255,255,.72);color:var(--muted);content:"正在加载登录码";font-size:12px}
.admin-login-qr [data-login-check-code-row][hidden]{display:none}

@media (max-width:560px){
  .admin-login-methods{width:100%}
  .admin-login-method{padding:0 7px;font-size:12px}
  .admin-login-method small{display:none}
}
