/* VIGO Academy — LMS (khu học tập). Giao diện trẻ trung, năng động.
   Bảng màu tươi lấy cảm hứng từ logo, phối trên nền brand navy/amber. */

:root{
	--joy-blue:#2B7FFF; --joy-blue-d:#1A63E0;
	--joy-green:#17B26A; --joy-green-d:#0E8F53;
	--joy-red:#F5474B; --joy-purple:#7C5CFC;
	--joy-grad:linear-gradient(135deg,#2B7FFF 0%,#7C5CFC 100%);
	--joy-grad-warm:linear-gradient(135deg,#FCB045 0%,#F5474B 100%);
	--joy-grad-cool:linear-gradient(135deg,#17B26A 0%,#2B7FFF 100%);
}

/* ============ ĐĂNG NHẬP / ĐĂNG KÝ ============ */
.lms-auth{min-height:calc(100vh - 82px);display:grid;place-items:center;padding:48px 20px;
	background:radial-gradient(1100px 520px at 15% -10%,rgba(43,127,255,.16),transparent 60%),radial-gradient(900px 480px at 100% 0,rgba(124,92,252,.16),transparent 55%),var(--sand)}
.lms-auth-card{width:100%;max-width:440px;background:var(--paper);border:1px solid var(--line);border-radius:22px;
	box-shadow:0 2px 6px rgba(15,42,71,.05),0 40px 80px -40px rgba(15,42,71,.4);padding:34px 32px 30px}
.lms-auth-card .logo-lockup{justify-content:center;margin-bottom:20px}
.lms-auth h1{font-size:1.6rem;text-align:center;letter-spacing:-.03em}
.lms-auth .sub{text-align:center;color:var(--tx-2);margin:6px 0 22px}
.lms-switch{display:flex;background:var(--sand);border-radius:12px;padding:5px;margin-bottom:22px}
.lms-switch a{flex:1;text-align:center;padding:10px;border-radius:9px;font-weight:600;font-size:.94rem;color:var(--tx-2)}
.lms-switch a.on{background:var(--paper);color:var(--ink);box-shadow:0 1px 4px rgba(15,42,71,.12)}
.lms-field{margin-bottom:14px}
.lms-field label{display:block;font-weight:600;font-size:.88rem;margin-bottom:6px}
.lms-field input{width:100%;padding:13px 14px;border:1.6px solid var(--line);border-radius:11px;font:inherit;background:var(--paper);transition:border-color .18s,box-shadow .18s}
.lms-field input:focus{outline:none;border-color:var(--joy-blue);box-shadow:0 0 0 4px rgba(43,127,255,.14)}
.lms-row{display:flex;justify-content:space-between;align-items:center;font-size:.86rem;margin:4px 0 18px}
.lms-row a{color:var(--joy-blue);font-weight:600}
.lms-btn-joy{width:100%;justify-content:center;background:var(--joy-grad);color:#fff;border-radius:12px;padding:15px;font-weight:700;box-shadow:0 10px 24px -10px rgba(43,127,255,.7)}
.lms-btn-joy:hover{filter:brightness(1.05)}
.lms-err,.lms-ok{padding:12px 14px;border-radius:11px;font-weight:500;font-size:.92rem;margin-bottom:16px}
.lms-err{background:#FDEBEB;color:#B4322B}
.lms-ok{background:var(--teal-soft);color:var(--teal-deep)}
.lms-foot{text-align:center;color:var(--tx-2);font-size:.9rem;margin-top:18px}
.lms-foot a{color:var(--joy-blue);font-weight:600}

/* ============ DASHBOARD /hoc/ ============ */
.dash-hero{background:var(--joy-grad);color:#fff;border-radius:0 0 28px 28px;padding:40px 0 46px;position:relative;overflow:hidden}
.dash-hero::after{content:"";position:absolute;right:-60px;top:-60px;width:260px;height:260px;border-radius:50%;background:rgba(255,255,255,.1)}
.dash-hero h1{font-size:clamp(1.6rem,3vw,2.2rem);letter-spacing:-.03em}
.dash-hero p{color:rgba(255,255,255,.86);margin-top:6px}
.dash-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:26px}
.dstat{background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.2);border-radius:16px;padding:16px 18px;backdrop-filter:blur(6px)}
.dstat b{display:block;font-size:1.9rem;font-weight:800;line-height:1;font-variant-numeric:tabular-nums}
.dstat span{font-size:.86rem;color:rgba(255,255,255,.85)}
.dash-sec{padding:38px 0 70px}
.dash-sec h2{font-size:1.3rem;margin-bottom:18px;letter-spacing:-.02em}
.cont-card{display:flex;gap:22px;align-items:center;background:var(--paper);border:1px solid var(--line);border-radius:20px;padding:20px;margin-bottom:34px;box-shadow:0 20px 44px -30px rgba(15,42,71,.4)}
.cont-th{width:150px;height:96px;border-radius:14px;flex:none;display:grid;place-items:center;color:#fff;font-weight:800}
.cont-card .b{flex:1;min-width:0}
.cont-card .k{font-size:.76rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--joy-blue)}
.cont-card h3{font-size:1.16rem;margin:3px 0 10px}
.dash-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}
.ecard{background:var(--paper);border:1px solid var(--line);border-radius:18px;overflow:hidden;transition:transform .18s,box-shadow .18s;display:flex;flex-direction:column}
.ecard:hover{transform:translateY(-4px);box-shadow:0 26px 50px -30px rgba(15,42,71,.45)}
.ecard-th{height:120px;display:grid;place-items:center;color:#fff;font-weight:800;font-size:1.05rem;letter-spacing:.02em;position:relative}
.ecard-th .done-badge{position:absolute;top:10px;right:10px;background:var(--joy-green);color:#fff;font-size:.7rem;font-weight:700;padding:5px 10px;border-radius:20px}
.ecard-b{padding:16px 18px 18px;display:flex;flex-direction:column;gap:10px;flex:1}
.ecard-b h3{font-size:1.02rem;line-height:1.35}
.prog{display:flex;align-items:center;gap:10px;font-size:.82rem;color:var(--tx-2);font-weight:600}
.prog-bar{flex:1;height:9px;border-radius:20px;background:var(--line-soft);overflow:hidden}
.prog-i{height:100%;border-radius:20px;background:var(--joy-grad-cool)}
.ecard .btn{margin-top:auto}
.dash-empty{text-align:center;padding:50px 20px;background:var(--paper);border:1px dashed var(--line);border-radius:20px}

/* ============ TRÌNH HỌC TRONG KHÓA ============ */
.learn-head{background:var(--grad-ink);color:#fff;padding:30px 0 26px}
.learn-head .k{color:var(--amber);font-size:.76rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.learn-head h1{color:#fff;font-size:clamp(1.4rem,2.6vw,2rem);margin:4px 0 14px}
.learn-progline{display:flex;align-items:center;gap:14px;max-width:520px}
.learn-progline .prog-bar{background:rgba(255,255,255,.2)}
.learn-progline b{color:#fff}
.learn-wrap{display:grid;grid-template-columns:1fr 340px;gap:30px;padding:30px 0 70px;align-items:start}
.tabs{display:flex;gap:6px;border-bottom:1px solid var(--line);margin-bottom:22px;flex-wrap:wrap}
.tab{padding:12px 16px;font-weight:600;color:var(--tx-2);border-bottom:2.5px solid transparent;margin-bottom:-1px}
.tab.on{color:var(--ink);border-bottom-color:var(--joy-blue)}
.tabpanel{display:none}
.tabpanel.on{display:block}
.player-note{background:var(--sand);border:1px dashed var(--line);border-radius:14px;padding:30px;text-align:center;color:var(--tx-2)}
.mark-row{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:18px}
.mark-btn{background:var(--joy-green);color:#fff;border-radius:11px;padding:12px 20px;font-weight:700}
.mark-btn.is-done{background:var(--teal-soft);color:var(--teal-deep)}
.lnav{margin-left:auto;display:flex;gap:8px}

/* Danh sách bài học (sidebar) */
.mod{border:1px solid var(--line);border-radius:14px;margin-bottom:14px;overflow:hidden;background:var(--paper)}
.mod-h{padding:13px 16px;font-weight:700;font-size:.92rem;background:var(--sand)}
.les{display:flex;align-items:center;gap:11px;padding:12px 16px;border-top:1px solid var(--line-soft);font-size:.92rem}
.les:hover{background:var(--sand)}
.les.current{background:rgba(43,127,255,.08)}
.les-ic{width:26px;height:26px;border-radius:50%;flex:none;display:grid;place-items:center;border:2px solid var(--line);color:var(--tx-3);font-size:.7rem}
.les.done .les-ic{background:var(--joy-green);border-color:var(--joy-green);color:#fff}
.les.current .les-ic{border-color:var(--joy-blue);color:var(--joy-blue)}
.les .t{flex:1;min-width:0;line-height:1.35}
.les .m{color:var(--tx-3);font-size:.78rem;flex:none}
.les-lock{opacity:.6}

.side-lessons{position:sticky;top:98px}
@media(max-width:920px){
	.learn-wrap{grid-template-columns:1fr}
	.side-lessons{position:static;order:-1}
	.dash-stats{grid-template-columns:1fr 1fr}
}
@media(max-width:560px){
	.dash-stats{grid-template-columns:1fr}
	.cont-card{flex-direction:column;align-items:stretch}
	.cont-th{width:100%}
}
