/* ============================================================
   Examisthan — AI Education Dashboard design system
   Scoped entirely under .aid-page so nothing here leaks onto
   other pages or touches the sidebar.
   ============================================================ */

.aid-page{
  --aid-navy:#101D4F; --aid-blue:#2563EB; --aid-ai-blue:#3B82F6;
  --aid-purple:#7C3AED; --aid-cyan:#06B6D4; --aid-success:#10B981; --aid-warn:#F59E0B;
  position:relative;isolation:isolate;
}

/* ── Background system: soft blobs + faint grid, extremely slow ── */
.aid-bg{position:absolute;inset:-40px -40px -40px -40px;z-index:-1;overflow:hidden;border-radius:28px;}
.aid-bg::before{
  content:"";position:absolute;inset:0;
  background-image:linear-gradient(rgba(37,99,235,0.035) 1px,transparent 1px),
                    linear-gradient(90deg,rgba(37,99,235,0.035) 1px,transparent 1px);
  background-size:42px 42px;mask-image:radial-gradient(ellipse 80% 60% at 50% 20%,#000 40%,transparent 90%);
}
.aid-blob{position:absolute;border-radius:50%;filter:blur(60px);opacity:.35;}
.aid-blob-1{width:420px;height:420px;top:-140px;right:-100px;background:radial-gradient(circle,var(--aid-ai-blue),var(--aid-purple));animation:aid-drift-1 26s ease-in-out infinite;}
.aid-blob-2{width:320px;height:320px;bottom:-100px;left:-80px;background:radial-gradient(circle,var(--aid-cyan),var(--aid-blue));animation:aid-drift-2 22s ease-in-out infinite;}
.aid-blob-3{width:260px;height:260px;top:35%;left:45%;background:radial-gradient(circle,var(--aid-purple),transparent 70%);opacity:.18;animation:aid-drift-1 30s ease-in-out infinite reverse;}

@keyframes aid-drift-1{0%,100%{transform:translate(0,0) scale(1);}50%{transform:translate(-30px,25px) scale(1.06);}}
@keyframes aid-drift-2{0%,100%{transform:translate(0,0) scale(1);}50%{transform:translate(24px,-20px) scale(1.05);}}

/* ── Typography helpers (reuses site's existing Poppins/Inter, just weight/spacing) ── */
.aid-h1{font-family:'Poppins',sans-serif;font-weight:700;color:var(--ink);letter-spacing:-.01em;}
.aid-eyebrow{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--aid-blue);}

/* ── Buttons ── */
.aid-btn{
  display:inline-flex;align-items:center;gap:8px;padding:12px 22px;border-radius:14px;
  font-size:13.5px;font-weight:600;font-family:'Inter',sans-serif;border:none;cursor:pointer;
  transition:transform .18s ease,box-shadow .18s ease;
}
.aid-btn:hover{transform:translateY(-2px);}
.aid-btn-primary{background:linear-gradient(135deg,var(--aid-blue),var(--aid-purple));color:#fff;box-shadow:0 8px 22px -6px rgba(37,99,235,0.5);}
.aid-btn-primary:hover{box-shadow:0 12px 28px -6px rgba(37,99,235,0.55);}
.aid-btn-glass{background:rgba(255,255,255,0.14);color:#fff;border:1px solid rgba(255,255,255,0.28);backdrop-filter:blur(6px);}
.aid-btn-glass:hover{background:rgba(255,255,255,0.22);}
.aid-btn-light{background:#fff;color:var(--ink);border:1.5px solid var(--border);}
.aid-btn-light:hover{border-color:var(--aid-blue);color:var(--aid-blue);}

/* ── Cards ── */
.aid-card{
  background:#fff;border:1px solid var(--border);border-radius:20px;padding:22px;
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}
.aid-card:hover{transform:translateY(-3px);box-shadow:0 16px 36px -10px rgba(15,23,42,0.14);border-color:#DCE4F5;}
.aid-glass{
  background:rgba(255,255,255,0.08);border:1px solid rgba(255,255,255,0.18);
  backdrop-filter:blur(10px);border-radius:24px;
}

/* ── AI Orb — reusable visual identity element ── */
.ai-orb{position:relative;width:var(--orb-size,64px);height:var(--orb-size,64px);flex-shrink:0;}
.ai-orb-core{
  position:absolute;inset:0;border-radius:50%;
  background:conic-gradient(from 180deg,var(--aid-ai-blue),var(--aid-purple),var(--aid-cyan),var(--aid-ai-blue));
  animation:aid-orb-spin 6s linear infinite, aid-orb-pulse 2.6s ease-in-out infinite;
}
.ai-orb-core::after{content:"";position:absolute;inset:3px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff,rgba(255,255,255,0) 60%),var(--aid-navy);opacity:.92;}
.ai-orb-icon{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#fff;font-size:calc(var(--orb-size,64px) * 0.36);z-index:2;}
.ai-orb-ring{position:absolute;inset:-8px;border-radius:50%;border:1.5px dashed rgba(124,58,237,0.35);animation:aid-orb-spin 12s linear infinite reverse;}
.ai-orb-dot{position:absolute;width:6px;height:6px;border-radius:50%;background:var(--aid-cyan);box-shadow:0 0 8px var(--aid-cyan);}
.ai-orb-dot:nth-child(1){top:-8px;left:50%;animation:aid-orb-spin 12s linear infinite;}
.ai-orb-dot:nth-child(2){bottom:-8px;left:50%;animation:aid-orb-spin 9s linear infinite reverse;}

@keyframes aid-orb-spin{from{transform:rotate(0deg);}to{transform:rotate(360deg);}}
@keyframes aid-orb-pulse{0%,100%{box-shadow:0 0 0 0 rgba(59,130,246,0.35);}50%{box-shadow:0 0 0 10px rgba(59,130,246,0);}}

/* ── Reusable animation classes ── */
@keyframes fade-up{from{opacity:0;transform:translateY(16px);}to{opacity:1;transform:translateY(0);}}
@keyframes fade-in{from{opacity:0;}to{opacity:1;}}
@keyframes float{0%,100%{transform:translateY(0);}50%{transform:translateY(-8px);}}
@keyframes float-slow{0%,100%{transform:translateY(0);}50%{transform:translateY(-5px);}}
@keyframes scale-in{from{opacity:0;transform:scale(.9);}to{opacity:1;transform:scale(1);}}

.aid-reveal{opacity:0;animation:fade-up .6s cubic-bezier(.22,.9,.32,1.1) .05s both;}
.aid-float{animation:float 4s ease-in-out infinite;}
.aid-float-slow{animation:float-slow 5.5s ease-in-out infinite;}

@media(prefers-reduced-motion: reduce){
  .aid-page *{animation:none !important;transition:none !important;}
}

/* ============================================================
   DASHBOARD-SPECIFIC LAYOUT
   ============================================================ */

/* ── Hero ── */
.aid-hero{
  position:relative;overflow:hidden;border-radius:26px;padding:38px 40px;color:#fff;
  background:linear-gradient(125deg,var(--aid-navy) 0%,var(--aid-blue) 65%,var(--aid-purple) 130%);
  margin-bottom:24px;
}
.aid-hero-top{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;flex-wrap:wrap;}
.aid-hero h1{font-size:26px;margin-bottom:6px;}
.aid-hero .sub{font-size:14px;color:#C7D6FF;margin-bottom:22px;max-width:440px;}
.aid-hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:24px;}
.aid-hero-ai-line{
  display:flex;gap:12px;align-items:center;background:rgba(255,255,255,0.09);
  border:1px solid rgba(255,255,255,0.16);border-radius:16px;padding:14px 18px;max-width:520px;
}
.aid-hero-ai-line .txt{font-size:13px;color:#E4ECFF;line-height:1.5;}
.aid-hero-ai-line .txt b{color:#fff;}

.aid-hero-floaters{position:absolute;top:0;right:0;width:280px;height:100%;pointer-events:none;}
.aid-float-sym{
  position:absolute;font-family:'Poppins',sans-serif;font-weight:700;color:rgba(255,255,255,0.5);
  font-size:15px;
}

/* ── Stat row ── */
.aid-stat-row{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px;}
.aid-stat{display:flex;align-items:center;gap:14px;}
.aid-stat-icon{
  width:46px;height:46px;border-radius:14px;display:flex;align-items:center;justify-content:center;
  color:#fff;font-size:19px;flex-shrink:0;
}
.aid-stat .val{font-family:'Poppins',sans-serif;font-size:21px;font-weight:700;color:var(--ink);line-height:1.2;}
.aid-stat .lbl{font-size:12px;color:var(--muted);font-weight:500;}

/* ── Section heads ── */
.aid-section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;}
.aid-section-head h2{font-size:17px;font-weight:700;color:var(--ink);font-family:'Poppins',sans-serif;}
.aid-section-head a{font-size:12.5px;font-weight:600;color:var(--aid-blue);}

/* ── Subject cards ── */
.aid-subject-row{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:14px;margin-bottom:28px;}
.aid-subject-card{position:relative;overflow:hidden;}
.aid-subject-icon{width:42px;height:42px;border-radius:12px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:18px;margin-bottom:14px;}
.aid-subject-card h4{font-size:14.5px;font-weight:700;color:var(--ink);margin-bottom:2px;}
.aid-subject-card .go{font-size:12px;font-weight:600;color:var(--aid-blue);display:inline-flex;align-items:center;gap:4px;margin-top:10px;opacity:0;transform:translateX(-4px);transition:opacity .2s ease,transform .2s ease;}
.aid-subject-card:hover .go{opacity:1;transform:translateX(0);}

/* ── Two-column area ── */
.aid-grid-2{display:grid;grid-template-columns:1.5fr 1fr;gap:20px;}

/* AI insight card */
.aid-insight-card{background:linear-gradient(145deg,#EEF2FF 0%,#F5F0FF 100%);border:1px solid #E4E1FB;}
.aid-insight-card .aid-section-head h2{display:flex;align-items:center;gap:10px;}

/* Upcoming tests / activity list rows (reuse existing look, new spacing) */
.aid-list-row{display:flex;align-items:center;gap:14px;padding:13px 0;border-top:1px solid var(--border);}
.aid-list-row:first-of-type{border-top:none;padding-top:0;}
.aid-empty-state{text-align:center;padding:26px 10px;color:var(--muted);font-size:13px;}
.aid-empty-state i{font-size:26px;display:block;margin-bottom:8px;color:var(--border);}

@media(max-width:1100px){
  .aid-stat-row{grid-template-columns:repeat(2,1fr);}
  .aid-grid-2{grid-template-columns:1fr;}
  .aid-hero-floaters{display:none;}
}
@media(max-width:640px){
  .aid-stat-row{grid-template-columns:1fr;}
  .aid-hero{padding:28px 22px;}
  .aid-hero-actions{flex-direction:column;}
  .aid-hero-actions .aid-btn{width:100%;justify-content:center;}
}
