/* Beginners + Intermediate academy pages — Student Portal look. Loaded after academy-shared.css and each
   page's own <style>; only re-skins (colours, glass, radii, type). Markup/behaviour is unchanged. */
:root{--a-text:#F4F8FF;--a-text2:#A9B8CA;--a-muted:#718096;--a-border:rgba(72,171,255,.20);--a-border-hi:rgba(72,171,255,.45);--a-cyan:#20BFFF;--a-blue:#168BFF;--a-green:#27E89A;--a-ease:cubic-bezier(.2,.7,.2,1)}
body,body[data-academy]{--acc:#20BFFF;--acc2:#168BFF;--acc-soft:rgba(32,191,255,.14);--acc-border:rgba(32,191,255,.35);--acc-text:#7fdcff}
body{font-family:Inter,system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;background:#020A14;color:var(--a-text);-webkit-font-smoothing:antialiased;
  background-image:
    radial-gradient(900px 520px at 78% -8%,rgba(32,110,200,.20),transparent 65%),
    radial-gradient(700px 480px at 6% 38%,rgba(22,90,170,.14),transparent 62%),
    radial-gradient(600px 420px at 100% 100%,rgba(116,103,255,.10),transparent 60%)}
.glass{background:linear-gradient(135deg,rgba(18,45,72,.72),rgba(5,18,32,.62));border:1px solid var(--a-border);border-radius:18px;
  -webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:0 12px 40px rgba(0,0,0,.35),inset 0 1px 0 rgba(255,255,255,.05)}

/* Page */
.page{max-width:980px;padding:30px 28px 90px}
.page-title{font-size:28px;font-weight:700;letter-spacing:-.01em;color:var(--a-text);margin-bottom:4px}
.page-sub{font-size:15px;color:var(--a-text2);margin-bottom:22px}
.sess-label{font-size:12px;font-weight:600;letter-spacing:.08em;color:var(--a-text2);margin:6px 0 10px}
.empty{color:var(--a-muted)}

/* Tab strip (portal embed) / sidebar */
html.embed .academy-sidebar{background:rgba(4,14,26,.55);border-bottom:1px solid rgba(72,171,255,.14)}
html.embed .acad-nav{padding:10px 28px;gap:8px}
html.embed .acad-nav-item{display:inline-flex;align-items:center;gap:9px;border-radius:12px;padding:10px 18px;font-size:14px;font-weight:600;color:var(--a-text2);border:1px solid transparent}
html.embed .acad-nav-item:hover{background:rgba(72,171,255,.08);color:#fff}
html.embed .acad-nav-item.active{background:linear-gradient(90deg,rgba(22,139,255,.45),rgba(22,139,255,.16));color:#fff;border-color:rgba(72,171,255,.35);box-shadow:0 0 22px rgba(32,191,255,.14)}
.acad-nav-item .ico svg{display:block}
.academy-sidebar{background:linear-gradient(180deg,rgba(8,24,42,.9),rgba(3,12,22,.95));border-right:1px solid var(--a-border)}
.acad-nav-item.active{background:linear-gradient(90deg,rgba(22,139,255,.45),rgba(22,139,255,.16));color:#fff}

/* Buttons / forms / badges */
.btn{border-radius:11px;font-weight:600;transition:transform .18s var(--a-ease),box-shadow .18s var(--a-ease),filter .18s,background .18s}
.btn-primary{background:linear-gradient(180deg,#2a9bff,#1473f0);color:#fff;box-shadow:0 6px 22px rgba(22,139,255,.38),inset 0 1px 0 rgba(255,255,255,.25)}
.btn-primary:hover{opacity:1;filter:brightness(1.08)}
.btn-ghost{background:rgba(255,255,255,.05);border:1px solid var(--a-border);color:var(--a-text2)}
.btn-ghost:hover{background:rgba(72,171,255,.1);color:#fff}
.fg input:focus,.fg textarea:focus,.fg select:focus{border-color:var(--a-cyan);box-shadow:0 0 0 3px rgba(32,191,255,.18)}
.badge{border-radius:20px;letter-spacing:.02em}
.b-approved{background:rgba(39,232,154,.92)!important;color:#04241a!important;border:0!important}
.b-draft{background:rgba(32,150,255,.2)!important;color:#6cc4ff!important;border:1px solid rgba(32,150,255,.5)!important}
.b-not_started{background:rgba(32,191,255,.12)!important;color:#7fdcff!important;border:1px solid rgba(32,191,255,.4)!important}
.b-rejected{background:rgba(113,128,150,.22)!important;color:#aab6c6!important;border:1px solid rgba(113,128,150,.3)!important}

/* Dashboard stat tiles */
.stat-grid{gap:14px}
.stat{padding:20px 22px;border-radius:18px;position:relative;overflow:hidden;transition:transform .22s var(--a-ease),border-color .22s,box-shadow .22s}
.stat:hover{transform:translateY(-2px);border-color:var(--a-border-hi);box-shadow:0 18px 48px rgba(0,0,0,.4),0 0 30px rgba(32,150,255,.12)}
.stat .lbl{font-size:11.5px;font-weight:600;letter-spacing:.08em;color:var(--a-text2)}
.stat .val{font-size:32px;font-weight:700;letter-spacing:-.01em;color:var(--a-text)}
.stat .val small{font-size:14px;font-weight:500;color:var(--a-text2)}
.progress-track{height:7px;background:rgba(255,255,255,.1)}
.progress-fill{background:linear-gradient(90deg,#168BFF,#20BFFF);box-shadow:0 0 10px rgba(32,191,255,.45)}

/* Beginners assignment rows */
.sess-group{margin-bottom:24px}
.asg-card{display:flex;align-items:center;gap:14px;padding:16px 20px;margin-bottom:10px;border-radius:16px;transition:transform .22s var(--a-ease),border-color .22s,box-shadow .22s}
.asg-card:hover{transform:translateY(-2px);border-color:var(--a-border-hi);box-shadow:0 14px 40px rgba(0,0,0,.4),0 0 26px rgba(32,150,255,.10)}
.asg-card .ttl b{font-size:15.5px;font-weight:600}
.locked-note{color:#8a9bb0}

/* Intermediate session rows */
.session-card{border-radius:18px;padding:16px 20px;transition:transform .22s var(--a-ease),border-color .22s,box-shadow .22s}
.session-card:hover{border-color:var(--a-border-hi);transform:translateY(-2px);box-shadow:0 14px 40px rgba(0,0,0,.4),0 0 26px rgba(32,150,255,.10)}
.session-num{width:46px;height:46px;border-radius:13px;font-size:16px;font-weight:700;color:#4db4ff;
  background:linear-gradient(145deg,rgba(0,132,255,.30),rgba(31,92,180,.12));border:1px solid rgba(47,164,255,.25);box-shadow:0 0 24px rgba(0,145,255,.12)}
.session-info h3{font-size:16px;font-weight:600}
.session-info p{color:#8a9bb0;font-size:12.5px}
.session-card.is-locked{opacity:1;border-color:rgba(113,128,150,.22);background:linear-gradient(135deg,rgba(14,26,40,.8),rgba(5,14,24,.8))}
.session-card.is-locked .session-num{color:#8392a6;background:linear-gradient(145deg,rgba(120,135,155,.18),rgba(60,72,90,.1));border-color:rgba(130,145,165,.2);box-shadow:none}
.session-card.is-locked h3{color:#c0cad6}
.session-card.is-locked:hover{transform:none;box-shadow:none;border-color:rgba(113,128,150,.22)}

/* Profile + misc cards */
.profile-row{border-bottom:1px solid rgba(72,171,255,.12)}
.profile-row span{color:var(--a-text2)}
.review-banner{border-radius:14px}
.q-card{border-radius:18px}
.opt-row.sel,.tf-btn.sel{border-color:var(--a-cyan)!important;background:rgba(32,150,255,.14)!important;color:#e6f6ff!important}
.opt-row:hover{border-color:rgba(32,191,255,.55)!important}
.opt-row input{accent-color:var(--a-cyan)}
.toast{border-color:var(--a-border);background:rgba(8,24,42,.95)}

@media (max-width:700px){
  .page{padding:18px 16px 96px}.page-title{font-size:23px}
  html.embed .acad-nav{padding:8px 12px}
  html.embed .acad-nav-item{padding:9px 14px;font-size:13px}
  .stat .val{font-size:26px}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
