/* Shared visual language for student, instructor and administrator workspaces. */
:root{font-family:Manrope,Arial,sans-serif;--purple:#345f59;--purple-dark:#234841;--ink:#203442;--muted:#70808a;--bg:#f5f8f6;--line:#dfe7e2}body{background:#f5f8f6;font-family:Manrope,Arial,sans-serif;color:#203442}.rail{background:#203841;color:#f5f8f2;border:0;box-shadow:none}.brand{font-family:Manrope,Arial,sans-serif;font-size:24px;font-weight:800;letter-spacing:-1px}.brand img{width:31px;height:31px}.brand small{font-size:8px;letter-spacing:.3px;font-weight:400}.rail .brand small,.nav-label{color:#a6bbb9}.nav-label{font-size:9px;letter-spacing:1.7px}.nav a{color:#c3d2cf;border-radius:8px;font-size:12px;min-height:46px;transition:background .15s,color .15s}.nav a:hover{background:#ffffff0a;color:white;transform:none}.nav a.active{background:#c9f277;color:#263e32;border-color:transparent;box-shadow:0 3px 8px #0000000a;font-weight:700}.nav a.active:before{display:none}.nav a.active .icon{color:#35502d}.rail-note{background:#ffffff04;border:1px solid #ffffff13;border-radius:10px}.rail-note .icon{color:#c1dd99}.rail-note p,.account small{color:#adbfbb}.rail-note h3{color:#e2eae6}.account .avatar{background:#52746c;color:white}.topbar{background:#ffffffed;backdrop-filter:blur(12px);border-color:#e0e7e2}.breadcrumb{font-size:11px}.session-label{font-size:10px;color:#7b8c80}.session-label .icon{color:#739865}.avatar{background:#e7f0df;color:#4c6c47}.content{max-width:1600px;padding:35px 38px}.page-heading h1{font-family:Manrope,Arial,sans-serif;font-weight:700;font-size:31px;letter-spacing:-1.3px}.page-heading p{font-size:12px;color:#7a888f;margin-top:9px}.hero{background:#24444b;border:1px solid #2c4c51;border-radius:15px;min-height:225px;box-shadow:none}.hero h2{font-family:Manrope,Arial,sans-serif;font-weight:600;font-size:32px;letter-spacing:-1.3px;max-width:410px}.hero p{font-size:12px;color:#c6dad2;max-width:350px}.hero .eyebrow{color:#bad39f;font-size:9px}.hero .btn.light{background:#c9f277;color:#263e32;border-color:#c9f277}.hero:before{background:radial-gradient(ellipse,#bdde7430,transparent 65%)}.hero-art{opacity:.8}.btn{border-radius:8px;background:#345f59;border-color:#345f59;min-height:43px;font-size:11px;padding:11px 17px;font-weight:700;transition:background .16s,transform .16s,box-shadow .16s}.btn:hover{background:#264d47;border-color:#264d47;box-shadow:0 5px 12px #23433918;transform:translateY(-1px)}.btn:active{transform:translateY(1px);box-shadow:none}.btn.secondary{background:#fff;color:#36594e;border-color:#d8e3da}.btn.secondary:hover{background:#eef4eb;border-color:#adc0ad}.btn:disabled{cursor:wait;transform:none;opacity:.6}.text-btn{font-size:11px;color:#426f63}.stats{gap:15px}.stat{background:#fff;border:1px solid #e0e7e1;border-radius:12px;box-shadow:none;padding:20px;transition:box-shadow .2s}.stat:hover{transform:none;box-shadow:0 6px 20px #23433908}.stat-icon{background:#edf3e6;color:#5b7a4e}.stat-value{font-size:27px}.panel,.course-row{background:#fff;border-color:#dfe7e2;border-radius:12px;box-shadow:0 2px 3px #152f2203}.panel h3{font-size:14px}.course-row{transition:border-color .2s,box-shadow .2s}.course-row:hover{transform:none;border-color:#c1d2c5;box-shadow:0 8px 25px #21372d0a}.course-art.violet{background:linear-gradient(120deg,#365f67,#294951)}.course-art.blue{background:linear-gradient(125deg,#667093,#424e73)}.course-art.orange{background:linear-gradient(125deg,#bc9273,#936c58)}.course-info h3{font-size:17px;letter-spacing:-.5px}.course-meta{font-size:9px;letter-spacing:1px}.course-subtitle{font-size:11px}.progress-track{height:5px;background:#e9efea}.progress-track span{background:#85ae6b}.tabs{gap:9px;border:0}.tabs button{font-size:10px;border:1px solid transparent;border-radius:6px;padding:9px 14px}.tabs button.active{color:#3c604c;background:#e9f1e2;border-color:#dce7d3}.section-head h2{font-size:18px;letter-spacing:-.5px;overflow-wrap:anywhere}.section-head{min-width:0}.ring{--ring-color:#7b9f61}.dark-panel{background:#e9f1e1;color:#355344;border-color:#dce6d4}.dark-panel h3{color:#355344}.dark-panel p{color:#76856d}.dark-panel>.icon{color:#708f4c}.day.today{background:#e7f0dc;color:#44693a;border-color:#d4e3c5}.badge{border-radius:5px;font-size:9px}.badge.green{background:#edf4e7;color:#4b713f}.badge.orange{background:#fbf0df;color:#9b7137}.badge.grey{background:#f0f3f1;color:#7a867f}.notice{background:#f0f4eb;border:1px solid #e0e8d9;color:#647650;border-radius:8px;font-size:11px;line-height:1.8}.table-wrap{background:white;border:1px solid #dfe7e2;border-radius:11px}table{font-size:11px}thead th{font-size:9px;text-transform:uppercase;letter-spacing:1px;background:#f3f6f2;color:#7c897f}td{border-color:#edf1ed}tr:hover td{background:#fafcf8}.editor-lesson{background:#fff;border:1px solid #dfe7e2;border-radius:10px;transition:border-color .15s,box-shadow .15s}.editor-lesson:hover{background:#fff;border-color:#adc1ad;box-shadow:0 5px 15px #2544310a;transform:translateY(-2px)}.catalog-card{background:white;border:1px solid #dfe7e2;border-radius:12px}.catalog-card:hover{transform:translateY(-3px)}.catalog-body h3{font-size:18px}.empty{background:#f9fbf8;border:1px dashed #d8e2d7;border-radius:12px}.empty h3{font-size:16px}.empty p{font-size:12px}.demo-banner{background:#eff3e4;color:#778362;font-size:9px;letter-spacing:.2px}.account-panel{max-width:760px}.account-panel dd{overflow-wrap:anywhere}.login-art{background:#24434a}.login-art:before{background:radial-gradient(ellipse,#c5e68820,transparent 65%)}.login-copy h1{font-family:Manrope,Arial,sans-serif;font-weight:600;letter-spacing:-2.5px;font-size:clamp(38px,4.2vw,61px)}.login-copy h1 span{font-family:Georgia,serif;font-style:italic;color:#c9f277}.login-copy p{font-size:14px;color:#c9dcd3;max-width:390px}.login-side{background:#f8faf7}.login-box{max-width:390px}.login-box h2{font-size:33px;font-weight:700;letter-spacing:-1.4px}.login-box>p{font-size:12px;color:#7a8980}.login-foot{font-size:10px;color:#a4bdb1}.login-path i{border-color:#d9ecc150;color:#d7e9c6}.login-path i:first-child{background:#c9f277;color:#31513b}.login-links{display:flex;justify-content:space-between;margin:24px 0;font-size:11px;color:#5c7869}.login-links a:hover{text-decoration:underline}.login-demo{border-top:1px solid #dfe7db;padding-top:20px}.password-input{position:relative}.password-input input{padding-right:65px}.password-toggle{position:absolute;right:8px;top:50%;transform:translateY(-50%);background:transparent;border:0;color:#587468;font-size:11px;font-weight:600;min-height:36px;min-width:44px;cursor:pointer}.field-label{font-size:11px;color:#536a5e}input,textarea,select{background:#fff;border:1px solid #d6e1d7;border-radius:7px;font-size:12px;min-height:44px}input:focus,textarea:focus,select:focus{border-color:#749b84;box-shadow:0 0 0 3px #709b7415}input[type=radio],input[type=checkbox]{min-height:0}.form-help{font-size:10px;line-height:1.8}.answer{border:1px solid #dce5da;border-radius:8px}.answer:has(input:checked){border-color:#7d9f69;background:#eff5e8}.question{padding:28px}.question h3{line-height:1.7}.video-stage{border-radius:13px;overflow:hidden;background:#1c303a}.lesson-body h1{font-size:27px;letter-spacing:-1px}.lesson-nav{padding:22px}.lesson-row{border-radius:7px}.lesson-row:hover{background:#f0f5eb}.notes{font-size:13px;line-height:1.9}dialog{border-radius:15px;border:1px solid #dce5dc;box-shadow:0 30px 100px #0d242536}dialog::backdrop{background:#132d3870;backdrop-filter:blur(4px)}.modal-head h2{font-size:21px;letter-spacing:-.7px}#toast{border-radius:9px;background:#23423b;color:white}.staff-card{overflow-wrap:anywhere}.footer-note{font-size:9px;color:#92a08f}.mobile-menu{border:1px solid #dbe5db;border-radius:6px}.form-error{overflow-wrap:anywhere}.error{font-size:12px;line-height:1.8}
@media(max-width:1200px){.content{padding:28px}.hero h2{font-size:29px}}
@media(max-width:700px){.content{padding:25px 18px}.page-heading h1{font-size:26px}.page-heading p{font-size:11px}.hero{padding:27px;min-height:220px}.hero h2{font-size:29px;max-width:290px}.hero p{max-width:270px}.hero-art{opacity:.25}.stats{gap:9px}.stat{padding:17px 12px}.btn{min-height:44px}.topbar{padding:14px 18px}.section-head h2{font-size:17px}.login-side{padding:30px 24px}.login-box{max-width:430px}.course-row{padding:18px}.account-panel dd{margin-left:0}.session-label{display:none}.admin-actions{flex-wrap:wrap}.question{padding:22px}.lesson-body h1{font-size:23px}.rail{max-width:85vw}.login-links{margin:21px 0}dialog{max-width:calc(100vw - 28px)}.table-wrap table{min-width:550px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.notes-heading{font-size:14px;border-bottom:1px solid #dfe7e2;padding:20px 0 13px;margin:10px 0 20px}#lesson-search{width:100%;font-size:11px}#lesson-search-status:empty{display:none}

.video-stage{position:relative}.video-watermark{position:absolute;z-index:2;max-width:calc(100% - 32px);padding:5px 8px;border-radius:4px;background:#10252bb3;color:#fff;font:10px/1.5 Manrope,Arial,sans-serif;pointer-events:none;overflow-wrap:anywhere}.video-watermark[data-position="0"]{top:16%;left:16px}.video-watermark[data-position="1"]{top:16%;right:16px}.video-watermark[data-position="2"]{bottom:25%;right:16px}.video-watermark[data-position="3"]{bottom:25%;left:16px}.video-fullscreen{position:absolute;top:10px;right:10px;z-index:3;background:#10252bd9;border:1px solid #ffffff70;border-radius:6px;color:white;padding:9px 12px;min-height:40px;font:11px Manrope,Arial,sans-serif;cursor:pointer}.video-fullscreen[hidden]{display:none}.video-fullscreen:focus-visible{outline:3px solid #c9f277;outline-offset:3px}.video-stage:fullscreen{display:flex;align-items:center;justify-content:center;border-radius:0;background:#000}.video-stage:fullscreen video{width:100%;height:100%;object-fit:contain;max-height:none}

/* Focus, touch targets and an opaque cover for inactive lesson windows. */
:where(a,button,input,select,textarea,summary):focus-visible{outline:3px solid #598953;outline-offset:3px}
.btn,.icon-btn,.password-toggle,.tabs button,.video-fullscreen{min-height:44px}
.lesson-privacy-cover{position:absolute;inset:0;z-index:5;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:24px;background:#172c32;color:#fff;text-align:center;overflow:auto}
.lesson-privacy-cover[hidden]{display:none}.lesson-privacy-cover strong{font-size:22px}.lesson-privacy-cover p{max-width:420px;font-size:13px;line-height:1.6;color:#c8d9d5}.lesson-privacy-cover small{color:#c8d9d5}.lesson-privacy-cover .btn.light{background:#c9f277;color:#223e32;border-color:#c9f277}.lesson-covered video,.lesson-covered .video-watermark,.lesson-covered .video-fullscreen{visibility:hidden}
@media(max-width:700px){input,select,textarea,#lesson-search{font-size:16px}.text-btn{display:inline-flex;align-items:center;min-height:44px}.tabs{flex-wrap:wrap}.answer{min-height:48px}.lesson-privacy-cover{gap:8px;padding:12px}.lesson-privacy-cover strong{font-size:18px}.lesson-privacy-cover p{font-size:11px}.lesson-privacy-cover small{font-size:10px}}
@media print{.classroom,.exam-form,#exam-result{display:none!important}}
