@import "https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,400;0,9..40,500;0,9..40,600;0,9..40,700;1,9..40,400&display=swap";:root{color:#1f2937;--sidebar-bg:#0f172a;--sidebar-active:#e0f2fe;--sidebar-active-text:#0369a1;--accent:#2563eb;--accent-light:#dbeafe;--card-radius:14px;--next-lesson-green:#166534;--navy-card:#1e3a5f;background:#f4f6fa;font-family:DM Sans,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;line-height:1.4}*{box-sizing:border-box}body,h1,h2,h3,h4,p{margin:0}button,input,textarea,select{font:inherit}input,textarea,select{border:1px solid #d1d5db;border-radius:8px;width:100%;margin-top:.4rem;padding:.65rem .7rem}button{color:#fff;cursor:pointer;background:#2563eb;border:none;border-radius:8px;padding:.65rem .95rem}button:disabled{opacity:.65;cursor:not-allowed}.auth-shell{place-items:center;min-height:100vh;padding:1rem;display:grid}.auth-card{background:#fff;border-radius:14px;gap:.9rem;width:min(480px,100%);padding:1.2rem;display:grid;box-shadow:0 10px 35px #0f172a17}.layout-shell{background:#f1f5f9;min-height:100vh}.sidebar{background:var(--sidebar-bg);color:#f9fafb;z-index:10;flex-direction:column;gap:.5rem;width:260px;padding:1.25rem 1rem;display:flex;position:fixed;top:0;bottom:0;left:0;overflow-y:auto}.content{margin-left:260px}.sidebar-brand{margin-bottom:.5rem}.sidebar-brand h2{color:#fff;margin:0 0 .15rem;font-size:.95rem;font-weight:700}.sidebar-brand .brand-sub{color:#94a3b8;font-size:.75rem}.sidebar .muted{color:#cbd5e1}.sidebar nav{flex-direction:column;flex:1;gap:.2rem;display:flex}.sidebar nav a{color:#cbd5e1;border-radius:10px;align-items:center;gap:.6rem;padding:.6rem .75rem;font-size:.9rem;font-weight:500;text-decoration:none;transition:background .15s,color .15s;display:flex}.sidebar nav a:hover{color:#fff;background:#1e293b}.sidebar nav a.active{background:var(--sidebar-active);color:var(--sidebar-active-text)}.sidebar-profile{border-top:1px solid #334155;align-items:center;gap:.75rem;margin-top:auto;padding-top:1rem;display:flex}.sidebar-profile-avatar{color:#fff;background:linear-gradient(135deg,#3b82f6,#8b5cf6);border-radius:50%;place-items:center;width:40px;height:40px;font-size:.95rem;font-weight:700;display:grid}.sidebar-profile-info{min-width:0}.sidebar-profile-name{color:#fff;white-space:nowrap;text-overflow:ellipsis;font-size:.9rem;font-weight:600;overflow:hidden}.sidebar-profile-role{color:#94a3b8;font-size:.75rem}.sidebar .sign-out-btn{color:#94a3b8;background:0 0;margin-top:.5rem;padding:.5rem .75rem;font-size:.85rem}.sidebar .sign-out-btn:hover{color:#fff;background:#334155}.content{flex-direction:column;min-width:0;min-height:100vh;display:flex;overflow-x:hidden}.dashboard-topbar{background:#fff;border-bottom:1px solid #e2e8f0;flex-wrap:wrap;align-items:center;gap:1rem;padding:.9rem 1.5rem;display:flex}.dashboard-topbar h1{color:#0f172a;margin:0;font-size:1.35rem;font-weight:700}.dashboard-search{flex:1;min-width:200px;max-width:400px;margin:0 auto}.dashboard-search input{background:#f8fafc;border:1px solid #e2e8f0;border-radius:999px;width:100%;margin:0;padding:.6rem 1rem .6rem 2.5rem;font-size:.9rem}.dashboard-search-wrap{position:relative}.dashboard-search-wrap svg{color:#94a3b8;pointer-events:none;position:absolute;top:50%;left:1rem;transform:translateY(-50%)}.dashboard-topbar-actions{align-items:center;gap:.5rem;display:flex}.dashboard-topbar-actions button{color:#64748b;background:0 0;border-radius:10px;padding:.5rem}.dashboard-topbar-actions button:hover{color:#0f172a;background:#f1f5f9}.dashboard-topbar-avatar{color:#fff;background:linear-gradient(135deg,#3b82f6,#8b5cf6);border-radius:50%;place-items:center;width:36px;height:36px;font-size:.85rem;font-weight:700;display:grid}.content-inner{flex:1;padding:1.5rem;overflow-y:auto}.stack{gap:1rem;display:grid}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.card{background:#fff;border:1px solid #e5e7eb;border-radius:14px;gap:.8rem;padding:1rem;display:grid}.page-header{justify-content:space-between;align-items:center;display:flex}.page-header h1{font-size:1.3rem}.muted{color:#6b7280}.page-state{text-align:center;place-items:center;min-height:60vh;padding:1rem;display:grid}.page-state.error,.error-text{color:#b91c1c}.success-text{color:#0f766e}.tabs{flex-wrap:wrap;gap:.4rem;display:inline-flex}.tabs button{color:#111827;background:#e5e7eb}.tabs button.active{color:#fff;background:#1d4ed8}.list{gap:.6rem;margin:0;padding:0;list-style:none;display:grid}.list li{border:1px solid #e5e7eb;border-radius:10px;justify-content:space-between;gap:.6rem;padding:.7rem;display:flex}.list.clickable li{cursor:pointer}.aligned-right{justify-items:end;display:grid}.inline-actions{justify-content:flex-end;display:flex}.text-link{color:#1d4ed8;font-weight:600;text-decoration:none}.progress-list{gap:.7rem;display:grid}.progress-row{gap:.3rem;display:grid}.progress-label{justify-content:space-between;display:flex}.progress-bar{background:#e5e7eb;border-radius:999px;height:10px;overflow:hidden}.progress-bar span{background:#2563eb;border-radius:999px;height:100%;display:block}.empty-state{border:1px dashed #9ca3af;border-radius:10px;padding:.9rem}.checkbox-row{align-items:center;gap:.6rem;display:flex}.checkbox-row input{width:auto;margin-top:0}.badge{color:#1d4ed8;background:#dbeafe;border-radius:99px;padding:.15rem .45rem;font-size:.75rem;display:inline-flex}.dashboard-grid{grid-template-columns:1fr 320px;align-items:start;gap:1.5rem;display:grid}.dashboard-main{min-width:0}.dashboard-greeting{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.25rem;display:flex}.dashboard-greeting-text h2{color:#0f172a;margin:0 0 .25rem;font-size:1.6rem;font-weight:700}.dashboard-greeting-text p{color:#64748b;margin:0;font-size:.95rem}.current-progress-card{border-radius:var(--card-radius);background:#fff;flex-shrink:0;align-items:center;gap:1rem;padding:.9rem 1.25rem;display:flex;box-shadow:0 4px 20px #0000000f}.current-progress-badge{background:var(--accent);color:#fff;border-radius:50%;place-items:center;width:48px;height:48px;font-size:.75rem;font-weight:800;display:grid}.current-progress-text{flex-direction:column;gap:.15rem;display:flex}.current-progress-label{letter-spacing:.06em;color:#64748b;font-size:.65rem;font-weight:700}.current-progress-xp{color:var(--accent);font-size:1rem;font-weight:700}.next-lesson-card{border-radius:var(--card-radius);background:#fff;grid-template-columns:180px 1fr;min-height:200px;margin-bottom:1.25rem;display:grid;overflow:hidden;box-shadow:0 4px 20px #0000000f}.next-lesson-left{background:var(--next-lesson-green);flex-direction:column;justify-content:center;align-items:center;gap:.75rem;padding:1.25rem;display:flex}.next-lesson-topic{letter-spacing:.08em;color:#fffffff2;text-align:center;font-size:.85rem;font-weight:800;line-height:1.2}.next-lesson-left svg{opacity:.85;width:70px;height:70px}.next-lesson-right{flex-direction:column;gap:.6rem;padding:1.25rem;display:flex}.next-lesson-badge{letter-spacing:.05em;width:fit-content;color:var(--accent);align-items:center;margin-bottom:.25rem;font-size:.7rem;font-weight:700;display:inline-flex}.next-lesson-badge.pill{background:var(--accent-light);border-radius:99px;padding:.25rem .6rem}.next-lesson-right h3{color:#0f172a;margin:0;font-size:1.15rem;font-weight:700}.next-lesson-meta{color:#64748b;flex-wrap:wrap;gap:1rem;margin-top:auto;font-size:.8rem;display:flex}.next-lesson-meta span{align-items:center;gap:.4rem;display:inline-flex}.next-lesson-meta span svg{color:#64748b;flex-shrink:0}.next-lesson-cta{margin-top:.75rem}.next-lesson-cta .btn-primary{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:10px;align-items:center;gap:.4rem;padding:.6rem 1.1rem;font-size:.9rem;font-weight:600;text-decoration:none;display:inline-flex}.next-lesson-cta .btn-primary:hover{background:#1d4ed8}.progress-card{border-radius:var(--card-radius);background:#fff;margin-bottom:1.25rem;padding:1.25rem;box-shadow:0 4px 20px #0000000f}.progress-card-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.progress-card-header h3{color:#0f172a;margin:0;font-size:1rem;font-weight:700}.progress-card-header a{color:var(--accent);font-size:.85rem;font-weight:600;text-decoration:none}.progress-card-body{flex-wrap:wrap;align-items:center;gap:1.5rem;display:flex}.progress-xp-bar{flex:1;min-width:200px}.progress-xp-block{flex-direction:column;gap:.2rem;margin-bottom:.5rem;display:flex}.progress-xp-value{color:#0f172a;font-size:1.25rem;font-weight:700}.progress-xp-goal{color:#64748b;font-size:.85rem}.progress-bar-wrap{align-items:center;gap:.5rem;display:flex}.progress-bar-wrap .progress-bar{border-radius:999px;flex:1;height:12px}.progress-bar-pct{color:var(--accent);min-width:2.5rem;font-size:.85rem;font-weight:600}.progress-xp-bar .progress-bar{border-radius:999px;height:12px}.streak-block{flex-direction:column;gap:.5rem;display:flex}.streak-header{justify-content:space-between;align-items:center;display:flex}.streak-title{color:#0f172a;font-size:.9rem;font-weight:600}.streak-days{gap:.35rem;display:flex}.streak-day{color:#64748b;background:#e2e8f0;border-radius:50%;place-items:center;width:32px;height:32px;font-size:.7rem;font-weight:600;display:grid}.streak-day.done{background:var(--accent);color:#fff}.streak-label{color:#ea580c;font-size:.85rem;font-weight:600}.due-soon-card{border-radius:var(--card-radius);background:#fff;margin-bottom:1rem;padding:1.25rem;box-shadow:0 4px 20px #0000000f}.due-soon-card h3{color:#0f172a;align-items:center;gap:.5rem;margin:0 0 .5rem;font-size:1rem;font-weight:700;display:flex}.due-soon-badge{color:#b45309;background:#fef3c7;border-radius:99px;padding:.2rem .5rem;font-size:.7rem;font-weight:600}.due-soon-list{gap:.75rem;margin:0;padding:0;list-style:none;display:grid}.due-soon-item{border:1px solid #e2e8f0;border-radius:10px;align-items:center;gap:.75rem;padding:.75rem;display:flex}.due-soon-item-icon{color:#64748b;background:#f1f5f9;border-radius:10px;flex-shrink:0;place-items:center;width:40px;height:40px;display:grid}.due-soon-item-content{flex-direction:column;flex:1;gap:.2rem;min-width:0;display:flex}.due-soon-item-title{color:#0f172a;font-size:.9rem;font-weight:600}.due-soon-item-meta{color:#64748b;font-size:.8rem}.due-soon-item-pill{border-radius:99px;flex-shrink:0;padding:.25rem .5rem;font-size:.7rem;font-weight:600}.due-soon-item-pill.in-progress{color:var(--accent);background:#e0f2fe}.due-soon-item-pill.not-started{color:#64748b;background:#f1f5f9}.due-soon-item-pill.submitted{color:#059669;background:#d1fae5}.due-soon-card a.footer-link{color:var(--accent);margin-top:.75rem;font-size:.85rem;font-weight:600;text-decoration:none;display:block}.need-help-card{background:var(--navy-card);border-radius:var(--card-radius);color:#fff;padding:1.25rem;position:relative;overflow:hidden}.need-help-card:before{content:"";pointer-events:none;background:radial-gradient(circle at 70%,#ffffff14 0%,#0000 70%);width:120px;height:100%;position:absolute;top:0;right:0}.need-help-card h3{margin:0 0 1rem;font-size:1rem;font-weight:700}.need-help-card .help-btns{flex-direction:column;gap:.5rem;display:flex}.need-help-card .help-btns a,.need-help-card .help-btns button{color:#fff;cursor:pointer;background:#ffffff26;border:none;border-radius:10px;justify-content:space-between;align-items:center;padding:.65rem .9rem;font-size:.9rem;font-weight:600;text-decoration:none;transition:background .15s;display:flex}.need-help-card .help-btn-left{align-items:center;gap:.5rem;display:inline-flex}.need-help-card .help-btn-left svg{opacity:.9;flex-shrink:0}.need-help-card .help-btn-chevron{opacity:.8;font-size:1.1rem}.need-help-card .help-btns a:hover,.need-help-card .help-btns button:hover{background:#ffffff40}.achievements-section{margin-top:1.5rem}.achievements-section h3{color:#0f172a;margin:0 0 1rem;font-size:1rem;font-weight:700}.achievements-row{flex-wrap:wrap;gap:1rem;display:flex}.achievement-card{border-radius:var(--card-radius);text-align:left;background:#fff;flex-direction:row;flex:1;align-items:center;gap:.75rem;min-width:180px;max-width:260px;padding:1rem;display:flex;box-shadow:0 4px 20px #0000000f}.achievement-icon{border-radius:12px;flex-shrink:0;place-items:center;width:44px;height:44px;font-size:1.25rem;display:grid}.achievement-content{flex-direction:column;gap:.2rem;min-width:0;display:flex}.achievement-title{color:#0f172a;font-size:.9rem;font-weight:700}.achievement-desc{color:#64748b;font-size:.8rem}.mobile-bottom-nav{z-index:50;background:#fff;border-top:1px solid #e2e8f0;justify-content:space-between;align-items:center;height:78px;padding:10px 14px;display:none;position:fixed;bottom:0;left:0;right:0}.mobile-bottom-nav a{color:#64748b;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:4px;font-size:.72rem;font-weight:600;text-decoration:none;display:flex}.mobile-bottom-nav a svg{width:22px;height:22px}.mobile-bottom-nav a.active{color:var(--accent)}.mobile-fab{background:var(--accent);color:#fff;border-radius:50%;flex:none;place-items:center;width:56px;height:56px;display:grid;transform:translateY(-18px);box-shadow:0 12px 25px #2563eb59}.mobile-fab svg{color:#fff}.due-soon-mobile{display:none}.lessons-page{max-width:960px;margin:0 auto;padding-bottom:2rem}.lessons-breadcrumb{color:#64748b;margin-bottom:.75rem;font-size:.85rem}.lessons-breadcrumb a{color:#64748b;text-decoration:none}.lessons-breadcrumb a:hover{color:var(--accent)}.lessons-breadcrumb-sep{color:#94a3b8}.lessons-page-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.5rem;display:flex}.lessons-page-header-text{min-width:0}.lessons-page-title{color:#0f172a;margin:0 0 .25rem;font-size:1.75rem;font-weight:800}.lessons-page-subtitle{color:#64748b;margin:0;font-size:.95rem}.lessons-page-actions{flex-wrap:wrap;gap:.5rem;display:flex}.lessons-btn{cursor:pointer;white-space:nowrap;border:1px solid #0000;border-radius:10px;padding:.55rem 1rem;font-size:.9rem;font-weight:600}.lessons-btn-primary{background:var(--accent);color:#fff;border-color:var(--accent)}.lessons-btn-primary:hover{background:#1d4ed8;border-color:#1d4ed8}.lessons-btn-secondary{color:#374151;background:#fff;border-color:#e2e8f0}.lessons-btn-secondary:hover{background:#f8fafc;border-color:#cbd5e1}.lessons-modules{gap:1.25rem;display:grid}.lessons-module-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;gap:1rem;padding:1.25rem 1.5rem;display:grid;box-shadow:0 1px 3px #0000000d}.lessons-module-card--locked{opacity:.92}.lessons-module-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.lessons-module-header-left{align-items:flex-start;gap:1rem;min-width:0;display:flex}.modules-icon{border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;display:flex}.modules-icon--blue{color:#1d4ed8;background:#dbeafe}.modules-icon--orange{color:#c2410c;background:#ffedd5}.modules-icon--gray{color:#64748b;background:#f1f5f9}.lessons-module-header-text{min-width:0}.lessons-module-title{color:#0f172a;margin:0 0 .25rem;font-size:1.1rem;font-weight:700}.lessons-module-desc{color:#64748b;margin:0 0 .5rem;font-size:.9rem}.lessons-module-tags{color:#64748b;flex-wrap:wrap;gap:.5rem;font-size:.8rem;display:flex}.lessons-module-progress{flex-shrink:0;min-width:160px;max-width:220px}.lessons-module-progress--empty .lessons-module-progress-text{color:#94a3b8}.lessons-module-progress-label{letter-spacing:.05em;color:#64748b;margin-bottom:.35rem;font-size:.65rem;font-weight:700;display:block}.lessons-module-progress-bar{background:#e2e8f0;border-radius:999px;height:10px;margin-bottom:.35rem;overflow:hidden}.lessons-module-progress-bar--blue .lessons-module-progress-fill{background:var(--accent)}.lessons-module-progress-bar--orange .lessons-module-progress-fill{background:#ea580c}.lessons-module-progress-bar--gray .lessons-module-progress-fill{background:#94a3b8}.lessons-module-progress-fill{border-radius:999px;height:100%;transition:width .25s}.lessons-module-progress-text{color:#0f172a;font-size:.8rem;font-weight:600}.lessons-module-list{border-top:1px solid #e5e7eb;gap:.5rem;margin:0;padding:1rem 0 0;list-style:none;display:grid}.lessons-module-item{border-bottom:1px solid #f1f5f9;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;padding:.65rem 0;display:flex}.lessons-module-item:last-child{border-bottom:none}.lessons-module-item-left{flex:1;align-items:center;gap:.75rem;min-width:0;display:flex}.lessons-module-item-num{color:#64748b;flex-shrink:0;font-size:.85rem;font-weight:600}.lessons-module-item-icon{flex-shrink:0;justify-content:center;align-items:center;display:flex}.lessons-module-item-icon--completed{color:#059669}.lessons-module-item-icon--in_progress{color:var(--accent)}.lessons-module-item-icon--not_started .lessons-module-item-dot{background:#cbd5e1;border-radius:50%;width:10px;height:10px}.lessons-module-item-body{flex-direction:column;gap:.1rem;min-width:0;display:flex}.lessons-module-item-title{color:#0f172a;font-size:.95rem;font-weight:600}.lessons-module-item-meta{color:#64748b;font-size:.8rem}.lessons-module-item-right{flex-shrink:0;align-items:center;gap:.5rem;display:flex}.lessons-pill{letter-spacing:.03em;border-radius:99px;padding:.2rem .5rem;font-size:.7rem;font-weight:700}.lessons-pill--completed{color:#059669;background:#d1fae5}.lessons-pill--in_progress{color:#1d4ed8;background:#dbeafe}.lessons-pill--not_started{color:#64748b;background:#f1f5f9}.lessons-resume-btn{background:var(--accent);color:#fff;border-radius:8px;padding:.35rem .75rem;font-size:.85rem;font-weight:600;text-decoration:none}.lessons-resume-btn:hover{color:#fff;background:#1d4ed8}.lessons-arrow-link{color:var(--accent);justify-content:center;align-items:center;display:flex}.lessons-arrow-link:hover{color:#1d4ed8}.lessons-lock{color:#94a3b8;justify-content:center;align-items:center;display:flex}.lessons-module-locked{color:#64748b;border-top:1px solid #e5e7eb;align-items:center;gap:.5rem;margin-top:.5rem;padding:.75rem 0;font-size:.9rem;display:flex}.lessons-module-locked svg{color:#94a3b8;flex-shrink:0}.lessons-hint-toast{color:#fff;background:#1e3a5f;border-radius:12px;align-items:flex-start;gap:.75rem;margin-top:1.5rem;padding:1rem 2.5rem 1rem 1.25rem;display:flex;position:relative;box-shadow:0 4px 20px #1e3a5f40}.lessons-hint-close{color:#fffc;cursor:pointer;background:0 0;border:none;padding:.25rem;font-size:1.25rem;line-height:1;position:absolute;top:.5rem;right:.5rem}.lessons-hint-close:hover{color:#fff}.lessons-hint-icon{color:#fbbf24;flex-shrink:0}.lessons-hint-text{margin:0;font-size:.9rem;line-height:1.45}.lessons-hint-text strong{font-weight:700}.lessons-cta{text-align:center;border:2px dashed #cbd5e1;border-radius:12px;gap:.5rem;margin-top:1.5rem;padding:1.5rem;display:grid}.lessons-cta-icon{color:#94a3b8;font-size:1.5rem;font-weight:300}.lessons-cta-text{color:#64748b;margin:0;font-size:.95rem}.lessons-cta-link{color:var(--accent);font-size:.95rem;font-weight:600;text-decoration:none}.lessons-cta-link:hover{text-decoration:underline}@media (width<=640px){.lessons-page-header{flex-direction:column}.lessons-page-actions{width:100%}.lessons-btn{flex:1}.lessons-module-header{flex-direction:column}.lessons-module-progress{max-width:none}.lessons-module-item{flex-direction:column;align-items:flex-start}}.lesson-detail{max-width:900px;margin:0 auto;padding-bottom:5rem}.lesson-mobile-header{display:none}.lesson-breadcrumb{color:#64748b;margin-bottom:1rem;font-size:.9rem}.lesson-breadcrumb a{color:var(--accent);font-weight:500;text-decoration:none}.lesson-breadcrumb a:hover{text-decoration:underline}.lesson-breadcrumb-sep{color:#94a3b8}.lesson-hero{border-radius:var(--card-radius);align-items:flex-end;min-height:220px;margin-bottom:1.5rem;display:flex;position:relative;overflow:hidden}.lesson-hero-bg{background:linear-gradient(135deg,#166534 0%,#15803d 40%,#0f766e 100%);position:absolute;inset:0}.lesson-hero-bg:after{content:"";background:#00000059;position:absolute;inset:0}.lesson-hero-content{z-index:1;width:100%;padding:1.5rem 1.75rem;position:relative}.lesson-badge{letter-spacing:.05em;color:#fff;background:var(--accent);border-radius:99px;margin-bottom:.6rem;padding:.25rem .6rem;font-size:.7rem;font-weight:700;display:inline-block}.lesson-badge-mobile{display:none}.lesson-badge-desktop{display:inline}.lesson-hero-title{color:#fff;text-shadow:0 1px 2px #0003;margin:0 0 .75rem;font-size:1.75rem;font-weight:800;line-height:1.25}.lesson-hero-meta{color:#fffffff2;flex-wrap:wrap;gap:1.25rem;font-size:.9rem;display:flex}.lesson-hero-meta span{align-items:center;gap:.4rem;display:inline-flex}.lesson-hero-meta svg{opacity:.9;flex-shrink:0}.lesson-content{gap:1.75rem;display:grid}.lesson-section{border-radius:var(--card-radius);background:#fff;border:1px solid #e5e7eb;padding:1.25rem 1.5rem}.lesson-section-heading{color:#0f172a;align-items:center;gap:.6rem;margin:0 0 .75rem;font-size:1.1rem;font-weight:700;display:flex}.lesson-section-icon{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:inline-flex}.lesson-section-icon--blue{color:#1d4ed8;background:#dbeafe}.lesson-section-icon--orange{color:#c2410c;background:#ffedd5}.lesson-section-icon--red{color:#b91c1c;background:#fee2e2}.lesson-section-icon--navy{color:#3730a3;background:#e0e7ff}.lesson-section-body{color:#374151;margin:0;font-size:.95rem;line-height:1.6}.lesson-section-grid{grid-template-columns:1fr 1fr;gap:1rem;display:grid}@media (width<=640px){.lesson-section-grid{grid-template-columns:1fr}}.lesson-formula-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:1rem 1.25rem}.lesson-formula{color:#1e293b;text-align:center;margin:0;font-family:Georgia,Times New Roman,serif;font-size:.95rem}.lesson-callout-card{background:var(--accent);color:#fff;border-radius:12px;flex-direction:column;gap:.5rem;padding:1rem 1.25rem;display:flex}.lesson-callout-card h3{margin:0;font-size:1rem;font-weight:700}.lesson-callout-card p{opacity:.95;margin:0;font-size:.9rem}.lesson-callout-btn{color:#fff;cursor:pointer;background:#fff3;border:none;border-radius:8px;align-self:flex-start;margin-top:.25rem;padding:.4rem .75rem;font-size:.8rem;font-weight:600}.lesson-callout-btn:hover{background:#ffffff4d}.lesson-video-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.75rem;display:flex}.lesson-video-header .lesson-section-heading{margin:0}.lesson-video-duration{color:#64748b;font-size:.9rem}.lesson-video-wrap{background:#0f172a;border:1px solid #e2e8f0;border-radius:12px;overflow:hidden}.lesson-video-placeholder{aspect-ratio:16/9;background:linear-gradient(135deg,#1e293b 0%,#0f172a 100%);place-items:center;display:grid}.lesson-video-play{width:80px;height:80px;color:var(--accent);cursor:pointer;background:#ffffffe6;border:none;border-radius:50%;place-items:center;transition:transform .15s,background .15s;display:grid}.lesson-video-play:hover{background:#fff;transform:scale(1.05)}.lesson-video-play svg{margin-left:4px}.lesson-video-controls{color:#94a3b8;background:#0006;align-items:center;gap:.5rem;padding:.5rem .75rem;font-size:.8rem;display:flex}.lesson-video-progress-track{background:#fff3;border-radius:999px;flex:1;height:6px;overflow:hidden}.lesson-video-progress-fill{background:var(--accent);border-radius:999px;height:100%}.lesson-quiz-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;gap:1rem;padding:1.25rem 1.5rem;display:grid}.lesson-quiz-option-radio{border:2px solid #cbd5e1;border-radius:50%;flex-shrink:0;width:20px;height:20px;transition:border-color .15s,background .15s}.lesson-quiz-option.selected .lesson-quiz-option-radio{border-color:var(--accent);background:var(--accent);box-shadow:inset 0 0 0 2px #fff}.lesson-quiz-option-text{text-align:left;flex:1}.lesson-quiz-option-check{color:var(--accent);flex-shrink:0}.lesson-quiz-submit{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:10px;width:100%;margin-top:.25rem;padding:.75rem 1rem;font-size:1rem;font-weight:600}.lesson-quiz-submit:hover{background:#1d4ed8}.lesson-quiz-label{letter-spacing:.06em;color:var(--accent);margin:0;font-size:.7rem;font-weight:700}.lesson-quiz-question{color:#0f172a;margin:0;font-size:1rem;font-weight:600;line-height:1.4}.lesson-quiz-options{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.lesson-quiz-option{color:#334155;text-align:left;cursor:pointer;background:#fff;border:2px solid #e2e8f0;border-radius:10px;align-items:center;gap:.6rem;width:100%;padding:.75rem 1rem;font-size:.95rem;transition:border-color .15s,background .15s;display:flex}.lesson-quiz-option:hover{background:#f8fafc;border-color:#cbd5e1}.lesson-quiz-option.selected{border-color:var(--accent);color:#1e40af;background:#eff6ff}.lesson-quiz-feedback{color:#1e40af;background:#eff6ff;border-radius:10px;align-items:flex-start;gap:.6rem;padding:.75rem 1rem;font-size:.9rem;display:flex}.lesson-quiz-feedback svg{flex-shrink:0;margin-top:.1rem}.lesson-progress-bar{z-index:20;background:#fff;border-top:1px solid #e2e8f0;flex-wrap:wrap;align-items:center;gap:1rem;padding:.75rem 1.5rem;display:flex;position:fixed;bottom:0;left:260px;right:0;box-shadow:0 -4px 20px #0000000f}.lesson-progress-left{flex:1;align-items:center;gap:1rem;min-width:0;display:flex}.lesson-progress-label-mobile{display:none}.lesson-progress-track-wrap{flex:1;align-items:center;gap:.5rem;min-width:120px;display:flex}.lesson-progress-label{letter-spacing:.05em;color:#64748b;flex-shrink:0;font-size:.7rem;font-weight:700}.lesson-progress-track{background:#e2e8f0;border-radius:999px;flex:1;min-width:80px;height:10px;overflow:hidden}.lesson-progress-fill{background:var(--accent);border-radius:999px;height:100%;transition:width .2s}.lesson-progress-pct{color:var(--accent);flex-shrink:0;min-width:4rem;font-size:.85rem;font-weight:600}.lesson-progress-nav{flex-shrink:0;justify-content:flex-end;align-items:center;gap:1rem;display:flex}.lesson-prev{color:#64748b;background:0 0;padding:.5rem 0;font-size:.9rem;font-weight:600}.lesson-prev:hover{color:var(--accent)}.lesson-next{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:10px;align-items:center;gap:.4rem;padding:.6rem 1rem;font-size:.9rem;font-weight:600;text-decoration:none;display:inline-flex}.lesson-next:hover{color:#fff;background:#1d4ed8}@media (width<=768px){.lesson-mobile-header{z-index:15;background:#fff;border-bottom:1px solid #e2e8f0;align-items:center;gap:.75rem;padding:.75rem 1rem;display:flex;position:sticky;top:0}.lesson-mobile-back{color:var(--accent);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;padding:.35rem;display:flex}.lesson-mobile-back:hover{background:#eff6ff}.lesson-mobile-header-text{flex-direction:column;gap:.1rem;min-width:0;display:flex}.lesson-mobile-class{color:#0f172a;font-size:1rem;font-weight:700}.lesson-mobile-unit{letter-spacing:.04em;color:#64748b;font-size:.75rem;font-weight:600}.lesson-breadcrumb,.lesson-badge-desktop{display:none}.lesson-badge-mobile{display:inline}.lesson-hero-meta{display:none}.lesson-hero{border-radius:0;min-height:180px;margin-bottom:1.25rem}.lesson-hero-content{padding:1.25rem 1rem}.lesson-hero-title{font-size:1.5rem}.lesson-content{gap:1.25rem}.lesson-section{padding:1rem 1.25rem}.lesson-section-body{font-size:1rem;line-height:1.65}.lesson-section-video .lesson-video-header{margin-bottom:.5rem}.lesson-video-duration{font-size:.85rem}.lesson-section-icon--book{color:#1d4ed8!important;background:#dbeafe!important}.lesson-section-quiz .lesson-section-heading-quiz{letter-spacing:.05em;color:var(--accent);text-transform:uppercase;font-size:.8rem;font-weight:700}.lesson-section-quiz .lesson-quiz-card{background:#eff6ff;border-color:#bfdbfe}.lesson-quiz-label{font-size:.65rem}.lesson-quiz-option{background:#fff;border:1px solid #e2e8f0;padding:.85rem 1rem}.lesson-quiz-option.selected{border-color:var(--accent);background:#fff}.lesson-quiz-submit{padding:.85rem}.lesson-progress-bar{padding:1rem 1.25rem;padding-bottom:max(1rem, env(safe-area-inset-bottom));flex-direction:column;align-items:stretch;gap:.75rem;bottom:78px;left:0}.lesson-progress-left{flex-direction:column;align-items:stretch;gap:.35rem}.lesson-progress-label-desktop{display:none}.lesson-progress-label-mobile{color:#64748b;letter-spacing:0;font-size:.8rem;font-weight:600;display:block}.lesson-progress-track-wrap{flex-wrap:wrap;align-items:center;gap:.35rem}.lesson-progress-track-wrap .lesson-progress-track{order:2;width:100%;min-width:0}.lesson-progress-track-wrap .lesson-progress-pct{color:var(--accent);order:1;font-size:.9rem;font-weight:700}.lesson-progress-nav{justify-content:stretch}.lesson-next-mobile{border:1px solid #d1d5db;flex:1;justify-content:center;padding:.75rem 1rem;color:#374151!important;background:#fff!important}.lesson-next-mobile:hover{border-color:#9ca3af;background:#f9fafb!important}.lesson-detail{padding-bottom:9rem}}@media (width<=900px){.sidebar{display:none}.content{margin-left:0}.layout-shell{flex-direction:column;display:flex}.hide-on-mobile{display:none!important}.due-soon-mobile{display:block}.due-soon-desktop{display:none!important}.mobile-bottom-nav{display:flex}.dashboard-search,.dashboard-topbar-actions button{display:none}.content-inner{padding-bottom:7.5rem}.grid.two,.dashboard-grid,.next-lesson-card{grid-template-columns:1fr}.next-lesson-left{min-height:120px}.progress-card-body{flex-direction:column;align-items:stretch}}.student-work-stack{gap:1.25rem}.student-work-grid{grid-template-columns:1fr 320px;align-items:start;gap:1.5rem;display:grid}.student-work-main{min-width:0}.work-tabs{background:0 0;flex-wrap:wrap;gap:.55rem;margin-bottom:.9rem;padding:.1rem 0;display:inline-flex}.work-tabs button{color:#111827;background:#e5e7eb;border-radius:999px;padding:.55rem .9rem;font-size:.85rem;font-weight:800}.work-tabs button.active{background:var(--accent);color:#fff}.work-cards{gap:1rem;display:grid}.work-item-card{cursor:pointer;background:#fff;border:1px solid #e5e7eb;border-radius:14px;justify-content:space-between;align-items:center;gap:1rem;width:100%;padding:1rem;display:flex;box-shadow:0 1px 3px #0000000a}.work-item-card:focus{outline-offset:2px;outline:2px solid #2563eb80}.work-item-card--overdue{border-left:4px solid #ef4444;padding-left:calc(1rem - 4px)}.work-item-left{flex:1;align-items:flex-start;gap:.9rem;min-width:0;display:flex}.work-item-text{flex:1;min-width:0}.work-item-title-row{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.work-item-type-pill{letter-spacing:.06em;color:var(--accent);background:#dbeafe;border-radius:999px;padding:.22rem .55rem;font-size:.7rem;font-weight:900}.work-item-title{color:#0f172a;font-size:1rem;font-weight:800;line-height:1.25}.work-item-meta{flex-wrap:wrap;align-items:center;gap:.55rem;margin-top:.45rem;display:flex}.work-item-due,.work-item-due-secondary{color:#6b7280;font-size:.85rem;font-weight:600}.work-item-status-pill{white-space:nowrap;border-radius:999px;padding:.25rem .6rem;font-size:.75rem;font-weight:900}.work-item-status-pill--in-progress{color:#1d4ed8;background:#dbeafe}.work-item-status-pill--not-started{color:#64748b;background:#f1f5f9}.work-item-status-pill--completed{color:#059669;background:#d1fae5}.work-item-status-pill--graded{color:#0369a1;background:#e0f2fe}.work-item-status-pill--late{color:#dc2626;background:#fee2e2}.work-item-right{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:.65rem;display:flex}.work-item-points{color:#6b7280;font-size:.8rem;font-weight:700}.work-item-cta{background:var(--accent);color:#fff;border-radius:10px;min-width:140px;padding:.75rem 1rem;font-size:.9rem;font-weight:900;line-height:1}.work-item-cta--primary{background:var(--accent);color:#fff}.work-item-cta--primary:hover{background:#1d4ed8}.work-item-cta--danger{color:#fff;background:#dc2626}.work-item-cta--danger:hover{background:#b91c1c}.work-item-cta--neutral{color:#111827;background:#e5e7eb}.work-item-cta--neutral:hover{color:#111827;background:#d1d5db}.work-item-icon{border-radius:14px;flex-shrink:0;place-items:center;width:48px;height:48px;display:grid}.work-item-icon--assignment{color:#1d4ed8;background:#dbeafe}.work-item-icon--quiz{color:#c2410c;background:#ffedd5}.student-work-sidebar{position:sticky;top:1.25rem}.weekly-overview{background:#fff;border:1px solid #e5e7eb;border-radius:14px;gap:1rem;padding:1.15rem 1.15rem 1.25rem;display:grid;box-shadow:0 4px 20px #0000000f}.weekly-overview-top{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.weekly-overview-label{letter-spacing:.06em;color:#64748b;font-size:.7rem;font-weight:900}.weekly-overview-count{color:#0f172a;margin-top:.35rem;font-size:1.55rem;font-weight:950;line-height:1}.weekly-overview-sub{color:#64748b;font-size:.85rem;font-weight:800}.weekly-overview-grade{justify-items:end;gap:.35rem;display:grid}.weekly-grade-pill{color:#0369a1;background:#e0f2fe;border-radius:50%;place-items:center;width:56px;height:56px;font-size:1.15rem;font-weight:950;display:grid}.weekly-overview-grade-desc{letter-spacing:.06em;color:#64748b;font-size:.7rem;font-weight:900}.weekly-overview-divider{background:#e5e7eb;height:1px}.weekly-section-title{letter-spacing:.06em;color:#64748b;font-size:.7rem;font-weight:900}.weekly-feedback-quote{color:#374151;margin-top:.55rem;font-size:.93rem;font-style:italic;line-height:1.45}.weekly-feedback-author{color:#64748b;margin-top:.45rem;font-size:.85rem;font-weight:700}.weekly-tip-card{background:var(--navy-card);color:#fff;border-radius:14px;gap:.65rem;padding:1rem 1.05rem 1.05rem;display:grid}.weekly-tip-title{letter-spacing:.06em;color:#ffffffd9;font-size:.7rem;font-weight:900}.weekly-tip-text{font-size:.95rem;font-weight:800;line-height:1.35}.weekly-tip-link{color:#93c5fd;font-weight:900;text-decoration:none}.weekly-tip-link:hover{text-decoration:underline}.work-modal-overlay{z-index:1000;background:#0f172a8c;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.work-modal{background:#fff;border-radius:16px;width:min(760px,100%);overflow:hidden;box-shadow:0 30px 80px #02061766}.work-modal-header{border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:flex-start;gap:1rem;padding:1rem 1.1rem;display:flex}.work-modal-header-left{min-width:0}.work-modal-title{color:#0f172a;font-size:1.1rem;font-weight:950}.work-modal-subtitle{color:#6b7280;margin-top:.2rem;font-size:.85rem;font-weight:700}.work-modal-close{color:#64748b;background:0 0;border-radius:10px;padding:.35rem .55rem}.work-modal-close:hover{color:#0f172a;background:#f1f5f9}.work-modal-body{gap:1rem;padding:1rem 1.1rem .6rem;display:grid}.work-modal-desc{font-weight:600}.work-modal-form-label{color:#0f172a;margin-bottom:.4rem;font-weight:900}.work-modal-form textarea{resize:vertical;width:100%}.work-modal-graded{gap:.8rem;display:grid}.work-modal-score{color:#0f172a;font-size:1rem;font-weight:800}.work-modal-section-title{color:#0f172a;margin-bottom:.25rem;font-size:.85rem;font-weight:950}.work-modal-feedback-text{color:#374151;background:#f8fafc;border:1px solid #e5e7eb;border-radius:12px;padding:.9rem .95rem;font-weight:650}.work-modal-footer{border-top:1px solid #e5e7eb;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.85rem;padding:.9rem 1.1rem 1.1rem;display:flex}.work-modal-save{background:var(--accent);color:#fff;border-radius:10px;padding:.75rem 1.1rem;font-weight:950}.work-modal-save:hover{background:#1d4ed8}.work-modal-error{color:#b91c1c;font-weight:800}@media (width<=900px){.student-work-grid{grid-template-columns:1fr}.student-work-sidebar{position:static}.work-item-right{align-items:flex-start}.work-item-cta{min-width:120px}}.work-detail-page{max-width:1120px;margin:0 auto}.work-detail-mobile-topbar,.work-detail-mobile-back{display:none}.work-detail-page .page-header{flex-direction:column;align-items:flex-start;gap:.25rem;margin-bottom:1rem}.work-detail-layout{grid-template-columns:320px 1fr;align-items:start;gap:1.5rem;display:grid}.work-detail-left{gap:1rem;display:grid}.work-instructions-card{background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:1.25rem;box-shadow:0 1px 3px #0000000a}.work-instructions-heading{flex-wrap:wrap;align-items:baseline;gap:.6rem;margin-bottom:.75rem;display:flex}.work-instructions-section{letter-spacing:.06em;color:#64748b;background:#f1f5f9;border-radius:999px;padding:.25rem .55rem;font-size:.7rem;font-weight:950}.work-instructions-title{color:#0f172a;font-size:1rem;font-weight:950}.work-instructions-heading{flex-direction:column;align-items:flex-start;gap:.35rem}.work-instructions-text{color:#374151;margin-bottom:1rem;font-size:.95rem;font-weight:600;line-height:1.55}.work-instructions-time{color:#1d4ed8;background:#eff6ff;border:1px solid #bfdbfe;border-radius:12px;align-items:center;gap:.6rem;margin-bottom:.75rem;padding:.65rem .8rem;font-weight:900;display:flex}.work-instructions-time-icon{background:#dbeafe;border-radius:8px;place-items:center;width:26px;height:26px;display:grid}.work-instructions-bullets{color:#64748b;gap:.5rem;margin:0;padding:0;font-size:.9rem;font-weight:650;list-style:none;display:grid}.work-resources-card{background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:1.15rem}.work-resources-title{color:#0f172a;margin-bottom:.75rem;font-size:.95rem;font-weight:950}.work-resources-list{gap:.6rem;margin:0;padding:0;list-style:none;display:grid}.work-resource-item{color:#0f172a;background:#fafafa;border:1px solid #e5e7eb;border-radius:12px;justify-content:space-between;align-items:center;gap:.6rem;padding:.6rem .65rem;font-size:.9rem;font-weight:800;display:flex}.work-resource-pill{background:#eff6ff;border-radius:10px;flex-shrink:0;place-items:center;width:34px;height:34px;display:grid}.work-resource-chevron{color:#94a3b8;font-size:1.1rem}.work-detail-right{min-width:0}.work-right-title{margin:0 0 .9rem}.work-right-title-text{color:#0f172a;margin:0;font-size:1.35rem;font-weight:950;line-height:1.25}.work-right-status-line{color:#64748b;margin-top:.35rem;font-size:.9rem;font-weight:800}.work-assessment-shell{background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:1.25rem;box-shadow:0 1px 3px #0000000a}.work-assessment-header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.25rem;display:flex}.work-assessment-badge{color:#1d4ed8;letter-spacing:.06em;background:#dbeafe;border-radius:999px;padding:.35rem .6rem;font-size:.75rem;font-weight:950}.work-assessment-progress{justify-items:end;gap:.3rem;display:grid}.work-assessment-progress-text{color:#64748b;font-size:.9rem;font-weight:800}.work-assessment-star{color:#cbd5e1}.work-question-card{background:#fff;border:1px solid #e5e7eb;border-radius:14px;margin-bottom:1rem;padding:1.05rem 1.1rem}.work-question-top{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.85rem;display:flex}.work-question-kicker{letter-spacing:.08em;color:#64748b;margin-bottom:.35rem;font-size:.7rem;font-weight:950}.work-question-title{color:#0f172a;font-size:1rem;font-weight:950;line-height:1.35}.work-choices{gap:.65rem;display:grid}.work-choice{cursor:pointer;background:#fff;border:1px solid #e5e7eb;border-radius:12px;align-items:center;gap:.7rem;padding:.7rem .85rem;display:flex}.work-choice input{width:18px;height:18px}.work-choice.selected{border-color:#93c5fd;box-shadow:0 0 0 2px #93c5fd4d}.work-short-answer-label{display:block;position:relative}.work-short-answer-label textarea{resize:vertical;background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:.9rem 1rem;font-weight:650}.work-char-count{color:#94a3b8;background:#fff;padding-left:.4rem;font-size:.8rem;font-weight:900;position:absolute;bottom:.65rem;right:.9rem}.work-matching-grid{gap:.65rem;display:grid}.work-matching-row{grid-template-columns:180px 1fr;align-items:center;gap:.75rem;padding:.4rem 0;display:grid}.work-matching-name{color:#0f172a;background:#f8fafc;border:1px solid #e5e7eb;border-radius:12px;padding:.55rem .7rem;font-weight:950}.work-matching-right select{width:100%}.work-questions-footer{justify-content:space-between;align-items:center;gap:1rem;padding-top:.9rem;display:flex}.work-footer-left{align-items:center;gap:.75rem;display:flex}.work-footer-ghost-btn{color:#0f172a;cursor:pointer;background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:.65rem .9rem;font-weight:950}.work-footer-ghost-btn:hover{background:#f8fafc}.work-footer-right{justify-content:flex-end;display:flex}.work-footer-submit-btn{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:12px;align-items:center;gap:.55rem;padding:.75rem 1.1rem;font-size:1rem;font-weight:950;display:inline-flex}.work-footer-submit-btn:hover{background:#1d4ed8}.work-footer-submit-arrow{font-size:1.25rem;line-height:1}@media (width<=900px){.work-detail-layout{grid-template-columns:1fr}.work-detail-left{display:none}.work-detail-mobile-topbar{background:#fff;border:1px solid #e5e7eb;border-radius:14px;align-items:center;gap:.75rem;margin-bottom:.85rem;padding:.85rem .95rem;display:flex}.work-detail-back-btn{color:#1d4ed8;cursor:pointer;background:#fff;border:1px solid #e5e7eb;border-radius:10px;place-items:center;width:40px;height:40px;display:grid}.work-detail-mobile-title{color:#0f172a;font-weight:950}.work-assessment-header{flex-direction:column;align-items:flex-start}.work-assessment-progress{justify-items:start}.work-matching-row{grid-template-columns:1fr;gap:.5rem}.work-questions-footer{flex-direction:column;align-items:stretch}.work-footer-left{justify-content:space-between}.work-footer-submit-btn{justify-content:center;width:100%}}
