/* ── Alpha Traders Academy — shared design system ─────────────────────────
   Used by /Beginners (beginners.html) and /Intermediate (intermediate.html).
   Accent color is switched via [data-academy] on <body> — green for Beginner,
   blue/cyan for Intermediate — everything else is identical between the two. */

*{margin:0;padding:0;box-sizing:border-box;}
body{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;background:#070c18;min-height:100vh;color:#e2e8f0;
  background-image:
    radial-gradient(ellipse 70% 50% at 15% -5%, rgba(59,130,246,.18) 0%, transparent 60%),
    radial-gradient(ellipse 60% 45% at 100% 20%, rgba(99,102,241,.14) 0%, transparent 55%);}
.hidden{display:none!important;}
.glass{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.09);border-radius:16px;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);}

body[data-academy="beginner"]{ --acc:#22c55e; --acc2:#16a34a; --acc-soft:rgba(34,197,94,.14); --acc-border:rgba(34,197,94,.3); --acc-text:#86efac; }
body[data-academy="intermediate"]{ --acc:#38bdf8; --acc2:#06b6d4; --acc-soft:rgba(56,189,248,.14); --acc-border:rgba(56,189,248,.3); --acc-text:#7dd3fc; }

/* ── Login / forgot-password / staff-preview shell (identical across both academies) ── */
.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px;}
.login-card{background:rgba(13,24,48,.92);border:1px solid rgba(80,130,255,.22);border-radius:20px;padding:40px 36px;width:100%;max-width:420px;box-shadow:0 30px 80px rgba(0,0,0,.7);}
.logo-wrap{text-align:center;margin-bottom:14px;}
.logo-wrap img{width:150px;display:block;margin:0 auto 10px;}
.crm-tag{font-size:12px;font-weight:700;color:var(--acc);letter-spacing:3px;text-transform:uppercase;text-align:center;}
.login-title{font-size:19px;font-weight:800;color:#fff;text-align:center;margin:18px 0 4px;}
.login-sub{font-size:13px;color:rgba(255,255,255,.38);text-align:center;margin-bottom:22px;}
.fg{margin-bottom:14px;}
.fg label{display:block;font-size:11px;font-weight:700;color:rgba(255,255,255,.38);margin-bottom:6px;text-transform:uppercase;letter-spacing:.6px;}
.fg input,.fg textarea{width:100%;padding:12px 14px;border:1px solid rgba(255,255,255,.12);border-radius:10px;font-size:14px;outline:none;background:rgba(255,255,255,.06);color:#fff;font-family:inherit;}
.fg input:focus,.fg textarea:focus{border-color:var(--acc);box-shadow:0 0 0 3px var(--acc-soft);}
.fg input::placeholder,.fg textarea::placeholder{color:rgba(255,255,255,.18);}
.pw-wrap{position:relative;}
.pw-wrap input{padding-right:44px !important;}
.pw-toggle{position:absolute;right:6px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;padding:6px;font-size:16px;line-height:1;color:rgba(255,255,255,.4);}
.pw-toggle:hover{color:rgba(255,255,255,.7);}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 18px;border-radius:10px;font-size:14px;font-weight:700;text-decoration:none;cursor:pointer;border:none;transition:transform .15s,opacity .15s;font-family:inherit;}
.btn-primary{background:linear-gradient(90deg,var(--acc2),var(--acc));color:#fff;width:100%;}
.btn-primary:hover{opacity:.9;}
.btn:disabled{opacity:.45;cursor:not-allowed;}
.btn-sm{padding:8px 14px;font-size:12.5px;border-radius:8px;width:auto;}
.btn-ghost{background:rgba(255,255,255,.06);color:#e2e8f0;width:auto;border:1px solid rgba(255,255,255,.12);}
.btn-ghost:hover{background:rgba(255,255,255,.1);}
.error-box{background:rgba(220,38,38,.15);color:#fca5a5;border:1px solid rgba(220,38,38,.3);border-radius:9px;padding:11px 13px;font-size:13px;margin-bottom:14px;line-height:1.5;}
.info-box{background:rgba(56,189,248,.12);color:#7dd3fc;border:1px solid rgba(56,189,248,.3);border-radius:9px;padding:11px 13px;font-size:13px;margin-bottom:14px;line-height:1.5;}
.reg-link{text-align:center;margin-top:16px;font-size:12.5px;color:rgba(255,255,255,.3);}
.reg-link a{color:#38bdf8;text-decoration:none;font-weight:600;}

/* ── Academy shell: sidebar + topbar + content ── */
.academy-shell{display:flex;min-height:100vh;}
.academy-sidebar{width:248px;flex-shrink:0;background:rgba(9,15,28,.94);border-right:1px solid rgba(255,255,255,.07);display:flex;flex-direction:column;position:fixed;top:0;bottom:0;left:0;z-index:120;transition:transform .25s ease;}
.academy-sidebar-brand{padding:22px 20px 18px;display:flex;align-items:center;gap:12px;border-bottom:1px solid rgba(255,255,255,.07);}
.academy-sidebar-brand img{width:36px;flex-shrink:0;}
.academy-sidebar-brand .t{font-size:13.5px;font-weight:800;color:#fff;line-height:1.2;letter-spacing:.2px;}
.academy-sidebar-brand .s{font-size:10px;color:var(--acc);letter-spacing:1.4px;text-transform:uppercase;font-weight:800;margin-top:2px;}
.acad-nav{flex:1;overflow-y:auto;padding:14px 10px;}
.acad-nav-item{display:flex;align-items:center;gap:11px;padding:11px 14px;border-radius:10px;font-size:13.5px;font-weight:700;color:#94a3b8;cursor:pointer;margin-bottom:2px;text-decoration:none;border:none;background:none;width:100%;text-align:left;font-family:inherit;}
.acad-nav-item .ico{font-size:15px;width:18px;text-align:center;flex-shrink:0;}
.acad-nav-item:hover{background:rgba(255,255,255,.05);color:#e2e8f0;}
.acad-nav-item.active{background:var(--acc-soft);color:var(--acc-text);}
.acad-nav-item.disabled{opacity:.45;cursor:default;}
.acad-nav-item.disabled:hover{background:none;color:#94a3b8;}
.acad-nav-item .soon{margin-left:auto;font-size:9px;font-weight:800;letter-spacing:.4px;text-transform:uppercase;background:rgba(255,255,255,.08);color:#94a3b8;padding:2px 7px;border-radius:100px;}
.academy-sidebar-footer{padding:14px 20px 20px;border-top:1px solid rgba(255,255,255,.07);}
.batch-chip{display:inline-block;font-size:11px;font-weight:700;color:var(--acc-text);background:var(--acc-soft);border:1px solid var(--acc-border);padding:5px 12px;border-radius:100px;white-space:nowrap;margin-bottom:10px;}
.logout-btn{background:none;border:none;color:rgba(255,255,255,.45);font-size:12.5px;cursor:pointer;font-weight:600;padding:0;}
.logout-btn:hover{color:#fca5a5;}

.academy-main{flex:1;min-width:0;margin-left:248px;}
.academy-topbar{position:sticky;top:0;z-index:60;display:flex;align-items:center;gap:12px;padding:12px 18px;background:rgba(7,12,24,.92);border-bottom:1px solid rgba(255,255,255,.07);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);}
.academy-hamburger{width:36px;height:36px;border-radius:9px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.05);color:#e2e8f0;font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
@media(min-width:901px){ .academy-hamburger{display:none;} }
.academy-topbar .tb-title{font-size:14px;font-weight:800;color:#fff;flex:1;}
.academy-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:110;}

.notif-bell{position:relative;cursor:pointer;font-size:17px;flex-shrink:0;}
.notif-bell .dot{position:absolute;top:-2px;right:-2px;width:8px;height:8px;border-radius:50%;background:#ef4444;}

.page{max-width:860px;margin:0 auto;padding:28px 28px 80px;}
.page-title{font-size:20px;font-weight:800;color:#fff;margin-bottom:4px;}
.page-sub{font-size:13px;color:#64748b;margin-bottom:20px;}

/* ── Dashboard stat cards (shared) ── */
.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:22px;}
.stat{padding:18px;text-align:left;}
.stat .lbl{font-size:11px;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.6px;margin-bottom:6px;}
.stat .val{font-size:26px;font-weight:800;color:#fff;}
.stat .val small{font-size:13px;color:#64748b;font-weight:600;}
.progress-track{height:8px;background:rgba(255,255,255,.07);border-radius:100px;overflow:hidden;margin-top:10px;}
.progress-fill{height:100%;background:linear-gradient(90deg,var(--acc2),var(--acc));border-radius:100px;transition:width .6s ease;}

.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:#0d1830;border:1px solid rgba(80,130,255,.3);color:#fff;font-size:13px;font-weight:600;padding:12px 22px;border-radius:100px;z-index:300;box-shadow:0 10px 40px rgba(0,0,0,.6);animation:toastIn .25s ease;}
@keyframes toastIn{from{opacity:0;transform:translateX(-50%) translateY(10px);}to{opacity:1;transform:translateX(-50%) translateY(0);}}
.empty{color:#475569;font-size:13px;text-align:center;padding:26px 0;}
.placeholder-card{padding:40px 28px;text-align:center;}
.placeholder-card .ico{font-size:40px;margin-bottom:14px;}
.placeholder-card h3{font-size:17px;font-weight:800;color:#fff;margin-bottom:8px;}
.placeholder-card p{font-size:13.5px;color:#94a3b8;max-width:420px;margin:0 auto;line-height:1.7;}
.profile-row{display:flex;justify-content:space-between;padding:13px 0;border-bottom:1px solid rgba(255,255,255,.06);font-size:13.5px;}
.profile-row span{color:#64748b;}
.profile-row b{color:#fff;}

/* ── Mobile: sidebar becomes an off-canvas drawer, topbar/hamburger appear ── */
@media(max-width:900px){
  .academy-sidebar{transform:translateX(-100%);box-shadow:0 0 60px rgba(0,0,0,.5);}
  .academy-sidebar.open{transform:translateX(0);}
  .academy-overlay.open{display:block;}
  .academy-main{margin-left:0;}
  .page{padding:18px 16px 76px;}
}
