:root{--blue:#00ADEF;--orange:#F38321;--navy:#10233F;--ink:#162033;--muted:#6B7A90;--bg:#F5F8FC;--card:#fff;--line:#E2E8F0;--soft:#EDF8FD;--soft-orange:#FFF5EC;--green:#118A52;--red:#C0392B;--shadow:0 10px 30px rgba(20,38,63,.07)}*{box-sizing:border-box}body,html{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Arial,sans-serif}button,input,select{font:inherit}.app{min-height:100vh}.hidden{display:none!important}.login-shell{min-height:100vh;display:grid;grid-template-columns:1.08fr .92fr;background:white}.login-brand{padding:64px;display:flex;flex-direction:column;justify-content:center;background:linear-gradient(145deg,rgba(0,173,239,.1),rgba(243,131,33,.08)),#fff}.logo{width:250px;max-width:80%;height:auto}.login-brand h1{font-size:44px;line-height:1.04;margin:32px 0 12px;color:var(--navy)}.login-brand p{max-width:560px;font-size:18px;color:#50627B;line-height:1.6}.login-panel{display:grid;place-items:center;padding:32px;background:#F7FAFD}.login-card{width:min(460px,100%);background:white;border:1px solid var(--line);border-radius:26px;padding:34px;box-shadow:var(--shadow)}.eyebrow{color:var(--blue);font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.login-card h2{font-size:30px;margin:8px 0 6px}.sub{color:var(--muted);line-height:1.5}.field{display:flex;flex-direction:column;gap:7px;margin:16px 0}.field label{font-size:13px;font-weight:800}.field input,.field select{border:1px solid #cbd5e1;border-radius:12px;padding:12px 13px;background:white}.pass{position:relative}.pass input{width:100%;padding-right:70px}.show{position:absolute;right:8px;top:7px;border:0;border-radius:8px;padding:7px 10px;background:#EDF2F7;cursor:pointer}.check{display:flex;align-items:center;gap:9px;font-size:14px;color:#53657C;margin:10px 0 18px}.alert{padding:11px 13px;border-radius:10px;background:#FFF4E8;border:1px solid #ffd0a5;color:#9A4A0A;margin:12px 0}.btn{border:0;padding:10px 14px}.primary{background:var(--blue);color:white}.secondary{background:#EEF3F8;color:#334155}.orange{background:var(--orange);color:white}.danger{background:#FEF0F0;color:#A92B2B}.top{height:78px;display:flex;align-items:center;justify-content:space-between;padding:0 26px;background:white;border-bottom:1px solid var(--line);position:-webkit-sticky;position:sticky;top:0;z-index:20}.top .mini-logo{height:52px}.userbox{display:flex;align-items:center;gap:12px}.avatar{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#E7F7FE;color:#007CB5;font-weight:900}.layout{display:grid;grid-template-columns:248px 1fr;min-height:calc(100vh - 78px)}.side{background:#fff;border-right:1px solid var(--line);padding:20px 14px}.side-title{font-size:11px;font-weight:800;letter-spacing:.11em;color:#8A97AA;text-transform:uppercase;padding:10px 12px}.navbtn{width:100%;border:0;background:transparent;border-radius:11px;padding:11px 12px;text-align:left;cursor:pointer;font-weight:700;color:#42536A;margin:2px 0}.navbtn.active{background:#EAF8FE;color:#007CAC}.navbtn.admin.active{background:#FFF1E6;color:#A64E00}.main{padding:28px;max-width:1440px;width:100%;margin:0 auto}.welcome{display:flex;justify-content:space-between;gap:20px;align-items:center;background:linear-gradient(115deg,#E9F8FE,#FFF4EA);border:1px solid #d8eef8;border-radius:22px;padding:26px;margin-bottom:22px}.welcome h1{margin:0 0 6px;font-size:30px;color:var(--navy)}.badge{border:1px solid var(--line);background:white;padding:7px 11px;border-radius:999px;font-size:12px;font-weight:800}.stats{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:14px;gap:14px;margin-bottom:22px}.stat{background:white;border:1px solid var(--line);border-radius:16px;padding:16px;box-shadow:0 4px 14px rgba(22,32,51,.025)}.stat span{color:var(--muted);font-size:12px}.stat b{font-size:27px;display:block;margin-top:5px;color:var(--navy)}.toolbar{display:flex;justify-content:space-between;gap:12px;align-items:center;margin:18px 0}.tabs{display:flex;gap:8px;flex-wrap:wrap}.tab{border:1px solid var(--line);background:white;border-radius:999px;padding:8px 12px;cursor:pointer;font-weight:700;font-size:13px}.tab.active{background:var(--navy);color:white;border-color:var(--navy)}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:16px;gap:16px}.course{background:white;border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:0 5px 18px rgba(22,32,51,.035);display:flex;flex-direction:column;min-height:265px}.course-art{height:82px;padding:16px;background:linear-gradient(125deg,rgba(0,173,239,.16),rgba(243,131,33,.12));display:flex;align-items:center;justify-content:space-between}.course-icon{width:46px;height:46px;border-radius:14px;background:white;display:grid;place-items:center;font-size:24px;box-shadow:0 4px 12px rgba(0,0,0,.05)}.code{font-size:11px;font-weight:900;letter-spacing:.08em;color:#007FAE}.course-body{padding:16px;display:flex;flex-direction:column;gap:9px;flex:1 1}.course h3{margin:0;font-size:17px;line-height:1.3}.course p{color:var(--muted);font-size:13px;line-height:1.45;margin:0;flex:1 1}.progress{height:7px;background:#E7EDF3;border-radius:99px;overflow:hidden}.progress>span{display:block;height:100%;background:linear-gradient(90deg,var(--blue),#50C8F7)}.row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.between{justify-content:space-between}.small{font-size:12px}.muted{color:var(--muted)}.card{background:white;border:1px solid var(--line);border-radius:18px;padding:18px;box-shadow:0 5px 18px rgba(22,32,51,.03)}.card h2,.card h3{margin-top:0}.admin-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:16px;gap:16px}.table-wrap{overflow:auto}.table{width:100%;border-collapse:collapse;font-size:13px}.table td,.table th{padding:11px 10px;border-bottom:1px solid #eaeff5;text-align:left;vertical-align:top}.table th{font-size:11px;color:#718097;text-transform:uppercase;letter-spacing:.06em;background:#F8FAFC}.lesson-shell{display:grid;grid-template-columns:300px 1fr;grid-gap:18px;gap:18px}.lesson-list{background:white;border:1px solid var(--line);border-radius:18px;padding:12px;align-self:start;position:-webkit-sticky;position:sticky;top:98px}.lesson-item{width:100%;text-align:left;border:0;background:white;padding:11px;border-radius:10px;cursor:pointer;margin:3px 0;display:flex;align-items:center;justify-content:space-between;gap:10px}.lesson-item.active{background:#EAF8FE;color:#007CAD;font-weight:800}.lesson-item b{color:#16875d;flex:0 0 auto}.lesson-item.locked,.lesson-item:disabled{cursor:not-allowed;color:#8a98a5;background:#f5f7f9;opacity:.78}.lesson-item.locked b{color:#7f8b96;font-size:.85rem}.lesson-content{background:white;border:1px solid var(--line);border-radius:18px;padding:26px;min-height:620px}.lesson-content h1{margin-top:0}.lesson-content h2{color:var(--navy);margin-top:26px}.lesson-content li,.lesson-content p{line-height:1.65;color:#42536A}.callout{background:#F0F9FF;border-left:4px solid var(--blue)}.callout,.scenario{padding:14px;border-radius:9px;margin:14px 0}.scenario{background:#FFF7EF;border-left:4px solid var(--orange)}.quiz{display:grid;grid-gap:14px;gap:14px}.q{border:1px solid var(--line);border-radius:14px;padding:14px}.option{display:flex;gap:9px;margin:9px 0;color:#42536A}.cert{max-width:900px;margin:auto;background:white;border:8px solid #e8f7fd;padding:42px;text-align:center}.cert img{height:95px}.cert h1{font-size:42px;color:var(--navy);margin-bottom:5px}.cert .name{font-size:32px;color:#007FAE;font-weight:900}.cert .course-name{font-size:24px;margin:16px 0}.empty{padding:34px;text-align:center;background:white;border:1px dashed #cbd5e1;border-radius:16px;color:#66768A}@media(max-width:1100px){.grid,.stats{grid-template-columns:repeat(2,1fr)}}@media(max-width:850px){.login-shell{grid-template-columns:1fr}.login-brand{display:none}.layout{grid-template-columns:1fr}.side{display:flex;overflow:auto;border-right:0;border-bottom:1px solid var(--line);padding:8px}.side-title{display:none}.navbtn{width:auto;white-space:nowrap}.lesson-shell{grid-template-columns:1fr}.lesson-list{position:static}.admin-grid{grid-template-columns:1fr}}@media(max-width:600px){.main{padding:16px}.top{padding:0 12px}.top .mini-logo{height:42px}.grid{grid-template-columns:1fr}.stats{grid-template-columns:1fr 1fr}.welcome{align-items:flex-start;flex-direction:column}}@media print{.btn,.side,.tabs,.top{display:none!important}.layout{display:block}.main{padding:0}.cert{border:8px solid #e8f7fd}}.login-brand .logo{width:390px;max-width:92%;filter:drop-shadow(0 6px 14px rgba(16,35,63,.05))}.top .mini-logo{height:64px;max-width:330px}.top-switch{display:flex;gap:6px;align-items:center;background:#F1F5F9;padding:4px;border-radius:12px}.switchbtn{border:0;background:transparent;border-radius:9px;padding:9px 14px;font-weight:800;color:#607087;cursor:pointer}.switchbtn.active{background:white;color:#007FAE;box-shadow:0 2px 8px rgba(16,35,63,.08)}.switchbtn.admin.active{color:#A84F00}.bundle-layout{display:grid;grid-template-columns:330px 1fr;grid-gap:16px;gap:16px}.bundle-list{align-self:start}.bundle-row{width:100%;display:flex;align-items:center;justify-content:space-between;text-align:left;border:1px solid transparent;background:#F8FAFC;border-radius:12px;padding:12px;margin:6px 0;cursor:pointer;color:#26364C}.bundle-row small{display:block;color:#718097;margin-top:4px}.bundle-row.active{background:#EAF8FE;border-color:#BCE8FA;color:#007FAE}.bundle-course-picker{max-height:520px;overflow:auto;border:1px solid #e3eaf2;border-radius:14px;padding:8px}.bundle-course{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px;border-radius:10px}.bundle-course:nth-child(2n){background:#FAFCFE}.bundle-course.selected{background:#F0FAFE}.bundle-course label{display:flex;align-items:flex-start;gap:9px;cursor:pointer;flex:1 1}.orderbuttons{display:flex;gap:5px}.orderbuttons button{border:1px solid #d7e1ea;background:white;border-radius:7px;padding:4px 8px;cursor:pointer}.orderbuttons button:disabled{opacity:.35}.assign-row{display:grid;grid-template-columns:1fr 1fr 220px auto;grid-gap:12px;gap:12px;align-items:end}.assign-btn{margin-bottom:16px}@media(max-width:1000px){.bundle-layout{grid-template-columns:1fr}.assign-row{grid-template-columns:1fr 1fr}.top-switch{order:3}}@media(max-width:700px){.top{height:auto;min-height:78px;flex-wrap:wrap;padding:8px 12px}.top-switch{width:100%;justify-content:center}.assign-row{grid-template-columns:1fr}.login-brand .logo{width:300px}}.admin-course .progress{display:none}.admin-course-actions{margin-top:6px}.course-editor textarea{border:1px solid #cbd5e1;border-radius:12px;padding:12px 13px;background:white;font:inherit;resize:vertical}.editor-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:12px;gap:12px}@media(max-width:900px){.editor-grid{grid-template-columns:1fr 1fr}}@media(max-width:600px){.editor-grid{grid-template-columns:1fr}.admin-course-actions{align-items:flex-start;flex-direction:column}}.knowledge-check{margin-top:22px;background:#FAFCFE;border:1px solid #dce7f0;border-radius:16px;padding:18px}.course-video{margin:22px 0 26px;padding:18px;border:1px solid #bdeaf8;border-radius:16px;background:linear-gradient(145deg,#effaff,#fff);box-shadow:0 10px 28px rgba(7,60,85,.08)}.video-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:13px}.video-heading h3{margin:0;color:#073c55;font-size:1.2rem}.video-duration{flex:0 0 auto;border-radius:999px;background:#fff1e6;color:#9b4b10;padding:5px 10px;font-size:.78rem;font-weight:800}.course-video video{display:block;width:100%;aspect-ratio:16/9;background:#061f2b;border-radius:12px;box-shadow:0 8px 22px rgba(7,60,85,.18)}.video-note{margin:12px 2px 0;color:var(--muted);font-size:.88rem}.video-status{display:flex;align-items:center;gap:10px;margin-top:12px;padding:10px 12px;border-radius:10px;background:#fff7ef;color:#8d4815;font-weight:700}.video-status b{width:25px;height:25px;border-radius:50%;display:grid;place-items:center;background:#f38321;color:#fff}.video-status.complete{background:#e9f7f0;color:#16704d}.video-status.complete b{background:#1f8a61}.video-summary{margin-top:12px;border-top:1px solid #dfe7eb;padding-top:11px}.video-summary summary{cursor:pointer;color:#007fae;font-weight:750}.video-summary p{margin:9px 0 0}.lesson-gate{display:grid;grid-gap:7px;gap:7px;margin:26px 0 0;padding:15px 17px;border:1px solid #f2c9a7;border-left:4px solid #f38321;border-radius:11px;background:#fff8f1}.lesson-gate strong{color:#073c55}.lesson-gate span{color:#7b5b43}.lesson-gate span.done{color:#16704d;font-weight:700}.knowledge-check h2{margin:8px 0 14px;font-size:20px}.knowledge-options{display:grid;grid-gap:9px;gap:9px;margin-bottom:12px}.knowledge-option{display:flex;align-items:flex-start;gap:10px;padding:11px 12px;background:white;border:1px solid #e1e8ef;border-radius:11px;color:#405169}.option-letter{width:27px;height:27px;border-radius:8px;background:#EEF5F9;display:grid;place-items:center;font-weight:900;color:#2E5168;flex:0 0 auto}.correct-option{border-color:#B9E6D0;background:#F4FCF8}.correct-option .option-letter{background:#DDF5E9;color:#177A4D}.knowledge-option{width:100%;text-align:left;cursor:pointer;font:inherit}.knowledge-option:hover{border-color:#9FDDF5;background:#F7FCFE}.selected-option{border-color:#8ECFEC;background:#F3FBFE}.wrong-option{border-color:#F0B8B2;background:#FFF7F6}.wrong-option .option-letter{background:#FDE3E0;color:#A43A30}.check-feedback{margin:10px 0;padding:10px 12px;border-radius:9px;font-weight:800}.check-feedback.correct{background:#ECF9F2;color:#14784A}.check-feedback.wrong{background:#FFF3F1;color:#A33A31}.login-shell{position:relative;overflow:hidden;isolation:isolate}.login-motion{position:absolute;inset:0;z-index:-1;overflow:hidden;background:linear-gradient(135deg,#F6FBFE,#EEF9FD 42%,#FFF8F1)}.login-motion:before{content:"";position:absolute;inset:-20%;background:radial-gradient(circle at 28% 35%,rgba(0,173,239,.18),transparent 31%),radial-gradient(circle at 76% 68%,rgba(243,131,33,.14),transparent 28%);animation:gradientDrift 14s ease-in-out infinite alternate}.bubble{position:absolute;border-radius:50%;border:1px solid rgba(0,173,239,.2);background:rgba(255,255,255,.32);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:floatBubble 12s ease-in-out infinite}.b1{width:100px;height:100px;left:7%;top:12%;animation-duration:13s}.b2{width:44px;height:44px;left:39%;top:72%;animation-duration:9s;animation-delay:-3s}.b3{width:150px;height:150px;right:9%;top:8%;animation-duration:16s;animation-delay:-6s;border-color:rgba(243,131,33,.19)}.b4{width:66px;height:66px;right:32%;bottom:8%;animation-duration:11s;animation-delay:-4s}.b5{width:30px;height:30px;left:20%;bottom:9%;animation-duration:8s;animation-delay:-2s;border-color:rgba(243,131,33,.24)}.b6{width:82px;height:82px;right:44%;top:20%;animation-duration:14s;animation-delay:-8s}.orb{position:absolute;border-radius:50%;filter:blur(30px);opacity:.28;animation:orbMove 15s ease-in-out infinite alternate}.o1{width:250px;height:250px;background:#00ADEF;left:-70px;bottom:-60px}.o2{width:230px;height:230px;background:#F38321;right:-60px;top:-40px;animation-delay:-5s}@keyframes floatBubble{0%,to{transform:translateZ(0) scale(1)}50%{transform:translate3d(18px,-26px,0) scale(1.06)}}@keyframes orbMove{0%{transform:translateZ(0)}to{transform:translate3d(35px,24px,0)}}@keyframes gradientDrift{0%{transform:translate3d(-1%,0,0) scale(1)}to{transform:translate3d(2%,-2%,0) scale(1.05)}}.logo-frame{display:inline-flex;align-items:center;justify-content:center;background:rgba(255,255,255,.88);padding:20px 24px;border-radius:24px;box-shadow:0 18px 50px rgba(12,55,83,.1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.login-brand .logo{width:min(520px,82vw);height:auto;max-height:none;object-fit:contain;display:block}.top .mini-logo{width:auto;height:70px;max-width:340px;object-fit:contain}.assignment-admin-row{display:flex;gap:16px;align-items:center;justify-content:space-between;padding:13px 0;border-bottom:1px solid #edf1f5}.assignment-main{min-width:0;flex:1 1}.assignment-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.btn.compact{padding:7px 10px;font-size:12px}.btn.danger{background:#FFF2F0;color:#A43A30;border:1px solid #f2c5bf}.btn.danger:hover{background:#FDE6E2}.inline-edit{display:flex;gap:7px;align-items:center;margin-top:7px}.inline-edit input{max-width:170px}.badge.good{background:#ECF9F2;color:#14784A;border-color:#C7EBD8}.muted-badge{background:#F2F4F7;color:#64748B;border-color:#E2E8F0}.access-disabled{max-width:760px;margin:40px auto;text-align:center;padding:40px}.switchbtn:disabled{opacity:.45;cursor:not-allowed}@media(prefers-reduced-motion:reduce){.bubble,.login-motion:before,.orb{animation:none}}@media(max-width:780px){.assignment-admin-row{align-items:flex-start;flex-direction:column}.assignment-actions{justify-content:flex-start}.login-brand .logo{width:min(360px,88vw)}}.login-shell{position:relative!important;overflow:hidden!important;isolation:isolate!important;background:#F5FAFD!important}.login-motion{position:absolute!important;inset:0!important;z-index:0!important;overflow:hidden!important;pointer-events:none!important;background:radial-gradient(circle at 18% 24%,rgba(0,173,239,.2),transparent 30%),radial-gradient(circle at 84% 72%,rgba(243,131,33,.18),transparent 28%),linear-gradient(130deg,#F7FCFF,#EDF9FE 45%,#FFF8F1)!important}.login-brand,.login-card{position:relative!important;z-index:2!important}.login-brand .logo-frame{background:rgba(255,255,255,.93)!important;border:1px solid rgba(255,255,255,.85)!important;box-shadow:0 18px 55px rgba(16,61,90,.12)!important}.login-brand .logo{width:min(500px,82vw)!important;max-height:none!important;display:block!important}.login-motion .bubble{position:absolute!important;display:block!important;border-radius:50%!important;background:rgba(255,255,255,.48)!important;border:2px solid rgba(0,173,239,.26)!important;box-shadow:inset 0 0 22px rgba(0,173,239,.07),0 10px 28px rgba(28,90,118,.08)!important;-webkit-backdrop-filter:blur(4px)!important;backdrop-filter:blur(4px)!important;animation-name:sssFloat!important;animation-timing-function:ease-in-out!important;animation-iteration-count:infinite!important}.login-motion .b1{width:118px!important;height:118px!important;left:5%!important;top:12%!important;animation-duration:8s!important}.login-motion .b2{width:54px!important;height:54px!important;left:35%!important;top:70%!important;animation-duration:6s!important;animation-delay:-2s!important}.login-motion .b3{width:170px!important;height:170px!important;right:5%!important;top:6%!important;animation-duration:10s!important;animation-delay:-4s!important;border-color:rgba(243,131,33,.28)!important}.login-motion .b4{width:78px!important;height:78px!important;right:27%!important;bottom:8%!important;animation-duration:7s!important;animation-delay:-3s!important}.login-motion .b5{width:38px!important;height:38px!important;left:18%!important;bottom:7%!important;animation-duration:5s!important;animation-delay:-1s!important;border-color:rgba(243,131,33,.32)!important}.login-motion .b6{width:94px!important;height:94px!important;right:42%!important;top:18%!important;animation-duration:9s!important;animation-delay:-5s!important}.login-motion .orb{position:absolute!important;border-radius:50%!important;filter:blur(36px)!important;opacity:.35!important;animation:sssOrb 9s ease-in-out infinite alternate!important}.login-motion .o1{width:300px!important;height:300px!important;background:#00ADEF!important;left:-95px!important;bottom:-95px!important}.login-motion .o2{width:270px!important;height:270px!important;background:#F38321!important;right:-90px!important;top:-70px!important;animation-delay:-3s!important}@keyframes sssFloat{0%{transform:translateZ(0) scale(1)}25%{transform:translate3d(22px,-20px,0) scale(1.05)}50%{transform:translate3d(42px,8px,0) scale(.97)}75%{transform:translate3d(14px,26px,0) scale(1.04)}to{transform:translateZ(0) scale(1)}}@keyframes sssOrb{0%{transform:translateZ(0) scale(1)}to{transform:translate3d(70px,42px,0) scale(1.16)}}.login-motion:after{content:"";position:absolute;inset:-35%;background:linear-gradient(115deg,transparent 35%,rgba(255,255,255,.45) 50%,transparent 65%);transform:translateX(-45%);animation:sssSheen 8s linear infinite}@keyframes sssSheen{0%{transform:translateX(-45%) rotate(4deg)}to{transform:translateX(45%) rotate(4deg)}}@media(max-width:700px){.login-brand .logo{width:min(360px,88vw)!important}}@media(prefers-reduced-motion:reduce){.login-motion .bubble,.login-motion .orb,.login-motion:after{animation:none!important}}.orderbuttons{display:none!important}.bulk-unassign-list{display:grid;grid-gap:8px;gap:8px;margin:12px 0 20px;padding:10px;background:#FAFCFE;border:1px solid #e5edf3;border-radius:14px}.bulk-unassign-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 10px;background:white;border:1px solid #ecf1f5;border-radius:10px}.bulk-unassign-row small{display:block;color:#718097;margin-top:3px}.modal-backdrop{position:fixed;inset:0;background:rgba(15,23,42,.46);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:grid;place-items:center;z-index:9999;padding:20px;animation:modalFade .18s ease-out}.modal-card{width:min(520px,94vw);background:white;border-radius:22px;padding:26px;box-shadow:0 30px 90px rgba(15,23,42,.28);border:1px solid rgba(255,255,255,.75);animation:modalPop .2s ease-out}.modal-card h2{margin:8px 0 10px;text-align:center}.modal-body{color:#536274;line-height:1.55;text-align:center}.modal-body p{margin:8px 0}.modal-icon{width:52px;height:52px;border-radius:16px;margin:0 auto;display:grid;place-items:center;font-weight:900;font-size:24px;background:#EEF8FD;color:#0288BD}.modal-icon.danger-icon{background:#FFF1EF;color:#B23B32}.modal-icon.success{background:#EAF8F1;color:#157A4B}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}.success-modal{text-align:center}.success-modal .btn{margin-top:18px}.btn.danger-solid{background:#B64037;color:white;border:1px solid #b64037}.btn.danger-solid:hover{background:#983128}@keyframes modalFade{0%{opacity:0}to{opacity:1}}@keyframes modalPop{0%{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:none}}@media(max-width:620px){.bulk-unassign-row{align-items:flex-start;flex-direction:column}.modal-actions{flex-direction:column-reverse}.modal-actions .btn{width:100%}}.logo-frame{display:none!important}.logo-stage{display:flex;align-items:center;justify-content:center;width:min(560px,92%);min-height:250px;margin:0 auto 18px;padding:18px 22px;background:#fff;border-radius:28px;box-shadow:none;border:0}.login-brand{background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(255,255,255,.88));border-radius:34px;padding:34px}.login-brand .logo{width:min(500px,94%)!important;height:auto!important;object-fit:contain!important;background:#fff}.course-editor-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 14px}.course-editor-tabs button{border:1px solid #dce6ee;background:#F8FAFC;padding:10px 14px;border-radius:11px;font-weight:800;color:#526174;cursor:pointer}.course-editor-tabs button.active{background:#EAF8FE;border-color:#A6DDF3;color:#007FAE}.course-maintenance .maint-row{border:1px solid #e3eaf0;border-radius:14px;margin:10px 0;overflow:hidden}.maint-head{width:100%;display:flex;align-items:center;justify-content:space-between;gap:14px;border:0;background:#FAFCFE;padding:14px 16px;text-align:left;cursor:pointer;color:#26364C}.maint-head small{display:block;color:#718097;margin-top:4px;font-weight:500;white-space:normal}.maint-body{padding:16px;border-top:1px solid #e8eef3;background:white}.maintenance-block{background:#F8FBFD;border:1px solid #e2ebf1;border-radius:14px;padding:14px;margin:14px 0}.answer-line{display:grid;grid-template-columns:1fr auto;grid-gap:10px;gap:10px;align-items:center}.radio-label{display:flex;align-items:center;gap:6px;white-space:nowrap;font-size:13px;font-weight:700}.row.end{justify-content:flex-end}@media(max-width:700px){.logo-stage{min-height:190px;padding:12px}.login-brand{padding:20px}.answer-line{grid-template-columns:1fr}.radio-label{padding:6px 0}}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:42px;border-radius:11px;padding:10px 15px;font-weight:800;cursor:pointer;text-decoration:none;transition:transform .12s ease,box-shadow .12s ease,background .12s ease}.btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 7px 18px rgba(15,23,42,.1)}.btn:active:not(:disabled){transform:translateY(0)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn.orange{background:#F38321!important;color:#fff!important;border:1px solid #f38321!important}.btn.primary{background:#00ADEF!important;color:#fff!important;border:1px solid #00adef!important}.assign-btn{min-width:150px!important;white-space:nowrap!important}.modal-card .btn{min-width:120px}body,button,html,input,select,textarea{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Arial,sans-serif}.matrix-card{overflow:hidden}.matrix-wrap{overflow:auto;max-width:100%;border:1px solid var(--line);border-radius:14px}.matrix-table{min-width:2580px;border-collapse:separate;border-spacing:0}.matrix-table td,.matrix-table th{text-align:center;min-width:82px;background:#fff}.matrix-table th{position:-webkit-sticky;position:sticky;top:0;z-index:3;background:#F8FAFC}.matrix-table .matrix-employee{position:-webkit-sticky;position:sticky;left:0;z-index:4;min-width:240px;max-width:240px;text-align:left;background:#fff;box-shadow:2px 0 0 #EAEFF5}.matrix-table thead .matrix-employee{z-index:5;background:#F8FAFC}.matrix-cell-button{width:36px;height:34px;border:0;border-radius:9px;background:transparent;font:inherit;font-weight:900;cursor:pointer;color:inherit}.matrix-cell-button:hover{background:#EEF6FA}.matrix-complete{color:var(--green);font-weight:900}.matrix-active{color:#147CA4;font-weight:900}.matrix-overdue{color:#B42318;font-weight:900;background:#FFF8F7!important}.matrix-none{color:#94A3B8}.matrix-legend{display:flex;gap:18px;flex-wrap:wrap;margin-top:12px}.matrix-detail{margin-top:16px;border:1px solid #dde8ef;background:#FAFCFE;border-radius:14px;padding:16px}.matrix-detail h3{margin:3px 0 0}.matrix-detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:10px;gap:10px}.matrix-detail-grid>div{background:#fff;border:1px solid #e4eaf0;border-radius:11px;padding:10px}.matrix-detail-grid span{display:block;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.05em}.matrix-detail-grid b{display:block;margin-top:4px;font-size:13px}.cert img{width:auto;max-width:360px;height:auto;max-height:110px;object-fit:contain}@media(max-width:850px){.matrix-detail-grid{grid-template-columns:1fr 1fr}}@media(max-width:560px){.matrix-detail-grid{grid-template-columns:1fr}.matrix-table .matrix-employee{min-width:190px;max-width:190px}}.refresher-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 9px;border-radius:999px;background:#FFF5E8;border:1px solid #f6c98c;color:#9A4E0D;font-size:11px;font-weight:900;letter-spacing:.025em;white-space:nowrap;vertical-align:middle}.refresher-badge.compact{padding:4px 7px;font-size:10px;gap:4px}.refresher-icon{font-weight:1000;font-size:14px;line-height:1;color:#E66F0E}.refresher-assignment-badge{display:inline-flex;align-items:center;gap:6px;margin-top:6px;padding:5px 8px;border-radius:8px;background:#EAF8FE;border:1px solid #b8e4f5;color:#087EA4;font-size:10px;font-weight:900;letter-spacing:.045em}.course-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.course-title-row h3{margin-right:auto}.assignment-course-line{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.matrix-course-head{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-height:44px}.matrix-course-head .refresher-badge{padding:3px 5px;font-size:9px}.matrix-detail-title{align-items:center;flex-wrap:wrap}.matrix-detail-title p{margin:0}.help-page{display:grid;grid-gap:16px;gap:16px}.help-hero{align-items:center}.help-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:14px;gap:14px}.help-card{position:relative;padding-top:54px}.help-card h3{margin:0 0 7px}.help-card p{margin:0;color:var(--muted);line-height:1.55}.help-step{position:absolute;top:16px;left:16px;width:28px;height:28px;border-radius:9px;display:grid;place-items:center;background:#EAF8FE;color:#087EA4;font-weight:900}.help-section h2{margin-top:0}.help-badge-list{display:grid;grid-gap:12px;gap:12px}.help-badge-list>div{display:flex;align-items:center;gap:14px;padding:12px;border:1px solid #e4eaf0;border-radius:12px;background:#FAFCFE}.help-badge-list p{margin:0;color:var(--muted)}.help-course-list{display:grid;grid-gap:8px;gap:8px}.help-course-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 12px;border:1px solid #e7edf2;border-radius:11px;background:#fff}.help-course-row b{display:inline-block;min-width:88px}.help-course-row span:not(.refresher-badge):not(.refresher-icon),.help-list{color:#526174}.help-list{margin:0;padding-left:20px;display:grid;grid-gap:9px;gap:9px;line-height:1.55}@media(max-width:1050px){.help-grid{grid-template-columns:1fr 1fr}}@media(max-width:700px){.help-grid{grid-template-columns:1fr}.course-title-row{flex-direction:column}.help-badge-list>div,.help-course-row{align-items:flex-start;flex-direction:column}}