/* Super-Admin control room */
.admin-shell{
  --adm-bg:#07111f;
  --adm-panel:#0d1a2e;
  --adm-panel-2:#12233b;
  --adm-line:#7ef0ff22;
  --adm-text:#e8f4ff;
  --adm-muted:#9bb4c9;
  --adm-accent:#5ce1ff;
  --adm-accent-2:#f0c75e;
  --adm-ok:#6dffb0;
  --adm-warn:#ffc857;
  --adm-bad:#ff7b8a;
  --adm-teacher:#7eb6ff;
  --adm-parent:#c9a0ff;
  --adm-admin:#f0c75e;
  --adm-child:#6dffb0;
  display:grid;
  grid-template-columns:240px minmax(0,1fr);
  gap:0;
  min-height:calc(100vh - 72px);
  margin:-8px -12px 0;
  background:
    radial-gradient(900px 420px at 10% -10%, #1a4d6e44, transparent 60%),
    radial-gradient(700px 360px at 90% 0%, #3a2a6e33, transparent 55%),
    var(--adm-bg);
  color:var(--adm-text);
  border-radius:20px;
  overflow:hidden;
  border:1px solid var(--adm-line);
}
@media (max-width:960px){
  .admin-shell{grid-template-columns:1fr;margin:0}
}
.admin-side{
  background:linear-gradient(180deg,#0b182c ee,#0a1424);
  border-right:1px solid var(--adm-line);
  padding:20px 14px;
  display:flex;flex-direction:column;gap:18px;
}
.admin-brand{padding:4px 8px 8px}
.admin-brand .eyebrow{letter-spacing:.14em;color:var(--adm-accent);font-size:11px}
.admin-brand h1{font-size:1.35rem;margin:.2rem 0 .35rem;line-height:1.15}
.admin-brand p{margin:0;color:var(--adm-muted);font-size:12px;line-height:1.4}
.admin-nav{display:flex;flex-direction:column;gap:4px}
.admin-nav a{
  display:flex;align-items:center;justify-content:space-between;gap:8px;
  padding:10px 12px;border-radius:12px;color:var(--adm-muted);
  text-decoration:none;font-size:13px;font-weight:700;
  border:1px solid transparent;transition:.15s ease;
}
.admin-nav a:hover{background:#ffffff08;color:#fff;border-color:#ffffff12}
.admin-nav a.active{
  background:linear-gradient(90deg,#5ce1ff22,#5ce1ff08);
  color:#fff;border-color:#5ce1ff44;
  box-shadow:inset 0 0 0 1px #5ce1ff18;
}
.admin-nav .nav-meta{font-size:11px;font-weight:800;opacity:.75}
.admin-side-foot{margin-top:auto;padding:10px;border-radius:12px;background:#ffffff06;border:1px solid #ffffff10}
.admin-side-foot small{display:block;color:var(--adm-muted);font-size:11px;line-height:1.4}
.admin-main-wrap{padding:22px 22px 36px;overflow:auto}
.admin-page-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:18px}
.admin-page-head h2{margin:0;font-size:1.55rem}
.admin-page-head p{margin:4px 0 0;color:var(--adm-muted);font-size:13px}
.admin-toolbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center}

.admin-kpi-grid{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px;
}
@media (max-width:1100px){.admin-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.admin-kpi-grid{grid-template-columns:1fr}}
.admin-kpi{
  position:relative;overflow:hidden;
  background:linear-gradient(160deg,var(--adm-panel),var(--adm-panel-2));
  border:1px solid var(--adm-line);border-radius:16px;padding:14px 14px 12px;
}
.admin-kpi::after{
  content:"";position:absolute;inset:auto -20% -40% auto;width:90px;height:90px;border-radius:50%;
  background:radial-gradient(circle, #5ce1ff22, transparent 70%);pointer-events:none;
}
.admin-kpi .label{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--adm-muted);font-weight:800}
.admin-kpi strong{display:block;margin-top:6px;font-size:1.7rem;line-height:1;font-variant-numeric:tabular-nums}
.admin-kpi .sub{margin-top:6px;font-size:12px;color:var(--adm-muted)}
.admin-kpi.warn{border-color:#ffc85744}.admin-kpi.warn strong{color:var(--adm-warn)}
.admin-kpi.ok{border-color:#6dffb044}.admin-kpi.ok strong{color:var(--adm-ok)}
.admin-kpi.hot{border-color:#5ce1ff55}.admin-kpi.hot strong{color:var(--adm-accent)}

.admin-grid-2{display:grid;grid-template-columns:1.4fr 1fr;gap:14px}
.admin-grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
@media (max-width:1000px){.admin-grid-2,.admin-grid-3{grid-template-columns:1fr}}

.admin-card{
  background:linear-gradient(165deg,var(--adm-panel),#0c1728);
  border:1px solid var(--adm-line);border-radius:16px;padding:16px 16px 14px;
}
.admin-card h3{margin:0 0 10px;font-size:1rem}
.admin-card .card-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}
.admin-card .card-head h3{margin:0}

.admin-spark{
  display:flex;align-items:flex-end;gap:4px;height:110px;padding:8px 2px 0;
}
.admin-spark span{
  flex:1;min-width:0;border-radius:6px 6px 2px 2px;
  background:linear-gradient(180deg,#5ce1ffcc,#5ce1ff22);
  box-shadow:0 0 12px #5ce1ff22;position:relative;
}
.admin-spark span[data-tip]:hover::after{
  content:attr(data-tip);position:absolute;bottom:calc(100% + 6px);left:50%;transform:translateX(-50%);
  background:#04101c;border:1px solid #5ce1ff44;color:#fff;padding:4px 8px;border-radius:8px;
  font-size:11px;white-space:nowrap;z-index:2;
}
.admin-legend{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px;color:var(--adm-muted);font-size:12px}

.admin-bars{display:flex;flex-direction:column;gap:10px}
.admin-bar-row{display:grid;grid-template-columns:88px 1fr 64px;gap:8px;align-items:center;font-size:13px}
.admin-bar-track{height:10px;border-radius:999px;background:#ffffff0d;overflow:hidden}
.admin-bar-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,#5ce1ff,#8b7bff)}
.admin-bar-fill.math{background:linear-gradient(90deg,#5ce1ff,#3aa0ff)}
.admin-bar-fill.german{background:linear-gradient(90deg,#ffb86c,#ff7eb3)}
.admin-bar-fill.english{background:linear-gradient(90deg,#a78bfa,#60a5fa)}
.admin-bar-row b{font-variant-numeric:tabular-nums;text-align:right}

.admin-table{width:100%;border-collapse:collapse;font-size:13px}
.admin-table th,.admin-table td{padding:9px 8px;border-bottom:1px solid #ffffff10;text-align:left;vertical-align:middle}
.admin-table th{color:var(--adm-muted);font-size:11px;letter-spacing:.06em;text-transform:uppercase}
.admin-table tr:hover td{background:#ffffff06}
.admin-table .mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}
.admin-empty{color:var(--adm-muted);font-size:13px;padding:8px 0}

.admin-chip{
  display:inline-flex;align-items:center;gap:4px;padding:3px 9px;border-radius:999px;
  font-size:11px;font-weight:800;border:1px solid #ffffff18;background:#ffffff08;color:#dcefff;
}
.admin-chip.teacher{color:#cfe4ff;border-color:#7eb6ff55;background:#7eb6ff18}
.admin-chip.parent{color:#ecdfff;border-color:#c9a0ff55;background:#c9a0ff18}
.admin-chip.admin{color:#fff1c9;border-color:#f0c75e55;background:#f0c75e18}
.admin-chip.child{color:#d8ffe9;border-color:#6dffb055;background:#6dffb018}
.admin-chip.ok{color:#d8ffe9;border-color:#6dffb055;background:#6dffb018}
.admin-chip.bad{color:#ffd6dc;border-color:#ff7b8a55;background:#ff7b8a18}
.admin-chip.warn{color:#ffe9b8;border-color:#ffc85755;background:#ffc85718}

.admin-filters{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}
.admin-filters a,.admin-filters button{
  appearance:none;border:1px solid #ffffff18;background:#ffffff08;color:var(--adm-muted);
  border-radius:999px;padding:7px 12px;font-size:12px;font-weight:800;cursor:pointer;text-decoration:none;
}
.admin-filters a.active,.admin-filters button.active,.admin-filters a:hover,.admin-filters button:hover{
  color:#fff;border-color:#5ce1ff66;background:#5ce1ff18;
}

.admin-row-actions{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}
.admin-row-actions .btn{padding:6px 10px;font-size:12px}

.admin-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
@media (max-width:700px){.admin-form-grid{grid-template-columns:1fr}}
.admin-form-grid .field{margin:0}
.admin-form-grid .field label{color:var(--adm-muted);font-size:12px}
.admin-form-grid input,.admin-form-grid select,.admin-inline input,.admin-inline select{
  width:100%;background:#06101c;border:1px solid #ffffff18;color:#fff;border-radius:10px;padding:9px 11px;
}
.admin-inline{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.admin-inline input{min-width:180px;flex:1}

.admin-quick{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.admin-quick button{
  text-align:left;border:1px solid #ffffff14;background:#ffffff07;color:#fff;
  border-radius:12px;padding:12px;cursor:pointer;transition:.15s ease;
}
.admin-quick button:hover{border-color:#5ce1ff55;background:#5ce1ff12}
.admin-quick strong{display:block;font-size:13px;margin-bottom:2px}
.admin-quick span{display:block;font-size:11px;color:var(--adm-muted);line-height:1.35}

.admin-timeline{display:flex;flex-direction:column;gap:0}
.admin-timeline li{
  list-style:none;display:grid;grid-template-columns:14px 1fr;gap:10px;padding:0 0 12px;position:relative;
}
.admin-timeline li::before{
  content:"";width:8px;height:8px;border-radius:50%;background:var(--adm-accent);margin-top:5px;
  box-shadow:0 0 0 3px #5ce1ff22;
}
.admin-timeline li:not(:last-child)::after{
  content:"";position:absolute;left:3px;top:16px;bottom:0;width:2px;background:#ffffff12;
}
.admin-timeline b{display:block;font-size:13px}
.admin-timeline small{color:var(--adm-muted);font-size:11px}

.admin-settings .dp-topics{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 14px}
.admin-settings h3{margin:18px 0 8px;font-size:1rem}
.admin-settings h3:first-child{margin-top:0}
.admin-settings .design-check{
  display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:12px;
  border:1px solid #ffffff14;background:#ffffff07;font-size:13px;cursor:pointer;
}
.admin-danger-zone{border-color:#ff7b8a44 !important;background:linear-gradient(160deg,#2a1218,#120b12)}
.admin-export{
  max-height:320px;overflow:auto;margin-top:12px;padding:12px;border-radius:12px;
  background:#050b1c;color:#9fdfff;font-size:11px;white-space:pre-wrap;border:1px solid #ffffff12;
}

.admin-shell .btn{box-shadow:none}
.admin-shell .btn.danger{background:#ff7b8a;color:#1a0508;border:none}
.admin-shell .feedback{margin-bottom:12px}

.portal-app.admin-mode .portal-top{margin-bottom:10px}
.portal-auth.admin-auth{
  max-width:440px;margin:8vh auto;padding:28px 26px;
  background:linear-gradient(165deg,#0d1a2e,#0a1424);border:1px solid #5ce1ff33;border-radius:20px;
  box-shadow:0 20px 60px #00000066, 0 0 0 1px #ffffff08 inset;
}
.portal-auth.admin-auth h1{margin:.2rem 0 .5rem}
.portal-auth.admin-auth .eyebrow{color:#5ce1ff}
