:root{--color-page:#f6f8fc;--color-surface:#fff;--color-heading:#1f2937;--color-text:#4b5565;--color-muted:#7b8494;--color-border:#e4eaf3;--color-ink:#111827;--color-teal:#4f8cff;--color-teal-dark:#2563eb;--color-coral:#4f8cff;--shadow-sm:0 4px 14px #1f29370a;--shadow-md:0 12px 34px #1f293712;--font-sans:Inter, "Segoe UI Variable Text", "Segoe UI", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, sans-serif;font-family:var(--font-sans);letter-spacing:0;color:var(--color-text);background:var(--color-page);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:15px;font-weight:350;line-height:1.55}*{box-sizing:border-box}html{scroll-behavior:smooth}body{min-width:320px;min-height:100svh;margin:0}button,input{letter-spacing:0}a{color:inherit}#root{min-height:100svh}.app-shell{min-height:100svh;color:var(--color-text);background:var(--color-page);overflow-x:hidden}.icon{flex:none;width:1.1em;height:1.1em}.site-header{z-index:30;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#f8fafce6;border-bottom:1px solid #d5dbe5d9;justify-content:space-between;align-items:center;gap:20px;min-height:72px;padding:12px 40px;display:flex;position:sticky;top:0}.brand,.nav-link,.text-button,.public-menu-toggle,.dashboard-header-toggle{appearance:none;font:inherit;cursor:pointer;border:0}.brand{min-width:176px;color:var(--color-heading);background:0 0;align-items:center;gap:10px;padding:0;font-weight:850;display:inline-flex}.brand-static{cursor:default;-webkit-user-select:none;user-select:none}.brand-mark{width:38px;height:38px;color:var(--color-teal-dark);background:#e9fbf7;border:1px solid #0ea5a44d;border-radius:8px;place-items:center;display:inline-grid}.site-nav{max-width:100%;box-shadow:var(--shadow-sm);background:#ffffffbd;border:1px solid #d5dbe5e6;border-radius:8px;align-items:center;gap:4px;padding:4px;display:flex}.public-menu-toggle,.dashboard-header-toggle{border:1px solid var(--color-border);width:42px;height:42px;color:var(--color-heading);box-shadow:var(--shadow-sm);background:#fff;border-radius:8px;place-items:center;display:none}.nav-link{min-width:76px;min-height:38px;color:var(--color-muted);white-space:nowrap;background:0 0;border-radius:6px;justify-content:center;align-items:center;gap:7px;padding:7px 13px;font-size:.94rem;font-weight:760;display:inline-flex}.nav-link.active,.nav-link:hover{color:var(--color-heading);box-shadow:var(--shadow-sm);background:#fff}.logout-link{color:#b43d28}.logout-link:hover{color:#8f2f20;background:#fff1ed}.app-toast{z-index:50;width:min(360px,100% - 36px);color:var(--color-heading);box-shadow:var(--shadow-md);background:#fffffff5;border:1px solid #0ea5a43d;border-radius:8px;padding:14px 16px;position:fixed;bottom:18px;right:18px}.profile-menu{position:relative}.header-actions{justify-self:end;align-items:center;gap:8px;min-width:0;display:inline-flex}.notification-menu{position:relative}.notification-trigger{border:1px solid var(--color-border);width:36px;height:36px;color:var(--color-heading);cursor:pointer;background:#fff;border-radius:999px;place-items:center;display:inline-grid;position:relative}.notification-trigger span{color:#fff;background:var(--color-coral);border-radius:999px;place-items:center;min-width:18px;height:18px;padding:0 5px;font-size:.68rem;font-weight:800;display:inline-grid;position:absolute;top:-4px;right:-4px}.notification-dropdown{z-index:60;border:1px solid var(--color-border);width:min(320px,100vw - 28px);box-shadow:var(--shadow-md);background:#fff;border-radius:8px;gap:6px;padding:8px;display:grid;position:absolute;top:calc(100% + 10px);right:0}.notification-heading{justify-content:space-between;align-items:center;padding:4px 6px 8px;display:flex}.notification-heading small,.notification-empty{color:var(--color-muted)}.notification-dropdown button{color:var(--color-heading);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:7px;gap:3px;padding:10px;display:grid}.notification-dropdown button:hover{background:#f2f6f9}.notification-dropdown button span{color:var(--color-muted);text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;overflow:hidden}.notification-empty{padding:10px;font-size:.82rem}.profile-trigger{border:1px solid var(--color-border);min-height:44px;color:var(--color-heading);font:inherit;cursor:pointer;box-shadow:var(--shadow-sm);background:#fff;border-radius:999px;align-items:center;gap:10px;padding:4px 6px 4px 4px;font-weight:800;display:inline-flex}.site-header.public-header{grid-template-columns:minmax(0,1fr) auto}.site-header.dashboard-header{grid-template-columns:42px minmax(0,1fr) auto}.profile-avatar,.sidebar-avatar,.profile-preview-avatar{color:var(--color-teal-dark);background:#e9fbf7;border-radius:999px;place-items:center;display:inline-grid;overflow:hidden}.profile-avatar img,.sidebar-avatar img,.profile-preview-avatar img{object-fit:cover;width:100%;height:100%}.profile-name{text-overflow:ellipsis;white-space:nowrap;max-width:160px;overflow:hidden}.profile-dropdown{z-index:60;border:1px solid var(--color-border);width:210px;box-shadow:var(--shadow-md);background:#fff;border-radius:8px;gap:6px;padding:8px;display:grid;position:absolute;top:calc(100% + 10px);right:0}.profile-dropdown button{min-height:42px;color:var(--color-heading);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:6px;align-items:center;gap:9px;padding:0 10px;font-weight:760;display:flex}.profile-dropdown button:hover{background:#f2f6f9}.modal-backdrop{z-index:70;background:#10202773;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.profile-editor,.crud-editor,.confirm-dialog{border:1px solid var(--color-border);width:min(520px,100%);max-height:min(720px,100svh - 36px);box-shadow:var(--shadow-md);background:#fff;border-radius:8px;gap:18px;padding:24px;display:grid;overflow-y:auto}.crud-editor{width:min(760px,100%)}.confirm-dialog{text-align:left;width:min(430px,100%)}.confirm-icon{color:#b43d28;background:#fff1ed;border-radius:999px;place-items:center;width:48px;height:48px;display:inline-grid}.confirm-dialog p{color:var(--color-muted);margin-top:8px}.modal-heading,.modal-actions,.profile-preview,.button-row{align-items:center;display:flex}.modal-heading{justify-content:space-between;gap:16px}.modal-heading button{border:1px solid var(--color-border);width:38px;height:38px;color:var(--color-heading);cursor:pointer;background:#fff;border-radius:8px;place-items:center;display:inline-grid}.profile-preview{gap:14px}.profile-preview-avatar{border:1px solid #0ea5a447;width:72px;height:72px}.upload-control{border:1px solid var(--color-border);min-height:42px;color:var(--color-heading);cursor:pointer;background:#fbfcfd;border-radius:8px;align-items:center;gap:8px;padding:0 13px;font-weight:800;display:inline-flex;position:relative}.upload-control input{opacity:0;cursor:pointer;position:absolute;inset:0}.profile-editor label,.crud-editor label,.support-panel label{color:var(--color-heading);gap:8px;font-weight:790;display:grid}.profile-editor input,.crud-editor input,.crud-editor select,.crud-form input,.crud-form select,.support-panel textarea{border:1px solid var(--color-border);width:100%;color:var(--color-heading);font:inherit;background:#fbfcfd;border-radius:8px}.profile-editor input{min-height:48px;padding:0 14px}.crud-editor .crud-form{background:0 0;border:0;grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:0;padding:0}.support-panel textarea{resize:vertical;min-height:132px;padding:12px 14px}.modal-actions{justify-content:flex-end;gap:10px}.home-hero{background-position:50%;background-size:cover;min-height:84svh;scroll-margin-top:88px}.home-hero__overlay{background:linear-gradient(90deg,#0c2026db,#0c20266b 56%,#0c20261a),linear-gradient(#0c202614,#0c202652);align-items:center;min-height:84svh;padding:72px 40px 88px;display:flex}.home-hero__content{color:#fff;width:min(640px,100%)}.eyebrow{color:var(--color-teal-dark);text-transform:uppercase;margin:0 0 12px;font-size:.78rem;font-weight:850}.home-hero .eyebrow,.dashboard-sidebar .eyebrow{color:#8ef4e2}h1,h2,h3,p{margin:0}h1,h2,h3{color:var(--color-heading);text-wrap:balance}.home-hero h1,.page-intro h1,.dashboard-sidebar h1{color:inherit;line-height:1.04}.hero-copy{color:#ffffffe0;max-width:570px;margin-top:22px;font-size:1.05rem}.hero-actions,.panel-heading,.schedule-panel,.admin-actions,.text-button,.btn,.schedule-inline,.form-heading{align-items:center;display:flex}.hero-actions{flex-wrap:wrap;gap:12px;margin-top:32px}.btn{min-height:46px;font:inherit;cursor:pointer;border:1px solid #0000;border-radius:8px;justify-content:center;gap:8px;padding:0 18px;font-weight:820;transition:transform .2s,box-shadow .2s,background-color .2s}.btn:hover{transform:translateY(-1px)}.btn-primary{color:#fff;background:var(--color-coral);box-shadow:0 16px 34px #ef6c5347}.btn-primary:hover{background:#de5942}.btn-secondary,.btn-ghost{color:var(--color-heading);border-color:var(--color-border);background:#fff}.btn-ghost{color:#fff;background:#ffffff24;border-color:#ffffff6b}.full{width:100%}.stats-band{border-bottom:1px solid var(--color-border);background:var(--color-surface);grid-template-columns:repeat(3,1fr);display:grid}.stats-band div{border-right:1px solid var(--color-border);text-align:center;place-content:center;place-items:center;gap:8px;min-height:128px;padding:24px;display:grid}.stats-band div:last-child{border-right:0}.stats-band .icon{width:24px;height:24px;color:var(--color-teal-dark)}.stats-band strong{color:var(--color-heading);font-size:2rem;line-height:1}.stats-band span{color:var(--color-muted);font-weight:760}.content-section,.page-wrap,.dashboard-layout{width:min(1180px,100% - 48px);margin:0 auto}.content-section{padding:78px 0;scroll-margin-top:90px}.section-heading{max-width:650px;margin-bottom:28px}h2{font-size:2.1rem;line-height:1.13}h3{font-size:1.08rem;line-height:1.25}.course-grid,.summary-grid{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.course-card,.metric-card,.panel,.action-card,.login-panel,.schedule-board{border:1px solid var(--color-border);background:var(--color-surface);box-shadow:var(--shadow-md);border-radius:8px}.course-card{gap:20px;min-height:224px;padding:24px;display:grid}.course-card p,.benefit-item p,.schedule-copy p,.schedule-board small,.page-intro p:not(.eyebrow),.form-heading p,.learning-item p,.progress-meta,.schedule-panel p,.action-card p{color:var(--color-muted)}.card-icon,.metric-icon,.benefit-item>.icon,.action-card>.icon,.form-heading>.icon,.schedule-inline>.icon,.schedule-board>div>.icon{width:42px;height:42px;color:var(--color-teal-dark);background:#ecfdf9;border:1px solid #0ea5a438;border-radius:8px;place-items:center;display:inline-grid}.course-meta{flex-wrap:wrap;align-self:end;gap:8px;display:flex}.course-meta span{min-height:30px;color:var(--color-heading);background:#f2f4f7;border-radius:999px;align-items:center;padding:0 10px;font-size:.86rem;font-weight:780;display:inline-flex}.split-section,.schedule-section{border-top:1px solid var(--color-border);grid-template-columns:.88fr 1.12fr;gap:48px;display:grid}.benefit-list{gap:12px;display:grid}.benefit-item{border:1px solid var(--color-border);background:var(--color-surface);border-radius:8px;grid-template-columns:42px 1fr;align-items:start;gap:16px;min-height:96px;padding:18px;display:grid}.schedule-copy{align-content:center;gap:14px;display:grid}.schedule-board{gap:22px;padding:26px;display:grid}.schedule-board div{gap:9px;display:grid}.schedule-board span{color:var(--color-muted);font-weight:780}.schedule-board strong{color:var(--color-heading);font-size:1.6rem;line-height:1.1}.schedule-board .btn{justify-self:start}.page-wrap{min-height:calc(100svh - 72px);padding:72px 0}.auth-page{grid-template-columns:.95fr 1.05fr;align-items:start;gap:40px;display:grid}.page-intro{padding-top:24px}.page-intro h1{color:var(--color-heading);font-size:3.1rem;font-weight:870}.page-intro p:not(.eyebrow){max-width:540px;margin-top:18px;font-size:1.02rem}.auth-points{gap:10px;max-width:520px;margin-top:28px;display:grid}.auth-points div{border:1px solid var(--color-border);background:#ffffffb8;border-radius:8px;align-items:center;gap:12px;min-height:48px;padding:0 14px;font-weight:780;display:flex}.auth-points .icon{color:var(--color-teal-dark)}.login-panel{gap:18px;padding:28px;display:grid}.form-heading{gap:14px;margin-bottom:2px}.login-panel label,.role-toggle legend{color:var(--color-heading);font-weight:790}.login-panel input[type=text],.login-panel input[type=email],.login-panel input[type=password]{border:1px solid var(--color-border);width:100%;min-height:48px;color:var(--color-heading);font:inherit;background:#fbfcfd;border-radius:8px;margin-top:8px;padding:0 14px}.role-toggle{border:0;grid-template-columns:1fr 1fr;gap:10px;margin:2px 0 0;padding:0;display:grid}.role-toggle legend{grid-column:1/-1;margin-bottom:2px}.role-toggle label{border:1px solid var(--color-border);cursor:pointer;background:#fbfcfd;border-radius:8px;align-items:center;gap:10px;min-height:52px;padding:0 14px;display:flex}.role-toggle label.selected{background:#e9fbf7;border-color:#0ea5a49e;box-shadow:0 0 0 3px #0ea5a41c}.role-toggle input{width:16px;height:16px;accent-color:var(--color-teal-dark)}.dashboard-layout{grid-template-columns:292px minmax(0,1fr);gap:24px;padding:32px 0 78px;display:grid}.drawer-backdrop,.drawer-close{display:none}.dashboard-sidebar{color:#ffffffd6;background:linear-gradient(135deg, #14b8a63d, #ef6c5314), var(--color-ink);box-shadow:var(--shadow-md);border-radius:8px;align-self:start;gap:20px;padding:24px;display:grid;position:sticky;top:96px}.admin-sidebar{background:linear-gradient(135deg,#ef6c5338,#0f766e2e),#372438}.sidebar-profile{grid-template-columns:48px 1fr;align-items:center;gap:14px;display:grid}.sidebar-avatar{color:#8ef4e2;background:#ffffff14;border:1px solid #ffffff26;width:48px;height:48px}.sidebar-profile .eyebrow{margin-bottom:5px}.dashboard-menu{gap:8px;display:grid}.dashboard-menu button{color:#ffffffbd;min-height:46px;font:inherit;cursor:pointer;text-align:left;background:0 0;border:1px solid #0000;border-radius:8px;align-items:center;gap:11px;padding:0 12px;font-weight:780;display:flex}.dashboard-main{gap:16px;min-width:0;display:grid}.metric-card{grid-template-columns:42px 1fr;align-items:center;gap:14px;min-height:124px;padding:20px;display:grid}.metric-card.warm .metric-icon{color:#b43d28;background:#fff1ed;border-color:#ef6c533d}.metric-card span:not(.metric-icon){color:var(--color-muted);font-weight:750;display:block}.metric-card strong{color:var(--color-heading);margin-top:6px;font-size:1.85rem;line-height:1;display:block}.panel-heading{justify-content:space-between;gap:18px;margin-bottom:16px}.panel-heading .eyebrow{margin-bottom:6px}.text-button{min-height:38px;color:var(--color-teal-dark);background:0 0;justify-content:center;gap:7px;padding:0;font-weight:850}.learning-list{gap:12px;display:grid}.learning-item{border:1px solid var(--color-border);background:#fbfcfd;border-radius:8px;grid-template-columns:56px 78px minmax(180px,.8fr) minmax(260px,1.15fr) auto;align-items:center;gap:20px;min-height:102px;padding:16px;display:grid}.course-progress-percent{width:68px;height:56px;color:var(--color-teal-dark);background:#f0f6ff;border:1px solid #dbe7ff;border-radius:8px;place-items:center;display:grid}.course-progress-percent strong{color:inherit;font-size:1rem;line-height:1}.course-progress-percent small{color:var(--color-muted);font-size:.68rem}.progress-block{gap:10px;display:grid}.progress-meta{justify-content:space-between;gap:16px;font-size:.9rem;font-weight:740;display:flex}.progress-track{background:#e8edf3;border-radius:999px;height:10px;overflow:hidden}.progress-track span{border-radius:inherit;background:linear-gradient(90deg, var(--color-teal), var(--color-coral));height:100%;display:block}.schedule-panel{justify-content:space-between;gap:18px}.schedule-inline{gap:14px;min-width:0}.admin-table{border:1px solid var(--color-border);border-radius:8px;display:grid;overflow-x:auto}.table-row{border-bottom:1px solid var(--color-border);grid-template-columns:minmax(220px,1.35fr) minmax(90px,.5fr) minmax(110px,.65fr) minmax(120px,.65fr) minmax(140px,.75fr);align-items:center;gap:16px;min-width:820px;min-height:58px;padding:0 14px;display:grid}.table-row:last-child{border-bottom:0}.table-head{min-height:44px;color:var(--color-muted);text-transform:uppercase;background:#fbfcfd;font-size:.84rem;font-weight:860}mark{color:#11615a;background:#d8fbf2;border-radius:999px;align-items:center;min-height:28px;padding:0 10px;font-weight:850;display:inline-flex}.admin-actions{align-items:stretch;gap:16px}.button-row{flex-wrap:wrap;justify-content:flex-end;gap:10px}.crud-form{border:1px solid var(--color-border);background:#fbfcfd;border-radius:8px;grid-template-columns:minmax(180px,1.2fr) minmax(120px,.6fr) minmax(150px,.7fr) minmax(140px,.7fr);align-items:end;gap:12px;margin-bottom:18px;padding:16px;display:grid}.crud-form label{color:var(--color-heading);gap:7px;font-weight:790;display:grid}.crud-form input,.crud-form select{border:1px solid var(--color-border);width:100%;min-height:44px;color:var(--color-heading);font:inherit;background:#fff;border-radius:8px;padding:0 12px}.crud-actions{justify-content:flex-end;gap:8px;display:flex}.menu-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.action-card{flex:1 1 0;gap:12px;padding:22px;display:grid}.action-card>.icon{color:#b43d28;background:#fff1ed;border-color:#ef6c5338}.action-card .btn{justify-self:start}.row-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.row-actions button{border:1px solid var(--color-border);min-height:34px;color:var(--color-heading);font:inherit;cursor:pointer;background:#fff;border-radius:6px;padding:0 10px;font-weight:780}.row-actions button:last-child{color:#b43d28;background:#fff7f5}.card-actions{justify-content:flex-start}.support-panel{gap:16px;display:grid}.action-feedback{color:var(--color-teal-dark);background:#ecfdf9;border:1px solid #0ea5a43d;border-radius:8px;padding:14px 16px;font-weight:750}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:2px;outline:3px solid #0ea5a44d}@media (width<=1040px){.site-header:not(.logged-in){flex-direction:column;align-items:stretch;gap:12px;padding:14px 24px}.site-header.logged-in{padding:14px 24px}.brand{min-width:auto}.site-nav{justify-content:flex-start;width:100%;overflow-x:auto}.content-section,.page-wrap,.dashboard-layout{width:min(100% - 40px,1120px)}.auth-page,.split-section,.schedule-section{grid-template-columns:1fr}.summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=760px){.site-header{padding:14px 16px;position:sticky}.site-header:not(.logged-in){grid-template-columns:minmax(0,1fr) 42px;align-items:center;gap:12px;display:grid}.site-header.logged-in{align-items:center;gap:10px;display:grid}.site-header.public-header{grid-template-columns:minmax(0,1fr) auto}.site-header.dashboard-header{grid-template-columns:42px minmax(0,1fr) auto}.public-menu-toggle,.dashboard-header-toggle{display:inline-grid}.site-header:not(.logged-in) .site-nav{flex-direction:column;grid-column:1/-1;align-items:stretch;width:100%;padding:8px;display:none}.site-header:not(.logged-in) .site-nav.open{display:flex}.site-header:not(.logged-in) .nav-link{justify-content:flex-start;width:100%}.nav-link{min-width:auto;padding-inline:12px}.home-hero,.home-hero__overlay{min-height:76svh}.home-hero__overlay{background:linear-gradient(#0c202638,#0c2026e0),linear-gradient(90deg,#0c202673,#0c20260f);align-items:flex-end;padding:56px 20px}.home-hero h1{font-size:2.6rem}.hero-copy{font-size:1rem}.stats-band,.course-grid,.summary-grid{grid-template-columns:1fr}.stats-band div{border-right:0;border-bottom:1px solid var(--color-border);min-height:108px}.stats-band div:last-child{border-bottom:0}.content-section{padding:56px 0}h2{font-size:1.72rem}.page-wrap{padding:48px 0}.page-intro h1{font-size:2.35rem}.dashboard-layout{grid-template-columns:1fr;padding-top:18px}.drawer-backdrop{z-index:55;background:#1020276b;border:0;display:block;position:fixed;inset:0}.dashboard-sidebar{z-index:60;border-radius:0 8px 8px 0;width:min(326px,100% - 42px);height:100svh;transition:transform .22s;position:fixed;top:0;left:0;overflow-y:auto;transform:translate(-104%)}.dashboard-sidebar.open{transform:translate(0)}.sidebar-profile{grid-template-columns:48px 1fr 38px}.drawer-close{color:#fff;cursor:pointer;background:#ffffff14;border:1px solid #ffffff29;border-radius:8px;place-items:center;width:38px;height:38px;display:inline-grid}.panel-heading,.schedule-panel,.admin-actions{flex-direction:column;align-items:stretch}.learning-item{grid-template-columns:1fr}.admin-table{border:0;border-radius:0;gap:12px;overflow:visible}.table-head{display:none}.table-row{border:1px solid var(--color-border);min-width:0;min-height:0;box-shadow:var(--shadow-sm);background:#fff;border-radius:8px;grid-template-columns:1fr;gap:10px;padding:14px}.table-row:last-child{border-bottom:1px solid var(--color-border)}.table-row [role=cell]{min-width:0;color:var(--color-heading);justify-content:space-between;align-items:center;gap:16px;display:flex}.table-row [role=cell]:before{content:attr(data-label);color:var(--color-muted);text-transform:uppercase;flex:none;font-size:.82rem;font-weight:850}.table-row [role=cell]:first-child{justify-content:stretch;gap:4px;display:grid}.table-row [role=cell]:first-child:before{margin-bottom:2px}.table-row .row-actions{justify-content:space-between}.progress-meta{flex-direction:column;gap:4px}.menu-card-grid,.crud-form,.crud-editor .crud-form{grid-template-columns:1fr}.crud-actions,.button-row{justify-content:flex-start}}@media (width<=520px){.brand span:last-child{font-size:.98rem}.profile-name{display:none}.profile-trigger{padding-right:4px}.profile-dropdown{right:-2px}.site-nav{scrollbar-width:none}.site-nav::-webkit-scrollbar{display:none}.home-hero,.home-hero__overlay{min-height:72svh}.home-hero h1{font-size:2.18rem}.hero-actions .btn,.schedule-board .btn,.schedule-panel .btn,.login-panel .btn{width:100%}.content-section,.page-wrap,.dashboard-layout{width:min(100% - 28px,520px)}.course-card,.panel,.action-card,.login-panel,.schedule-board,.dashboard-sidebar{padding:18px}.role-toggle{grid-template-columns:1fr}.modal-actions{flex-direction:column-reverse}.modal-actions .btn{width:100%}.profile-editor,.crud-editor,.confirm-dialog{padding:18px}.crud-actions{flex-direction:column-reverse}.crud-actions .btn{width:100%}.metric-card{min-height:104px}}.site-header{background:#ffffffeb;gap:14px;min-height:60px;padding:9px 28px}.brand{gap:8px;min-width:148px;font-size:.96rem;font-weight:600}.brand-mark{width:32px;height:32px;color:var(--color-teal-dark);background:#f0f6ff;border-color:#dbe7ff;border-radius:7px}.brand-mark .icon{width:16px;height:16px}.site-nav{box-shadow:none;gap:2px;padding:3px}.nav-link{gap:6px;min-width:64px;min-height:32px;padding:5px 10px;font-size:.82rem;font-weight:500}.public-menu-toggle,.dashboard-header-toggle,.modal-heading button{width:36px;height:36px;box-shadow:none}.profile-trigger{min-height:36px;box-shadow:none;gap:8px;padding:3px 6px 3px 3px;font-size:.84rem;font-weight:500}.profile-avatar{width:28px;height:28px}.profile-dropdown{gap:4px;width:184px;padding:6px}.profile-dropdown button{min-height:36px;font-size:.84rem;font-weight:500}.app-toast,.action-feedback{padding:10px 12px;font-size:.86rem}.home-hero,.home-hero__overlay{min-height:76svh}.home-hero__overlay{padding:56px 32px 70px}.eyebrow{margin-bottom:8px;font-size:.68rem;font-weight:650}.home-hero h1{max-width:560px;font-size:3rem;font-weight:650}.hero-copy{max-width:520px;margin-top:16px;font-size:.96rem}.hero-actions{gap:9px;margin-top:24px}.btn{min-height:36px;box-shadow:none;border-radius:7px;gap:6px;padding:0 12px;font-size:.84rem;font-weight:550}.btn-primary{box-shadow:none}.stats-band div{gap:6px;min-height:100px;padding:18px}.stats-band .icon{width:19px;height:19px}.stats-band strong{font-size:1.45rem;font-weight:650}.stats-band span{font-size:.84rem;font-weight:450}.content-section{padding:58px 0}.section-heading{margin-bottom:20px}h2{font-size:1.55rem;font-weight:600}h3{font-size:.96rem;font-weight:600}.course-grid,.summary-grid,.menu-card-grid,.admin-actions{gap:12px}.course-card,.metric-card,.panel,.action-card,.login-panel,.schedule-board,.profile-editor,.crud-editor,.confirm-dialog{box-shadow:var(--shadow-sm);border-radius:7px}.course-card{gap:14px;min-height:178px;padding:18px}.card-icon,.metric-icon,.benefit-item>.icon,.action-card>.icon,.form-heading>.icon,.schedule-inline>.icon,.schedule-board>div>.icon{width:34px;height:34px;color:var(--color-teal-dark);background:#f0f6ff;border-color:#dbe7ff;border-radius:7px}.card-icon .icon,.metric-icon .icon{width:17px;height:17px}.benefit-item>.icon,.action-card>.icon,.form-heading>.icon,.schedule-inline>.icon,.schedule-board>div>.icon{padding:8px}.course-meta span,mark{min-height:24px;padding:0 8px;font-size:.76rem;font-weight:550}.split-section,.schedule-section{gap:32px}.benefit-list{gap:9px}.benefit-item{grid-template-columns:34px 1fr;gap:12px;min-height:76px;padding:14px}.schedule-board{gap:16px;padding:18px}.schedule-board strong{font-size:1.25rem;font-weight:600}.page-wrap{padding:54px 0}.auth-page{gap:28px}.page-intro h1{font-size:2.25rem;font-weight:650}.page-intro p:not(.eyebrow){margin-top:12px;font-size:.94rem}.auth-points{gap:8px;margin-top:20px}.auth-points div,.role-toggle label{min-height:40px;font-size:.86rem;font-weight:500}.login-panel{gap:14px;padding:20px}.form-heading{gap:10px}.form-heading h2{font-size:1.15rem}.login-panel label,.role-toggle legend,.profile-editor label,.crud-editor label,.support-panel label,.crud-form label{font-size:.82rem;font-weight:550}.login-panel input[type=text],.login-panel input[type=email],.login-panel input[type=password],.profile-editor input,.crud-form input,.crud-form select{min-height:38px;padding:0 10px;font-size:.86rem}.dashboard-layout{grid-template-columns:248px minmax(0,1fr);gap:16px;padding:22px 0 56px}.dashboard-sidebar,.admin-sidebar{border:1px solid var(--color-border);color:var(--color-text);box-shadow:var(--shadow-sm);background:#fff;gap:14px;padding:14px}.dashboard-sidebar .eyebrow{color:var(--color-teal-dark)}.dashboard-sidebar h1{color:var(--color-heading);font-size:.98rem;font-weight:600}.sidebar-profile{grid-template-columns:38px 1fr;gap:10px}.sidebar-avatar{width:38px;height:38px;color:var(--color-teal-dark);background:#f0f6ff;border-color:#dbe7ff}.sidebar-avatar .icon{width:18px;height:18px}.dashboard-menu{gap:5px}.dashboard-menu button{min-height:36px;color:var(--color-text);border-radius:7px;gap:9px;padding:0 9px;font-size:.84rem;font-weight:450}.dashboard-menu button:hover,.dashboard-menu button.active{color:var(--color-teal-dark);background:#f0f6ff;border-color:#dbe7ff}.dashboard-menu .icon{width:16px;height:16px}.dashboard-main{gap:12px}.metric-card{grid-template-columns:34px 1fr;gap:10px;min-height:88px;padding:14px}.metric-card strong{margin-top:3px;font-size:1.35rem;font-weight:650}.metric-card span:not(.metric-icon){font-size:.78rem;font-weight:450}.panel{padding:16px}.panel-heading{gap:12px;margin-bottom:12px}.text-button{min-height:32px;font-size:.84rem;font-weight:550}.learning-list{gap:9px}.learning-item{grid-template-columns:56px 74px minmax(150px,.72fr) minmax(220px,1fr) auto;gap:14px;min-height:82px;padding:12px}.progress-meta{gap:10px;font-size:.78rem;font-weight:450}.progress-track{height:7px}.schedule-inline{gap:10px}.schedule-inline h2{font-size:1.1rem}.table-row{min-height:46px;padding:0 10px;font-size:.82rem}.class-cell{align-items:center;gap:9px;min-width:0;display:flex}.class-cell strong,.class-cell small{display:block}.class-cell strong{color:var(--color-heading);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.class-cell small{color:var(--color-muted);margin-top:2px;font-size:.74rem}.class-thumb,.member-course-thumb{border:1px solid var(--color-border);color:var(--color-teal-dark);background:#f0f6ff;border-radius:7px;flex:none;place-items:center;display:inline-grid;overflow:hidden}.class-thumb{width:36px;height:28px}.member-course-thumb{width:56px;height:42px}.class-thumb img,.member-course-thumb img,.thumbnail-preview img,.certificate-thumb{object-fit:cover;width:100%;height:100%}.thumbnail-field{grid-column:1/-1;grid-template-columns:132px 1fr;align-items:center;gap:12px;min-width:0;display:grid}.thumbnail-preview{aspect-ratio:16/9;border:1px solid var(--color-border);width:132px;color:var(--color-teal-dark);background:#f0f6ff;border-radius:7px;place-items:center;display:inline-grid;overflow:hidden}.certificate-thumb{aspect-ratio:16/9;border-radius:7px;display:block}.table-head{min-height:36px;font-size:.72rem;font-weight:600}.button-row{gap:8px}.crud-form{gap:10px;padding:12px}.row-actions{gap:6px}.row-actions button{min-height:28px;padding:0 8px;font-size:.78rem;font-weight:500}.action-card{gap:9px;padding:16px}.modal-backdrop{padding:14px}.profile-editor,.crud-editor,.confirm-dialog{gap:14px;padding:18px}.confirm-icon{width:40px;height:40px}.confirm-icon .icon{width:19px;height:19px}.confirm-dialog h2{font-size:1.15rem}.support-panel textarea{min-height:112px;font-size:.86rem}@media (width<=760px){.site-header{min-height:56px;padding:10px 14px}.brand{font-size:.9rem}.home-hero h1{font-size:2.2rem}.hero-copy{font-size:.9rem}.content-section{padding:44px 0}.dashboard-layout{padding-top:14px}.dashboard-sidebar{width:min(292px,100% - 44px)}.sidebar-profile{grid-template-columns:38px 1fr 34px}.drawer-close{width:34px;height:34px}.learning-item,.table-row{padding:12px}}@media (width<=520px){.home-hero h1{font-size:1.92rem}.page-intro h1{font-size:1.85rem}h2{font-size:1.32rem}}html,body,#root,.app-shell{max-width:100%;overflow-x:hidden}main,.dashboard-layout,.dashboard-main,.panel,.admin-table,.table-row,.table-row>*,.learning-item,.learning-item>*,.action-card,.metric-card,.class-cell>span:last-child{min-width:0}img,.admin-table{max-width:100%}.learning-item{grid-template-columns:56px minmax(150px,.72fr) minmax(190px,1fr)}.learning-item h3,.learning-item p,.class-cell strong,.class-cell small{overflow-wrap:anywhere}.member-course-thumb{align-self:start}.empty-state{border:1px dashed var(--color-border);min-height:160px;color:var(--color-muted);text-align:center;background:#fbfcfd;border-radius:7px;place-items:center;gap:8px;padding:18px;display:grid}.empty-state .icon{width:28px;height:28px;color:var(--color-teal-dark)}.thumbnail-field{align-items:stretch}.upload-control{justify-content:center;width:fit-content;max-width:100%}.thumbnail-preview .icon,.class-thumb .icon,.member-course-thumb .icon{width:18px;height:18px}.certificate-thumb{aspect-ratio:16/9;border:1px solid var(--color-border);object-fit:cover;background:#f0f6ff;width:100%;height:auto;min-height:118px}@media (width<=760px){.site-header.public-header{grid-template-columns:minmax(0,1fr) auto}.site-header.dashboard-header{grid-template-columns:36px minmax(0,1fr) auto}.brand{min-width:0}.brand span:last-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.dashboard-layout{grid-template-columns:minmax(0,1fr);gap:12px;width:calc(100% - 22px);max-width:none;margin-inline:auto}.dashboard-main{grid-column:1/-1;width:100%;overflow:hidden}.dashboard-sidebar{grid-column:auto;grid-auto-rows:max-content;align-content:start;gap:12px;width:min(288px,100% - 76px);padding:16px}.sidebar-profile{grid-template-columns:38px minmax(0,1fr) 34px;gap:10px}.drawer-close{width:34px;height:34px;color:var(--color-heading);border-color:var(--color-border);background:#fff}.dashboard-menu{grid-auto-rows:max-content;align-content:start;gap:4px}.dashboard-menu button{min-height:40px;padding:0 10px}.summary-grid,.menu-card-grid,.admin-actions{grid-template-columns:1fr}.panel,.action-card,.metric-card,.login-panel,.schedule-board{padding:14px}.panel-heading .button-row,.modal-actions{width:100%}.button-row .btn,.modal-actions .btn{flex:130px}.learning-item{grid-template-columns:50px minmax(0,1fr);align-items:start;gap:10px}.member-course-thumb{width:50px;height:38px}.learning-item .progress-block{grid-column:1/-1}.progress-meta{align-items:flex-start}.admin-table{gap:10px;display:grid}.table-row{width:100%;min-width:0;padding:12px}.table-row [role=cell]{grid-template-columns:76px minmax(0,1fr);justify-content:stretch;align-items:center;gap:8px;width:100%;display:grid}.table-row [role=cell]:before{align-self:start;font-size:.68rem;line-height:1.4}.table-row .class-cell{grid-template-columns:74px minmax(0,1fr);align-items:center;gap:10px}.table-row .class-cell:before{grid-column:1/-1;margin-bottom:0}.class-thumb{width:74px;height:46px}.table-row .row-actions{grid-template-columns:76px repeat(2,minmax(0,1fr));justify-content:stretch}.row-actions button{width:100%}.crud-editor,.profile-editor,.confirm-dialog{width:min(100%,100vw - 24px);max-height:calc(100svh - 24px);padding:14px}.crud-editor .crud-form,.crud-form,.thumbnail-field{grid-template-columns:1fr}.thumbnail-preview,.upload-control{width:100%}}@media (width<=520px){.site-header.public-header{grid-template-columns:minmax(0,1fr) auto}.site-header.dashboard-header{grid-template-columns:36px minmax(0,1fr) auto}.site-header:not(.logged-in){grid-template-columns:minmax(0,1fr) 36px}.public-menu-toggle,.dashboard-header-toggle,.modal-heading button{width:34px;height:34px}.profile-trigger{width:36px;padding:3px}.table-row [role=cell]{grid-template-columns:1fr}.table-row .class-cell{grid-template-columns:64px minmax(0,1fr)}.class-thumb{width:64px;height:42px}.table-row .row-actions{grid-template-columns:1fr 1fr}.table-row .row-actions:before{grid-column:1/-1}.modal-actions,.button-row{flex-direction:column;align-items:stretch}.button-row .btn,.modal-actions .btn{width:100%}}@media (width<=760px){.btn{min-height:34px;padding:0 10px;font-size:.8rem}.panel-heading .button-row,.modal-actions{flex-wrap:wrap;gap:7px;width:auto}.button-row .btn,.modal-actions .btn{flex:none;width:auto;min-width:78px}.crud-editor .modal-actions,.profile-editor .modal-actions,.confirm-dialog .modal-actions{justify-content:flex-end}.confirm-dialog .btn,.crud-editor .modal-actions .btn,.profile-editor .modal-actions .btn{min-height:34px;padding-inline:10px}.profile-dropdown{width:168px}.profile-dropdown button{min-height:34px;padding:0 8px;font-size:.8rem}}@media (width<=520px){.modal-actions,.button-row{flex-direction:row;justify-content:flex-end;align-items:center}.button-row .btn,.modal-actions .btn{flex:none;width:auto}.panel-heading .button-row{align-self:flex-start}}@media (width<=360px){.button-row,.modal-actions{grid-template-columns:repeat(2,minmax(0,1fr));width:100%;display:grid}.button-row .btn,.modal-actions .btn{width:100%;min-width:0}}.crud-form textarea,.task-box textarea{border:1px solid var(--color-border);width:100%;min-height:92px;color:var(--color-heading);font:inherit;resize:vertical;background:#fff;border-radius:7px;padding:10px}.materials-editor{grid-column:1/-1;gap:10px;min-width:0;padding-top:4px;display:grid}.materials-editor-heading,.material-editor-title,.task-actions{align-items:center;display:flex}.materials-editor-heading{justify-content:space-between;gap:10px}.material-editor-card{border:1px solid var(--color-border);background:#fff;border-radius:7px;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:12px;display:grid}.material-editor-title{grid-column:1/-1;gap:8px}.material-editor-title span,.material-nav>span{width:28px;height:28px;color:var(--color-teal-dark);background:#f0f6ff;border-radius:7px;place-items:center;font-size:.8rem;font-weight:650;display:inline-grid}.material-editor-title strong{color:var(--color-heading);flex:auto}.material-editor-title button{border:1px solid var(--color-border);width:30px;height:30px;color:var(--color-heading);cursor:pointer;background:#fff;border-radius:7px;place-items:center;display:inline-grid}.material-editor-title button:disabled,.btn:disabled,.material-nav:disabled{cursor:not-allowed;opacity:.52}.material-list-editor{gap:10px;display:grid}.material-list-row{border:1px solid var(--color-border);background:#fff;border-radius:7px;grid-template-columns:34px 34px minmax(0,1fr) auto 34px;align-items:center;gap:10px;padding:10px;transition:border-color .18s,background .18s,box-shadow .18s,transform .18s;display:grid}.material-list-row.dragging{background:#ecfdf9;border-color:#14b8a6;transform:scale(.995);box-shadow:0 8px 20px #0f172a14}.material-list-row>span{width:30px;height:30px;color:var(--color-teal-dark);background:#f0f6ff;border-radius:7px;place-items:center;font-weight:700;display:inline-grid}.material-drag-handle{border:1px solid var(--color-border);width:34px;height:34px;color:var(--color-muted);cursor:grab;background:#fbfcfd;border-radius:7px;place-items:center;display:inline-grid}.material-drag-handle:active{cursor:grabbing}.material-drag-handle:disabled{cursor:not-allowed;opacity:.45}.material-drag-handle .icon{width:17px;height:17px}.material-list-row div{gap:3px;min-width:0;display:grid}.material-list-row strong,.material-list-row small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.material-list-row small{color:var(--color-muted);font-size:.75rem}.material-list-row>button:not(.btn):not(.material-drag-handle){border:1px solid var(--color-border);width:34px;height:34px;color:var(--color-heading);cursor:pointer;background:#fff;border-radius:7px;place-items:center;display:inline-grid}.material-list-row>button:disabled{opacity:.45;cursor:not-allowed}.material-modal-backdrop{z-index:120}.material-modal-editor{width:min(920px,100vw - 28px);max-height:min(860px,100vh - 28px);overflow:auto}.rich-text-field{gap:8px;display:grid}.rich-text-field>span{color:var(--color-heading);font-size:.86rem;font-weight:650}.rich-text-toolbar{border:1px solid var(--color-border);background:linear-gradient(#fff 0%,#f8fbff 100%);border-radius:7px;flex-wrap:wrap;align-items:center;gap:8px;padding:9px;display:flex;box-shadow:inset 0 -1px #0f172a0a}.rich-text-toolbar-group,.rich-text-color-group{background:#fff;border:1px solid #dbe7ff;border-radius:7px;align-items:center;gap:4px;padding:3px;display:inline-flex}.rich-text-toolbar button{width:34px;height:34px;color:var(--color-heading);cursor:pointer;background:0 0;border:0;border-radius:6px;place-items:center;transition:background .18s,color .18s,transform .18s;display:inline-grid}.rich-text-toolbar button:hover{color:#1d4ed8;background:#edf4ff;transform:translateY(-1px)}.rich-text-toolbar button svg{width:18px;height:18px}.rich-text-color-group button{background:linear-gradient(var(--swatch), var(--swatch)) padding-box, linear-gradient(135deg, #dbe7ff, #c7d2fe) border-box;border:2px solid #fff;border-radius:999px;width:24px;height:24px;box-shadow:0 0 0 1px #dbe7ff}.rich-text-color-group button:hover{transform:translateY(-1px)scale(1.04)}.rich-text-editor{border:1px solid var(--color-border);min-height:150px;color:var(--color-heading);text-align:left;caret-color:#2563eb;overflow-wrap:anywhere;direction:ltr;unicode-bidi:isolate;background:#fff;border-radius:7px;outline:none;padding:12px;line-height:1.7}.rich-text-editor:focus{border-color:#2f6df6;box-shadow:0 0 0 3px #2f6df61f}.rich-text-editor:empty:before{content:attr(data-placeholder);color:#94a3b8;pointer-events:none}.rich-text-editor :where(p,ul,ol){margin:0 0 .7em}.rich-text-editor :where(ul,ol){padding-left:1.25rem}.video-upload-field{background:#fbfcfd;border:1px dashed #c8d9ff;border-radius:7px;grid-column:1/-1;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px;display:grid}.video-file-meta{gap:3px;min-width:0;display:grid}.video-file-meta strong,.video-file-meta small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.video-file-meta small{color:var(--color-muted);font-size:.72rem}.upload-progress{gap:4px;margin-top:4px;display:grid}.upload-progress>span{background:#e8eef6;border-radius:999px;width:100%;height:7px;overflow:hidden}.upload-progress i{border-radius:inherit;background:linear-gradient(90deg,#2563eb,#14b8a6);height:100%;transition:width .2s;display:block}.upload-progress.error i{background:#ef4444}.check-field{flex-direction:row;grid-column:1/-1;align-items:center;gap:8px;display:flex!important}.check-field input{accent-color:var(--color-teal-dark);width:16px!important;min-height:16px!important}.course-entry{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer}.course-entry:hover{background:#fff;border-color:#c8d9ff}.course-entry-action{color:var(--color-teal-dark);justify-self:end;font-size:.78rem;font-weight:650}.course-room-grid{grid-template-columns:minmax(0,1fr) minmax(250px,300px);align-items:start;gap:14px;display:grid}.material-sidebar{border:1px solid var(--color-border);scrollbar-width:thin;background:#fbfcfd;border-radius:7px;grid-template-columns:1fr;align-content:start;gap:8px;max-height:min(560px,100svh - 150px);padding:10px;display:grid;overflow-y:auto}.material-list-heading{grid-column:1/-1}.material-list-heading .eyebrow{margin-bottom:4px}.material-nav{border:1px solid var(--color-border);color:var(--color-text);font:inherit;text-align:left;cursor:pointer;background:#fff;border-radius:7px;grid-template-columns:28px minmax(0,1fr);align-items:center;gap:8px;padding:9px;display:grid}.material-nav.active{color:var(--color-heading);background:#f0f6ff;border-color:#c8d9ff}.material-nav strong,.material-nav small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.material-nav small{color:var(--color-muted);grid-column:2;font-size:.72rem}.material-viewer{gap:12px;min-width:0;display:grid}.video-frame{aspect-ratio:16/9;border:1px solid var(--color-border);background:#0f172a;border-radius:7px;width:100%;position:relative;overflow:hidden}.video-frame iframe,.video-frame video,.video-placeholder{border:0;width:100%;height:100%}.video-frame video{object-fit:contain;background:#0f172a;display:block}.video-watermark{pointer-events:none;color:#ffffffb3;background:#0f172a85;border:1px solid #ffffff2e;border-radius:7px;padding:5px 8px;font-size:.72rem;font-weight:550;position:absolute;bottom:10px;right:12px}.video-placeholder{color:#dbe7ff;text-align:center;place-content:center;place-items:center;gap:8px;display:grid}.video-placeholder .icon{width:28px;height:28px}.material-content,.task-box{gap:10px;display:grid}.material-description-section{background:#fff;border:1px solid #dbe7ff;border-radius:7px;gap:10px;padding:14px;display:grid}.material-description-section h3{margin:2px 0 0}.material-description{color:#263244;background:#f8fbff;border:1px solid #dbe7ff;border-radius:7px;gap:8px;padding:12px;line-height:1.75;display:grid}.material-description :where(p,ul,ol){margin:0}.material-description :where(ul,ol){padding-left:1.2rem}.task-box{border:1px solid var(--color-border);background:#fbfcfd;border-radius:7px;padding:12px}.task-box label{color:var(--color-heading);gap:7px;font-size:.82rem;font-weight:550;display:grid}.task-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px}.icon-left{transform:rotate(180deg)}@media (width<=760px){.materials-editor-heading{flex-direction:column;align-items:flex-start}.material-editor-card{grid-template-columns:1fr;padding:10px}.video-upload-field{grid-template-columns:1fr}.course-room-grid{grid-template-columns:minmax(0,1fr)}.course-entry{grid-template-columns:50px minmax(0,1fr)}.course-entry .progress-block,.course-entry-action{grid-column:1/-1}.course-entry-action{justify-self:start}.material-sidebar{grid-template-columns:1fr;max-height:246px}.task-actions{justify-content:flex-start}}@media (width<=520px){.material-nav{padding:8px}.task-actions{grid-template-columns:1fr;display:grid}.task-actions .btn{width:100%}}.prompt-editor,.prompt-gallery,.support-replies{gap:10px;display:grid}.prompt-editor{grid-column:1/-1;padding-top:4px}.prompt-editor-heading,.prompt-editor-title,.prompt-gallery-heading,.prompt-actions,.ticket-header{align-items:center;display:flex}.prompt-editor-heading,.prompt-gallery-heading,.ticket-header{justify-content:space-between;gap:10px}.prompt-editor-track{gap:10px;display:grid}.prompt-editor-card{border:1px solid var(--color-border);background:#fbfcfd;border-radius:7px;grid-template-columns:132px minmax(0,1fr);gap:10px;padding:10px;display:grid}.prompt-editor-title{grid-column:1/-1;gap:8px}.prompt-editor-title span{width:26px;height:26px;color:var(--color-teal-dark);background:#f0f6ff;border-radius:7px;place-items:center;font-size:.78rem;font-weight:650;display:inline-grid}.prompt-editor-title strong{flex:auto}.prompt-editor-title button{border:1px solid var(--color-border);width:30px;height:30px;color:var(--color-heading);cursor:pointer;background:#fff;border-radius:7px;place-items:center;display:inline-grid}.prompt-image-preview,.prompt-card-image{aspect-ratio:4/3;border:1px solid var(--color-border);width:100%;color:var(--color-teal-dark);background:#f0f6ff;border-radius:7px;place-items:center;display:inline-grid;overflow:hidden}.prompt-image-preview img,.prompt-card-image img,.image-preview-modal img{object-fit:cover;width:100%;height:100%}.prompt-editor-fields{gap:8px;display:grid}.prompt-upload{width:100%}.prompt-gallery{border:1px solid var(--color-border);background:#fbfcfd;border-radius:7px;padding:12px}.prompt-gallery-track{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.prompt-card{border:1px solid var(--color-border);background:#fff;border-radius:7px;grid-template-columns:minmax(120px,.7fr) minmax(0,1fr);gap:10px;padding:10px;display:grid}.prompt-card.text-only{grid-template-columns:1fr}.prompt-card.text-only .prompt-card-body p{-webkit-line-clamp:unset}.prompt-card-image{cursor:pointer;padding:0}.prompt-card-body{gap:8px;min-width:0;display:grid}.prompt-card-body p{color:var(--color-muted);-webkit-line-clamp:4;overflow-wrap:anywhere;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.prompt-actions{flex-wrap:wrap;gap:6px}.prompt-actions .btn{min-height:32px;padding-inline:9px}.support-replies{margin-top:6px}.support-reply-card{border:1px solid var(--color-border);background:#fff;border-radius:7px;gap:10px;padding:12px;display:grid}.support-reply-card p,.support-reply-card small{color:var(--color-muted)}.mentor-answer{background:#f0f6ff;border-radius:7px;padding:10px;color:var(--color-heading)!important}.image-preview-modal{border:1px solid var(--color-border);width:min(760px,100vw - 28px);max-height:calc(100svh - 28px);box-shadow:var(--shadow-md);background:#fff;border-radius:7px;gap:14px;padding:16px;display:grid;overflow-y:auto}.image-preview-modal img{object-fit:contain;background:#f0f6ff;border-radius:7px;max-height:70svh}@media (width<=920px){.prompt-gallery-track{grid-template-columns:1fr}}@media (width<=760px){.prompt-editor-track{scroll-snap-type:x proximity;scrollbar-width:thin;gap:10px;padding-bottom:4px;display:flex;overflow-x:auto}.prompt-editor-card{scroll-snap-align:start;flex:0 0 min(86vw,340px);grid-template-columns:1fr}.prompt-gallery-track{scroll-snap-type:x mandatory;gap:10px;padding-bottom:4px;display:flex;overflow-x:auto}.prompt-card{scroll-snap-align:start;flex:0 0 min(86vw,340px);grid-template-columns:1fr}.prompt-card-image{min-height:188px}}.member-table .table-row,.support-table .table-row{grid-template-columns:minmax(220px,1.1fr) minmax(120px,.55fr) minmax(96px,.42fr) minmax(230px,1.12fr) minmax(170px,.8fr) minmax(132px,.58fr)}.support-table .table-row{grid-template-columns:minmax(220px,1.2fr) minmax(130px,.7fr) minmax(105px,.5fr) minmax(120px,.6fr) minmax(140px,.7fr)}.member-table .table-row{min-width:1060px}.member-identity,.support-message{align-items:center;gap:10px;min-width:0;display:flex}.member-identity .sidebar-avatar{flex:none;position:static}.member-identity strong,.member-identity small,.support-message strong,.support-message small{overflow-wrap:anywhere;display:block}.member-identity small,.support-message small,.password-note,.support-ticket-preview span,.support-ticket-preview p{color:var(--color-muted)}.support-message{gap:3px;display:grid}.member-progress-cell,.member-activity-cell{min-width:0}.member-progress-content,.member-activity-content{gap:5px;min-width:0;display:grid}.member-progress-heading{justify-content:space-between;align-items:center;gap:8px;min-width:0;display:flex}.member-progress-heading strong{color:var(--color-heading);font-size:.95rem}.member-progress-heading small,.member-progress-content>small,.member-activity-content small{color:var(--color-muted);text-overflow:ellipsis;white-space:nowrap;font-size:.72rem;overflow:hidden}.member-progress-track{height:6px}.presence-badge{color:#52606f;background:#f8fbff;border:1px solid #dbe7ff;border-radius:999px;align-items:center;gap:7px;width:max-content;min-height:24px;padding:0 8px;font-size:.74rem;font-weight:650;display:inline-flex}.presence-badge>span{background:#94a3b8;border-radius:999px;width:8px;height:8px}.presence-badge.online{color:#11615a;background:#ecfdf9;border-color:#14b8a64d}.presence-badge.online>span{background:#14b8a6;box-shadow:0 0 0 4px #14b8a624}.table-empty{grid-column:1/-1;margin:10px}.full-field{grid-column:1/-1}.password-note{background:#f8fbff;border:1px solid #dbe7ff;border-radius:7px;padding:10px 12px;font-size:.82rem}.crud-editor textarea{border:1px solid var(--color-border);width:100%;min-height:108px;color:var(--color-heading);font:inherit;resize:vertical;background:#fff;border-radius:7px;padding:10px}.support-ticket-preview{border:1px solid var(--color-border);background:#fbfcfd;border-radius:7px;gap:6px;padding:12px;display:grid}@media (width<=760px){.member-table .table-row,.support-table .table-row{grid-template-columns:1fr;min-width:0}.material-list-row{grid-template-columns:32px 32px minmax(0,1fr) auto}.material-list-row>button:not(.btn):not(.material-drag-handle){grid-column:4}.material-list-row .btn{grid-column:3/5;justify-content:center}.video-upload-field,.pdf-upload-row,.resource-link-editor{grid-template-columns:1fr}.table-row .member-identity{grid-template-columns:76px minmax(0,1fr);display:grid}.table-row .member-identity:before{grid-column:1/-1}}.public-menu-toggle,.dashboard-header-toggle{touch-action:manipulation;flex:0 0 36px;min-width:36px;padding:0;line-height:1}.public-menu-toggle .icon,.dashboard-header-toggle .icon{pointer-events:none;width:17px;height:17px}.admin-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.course-thumb-home{aspect-ratio:16/9;border:1px solid var(--color-border);object-fit:cover;background:#f0f6ff;border-radius:7px;width:100%}.revenue-field span{color:var(--color-teal-dark);margin-top:6px;font-size:.78rem;font-weight:650}.submission-table .table-row{grid-template-columns:minmax(220px,1.35fr) minmax(130px,.75fr) minmax(110px,.55fr) minmax(120px,.6fr) minmax(130px,.6fr)}.submission-review label,.ticket-form label{color:var(--color-heading);gap:7px;font-size:.82rem;font-weight:550;display:grid}.ticket-form{border:1px solid var(--color-border);background:#fbfcfd;border-radius:7px;gap:10px;padding:12px;display:grid}.ticket-form input,.ticket-form textarea{border:1px solid var(--color-border);width:100%;color:var(--color-heading);font:inherit;background:#fff;border-radius:7px;padding:10px}.ticket-form input{min-height:38px}.ticket-card{background:#fff;border-left:3px solid #2563eb;gap:0;min-width:0;padding:0;display:grid;overflow:hidden}.ticket-header{padding:14px 14px 10px}.ticket-header>span{gap:3px;min-width:0;display:grid}.ticket-header strong{color:var(--color-heading)}.ticket-header mark{justify-self:end;width:max-content;min-width:0}.ticket-card small{font-size:.72rem}.mentor-answer{gap:4px;display:grid}.mentor-answer p{color:var(--color-heading);margin:0}.submitted-task-state,.submission-answer,.ticket-thread,.ticket-inline-reply{gap:8px;display:grid}.submission-answer{border:1px solid var(--color-border);background:#fff;border-radius:7px;padding:10px}.submission-answer small,.muted-note{color:var(--color-muted);font-size:.76rem}.ticket-thread{border-block:1px solid var(--color-border);background:#f7f9fc;align-content:start;gap:8px;width:100%;min-width:0;margin:0;padding:12px 14px}.admin-thread{border:1px solid var(--color-border);background:#fbfcfd;border-radius:7px;max-height:260px;padding:10px;overflow-y:auto}.ticket-bubble{overflow-wrap:anywhere;border-radius:16px;gap:5px;min-width:0;max-width:min(78%,420px);padding:9px 12px;display:grid;box-shadow:0 1px 1px #1020270d}.ticket-bubble.member{color:var(--color-heading);background:#fff;border-bottom-left-radius:5px;justify-self:start}.ticket-bubble.mentor{color:#fff;background:#2563eb;border-bottom-right-radius:5px;justify-self:end}.ticket-bubble.mentor p,.ticket-bubble.mentor small{color:#fff}.ticket-bubble small{color:var(--color-muted);font-size:.7rem;font-weight:650}.ticket-bubble p{color:inherit;line-height:1.45}.ticket-card>small{padding:10px 14px 14px}.ticket-inline-reply{background:#fff;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:8px;padding:12px 14px 14px}.ticket-inline-reply textarea{border:1px solid var(--color-border);width:100%;min-height:44px;max-height:120px;color:var(--color-heading);font:inherit;resize:vertical;background:#f8fafc;border-radius:16px;padding:11px 12px}.ticket-inline-reply .btn{border-radius:16px;justify-self:end;min-height:44px}.scroll-hint{color:var(--color-muted);margin:0;font-size:.76rem;font-weight:550;display:none}@media (width>=921px){.prompt-gallery-track{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.prompt-card{grid-template-columns:1fr;align-content:start}.prompt-card-image{min-height:clamp(170px,16vw,230px)}.prompt-card-body p{min-height:5.8em}}@media (width<=920px){.admin-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=760px){.site-header.public-header{grid-template-columns:minmax(0,1fr) auto;gap:8px}.site-header.dashboard-header{grid-template-columns:36px minmax(0,1fr) auto;gap:8px}.site-header:not(.logged-in){grid-template-columns:minmax(0,1fr) 36px}.public-menu-toggle,.dashboard-header-toggle{width:36px;min-width:36px;height:36px}.admin-summary,.submission-table .table-row,.learning-item{grid-template-columns:1fr}.course-progress-percent{grid-template-columns:auto auto;justify-content:center;gap:6px;width:100%;height:auto;min-height:46px}.ticket-header{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:8px;display:grid}.ticket-bubble{max-width:84%}.ticket-inline-reply{grid-template-columns:1fr}.ticket-inline-reply .btn,.ticket-inline-reply textarea{width:100%}.scroll-hint{text-align:right;max-width:190px;display:block}.prompt-gallery-heading{align-items:flex-start}.prompt-gallery-track,.prompt-editor-track{-webkit-overflow-scrolling:touch;padding-right:18px}}@media (width<=390px){.public-menu-toggle,.dashboard-header-toggle{width:34px;min-width:34px;height:34px}.site-header.public-header{grid-template-columns:minmax(0,1fr) auto}.site-header.dashboard-header{grid-template-columns:34px minmax(0,1fr) auto}.brand-mark{width:30px;height:30px}.brand{gap:7px;font-size:.86rem}.site-header.public-header .brand span:last-child{max-width:92px}.header-actions{gap:6px}.notification-trigger,.profile-trigger{width:34px;height:34px;min-height:34px}.profile-avatar{width:28px;height:28px}.ticket-bubble{max-width:88%}.ticket-header{grid-template-columns:1fr}.ticket-header mark{justify-self:start}}.auth-page{grid-template-columns:minmax(0,520px);place-content:center;justify-items:center;gap:22px}.auth-page .page-intro,.auth-page .login-panel{width:min(100%,520px)}.auth-page .page-intro{text-align:center;justify-self:center;padding-top:0}.auth-page .auth-points{text-align:left}.auth-page .login-panel{justify-self:center}@media (width<=760px){.auth-page{align-content:start;padding-top:34px}}@media (width<=520px){.auth-page{gap:18px;width:min(100% - 28px,520px);padding-top:28px}.auth-page .page-intro h1{font-size:2rem}}.page-wrap:has(.auth-page){isolation:isolate;background:linear-gradient(135deg,#081723e0,#0e74906b),linear-gradient(#0817231f,#08172361),url(/assets/online-class-hero-ClwoX7UQ.png) 50%/cover;place-items:center;width:100%;min-height:calc(100svh - 60px);padding:clamp(34px,5vw,68px) 18px;display:grid;position:relative;overflow:hidden}.page-wrap:has(.auth-page):before{content:"";z-index:-2;background-image:linear-gradient(#ffffff12 1px,#0000 1px),linear-gradient(90deg,#ffffff12 1px,#0000 1px);background-size:42px 42px;animation:14s linear infinite loginGridDrift;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#0000,#000 18% 82%,#0000);mask-image:linear-gradient(#0000,#000 18% 82%,#0000)}.page-wrap:has(.auth-page):after{content:"";z-index:-1;pointer-events:none;background:linear-gradient(#0000,#f8fafc29);height:34%;position:absolute;inset:auto 0 0}.auth-page{color:#fff;grid-template-columns:minmax(280px,.92fr) minmax(320px,440px);justify-content:center;place-items:center stretch;gap:clamp(22px,5vw,64px);width:min(1040px,100%);position:relative}.auth-page .page-intro,.auth-page .login-panel{width:100%;max-width:none}.auth-page .page-intro{text-align:left;justify-self:end;gap:18px;animation:.7s both loginIntroIn;display:grid}.auth-page .page-intro .eyebrow{color:#9af5e4;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffff1a;border:1px solid #ffffff3d;border-radius:999px;width:max-content;max-width:100%;margin:0;padding:7px 10px}.auth-page .page-intro h1{color:#fff;letter-spacing:0;font-size:clamp(2.4rem,5vw,4.7rem);font-weight:760}.auth-page .page-intro p:not(.eyebrow){color:#ffffffd1;max-width:540px;margin:0;font-size:1rem;line-height:1.7}.auth-page .auth-points{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;max-width:620px;margin:8px 0 0}.auth-page .auth-points div{color:#fff;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffff1a;border-color:#fff3;flex-direction:column;align-items:flex-start;gap:10px;min-height:86px;padding:14px;animation:5.5s ease-in-out infinite loginCardFloat;box-shadow:0 18px 40px #00000024}.auth-page .auth-points div:nth-child(2){animation-delay:.45s}.auth-page .auth-points div:nth-child(3){animation-delay:.9s}.auth-page .auth-points .icon{color:#9af5e4}.auth-page .login-panel{-webkit-backdrop-filter:blur(22px)saturate(1.15);backdrop-filter:blur(22px)saturate(1.15);background:#ffffffe0;border:1px solid #ffffff61;border-radius:18px;justify-self:start;padding:clamp(20px,3vw,30px);animation:.72s cubic-bezier(.22,1,.36,1) both loginPanelIn;position:relative;overflow:hidden;box-shadow:0 30px 80px #040f1b5c,inset 0 1px #ffffff94}.auth-page .login-panel:before{content:"";pointer-events:none;background:linear-gradient(120deg,#0000 0 20%,#ffffff7a 34%,#0000 48% 100%);animation:4.8s ease-in-out 1.2s infinite loginPanelSheen;position:absolute;inset:0;transform:translate(-120%)}.auth-page .form-heading{z-index:1;position:relative}.auth-page .form-heading>.icon{color:#fff;background:linear-gradient(135deg,#2563eb,#14b8a6);border:0;box-shadow:0 12px 28px #2563eb40}.auth-page .form-heading h2{color:var(--color-heading);font-size:1.35rem}.auth-page .form-heading p{color:var(--color-muted)}.auth-page .login-panel form,.auth-page .login-panel{gap:16px}.auth-page .login-panel label{color:var(--color-heading)}.auth-page .login-panel input[type=text],.auth-page .login-panel input[type=email],.auth-page .login-panel input[type=password]{background:#f8fafceb;border-color:#d9e4f5;border-radius:12px;min-height:50px;transition:border-color .2s,box-shadow .2s,transform .2s,background-color .2s}.auth-page .login-panel input:focus{background:#fff;border-color:#2563eb;transform:translateY(-1px);box-shadow:0 0 0 4px #2563eb1f}.auth-page .login-panel .btn-primary{background:linear-gradient(135deg,#2563eb,#14b8a6);border-radius:12px;min-height:50px;box-shadow:0 18px 38px #2563eb47}.auth-page .login-panel .btn-primary:hover{background:linear-gradient(135deg,#1d4ed8,#0f9f92);transform:translateY(-2px)}@media (width<=900px){.auth-page{grid-template-columns:minmax(0,520px);justify-items:center;gap:24px}.auth-page .page-intro,.auth-page .login-panel{justify-self:center}.auth-page .page-intro{text-align:center}.auth-page .page-intro .eyebrow{justify-self:center}.auth-page .page-intro p:not(.eyebrow){margin-inline:auto}.auth-page .auth-points{grid-template-columns:1fr;width:min(100%,430px);margin-inline:auto}.auth-page .auth-points div{flex-direction:row;align-items:center;min-height:58px}}@media (width<=520px){.page-wrap:has(.auth-page){min-height:calc(100svh - 56px);padding:28px 14px}.auth-page{width:100%;padding-top:0}.auth-page .page-intro h1{font-size:clamp(2rem,10vw,2.7rem)}.auth-page .page-intro p:not(.eyebrow){font-size:.92rem}.auth-page .auth-points{display:none}.auth-page .login-panel{border-radius:16px}}@media (prefers-reduced-motion:reduce){.auth-page .page-intro,.auth-page .auth-points div,.auth-page .login-panel,.auth-page .login-panel:before{animation:none}.page-wrap:has(.auth-page):before{animation:none}}@keyframes loginIntroIn{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes loginPanelIn{0%{opacity:0;transform:translateY(24px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes loginPanelSheen{0%,58%{transform:translate(-120%)}78%,to{transform:translate(120%)}}@keyframes loginGridDrift{0%{background-position:0 0,0 0}to{background-position:42px 42px,42px 42px}}@keyframes loginCardFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.page-wrap:has(.auth-page){place-items:center}.auth-page{grid-template-columns:minmax(0,520px);place-content:center;justify-items:center;width:min(100%,560px);margin-inline:auto}.auth-page .page-intro,.auth-page .login-panel{justify-self:center;width:min(100%,520px)}.auth-page .page-intro{text-align:center}.auth-page .page-intro .eyebrow{justify-self:center}.auth-page .page-intro p:not(.eyebrow),.auth-page .auth-points{margin-inline:auto}.auth-page .login-panel{max-width:440px}.auth-page .auth-points{grid-template-columns:1fr;width:min(100%,440px)}.auth-page .auth-points div{flex-direction:row;align-items:center;min-height:58px}@media (width<=520px){.auth-page,.auth-page .page-intro,.auth-page .login-panel{width:100%}.auth-page .login-panel{max-width:100%}}.modern-hero{background-image:url(/assets/online-class-hero-ClwoX7UQ.png);background-position:50%;background-size:cover;background-attachment:fixed;min-height:calc(100svh - 60px);position:relative;overflow:clip}.modern-hero:before{content:"";z-index:0;opacity:.42;background-image:linear-gradient(#ffffff14 1px,#0000 1px),linear-gradient(90deg,#ffffff14 1px,#0000 1px);background-size:44px 44px;animation:18s linear infinite heroGridSlide;position:absolute;inset:0;transform:translateZ(0);-webkit-mask-image:linear-gradient(#0000 0%,#000 18% 76%,#0000 100%);mask-image:linear-gradient(#0000 0%,#000 18% 76%,#0000 100%)}.modern-hero:after{content:"";z-index:0;background:linear-gradient(#0000,#f8fafcf2);height:28%;position:absolute;inset:auto 0 0}.modern-hero__overlay{z-index:1;background:linear-gradient(90deg,#06121df0,#092d3ca8 58%,#06121d33),linear-gradient(#06121d1a,#06121d70);grid-template-columns:minmax(0,1fr);align-items:center;gap:clamp(22px,5vw,70px);min-height:calc(100svh - 60px);padding:clamp(72px,8vw,112px) 40px clamp(92px,10vw,132px);display:grid;position:relative}.modern-hero__content{z-index:2;perspective:900px;width:min(860px,100%);position:relative}.hero-globe-shell{z-index:1;aspect-ratio:1;filter:drop-shadow(0 36px 72px #14b8a633)drop-shadow(0 18px 42px #2563eb3d);justify-self:center;width:min(42vw,510px);min-width:300px;animation:.85s .12s both globeReveal;position:relative}.hero-globe-shell canvas{width:100%;height:100%;display:block}.globe-fallback-core{background:linear-gradient(115deg,#0000 45%,#9af5e46b 46% 48%,#0000 49%),linear-gradient(60deg,#0000 40%,#ffffff38 41% 44%,#0000 45%),radial-gradient(circle at 34% 30%,#ffffffa3,#0000 11%),linear-gradient(135deg,#2563eb,#0f766e);border:1px solid #9af5e45c;border-radius:999px;animation:10s linear infinite fallbackGlobeSpin;display:none;position:absolute;inset:14%;box-shadow:inset -22px -18px 42px #05101f57,0 30px 70px #2563eb42}.globe-fallback .globe-fallback-core{display:block}.modern-hero__content .eyebrow{color:#9af5e4;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffff1a;border:1px solid #fff3;border-radius:999px;width:max-content;max-width:100%;padding:8px 11px;animation:.7s both heroFadeUp}.hero-title-modern{color:#fff;letter-spacing:0;text-shadow:0 2px #9af5e46b,0 12px #2563eb29,0 28px 54px #0000006b;max-width:780px;margin-top:18px;font-size:clamp(2.8rem,7.2vw,5.8rem);font-weight:860;line-height:.98;animation:.78s cubic-bezier(.22,1,.36,1) 60ms both heroTitleReveal;transform:translateZ(34px)rotateX(0)}.particle-title{--break-progress:0;width:min(820px,100%);min-height:clamp(210px,31vw,360px);transform-style:preserve-3d;margin-top:10px;position:relative}.particle-title h1{z-index:1;color:#fff;letter-spacing:0;text-shadow:0 2px #9af5e485,0 8px #2563eb3d,0 22px 42px #0000006b;max-width:none;opacity:calc(1 - (var(--break-progress) * .86));transform:rotateX(calc(var(--break-progress) * 16deg)) translateY(calc(var(--break-progress) * -18px)) translateZ(calc(26px - (var(--break-progress) * 80px)));pointer-events:none;align-content:center;font-size:clamp(2.6rem,7.4vw,5.9rem);font-weight:860;line-height:.97;transition:opacity .12s linear,transform .12s linear;display:grid;position:absolute;inset:0}.particle-title canvas{z-index:2;filter:drop-shadow(0 10px 20px #14b8a629)drop-shadow(0 26px 42px #00000042);width:100%;height:100%;transform:translateY(calc(var(--break-progress) * 28px)) rotateX(calc(var(--break-progress) * 10deg));transform-origin:50% 42%;pointer-events:none;position:absolute;inset:0}.modern-hero .hero-copy{color:#ffffffdb;max-width:600px;line-height:1.72;animation:.72s .1s both heroFadeUp}.modern-hero .hero-actions{animation:.72s .2s both heroFadeUp}.modern-hero .btn-primary{background:linear-gradient(135deg,#2563eb,#14b8a6);box-shadow:0 24px 54px #2563eb4d}.modern-hero .btn-ghost{color:#fff;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffff1f;border-color:#ffffff5c}.modern-hero .btn:hover{transform:translateY(-3px)}.modern-stats{z-index:2;background:#f8fafc;margin-top:-1px;position:relative}.modern-stats div{position:relative;overflow:hidden}.modern-stats div:after{content:"";transform-origin:0;background:linear-gradient(90deg,#2563eb,#14b8a6,#ef6c53);border-radius:999px 999px 0 0;height:3px;transition:transform .35s;position:absolute;inset:auto 18px 0;transform:scaleX(.28)}.modern-stats div:hover:after{transform:scaleX(1)}.modern-section{position:relative}.modern-section:before{content:"";z-index:-1;opacity:.7;background:linear-gradient(90deg,#0000,#2563eb0d,#0000) 0 0/100% 100%,linear-gradient(#1020270a 1px,#0000 1px) 0 0/100% 42px;position:absolute;inset:0}.reveal-panel{animation:.7s both sectionReveal;animation-timeline:view();animation-range:entry 8% cover 32%}.animated-card{animation:.7s both cardReveal;animation-delay:var(--card-delay,0s);transition:transform .28s,border-color .28s,box-shadow .28s;animation-timeline:view();animation-range:entry cover 26%;position:relative;overflow:hidden}.animated-card:before{content:"";pointer-events:none;background:linear-gradient(120deg,#0000 0 24%,#ffffffad 38%,#0000 54% 100%);transition:transform .72s;position:absolute;inset:0;transform:translate(-120%)}.animated-card:hover{border-color:#2563eb3d;transform:translateY(-6px);box-shadow:0 22px 48px #1020271f}.animated-card:hover:before{transform:translate(120%)}.animated-card>i{opacity:.22;background:linear-gradient(90deg,#2563eb,#14b8a6,#ef6c53);border-radius:999px;height:3px;position:absolute;inset:auto 16px 14px}.homepage-course-card{background:linear-gradient(180deg, #fff, #f8fbff), var(--color-surface);border-color:#cdd9e8e6;grid-template-columns:1fr;align-content:start;min-height:360px;padding:0;position:relative;overflow:hidden}.homepage-course-card:after{content:"";border-radius:inherit;pointer-events:none;opacity:0;background:linear-gradient(135deg,#2563eb14,#0000 38%),linear-gradient(#14b8a614,#0000 35%);transition:opacity .28s;position:absolute;inset:0}.homepage-course-card:hover:after{opacity:1}.homepage-course-visual{aspect-ratio:16/9;color:#fff;background:linear-gradient(135deg,#2563ebeb,#14b8a6cc),#2563eb;place-items:center;min-height:0;display:grid;position:relative;overflow:hidden}.homepage-course-visual:before{content:"";opacity:.36;background-image:linear-gradient(#ffffff38 1px,#0000 1px),linear-gradient(90deg,#ffffff2e 1px,#0000 1px);background-size:34px 34px;transition:transform .5s;position:absolute;inset:-40%;transform:rotate(12deg)}.homepage-course-card:hover .homepage-course-visual:before{transform:rotate(12deg)translate(24px,-18px)}.homepage-course-visual img{object-fit:cover;width:100%;height:100%;transition:transform .45s;position:absolute;inset:0;transform:scale(1.02)}.homepage-course-card:hover .homepage-course-visual img{transform:scale(1.08)}.homepage-course-visual>.icon{z-index:1;filter:drop-shadow(0 16px 24px #0000003d);width:54px;height:54px;position:relative}.homepage-course-visual span{z-index:2;color:#fff;background:conic-gradient(#9af5e4 calc(var(--progress,72) * 1%), #fff3 0), #08172347;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid #ffffff70;border-radius:999px;place-items:center;width:62px;height:62px;font-size:.9rem;font-weight:820;display:inline-grid;position:absolute;bottom:14px;right:14px;box-shadow:0 18px 38px #0000003d}.homepage-course-body{gap:8px;padding:18px 18px 0;display:grid}.homepage-course-body h3{font-size:1.12rem}.homepage-course-body p{color:var(--color-muted);line-height:1.6}.homepage-course-mentor{color:#11615a;background:#d8fbf2;border-radius:999px;align-items:center;gap:6px;width:max-content;max-width:100%;min-height:28px;padding:0 9px;font-size:.78rem;font-weight:720;display:inline-flex}.homepage-course-mentor .icon{width:14px;height:14px}.homepage-course-card .course-meta{padding:14px 18px 0}.homepage-course-button{background:linear-gradient(135deg,#2563eb,#14b8a6);border-radius:999px;justify-self:start;min-height:40px;margin:14px 18px 18px;box-shadow:0 14px 28px #2563eb33}.homepage-course-button:hover{background:linear-gradient(135deg,#1d4ed8,#0f9f92)}.homepage-course-card>i{opacity:.78;height:4px;inset:auto 18px 0}@media (width<=920px){.modern-hero,.modern-hero__overlay{min-height:82svh}.modern-hero__overlay{grid-template-columns:1fr;padding-inline:24px}.particle-title{min-height:clamp(230px,48vw,330px)}.hero-title-modern{max-width:620px}.hero-globe-shell{z-index:1;opacity:.44;width:min(86vw,520px);min-width:0;position:absolute;top:10%;right:-18%}}@media (width<=620px){.modern-hero,.modern-hero__overlay{min-height:78svh}.modern-hero__overlay{background:linear-gradient(#06121d5c,#06121df0),linear-gradient(90deg,#06121d99,#06121d1f);grid-template-columns:1fr;align-items:flex-end;padding:48px 20px 72px}.modern-hero__content{z-index:2}.hero-globe-shell{opacity:.34;filter:blur(.2px)drop-shadow(0 22px 52px #14b8a638);width:min(112vw,520px);top:8%;right:-36%}.hero-title-modern{font-size:clamp(2.25rem,12vw,3.7rem)}.modern-hero .hero-copy{font-size:.95rem}.modern-hero .hero-actions{grid-template-columns:1fr;display:grid}.modern-hero .btn{width:100%}.homepage-course-card{min-height:330px}}@supports not (animation-timeline:view()){.reveal-panel,.animated-card{animation:.7s both heroFadeUp}}@media (prefers-reduced-motion:reduce){.modern-hero:before,.hero-globe-shell,.reveal-panel,.animated-card{animation:none}.animated-card,.modern-hero .btn{transition:none}}@keyframes heroGridSlide{0%{background-position:0 0,0 0}to{background-position:44px 44px,44px 44px}}@keyframes heroFadeUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes heroTitleReveal{0%{opacity:0;transform:translateY(26px)translateZ(-40px)rotateX(12deg)}to{opacity:1;transform:translateY(0)translateZ(34px)rotateX(0)}}@keyframes sectionReveal{0%{opacity:0;transform:translateY(26px)}to{opacity:1;transform:translateY(0)}}@keyframes globeReveal{0%{opacity:0;transform:translate(26px)scale(.94)}to{opacity:1;transform:translate(0)scale(1)}}@keyframes fallbackGlobeSpin{0%{background-position:0 0,0 0,50%,50%}to{background-position:180px 0,-120px 0,50%,50%}}.gta-hero{background:0 0;min-height:calc(100svh - 60px)}.gta-hero:before{opacity:.24;background-image:linear-gradient(#ffffff0e 1px,#0000 1px),linear-gradient(90deg,#ffffff0b 1px,#0000 1px)}.gta-hero .modern-hero__overlay{background:radial-gradient(at 22% 32%,#2352ff8a,#0000 42%),radial-gradient(at 76% 48%,#d125b17a,#0000 44%),radial-gradient(at 52% 84%,#ff705057,#0000 44%),linear-gradient(135deg,#070a18e0,#070a182e 48%,#0a0714db);place-items:center;min-height:calc(100svh - 60px);padding:clamp(72px,8vw,118px) 28px clamp(82px,9vw,128px);display:grid;overflow:hidden}.gta-hero .modern-hero__overlay:before{content:"";z-index:0;filter:blur(34px);background:linear-gradient(115deg,#2241d652,#0000 28% 72%,#d92aaf47),linear-gradient(35deg,#0000 24%,#ffffff14,#0000 48%);animation:12s ease-in-out infinite alternate gtaColorDrift;position:absolute;inset:-18%}.gta-hero .modern-hero__content{z-index:3;text-align:center;justify-items:center;width:min(1040px,100%);display:grid;position:relative}.gta-hero .modern-hero__content .eyebrow{color:#d9fff7;justify-self:center;margin-bottom:18px}.gta-hero .hero-copy{color:#ffffffb8;text-align:center;max-width:680px;margin-top:22px}.gta-hero .hero-actions{z-index:4;justify-content:center;margin-top:28px;position:relative}.gta-hero .hero-actions .btn{border-radius:999px;min-height:58px;padding-inline:28px}.gta-hero .hero-actions .btn-primary{color:#111827;background:#fffffff0;box-shadow:0 20px 54px #00000047,inset 0 1px #ffffffd1}.gta-hero .hero-actions .btn-primary:hover{color:#0f172a;background:#fff}.gta-hero .hero-actions .btn-ghost{background:#ffffff14;border-color:#ffffff52}.gta-hero .particle-title{--break-progress:0;z-index:1;width:min(880px,88vw);min-height:clamp(160px,22vw,310px);transform:translateX(-50%) translateY(calc(var(--break-progress) * -24px));pointer-events:none;position:absolute;top:10%;left:50%}.gta-hero .particle-title span{z-index:1;color:#ffffff29;letter-spacing:.03em;text-transform:uppercase;opacity:calc(.78 - (var(--break-progress) * .7));transform:perspective(900px) rotateX(calc(18deg + var(--break-progress) * 18deg)) translateZ(calc(-80px - var(--break-progress) * 80px));text-shadow:0 0 44px #ffffff38;place-items:center;font-family:Arial Black,Impact,system-ui,sans-serif;font-size:clamp(5rem,16vw,15rem);font-weight:900;line-height:.84;display:grid;position:absolute;inset:0}.gta-hero .particle-title canvas{z-index:2;opacity:.78;filter:drop-shadow(0 0 22px #ffffff2e)drop-shadow(0 18px 38px #00000052);width:100%;height:100%;position:absolute;inset:0}.rotating-hero-title{z-index:3;color:#fff;text-align:center;text-wrap:balance;perspective:900px;place-items:center;width:min(1120px,100%);min-height:clamp(160px,21vw,240px);display:grid;position:relative}.rotating-hero-phrase{letter-spacing:0;text-shadow:0 24px 80px #0000006b;will-change:transform, opacity, filter;width:100%;font-size:clamp(2.75rem,6.9vw,6rem);font-weight:520;line-height:1.08;display:block}.phrase-variant-0{font-family:Courier New,ui-monospace,monospace;animation:3.4s both phraseTypeSlide}.phrase-variant-1{font-family:Georgia,Times New Roman,serif;font-style:italic;animation:3.4s both phraseBlurScale}.phrase-variant-2{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-weight:760;animation:3.4s both phraseFlipIn}.phrase-variant-3{font-family:Trebuchet MS,system-ui,sans-serif;animation:3.4s both phraseDriftIn}.hero-wire-object{z-index:2;aspect-ratio:1;width:min(250px,48vw);transform-style:preserve-3d;opacity:.78;pointer-events:none;filter:drop-shadow(0 0 24px #fff3)drop-shadow(0 28px 42px #0000003d);animation:8s ease-in-out infinite wireObjectFloat;position:absolute;top:58%;left:50%;transform:translate(-50%,-24%)rotateX(62deg)rotate(-18deg)}.hero-wire-object span{transform-style:preserve-3d;border:1px dotted #ffffff94;border-radius:46% 54% 48% 52%;position:absolute;inset:7%}.hero-wire-object span:first-child{transform:rotateX(70deg)rotateY(12deg)}.hero-wire-object span:nth-child(2){inset:19%;transform:rotateX(18deg)rotateY(72deg)}.hero-wire-object span:nth-child(3){opacity:.62;border-style:solid;inset:29%;transform:rotateX(108deg)rotate(36deg)}@media (width<=760px){.gta-hero .modern-hero__overlay{min-height:82svh;padding:64px 18px 74px}.gta-hero .particle-title{opacity:.72;width:112vw;top:13%}.rotating-hero-title{min-height:clamp(190px,48vw,260px)}.rotating-hero-phrase{font-size:clamp(2.25rem,11vw,4.2rem)}.hero-wire-object{opacity:.58;width:min(230px,64vw);top:62%}}@media (width<=520px){.gta-hero .modern-hero__overlay{min-height:78svh}.gta-hero .hero-actions{width:100%}.gta-hero .hero-actions .btn{width:100%;min-height:52px}.gta-hero .hero-copy{font-size:.92rem}}@media (prefers-reduced-motion:reduce){.gta-hero .modern-hero__overlay:before,.rotating-hero-phrase,.hero-wire-object{animation:none}}@keyframes gtaColorDrift{0%{transform:translate(-2%,-1%)scale(1)}to{transform:translate(2%,2%)scale(1.08)}}@keyframes phraseTypeSlide{0%{opacity:0;filter:blur(12px);transform:translateY(34px)}16%,76%{opacity:1;filter:blur();transform:translateY(0)}to{opacity:0;filter:blur(10px);transform:translateY(-24px)}}@keyframes phraseBlurScale{0%{opacity:0;filter:blur(18px);transform:scale(.92)}18%,74%{opacity:1;filter:blur();transform:scale(1)}to{opacity:0;filter:blur(14px);transform:scale(1.08)}}@keyframes phraseFlipIn{0%{opacity:0;filter:blur(10px);transform:rotateX(32deg)translateY(26px)}18%,74%{opacity:1;filter:blur();transform:rotateX(0)translateY(0)}to{opacity:0;filter:blur(8px);transform:rotateX(-26deg)translateY(-20px)}}@keyframes phraseDriftIn{0%{opacity:0;filter:blur(14px);transform:translate(-38px)skew(-4deg)}18%,74%{opacity:1;filter:blur();transform:translate(0)skew(0)}to{opacity:0;filter:blur(10px);transform:translate(34px)skew(4deg)}}@keyframes wireObjectFloat{0%,to{transform:translate(-50%,-24%)rotateX(62deg)rotate(-18deg)translateY(0)}50%{transform:translate(-50%,-24%)rotateX(66deg)rotate(12deg)translateY(-18px)}}.image-hero{background-image:url(/assets/online-class-hero-ClwoX7UQ.png);background-position:50%;background-size:cover;background-attachment:scroll;min-height:calc(100svh - 60px)}.image-hero:before{opacity:.18}.image-hero .image-hero__overlay{background:linear-gradient(90deg,#07121ee6,#07121e94 56%,#07121e2e),linear-gradient(#07121e0f,#07121e5c);align-items:center;min-height:calc(100svh - 60px);padding:clamp(72px,8vw,112px) clamp(20px,5vw,52px) clamp(72px,8vw,104px);display:flex}.image-hero .image-hero__content{text-align:left;width:min(740px,100%)}.image-hero .hero-title-modern{color:#fff;text-shadow:0 2px #9af5e447,0 18px 44px #0000006b;max-width:720px;margin-top:16px;font-size:clamp(2.5rem,6.4vw,5.35rem);font-weight:840;line-height:1}.image-hero .hero-copy{color:#ffffffe0;max-width:620px}.image-hero .hero-actions{justify-content:flex-start}@media (width<=760px){.image-hero,.image-hero .image-hero__overlay{min-height:78svh}.image-hero .image-hero__overlay{background:linear-gradient(#07121e61,#07121ef0),linear-gradient(90deg,#07121e8a,#07121e14);align-items:flex-end;padding:58px 18px}.image-hero .image-hero__content{text-align:left}.image-hero .hero-title-modern{font-size:clamp(2.15rem,11vw,3.9rem)}.image-hero .hero-copy{font-size:.95rem}.image-hero .hero-actions{grid-template-columns:1fr;width:100%;display:grid}.image-hero .hero-actions .btn{width:100%}}@media (width<=420px){.image-hero .hero-title-modern{font-size:clamp(2rem,10vw,3rem)}.image-hero .image-hero__overlay{padding-bottom:46px}}.site-footer{border-top:1px solid var(--color-border);color:var(--color-text);background:linear-gradient(#fff,#f8fafc)}.site-footer-inner,.site-footer-bottom{width:min(1180px,100% - 48px);margin:0 auto}.site-footer-inner{grid-template-columns:minmax(260px,1.25fr) minmax(180px,.7fr) minmax(240px,.9fr);align-items:start;gap:28px;padding:36px 0 26px;display:grid}.footer-brand-block{gap:12px;display:grid}.footer-brand{color:var(--color-heading);font:inherit;cursor:pointer;background:0 0;border:0;justify-self:start;align-items:center;gap:9px;padding:0;font-weight:760;display:inline-flex}.footer-brand-block p{max-width:520px;color:var(--color-muted);line-height:1.7}.footer-socials{flex-wrap:wrap;gap:9px;margin-top:2px;display:flex}.footer-socials a{border:1px solid var(--color-border);width:38px;height:38px;color:var(--color-heading);box-shadow:var(--shadow-sm);background:#fff;border-radius:999px;place-items:center;transition:transform .2s,border-color .2s,color .2s,background-color .2s;display:inline-grid}.footer-socials a:hover{color:var(--color-teal-dark);background:#ecfdf9;border-color:#0ea5a457;transform:translateY(-2px)}.footer-socials .icon{width:18px;height:18px}.footer-links,.footer-contact{gap:9px;display:grid}.footer-links button{color:var(--color-heading);font:inherit;cursor:pointer;background:0 0;border:0;justify-self:start;padding:0;font-weight:650}.footer-links button:hover{color:var(--color-teal-dark)}.footer-contact span{color:var(--color-muted);align-items:flex-start;gap:9px;line-height:1.55;display:flex}.footer-contact .icon{color:var(--color-teal-dark);margin-top:2px}.site-footer-bottom{border-top:1px solid var(--color-border);color:var(--color-muted);justify-content:space-between;align-items:center;gap:16px;padding:16px 0 22px;font-size:.84rem;display:flex}@media (width<=860px){.site-footer-inner{grid-template-columns:1fr 1fr}.footer-brand-block{grid-column:1/-1}}@media (width<=620px){.site-footer-inner,.site-footer-bottom{width:min(100% - 28px,520px)}.site-footer-inner{grid-template-columns:1fr;gap:22px;padding:30px 0 22px}.site-footer-bottom{flex-direction:column;align-items:flex-start}}.material-resource-editor,.material-resources{border:1px solid var(--color-border);background:#fbfcfd;border-radius:7px;gap:12px;padding:12px;display:grid}.material-resource-editor{grid-column:1/-1}.resource-editor-heading,.pdf-upload-row,.material-resource-actions{align-items:center;gap:10px;display:flex}.resource-editor-heading{justify-content:space-between}.pdf-upload-row{background:#fff;border:1px dashed #c8d9ff;border-radius:7px;grid-template-columns:auto minmax(0,1fr) auto;padding:10px;display:grid}.resource-link-list{gap:8px;display:grid}.resource-link-editor{border:1px solid var(--color-border);background:#fff;border-radius:7px;grid-template-columns:minmax(86px,.4fr) minmax(160px,1fr) minmax(180px,1fr) 34px;align-items:end;gap:8px;padding:10px;display:grid}.resource-link-editor>strong{color:var(--color-heading);align-self:center;font-size:.82rem}.resource-link-editor button{border:1px solid var(--color-border);color:#b43d28;cursor:pointer;background:#fff7f5;border-radius:7px;place-items:center;width:34px;height:34px;display:inline-grid}.material-resources{background:#fff;margin-top:12px}.material-resource-actions{flex-wrap:wrap}.material-resource-actions .btn{max-width:100%;min-height:38px}.task-upload-box{background:#fff;border:1px dashed #c8d9ff;border-radius:7px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px;display:grid}.task-image-settings{border:1px solid var(--color-border);background:#fbfcfd;border-radius:7px;grid-column:1/-1;gap:8px;padding:10px;display:grid}.member-class-access{border:1px solid var(--color-border);background:#fbfcfd;border-radius:7px;gap:8px;max-height:220px;padding:10px;display:grid;overflow-y:auto}.task-upload-box>div{gap:3px;min-width:0;display:grid}.task-upload-box strong,.task-upload-box small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.task-upload-box small{color:var(--color-muted);font-size:.74rem}.submission-attachment-link{border:1px solid var(--color-border);color:#2563eb;background:#f0f6ff;border-radius:999px;align-items:center;gap:7px;width:max-content;max-width:100%;min-height:34px;margin-top:6px;padding:0 10px;font-weight:700;text-decoration:none;display:inline-flex}.submission-image-note{font-weight:700;color:#2563eb!important}.submission-table-thumb{border:1px solid var(--color-border);object-fit:cover;background:#f8fafc;border-radius:7px;width:68px;height:46px;margin-bottom:6px}.submission-image-preview{border:1px solid var(--color-border);background:#fff;border-radius:8px;gap:10px;padding:10px;display:grid}.submission-image-preview img{object-fit:contain;background:#f8fafc;border-radius:7px;width:100%;max-height:360px}.rating-review-field{color:var(--color-heading);gap:8px;font-size:.82rem;font-weight:550;display:grid}.star-rating{flex-wrap:wrap;gap:6px;display:flex}.star-rating button{border:1px solid var(--color-border);color:#a8b1bf;cursor:pointer;background:#fff;border-radius:8px;place-items:center;width:38px;height:38px;font-size:1.25rem;display:inline-grid}.star-rating button.active{color:#f59e0b;background:#fffbeb;border-color:#f59e0b61}.submission-rating-view{color:#f59e0b;letter-spacing:1px;width:max-content;max-width:100%;font-size:1rem;display:inline-flex}@media (width<=760px){.resource-editor-heading,.material-resource-actions{flex-direction:column;align-items:stretch}.pdf-upload-row,.resource-link-editor,.task-upload-box{grid-template-columns:1fr}.resource-link-editor button{justify-self:start}.material-resource-actions .btn{width:100%}.submission-attachment-link{justify-content:center;width:100%}}.member-summary{grid-template-columns:repeat(3,minmax(180px,1fr))}.member-summary .metric-card{background:linear-gradient(135deg, #fffffff5, #f8fbffeb), var(--color-surface);border-color:#cdd9e8e6;position:relative;overflow:hidden}.member-summary .metric-card:after{content:"";background:linear-gradient(90deg,#2563eb,#14b8a6,#ef6c53);border-radius:999px 999px 0 0;height:3px;position:absolute;inset:auto 14px 0}.member-quick-actions .panel-heading{margin-bottom:12px}.quick-action-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.quick-action-grid .action-card{border:1px solid var(--color-border);width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer}.quick-action-grid .action-card:hover{border-color:#2563eb3d;transform:translateY(-3px)}.member-class-card{width:100%;min-height:164px;color:inherit;background:linear-gradient(180deg, #fff, #f8fbff), var(--color-surface);box-shadow:var(--shadow-sm);font:inherit;text-align:left;cursor:pointer;border:1px solid #cdd9e8f2;border-radius:10px;grid-template-columns:168px minmax(0,1fr) minmax(260px,.95fr) auto;align-items:center;gap:18px;padding:14px;transition:transform .22s,border-color .22s,box-shadow .22s;display:grid}.member-class-card:hover{border-color:#2563eb3d;transform:translateY(-3px);box-shadow:0 20px 44px #1020271f}.member-class-visual{aspect-ratio:16/10;color:#fff;background:linear-gradient(135deg,#2563eb,#14b8a6);border-radius:9px;place-items:center;width:100%;display:grid;position:relative;overflow:hidden}.member-class-visual img{object-fit:cover;width:100%;height:100%;transition:transform .35s}.member-class-card:hover .member-class-visual img{transform:scale(1.06)}.member-class-visual>.icon{width:42px;height:42px}.member-class-visual>span{color:#fff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0817238a;border-radius:999px;align-items:center;min-height:26px;padding:0 9px;font-size:.74rem;font-weight:760;display:inline-flex;position:absolute;bottom:10px;left:10px}.member-class-body{gap:7px;min-width:0;display:grid}.member-class-body h3{font-size:1.08rem}.member-class-body p,.member-class-next{color:var(--color-muted)}.member-class-next{font-size:.8rem}.member-class-progress{grid-template-columns:70px minmax(0,1fr);align-items:center;gap:12px;min-width:0;display:grid}.progress-ring{background:radial-gradient(circle at center, #fff 0 57%, transparent 58%), conic-gradient(#14b8a6 calc(var(--progress) * 1%), #e8edf3 0);border-radius:999px;place-items:center;width:66px;height:66px;display:inline-grid}.progress-ring strong{color:var(--color-heading);font-size:.92rem}.member-class-button{pointer-events:none;white-space:nowrap;min-width:126px}.material-viewer>.material-resources{margin:12px 0 0}@media (width<=1080px){.member-class-card{grid-template-columns:138px minmax(0,1fr)}.member-class-progress,.member-class-button{grid-column:2}}@media (width<=760px){.member-summary{grid-template-columns:1fr}.member-class-card{grid-template-columns:1fr;gap:14px;padding:12px}.member-class-visual{aspect-ratio:16/9}.member-class-progress,.member-class-button{grid-column:auto}.member-class-button{width:100%}.quick-action-grid{grid-template-columns:1fr}}@media (width<=420px){.member-class-progress{grid-template-columns:1fr}.progress-ring{justify-self:start}}@keyframes cardReveal{0%{opacity:0;transform:translateY(28px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.auth-page{align-items:center}.auth-intro{border:1px solid var(--color-border);background:#ffffffb8;border-radius:8px;padding:24px}.login-panel{background:#fff;border-color:#dbe7ff;position:relative;overflow:hidden}.login-panel:before{content:"";background:#2563eb;height:3px;position:absolute;inset:0 0 auto}.login-panel .btn.full{justify-content:center}
