:root{--bg-primary:#0b0f19;--bg-secondary:#111827;--bg-card:#111827bf;--bg-card-hover:#1f2937d9;--bg-elevated:#1f2937;--bg-glass:#11182799;--border-subtle:#ffffff14;--border-medium:#ffffff26;--border-focus:#6366f1;--text-primary:#f9fafb;--text-secondary:#9ca3af;--text-muted:#6b7280;--text-inverse:#0b0f19;--primary:#4f46e5;--primary-hover:#4338ca;--primary-light:#6366f126;--accent:#06b6d4;--accent-glow:#06b6d440;--success:#10b981;--success-bg:#10b9811f;--warning:#f59e0b;--warning-bg:#f59e0b1f;--danger:#ef4444;--danger-bg:#ef44441f;--info:#3b82f6;--shadow-sm:0 1px 2px #0006;--shadow-md:0 4px 6px -1px #00000080, 0 2px 4px -2px #00000080;--shadow-lg:0 10px 15px -3px #0009, 0 4px 6px -4px #00000080;--shadow-xl:0 20px 25px -5px #000000b3, 0 8px 10px -6px #0009;--shadow-glow:0 0 25px #4f46e559;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-xl:24px;--radius-full:9999px;--font-sans:"Inter", system-ui, -apple-system, sans-serif;--font-heading:"Outfit", "Inter", system-ui, sans-serif;--bg-header:#0b0f19d9;--bg-input:#11182799;--bg-hover:#ffffff0f;--brand-text:#818cf8;--skeleton-a:#ffffff0a;--skeleton-b:#ffffff17;--header-h:64px;--sidebar-w:248px}[data-theme=light]{--bg-primary:#f8fafc;--bg-secondary:#fff;--bg-card:#ffffffd9;--bg-card-hover:#f1f5f9f2;--bg-elevated:#f1f5f9;--bg-glass:#ffffffbf;--border-subtle:#00000014;--border-medium:#00000024;--text-primary:#0f172a;--text-secondary:#475569;--text-muted:#64748b;--text-inverse:#f8fafc;--shadow-sm:0 1px 2px #0000000d;--shadow-md:0 4px 6px -1px #00000012;--shadow-lg:0 10px 15px -3px #00000014;--bg-header:#ffffffd9;--bg-input:#fff;--bg-hover:#0f172a0f;--brand-text:#4f46e5;--skeleton-a:#0f172a0d;--skeleton-b:#0f172a1a}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);background-color:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;line-height:1.5;overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);color:var(--text-primary);letter-spacing:-.02em;font-weight:700}a{color:inherit;text-decoration:none}button{cursor:pointer;background:0 0;border:none;font-family:inherit}input,select,textarea{font-family:inherit}::-webkit-scrollbar{width:7px;height:7px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--border-medium);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.glass-panel{background:var(--bg-card);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);transition:all .25s cubic-bezier(.16,1,.3,1)}.glass-panel:hover{border-color:var(--border-medium)}.btn-primary{color:#fff;border-radius:var(--radius-md);background:linear-gradient(135deg,#4f46e5 0%,#3b82f6 100%);justify-content:center;align-items:center;gap:.5rem;padding:.65rem 1.25rem;font-weight:600;transition:all .2s;display:inline-flex;box-shadow:0 4px 14px #4f46e566}.btn-primary:hover{filter:brightness(1.08);transform:translateY(-1px);box-shadow:0 6px 20px #4f46e58c}.btn-primary:active{transform:translateY(0)}.btn-secondary{background:var(--bg-elevated);color:var(--text-primary);border:1px solid var(--border-subtle);border-radius:var(--radius-md);justify-content:center;align-items:center;gap:.5rem;padding:.65rem 1.25rem;font-weight:500;transition:all .2s;display:inline-flex}.btn-secondary:hover{background:var(--bg-card-hover);border-color:var(--border-medium);color:var(--text-primary)}.btn-ghost{color:var(--text-secondary);border-radius:var(--radius-md);align-items:center;gap:.5rem;padding:.5rem .75rem;transition:all .15s;display:inline-flex}.btn-ghost:hover{background:var(--bg-hover);color:var(--text-primary)}.form-input{background:var(--bg-input);border:1px solid var(--border-subtle);border-radius:var(--radius-md);width:100%;color:var(--text-primary);outline:none;padding:.75rem 1rem;font-size:.95rem;transition:all .2s}.form-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #6366f133}.form-input::placeholder{color:var(--text-muted)}.badge{border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.04em;align-items:center;gap:.35rem;padding:.25rem .65rem;font-size:.75rem;font-weight:600;display:inline-flex}.badge-success{background:var(--success-bg);color:var(--success);border:1px solid #10b98140}.badge-warning{background:var(--warning-bg);color:var(--warning);border:1px solid #f59e0b40}.badge-danger{background:var(--danger-bg);color:var(--danger);border:1px solid #ef444440}.badge-info{color:var(--info);background:#3b82f61f;border:1px solid #3b82f640}@keyframes pulseGlow{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(1.03)}}.live-indicator{background:#ef4444;border-radius:50%;width:8px;height:8px;animation:1.5s ease-in-out infinite pulseGlow;display:inline-block;box-shadow:0 0 8px #ef4444}.dashboard-shell{flex-direction:column;gap:1.35rem;max-width:1440px;margin:0 auto;display:flex}.dashboard-hero{background:linear-gradient(110deg,#171c45 0%,#202d6b 48%,#123b55 100%);border:1px solid #818cf84d;border-radius:26px;justify-content:space-between;align-items:center;min-height:220px;padding:2.4rem 2.75rem;display:flex;position:relative;overflow:hidden;box-shadow:0 20px 50px #1e296240}.dashboard-hero:after{content:"";pointer-events:none;background:linear-gradient(90deg,#0a0f231a,#0000 60%);position:absolute;inset:0}.hero-copy{z-index:1;max-width:720px;position:relative}.eyebrow,.card-overline,.section-kicker{color:#a5b4fc;letter-spacing:.12em;text-transform:uppercase;align-items:center;gap:.45rem;font-size:.68rem;font-weight:800;display:flex}.eyebrow-dot{background:#67e8f9;border-radius:50%;width:4px;height:4px}.dashboard-hero h1{color:#fff;letter-spacing:-.045em;margin:.8rem 0 .45rem;font-size:clamp(2rem,3.2vw,3rem)}.dashboard-hero p{color:#c7d2fe;max-width:590px;margin:0;font-size:.98rem;line-height:1.65}.demo-pill{color:#fde68a;background:#f59e0b21;border:1px solid #f59e0b40;border-radius:99px;align-items:center;gap:.4rem;margin-top:1rem;padding:.38rem .65rem;font-size:.7rem;font-weight:700;display:inline-flex}.hero-date{z-index:1;color:#fff;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffff1a;border:1px solid #ffffff29;border-radius:18px;align-items:center;gap:.55rem;padding:1rem 1.1rem;display:flex;position:relative}.hero-date span{color:#a5b4fc;letter-spacing:.1em;writing-mode:vertical-rl;align-self:flex-start;margin-top:.2rem;font-size:.62rem;font-weight:800}.hero-date strong{font-family:var(--font-heading);letter-spacing:-.06em;font-size:3rem;line-height:1}.hero-date small{color:#c7d2fe;font-size:.65rem;font-weight:800;line-height:1.35}.hero-orb{filter:blur(1px);border-radius:50%;position:absolute}.hero-orb-one{background:#818cf829;width:280px;height:280px;top:-150px;right:12%}.hero-orb-two{background:#22d3ee1f;width:180px;height:180px;bottom:-130px;right:28%}.dashboard-stat-grid{grid-template-columns:repeat(4,1fr);gap:.85rem;display:grid}.dashboard-stat{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:16px;align-items:center;gap:.85rem;padding:1.05rem 1.15rem;display:flex}.dashboard-stat-icon{border-radius:12px;flex:none;place-items:center;width:40px;height:40px;display:grid}.dashboard-stat-icon.violet{color:#a5b4fc;background:#6366f124}.dashboard-stat-icon.cyan{color:#67e8f9;background:#06b6d424}.dashboard-stat-icon.amber{color:#fcd34d;background:#f59e0b24}.dashboard-stat-icon.green{color:#6ee7b7;background:#10b98124}.dashboard-stat p,.dashboard-stat span{color:var(--text-muted);margin:0;font-size:.7rem;display:block}.dashboard-stat strong{font-family:var(--font-heading);letter-spacing:-.04em;margin:.1rem 0;font-size:1.45rem;display:block}.dashboard-section-heading{justify-content:space-between;align-items:end;margin-top:.35rem;display:flex}.dashboard-section-heading h2{margin:.2rem 0 0;font-size:1.55rem}.dashboard-refresh{color:var(--text-secondary);align-items:center;gap:.4rem;font-size:.78rem;display:inline-flex}.dashboard-refresh:hover{color:var(--brand-text)}.spin{animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.dashboard-content-grid{grid-template-columns:minmax(0,1.55fr) minmax(290px,.75fr);align-items:start;gap:1.1rem;display:grid}.dashboard-main-column,.dashboard-side-column{flex-direction:column;gap:1.1rem;min-width:0;display:flex}.next-class-card{min-height:285px;box-shadow:var(--shadow-lg);background:linear-gradient(135deg,#1e295af2,#113445f2);border:1px solid #6366f140;border-radius:22px;justify-content:space-between;padding:2rem 2.2rem;display:flex;position:relative;overflow:hidden}.next-class-card.is-live{background:linear-gradient(135deg,#411b37f7,#202a57f7);border-color:#ef444466}.next-class-content{z-index:1;max-width:68%;position:relative}.next-class-card .card-overline{color:#a5b4fc}.next-class-card.is-live .card-overline{color:#fca5a5}.live-dot{background:#fb7185;border-radius:50%;width:7px;height:7px;animation:1.5s infinite pulseGlow;box-shadow:0 0 0 5px #fb718521}.next-class-card h2{color:#fff;margin:.8rem 0 .4rem;font-size:clamp(1.35rem,2.3vw,1.9rem);line-height:1.15}.next-class-card p{color:#c7d2fe;margin:0;font-size:.85rem}.next-class-meta{color:#dbeafe;flex-wrap:wrap;gap:.75rem;margin:1.25rem 0 1.4rem;font-size:.75rem;display:flex}.next-class-meta span{align-items:center;gap:.35rem;display:inline-flex}.next-class-action{font-size:.8rem}.next-class-art{width:200px;height:200px;position:absolute;top:50%;right:4%;transform:translateY(-50%)}.art-ring{border:1px solid #a5b4fc38;border-radius:50%;position:absolute}.ring-one{inset:13px}.ring-two{border-style:dashed;inset:37px}.art-book{color:#c4b5fd;background:linear-gradient(135deg,#6366f180,#06b6d459);border-radius:28px;place-items:center;display:grid;position:absolute;inset:63px;transform:rotate(-8deg);box-shadow:0 12px 30px #0003}.art-chip{color:#a5f3fc;background:#06b6d42e;border:1px solid #67e8f94d;border-radius:11px;place-items:center;width:36px;height:36px;display:grid;position:absolute}.chip-one{top:18px;right:20px}.chip-two{color:#fde68a;background:#f59e0b26;border-color:#fde68a40;bottom:20px;left:18px}.panel-card,.courses-section{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:20px;padding:1.35rem}.panel-heading{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.15rem;display:flex}.panel-heading h3{margin:.15rem 0 0;font-size:1.05rem}.panel-heading .section-kicker{color:var(--text-muted);font-size:.62rem}.panel-link,.text-button{color:var(--brand-text);align-items:center;gap:.25rem;font-size:.75rem;font-weight:700;display:inline-flex}.panel-link:hover,.text-button:hover{color:var(--text-primary)}.task-list{flex-direction:column;gap:.25rem;display:flex}.task-row{border-bottom:1px solid var(--border-subtle);align-items:center;gap:.8rem;padding:.75rem .4rem;display:flex}.task-row:last-child{border-bottom:0}.task-icon{border-radius:11px;place-items:center;width:36px;height:36px;display:grid}.task-1{color:#c4b5fd;background:#8b5cf624}.task-2{color:#67e8f9;background:#06b6d424}.task-3{color:#fcd34d;background:#f59e0b24}.task-info{flex:1;min-width:0}.task-info strong,.task-info span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.task-info strong{font-size:.78rem}.task-info span{color:var(--text-muted);margin-top:.15rem;font-size:.68rem}.task-deadline{text-align:right}.task-deadline b,.task-deadline span{display:block}.task-deadline b{color:var(--brand-text);font-size:.8rem}.task-deadline span{color:var(--text-muted);font-size:.62rem}.task-arrow{color:var(--text-muted)}.calendar-week,.calendar-grid{text-align:center;grid-template-columns:repeat(7,1fr);display:grid}.calendar-week{color:var(--text-muted);margin-bottom:.45rem;font-size:.62rem;font-weight:800}.calendar-grid{gap:.22rem}.calendar-grid span{min-height:29px;color:var(--text-secondary);border-radius:9px;place-items:center;font-size:.7rem;display:grid;position:relative}.calendar-grid span.muted{color:var(--text-muted);opacity:.42}.calendar-grid span.today{color:#fff;background:var(--primary);font-weight:800;box-shadow:0 4px 12px #4f46e559}.calendar-grid span.has-event:after{content:"";border-radius:50%;width:4px;height:4px;position:absolute;bottom:3px}.calendar-grid span.violet:after{background:#a78bfa}.calendar-grid span.cyan:after{background:#22d3ee}.calendar-grid span.amber:after{background:#fbbf24}.calendar-legend{color:var(--text-muted);flex-wrap:wrap;gap:.7rem;margin:1rem 0 .9rem;font-size:.62rem;display:flex}.calendar-legend span{align-items:center;gap:.3rem;display:flex}.legend-dot{border-radius:50%;width:5px;height:5px}.legend-dot.violet{background:#a78bfa}.legend-dot.cyan{background:#22d3ee}.legend-dot.amber{background:#fbbf24}.calendar-link{border-top:1px solid var(--border-subtle);color:var(--brand-text);justify-content:space-between;align-items:center;padding-top:.8rem;font-size:.72rem;font-weight:700;display:flex}.icon-button{color:var(--text-secondary);border:1px solid var(--border-subtle);border-radius:9px;place-items:center;padding:.45rem;display:grid}.icon-button:hover{color:var(--brand-text);background:var(--bg-hover)}.notice-card{background:linear-gradient(135deg,#06b6d417,#6366f112);gap:.8rem;display:flex}.notice-icon{color:#67e8f9;background:#06b6d421;border-radius:10px;flex:none;place-items:center;width:34px;height:34px;display:grid}.notice-card h3{margin:.3rem 0;font-size:.9rem;line-height:1.3}.notice-card p{color:var(--text-secondary);margin:0 0 .7rem;font-size:.72rem;line-height:1.55}.text-button{padding:0}.courses-section{margin-top:.15rem}.dashboard-course-grid{grid-template-columns:repeat(3,1fr);gap:.85rem;display:grid}.mini-course-card{background:var(--bg-hover);border:1px solid var(--border-subtle);border-radius:15px;flex-direction:column;min-width:0;transition:transform .2s,border-color .2s;display:flex;overflow:hidden}.mini-course-card:hover{border-color:#818cf873;transform:translateY(-3px)}.course-gradient{color:#fffc;justify-content:space-between;align-items:flex-start;height:82px;padding:.85rem;display:flex}.course-gradient span{letter-spacing:.1em;font-size:.68rem;font-weight:800}.gradient-0{background:linear-gradient(135deg,#3730a3,#0891b2)}.gradient-1{background:linear-gradient(135deg,#0f766e,#2563eb)}.gradient-2{background:linear-gradient(135deg,#7c3aed,#be185d)}.mini-course-body{padding:.9rem}.course-code{color:var(--brand-text);letter-spacing:.06em;text-transform:uppercase;font-size:.63rem;font-weight:800}.mini-course-body h4{-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:2.6em;margin:.35rem 0 .9rem;font-size:.86rem;line-height:1.3;display:-webkit-box;overflow:hidden}.mini-course-footer{color:var(--text-muted);align-items:center;gap:.55rem;font-size:.62rem;display:flex}.mini-course-footer span{align-items:center;gap:.22rem;display:inline-flex}.mini-course-footer svg:last-child{color:var(--brand-text);margin-left:auto}.dashboard-footer-note{color:var(--text-muted);align-items:center;gap:.4rem;font-size:.67rem;display:flex}.dashboard-footer-note svg:nth-of-type(2){margin-left:auto}.inline-empty{color:var(--text-secondary);align-items:center;gap:.5rem;padding:1rem;font-size:.8rem;display:flex}.dashboard-skeleton{background:linear-gradient(90deg, var(--skeleton-a), var(--skeleton-b), var(--skeleton-a));background-size:200% 100%;border-radius:18px;min-height:76px;animation:1.4s infinite shimmer}.dashboard-skeleton.hero{min-height:220px}.dashboard-skeleton.tall{min-height:350px}.dashboard-skeleton.task-skeleton{min-height:92px}@keyframes shimmer{0%{background-position:-400px 0}to{background-position:400px 0}}@media (width<=1050px){.dashboard-stat-grid{grid-template-columns:repeat(2,1fr)}.dashboard-content-grid{grid-template-columns:1fr}.dashboard-side-column{grid-template-columns:1fr 1fr;align-items:start;display:grid}}@media (width<=700px){.dashboard-shell{gap:1rem}.dashboard-hero{align-items:flex-start;min-height:245px;padding:1.55rem}.dashboard-hero h1{font-size:2rem}.hero-date{transform-origin:100% 100%;position:absolute;bottom:1rem;right:1rem;transform:scale(.8)}.dashboard-stat-grid{gap:.6rem}.dashboard-stat{gap:.6rem;padding:.8rem}.dashboard-stat-icon{width:34px;height:34px}.dashboard-stat strong{font-size:1.2rem}.dashboard-stat p{font-size:.62rem}.dashboard-stat span{font-size:.6rem}.dashboard-section-heading h2{font-size:1.25rem}.next-class-card{min-height:345px;padding:1.4rem}.next-class-content{max-width:100%}.next-class-art{transform-origin:100% 100%;top:auto;bottom:-65px;right:-25px;transform:scale(.72)}.next-class-meta{gap:.5rem}.dashboard-side-column,.dashboard-course-grid{grid-template-columns:1fr;display:grid}.panel-card,.courses-section{padding:1rem}.dashboard-footer-note{flex-wrap:wrap}.dashboard-footer-note svg:nth-of-type(2){margin-left:0}.dashboard-refresh{font-size:0}.dashboard-refresh svg{width:18px;height:18px}}.workspace-view{flex-direction:column;gap:1.25rem;max-width:1180px;margin:0 auto;display:flex}.workspace-header{border:1px solid var(--border-subtle);background:linear-gradient(120deg,#4f46e529,#06b6d414);border-radius:22px;justify-content:space-between;align-items:center;padding:1.65rem 1.8rem;display:flex}.workspace-header h1{letter-spacing:-.045em;margin:.25rem 0 .35rem;font-size:clamp(1.7rem,3vw,2.35rem)}.workspace-header p{color:var(--text-secondary);margin:0;font-size:.82rem}.workspace-header-icon{color:#c4b5fd;background:#6366f129;border:1px solid #a5b4fc40;border-radius:16px;place-items:center;width:52px;height:52px;display:grid}.workspace-header-icon.cyan{color:#67e8f9;background:#06b6d421}.workspace-header-icon.amber{color:#fcd34d;background:#f59e0b21}.course-catalog-grid{grid-template-columns:repeat(3,1fr);gap:1rem;display:grid}.course-catalog-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:19px;transition:transform .2s,border-color .2s,box-shadow .2s;overflow:hidden}.course-catalog-card:hover{box-shadow:var(--shadow-lg);border-color:#818cf873;transform:translateY(-4px)}.catalog-cover{color:#ffffffd9;justify-content:space-between;align-items:center;height:125px;padding:1.1rem;display:flex;position:relative;overflow:hidden}.catalog-cover:after{content:"";border:1px solid #ffffff38;border-radius:50%;width:130px;height:130px;position:absolute;bottom:-75px;right:12%;box-shadow:0 0 0 20px #ffffff0d,0 0 0 40px #ffffff0a}.catalog-cover span{letter-spacing:.1em;align-self:flex-start;font-size:.7rem;font-weight:800}.catalog-cover b{color:#ffffff61;font-family:var(--font-heading);font-size:2rem;position:absolute;bottom:.7rem;right:1.1rem}.catalog-cover-0{background:linear-gradient(135deg,#3730a3,#0891b2)}.catalog-cover-1{background:linear-gradient(135deg,#0f766e,#2563eb)}.catalog-cover-2{background:linear-gradient(135deg,#7c3aed,#be185d)}.catalog-cover-3{background:linear-gradient(135deg,#b45309,#db2777)}.catalog-body{padding:1.1rem}.catalog-meta{color:var(--brand-text);text-transform:uppercase;letter-spacing:.06em;justify-content:space-between;font-size:.64rem;font-weight:800;display:flex}.course-active{color:var(--success);align-items:center;gap:.28rem;display:inline-flex}.course-active i{background:currentColor;border-radius:50%;width:5px;height:5px}.catalog-body h2{min-height:2.7em;margin:.55rem 0 .4rem;font-size:1rem;line-height:1.35}.catalog-body p{min-height:2.8em;color:var(--text-secondary);margin:0;font-size:.74rem;line-height:1.45}.catalog-footer{color:var(--text-muted);border-top:1px solid var(--border-subtle);align-items:center;gap:.65rem;margin-top:1rem;padding-top:.8rem;font-size:.65rem;display:flex}.catalog-footer span{align-items:center;gap:.25rem;display:inline-flex}.catalog-footer svg:last-child{color:var(--brand-text);margin-left:auto}.session-summary{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:16px;gap:2.5rem;padding:1.15rem 1.35rem;display:flex}.session-summary div{flex-direction:column;gap:.1rem;display:flex}.summary-number{font-family:var(--font-heading);letter-spacing:-.04em;font-size:1.55rem;font-weight:800}.session-summary div>span:last-child,.task-overview-main div span{color:var(--text-muted);font-size:.7rem}.sessions-list,.tasks-board{flex-direction:column;gap:.7rem;display:flex}.session-list-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:17px;align-items:center;gap:1rem;padding:1rem;display:flex}.session-list-card:hover{border-color:var(--border-medium)}.session-list-card.session-live{background:linear-gradient(100deg, #ef444414, var(--bg-card));border-color:#ef444466}.session-date{width:56px;height:62px;color:var(--brand-text);background:var(--primary-light);border-radius:13px;flex-direction:column;flex:none;justify-content:center;align-items:center;display:flex}.session-date strong{font-family:var(--font-heading);font-size:1.45rem;line-height:1}.session-date span{margin-top:.3rem;font-size:.6rem;font-weight:800}.session-details{flex:1;min-width:0}.session-status{color:var(--brand-text);text-transform:uppercase;letter-spacing:.07em;font-size:.65rem;font-weight:800}.session-live .session-status{color:#fb7185}.session-details h2{text-overflow:ellipsis;white-space:nowrap;margin:.28rem 0 .15rem;font-size:.98rem;overflow:hidden}.session-details p{color:var(--text-secondary);margin:0;font-size:.73rem}.session-info{color:var(--text-muted);gap:.8rem;margin-top:.55rem;font-size:.68rem;display:flex}.session-info span{align-items:center;gap:.25rem;display:inline-flex}.session-action .btn-primary,.session-action .btn-secondary{white-space:nowrap;padding:.55rem .75rem;font-size:.72rem}.task-overview{background:linear-gradient(110deg,#f59e0b1c,#4f46e517);border:1px solid #f59e0b33;border-radius:17px;justify-content:space-between;align-items:center;gap:2rem;padding:1.25rem 1.4rem;display:flex}.task-overview-main{align-items:center;gap:.8rem;display:flex}.task-overview-main .summary-number{color:var(--warning);font-size:2.15rem}.task-overview-main strong,.task-overview-main span{display:block}.task-overview-main strong{font-size:.85rem}.task-progress{width:230px}.task-progress>div:first-child{color:var(--text-muted);justify-content:space-between;font-size:.68rem;display:flex}.task-progress b{color:var(--brand-text)}.progress-track{background:var(--bg-hover);border-radius:99px;height:6px;margin-top:.45rem;overflow:hidden}.progress-track i{border-radius:inherit;background:linear-gradient(90deg,#f59e0b,#6366f1);height:100%;display:block}.task-board-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:17px;align-items:center;gap:.9rem;padding:1rem 1.1rem;display:flex}.task-board-card.task-overdue{border-color:#ef444459}.task-board-icon{color:#fcd34d;background:var(--warning-bg);border-radius:12px;flex:none;place-items:center;width:40px;height:40px;display:grid}.task-board-icon.done{color:var(--success);background:var(--success-bg)}.task-board-icon.overdue{color:var(--danger);background:var(--danger-bg)}.task-board-content{flex:1;min-width:0}.task-board-top{justify-content:space-between;gap:.5rem;display:flex}.task-type{color:var(--brand-text);letter-spacing:.06em;font-size:.62rem;font-weight:800}.task-state{color:var(--warning);font-size:.67rem;font-weight:700}.task-state.done{color:var(--success)}.task-state.overdue{color:var(--danger)}.task-board-content h2{text-overflow:ellipsis;white-space:nowrap;margin:.35rem 0 .12rem;font-size:.92rem;overflow:hidden}.task-board-content p{color:var(--text-secondary);margin:0;font-size:.72rem}.task-board-meta{color:var(--text-muted);gap:.8rem;margin-top:.55rem;font-size:.66rem;display:flex}.task-board-meta span{align-items:center;gap:.25rem;display:inline-flex}.task-board-card>.btn-primary,.task-board-card>.btn-secondary{white-space:nowrap;padding:.55rem .75rem;font-size:.72rem}.login-shell{background:radial-gradient(at top,#1e1b4b 0%,#0b0f19 70%);justify-content:center;align-items:center;min-height:100vh;padding:1.25rem;display:flex;position:relative;overflow:hidden}.login-card{z-index:1;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#111827cc;border:1px solid #ffffff1f;border-radius:25px;grid-template-columns:130px minmax(0,1fr);width:min(100%,700px);display:grid;position:relative;overflow:hidden;box-shadow:0 25px 70px #0006}.login-brand-rail{color:#fff;background:linear-gradient(160deg,#3730a3,#0e7490);flex-direction:column;align-items:center;padding:1.7rem 1rem;display:flex}.login-brand-mark{background:#ffffff24;border:1px solid #fff3;border-radius:18px;place-items:center;width:58px;height:58px;padding:.7rem;display:grid}.login-brand-mark img{object-fit:contain;width:100%;height:100%}.login-brand-name{font-family:var(--font-heading);letter-spacing:.04em;margin-top:.8rem;font-size:1.1rem;font-weight:800}.login-brand-caption{color:#c4b5fd;text-transform:uppercase;letter-spacing:.08em;font-size:.62rem;font-weight:700}.login-rail-line{background:#ffffff40;width:1px;height:100px;margin:auto}.login-rail-caption{color:#dbeafe;font-family:var(--font-heading);text-align:center;font-size:.78rem;font-weight:600;line-height:1.6}.login-form-panel{padding:2.1rem 2.35rem 1.75rem}.login-heading{margin-bottom:1.5rem}.login-heading img{display:none}.login-eyebrow{color:#a5b4fc;letter-spacing:.13em;font-size:.66rem;font-weight:800}.login-heading h1{letter-spacing:-.045em;margin:.55rem 0 .35rem;font-size:1.8rem}.login-heading p{color:var(--text-muted);margin:0;font-size:.8rem}.login-label{margin-bottom:.4rem;font-size:.75rem;font-weight:700;display:block}.login-form-panel form{gap:.9rem!important}.login-footer{text-align:left;border-top:1px solid var(--border-subtle);color:var(--text-muted);margin-top:1.45rem;padding-top:1rem;font-size:.72rem}.login-footer p{margin:0 0 .35rem}.login-portal-link{color:var(--accent);align-items:center;gap:.35rem;font-weight:700;display:inline-flex}.login-portal-link:hover{color:#a5f3fc}@media (width<=760px){.course-catalog-grid{grid-template-columns:repeat(2,1fr)}.session-list-card{flex-wrap:wrap;align-items:flex-start}.session-action{margin-left:72px}.task-overview{flex-direction:column;align-items:flex-start;gap:.9rem}.task-progress{width:100%}.task-board-card{flex-wrap:wrap;align-items:flex-start}.task-board-card>.btn-primary,.task-board-card>.btn-secondary{margin-left:49px}.login-card{grid-template-columns:1fr;max-width:450px}.login-brand-rail{flex-direction:row;gap:.65rem;padding:1rem 1.25rem}.login-brand-mark{border-radius:12px;width:42px;height:42px;padding:.45rem}.login-brand-name{margin:0}.login-brand-caption{margin-right:auto}.login-rail-line,.login-rail-caption{display:none}.login-form-panel{padding:1.65rem 1.35rem 1.35rem}}@media (width<=480px){.course-catalog-grid{grid-template-columns:1fr}.workspace-header{padding:1.25rem}.workspace-header-icon{width:44px;height:44px}.session-summary{justify-content:space-between;gap:1rem}.session-summary .summary-number{font-size:1.2rem}.session-summary div>span:last-child{font-size:.6rem}.session-details h2{white-space:normal}.task-board-meta{flex-direction:column;gap:.25rem}}:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px;border-radius:var(--radius-sm)}.skip-link{z-index:100;background:var(--primary);color:#fff;border-radius:var(--radius-md);padding:.6rem 1rem;font-weight:600;position:absolute;top:-100px;left:1rem}.skip-link:focus{top:.75rem}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.skeleton{background:linear-gradient(90deg, var(--skeleton-a) 25%, var(--skeleton-b) 50%, var(--skeleton-a) 75%);border-radius:var(--radius-sm);background-size:800px 100%;animation:1.4s linear infinite shimmer}@keyframes fadeUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.fade-up{animation:.4s cubic-bezier(.16,1,.3,1) both fadeUp}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalPop{0%{opacity:0;transform:scale(.96)translateY(6px)}to{opacity:1;transform:scale(1)translateY(0)}}.lms-header{z-index:40;height:var(--header-h);background:var(--bg-header);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;gap:1rem;padding:0 1.25rem;display:flex;position:sticky;top:0}.lms-body{flex:1;display:flex;position:relative}.lms-sidebar{width:var(--sidebar-w);background:var(--bg-secondary);border-right:1px solid var(--border-subtle);top:var(--header-h);height:calc(100vh - var(--header-h));flex-direction:column;flex-shrink:0;gap:.25rem;padding:1.25rem .75rem;transition:margin-left .3s cubic-bezier(.16,1,.3,1),transform .3s cubic-bezier(.16,1,.3,1);display:flex;position:sticky;overflow-y:auto}.lms-sidebar.is-collapsed{margin-left:calc(var(--sidebar-w) * -1)}.nav-link{border-radius:var(--radius-md);color:var(--text-secondary);align-items:center;gap:.75rem;padding:.65rem .85rem;font-size:.88rem;font-weight:500;transition:background .15s,color .15s;display:flex;position:relative}.nav-link:hover{background:var(--bg-hover);color:var(--text-primary)}.nav-link.active{background:var(--primary-light);color:var(--brand-text);font-weight:600}.nav-link.active:before{content:"";background:var(--primary);border-radius:0 3px 3px 0;width:3px;position:absolute;top:20%;bottom:20%;left:-.75rem}.lms-main{flex:1;width:100%;min-width:0;max-width:1400px;margin:0 auto;padding:1.75rem 2rem}.sidebar-backdrop{inset:var(--header-h) 0 0 0;z-index:30;background:#00000080;animation:.2s both fadeUp;display:none;position:fixed}.course-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr));gap:1.5rem;display:grid}.course-card{transition:transform .25s cubic-bezier(.16,1,.3,1),box-shadow .25s,border-color .25s}.course-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-3px)}@media (width<=1024px){.hide-tablet{display:none!important}}@media (width<=768px){.hide-mobile{display:none!important}.lms-header{padding:0 .75rem}.lms-main{padding:1.25rem 1rem}.lms-sidebar{z-index:35;box-shadow:var(--shadow-xl);position:fixed;left:0;transform:translate(-100%);margin-left:0!important}.lms-sidebar.is-open{transform:translate(0)}.sidebar-backdrop.is-open{display:block}}
