:root{
 --ink:#17231f;--muted:#687771;--teal:#177c70;--teal2:#1f8f80;--deep:#103d32;--deep2:#0b2f27;--sage:#dcebe5;--sage2:#edf5f1;--ivory:#fbfaf5;--bg:#f5f7f4;--line:#dfe6e2;--white:#fff;--danger:#a33b36;--warn:#9b6a18;--ok:#246b49;--gold:#9b7518;--shadow:0 14px 36px rgba(16,61,50,.08);--radius:18px;
}
*{box-sizing:border-box}html{background:var(--bg);scroll-behavior:smooth}body{margin:0;color:var(--ink);font:15px/1.55 Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--bg);min-height:100vh}a{color:var(--teal);text-decoration:none}a:hover{text-decoration:none}button,input,textarea,select{font:inherit}button{cursor:pointer}h1,h2,h3,h4{font-family:Georgia,"Times New Roman",serif;line-height:1.15;margin:0 0 .55rem}h1{font-size:clamp(2rem,4vw,3.25rem);letter-spacing:-.035em}h2{font-size:1.55rem}h3{font-size:1.15rem}h4{font-size:1rem}.muted,small{color:var(--muted)}.eyebrow{text-transform:uppercase;letter-spacing:.13em;font-size:.71rem;font-weight:850;color:var(--teal);margin-bottom:7px}.app-shell{display:grid;grid-template-columns:250px minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;background:var(--deep);padding:24px 18px;color:white;display:flex;flex-direction:column;z-index:30}.brand-lockup{display:flex;align-items:center;gap:11px;color:white}.brand-lockup:hover{color:white}.brand-lockup>span:last-child{display:flex;flex-direction:column;line-height:1.1}.brand-lockup strong{font-size:1.06rem}.brand-lockup small{color:#a9c9bf;font-size:.69rem;margin-top:4px}.brand-mark{width:39px;height:39px;border-radius:12px;background:white;color:var(--deep);display:grid;place-items:center;font:bold 1.25rem Georgia,serif}.side-nav{margin-top:34px;display:flex;flex-direction:column;gap:5px}.nav-item{display:flex;align-items:center;gap:12px;padding:11px 12px;color:#dceae5;border-radius:11px;font-weight:650}.nav-item:hover{background:rgba(255,255,255,.08);color:white}.nav-icon{width:24px;text-align:center;font-size:1.1rem}.sidebar-callout{margin-top:auto;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.09);border-radius:15px;padding:16px;display:flex;flex-direction:column;gap:5px}.sidebar-callout .eyebrow{color:#91cbb9;margin:0}.sidebar-callout a{color:#d8eee7;font-weight:750;margin-top:5px}.sidebar-user{margin-top:16px;border-top:1px solid rgba(255,255,255,.12);padding-top:16px;display:flex;align-items:center;gap:10px}.avatar,.mobile-user{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--sage);color:var(--deep);font-weight:850}.sidebar-user .avatar{background:#e7f3ef}.sidebar-user-text{display:flex;flex-direction:column;min-width:0;flex:1}.sidebar-user-text strong{font-size:.84rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-user-text small{color:#a9c9bf;font-size:.7rem}.sidebar-user form{margin:0}.signout{border:0;background:transparent;color:#dbeae4;font-size:1.1rem}.app-main{min-width:0}.app-content{width:min(1220px,calc(100% - 48px));margin:0 auto;padding:34px 0 90px}.mobile-header,.mobile-bottom{display:none}.guest-header{background:var(--deep);padding:18px max(20px,calc((100vw - 1100px)/2))}.guest-main{width:min(1100px,calc(100% - 32px));margin:0 auto;padding:30px 0 70px}
.welcome-strip{background:linear-gradient(130deg,var(--deep),#16594b);color:white;border-radius:24px;padding:30px 32px;display:flex;align-items:flex-end;justify-content:space-between;gap:24px;box-shadow:var(--shadow)}.welcome-strip p{color:#dbeae5;margin:5px 0 0;max-width:700px}.welcome-strip .eyebrow{color:#94cfbc}.welcome-strip h1{margin-bottom:4px}.button,.primary{display:inline-flex;align-items:center;justify-content:center;border:1px solid transparent;border-radius:11px;padding:10px 15px;background:var(--teal);color:white;font-weight:780;line-height:1.2}.primary:hover,.button:hover{filter:brightness(.96)}.button.light{background:white;color:var(--deep)}.button.secondary{background:var(--sage);color:var(--deep)}.button.ghost{background:transparent;border-color:#cddbd5;color:var(--deep)}.button.disabled{background:#edf1ef;color:#87918d;cursor:not-allowed}.danger-text{color:var(--danger)!important}.full-button{width:100%;margin-top:auto}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:18px 0 8px}.metric{background:white;border:1px solid var(--line);border-radius:16px;padding:18px;min-height:128px;box-shadow:0 7px 22px rgba(16,61,50,.04);color:var(--ink)}.metric span{display:block;color:var(--muted);font-size:.76rem;text-transform:uppercase;letter-spacing:.08em;font-weight:800}.metric strong{display:block;font:750 2.15rem Georgia,serif;color:var(--deep);margin:7px 0 3px}.metric small{display:block}.metric.accent{background:var(--sage2);border-color:#d3e6de}.action-metric:hover{border-color:#b7d1c7;transform:translateY(-1px)}.dashboard-section{margin-top:34px}.soft-section{background:#edf3ef;border-radius:22px;padding:4px 20px 22px}.section-head,.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:15px}.page-head{align-items:flex-start;margin:4px 0 28px}.page-head p{max-width:690px;color:var(--muted)}.section-head>div:first-child{display:flex;align-items:center;gap:12px}.section-head .eyebrow+ h2{margin-top:-2px}.course-grid,.catalog-grid,.notice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.learning-card{display:flex;gap:16px;min-height:160px;background:white;border:1px solid var(--line);border-radius:18px;padding:20px;color:var(--ink);box-shadow:0 6px 22px rgba(16,61,50,.04)}.learning-card:hover{border-color:#b6d1c7;box-shadow:var(--shadow);transform:translateY(-1px)}.learning-card>div:last-child{display:flex;flex-direction:column;min-width:0}.course-icon,.section-icon{flex:0 0 auto;width:44px;height:44px;border-radius:13px;background:var(--deep);color:white;display:grid;place-items:center;font:bold 1.15rem Georgia,serif}.skills-card .course-icon,.skills-bg,.skills-icon{background:var(--teal)!important}.course-kicker{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;font-weight:800;color:var(--muted);margin-bottom:6px}.learning-card h3{font-family:inherit;font-size:1rem;margin:0 0 5px}.learning-card p{margin:0;color:var(--muted)}.continue{margin-top:auto;padding-top:15px;color:var(--teal);font-weight:800;font-size:.82rem}.task-list{display:grid;gap:9px}.task-card{background:white;border:1px solid var(--line);border-radius:14px;padding:15px 17px;display:flex;align-items:center;justify-content:space-between;color:var(--ink)}.task-card>div{display:flex;align-items:center;gap:12px;min-width:0}.task-card strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.task-card small{margin-left:auto}.arrow{font-size:1.25rem}.notice-card,.catalog-card{background:white;border:1px solid var(--line);border-radius:18px;padding:20px;display:flex;flex-direction:column}.notice-card p,.catalog-card p{color:var(--muted)}.badge,.pill,.status{display:inline-flex;width:max-content;align-items:center;border-radius:999px;padding:5px 9px;font-size:.69rem;font-weight:850;letter-spacing:.05em}.badge.university,.pill{background:#e7efec;color:var(--deep)}.badge.skills{background:#daf0e9;color:#0e685b}.price{font-weight:850;color:var(--deep)}.catalog-section{margin:38px 0}.catalog-grid{grid-template-columns:repeat(3,minmax(240px,1fr))}.catalog-card{min-height:310px}.catalog-card h3{margin-top:10px}.catalog-card h4{font-family:inherit;margin:0 0 6px}.catalog-card .course-meta{font-size:.78rem;color:var(--muted);border-top:1px solid #edf1ef;padding-top:11px;margin:4px 0 14px}.catalog-card .price{font-size:.86rem}.card-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.card-actions,.form-actions,.row-actions,.request-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.form-actions{margin-top:18px}.admin-course-list{display:grid;gap:10px}.admin-course-row{background:white;border:1px solid var(--line);border-radius:16px;padding:14px 16px;display:flex;align-items:center;justify-content:space-between;gap:16px}.admin-course-main{display:flex;align-items:center;gap:14px;color:var(--ink);min-width:0}.admin-course-main h3{font-family:inherit;margin:0 0 3px;font-size:1rem}.admin-course-main p{margin:0;color:var(--muted);font-size:.82rem}.request-list{display:grid;gap:11px}.request-card{background:white;border:1px solid var(--line);border-radius:17px;padding:16px;display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:18px}.request-main{display:flex;align-items:center;gap:12px;min-width:0}.request-course{margin-top:6px;font-size:.84rem}.request-meta{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.request-actions{justify-content:flex-end}.request-actions form{margin:0}.form-card,.auth-card,.panel{background:white;border:1px solid var(--line);border-radius:20px;padding:24px;box-shadow:0 8px 25px rgba(16,61,50,.04)}.auth-card{max-width:540px;margin:40px auto}.auth-card.wide{max-width:800px}.form-card{max-width:850px}.course-settings-card{margin:0 auto}.settings-block{margin:24px 0 16px;padding:20px;border-radius:16px;background:#f7faf8;border:1px solid var(--line)}.policy-note{margin-top:13px;padding:12px 14px;border-radius:11px;background:var(--sage);color:var(--deep)}.muted-field{opacity:.65}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-grid .full{grid-column:1/-1}label{display:block;font-weight:720;margin:11px 0 4px}input,textarea,select{width:100%;border:1px solid #cbd6d1;border-radius:10px;background:white;color:var(--ink);padding:11px 12px;outline:none}input:focus,textarea:focus,select:focus{border-color:var(--teal);box-shadow:0 0 0 3px rgba(23,124,112,.1)}label small{display:block;font-weight:400;margin-top:4px}.check,.option{font-weight:500;display:flex;align-items:flex-start;gap:8px}.check input,.option input{width:auto;margin-top:5px}.flash{border-radius:12px;padding:12px 14px;margin:0 0 14px}.flash.success{background:#e5f3eb;color:#195c3b}.flash.error{background:#f8e7e5;color:#7c2824}.danger{color:var(--danger)}.empty-state,.empty{padding:22px;border:1px dashed #bfcfc8;border-radius:16px;color:var(--muted);background:white}.empty-state strong{color:var(--ink)}.empty-state p{margin:5px 0 0}.table-wrap{overflow:auto;background:white;border:1px solid var(--line);border-radius:14px}table{border-collapse:collapse;width:100%;min-width:650px}th,td{text-align:left;padding:13px;border-bottom:1px solid #edf0ee;vertical-align:top}th{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);background:#f9fbfa}.status.present{background:#e1f2e8;color:var(--ok)}.status.late{background:#fff1d8;color:var(--warn)}.status.absent{background:#f7e3e1;color:var(--danger)}.course-hero,.hero{background:var(--deep);color:white;border-radius:22px;padding:28px;display:flex;justify-content:space-between;gap:22px}.course-hero p,.hero p,.course-hero small{color:#d8e9e3}.course-hero .actions{display:flex;gap:7px;align-content:flex-start;flex-wrap:wrap;max-width:520px}.course-hero .button{background:white;color:var(--deep)}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:20px}.list-row{display:flex;justify-content:space-between;gap:15px;background:white;border:1px solid var(--line);border-radius:13px;padding:15px;margin:9px 0;color:var(--ink)}.list-row small{display:block}.grade-box{background:#eef7f2;border-left:4px solid var(--teal);border-radius:9px;padding:14px}.grade-form{display:grid;grid-template-columns:140px 1fr auto;gap:12px;align-items:end}.code-card{background:white;color:var(--deep);padding:18px 24px;border-radius:16px;text-align:center;min-width:200px}.code-card strong{display:block;font:700 2.2rem Georgia,serif;letter-spacing:.08em}.question{background:white;margin:16px 0}fieldset{border:1px solid var(--line);border-radius:12px;margin:18px 0;padding:14px}legend{font-weight:800}
@media(max-width:1080px){.metric-grid{grid-template-columns:repeat(2,1fr)}.course-grid,.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.request-card{grid-template-columns:1fr auto}.request-actions{grid-column:1/-1;justify-content:flex-start}}
@media(max-width:820px){.app-shell{display:block}.sidebar{display:none}.app-content{width:min(100% - 28px,760px);padding:18px 0 100px}.mobile-header{height:62px;background:var(--deep);color:white;padding:0 16px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:25}.mobile-brand{display:flex;align-items:center;gap:8px;color:white;font-weight:850}.mobile-brand>span{width:30px;height:30px;border-radius:9px;background:white;color:var(--deep);display:grid;place-items:center;font-family:Georgia,serif}.mobile-user{width:32px;height:32px}.mobile-bottom{position:fixed;bottom:0;left:0;right:0;z-index:40;height:72px;padding:7px max(8px,env(safe-area-inset-right)) calc(7px + env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));background:rgba(255,255,255,.97);backdrop-filter:blur(10px);border-top:1px solid var(--line);display:grid;grid-auto-flow:column;grid-auto-columns:1fr}.mobile-bottom a,.mobile-bottom button{border:0;background:transparent;color:#64726d;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-weight:700}.mobile-bottom span{font-size:1.18rem}.mobile-bottom small{font-size:.64rem}.mobile-bottom form{display:contents}.welcome-strip{padding:23px;align-items:flex-start}.welcome-strip .button{white-space:nowrap}.grid-2{grid-template-columns:1fr}.request-meta{align-items:flex-start}.admin-course-row{align-items:flex-start;flex-direction:column}.row-actions{width:100%}.row-actions .button{flex:1}.task-card>div{display:grid;grid-template-columns:auto 1fr;gap:5px 9px}.task-card small{grid-column:2;margin:0}.course-hero{flex-direction:column}.course-hero .actions{max-width:none}.guest-main{padding-top:20px}}
@media(max-width:600px){body{font-size:14px}h1{font-size:2rem}.metric-grid,.course-grid,.catalog-grid,.notice-grid,.form-grid{grid-template-columns:1fr}.metric{min-height:110px}.welcome-strip{border-radius:18px;display:block}.welcome-strip .button{margin-top:16px}.soft-section{padding:4px 12px 16px}.section-head,.page-head{align-items:flex-start}.section-head{gap:10px}.page-head{flex-direction:column}.catalog-section{margin-top:30px}.catalog-card{min-height:auto}.request-card{grid-template-columns:1fr}.request-meta{flex-direction:row;align-items:center;flex-wrap:wrap}.request-actions{grid-column:auto}.request-actions .button,.request-actions .primary{min-height:42px}.auth-card,.form-card,.panel{padding:18px;border-radius:16px}.admin-welcome .button{width:100%}.course-hero{padding:20px}.table-wrap{margin-left:-2px;margin-right:-2px}.grade-form{grid-template-columns:1fr}}
/* v0.3 learning path + interactive lessons */
.module-stack{display:grid;gap:14px}.module-card{background:#fff;border:1px solid var(--line);border-radius:19px;overflow:hidden}.module-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;padding:19px 20px;background:#f8fbf9;border-bottom:1px solid var(--line)}.module-head>div:first-child{display:flex;gap:13px}.module-head h3{font-family:inherit;margin:1px 0 5px}.module-head p{margin:0;color:var(--muted)}.module-number{width:34px;height:34px;border-radius:11px;background:var(--deep);color:#fff;display:grid;place-items:center;font-weight:850}.button.compact{padding:8px 11px;min-height:auto}.lesson-list{padding:8px 12px 12px}.lesson-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:13px 11px;border-radius:12px;color:var(--ink)}.lesson-row:hover{background:#f2f7f4}.lesson-row small{display:block;margin-top:3px}.lesson-status{width:30px;height:30px;border-radius:50%;background:#eef4f1;display:grid;place-items:center;color:var(--teal);font-weight:900}.lesson-status.done{background:#daf0e5;color:var(--ok)}.live-list{display:grid;gap:9px}.live-session-row{display:grid;grid-template-columns:50px 1fr auto;gap:13px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:15px;padding:12px;color:var(--ink)}.live-date{width:48px;height:48px;border-radius:12px;background:var(--deep);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center}.live-date strong{font-size:1.1rem}.live-date small{color:#d8e9e3;text-transform:uppercase;font-size:.65rem}.live-session-row>div:nth-child(2) small{display:block;margin-top:3px}.lesson-hero,.live-hero{background:linear-gradient(135deg,var(--deep),#17594a);color:#fff;border-radius:22px;padding:28px;margin-bottom:22px;display:flex;justify-content:space-between;gap:18px}.lesson-hero a,.live-hero a{color:#dff5ed}.lesson-hero p,.lesson-hero small,.live-hero p{color:#d7e8e2}.lesson-hero .button{background:#fff;color:var(--deep);align-self:flex-start}.lesson-stack{display:grid;gap:16px}.learning-block{position:relative;background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px;box-shadow:0 5px 18px rgba(16,61,50,.035)}.lesson-text{font-size:1rem;line-height:1.75}.staff-block-label{margin-top:14px;border-top:1px dashed var(--line);padding-top:9px;font-size:.68rem;color:var(--muted);text-transform:uppercase;letter-spacing:.07em}.video-shell{position:relative;width:100%;aspect-ratio:16/9;border-radius:14px;overflow:hidden;background:#071b16}.video-shell iframe,.video-shell video{width:100%;height:100%;border:0;display:block}.flip-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.flip-card{appearance:none;border:1px solid #c9d9d2;background:#f7faf8;border-radius:15px;min-height:150px;padding:18px;cursor:pointer;position:relative;text-align:center;color:var(--ink);font:inherit;transition:.18s}.flip-card:hover{border-color:var(--teal);transform:translateY(-1px)}.flip-card .flip-back{display:none;color:var(--deep);font-weight:700}.flip-card.is-flipped{background:var(--sage);border-color:#b8d5c8}.flip-card.is-flipped .flip-front{display:none}.flip-card.is-flipped .flip-back{display:block}.interaction-hint{font-size:.8rem;color:var(--muted)}.accordion-list{display:grid;gap:8px}.accordion-list details{border:1px solid var(--line);border-radius:12px;padding:0 14px;background:#fafcfb}.accordion-list summary{cursor:pointer;font-weight:800;padding:13px 0}.accordion-list details>div{padding:0 0 14px;line-height:1.65;color:#45524e}.quick-check h3,.reflection-block h3,.matching-activity h3,.sorting-activity h3{font-family:inherit}.choice-row{display:flex;gap:10px;padding:11px 12px;border:1px solid var(--line);border-radius:11px;margin:8px 0;font-weight:500}.choice-row input{width:auto;margin-top:3px}.activity-feedback{margin-top:10px;min-height:20px;font-weight:750}.activity-feedback.ok{color:var(--ok)}.activity-feedback.no{color:var(--danger)}.reflection-block textarea{margin-bottom:10px}.save-state{margin-left:9px;color:var(--muted)}.match-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,1fr);gap:12px;align-items:center;padding:9px 0;border-bottom:1px solid #edf2ef}.sort-list{list-style:decimal;padding-left:28px}.sort-list li{background:#f7faf8;border:1px solid var(--line);border-radius:11px;margin:7px 0;padding:9px 10px;display:flex;justify-content:space-between;align-items:center;gap:12px}.sort-controls{display:flex;gap:4px}.sort-controls button{width:32px;height:32px;border:1px solid #cbd8d2;border-radius:8px;background:#fff;cursor:pointer}.lesson-complete-form{display:flex;justify-content:flex-end;margin:20px 0 36px}.lesson-complete-form button:disabled{opacity:.7;cursor:default}.block-fields{display:none}.block-fields.is-active{display:block}.live-badge{display:inline-block;color:#ffdedb;font-size:.72rem;font-weight:900;letter-spacing:.1em}.live-meta{display:flex;gap:9px;flex-wrap:wrap;margin-top:14px}.live-meta span{background:#ffffff17;border:1px solid #ffffff26;border-radius:999px;padding:6px 10px;font-size:.75rem}.jitsi-card{background:#fff;border:1px solid var(--line);border-radius:20px;overflow:hidden;margin:18px 0}.jitsi-top{padding:13px 16px;display:flex;justify-content:space-between;align-items:center;gap:12px}.jitsi-top small{display:block}.jitsi-container{height:min(72vh,720px);min-height:500px;background:#071b16}.jitsi-loading{color:#fff;height:100%;display:grid;place-items:center}.live-wait{margin:18px 0}.status.partial{background:#fff1d8;color:var(--warn)}.status.joined{background:#e8efec;color:var(--muted)}
@media(max-width:820px){.flip-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.lesson-hero,.live-hero{flex-direction:column}.jitsi-container{height:68vh;min-height:430px}}
@media(max-width:600px){.module-head{padding:15px;flex-direction:column}.module-head .button{width:100%}.flip-grid{grid-template-columns:1fr 1fr}.flip-card{min-height:125px;padding:13px}.learning-block{padding:16px}.match-row{grid-template-columns:1fr}.jitsi-card{border-radius:14px;margin-left:-5px;margin-right:-5px}.jitsi-container{height:64vh;min-height:390px}.live-session-row{grid-template-columns:46px 1fr auto}.lesson-complete-form .primary{width:100%}}

/* v0.4 navigation, authentication, settings and course UX overhaul */
.desktop-topbar{height:72px;position:sticky;top:0;z-index:24;background:rgba(245,247,244,.92);backdrop-filter:blur(16px);border-bottom:1px solid rgba(223,230,226,.9);display:flex;align-items:center;justify-content:space-between;padding:0 28px}.topbar-context{display:flex;flex-direction:column;line-height:1.15}.topbar-kicker{font-size:.64rem;letter-spacing:.12em;font-weight:900;color:var(--teal);margin-bottom:4px}.topbar-actions{display:flex;align-items:center;gap:10px}.topbar-icon{width:42px;height:42px;border:1px solid var(--line);background:#fff;border-radius:13px;display:grid;place-items:center;color:var(--deep);position:relative}.topbar-icon b,.mobile-notify b{position:absolute;top:-5px;right:-5px;background:#b6443d;color:#fff;min-width:19px;height:19px;border-radius:999px;padding:0 5px;display:grid;place-items:center;font-size:.61rem}.topbar-profile{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:5px 10px 5px 5px;color:var(--ink)}.topbar-profile img,.topbar-profile>span{width:31px;height:31px;border-radius:50%;object-fit:cover;display:grid;place-items:center;background:var(--sage);font-weight:850}.topbar-profile small{font-weight:750;color:var(--ink)}.v04-sidebar{padding-bottom:16px}.sidebar-label{margin:29px 12px 7px;font-size:.6rem;letter-spacing:.13em;color:#7fb0a1;font-weight:850}.nav-item{position:relative}.nav-item.is-active{background:rgba(255,255,255,.12);color:#fff}.nav-item.is-active:before{content:"";position:absolute;left:-18px;top:10px;bottom:10px;width:3px;border-radius:4px;background:#8ed8c0}.nav-count{margin-left:auto;background:#dcefe8;color:var(--deep);font-size:.65rem;border-radius:999px;min-width:21px;height:21px;padding:0 6px;display:grid;place-items:center}.sidebar-callout p{font-size:.75rem;color:#b9d1c9;margin:1px 0}.staff-callout{margin-top:auto}.sidebar-user{color:#fff;border-radius:13px;padding:14px 6px 0}.sidebar-user:hover{color:#fff}.avatar-img{object-fit:cover}.mobile-notify{display:none;color:#fff;position:relative;font-size:1.15rem}.mobile-notify b{top:-8px;right:-10px}.guest-shell{min-height:100vh;display:grid;grid-template-columns:minmax(330px,42%) minmax(0,1fr)}.guest-brand-panel{background:linear-gradient(145deg,var(--deep2),var(--deep) 58%,#175b4b);padding:42px clamp(28px,5vw,72px);display:flex;flex-direction:column;color:#fff;min-height:100vh}.guest-message{margin:auto 0;max-width:520px}.guest-message .eyebrow{color:#8fd0bd}.guest-message h2{font-size:clamp(2rem,4vw,4.1rem);letter-spacing:-.045em}.guest-message p{color:#c7ddd6;font-size:1.05rem;max-width:480px}.guest-foot{color:#8fb5a9}.guest-main{display:grid;place-items:center;padding:40px;background:var(--ivory);min-width:0}.auth-v04{width:min(620px,100%);box-shadow:none;border:0;background:transparent;padding:0}.auth-v04.wide{width:min(720px,100%)}.auth-heading{margin-bottom:24px}.auth-heading p{max-width:560px}.google-button{display:flex;align-items:center;justify-content:center;gap:12px;background:#fff;border:1px solid #cfd8d4;border-radius:12px;min-height:50px;color:#24322d;padding:0 18px}.google-button:hover{border-color:#a5b9b1;box-shadow:0 5px 16px rgba(16,61,50,.07)}.google-g{font:bold 1.25rem Arial,sans-serif;color:#4285f4}.auth-divider{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:.76rem;margin:17px 0}.auth-divider:before,.auth-divider:after{content:"";height:1px;background:var(--line);flex:1}.auth-form{background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px}.auth-form .primary{margin-top:8px}.auth-switch{text-align:center;margin-top:18px}.optional{font-size:.66rem;background:#eef4f1;color:var(--muted);padding:3px 6px;border-radius:6px;margin-left:4px}.dashboard-glance{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:18px 0 30px}.dashboard-glance>article,.dashboard-glance>a{background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px;display:flex;align-items:center;gap:12px;color:var(--ink);min-width:0}.dashboard-glance .attention{background:#fff8ed;border-color:#ead9bd}.glance-icon{width:38px;height:38px;flex:0 0 38px;border-radius:12px;background:var(--sage2);display:grid;place-items:center;color:var(--deep);font-weight:900}.dashboard-glance strong{display:block;font-size:1.25rem;line-height:1.1}.dashboard-glance small{display:block;margin-top:3px}.dashboard-columns{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(260px,.7fr);gap:20px;align-items:stretch}.staff-columns{grid-template-columns:1.15fr .85fr}.priority-panel,.discovery-card{margin-top:0}.priority-list{display:grid;gap:8px}.priority-item{display:grid;grid-template-columns:38px 1fr auto;gap:11px;align-items:center;color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:13px;padding:12px}.priority-item:hover{border-color:#b8cec5}.priority-item small{display:block}.priority-symbol{width:34px;height:34px;border-radius:10px;background:#eff5f2;display:grid;place-items:center;color:var(--deep);font-weight:900}.live-priority .priority-symbol{background:#ffe7e4;color:#a23730}.discovery-card{background:linear-gradient(145deg,#e7f2ed,#f7fbf8);border:1px solid #cfe0d8;border-radius:18px;padding:24px}.discovery-card h2{font-size:1.75rem}.discovery-card p{margin-bottom:20px}.modern-course-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.modern-learning-card{min-height:240px;display:flex;flex-direction:column;align-items:flex-start;padding:19px}.course-card-top{width:100%;display:flex;justify-content:space-between;align-items:center}.modern-learning-card .course-icon{margin:22px 0 16px}.modern-learning-card h3{font-size:1.22rem}.modern-learning-card p{margin-top:3px}.modern-learning-card .continue{margin-top:auto}.welcome-actions{display:flex;gap:8px;flex-wrap:wrap}.secondary-light{background:transparent!important;border:1px solid rgba(255,255,255,.35)!important;color:#fff!important}.quick-action-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.quick-action-grid a{border:1px solid var(--line);background:#fff;border-radius:14px;padding:17px;color:var(--ink);display:flex;flex-direction:column;gap:5px}.quick-action-grid strong{font-size:1.4rem;color:var(--teal)}.quick-action-grid span{font-weight:750}.compact-live .live-session-row{padding:10px}.compact-empty{padding:18px}.course-tabs{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none;margin:-3px 0 26px;padding:6px;background:#fff;border:1px solid var(--line);border-radius:14px;position:sticky;top:82px;z-index:20}.course-tabs::-webkit-scrollbar{display:none}.course-tabs a{white-space:nowrap;color:#5f6e68;font-weight:750;padding:10px 13px;border-radius:9px}.course-tabs a:hover{background:#f1f6f3;color:var(--deep)}.course-tabs a.active{background:var(--deep);color:#fff}.course-overview-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:20px}.course-summary-card{margin-top:0}.progress-ring-row{display:flex;align-items:center;gap:17px;margin:20px 0 12px}.progress-number{width:82px;height:82px;border-radius:50%;display:grid;place-items:center;background:var(--sage);color:var(--deep);font:bold 1.3rem Georgia,serif}.progress-ring-row p{margin:4px 0}.progress-track{height:9px;background:#e7eeea;border-radius:999px;overflow:hidden}.progress-track span{display:block;height:100%;background:var(--teal);border-radius:999px}.summary-numbers{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-top:18px}.summary-numbers div{background:#f6f9f7;border-radius:12px;padding:13px}.summary-numbers strong{display:block;font-size:1.3rem}.summary-numbers span{font-size:.72rem;color:var(--muted)}.announcement-feed{display:grid;gap:10px}.announcement-card{display:grid;grid-template-columns:12px 1fr;gap:12px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:17px}.announcement-card h3{font-family:inherit;margin-bottom:5px}.announcement-card p{margin:0 0 8px}.announcement-dot{width:9px;height:9px;border-radius:50%;background:var(--teal);margin-top:7px}.course-quick-actions{grid-template-columns:repeat(4,minmax(0,1fr))}.resource-grid{display:grid;gap:10px}.resource-card{display:grid;grid-template-columns:44px 1fr auto;gap:13px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px}.resource-card h3{font-family:inherit;margin:0}.resource-card p{margin:3px 0}.resource-icon{width:42px;height:42px;border-radius:12px;background:#eef5f2;display:grid;place-items:center;color:var(--teal);font-weight:900}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.settings-card{margin:0}.full-settings{grid-column:1/-1}.settings-title{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:15px}.connected-badge{font-size:.7rem;background:#dff2e8;color:var(--ok);border-radius:999px;padding:5px 8px;font-weight:800}.notice-inline{background:#f4f8f6;border-left:3px solid var(--teal);padding:11px 13px;border-radius:8px;margin:12px 0}.link-code-card{border:1px dashed #9dbdb1;border-radius:14px;background:#f6faf8;padding:18px;display:flex;flex-direction:column;gap:9px;align-items:flex-start}.link-code-card strong{font:700 1.9rem Georgia,serif;letter-spacing:.08em}.preference-list{display:grid;gap:0}.toggle-row{display:flex!important;flex-direction:row!important;justify-content:space-between;align-items:center;gap:20px;padding:15px 0;border-bottom:1px solid var(--line)}.toggle-row span{display:flex;flex-direction:column}.toggle-row small{margin-top:3px}.toggle-row input{width:20px;height:20px}.preference-list>.primary{margin-top:18px;justify-self:start}.mobile-signout{display:none}.notification-list{display:grid;gap:8px;max-width:900px}.notification-item{display:grid;grid-template-columns:42px 1fr auto;gap:13px;align-items:start;padding:16px;background:#fff;border:1px solid var(--line);border-radius:14px;color:var(--ink)}.notification-item.unread{border-left:4px solid var(--teal);background:#fbfefc}.notification-item h3{font-family:inherit;margin:3px 0}.notification-item p{margin:0;color:#4e5c57}.notification-meta{display:flex;gap:8px;align-items:center;font-size:.69rem;color:var(--muted)}.notification-meta span{text-transform:uppercase;letter-spacing:.08em;font-weight:850}.notification-type{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:#edf4f1;color:var(--deep);font-weight:900}.notification-type.payment{background:#fff3d9;color:#805b0e}.notification-type.live{background:#ffe8e5;color:#9e3730}.notification-type.certificate{background:#f4ecff;color:#70409a}.check-line{display:flex!important;flex-direction:row!important;align-items:center;gap:9px}.check-line input{width:auto}.compact-head{margin-bottom:22px}
@media(max-width:1080px){.modern-course-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.course-quick-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.summary-numbers{grid-template-columns:repeat(2,1fr)}}
@media(max-width:820px){.desktop-topbar{display:none}.mobile-notify{display:block}.mobile-bottom a.is-active,.mobile-bottom button.is-active{color:var(--deep)}.mobile-bottom a.is-active span{color:var(--teal)}.dashboard-glance{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-columns,.staff-columns,.course-overview-grid,.settings-grid{grid-template-columns:1fr}.full-settings{grid-column:auto}.course-tabs{top:72px;margin-left:-2px;margin-right:-2px;border-radius:12px}.guest-shell{display:block}.guest-brand-panel{min-height:auto;padding:18px 18px;background:var(--deep)}.guest-brand-panel .guest-message,.guest-foot{display:none}.guest-main{min-height:calc(100vh - 76px);padding:26px 18px 50px}.auth-v04{width:100%}.mobile-signout{display:block;margin-top:24px}}
@media(max-width:600px){.dashboard-glance{gap:8px}.dashboard-glance>article,.dashboard-glance>a{padding:12px;gap:9px}.glance-icon{width:34px;height:34px;flex-basis:34px}.dashboard-columns{gap:12px}.modern-course-grid{grid-template-columns:1fr}.modern-learning-card{min-height:210px}.course-tabs{padding:4px}.course-tabs a{padding:9px 11px;font-size:.76rem}.course-hero.v04-course-hero{padding:20px}.summary-numbers{grid-template-columns:repeat(2,1fr)}.resource-card{grid-template-columns:38px 1fr}.resource-card .button{grid-column:2;justify-self:start}.settings-card{padding:17px}.toggle-row{align-items:flex-start}.notification-item{grid-template-columns:36px 1fr auto;padding:13px}.notification-type{width:34px;height:34px}.course-quick-actions{grid-template-columns:1fr 1fr}.auth-form{padding:17px}.google-button{min-height:48px}.form-grid{grid-template-columns:1fr}}
.catalog-search{max-width:620px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:0 14px;display:flex;align-items:center;gap:9px;margin:4px 0 24px}.catalog-search span{font-size:1.2rem;color:var(--muted)}.catalog-search input{border:0!important;outline:0;background:transparent;padding:13px 0;width:100%}
.guest-main{width:100%;margin:0}.integration-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.integration-card{margin:0}.integration-card label{margin-top:16px}.integration-card code,.notice-inline code{background:#eaf2ee;border-radius:6px;padding:2px 5px;font-size:.85em}@media(max-width:1080px){.integration-grid{grid-template-columns:1fr 1fr}}@media(max-width:700px){.integration-grid{grid-template-columns:1fr}}

/* v0.5 payments, progress and verified certificates */
.payment-grid{align-items:start}.payment-return-card{max-width:720px;margin:28px auto}.success-panel{background:#e8f5ed;border:1px solid #cbe4d5;border-radius:16px;padding:20px;color:var(--ok)}.success-panel p{color:#3d6954}.certificate-callout{margin-top:18px;display:grid;grid-template-columns:42px 1fr auto;gap:12px;align-items:center;background:linear-gradient(135deg,#eff8f4,#fff9e9);border:1px solid #d5e4db;border-radius:15px;padding:14px;color:var(--ink)}.certificate-callout>span,.certificate-icon{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--teal);color:#fff;font-weight:900}.certificate-callout small{display:block;margin-top:2px;color:var(--muted)}.certificate-callout b{color:var(--teal)}.progress-help{display:block;margin-top:12px}.certificate-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.certificate-card{display:grid;grid-template-columns:40px 1fr auto;align-items:center;gap:12px;background:#fff;border:1px solid var(--line);border-radius:15px;padding:15px;color:var(--ink)}.certificate-card:hover{border-color:#b7d1c7;box-shadow:var(--shadow)}.certificate-card small{display:block;margin-top:3px;color:var(--muted)}.certificate-shell{max-width:1050px;margin:0 auto}.certificate-actions{display:flex;justify-content:space-between;gap:10px;margin-bottom:15px}.certificate-paper{background:#fff;border:1px solid #d7dfdb;box-shadow:0 18px 55px rgba(16,61,50,.1);border-radius:20px;padding:64px 72px;text-align:center;position:relative;overflow:hidden}.certificate-paper:before,.certificate-paper:after{content:"";position:absolute;width:210px;height:210px;border:28px solid var(--sage);border-radius:50%;opacity:.5}.certificate-paper:before{top:-130px;left:-120px}.certificate-paper:after{right:-120px;bottom:-130px}.certificate-brand{display:flex;justify-content:center;align-items:center;gap:10px;color:var(--deep);margin-bottom:40px}.certificate-brand .brand-mark{width:42px;height:42px;border-radius:13px;background:var(--deep);color:#fff;display:grid;place-items:center;font:700 1.3rem Georgia,serif}.certificate-paper h1{font-size:2.5rem;margin:8px 0 26px}.certificate-paper h2{font-size:2.1rem;color:var(--teal);margin:8px 0 14px}.certificate-paper h3{font-family:inherit;font-size:1.15rem;margin:8px 0 32px}.certificate-meta{display:flex;justify-content:center;gap:28px;flex-wrap:wrap;color:var(--muted);font-size:.82rem;margin-top:28px}.certificate-verify{margin:30px auto 0;max-width:760px;border-top:1px solid var(--line);padding-top:18px;display:flex;flex-direction:column;gap:4px;font-size:.78rem;color:var(--muted);word-break:break-all}.verify-card{max-width:700px;margin:45px auto;text-align:center}.verified-mark{width:68px;height:68px;margin:0 auto 16px;border-radius:50%;background:#e2f3e9;color:var(--ok);display:grid;place-items:center;font-size:2rem;font-weight:900}.verify-card .summary-numbers{grid-template-columns:1fr 1fr;text-align:left}.compact{padding:7px 10px;font-size:.76rem}
@media(max-width:700px){.certificate-grid{grid-template-columns:1fr}.certificate-paper{padding:38px 20px;border-radius:14px}.certificate-paper h1{font-size:2rem}.certificate-paper h2{font-size:1.65rem}.certificate-actions{flex-direction:column}.certificate-actions .button,.certificate-actions .primary{width:100%}.payment-grid{gap:12px}}
@media print{.sidebar,.desktop-topbar,.mobile-header,.mobile-bottom,.certificate-actions{display:none!important}.app-content{width:100%!important;max-width:none!important;padding:0!important}.certificate-shell{max-width:none}.certificate-paper{border:0;box-shadow:none;border-radius:0;min-height:95vh;display:flex;flex-direction:column;justify-content:center}.certificate-paper:before,.certificate-paper:after{opacity:.28}}

/* MVP v1.0 certificate QR verification */
.certificate-verification-grid{margin:30px auto 0;max-width:760px;border-top:1px solid var(--line);padding-top:20px;display:grid;grid-template-columns:170px 1fr;gap:24px;align-items:center;text-align:left}.certificate-qr-wrap{display:flex;flex-direction:column;align-items:center;gap:7px}.certificate-qr-wrap #certificate-qr{width:144px;min-height:144px;padding:6px;background:#fff;border:1px solid var(--line);border-radius:12px;display:grid;place-items:center}.certificate-qr-wrap canvas,.certificate-qr-wrap img{max-width:132px!important;height:auto!important}.certificate-qr-wrap small{color:var(--muted);font-weight:700}.certificate-verification-grid .certificate-verify{margin:0;border:0;padding:0;max-width:none;text-align:left}.certificate-verification-grid .certificate-verify small{margin-top:6px;color:var(--muted);word-break:normal}@media(max-width:650px){.certificate-verification-grid{grid-template-columns:1fr;text-align:center}.certificate-verification-grid .certificate-verify{text-align:center}.certificate-qr-wrap{order:1}.certificate-verification-grid .certificate-verify{order:2}}@media print{.certificate-verification-grid{page-break-inside:avoid}.certificate-qr-wrap #certificate-qr{border-color:#bbb}}

/* TUMA pilot v1.1 */
.pilot-profile-card{background:var(--surface,#fff);border:1px solid rgba(16,61,50,.12);border-radius:18px;padding:1.25rem;margin:1rem 0}.profile-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.8rem;margin:.9rem 0}.profile-facts>div{padding:.8rem;border-radius:12px;background:rgba(23,124,112,.06)}.profile-facts small,.profile-facts strong{display:block}.profile-facts strong{margin-top:.2rem}
.roster-match{margin-top:.45rem;font-size:.78rem;font-weight:800;letter-spacing:.03em}.roster-match.matched{color:#176c52}.roster-match.not_found{color:#9a5c00}
.rubric-builder-row{display:grid;grid-template-columns:2fr .7fr 2.2fr auto;gap:.7rem;align-items:end;margin:.7rem 0}.rubric-table{display:grid;gap:.25rem}.rubric-head,.rubric-row{display:grid;grid-template-columns:1.2fr .35fr 2fr;gap:.8rem;padding:.7rem;border-radius:10px}.rubric-head{font-size:.78rem;text-transform:uppercase;font-weight:800;background:rgba(16,61,50,.08)}.rubric-row:nth-child(odd){background:rgba(16,61,50,.035)}.rubric-grading{display:grid;gap:.65rem}.rubric-grade-row{display:grid;grid-template-columns:1.6fr .5fr 1.4fr;gap:.7rem;align-items:end;padding:.7rem;border:1px solid rgba(16,61,50,.1);border-radius:12px}.rubric-grade-row small{display:block}.icon-button{border:0;background:transparent;font-size:1.4rem;cursor:pointer}@media(max-width:760px){.rubric-builder-row,.rubric-grade-row,.rubric-head,.rubric-row{grid-template-columns:1fr}.rubric-head{display:none}}
.resource-rights{display:block;font-size:.72rem;color:var(--muted,#64746f);margin-top:.2rem}.accessibility-flag{margin-top:.7rem;padding:.7rem;border-radius:10px;background:#fff3cd;color:#725800;font-size:.85rem}.transcript{margin-top:.7rem}
.analytics-table td small{display:block}.risk-badge{display:inline-flex;padding:.25rem .5rem;border-radius:999px;font-size:.72rem;font-weight:900}.risk-low{background:#e6f6ef;color:#176c52}.risk-medium{background:#fff3cd;color:#725800}.risk-high{background:#fde8e8;color:#9e2a2b}.danger-card{border-color:rgba(158,42,43,.2)}
.feedback-list{display:grid;gap:.8rem}.feedback-item{padding:1rem;border:1px solid rgba(16,61,50,.1);border-radius:14px}.pilot-feedback-cta{display:flex;justify-content:flex-end;margin:1rem 0}
.offline-actions{display:flex;align-items:center;gap:.7rem;flex-wrap:wrap;margin:1rem 0}.offline-save-state{font-size:.82rem;color:var(--muted,#64746f)}
