:root{--font-body:"DM Sans",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;--font-heading:Manrope,"DM Sans",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;--focus-ring:0 0 0 3px #fff,0 0 0 5px #125cd4;--navy:#071c35;--navy2:#0b2748;--blue:#125cd4;--blue2:#eaf2ff;--text:#15243a;--muted:#526174;--line:#c5cfdb;--bg:#dfe7f0;--surface:#f8fafc;--control-border:#788698;--green:#15835c;--amber:#8a5700;--red:#cf3338;--white:#fff;--shadow:0 2px 8px rgba(18,38,63,.12)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:var(--font-body);color:var(--text);background:var(--bg);font-size:16px;line-height:1.5}small{font-size:12px}.app-shell{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:248px;background:var(--navy);color:white;padding:30px 22px 20px;display:flex;flex-direction:column;z-index:20}.brand{display:flex;gap:11px;align-items:center;color:white;text-decoration:none;font:700 18px var(--font-heading);letter-spacing:1.5px;margin:0 7px 43px}.brand strong{color:#4ca4ff}.brand small{display:block;color:#7f96af;font:600 12px var(--font-body);letter-spacing:2.4px;margin-top:3px}.brand-mark{width:38px;height:38px;border-radius:10px;background:#0e3765;display:grid;place-items:center}.brand-mark svg{width:27px;fill:#58aaff}.nav-label{color:#637b96;font-size:12px;font-weight:700;letter-spacing:1.5px;margin:24px 11px 8px}.main-nav{display:flex;flex-direction:column;gap:4px}.nav-item{border:0;background:transparent;color:#9fb0c2;border-radius:8px;padding:12px 11px;text-align:left;display:flex;align-items:center;gap:12px;font:500 13px var(--font-body);cursor:pointer;transition:.2s}.nav-item:hover{color:white;background:#0b2a4e}.nav-item.active{background:#10365f;color:#fff}.nav-item .icon{font-size:20px;width:20px;text-align:center}.nav-count{margin-left:auto;background:#1f6ed8;color:#fff;border-radius:12px;min-width:22px;padding:2px 6px;text-align:center;font-size:12px}.support-card{margin-top:auto;background:linear-gradient(145deg,#0e3158,#0b2848);border:1px solid #183c62;border-radius:12px;padding:18px}.support-icon{display:grid;place-items:center;width:28px;height:28px;border:1px solid #4f7ca8;border-radius:50%;color:#7ab6ff;margin-bottom:12px}.support-card strong{font-size:13px}.support-card p{color:#90a7bf;font-size:12px;line-height:1.5;margin:5px 0 12px}.support-card button{width:100%;border:1px solid #345b81;background:transparent;color:#cfdeed;border-radius:6px;padding:8px;font:600 12px var(--font-body);cursor:pointer}.logout{background:transparent;border:0;border-top:1px solid #17324e;margin-top:18px;padding:18px 8px 0;color:#728aa3;text-align:left;cursor:pointer}.main{margin-left:248px}.topbar{height:72px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 38px;position:sticky;top:0;z-index:10}.breadcrumb{font-size:12px;color:#8893a1;display:flex;gap:10px}.breadcrumb b{color:#cad0d7}.breadcrumb strong{color:#344257}.top-actions{margin-left:auto;display:flex;align-items:center;gap:18px}.language{border:0;background:none;color:#3f4d60;font:600 12px var(--font-body)}.notification{width:36px;height:36px;border:1px solid var(--line);border-radius:8px;background:#fff;position:relative}.notification span{position:absolute;right:7px;top:7px;width:6px;height:6px;border-radius:50%;background:#e84a4d;border:1px solid white}.profile{display:flex;align-items:center;gap:10px;padding-left:17px;border-left:1px solid var(--line)}.avatar{width:37px;height:37px;border-radius:9px;background:linear-gradient(145deg,#1e6fd0,#0c3564);color:white;display:grid;place-items:center;font-weight:700;font-size:12px}.profile strong,.profile small{display:block}.profile strong{font-size:12px}.profile small{font-size:12px;color:#9099a5;margin-top:3px}.chevron{color:#9aa5b1;margin-left:7px}.menu-toggle{display:none;border:0;background:none;font-size:22px;margin-right:12px}.content{padding:36px 40px 55px;max-width:1540px;margin:auto}.view{display:none}.view.active{display:block}.welcome-row{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px}.eyebrow{color:var(--muted);font-size:12px;font-weight:600;letter-spacing:.04em;margin:0 0 8px}.welcome-row h1,.page-title h1{font:700 26px var(--font-heading);margin:0;color:#11243c;letter-spacing:-.7px}.welcome-row h1 span{color:#3483e8;font-size:24px}.welcome-row>div>p:last-child,.page-title>p:last-child{margin:7px 0 0;color:#768294;font-size:13px}.learning-streak{background:white;border:1px solid var(--line);border-radius:10px;padding:10px 16px;display:flex;gap:11px;align-items:center}.learning-streak>span{color:#ed8c28;font-size:23px}.learning-streak strong,.learning-streak small{display:block}.learning-streak strong{font-size:13px}.learning-streak small{color:#8a95a4;font-size:12px;margin-top:2px}.hero-course{height:310px;background:linear-gradient(115deg,#0d3157,#071a30);border-radius:15px;color:white;position:relative;overflow:hidden;box-shadow:var(--shadow)}.hero-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(57,118,171,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(57,118,171,.08) 1px,transparent 1px);background-size:34px 34px;mask-image:linear-gradient(90deg,#000,transparent 80%)}.hero-content{position:relative;z-index:2;padding:32px 42px;max-width:690px}.status-pill{display:inline-block;background:rgba(44,158,120,.14);border:1px solid rgba(69,190,149,.28);color:#3ad09a;border-radius:4px;padding:5px 8px;font-size:12px;font-weight:700;letter-spacing:1px}.course-code{color:#6da7de;font-size:12px;letter-spacing:1.6px;font-weight:700;margin:15px 0 7px}.hero-content h2{font:700 27px/1.25 var(--font-heading);margin:0;letter-spacing:-.5px}.hero-content>p{color:#a8bdd1;max-width:580px;line-height:1.55;font-size:12px;margin:11px 0}.hero-meta{display:flex;gap:23px;color:#8ea9c1;font-size:12px;margin-bottom:18px}.primary-button{background:var(--blue);border:0;color:white;border-radius:7px;padding:11px 18px;font:600 12px var(--font-body);cursor:pointer;box-shadow:0 6px 16px rgba(20,101,232,.24)}.primary-button span{margin-left:13px}.hero-visual{position:absolute;right:7%;top:0;width:310px;height:100%}.radar{position:absolute;width:255px;height:255px;border:1px solid rgba(69,139,203,.18);border-radius:50%;top:26px;right:0}.radar:before,.radar:after,.radar i{content:"";position:absolute;border:1px solid rgba(69,139,203,.18);border-radius:50%;inset:28px}.radar:after{inset:62px}.radar i:nth-child(1){left:50%;top:0;bottom:0;width:0;border-radius:0}.radar i:nth-child(2){top:50%;left:0;right:0;height:0;border-radius:0}.radar i:nth-child(3){inset:0;background:conic-gradient(from 40deg,rgba(31,126,210,.23),transparent 22%);border:0}.radar>span{position:absolute;left:116px;top:105px;color:#60acfb;font-size:27px;transform:rotate(-18deg)}.cargo-label{position:absolute;right:8px;bottom:24px;background:#f2d439;color:#121212;width:69px;height:69px;transform:rotate(45deg);border:3px solid #111;outline:2px solid #f2d439;display:flex;flex-direction:column;align-items:center;justify-content:center}.cargo-label>*{transform:rotate(-45deg)}.cargo-label small{font-size:12px}.cargo-label strong{font-size:23px;line-height:22px}.cargo-label span{font-size:12px;font-weight:700}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:16px 0}.stat-card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:17px 18px;display:flex;gap:15px;align-items:center}.stat-icon{width:38px;height:38px;border-radius:8px;display:grid;place-items:center;font-size:17px}.stat-icon.blue{color:#2874de;background:#eaf2ff}.stat-icon.amber{color:#d88318;background:#fff4e4}.stat-icon.green{color:#15835c;background:#e7f7f0}.stat-icon.purple{color:#7856ca;background:#f1edff}.stat-card small,.stat-card strong,.stat-card p{display:block;margin:0}.stat-card small{font-size:12px;font-weight:700;letter-spacing:1px;color:#8c97a5}.stat-card strong{font:700 22px var(--font-heading);margin:2px 0}.stat-card p{color:#9aa3ae;font-size:12px}.stat-card em{font-style:normal;color:#1b976c}.dashboard-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:16px}.panel{background:#fff;border:1px solid var(--line);border-radius:11px;padding:20px}.panel-heading{display:flex;align-items:flex-start;justify-content:space-between;padding-bottom:16px;border-bottom:1px solid #edf0f4}.panel-heading h3{font:700 15px var(--font-heading);margin:0}.panel-heading button{border:0;background:none;color:#3377cf;font:600 12px var(--font-body);cursor:pointer}.module-row{display:flex;align-items:center;gap:14px;padding:18px 0}.module-number{font:700 22px var(--font-heading);color:#236ac8;background:#eaf2fe;border-radius:8px;width:45px;height:45px;display:grid;place-items:center}.module-info{flex:1}.module-info small{font-size:12px;color:#2f76d3;font-weight:700;letter-spacing:1px}.module-info h4{font:700 13px var(--font-heading);margin:4px 0}.module-info p{font-size:12px;color:#8a96a4;margin:0 0 8px}.progress-track{height:5px;background:#e8edf3;border-radius:10px;overflow:hidden}.progress-track span{display:block;height:100%;background:linear-gradient(90deg,#1f69d1,#3f91f0);border-radius:10px;transition:.4s}.module-row>strong{font-size:12px;color:#3271c8}.play-button{width:34px;height:34px;border:0;background:#1465e8;color:#fff;border-radius:50%;cursor:pointer}.next-lesson{background:#f7f9fb;border-radius:7px;padding:10px 13px;font-size:12px;display:flex;gap:12px;align-items:center}.next-lesson span{color:#8692a0}.next-lesson small{margin-left:auto;color:#8996a5}.date-card{display:flex;gap:15px;padding:18px 0 14px}.date-box{width:54px;height:60px;border:1px solid #d9e0e8;border-radius:7px;overflow:hidden;text-align:center}.date-box small{display:block;background:#d94146;color:#fff;padding:4px;font-size:12px}.date-box strong{font:700 24px var(--font-heading);line-height:38px}.deadline-tag{font-size:12px;color:#d44a4e;background:#ffeaeb;border-radius:3px;padding:3px 5px;font-weight:700;letter-spacing:.5px}.date-card h4{font:700 13px var(--font-heading);margin:6px 0 4px}.date-card p{font-size:12px;color:#8a95a3;margin:0}.reminder{border-top:1px solid #edf0f4;padding-top:13px;display:flex;gap:10px;align-items:center;color:#8995a3}.reminder p{margin:0;font-size:12px}.reminder strong{color:#d78620}.safety-note{margin-top:16px;border:1px solid #d8e5f2;background:#f5faff;border-radius:8px;padding:12px 14px;display:flex;align-items:center;gap:11px;font-size:12px;color:#557089}.safety-note>span{width:19px;height:19px;border:1px solid #82acd5;border-radius:50%;display:grid;place-items:center;color:#367bbe}.safety-note p{margin:0}.safety-note button{margin-left:auto;border:0;background:none;color:#3778bf;font:600 12px var(--font-body);cursor:pointer}.page-title{margin-bottom:28px}.filter-tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-bottom:22px}.filter-tabs button{border:0;background:none;padding:11px 15px;color:#7c8796;font:600 12px var(--font-body)}.filter-tabs button.active{color:#1764c9;border-bottom:2px solid #1764c9}.filter-tabs span{background:#edf1f5;padding:2px 7px;border-radius:10px;margin-left:4px}.course-list-card{display:grid;grid-template-columns:250px 1fr;background:#fff;border:1px solid var(--line);border-radius:13px;overflow:hidden;box-shadow:var(--shadow)}.course-thumb{background:linear-gradient(145deg,#0c2b4d,#071a30);min-height:220px;color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative}.course-thumb span{font:800 49px var(--font-heading);letter-spacing:4px;color:#6eb5ff}.course-thumb small{font-size:12px;letter-spacing:2px;color:#84a1bf}.course-thumb b{position:absolute;right:21px;top:20px;color:#2b78cc;font-size:25px}.course-list-content{padding:25px 30px}.course-list-content .course-code{margin-left:10px}.course-list-content h2{font:700 20px var(--font-heading);margin:13px 0 7px}.course-list-content>p{color:#788594;margin:0 0 25px}.course-footer{display:flex;align-items:center;margin-top:9px;color:#8792a0;font-size:12px;gap:24px}.course-footer button{margin-left:auto;border:0;background:none;color:#1765c9;font-weight:700;cursor:pointer}.timeline{background:white;border:1px solid var(--line);border-radius:12px}.timeline article{display:flex;gap:24px;align-items:center;padding:22px 28px;border-bottom:1px solid var(--line)}.timeline article:last-child{border-bottom:0}.timeline-date{width:69px;height:69px;border:1px solid #dce2e9;border-radius:10px;text-align:center;display:grid;place-content:center}.timeline-date strong{font:700 25px var(--font-heading)}.timeline-date span{font-size:12px;color:#8b96a3}.timeline-date.important{background:#fff1f1;color:#c3383d;border-color:#f2c6c8}.timeline h3{font:700 15px var(--font-heading);margin:7px 0 4px}.timeline p{margin:0;color:#8793a2;font-size:12px}.tag{font-size:12px;font-weight:700;padding:3px 6px;border-radius:3px}.blue-tag{background:#eaf2ff;color:#226bca}.amber-tag{background:#fff2df;color:#bc7113}.red-tag{background:#ffeaeb;color:#c83d43}.empty-state{background:#fff;border:1px solid var(--line);border-radius:12px;text-align:center;padding:65px 20px}.empty-state>div{font-size:45px;color:#8db3de}.empty-state h2{font:700 18px var(--font-heading)}.empty-state p{color:#7e8b9a;margin-bottom:22px}.results-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.results-grid article{background:#fff;border:1px solid var(--line);border-radius:11px;padding:25px}.results-grid small{font-size:12px;color:#8692a0;font-weight:700;letter-spacing:1px}.results-grid strong{display:block;font:700 30px var(--font-heading);margin:9px 0 3px;color:#1966c7}.results-grid p{font-size:12px;color:#929ba7;margin:0}.course-player{display:none;position:fixed;z-index:50;inset:0;background:#f5f7fa}.course-player.open{display:block}.course-player>header{height:68px;background:#071c35;color:#fff;display:flex;align-items:center;padding:0 26px;gap:28px}.course-player>header>button{border:0;border-right:1px solid #294158;background:transparent;color:#b4c2d1;padding-right:24px;cursor:pointer}.course-player>header strong,.course-player>header small{display:block}.course-player>header strong{font-size:13px}.course-player>header small{font-size:12px;color:#7890a7;margin-top:3px}.player-progress{margin-left:auto;width:190px;color:#91a5b9;font-size:12px}.player-progress>div{height:4px;background:#294158;border-radius:3px;margin-top:6px}.player-progress i{display:block;height:100%;background:#3c91ed;border-radius:3px}.player-layout{display:grid;grid-template-columns:315px 1fr;height:calc(100vh - 68px)}.lesson-list{background:#fff;border-right:1px solid var(--line);overflow-y:auto}.lesson-list-head{padding:21px;border-bottom:1px solid var(--line)}.lesson-list-head p{font-size:12px;font-weight:700;letter-spacing:1px;color:#8995a2;margin:0 0 4px}.lesson-list-head strong{font-size:12px}.accordion{border-bottom:1px solid var(--line)}.accordion>button{border:0;background:#fff;width:100%;display:flex;align-items:center;gap:12px;padding:15px 18px;text-align:left;cursor:pointer}.accordion>button>span{width:31px;height:31px;border:1px solid #dce2e8;border-radius:50%;display:grid;place-items:center;font-size:12px;color:#7f8b98}.accordion.done>button>span{background:#e7f7f0;border:0;color:#16835d}.accordion.current>button>span{background:#e9f2ff;border:0;color:#1767ca}.accordion button div{flex:1}.accordion button small,.accordion button strong{display:block}.accordion button small{font-size:12px;color:#8491a0;margin-bottom:3px}.accordion button strong{font-size:12px}.accordion button>b{font-size:12px;color:#9aa3ad}.accordion.locked{opacity:.55}.lessons{background:#f5f8fb;padding:7px 0}.lessons button{width:100%;border:0;background:transparent;display:flex;gap:10px;padding:10px 19px 10px 29px;text-align:left;color:#6e7c8c}.lessons button.active{background:#e7f0fd;color:#155eb9;border-right:3px solid #1767ce}.lessons button>span{font-size:12px}.lessons strong,.lessons small{display:block}.lessons strong{font-size:12px}.lessons small{font-size:12px;margin-top:3px;color:#939eaa}.lesson-content{overflow-y:auto;padding:42px max(7%,50px) 70px;background:#fff}.lesson-top{display:flex;gap:15px;color:#86929f;font-size:12px}.lesson-badge{background:#eaf2ff;color:#1768cb;border-radius:4px;padding:4px 7px;font-weight:700}.lesson-content h1{font:700 31px var(--font-heading);margin:12px 0 9px}.lesson-content .lead{font-size:14px;color:#738092;line-height:1.6;max-width:750px}.learning-objective{display:flex;gap:14px;background:#f0f6fe;border-left:3px solid #367fd3;border-radius:5px;padding:16px;margin:24px 0;max-width:830px}.learning-objective>span{color:#286dc4;font-size:19px}.learning-objective strong{font-size:12px}.learning-objective p{font-size:12px;color:#61758c;margin:5px 0 0;line-height:1.5}.content-section{max-width:830px}.content-section h2{font:700 17px var(--font-heading);margin:26px 0 9px}.content-section>p{line-height:1.7;color:#59697c;font-size:12px}.visual-card{display:flex;align-items:center;gap:30px;border:1px solid var(--line);border-radius:9px;padding:20px 26px;margin:20px 0;background:#fafbfc}.flammable-label{width:112px;height:112px;background:#dc262d;color:#fff;border:4px solid white;outline:2px solid #cf2027;transform:rotate(45deg);display:flex;flex-direction:column;align-items:center;justify-content:center;flex-shrink:0}.flammable-label>*{transform:rotate(-45deg)}.flammable-label small{font-size:12px}.flammable-label b{font-size:30px}.flammable-label strong{font-size:20px}.visual-card>div:last-child>small{font-size:12px;letter-spacing:1px;color:#8995a2;font-weight:700}.visual-card h3{font:700 15px var(--font-heading);margin:5px 0}.visual-card ul{margin:7px 0 0;padding-left:17px;color:#647386;font-size:12px;line-height:1.7}.example-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.example-grid div{border:1px solid var(--line);border-radius:7px;padding:15px}.example-grid span{font-size:20px;display:block;margin-bottom:9px}.example-grid strong,.example-grid small{display:block}.example-grid strong{font-size:12px}.example-grid small{font-size:12px;color:#909aa6;margin-top:3px}.warning{display:flex;gap:12px;background:#fff8ec;border:1px solid #f1dbb4;border-radius:7px;padding:14px;margin-top:22px;color:#755d38}.warning>span{width:19px;height:19px;border-radius:50%;background:#e1a64b;color:white;display:grid;place-items:center}.warning p{font-size:12px;line-height:1.6;margin:0}.lesson-actions{display:flex;justify-content:space-between;max-width:830px;margin-top:35px;padding-top:22px;border-top:1px solid var(--line)}.lesson-actions>button:first-child{border:1px solid var(--line);background:white;border-radius:6px;padding:10px 15px;color:#627083}.modal-backdrop{display:none;position:fixed;z-index:80;inset:0;background:rgba(4,17,31,.74);align-items:center;justify-content:center;padding:20px}.modal-backdrop.open{display:flex}.quiz-modal{background:#fff;border-radius:13px;width:min(590px,100%);box-shadow:0 30px 70px rgba(0,0,0,.35);overflow:hidden}.quiz-head{padding:17px 22px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;font-size:12px;font-weight:700;letter-spacing:1.2px;color:#6b7887}.quiz-head button{border:0;background:none;font-size:20px;color:#8090a0;cursor:pointer}.quiz-modal #quizContent{padding:27px}.quiz-count{font-size:12px;color:#1766c8;font-weight:700;letter-spacing:1px}.quiz-modal h2{font:700 18px/1.45 var(--font-heading)}.answers{display:grid;gap:9px;margin:20px 0}.answer{border:1px solid #dfe4ea;background:#fff;border-radius:7px;padding:13px;text-align:left;color:#4e5d6e;cursor:pointer;font:500 12px var(--font-body)}.answer:hover{border-color:#85b4ed;background:#f8fbff}.answer.selected{border-color:#1b6cd2;background:#edf5ff;color:#155eb7}.answer.correct{border-color:#2b9b73;background:#ebf8f2;color:#177251}.answer.wrong{border-color:#d9575b;background:#fff0f0;color:#b33338}.quiz-footer{border-top:1px solid var(--line);padding-top:16px;display:flex;align-items:center;justify-content:space-between}.quiz-footer span{font-size:12px;color:#8a96a4}.quiz-footer button{border:0;border-radius:6px;background:#1766cd;color:#fff;padding:10px 15px;font-weight:700}.quiz-footer button:disabled{background:#c7d0db}.quiz-result{display:none;text-align:center;padding:35px}.quiz-result.show{display:block}.quiz-result>div{width:55px;height:55px;background:#e9f8f1;color:#19815e;border-radius:50%;display:grid;place-items:center;margin:auto;font-size:24px}.quiz-result>p:first-of-type{font-size:12px;color:#19815e;font-weight:700;letter-spacing:1.2px}.quiz-result h2{margin:5px}.quiz-result>strong{font:800 40px var(--font-heading);color:#1766c8}.quiz-result>p:last-of-type{color:#7e8a98;font-size:12px}.toast{position:fixed;right:25px;bottom:25px;background:#102943;color:#fff;border-radius:9px;padding:13px 18px;display:flex;gap:12px;align-items:center;z-index:100;box-shadow:0 15px 35px rgba(0,0,0,.2);transform:translateY(100px);opacity:0;transition:.35s}.toast.show{transform:translateY(0);opacity:1}.toast>span{width:25px;height:25px;background:#1d8c68;border-radius:50%;display:grid;place-items:center}.toast strong,.toast small{display:block}.toast strong{font-size:12px}.toast small{font-size:12px;color:#aabccc;margin-top:2px}
.sidebar{width:248px;background:#040618;color:#edf5ff;padding:8px 12px 12px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#26324f transparent}.brand{display:flex;gap:12px;align-items:center;color:#edf5ff;text-decoration:none;margin:0 -12px 16px;padding:12px 12px;min-height:73px;border-bottom:1px solid #1a2038}.sidebar .brand-mark{width:48px;height:48px;border-radius:15px;background:linear-gradient(145deg,#8ce1fa,#60bfe9);display:grid;place-items:center;flex:0 0 48px;box-shadow:0 7px 16px rgba(74,180,234,.22)}.sidebar .brand-mark svg{width:30px;fill:#06152b}.brand-copy{min-width:0;display:flex;flex-direction:column}.brand-copy small{order:0;color:#75c8ee;font:700 12px/1.2 var(--font-body);letter-spacing:1.45px;white-space:nowrap}.brand-copy strong{order:1;color:#edf5ff;font:700 18px/1.25 var(--font-heading);letter-spacing:1.2px;margin-top:2px}.brand-copy>span{order:2;color:#aebdd2;font:500 12px/1.35 var(--font-body)}.nav-label{color:#8d9dbc;font-size:12px;font-weight:600;letter-spacing:1.7px;margin:14px 4px 7px}.main-nav{display:flex;flex-direction:column;gap:2px}.nav-item{min-height:44px;border:0;background:transparent;color:#dbe8f8;border-radius:12px;padding:10px 12px;text-align:left;display:flex;align-items:center;gap:12px;font:500 15px/1.25 var(--font-body);cursor:pointer;transition:background-color .18s,color .18s}.nav-item:hover{color:#fff;background:#141a32}.nav-item.active{background:#7cd4fa;color:#06152b}.nav-item .icon{width:20px;height:20px;display:grid;place-items:center;flex:0 0 20px}.nav-item .icon svg{width:20px;height:20px;display:block}.nav-count{margin-left:auto;background:#263b5e;color:#fff;border-radius:999px;min-width:23px;padding:2px 7px;text-align:center;font-size:12px;font-weight:700;line-height:18px}.nav-item.active .nav-count{background:#06152b;color:#fff}.support-card{margin-top:auto;background:#101429;border:0;border-radius:12px;padding:13px 12px}.support-card strong{display:block;color:#edf5ff;font:700 13px/1.4 var(--font-heading)}.support-card p{color:#b8c5d9;font-size:12px;line-height:1.45;margin:3px 0 10px}.support-card button{width:100%;border:1px solid #647796;background:transparent;color:#edf5ff;border-radius:8px;padding:8px 10px;font:600 12px var(--font-body);cursor:pointer}.support-card button:hover{background:#1b213a}.logout{display:flex;align-items:center;gap:10px;width:100%;background:transparent;border:0;margin-top:6px;padding:10px 12px;color:#b8c5d9;font:500 13px var(--font-body);text-align:left;cursor:pointer;border-radius:9px}.logout:hover{background:#141a32;color:#fff}.logout svg{width:19px;height:19px}
@media(max-width:1100px){.hero-visual{right:-3%}.stats-grid{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:1fr}.lesson-content{padding-left:35px;padding-right:35px}}
@media(max-width:780px){.sidebar{transform:translateX(-100%);transition:.25s}.sidebar.open{transform:translateX(0)}.main{margin-left:0}.menu-toggle{display:block}.topbar{padding:0 15px}.breadcrumb{display:none}.profile div:not(.avatar),.profile .chevron,.language{display:none}.content{padding:24px 16px}.welcome-row{display:block}.learning-streak{margin-top:15px;width:max-content}.hero-course{height:auto;min-height:375px}.hero-content{padding:27px 24px}.hero-visual{opacity:.35;right:-110px}.hero-content h2{font-size:23px}.stats-grid{grid-template-columns:1fr 1fr}.course-list-card{grid-template-columns:1fr}.course-thumb{min-height:150px}.results-grid{grid-template-columns:1fr}.player-layout{grid-template-columns:1fr}.lesson-list{display:none}.lesson-content{padding:28px 20px}.visual-card{align-items:flex-start}.course-player>header{padding:0 12px}.player-progress{display:none}}
@media(max-width:480px){.stats-grid{grid-template-columns:1fr}.welcome-row h1{font-size:22px}.hero-meta{flex-wrap:wrap;gap:10px}.course-footer{align-items:flex-start;flex-wrap:wrap}.course-footer button{margin-left:0}.example-grid{grid-template-columns:1fr}.visual-card{flex-direction:column;align-items:center}.module-row{flex-wrap:wrap}.module-info{min-width:65%}.next-lesson small{display:none}.safety-note button{display:none}}
.exam-title-row{display:flex;justify-content:space-between;align-items:flex-start}.pdf-link{display:inline-flex;align-items:center;border:1px solid #cfd8e3;border-radius:7px;padding:10px 14px;color:#286bc1;background:#fff;text-decoration:none;font-size:12px;font-weight:700}.exam-card{background:#fff;border:1px solid var(--line);border-radius:13px;display:grid;grid-template-columns:300px 1fr;overflow:hidden;box-shadow:var(--shadow)}.exam-cover{min-height:415px;background:linear-gradient(145deg,#0c3158,#07192e);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;position:relative;overflow:hidden}.exam-cover:before,.exam-cover:after{content:"";position:absolute;width:260px;height:260px;border:1px solid rgba(72,148,215,.15);border-radius:50%}.exam-cover:after{width:170px;height:170px}.exam-cover>span{font-size:12px;letter-spacing:2px;color:#72a7d9;margin-bottom:8px}.exam-cover>strong{font:800 68px var(--font-heading);color:#6eb6ff;letter-spacing:7px;line-height:1}.exam-cover>small{font-size:12px;letter-spacing:2px;color:#9bb3ca;line-height:1.6}.exam-cover>i{position:absolute;right:25px;top:24px;color:#367ec6;font-size:28px;font-style:normal}.exam-details{padding:32px 38px}.exam-ready{background:#e9f8f2;border-color:#c3ebdc;color:#15835c}.exam-details h2{font:700 22px var(--font-heading);margin:15px 0 8px}.exam-details>p{max-width:690px;color:#748294;line-height:1.6}.exam-metrics{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);border-radius:8px;margin:21px 0}.exam-metrics div{padding:13px 17px;border-right:1px solid var(--line)}.exam-metrics div:last-child{border:0}.exam-metrics strong,.exam-metrics small{display:block}.exam-metrics strong{font:700 18px var(--font-heading)}.exam-metrics small{font-size:12px;color:#8995a2;margin-top:3px}.exam-rules{background:#f6f8fa;border-radius:8px;padding:14px 17px;color:#59697c;font-size:12px}.exam-rules strong{color:#22344a}.exam-rules ul{padding-left:16px;margin:7px 0 0;line-height:1.8}.exam-start{margin-top:19px}.exam-workspace,.exam-result-card,.exam-review{display:none}.exam-workspace.active,.exam-review.active{display:block}.exam-workspace{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden;box-shadow:var(--shadow)}.exam-workspace-head{background:var(--navy);color:#fff;height:72px;padding:0 24px;display:flex;align-items:center}.exam-workspace-head>div:first-child span,.exam-workspace-head>div:first-child strong{display:block}.exam-workspace-head>div:first-child span{font-size:12px;letter-spacing:1.2px;color:#75a9dc;margin-bottom:4px}.exam-workspace-head>div:first-child strong{font:700 13px var(--font-heading)}.exam-clock{margin-left:auto;border-left:1px solid #29435e;padding-left:24px;text-align:right}.exam-clock small,.exam-clock strong{display:block}.exam-clock small{font-size:12px;color:#8fa5ba;letter-spacing:1px}.exam-clock strong{font:700 21px var(--font-heading);color:#6db2fa}.exam-clock.warning strong{color:#ffbc57}.exam-clock.danger strong{color:#ff686c}.exam-layout{display:grid;grid-template-columns:1fr 260px;min-height:525px}.exam-question-panel{padding:34px 42px;border-right:1px solid var(--line)}.exam-question-meta{display:flex;justify-content:space-between;align-items:center}.exam-question-meta>span{color:#1767c9;font-size:12px;font-weight:700;letter-spacing:1px}.exam-question-meta button{border:0;background:none;color:#7c8998;font:500 12px var(--font-body);cursor:pointer}.exam-question-meta button.flagged{color:#d18416}.exam-question-panel h2{font:700 19px/1.5 var(--font-heading);margin:19px 0 23px;max-width:770px}.exam-options{display:grid;gap:10px}.exam-option{display:flex;align-items:center;gap:13px;border:1px solid #dce3ea;background:#fff;border-radius:8px;padding:13px 15px;text-align:left;cursor:pointer;color:#506074;font:500 12px var(--font-body);transition:.16s}.exam-option:hover{border-color:#8bb9ec;background:#f8fbff}.exam-option.selected{border-color:#1767cf;background:#edf5ff;color:#155cb5}.exam-option b{width:26px;height:26px;border:1px solid #cfd8e2;border-radius:50%;display:grid;place-items:center;font-size:12px;flex-shrink:0}.exam-option.selected b{background:#1767cf;color:#fff;border-color:#1767cf}.exam-nav-actions{border-top:1px solid var(--line);margin-top:32px;padding-top:19px;display:flex;justify-content:space-between}.exam-nav-actions button{border:1px solid #d4dce5;background:#fff;border-radius:6px;padding:9px 13px;color:#516174;font-weight:600;cursor:pointer}.exam-nav-actions button:last-child{color:#fff;background:#1767cf;border-color:#1767cf}.exam-nav-actions button:disabled{opacity:.4}.exam-palette{padding:24px 20px;background:#f8fafc}.palette-progress>div:first-child{display:flex;justify-content:space-between;font-size:12px}.palette-progress span{color:#7e8a97}.palette-progress .progress-track{margin-top:9px}.palette-legend{display:flex;gap:13px;margin:18px 0 13px;font-size:12px;color:#7c8997}.palette-legend span{display:flex;align-items:center;gap:5px}.palette-legend i{width:7px;height:7px;border-radius:2px}.answered-dot{background:#1767cf}.flagged-dot{background:#eea32e}.question-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:7px}.question-grid button{aspect-ratio:1;border:1px solid #d8e0e8;background:#fff;border-radius:5px;color:#687689;font:600 12px var(--font-body);cursor:pointer;position:relative}.question-grid button.current{outline:2px solid #1767cf;outline-offset:1px}.question-grid button.answered{background:#1767cf;color:#fff;border-color:#1767cf}.question-grid button.flagged:after{content:"";position:absolute;right:2px;top:2px;width:5px;height:5px;border-radius:50%;background:#f2a630;border:1px solid white}.submit-exam{width:100%;margin-top:24px;border:0;border-radius:7px;background:#15835c;color:#fff;padding:11px;font-weight:700;cursor:pointer}.exam-palette>p{text-align:center;color:#8c97a4;font-size:12px}.exam-result-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:45px;align-items:center;gap:48px;box-shadow:var(--shadow)}.exam-result-card.active{display:flex}.result-ring{width:165px;height:165px;border-radius:50%;background:conic-gradient(#16835e 0deg,#16835e var(--score-angle,0deg),#e7edf3 var(--score-angle,0deg));position:relative;display:grid;place-content:center;text-align:center;flex-shrink:0}.result-ring:before{content:"";position:absolute;inset:12px;background:#fff;border-radius:50%}.result-ring>*{position:relative}.result-ring strong{font:800 36px var(--font-heading);color:#17304c}.result-ring span{font-size:12px;color:#8290a0;letter-spacing:1px}.result-summary{flex:1}.result-summary>span{font-size:12px;font-weight:700;letter-spacing:1px;color:#16835e}.result-summary h2{font:700 23px var(--font-heading);margin:5px 0}.result-summary>p{color:#728092}.result-numbers{display:flex;gap:42px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:15px 0;margin:18px 0}.result-numbers strong,.result-numbers small{display:block}.result-numbers strong{font:700 20px var(--font-heading)}.result-numbers small{font-size:12px;color:#8b96a3}.result-actions{display:flex;gap:10px}.result-actions>button:first-child{border:1px solid #d4dce5;background:white;border-radius:6px;padding:10px 14px;color:#526175;font-weight:600}.exam-review{background:#fff;border:1px solid var(--line);border-radius:12px;padding:23px;margin-top:18px}.review-item{padding:18px 0;border-bottom:1px solid var(--line)}.review-item:last-child{border:0}.review-item>span{font-size:12px;font-weight:700;letter-spacing:1px}.review-item.correct>span{color:#16835e}.review-item.wrong>span{color:#c63c42}.review-item h4{font:700 13px/1.5 var(--font-heading);margin:5px 0 8px}.review-answer{font-size:12px;color:#627184}.review-answer strong{color:#24374e}.review-explanation{background:#f5f8fb;border-radius:6px;padding:9px 11px;font-size:12px;color:#69798b;margin-top:9px}
@media(max-width:780px){.exam-card{grid-template-columns:1fr}.exam-cover{min-height:180px}.exam-details{padding:24px}.exam-layout{grid-template-columns:1fr}.exam-question-panel{padding:25px 20px;border-right:0}.exam-palette{border-top:1px solid var(--line)}.exam-result-card.active{flex-direction:column;text-align:center;padding:30px 20px}.result-numbers{justify-content:center}.result-actions{justify-content:center}.exam-title-row{display:block}.pdf-link{margin-top:14px}}
@media(max-width:480px){.exam-metrics{grid-template-columns:1fr 1fr}.exam-metrics div:nth-child(2){border-right:0}.exam-metrics div:nth-child(-n+2){border-bottom:1px solid var(--line)}.exam-workspace-head>div:first-child strong{font-size:12px}.exam-question-panel h2{font-size:16px}.result-numbers{gap:20px}}
.bank-title-row{display:flex;justify-content:space-between;align-items:flex-start}.bank-actions{display:flex;gap:8px}.bank-actions>button:first-child{border:1px solid #d5dde6;background:#fff;color:#4f6074;border-radius:7px;padding:10px 14px;font-weight:600;cursor:pointer}.bank-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px}.bank-stats article{background:#fff;border:1px solid var(--line);border-radius:9px;padding:15px;display:flex;align-items:center;gap:12px}.bank-stats small,.bank-stats strong{display:block}.bank-stats small{font-size:12px;color:#8894a2;font-weight:700;letter-spacing:.8px}.bank-stats strong{font:700 20px var(--font-heading);margin-top:2px}.bank-panel{background:#fff;border:1px solid var(--line);border-radius:11px;overflow:hidden}.bank-toolbar{padding:15px;display:flex;gap:9px;border-bottom:1px solid var(--line)}.bank-search{border:1px solid var(--control-border);border-radius:6px;display:flex;align-items:center;padding:0 11px;gap:7px;flex:1;max-width:430px}.bank-search span{font-size:18px;color:#8c98a6}.bank-search input{border:0;outline:0;width:100%;padding:9px 0;font:500 12px var(--font-body)}.bank-toolbar select{border:1px solid var(--control-border);background:#fff;border-radius:6px;padding:8px 28px 8px 10px;color:#59697b;font:500 12px var(--font-body)}.bank-table-wrap{overflow:auto}.bank-table{width:100%;border-collapse:collapse;min-width:820px}.bank-table th{background:#eef2f7;color:#526174;text-align:left;font-size:12px;letter-spacing:.04em;padding:11px 14px;border-bottom:1px solid var(--line)}.bank-table td{padding:13px 14px;border-bottom:1px solid #edf0f3;font-size:14px;color:#3d4a5c;vertical-align:middle}.bank-table td:first-child{width:46%;color:#26384e;font-weight:600;line-height:1.45}.bank-table .topic-badge,.bank-table .status-badge,.bank-table .difficulty-badge{display:inline-block;border-radius:4px;padding:4px 8px;font-size:12px;font-weight:600}.topic-badge{background:#edf4fd;color:#2b6ab6}.difficulty-badge.easy{background:#eaf8f2;color:#16835e}.difficulty-badge.medium{background:#fff3df;color:#b16d14}.difficulty-badge.hard{background:#ffebec;color:#bd3940}.status-badge.approved{background:#eaf8f2;color:#0f6849}.status-badge.draft{background:#f0f2f5;color:#526174}.row-actions{display:flex;justify-content:flex-end;gap:4px}.row-actions button{width:28px;height:28px;border:1px solid #dce3ea;background:#fff;border-radius:5px;color:#647386;cursor:pointer}.row-actions button.delete:hover{color:#c5383e;border-color:#efc3c5}.bank-footer{display:flex;justify-content:space-between;padding:12px 15px;color:#758293;font-size:12px}.bank-footer small{color:#9aa3ad}.question-modal{background:#fff;border-radius:12px;width:min(720px,100%);max-height:92vh;overflow-y:auto;padding:25px;box-shadow:0 30px 70px rgba(0,0,0,.35)}.question-modal-head{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:1px solid var(--line);padding-bottom:15px;margin-bottom:18px}.question-modal-head h2{font:700 19px var(--font-heading);margin:0}.question-modal-head>button{border:0;background:none;font-size:22px;color:#7d8a98;cursor:pointer}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.field{display:block;margin-bottom:14px}.field>span,.option-editor>span{display:block;font-size:12px;color:#59697b;font-weight:700;margin-bottom:6px}.field input,.field textarea,.field select{width:100%;border:1px solid var(--control-border);border-radius:6px;padding:9px 10px;font:500 12px var(--font-body);color:#33465c;outline:0}.field input:focus,.field textarea:focus,.field select:focus{border-color:#5a98df;box-shadow:0 0 0 3px #edf5ff}.option-editor{margin-bottom:14px}.option-row{display:grid;grid-template-columns:24px 1fr;gap:8px;align-items:center;margin-bottom:7px}.option-row input[type=radio]{accent-color:#1767cf}.option-row input[type=text]{border:1px solid var(--control-border);border-radius:6px;padding:9px 10px;font:500 12px var(--font-body);width:100%}.question-modal-actions{border-top:1px solid var(--line);padding-top:16px;display:flex;justify-content:flex-end;gap:8px}.question-modal-actions>button:first-child{border:1px solid #d6dee7;background:#fff;border-radius:6px;padding:9px 15px;color:#5a697b;font-weight:600}
@media(max-width:780px){.bank-title-row{display:block}.bank-actions{margin-top:15px}.bank-stats{grid-template-columns:1fr 1fr}.bank-toolbar{flex-wrap:wrap}.bank-search{max-width:none;min-width:100%}.form-grid{grid-template-columns:1fr}}
.login-screen{display:none;position:fixed;inset:0;z-index:200;background:#fff;grid-template-columns:1.05fr 1fr}.login-screen.active{display:grid}.login-brand-panel{background:linear-gradient(145deg,#071c35,#0b3259);color:#fff;display:grid;place-items:center;position:relative;overflow:hidden}.login-brand-panel:before,.login-brand-panel:after{content:"";position:absolute;width:520px;height:520px;border:1px solid rgba(83,154,219,.12);border-radius:50%;right:-150px;bottom:-170px}.login-brand-panel:after{width:350px;height:350px;right:-65px;bottom:-85px}.login-brand-content{width:min(480px,75%);position:relative;z-index:1}.login-brand-content .brand-mark{width:52px;height:52px;margin-bottom:55px}.login-brand-content .brand-mark svg{width:36px}.login-brand-content>p{font-size:12px;letter-spacing:2px;color:#6da6d9;font-weight:700}.login-brand-content h1{font:800 38px/1.2 var(--font-heading);margin:12px 0;color:#fff}.login-brand-content>small{display:block;max-width:390px;color:#9cb2c8;font-size:12px;line-height:1.7}.login-form{display:grid;place-items:center;background:#f7f9fb}.login-form-inner{width:min(390px,80%);background:#fff;border:1px solid var(--line);border-radius:13px;padding:36px;box-shadow:var(--shadow)}.login-form-inner h2{font:700 24px var(--font-heading);margin:0}.login-form-inner>p:nth-of-type(2){color:#7d8997;font-size:12px;margin:7px 0 25px}.login-form-inner .primary-button{width:100%;padding:12px}.login-error{min-height:16px;color:#c5393f;font-size:12px;margin:0 0 5px}.demo-accounts{border-top:1px solid var(--line);margin-top:22px;padding-top:15px;color:#7b8897;font-size:12px;display:grid;gap:4px}.demo-accounts[hidden]{display:none}.demo-accounts strong{color:#3f5064;margin-bottom:2px}.admin-only.hidden{display:none!important}
@media(max-width:780px){.login-screen{grid-template-columns:1fr}.login-brand-panel{display:none}.login-form-inner{width:min(420px,90%);padding:28px}}
.certificate-card{background:#fff;border:1px solid #d7e0e9;border-radius:12px;min-height:390px;display:grid;grid-template-columns:115px 1fr 150px;overflow:hidden;box-shadow:var(--shadow);position:relative}.certificate-card[hidden]{display:none}.certificate-ribbon{background:#edf5ff;border-right:1px solid #d6e3f2;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#1767cb}.certificate-ribbon>span{width:55px;height:55px;border:2px solid #1767cb;border-radius:50%;display:grid;place-items:center;font-size:25px}.certificate-ribbon small{text-align:center;font-size:12px;letter-spacing:1.2px;line-height:1.6;margin-top:12px}.certificate-main{padding:43px 50px;position:relative}.certificate-main:before{content:"";position:absolute;inset:18px;border:1px solid #e3e9ef;pointer-events:none}.certificate-main>*{position:relative}.certificate-main h2{font:700 25px/1.35 var(--font-heading);color:#102943;margin:8px 0 18px}.certificate-main h2 span{color:#1767cb}.certificate-main>p:not(.eyebrow){color:#8290a0;font-size:12px;margin:7px 0}.certificate-main h3{font:700 23px var(--font-heading);margin:4px 0;color:#1d334e}.certificate-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;border-top:1px solid var(--line);padding-top:17px;margin-top:20px}.certificate-meta small,.certificate-meta strong{display:block}.certificate-meta small,.certificate-verify small{font-size:12px;color:#8c98a6;font-weight:700;letter-spacing:.8px}.certificate-meta strong{font-size:12px;margin-top:4px}.certificate-verify{display:flex;gap:9px;align-items:center;margin-top:16px}.certificate-verify>span{width:28px;height:28px;border-radius:5px;background:#eaf2ff;color:#1767cb;display:grid;place-items:center}.certificate-verify strong{font-size:12px;display:block;margin-top:2px;color:#1767cb;letter-spacing:1px}.certificate-side{background:var(--navy);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center}.certificate-side strong{font:800 19px/1 var(--font-heading);color:#6eb5ff;letter-spacing:2px}.certificate-side>span{font:800 45px var(--font-heading);margin:30px 0;color:#fff}.certificate-side small{color:#7792ad;letter-spacing:3px}.certificate-card.invalid{filter:grayscale(.7);opacity:.75}
@media(max-width:780px){.certificate-card{grid-template-columns:75px 1fr}.certificate-main{padding:35px 28px}.certificate-side{display:none}.certificate-meta{grid-template-columns:1fr}.certificate-ribbon>span{width:40px;height:40px}.certificate-ribbon small{font-size:12px}}
.report-title-row{display:flex;justify-content:space-between;align-items:flex-start}.report-actions{display:flex;gap:8px}.report-actions button{border:1px solid #d4dce5;background:#fff;border-radius:6px;padding:9px 13px;color:#526175;font-weight:600;cursor:pointer}.report-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:16px}@media(min-width:1280px){.report-kpis{grid-template-columns:repeat(6,1fr)}}.report-kpis article{background:var(--surface);border:1px solid var(--line);border-radius:9px;padding:20px}.report-kpis small{font-size:12px;color:var(--muted);font-weight:600;letter-spacing:.04em}.report-kpis strong{display:block;font:700 28px var(--font-heading);color:var(--text);margin:6px 0}.report-kpis p{margin:0;color:var(--muted);font-size:13px}.report-grid{display:grid;grid-template-columns:1.65fr 1fr;gap:15px}.report-panel{background:var(--surface);border:1px solid var(--line);border-radius:10px;overflow:hidden}.report-panel .panel-heading{padding:18px}.report-table td:first-child{width:auto}.compliance-panel{padding:20px}.compliance-panel h3{font:700 15px var(--font-heading);margin:0 0 16px}.compliance-row{display:flex;gap:10px;padding:12px 0;border-bottom:1px solid #edf0f3}.compliance-row:last-child{border:0}.compliance-row>span{width:24px;height:24px;border-radius:50%;background:#e8f7f0;color:#16835e;display:grid;place-items:center;font-size:12px;flex-shrink:0}.compliance-row.pending>span{background:#fff2de;color:#b8751b}.compliance-row strong,.compliance-row small{display:block}.compliance-row strong{font-size:12px}.compliance-row small{font-size:12px;color:#8c97a4;margin-top:3px}
.training-admin-panel{display:grid;grid-template-columns:minmax(180px,.8fr) 2fr auto;gap:18px;align-items:end;background:#fff;border:1px solid var(--line);border-radius:10px;padding:18px;margin-bottom:16px}.training-admin-panel h3{font:700 15px var(--font-heading);margin:0}.training-admin-panel>div>p:last-child{font-size:12px;color:#8c97a4;margin:5px 0 0}.training-admin-panel form{display:grid;grid-template-columns:1.2fr 1fr 1fr auto;gap:9px;align-items:end}.training-admin-panel label{font-size:12px;font-weight:700;color:#7c8998;letter-spacing:.5px}.training-admin-panel select,.training-admin-panel input{display:block;width:100%;margin-top:5px;border:1px solid #d7dee7;border-radius:6px;padding:9px;background:#fff;color:#344257}.training-admin-panel .primary-button{white-space:nowrap}.secondary-action{border:1px solid #d4dce5;background:#fff;border-radius:6px;padding:10px 12px;color:#526175;font-weight:600;cursor:pointer;white-space:nowrap}.status-pill.overdue{background:#ffeaeb;border-color:#f2c6c8;color:#c3383d}
.email-admin-panel{background:var(--surface);border:1px solid var(--line);border-radius:10px;overflow:hidden;margin-bottom:16px}.email-admin-head{display:flex;align-items:center;justify-content:space-between;padding:18px}.email-admin-head h3{font:700 15px var(--font-heading);margin:0}.email-admin-head p:last-child{font-size:12px;color:#8794a4;margin:5px 0 0}.email-admin-head>div:last-child{display:flex;gap:8px}.email-admin-panel .bank-table td:nth-child(3){max-width:340px}.email-admin-panel .status-badge.retry{background:#fff2df;color:#7a4800}.email-admin-panel .status-badge.failed{background:#ffeaeb;color:#a92930}.email-admin-panel .status-badge.sent{background:#e8f7f0;color:#177b59}.email-admin-panel .status-badge.queued{background:#eaf2ff;color:#226bca}
@media(max-width:1100px){.training-admin-panel{grid-template-columns:1fr}.training-admin-panel form{grid-template-columns:1fr 1fr}}@media(max-width:900px){.report-grid{grid-template-columns:1fr}.report-kpis{grid-template-columns:1fr 1fr}}@media(max-width:480px){.report-title-row{display:block}.report-title-row button{margin-top:12px}.report-kpis{grid-template-columns:1fr}.training-admin-panel form{grid-template-columns:1fr}}
.lesson-media-card{border:1px solid var(--line);border-radius:10px;overflow:hidden;margin:24px 0 28px;background:#fff;max-width:900px}.media-toolbar{height:62px;padding:0 17px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.media-toolbar>div{display:flex;align-items:center;gap:10px}.media-toolbar strong{font-size:12px}.media-toolbar label{font-size:12px;color:#7b8998;font-weight:700}.media-toolbar select{margin-left:6px;border:1px solid #d8e0e8;border-radius:5px;background:#fff;padding:6px 24px 6px 8px;font:500 12px var(--font-body)}.media-layout{display:grid;grid-template-columns:minmax(0,1fr) 265px;background:#071c35}.media-stage{min-height:360px;position:relative;background:#071c35}.media-stage video{width:100%;height:100%;min-height:360px;object-fit:contain;background:#000}.interactive-video{height:100%;min-height:360px;position:relative;overflow:hidden;color:#fff;background:linear-gradient(145deg,#071c35,#0d3b67);display:flex;align-items:center;padding:45px}.video-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(84,151,210,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(84,151,210,.08) 1px,transparent 1px);background-size:35px 35px}.video-kicker{position:absolute;left:29px;top:24px;color:#6eaded;font-size:12px;letter-spacing:1.8px;font-weight:700}.video-scene{position:relative;z-index:1;transition:.35s}.video-scene small{color:#73a8d9;font-size:12px;letter-spacing:1.4px}.video-scene h2{font:800 52px var(--font-heading);margin:5px 0;color:#fff}.video-scene p{color:#a9bfd3;font-size:15px;margin:0}.scene-diamond{position:absolute;left:330px;top:-25px;width:120px;height:120px;background:#d82d34;border:5px solid white;outline:2px solid #d82d34;transform:rotate(45deg);display:grid;place-items:center;font:800 44px var(--font-heading)}.scene-diamond::first-letter{transform:rotate(-45deg)}.caption-overlay{position:absolute;z-index:3;left:50%;bottom:58px;transform:translateX(-50%);background:rgba(0,0,0,.78);padding:7px 12px;border-radius:4px;text-align:center;font-size:12px;line-height:1.45;width:max-content;max-width:85%}.caption-overlay.hidden{display:none}.media-controls{position:absolute;z-index:4;left:0;right:0;bottom:0;height:47px;background:linear-gradient(transparent,rgba(0,0,0,.8));display:flex;align-items:center;gap:10px;padding:10px 15px}.media-controls button{border:0;background:transparent;color:#fff;font-weight:700;cursor:pointer}.media-controls span{font-size:12px;color:#d5e0ea;white-space:nowrap}.media-controls input{flex:1;accent-color:#2e89ee;height:3px}.media-controls #captionToggle{border:1px solid #7e93a7;border-radius:3px;font-size:12px;padding:3px 5px}.media-controls #captionToggle.active{background:#fff;color:#142d49}.transcript-panel{background:#fff;display:flex;flex-direction:column;min-height:360px}.transcript-head{height:58px;border-bottom:1px solid var(--line);padding:0 13px;display:flex;align-items:center;justify-content:space-between}.transcript-head span,.transcript-head strong{display:block}.transcript-head span{font-size:12px;color:#2872cc;font-weight:700;letter-spacing:1px}.transcript-head strong{font-size:12px;margin-top:3px}.transcript-head button{border:0;background:none;color:#68778a;font-size:17px}.transcript-panel>input{margin:9px;border:1px solid #d8e0e8;border-radius:5px;padding:7px;font:500 12px var(--font-body)}.transcript-list{overflow-y:auto;height:302px;padding:8px}.transcript-cue{border:0;background:#fff;width:100%;display:grid;grid-template-columns:35px 1fr;gap:8px;padding:9px 7px;text-align:left;border-radius:5px;cursor:pointer}.transcript-cue:hover{background:#f2f6fa}.transcript-cue.active{background:#eaf3ff}.transcript-cue span{color:#2972ca;font-size:12px;font-weight:700}.transcript-cue p{margin:0;color:#5f7083;font-size:12px;line-height:1.45}.media-note{padding:10px 14px;background:#f5f9fd;display:flex;gap:8px;align-items:center;color:#6b7d91}.media-note>span{width:17px;height:17px;border:1px solid #84abd3;border-radius:50%;display:grid;place-items:center;font-size:12px}.media-note p{margin:0;font-size:12px;line-height:1.5}
@media(max-width:920px){.media-layout{grid-template-columns:1fr}.transcript-panel{min-height:240px}.transcript-list{height:200px}.scene-diamond{left:auto;right:-180px;opacity:.5}}@media(max-width:520px){.media-toolbar{height:auto;padding:12px;align-items:flex-start;gap:8px}.media-toolbar>div{display:block}.media-toolbar strong{display:block;margin-top:8px}.interactive-video{min-height:300px;padding:28px}.video-scene h2{font-size:38px}.caption-overlay{bottom:55px}.media-controls{gap:5px}}
.language{display:flex;align-items:center;gap:5px;border:1px solid #dce3eb!important;border-radius:7px;padding:7px 9px!important;cursor:pointer}.language strong{color:#1767cb}.language small{font-size:12px;color:#7b8796}.theory-deck{max-width:830px;border:1px solid var(--line);border-radius:12px;margin-top:26px;overflow:hidden;background:#fff;box-shadow:0 10px 30px rgba(20,45,75,.06)}.theory-deck>header{display:flex;align-items:center;justify-content:space-between;padding:17px 21px;border-bottom:1px solid var(--line);background:#fafcfe}.theory-deck>header>div:first-child{display:flex;align-items:center;gap:10px}.theory-counter{display:flex;align-items:center;gap:12px;color:#6e7c8c;font-size:12px;font-weight:700}.theory-counter>div{display:flex;gap:5px}.theory-counter i{width:19px;height:4px;background:#dce4ed;border-radius:4px}.theory-counter i.active{background:#2474d7}.theory-counter i.done{background:#56a783}.theory-slide{min-height:310px;padding:34px 38px;animation:slideIn .25s ease}.theory-slide[hidden]{display:none}.theory-slide h2{font:700 23px var(--font-heading);margin:6px 0 14px}.theory-slide>p:not(.slide-kicker){color:#59697c;line-height:1.75;font-size:13px;max-width:700px}.slide-kicker{font-size:12px;font-weight:700;letter-spacing:1.4px;color:#2472ce;margin:0}.slide-definition{display:flex;align-items:center;gap:16px;margin-top:24px;padding:18px;background:#eff6ff;border-radius:9px}.slide-definition>span{width:55px;height:55px;border-radius:50%;background:#1769ce;color:#fff;display:grid;place-items:center;font-weight:700}.slide-definition strong,.slide-definition p{display:block;margin:0}.slide-definition p{font-size:12px;color:#61748a;margin-top:4px}.theory-slide .visual-card{margin-bottom:0}.decision-check{display:flex;gap:12px;align-items:flex-start;background:#edf8f3;border:1px solid #cfe9dd;border-radius:8px;padding:16px;margin-top:18px}.decision-check span{background:#25845f;color:#fff;border-radius:50%;width:22px;height:22px;display:grid;place-items:center;flex-shrink:0}.decision-check p{margin:1px 0 0;color:#48695c;line-height:1.6;font-size:12px}.theory-deck>footer{display:grid;grid-template-columns:auto 1fr auto;gap:15px;align-items:center;padding:16px 21px;border-top:1px solid var(--line);background:#fafcfe}.slide-gate{text-align:center}.slide-gate strong,.slide-gate small{display:block}.slide-gate strong{font-size:12px;color:#627286}.slide-gate small{height:3px;background:#dce5ee;border-radius:3px;margin:6px auto 0;width:120px;position:relative;overflow:hidden}.slide-gate small:after{content:"";position:absolute;inset:0;background:#2a79d8;transform:scaleX(var(--gate-progress,0));transform-origin:left;transition:.2s}.slide-gate.unlocked strong{color:#22815e}.theory-deck button:disabled{cursor:not-allowed;opacity:.5;box-shadow:none}@keyframes slideIn{from{opacity:.35;transform:translateX(10px)}to{opacity:1;transform:none}}@media(max-width:780px){.language{display:flex!important}.theory-slide{padding:26px 20px;min-height:360px}.theory-deck>footer{grid-template-columns:1fr 1fr}.slide-gate{grid-column:1/-1;grid-row:1}.theory-slide .example-grid{grid-template-columns:1fr}.language small{display:inline!important}}
/* Tai lieu & sinh de, van ban phap quy */
.ai-status{margin:0 0 14px;padding:10px 14px;border-radius:8px;font-size:14px;border:1px solid var(--line);background:var(--surface)}.ai-status.ok{background:#eaf8f2;border-color:#bfe6d3;color:#0f6849}.ai-status.warn{background:#fff3df;border-color:#f1d9a8;color:#8a5700}
.materials-layout{display:grid;grid-template-columns:minmax(220px,1fr) minmax(0,2.6fr);gap:16px;align-items:start}.materials-list .bank-toolbar{justify-content:space-between;align-items:center}.material-list{list-style:none;margin:0;padding:0;max-height:70vh;overflow:auto}.material-item{padding:12px 15px;border-bottom:1px solid #edf0f3;cursor:pointer;display:grid;gap:3px}.material-item:hover{background:#f3f6fa}.material-item.active{background:#edf4fd;border-left:3px solid var(--blue)}.material-item strong{font-size:14px;color:#26384e}.material-item small{color:var(--muted);font-size:12px}.empty-note{padding:16px;color:var(--muted);font-size:13px;margin:0}
.material-detail{padding:18px;display:grid;gap:16px}.material-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;flex-wrap:wrap}.material-head h3{margin:2px 0 4px;font:700 19px var(--font-heading)}.material-head p{margin:0;color:var(--muted);font-size:13px}.material-warning{margin:0;padding:10px 12px;border-radius:6px;background:#fff3df;color:#8a5700;font-size:13px}
.slide-viewer{display:grid;gap:12px}.slide-toolbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.slide-toolbar label{font-size:13px;color:#526174;display:flex;gap:6px;align-items:center}.slide-toolbar select{border:1px solid var(--control-border);border-radius:6px;padding:7px 8px;font:500 13px var(--font-body);background:#fff}#pageIndicator{min-width:54px;text-align:center;font-weight:700;color:#26384e}
.slide-card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:22px 26px;min-height:220px;box-shadow:var(--shadow)}.slide-card small{color:var(--muted);font-size:12px;letter-spacing:.06em;font-weight:700}.slide-card h4{margin:6px 0 12px;font:700 20px/1.35 var(--font-heading);color:#102943}.slide-card pre{white-space:pre-wrap;font:400 15px/1.65 var(--font-body);margin:0;color:#2b3b4e}.page-notes{margin:14px 0 0;padding-top:12px;border-top:1px dashed var(--line);font-size:13px;color:#526174}
.page-strip{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}.page-strip li{width:34px;height:30px;display:grid;place-items:center;border:1px solid var(--line);border-radius:6px;font-size:12px;cursor:pointer;background:#fff;color:#3d4a5c}.page-strip li.blank{color:#aab4c0;border-style:dashed}.page-strip li.active{background:var(--blue);color:#fff;border-color:var(--blue)}
.generate-form{border-top:1px solid var(--line);padding-top:16px;display:grid;gap:12px}.generate-form h4{margin:2px 0 4px;font:700 17px var(--font-heading)}.generate-form>div>p{margin:0;font-size:13px;color:var(--muted)}.regulation-picker{border:1px solid var(--line);border-radius:8px;padding:10px 14px}.regulation-picker legend{font-size:12px;font-weight:700;color:#59697b;padding:0 6px}.regulation-picker div{display:grid;gap:6px;max-height:180px;overflow:auto}.regulation-picker label{display:flex;gap:8px;align-items:flex-start;font-size:13px;color:#2b3b4e}.generate-actions{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}#generateStatus{font-size:13px;color:var(--muted)}
.ai-badge{background:#f1ecfd;color:#5b3fb5;margin-right:4px}.ai-settings-note{font-size:13px;color:var(--muted);margin:0 0 14px}
.regulation-list{display:grid;gap:12px;padding:15px}.regulation-card{border:1px solid var(--line);border-radius:10px;padding:16px 18px;background:#fff;display:grid;gap:6px}.regulation-head{display:flex;justify-content:space-between;align-items:center;gap:8px}.regulation-head strong{color:var(--blue);font-size:14px}.regulation-card h4{margin:0;font:700 16px/1.4 var(--font-heading);color:#102943}.regulation-card small{color:var(--muted);font-size:12px}.regulation-card p{margin:4px 0;font-size:14px;line-height:1.55;color:#2b3b4e}.regulation-tags{display:flex;flex-wrap:wrap;gap:6px}.regulation-card a{font-size:13px;font-weight:600;color:var(--blue);text-decoration:none}.regulation-card a:hover{text-decoration:underline}
@media(max-width:900px){.materials-layout{grid-template-columns:1fr}.material-list{max-height:260px}.slide-card{padding:16px}}
.material-detail[hidden],.slide-toolbar [hidden],.material-warning[hidden]{display:none}
/* Khoa hoc dong va trinh hoc slide */
.course-cards{display:grid;gap:14px;margin-top:14px}.course-list-card.dynamic .course-thumb.alt{background:linear-gradient(145deg,#173a5c,#0f2a45)}.course-list-card[hidden]{display:none}
.question-course{display:inline-block;margin-top:4px;font-size:12px;color:var(--muted);font-weight:600}.question-course.missing{color:#b16d14}
.exam-course-field{max-width:420px;margin:0 0 14px}.exam-course-field select{width:100%;border:1px solid var(--control-border);border-radius:6px;padding:9px 10px;font:500 13px var(--font-body);background:#fff}
.row-actions.wide{gap:6px}.row-actions button.text{width:auto;padding:0 10px;font-size:12px;font-weight:600;color:var(--blue)}
.lesson-admin-list{margin:0 0 10px;padding-left:18px;display:grid;gap:6px;font-size:13px}.lesson-admin-list li{display:flex;justify-content:space-between;gap:8px;align-items:center}.lesson-admin-list button.delete{border:1px solid #dce3ea;background:#fff;border-radius:5px;width:26px;height:26px;cursor:pointer;color:#647386}.lesson-add-row{display:flex;gap:8px;align-items:center}.lesson-add-row select{flex:1;border:1px solid var(--control-border);border-radius:6px;padding:8px;font:500 12px var(--font-body)}
.lesson-player{display:none;position:fixed;inset:0;z-index:150;background:var(--bg);flex-direction:column}.lesson-player.open{display:flex}.lesson-player>header{display:flex;align-items:center;gap:18px;padding:14px 22px;background:#fff;border-bottom:1px solid var(--line)}.lesson-player>header button{border:1px solid var(--line);background:#fff;border-radius:7px;padding:8px 12px;font:600 13px var(--font-body);cursor:pointer}.lesson-player>header strong{display:block;font:700 15px var(--font-heading)}.lesson-player>header small{color:var(--muted);font-size:12px}.lesson-player .player-layout{flex:1;display:grid;grid-template-columns:300px minmax(0,1fr);overflow:hidden}.lesson-player .lesson-list{overflow:auto;background:#fff;border-right:1px solid var(--line);padding:16px}.lesson-player .lessons{display:grid;gap:6px}.lesson-player .lessons button{display:flex;gap:10px;align-items:center;width:100%;text-align:left;border:1px solid transparent;background:transparent;border-radius:8px;padding:10px;cursor:pointer;font-family:inherit}.lesson-player .lessons button.active{background:#edf4fd;border-color:#c9dcf5}.lesson-player .lessons button.done span{color:var(--green)}.lesson-player .lessons strong{display:block;font-size:14px;color:#26384e}.lesson-player .lessons small{color:var(--muted);font-size:12px}.lesson-player .lessons span{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#eef2f7;font-size:12px;font-weight:700}
.lesson-slides{overflow:auto;padding:22px 28px;display:grid;gap:14px;align-content:start}.lesson-slides .slide-card{min-height:320px}.lp-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.lp-footer .slide-gate{display:flex;gap:8px;align-items:center;color:var(--muted);font-size:13px}.lp-footer .slide-gate.unlocked{color:var(--green)}.page-strip li.done{border-color:#bfe6d3;background:#eaf8f2;color:#0f6849}
.certificate-list{display:grid;gap:8px;margin-top:14px}.certificate-row{display:grid;gap:2px;text-align:left;border:1px solid var(--line);background:#fff;border-radius:8px;padding:10px 14px;cursor:pointer;font-family:inherit}.certificate-row strong{font-size:14px;color:#26384e}.certificate-row small{color:var(--muted);font-size:12px}.certificate-row.invalid{opacity:.6}
@media(max-width:900px){.lesson-player .player-layout{grid-template-columns:1fr}.lesson-player .lesson-list{display:none}.lesson-slides{padding:14px}}
/* Thu gon sidebar, nut doi mat khau, o tick co bai thi */
.sidebar-collapse{position:absolute;top:22px;right:-14px;width:28px;height:28px;border-radius:50%;border:1px solid #1a2038;background:#101429;color:#aebdd2;display:grid;place-items:center;cursor:pointer;z-index:2}.sidebar-collapse svg{width:16px;height:16px;transition:transform .2s}.sidebar-collapse:hover{color:#fff;background:#1b213a}.sidebar{overflow:visible}
.sidebar-collapsed .sidebar{width:76px;padding:8px 10px 12px}.sidebar-collapsed .main{margin-left:76px}.sidebar-collapsed .brand{justify-content:center;padding:12px 0}.sidebar-collapsed .brand-copy,.sidebar-collapsed .nav-item>span:not(.icon),.sidebar-collapsed .nav-count,.sidebar-collapsed .support-card,.sidebar-collapsed .logout span{display:none}.sidebar-collapsed .nav-label{font-size:0;height:1px;background:#1a2038;margin:14px 6px 8px}.sidebar-collapsed .nav-item{justify-content:center;padding:10px 0}.sidebar-collapsed .logout{justify-content:center}.sidebar-collapsed .sidebar-collapse svg{transform:rotate(180deg)}
.icon-button{display:grid;place-items:center;color:#526174;cursor:pointer}.icon-button svg{width:18px;height:18px}.icon-button:hover{background:#f3f6fa;color:var(--blue)}
.checkbox-field{display:flex!important;gap:10px;align-items:flex-start;grid-column:1/-1}.checkbox-field input{width:18px;height:18px;margin-top:2px;accent-color:var(--blue)}.checkbox-field>span{font-weight:600;font-size:13px;color:#33465c}.checkbox-field small{display:block;font-size:12px;color:var(--muted);font-weight:500;margin-top:2px}
@media(max-width:780px){.sidebar-collapse{display:none}.sidebar-collapsed .sidebar{width:248px;padding:8px 12px 12px}.sidebar-collapsed .main{margin-left:0}.sidebar-collapsed .brand-copy,.sidebar-collapsed .nav-item>span:not(.icon),.sidebar-collapsed .nav-count,.sidebar-collapsed .support-card,.sidebar-collapsed .logout span{display:revert}.sidebar-collapsed .nav-label{font-size:12px;height:auto;background:none}.sidebar-collapsed .nav-item{justify-content:flex-start;padding:10px 12px}}
.course-list-card.preview .status-pill{background:#eef2f7;color:#526174}.filter-tabs button{cursor:pointer}
/* Review 26/09: focus ban phim thong nhat cho moi control tuong tac */
:where(button,a[href],input,select,textarea,summary,[tabindex]:not([tabindex="-1"])):focus-visible{outline:none;box-shadow:var(--focus-ring);border-radius:6px}
.sidebar :where(button,a[href]):focus-visible{box-shadow:0 0 0 2px #040618,0 0 0 4px #7fb6ff}
/* Review 26/09: co chu doc - noi dung hoc va dap an 15px, chu phu toi thieu 13px, 12px chi cho nhan ngan */
.content-section>p,.learning-objective p,.visual-card ul,.warning p,.module-info p,.hero-content>p,.timeline p,.date-card p,.reminder p,.stat-card p,.results-grid p,.lesson-list-head p,.quiz-result>p:first-of-type,.quiz-result>p:last-of-type,.review-answer,.review-explanation,.exam-rules,.certificate-main>p:not(.eyebrow),.support-card p,.safety-note,.login-form-inner>p:nth-of-type(2),.transcript-cue p{font-size:15px;line-height:1.55}
.answer,.exam-option{font-size:15px;line-height:1.45}.exam-option b{font-size:13px}
small,.module-info small,.course-footer,.hero-meta,.lessons small,.accordion button small,.deadline-tag,.bank-footer,.palette-legend,.timeline-date span,.results-grid small,.stat-card small,.exam-metrics small,.certificate-meta small,.certificate-verify small,.report-kpis small,.field>span,.option-editor>span,.login-error,.demo-accounts,.exam-palette>p,.result-numbers small,.date-box small,.toast small{font-size:13px}
.field input,.field textarea,.field select,.bank-search input,.bank-toolbar select,.option-row input[type=text]{font-size:14px}
/* Nut chuong: moc sap toi */
.notification svg{width:18px;height:18px}.notify-wrap{position:relative}
.notify-panel{position:absolute;right:0;top:calc(100% + 8px);width:min(320px,calc(100vw - 32px));background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 10px 30px rgba(18,38,63,.18);padding:12px;z-index:60}
.notify-panel>strong{display:block;font:700 14px var(--font-heading);margin-bottom:8px}
.notify-panel ul{list-style:none;margin:0;padding:0;display:grid;gap:6px;max-height:320px;overflow:auto}
.notify-panel li{display:grid;gap:2px;padding:8px 10px;border-radius:8px;background:var(--surface);border-left:3px solid var(--blue)}
.notify-panel li strong{font-size:14px;color:var(--text)}.notify-panel li small{color:var(--muted)}
.notify-panel li.overdue{border-left-color:var(--red);background:#fff4f4}
.notify-panel li.notify-empty{border-left:0;color:var(--muted);font-size:14px}
/* Drawer mobile */
.sidebar-close{display:none}.sidebar-backdrop{display:none}
@media(max-width:780px){
  .sidebar{visibility:hidden;transition:transform .25s,visibility 0s linear .25s;z-index:120;width:min(300px,85vw)!important;box-shadow:none}
  .sidebar.open{visibility:visible;transition:transform .25s;box-shadow:8px 0 30px rgba(0,0,0,.35)}
  .sidebar-close{display:flex;align-items:center;justify-content:center;align-self:flex-end;width:44px;height:44px;border:0;border-radius:8px;background:transparent;color:#edf5ff;font-size:28px;line-height:1;cursor:pointer;flex:none}
  .sidebar-backdrop{display:block;position:fixed;inset:0;background:rgba(4,6,24,.55);z-index:110}
  .sidebar-backdrop[hidden]{display:none}
  body.drawer-open{overflow:hidden}
  .menu-toggle{width:44px;height:44px;margin-right:8px}
  .notification{width:44px;height:44px}
  .bank-toolbar select,.bank-toolbar input,.bank-search{max-width:100%;min-width:0}
  .notify-panel{position:fixed;left:16px;right:16px;top:64px;width:auto}
  input,select,textarea{font-size:16px!important}
  /* Bang quan tri thanh the: moi hang la mot the, nhan cot in truoc gia tri, cot thao tac luon thay */
  .bank-table-wrap{overflow:visible}
  .bank-table{min-width:0!important}
  .bank-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
  .bank-table,.bank-table tbody,.bank-table tr{display:block;width:100%}
  .bank-table tr{border:1px solid var(--line);border-radius:10px;padding:8px 12px;margin-bottom:10px;background:#fff}
  .bank-table td{display:grid;grid-template-columns:minmax(88px,34%) 1fr;gap:10px;align-items:start;width:auto!important;max-width:none!important;padding:7px 0;border-bottom:1px solid #edf0f3}
  .bank-table td:last-child{border-bottom:0}
  .bank-table td::before{content:attr(data-label);font-size:12px;font-weight:700;letter-spacing:.04em;color:var(--muted);text-transform:uppercase}
  .bank-table td[colspan],.bank-table td:not([data-label]){display:block}
  .bank-table td[colspan]::before,.bank-table td:not([data-label])::before{content:none}
  .bank-table td>*{justify-self:start}
  .bank-table td:first-child{display:block}
  .bank-table td:first-child::before{display:block;margin-bottom:4px}
  .bank-table td.row-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;padding-top:10px}
  .bank-table td.row-actions::before{content:none}
  .bank-table td.row-actions button{min-width:44px;min-height:44px;width:auto;padding:0 12px;display:inline-flex;align-items:center;gap:6px}
  .bank-table td.row-actions button[title]::after{content:attr(title);font-size:14px;font-weight:600}
  /* Hero gon hon de tien do va han len tren man hinh dau */
  .hero-course{min-height:0!important}
  .hero-content>p{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
}
/* Man tai lieu: huong dan khi chua chon tai lieu */
.material-empty{padding:22px;display:grid;gap:10px}.material-empty h3{margin:0;font:700 20px var(--font-heading)}
#materialDetail:not([hidden])+.material-empty{display:none}
.material-steps{margin:6px 0 0;padding:0;list-style:none;counter-reset:step;display:grid;gap:12px}
.material-steps li{counter-increment:step;display:grid;grid-template-columns:32px 1fr;column-gap:12px;row-gap:2px;align-items:start}
.material-steps li::before{content:counter(step);grid-row:span 2;width:32px;height:32px;border-radius:50%;background:var(--blue2);color:var(--blue);font:700 14px/32px var(--font-heading);text-align:center}
.material-steps strong{font-size:15px;color:var(--text)}.material-steps span{font-size:14px;color:var(--muted);line-height:1.5}
/* Noi dung khoa hoc tu CSDL chua co ban dich: noi ro la ban goc thay vi tron ngon ngu am tham */
html[lang=en] [data-source-lang=vi]::after{content:"Vietnamese original";display:inline-block;margin-left:8px;padding:1px 7px;border-radius:999px;background:#eef2f7;color:#526174;font:600 11px/1.6 var(--font-body);letter-spacing:.02em;vertical-align:middle}
