:root{
  --bg:#050816;
  --bg2:#081128;
  --panel:#0d1731cc;
  --panel-2:#0b1430f0;
  --panel-solid:#0d1835;
  --stroke:rgba(255,255,255,.09);
  --stroke-strong:rgba(255,255,255,.14);
  --text:#eef4ff;
  --muted:#9fb0d7;
  --muted-2:#6f84b5;
  --cyan:#64c8ff;
  --teal:#7fe8cd;
  --violet:#a26bff;
  --pink:#ff67c8;
  --amber:#f6bf74;
  --danger:#ff7e8b;
  --good:#89f0cc;
  --shadow:0 24px 80px rgba(0,0,0,.42);
  --shadow-soft:0 10px 30px rgba(0,0,0,.22);
  --glow-cyan:0 0 0 1px rgba(100,200,255,.12), 0 0 40px rgba(100,200,255,.13);
  --glow-violet:0 0 0 1px rgba(162,107,255,.10), 0 0 48px rgba(162,107,255,.12);
}

*{box-sizing:border-box}
html,body{margin:0;padding:0;min-height:100%}
html{scroll-behavior:smooth}
body{
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  color:var(--text);
  background:
    radial-gradient(circle at 8% 8%, rgba(100,200,255,.18), transparent 18%),
    radial-gradient(circle at 86% 12%, rgba(162,107,255,.16), transparent 20%),
    radial-gradient(circle at 76% 58%, rgba(127,232,205,.14), transparent 22%),
    linear-gradient(180deg,#040714 0%, #071022 36%, #050915 100%);
}

.noise{
  position:fixed; inset:0; pointer-events:none; opacity:.05;
  background-image:radial-gradient(rgba(255,255,255,.6) .65px, transparent .65px);
  background-size:7px 7px;
  mix-blend-mode:soft-light;
}

.aurora{
  position:fixed; inset:auto; pointer-events:none; filter:blur(70px); opacity:.35; z-index:0;
}
.aurora-a{width:36rem;height:36rem;top:-8rem;left:-10rem;background:rgba(100,200,255,.18)}
.aurora-b{width:42rem;height:42rem;top:12rem;right:-14rem;background:rgba(162,107,255,.14)}
.aurora-c{width:30rem;height:30rem;bottom:-8rem;left:34%;background:rgba(127,232,205,.14)}

a{color:inherit;text-decoration:none}
h1,h2,h3,p{margin:0}
small{display:block}

.center-wrap{min-height:100vh;display:grid;place-items:center;padding:24px;position:relative;z-index:1}
.viewer-body,.dashboard-body{padding:22px;position:relative;z-index:1}

.glass-card{
  position:relative;
  background:linear-gradient(180deg, rgba(13,23,49,.90), rgba(8,15,34,.82));
  border:1px solid var(--stroke);
  border-radius:30px;
  box-shadow:var(--shadow), inset 0 1px 0 rgba(255,255,255,.04);
  backdrop-filter: blur(18px) saturate(1.12);
  overflow:hidden;
}
.glass-card::before{
  content:"";
  position:absolute; inset:0;
  background:linear-gradient(135deg, rgba(255,255,255,.06), transparent 18%, transparent 72%, rgba(100,200,255,.06));
  pointer-events:none;
}
.glow-card{box-shadow:var(--shadow), var(--glow-cyan)}

.gate-card{width:min(680px,100%);padding:34px}
.admin-login-card{max-width:560px}
.eyebrow{font-size:12px;letter-spacing:.22em;color:var(--cyan);font-weight:800;margin-bottom:12px;text-transform:uppercase}
.lead{color:var(--muted);font-size:15px;line-height:1.62;margin-top:12px;margin-bottom:22px;max-width:64ch}
.stack{display:grid;gap:12px}
label{font-size:13px;color:var(--muted);font-weight:600;margin-bottom:4px;display:block}

input,select,button{
  width:100%;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.10);
  background:linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02));
  color:var(--text);
  padding:15px 16px;
  font-size:15px;
  outline:none;
  transition:border-color .18s ease, box-shadow .18s ease, transform .18s ease, background .18s ease;
}
input:focus,select:focus{
  border-color:rgba(100,200,255,.45);
  box-shadow:0 0 0 4px rgba(100,200,255,.10), 0 0 22px rgba(100,200,255,.10);
  background:rgba(255,255,255,.05);
}
button{cursor:pointer}
.btn-primary{
  background:linear-gradient(90deg, rgba(100,200,255,.95), rgba(127,232,205,.95));
  color:#071220;
  font-weight:900;
  border:none;
  box-shadow:0 14px 30px rgba(100,200,255,.20), inset 0 1px 0 rgba(255,255,255,.36);
}
.btn-primary:hover{transform:translateY(-1px);filter:saturate(1.04)}
.btn-luminous{position:relative;overflow:hidden}
.btn-luminous::after{
  content:"";
  position:absolute; inset:-2px auto -2px -18%; width:36%;
  background:linear-gradient(90deg, transparent, rgba(255,255,255,.36), transparent);
  transform:skewX(-20deg);
  animation:shine 4.5s linear infinite;
}
.btn-secondary{
  display:inline-flex;align-items:center;justify-content:center;
  padding:13px 18px;border-radius:18px;font-weight:700;
  border:1px solid rgba(255,255,255,.12);
  background:linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.02));
  color:var(--text);
  box-shadow:var(--shadow-soft);
}
.btn-secondary:hover{border-color:rgba(100,200,255,.24);box-shadow:var(--shadow-soft), var(--glow-cyan)}
.btn-ghost{min-width:112px}
.notice{
  padding:14px 16px;
  background:rgba(246,191,116,.10);
  border:1px solid rgba(246,191,116,.28);
  border-radius:16px;
  color:#ffe3b6;
  margin-bottom:16px;
}

.dashboard-hero{
  display:grid;
  grid-template-columns: minmax(0,1.7fr) minmax(320px,.9fr);
  gap:22px;
  padding:26px 26px 24px;
  margin-bottom:20px;
}
.hero-copy h1{font-size:58px;line-height:.98;letter-spacing:-.04em;margin-top:6px}
.hero-meta-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}
.hero-chip{
  min-width:180px;
  display:flex;align-items:center;gap:12px;
  padding:14px 16px;border-radius:20px;
  background:linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.02));
  border:1px solid rgba(255,255,255,.08);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
}
.hero-chip small{font-size:11px;color:var(--muted-2);text-transform:uppercase;letter-spacing:.12em;margin-bottom:4px}
.hero-chip strong{font-size:15px}
.chip-icon{
  width:38px;height:38px;border-radius:14px;display:grid;place-items:center;
  background:linear-gradient(135deg, rgba(100,200,255,.18), rgba(162,107,255,.16));
  color:#cfe9ff;font-weight:800;box-shadow:var(--glow-cyan)
}
.hero-side{display:flex;flex-direction:column;justify-content:space-between;gap:16px}
.hero-orb-card{
  border-radius:28px;
  padding:22px 22px 16px;
  background:linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.015));
  border:1px solid rgba(255,255,255,.08);
}
.orb-ring{
  width:180px;height:180px;margin:0 auto 14px;border-radius:50%;padding:14px;
  background:conic-gradient(var(--cyan) 0deg, var(--violet) 125deg, var(--pink) 220deg, var(--teal) 300deg, rgba(255,255,255,.18) 360deg);
  box-shadow:0 0 65px rgba(162,107,255,.20), 0 0 55px rgba(100,200,255,.18);
}
.orb-core{
  width:100%;height:100%;border-radius:50%;display:grid;place-items:center;text-align:center;
  background:radial-gradient(circle at 50% 30%, rgba(17,32,67,.95), rgba(7,12,26,.98));
  box-shadow:inset 0 0 34px rgba(100,200,255,.14), 0 0 0 1px rgba(255,255,255,.06);
}
.orb-core span{display:block;font-size:38px;font-weight:900;letter-spacing:-.04em}
.orb-core small{font-size:11px;text-transform:uppercase;letter-spacing:.18em;color:var(--muted-2)}
.orb-legend{display:grid;gap:8px;color:var(--muted);font-size:13px}
.legend-dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:8px;box-shadow:0 0 18px currentColor}
.legend-dot.cyan{color:var(--cyan);background:currentColor}
.legend-dot.violet{color:var(--violet);background:currentColor}
.header-actions{display:flex;justify-content:flex-end;gap:10px}

.dashboard-shell,.viewer-shell{display:grid;gap:18px}
.enhanced-shell{gap:20px}
.section-head{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:16px}
.section-head-tight{margin-bottom:14px}
.section-kicker{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--cyan);font-weight:800;margin-bottom:8px}
.section-head h2{font-size:24px;letter-spacing:-.03em}

.filter-card{padding:18px 18px 16px}
.filters-inline{display:grid;grid-template-columns:repeat(5,minmax(140px,1fr));gap:14px;align-items:end}
.filters-premium .field-wrap{position:relative}
.filter-submit{display:flex;align-items:end}

.kpi-grid{display:grid;grid-template-columns:repeat(6,minmax(150px,1fr));gap:16px}
.kpi-card{
  padding:18px 18px 16px;
  min-height:132px;
  background:
    radial-gradient(circle at 92% 14%, rgba(255,255,255,.08), transparent 24%),
    linear-gradient(180deg, rgba(12,22,49,.92), rgba(8,15,34,.82));
}
.kpi-card::after{
  content:"";
  position:absolute; inset:auto 14px 12px 14px; height:2px; border-radius:999px;
  background:linear-gradient(90deg, rgba(255,255,255,0), rgba(255,255,255,.12), rgba(255,255,255,0));
}
.kpi-top{display:flex;align-items:center;gap:10px;margin-bottom:14px}
.kpi-icon{
  width:36px;height:36px;border-radius:14px;display:grid;place-items:center;
  background:linear-gradient(135deg, rgba(100,200,255,.18), rgba(162,107,255,.18));
  border:1px solid rgba(255,255,255,.08);
  box-shadow:var(--glow-cyan);
}
.kpi-label{font-size:13px;color:var(--muted);font-weight:700}
.kpi-card strong{display:block;font-size:44px;line-height:1.02;letter-spacing:-.05em;margin-bottom:8px}
.kpi-card em{font-style:normal;font-size:12px;color:var(--muted-2)}
.kpi-card-pdf{box-shadow:var(--shadow), 0 0 0 1px rgba(100,200,255,.08), 0 0 36px rgba(100,200,255,.10)}
.kpi-card-download{box-shadow:var(--shadow), 0 0 0 1px rgba(127,232,205,.08), 0 0 36px rgba(127,232,205,.10)}
.kpi-card-video{box-shadow:var(--shadow), 0 0 0 1px rgba(162,107,255,.08), 0 0 36px rgba(162,107,255,.10)}
.kpi-card-mail{box-shadow:var(--shadow), 0 0 0 1px rgba(255,103,200,.08), 0 0 36px rgba(255,103,200,.10)}
.kpi-card-completion{box-shadow:var(--shadow), 0 0 0 1px rgba(246,191,116,.08), 0 0 36px rgba(246,191,116,.08)}
.kpi-card-watch{box-shadow:var(--shadow), 0 0 0 1px rgba(100,200,255,.08), 0 0 36px rgba(100,200,255,.08)}

.dashboard-grid{display:grid;grid-template-columns:1.05fr 2.05fr;gap:18px}
.dashboard-grid-premium .glass-card{padding:20px}
.wide-card{min-width:0}
.stat-stack{gap:14px}
.grant-row{padding:14px 0;border-bottom:1px solid rgba(255,255,255,.06)}
.grant-row:last-child{border-bottom:none}
.grant-row-head{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:10px}
.grant-label{font-weight:700;font-size:15px}
.grant-row small{font-size:12px;color:var(--muted-2);margin-top:8px}
.meter{
  width:100%;height:10px;border-radius:999px;overflow:hidden;
  background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.05);
}
.meter span{
  display:block;height:100%;border-radius:inherit;
  background:linear-gradient(90deg, var(--cyan), var(--violet), var(--pink));
  box-shadow:0 0 30px rgba(162,107,255,.26);
}
.meter.thin{height:8px;min-width:110px}
.mini-inline-stats{display:flex;flex-wrap:wrap;gap:10px;color:var(--muted);font-size:13px}
.mini-inline-stats span{padding:10px 12px;border-radius:16px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.06)}
.mini-inline-stats b{color:var(--text)}

.table-wrap{overflow:auto}
.premium-table-wrap{
  border:1px solid rgba(255,255,255,.06);
  border-radius:22px;
  background:linear-gradient(180deg, rgba(255,255,255,.025), rgba(255,255,255,.01));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.03);
}

.premium-table{width:100%;border-collapse:separate;border-spacing:0;font-size:14px;min-width:980px}
.premium-table thead th{
  text-align:left;padding:16px 14px;color:var(--muted);font-weight:700;
  border-bottom:1px solid rgba(255,255,255,.07);
  background:linear-gradient(180deg, rgba(255,255,255,.025), rgba(255,255,255,.01));
  position:sticky;top:0;backdrop-filter:blur(12px);
}
.premium-table tbody td{
  padding:14px 14px;border-bottom:1px solid rgba(255,255,255,.06);vertical-align:top;
}
.premium-table tbody tr{transition:background .18s ease, transform .18s ease}
.premium-table tbody tr:hover{background:rgba(255,255,255,.028)}
.premium-table tbody tr:last-child td{border-bottom:none}

.completion-cell{display:grid;gap:8px;min-width:140px}
.table-pill,.media-pill,.event-pill{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:7px 11px;border-radius:999px;border:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.04);font-size:12px;font-weight:800;white-space:nowrap;
}
.table-pill{min-width:36px}
.media-pill{color:#dcedff;background:linear-gradient(180deg, rgba(100,200,255,.12), rgba(162,107,255,.10))}
.event-pill{max-width:290px;overflow:hidden;text-overflow:ellipsis}
.tone-good{background:rgba(137,240,204,.12);color:#cffff1}
.tone-bad{background:rgba(255,126,139,.12);color:#ffd4d8}
.tone-video{background:rgba(162,107,255,.12);color:#eadcff}
.tone-pdf{background:rgba(100,200,255,.12);color:#d8f2ff}
.tone-neutral{background:rgba(255,255,255,.05);color:#edf4ff}

.badge{display:inline-block;padding:7px 12px;border-radius:999px;font-size:12px;font-weight:800;border:1px solid rgba(255,255,255,.06)}
.badge.ok{background:rgba(127,232,205,.14);color:#cbfff0;box-shadow:0 0 20px rgba(127,232,205,.08)}
.badge.warn{background:rgba(246,191,116,.14);color:#ffe3b7;box-shadow:0 0 20px rgba(246,191,116,.08)}

.raw-panel{padding:20px}
.raw-panel details{margin-top:4px}
.raw-panel summary{cursor:pointer;color:var(--text);font-weight:700;margin-bottom:14px}
.ref-col{max-width:380px;word-break:break-word;color:var(--muted)}
.nowrap{white-space:nowrap}
code{font-size:12px;white-space:pre-wrap;word-break:break-word;color:#c4eaff;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}
.empty-state,.empty-row{color:var(--muted);text-align:center;padding:28px 16px}

.meta-grid{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin-top:18px;
}
.meta-grid div{
  padding:14px;border-radius:18px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06)
}
.meta-grid span{display:block;font-size:12px;color:var(--muted);margin-bottom:6px}
.meta-grid strong{font-size:14px}
.pdf-card,.video-card{padding:18px}
.pdf-frame{width:100%;height:calc(100vh - 200px);border:none;border-radius:18px;background:#111}
.protected-video{width:100%;max-height:78vh;background:#000;border-radius:22px}
.video-meta-strip{display:flex;gap:14px;flex-wrap:wrap;color:var(--muted);font-size:13px;margin-top:12px}
.topbar,.dashboard-header{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:20px}
.topbar h1,.dashboard-header h1{font-size:34px;line-height:1.1;margin-top:6px}
.topbar-actions{display:flex;gap:10px}

@keyframes shine {
  0%{left:-28%}
  100%{left:118%}
}

@media (max-width: 1400px){
  .dashboard-hero{grid-template-columns:1fr}
  .hero-copy h1{font-size:48px}
  .header-actions{justify-content:flex-start}
}
@media (max-width: 1200px){
  .kpi-grid{grid-template-columns:repeat(3,minmax(180px,1fr))}
  .dashboard-grid{grid-template-columns:1fr}
}
@media (max-width: 880px){
  .viewer-body,.dashboard-body{padding:14px}
  .hero-copy h1{font-size:38px}
  .filters-inline{grid-template-columns:1fr 1fr}
  .kpi-grid{grid-template-columns:repeat(2,minmax(160px,1fr))}
  .orb-ring{width:150px;height:150px}
  .gate-card{padding:24px}
  .pdf-frame{height:70vh}
}
@media (max-width: 560px){
  .filters-inline,.kpi-grid{grid-template-columns:1fr}
  .hero-chip{min-width:unset;width:100%}
  .hero-copy h1{font-size:32px}
  .premium-table{min-width:780px}
}
