*{box-sizing:border-box}html,body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;background:#f5f7fb;color:#203445}a{text-decoration:none;color:inherit}.app-shell{display:grid;grid-template-columns:250px 1fr;min-height:100vh}.sidebar{background:#173447;color:#dce8ef;padding:24px 18px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:12px}.brand-mark{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:#36b7aa;color:#fff;font-weight:800;font-size:20px}.brand strong{display:block;font-size:20px}.brand small{display:block;color:#8ea8b7}.sidebar nav{margin-top:36px;display:grid;gap:7px}.sidebar nav a{padding:12px 14px;border-radius:9px;color:#bfd0db}.sidebar nav a:hover,.sidebar nav a.active{background:#24495d;color:#fff}.sidebar-bottom{margin-top:auto;border-top:1px solid #315064;padding-top:18px;display:grid;gap:8px}.sidebar-bottom a{color:#72d7cc;font-size:14px}.content{padding:28px 36px;min-width:0}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.topbar h1{font-size:32px;margin:0 0 4px}.topbar p{margin:0;color:#718291}.role-badge,.pill,.risk{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;border-radius:99px;padding:7px 10px;background:#e7f1f4;color:#315768}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:20px}.stat,.panel,.course-card{background:#fff;border:1px solid #e6edf2;border-radius:14px;box-shadow:0 4px 20px rgba(31,54,71,.04)}.stat{padding:20px}.stat span,.stat small{display:block;color:#7d8b97}.stat strong{display:block;font-size:34px;margin:8px 0}.panel{padding:24px;margin-bottom:20px}.panel-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:18px}.panel h2{margin:0 0 5px}.panel p{margin:0;color:#778895}.risk.medium{background:#fff3ce;color:#8a6800}.progress{height:12px;background:#edf2f5;border-radius:99px;overflow:hidden}.progress div{height:100%;background:linear-gradient(90deg,#2e9c95,#54c5bb)}.progress-meta{display:flex;justify-content:space-between;margin-top:10px;color:#667988}.feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.feature-grid>div{background:#f7fafb;border-radius:10px;padding:16px}.feature-grid b,.feature-grid span{display:block}.feature-grid span{color:#71808d;font-size:13px;margin-top:5px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-grid .full{grid-column:1/-1}label{display:grid;gap:7px;font-size:13px;font-weight:700;color:#49606f}input,select,textarea{width:100%;border:1px solid #d8e1e7;border-radius:9px;padding:11px 12px;font:inherit;background:#fff;color:#203445}input:focus,select:focus,textarea:focus{outline:2px solid rgba(54,183,170,.2);border-color:#36b7aa}.btn{border:0;border-radius:9px;padding:11px 16px;font-weight:800;cursor:pointer}.btn.primary{background:#1e8f88;color:#fff}.btn.full{width:100%}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:13px 10px;border-bottom:1px solid #edf1f4;font-size:14px}th{color:#667887;font-size:12px;text-transform:uppercase}.cell-sub{display:block;color:#8796a2;margin-top:3px}.empty{text-align:center;color:#83929d;padding:26px}.alert{border-radius:10px;padding:13px 15px;margin-bottom:16px}.alert.success{background:#e8f7f2;color:#236a60}.alert.danger{background:#fdeceb;color:#9c3d35}.course-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.course-card{padding:20px}.course-card h3{margin:14px 0 8px}.course-card p{color:#71808d;min-height:42px}.course-icon{width:46px;height:46px;border-radius:12px;background:#173447;color:#fff;display:grid;place-items:center;font-weight:900}.course-meta{display:flex;justify-content:space-between;border-top:1px solid #edf1f4;padding-top:12px;color:#758693;font-size:12px}.profile{display:grid;grid-template-columns:90px 1fr;gap:24px;align-items:start}.avatar{width:80px;height:80px;border-radius:22px;display:grid;place-items:center;background:#173447;color:white;font-size:26px;font-weight:900}.profile-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:20px}.profile-grid span{background:#f7fafb;padding:14px;border-radius:10px}.profile-grid small{display:block;color:#7e8d99;margin-bottom:4px}.login-bg{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at top left,#285b71,#102a3a 60%,#0d2230)}.login-card{width:min(430px,92vw);background:#fff;border-radius:18px;padding:32px;box-shadow:0 30px 80px rgba(0,0,0,.28)}.login-card h1{margin:28px 0 5px}.muted{color:#7b8a95}.tiny{text-align:center;color:#9aa6ae;font-size:11px;margin-top:22px}.login-card form{display:grid;gap:14px;margin-top:22px}@media(max-width:900px){.app-shell{grid-template-columns:1fr}.sidebar{position:relative}.sidebar nav{grid-template-columns:repeat(2,1fr)}.cards,.feature-grid,.course-grid{grid-template-columns:1fr 1fr}.content{padding:22px}}@media(max-width:600px){.cards,.feature-grid,.course-grid,.form-grid,.profile-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.topbar{align-items:flex-start;gap:10px}.content{padding:16px}.profile{grid-template-columns:1fr}}

.btn.ghost{display:inline-block;background:#eef4f6;color:#315768;margin-top:14px}
.btn.success{background:#e8f7f2;color:#236a60}
.builder-actions{display:flex;gap:10px;align-items:center}
.lesson-list{display:grid;gap:8px;margin-bottom:18px}
.lesson-row,.learning-lesson{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;padding:14px;border:1px solid #e7edf1;border-radius:10px;background:#fbfcfd}
.lesson-row small,.learning-lesson small{display:block;color:#7f8c97;margin-top:3px}
.add-lesson{border-top:1px solid #edf1f4;padding-top:18px;margin-top:18px}
.learning-module{margin:22px 0}
.learning-module h3{margin-bottom:10px}
.learning-lesson{margin-bottom:10px}
.learning-lesson p{margin-top:10px}
.question-card{padding:16px;border:1px solid #e7edf1;border-radius:10px;margin-bottom:12px}
.question-card ul{margin:10px 0 0;padding-left:20px}
.quiz-question{padding:18px 0;border-bottom:1px solid #edf1f4}
.radio-line{display:block;padding:8px 0;font-weight:500}
.radio-line input{width:auto;margin-right:8px}
.result-box{display:flex;align-items:center;gap:16px;border-radius:12px;padding:18px;margin-bottom:20px}
.result-box strong{font-size:34px}.result-box.pass{background:#e8f7f2;color:#236a60}.result-box.fail{background:#fdeceb;color:#9c3d35}
