:root{--green: #0B5C50;--green-dark: #083F37;--green-soft: #E8F4F0;--gold: #8A6914;--danger: #B33A2E;--success: #1A7A64;--bg: #FAFAF8;--surface: #FFFFFF;--surface-strong: #F0F5F2;--cream: #F5F5F2;--ink: #1A2B28;--body: #374843;--muted: #6B7E78;--line: #DDE5E2;--line-strong: #B8CEC7;--shadow: 0 4px 24px rgba(11, 92, 80, .08);--shadow-card: 0 8px 32px rgba(11, 92, 80, .1);--shadow-lg: 0 16px 48px rgba(11, 92, 80, .13);--shadow-button:0 6px 18px rgba(11, 92, 80, .22);--ring: 0 0 0 3px rgba(11, 92, 80, .18);--font-heading: "Manrope", system-ui, sans-serif;--font-body: "Inter", system-ui, sans-serif;--radius: 8px;--radius-pill: 999px}*{box-sizing:border-box}html{color:var(--body);background:var(--bg);font-family:var(--font-body);font-size:16px;line-height:1.55}body{background:radial-gradient(circle at top left,rgba(11,92,80,.06),transparent 36rem),var(--bg);margin:0;min-width:320px}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}:focus-visible{outline:0;box-shadow:var(--ring);border-radius:var(--radius)}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:700;line-height:1.1;color:var(--ink);margin:0}button,.primary-action,.secondary-action,.button-link{align-items:center;border-radius:var(--radius);cursor:pointer;display:inline-flex;font-family:var(--font-body);font-weight:600;font-size:.925rem;justify-content:center;letter-spacing:.01em;min-height:44px;padding:.65rem 1.15rem;position:relative;transition:background .15s ease,border-color .15s ease,box-shadow .15s ease,color .15s ease,transform .15s ease}button,.primary-action,.button-link{background:linear-gradient(160deg,var(--green) 0%,var(--green-dark) 100%);border:1.5px solid var(--green-dark);color:#fff}button:hover,.primary-action:hover,.button-link:hover{background:var(--green-dark);border-color:var(--green-dark);box-shadow:var(--shadow-button);transform:translateY(-1px)}button:active,.primary-action:active,.secondary-action:active,.button-link:active{transform:translateY(0) scale(.99)}button:disabled,.disabled-cta:disabled{background:#c8d5d0;border-color:#c8d5d0;color:#7a8e89;cursor:not-allowed;box-shadow:none;opacity:1;transform:none}.secondary-action{background:#fff;border:1.5px solid var(--line-strong);color:var(--green-dark)}.secondary-action:hover{background:var(--green-soft);border-color:var(--green);box-shadow:0 4px 16px #0b5c501a;color:var(--green);transform:translateY(-1px)}.text-action,.back-link,.course-card a{color:var(--green-dark);font-weight:600;font-size:.92rem;transition:color .15s ease,transform .15s ease}.text-action:hover,.back-link:hover,.course-card a:hover,.panel-link:hover{color:var(--green)}.app-shell{display:flex;flex-direction:column;min-height:100vh}.site-header{align-items:center;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);background:#ffffffeb;border-bottom:1px solid var(--line);display:grid;gap:1rem;grid-template-columns:auto 1fr auto;padding:.85rem clamp(1rem,4vw,2.5rem);position:sticky;top:0;transition:box-shadow .22s ease,padding .22s ease;z-index:100}.site-header.scrolled{box-shadow:0 4px 24px #0b5c501c;padding-block:.6rem}.brand{align-items:center;color:var(--ink);display:inline-flex;gap:.65rem;min-width:max-content}.brand-mark{align-items:center;background:linear-gradient(135deg,var(--green-dark),var(--green));border-radius:var(--radius);box-shadow:0 4px 14px #0b5c5040;color:#fff;display:inline-flex;font-family:var(--font-heading);font-size:.78rem;font-weight:800;height:36px;justify-content:center;width:36px}.brand-name,.brand-region{display:block}.brand-name{font-family:var(--font-heading);font-size:.95rem;font-weight:800;color:var(--ink)}.brand-region{color:var(--muted);font-size:.72rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.site-nav,.auth-links,.site-footer nav{align-items:center;display:flex;flex-wrap:wrap;gap:.25rem}.site-nav{justify-content:center}.site-nav a,.auth-links a:not(.button-link),.site-footer a{color:var(--muted);font-size:.9rem;font-weight:500;transition:background .15s ease,color .15s ease}.site-nav a,.auth-links a:not(.button-link){border-radius:var(--radius-pill);padding:.45rem .75rem}.site-nav a:hover,.auth-links a:not(.button-link):hover{background:var(--green-soft);color:var(--green-dark)}.site-nav a.active{background:var(--green-soft);color:var(--green);font-weight:600}.nav-status{color:var(--muted);font-size:.85rem;font-weight:500}.logout-button{min-height:38px;padding:.5rem .95rem}.mobile-menu-toggle{background:transparent;border:1.5px solid var(--line-strong);border-radius:var(--radius);color:var(--ink);cursor:pointer;display:none;flex-direction:column;gap:4px;height:40px;justify-content:center;min-height:auto;padding:0 .6rem;width:40px;z-index:110}.mobile-menu-toggle:hover{background:var(--green-soft);border-color:var(--green);box-shadow:none;transform:none}.mobile-menu-toggle span,.mobile-menu-toggle span:before,.mobile-menu-toggle span:after{background:var(--ink);border-radius:2px;display:block;height:2px;position:relative;transition:transform .22s ease,opacity .18s ease,top .18s ease;width:18px}.mobile-menu-toggle span:before,.mobile-menu-toggle span:after{content:"";position:absolute}.mobile-menu-toggle span:before{top:-5px}.mobile-menu-toggle span:after{top:5px}.nav-open .mobile-menu-toggle span{background:transparent}.nav-open .mobile-menu-toggle span:before{top:0;transform:rotate(45deg)}.nav-open .mobile-menu-toggle span:after{top:0;transform:rotate(-45deg)}.mobile-nav-overlay{background:#1a2b2880;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);top:0;right:0;bottom:0;left:0;opacity:0;pointer-events:none;position:fixed;transition:opacity .24s ease;z-index:120}.nav-open .mobile-nav-overlay{opacity:1;pointer-events:auto}.mobile-nav-drawer{background:#fff;border-left:1px solid var(--line);box-shadow:-8px 0 32px #0b5c5024;display:flex;flex-direction:column;gap:.35rem;height:100%;max-width:300px;overflow-y:auto;padding:1.25rem 1rem;position:fixed;right:0;top:0;transform:translate(100%);transition:transform .24s ease;width:82vw;z-index:130}.nav-open .mobile-nav-drawer{transform:translate(0)}.mobile-nav-drawer a{border-radius:var(--radius);color:var(--body);display:block;font-size:.95rem;font-weight:500;padding:.7rem .85rem;transition:background .15s ease,color .15s ease}.mobile-nav-drawer a:hover,.mobile-nav-drawer a.active{background:var(--green-soft);color:var(--green-dark)}.mobile-nav-drawer .mobile-nav-divider{border:0;border-top:1px solid var(--line);margin:.5rem 0}.mobile-nav-drawer .mobile-nav-auth{display:grid;gap:.5rem;margin-top:.25rem}.mobile-nav-drawer .button-link,.mobile-nav-drawer .logout-button{text-align:center;width:100%}.page-content{flex:1;width:100%}.page-content>*{animation:page-enter .22s ease both}.home-page,.content-section,.auth-page{margin:0 auto;max-width:1180px;padding:clamp(2rem,5vw,4.5rem) clamp(1rem,4vw,2.5rem)}.public-page{max-width:1220px}.public-hero{align-items:center;background:linear-gradient(135deg,#fffffff7,#e8f4f0e0),radial-gradient(circle at top right,rgba(11,92,80,.1),transparent 22rem);border:1px solid rgba(184,206,199,.7);border-radius:var(--radius);box-shadow:var(--shadow-card);display:grid;gap:clamp(1.5rem,4vw,3rem);grid-template-columns:minmax(0,1fr) minmax(240px,.38fr);padding:clamp(1.5rem,4vw,2.75rem)}.public-hero>*,.two-column-section>*,.availability-band>*,.intro-band>*,.cta-band>*,.detail-layout>*,.contact-layout>*,.member-hero>*,.account-layout>*{min-width:0}.compact-hero{align-items:start}.hero-stat-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);display:grid;gap:.4rem;padding:1.25rem}.hero-stat-card span{color:var(--muted);font-size:.75rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.hero-stat-card strong{color:var(--green-dark);font-family:var(--font-heading);font-size:clamp(1.75rem,4vw,2.75rem);font-weight:800;line-height:1}.hero-stat-card p{color:var(--muted);font-size:.9rem;margin:0}.hero-section{align-items:center;background:linear-gradient(90deg,#fafaf8fa,#fafaf8e0 44%,#fafaf81f 74%),url(/images/alberta-ce-hero.png) center / cover no-repeat;border-radius:0;display:grid;margin:calc(clamp(2rem,5vw,4.5rem)*-1) calc(clamp(1rem,4vw,2.5rem)*-1) 0;min-height:min(700px,76vh);padding:clamp(3rem,8vw,6rem) clamp(1rem,4vw,2.5rem)}.hero-copy{max-width:700px}.hero-section h1,.content-section h1,.auth-page h1{color:var(--ink);font-family:var(--font-heading);font-size:clamp(2.1rem,5.5vw,4.4rem);font-weight:800;line-height:1.04;margin:0 0 1rem;max-width:860px;overflow-wrap:break-word}.section-heading h2,.two-column-section h2,.availability-band h2,.info-panel h2{color:var(--ink);font-family:var(--font-heading);font-size:clamp(1.6rem,2.8vw,2.25rem);font-weight:700;line-height:1.1;margin:0 0 .75rem}.resource-card h2,.course-access-panel h2,.hero-stat-card h2{color:var(--ink);font-family:var(--font-heading);font-size:1.1rem;font-weight:700;line-height:1.25;margin:0 0 .4rem}.lede{color:var(--body);font-size:clamp(1rem,1.8vw,1.2rem);line-height:1.65;margin:0 0 1.5rem;max-width:640px}.eyebrow{color:var(--gold);font-size:.73rem;font-weight:700;letter-spacing:.1em;margin:0 0 .5rem;text-transform:uppercase}.hero-actions{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem}.hero-badges{display:flex;flex-wrap:wrap;gap:.6rem;margin:0 0 1.35rem}.hero-badges span,.category-card span,.empty-icon{align-items:center;background:#ffffffe6;border:1px solid rgba(11,92,80,.16);color:var(--green-dark);display:inline-flex;font-size:.8rem;font-weight:700;justify-content:center}.hero-badges span{border-radius:var(--radius-pill);min-height:32px;padding:.35rem .75rem}.section-band,.two-column-section{margin-top:clamp(2rem,5vw,4.5rem)}.section-band{display:grid;gap:1.4rem}.two-column-section,.availability-band{align-items:start;display:grid;gap:clamp(1.5rem,4vw,3rem);grid-template-columns:minmax(0,1fr) minmax(280px,.72fr)}.section-heading p,.two-column-section p,.availability-band p,.info-panel p{color:var(--muted);margin:0;max-width:740px}.intro-band,.cta-band{align-items:center;background:#ffffffd1;border:1px solid rgba(184,206,199,.75);border-radius:var(--radius);box-shadow:var(--shadow-card);grid-template-columns:minmax(0,.9fr) minmax(260px,1fr);padding:clamp(1.25rem,3vw,2rem)}.cta-band{background:linear-gradient(135deg,#fff,#eaf3ef);grid-template-columns:minmax(0,1fr) auto}.step-grid,.faq-grid,.pricing-grid,.dashboard-grid,.course-grid,.category-grid,.province-grid,.resource-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.step-card,.faq-item,.pricing-card,.empty-state,.detail-panel,.course-card,.category-card,.province-card,.resource-card,.course-access-panel,.form-panel,.info-panel,.settings-row{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 1px 4px #1a2b280a;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.step-card,.faq-item,.pricing-card,.empty-state,.detail-panel,.course-card,.category-card,.province-card,.resource-card,.course-access-panel,.form-panel,.info-panel{padding:1.25rem}.step-card:hover,.faq-item:hover,.pricing-card:hover,.course-card:hover,.summary-card:hover,.category-card:hover,.province-card:hover,.resource-card:hover,.course-access-panel:hover,.detail-panel:hover,.form-panel:hover,.info-panel:hover{border-color:#0b5c5038;box-shadow:var(--shadow-card);transform:translateY(-2px)}.step-card{display:grid;gap:.75rem}.step-card span{align-items:center;background:var(--green-soft);border:1px solid rgba(11,92,80,.18);border-radius:var(--radius-pill);color:var(--green-dark);display:inline-flex;font-family:var(--font-heading);font-size:.85rem;font-weight:800;height:34px;justify-content:center;letter-spacing:.02em;width:34px}.step-card h3{color:var(--ink);font-family:var(--font-heading);font-size:1rem;font-weight:700;margin:0}.step-card p{color:var(--muted);font-size:.9rem;line-height:1.55;margin:0}.category-card{display:grid;gap:.7rem}.province-card,.resource-card,.course-access-panel{align-content:start;display:grid;gap:.7rem}.category-card span,.empty-icon,.province-card span{border-radius:10px;height:40px;width:40px}.province-card span{align-items:center;background:var(--green-soft);border:1px solid rgba(11,92,80,.16);color:var(--green-dark);display:inline-flex;font-size:.8rem;font-weight:700;justify-content:center}.province-card.active{border-color:#0b5c504d;box-shadow:0 6px 24px #0b5c501a}.step-card h3,.faq-item h3,.pricing-card h2,.empty-state h2,.course-card h2,.province-card h3,.category-card h3,.settings-row h2,.dashboard-panel h2{color:var(--ink);font-family:var(--font-heading);font-size:1.05rem;font-weight:700;line-height:1.2;margin:0 0 .35rem}.faq-item p,.pricing-card p,.empty-state p,.course-card p,.category-card p,.province-card p,.resource-card p,.course-access-panel p,.detail-panel p,.settings-row p{color:var(--muted);font-size:.9rem;line-height:1.55;margin:0}.benefit-list{display:grid;gap:.65rem}.benefit-list p{background:var(--surface);border-left:3px solid var(--green);border-radius:0 var(--radius) var(--radius) 0;box-shadow:var(--shadow);color:var(--body);font-size:.93rem;line-height:1.6;padding:.85rem 1rem}.availability-band{background:linear-gradient(135deg,var(--surface-strong),#ffffff);border:1px solid var(--line);border-radius:var(--radius);padding:clamp(1.25rem,3vw,2rem)}.content-section,.auth-page{display:grid;gap:1.5rem}.filter-bar{align-items:end;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);display:grid;gap:1rem;grid-template-columns:repeat(2,minmax(160px,1fr)) auto;padding:1rem}.filter-bar label,.stacked-form label{color:var(--ink);display:grid;gap:.35rem;font-size:.85rem;font-weight:600}.filter-bar select,.stacked-form input,.stacked-form select,.stacked-form textarea{background:#fff;border:1.5px solid var(--line-strong);border-radius:var(--radius);color:var(--ink);min-height:44px;padding:.6rem .75rem;resize:vertical;transition:border-color .15s ease,box-shadow .15s ease;width:100%}.filter-bar select:focus,.stacked-form input:focus,.stacked-form select:focus,.stacked-form textarea:focus{border-color:var(--green);box-shadow:var(--ring);outline:0}.segmented-control{background:var(--surface-strong);border:1px solid var(--line-strong);border-radius:7px;display:grid;grid-template-columns:1fr 1fr;min-height:44px;overflow:hidden}.segmented-control button{background:transparent;border:0;border-radius:0;color:var(--muted);font-weight:500;min-height:42px;padding:0 .8rem}.segmented-control button.active{background:var(--green-dark);color:#fff}.large-empty{align-items:center;display:grid;justify-items:start;min-height:220px}.empty-state h2{font-family:var(--font-heading);font-size:1.2rem;font-weight:700}@keyframes shimmer{0%{background-position:-600px 0}to{background-position:600px 0}}.skeleton{animation:shimmer 1.4s infinite linear;background:linear-gradient(90deg,#e8edeb 25%,#f0f5f3,#e8edeb 75%);background-size:600px 100%;border-radius:var(--radius)}.pricing-card{display:grid;gap:1rem}.featured-card{background:linear-gradient(180deg,#fff,#f2f9f6);border-color:#0b5c5040;box-shadow:var(--shadow-card)}.package-card,.member-course-card{align-content:start}.package-meta{display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));margin:0}.price-display{color:var(--green-dark);font-family:var(--font-heading);font-size:clamp(1.55rem,2.8vw,2.1rem);font-weight:800;line-height:1}.package-meta dt{color:var(--muted);font-size:.78rem;font-weight:600}.package-meta dd{color:var(--ink);font-weight:700;margin:.12rem 0 0}.filter-note{align-self:center;color:var(--muted);font-size:.875rem;font-weight:500}.card-actions{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem;justify-content:space-between}.class-chip-list{align-items:center;display:flex;flex-wrap:wrap;gap:.4rem}.class-chip-list.compact{margin-top:.4rem}.class-chip{align-items:center;background:var(--green-soft);border:1px solid rgba(11,92,80,.18);border-radius:var(--radius-pill);color:var(--green-dark);display:inline-flex;font-size:.76rem;font-weight:600;line-height:1.2;padding:.25rem .6rem;white-space:normal}.credit-panel{align-items:stretch;display:grid;gap:1rem;grid-template-columns:repeat(2,minmax(180px,1fr)) auto}.credit-panel .primary-action,.credit-panel .secondary-action{align-self:center}.course-card-header{align-items:start;display:grid;gap:.75rem;grid-template-columns:minmax(0,1fr) auto}.access-pill{align-items:center;background:var(--surface-strong);border:1px solid var(--line-strong);border-radius:var(--radius-pill);color:var(--muted);display:inline-flex;font-size:.76rem;font-weight:600;justify-content:center;padding:.22rem .6rem;white-space:nowrap}.access-not_enough_credits{background:#fff3f1;border-color:#f0c5bf;color:var(--danger)}.access-eligible{background:var(--green-soft);border-color:#0b5c5038;color:var(--green-dark)}.access-in_progress,.access-certificate_pending{background:#fff8e7;border-color:#e5d49b;color:#705412}.access-completed{background:#ebf7f3;border-color:#b4d9ca;color:var(--success)}.access-helper,.summary-card p{color:var(--muted);margin:0}.access-helper{font-size:.875rem;font-weight:500}.disabled-cta{line-height:1.2;text-align:center;white-space:normal}.alert-message{align-items:center;background:#ebf7f3;border:1px solid #B4D9CA;border-radius:var(--radius);color:var(--success);display:inline-flex;font-size:.9rem;font-weight:600;gap:.5rem;margin:0;padding:.75rem .95rem}.alert-message.error-message{background:#fff3f1;border-color:#f0c5bf;color:var(--danger)}.loading-card{align-content:center;gap:.65rem;justify-items:start}.spinner,.button-spinner{animation:spin .8s linear infinite;border:2.5px solid rgba(11,92,80,.16);border-radius:var(--radius-pill);border-top-color:var(--green);display:inline-flex;height:26px;width:26px}.button-spinner{border-color:#ffffff4d;border-top-color:#fff;height:17px;margin-right:.35rem;width:17px}.auth-page{align-items:start;grid-template-columns:minmax(0,.85fr) minmax(320px,500px)}.form-panel{box-shadow:var(--shadow-card)}.form-panel .alert-message{margin-top:.85rem}.auth-intro{max-width:600px}.auth-intro p{color:var(--muted);margin:0}.stacked-form{display:grid;gap:1rem}.status-message,.muted{color:var(--muted)}.alert-message.status-message{color:var(--success)}.error-message{color:var(--danger);font-weight:600}.forgot-password-link{color:var(--muted);font-size:.85rem;font-weight:500;justify-self:end;transition:color .15s ease}.forgot-password-link:hover{color:var(--green-dark)}.metadata-list{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));margin:1.5rem 0 0}.detail-layout,.contact-layout{align-items:start;display:grid;gap:1rem;grid-template-columns:minmax(0,1fr) minmax(280px,.45fr)}.course-access-panel .hero-actions{align-items:stretch}.compact-card{min-height:100%}.metadata-list dt{color:var(--muted);font-size:.82rem;font-weight:600}.metadata-list dd{color:var(--ink);font-family:var(--font-heading);font-size:1.05rem;font-weight:700;margin:.18rem 0 0}.dashboard-grid{grid-template-columns:repeat(2,minmax(240px,1fr))}.dashboard-panel:first-child{border-top:3px solid var(--gold)}.progress-list{display:grid;gap:.85rem;width:100%}.progress-row{align-items:center;background:#fff;border:1px solid var(--line);border-radius:var(--radius);display:grid;gap:1rem;grid-template-columns:minmax(0,1fr) auto;padding:1rem;transition:box-shadow .18s ease,border-color .18s ease}.progress-row:hover{border-color:#0b5c5033;box-shadow:var(--shadow)}.progress-row h3{color:var(--ink);font-family:var(--font-heading);font-size:.95rem;font-weight:700;margin:.55rem 0 .2rem}.progress-row p{color:var(--muted);font-size:.88rem;font-weight:500;margin:0}.row-actions{align-items:center;display:flex;flex-wrap:wrap;gap:.6rem;justify-content:flex-end}.panel-link{color:var(--green-dark);display:inline-flex;font-size:.9rem;font-weight:600;margin-top:1rem}.member-hero{align-items:end;background:linear-gradient(135deg,#e8f4f0e6,#fffffff2),radial-gradient(circle at top right,rgba(11,92,80,.1),transparent 22rem);border:1px solid var(--line);border-radius:var(--radius);display:grid;gap:1.25rem;grid-template-columns:minmax(0,1fr) auto;padding:clamp(1.25rem,3vw,2rem)}.member-hero h1{margin-bottom:.6rem}.member-hero p{color:var(--muted);margin:0}.summary-grid{display:grid;gap:1rem;grid-template-columns:repeat(4,minmax(160px,1fr))}.summary-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:1.1rem;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.summary-card:hover{border-color:#0b5c5033;box-shadow:var(--shadow);transform:translateY(-2px)}.summary-card span{color:var(--muted);display:block;font-size:.82rem;font-weight:600;margin-bottom:.35rem}.summary-card strong{color:var(--ink);display:block;font-family:var(--font-heading);font-size:1rem;font-weight:700}.learn-panel,.learn-status-card{display:grid;gap:1rem}.simple-learn-shell{display:grid;gap:clamp(1rem,2vw,1.35rem);margin-inline:auto;max-width:1140px;width:100%}.simple-learn-shell>*{min-width:0}.single-video-shell{aspect-ratio:16 / 9;background:#0f1f1c;border:1px solid #1c3c35;border-radius:var(--radius);box-shadow:var(--shadow-card);overflow:hidden;width:100%}.single-video-frame{align-content:center;background:linear-gradient(135deg,#0b5c5047,#ffffff05),#122622;display:grid;gap:.75rem;height:100%;justify-items:center;padding:clamp(1.2rem,4vw,2.2rem);text-align:center}.single-video-frame span{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:var(--radius-pill);color:#fff;font-size:.78rem;font-weight:700;padding:.4rem .78rem;text-transform:uppercase}.single-video-frame p{color:#ffffffd1;font-size:1.45rem;font-weight:700;line-height:1.25;margin:0;max-width:600px}.single-video-frame--player{background:#000;display:block;height:100%;padding:0;position:relative;width:100%}.single-video-frame--player iframe{border:0;height:100%;top:0;right:0;bottom:0;left:0;position:absolute;width:100%}.course-short-description{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 1px 4px #1a2b280a;padding:clamp(1rem,2vw,1.35rem)}.course-short-description p{color:var(--body);line-height:1.7;margin:0;white-space:pre-line}.course-player-shell{display:grid;gap:1rem}.learn-hero,.learn-progress-card,.lesson-content-panel,.lesson-list-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 1px 4px #1a2b280a;padding:clamp(1.1rem,2vw,1.5rem)}.learn-hero{align-items:end;display:grid;gap:1rem;grid-template-columns:minmax(0,1fr) auto}.learn-hero h1{margin-bottom:.55rem}.learn-hero p,.learn-progress-card p,.lesson-content-panel p,.lesson-list-card p{color:var(--muted);margin:0}.learn-status-summary{align-items:end;display:grid;gap:.4rem;justify-items:end;text-align:right}.learn-status-summary strong{color:var(--green-dark);font-family:var(--font-heading);font-size:1.05rem;font-weight:700}.learn-status-summary span:last-child{color:var(--muted);font-size:.875rem;font-weight:500}.learn-progress-card{display:grid;gap:.7rem}.learn-progress-card>div:first-child{align-items:baseline;display:flex;justify-content:space-between}.learn-progress-card span{color:var(--muted);font-size:.85rem;font-weight:500}.learn-progress-card strong{color:var(--green-dark);font-family:var(--font-heading);font-size:1.4rem;font-weight:800}.progress-track{background:#dbeae4;border-radius:var(--radius-pill);height:8px;overflow:hidden}.progress-track span{background:linear-gradient(90deg,var(--green),var(--success));display:block;height:100%;min-width:0}.course-player-layout{align-items:start;display:grid;gap:1rem;grid-template-columns:minmax(0,1fr) minmax(300px,.42fr)}.player-main,.lesson-sidebar{display:grid;gap:1rem}.video-shell{background:#0f1f1c;border:1px solid #1c3c35;border-radius:var(--radius);box-shadow:var(--shadow-card);min-height:clamp(280px,46vw,520px);overflow:hidden;padding:clamp(1rem,2vw,1.5rem)}.video-frame{align-content:center;background:linear-gradient(135deg,#0b5c5047,#ffffff05),#122622;border:1px solid rgba(255,255,255,.12);border-radius:var(--radius);display:grid;gap:.75rem;height:100%;justify-items:center;min-height:clamp(240px,40vw,460px);padding:clamp(1.2rem,4vw,2rem);text-align:center}.video-frame h2{color:#fff;font-family:var(--font-heading);font-size:clamp(1.35rem,2.8vw,2rem);line-height:1.12;margin:0;max-width:680px}.video-frame p{color:#ffffffc2;margin:0;max-width:600px}.video-lock{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:var(--radius-pill);color:#fff;font-size:.78rem;font-weight:700;padding:.35rem .75rem;text-transform:uppercase}.lesson-content-panel{display:grid;gap:1rem}.lesson-content-panel h2,.lesson-list-card h2{color:var(--ink);font-family:var(--font-heading);font-weight:700;margin:0}.lesson-body{background:var(--surface-strong);border:1px solid var(--line);border-radius:var(--radius);display:grid;gap:.4rem;padding:1rem}.lesson-body h3{color:var(--green-dark);font-family:var(--font-heading);font-size:.92rem;font-weight:700;margin:0}.compact-metadata{grid-template-columns:1fr;margin:0}.lesson-list-card{display:grid;gap:1rem}.lesson-list-heading h2{margin-top:.2rem}.lesson-list{display:grid;gap:.7rem}.lesson-item{align-items:start;background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:none;color:var(--ink);display:grid;gap:.35rem .75rem;grid-template-columns:auto minmax(0,1fr);justify-content:stretch;padding:.85rem;text-align:left;transform:none;transition:background .15s ease,border-color .15s ease,box-shadow .15s ease,transform .15s ease}.lesson-item:hover{background:#f5faf8;border-color:#0b5c5040;box-shadow:0 6px 20px #1a2b2814;transform:translateY(-1px)}.lesson-item.current{border-color:#0b5c5061;box-shadow:0 6px 20px #0b5c501a}.lesson-item span{align-items:center;background:var(--green-soft);border:1px solid rgba(11,92,80,.18);border-radius:var(--radius-pill);color:var(--green-dark);display:inline-flex;font-size:.78rem;font-weight:700;grid-row:span 3;height:30px;justify-content:center;width:30px}.lesson-item strong{color:var(--ink);font-weight:600;line-height:1.25}.lesson-item small{color:var(--muted);font-size:.82rem;font-weight:500}.lesson-item em{color:var(--success);font-size:.75rem;font-style:normal;font-weight:700;text-transform:uppercase}.quiz-panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 1px 4px #1a2b280a;display:grid;gap:1rem;padding:clamp(1.1rem,2vw,1.5rem)}.quiz-heading{align-items:start;display:grid;gap:1rem;grid-template-columns:minmax(0,1fr) auto}.quiz-heading h2,.quiz-result h3{color:var(--ink);font-family:var(--font-heading);font-weight:700;margin:0 0 .3rem}.quiz-heading p,.quiz-result p,.quiz-history-note{color:var(--muted);font-size:.9rem;margin:0}.quiz-result{background:#f5faf8;border:1px solid #C2DDD3;border-radius:var(--radius);display:grid;gap:.5rem;padding:1rem}.quiz-result.passed{border-color:#b4d9ca}.quiz-result.failed{background:#fffbef;border-color:#e5d49b}.quiz-form{display:grid;gap:1rem}.quiz-question{border:1px solid var(--line);border-radius:var(--radius);display:grid;gap:.8rem;margin:0;padding:1rem;transition:border-color .15s ease}.quiz-question legend{color:var(--ink);font-weight:600;padding:0 .25rem}.quiz-question legend span{color:var(--green-dark);display:block;font-size:.74rem;font-weight:700;margin-bottom:.18rem;text-transform:uppercase}.quiz-options{display:grid;gap:.6rem}.quiz-option{align-items:start;background:#fff;border:1.5px solid var(--line);border-radius:var(--radius);color:var(--ink);cursor:pointer;display:grid;gap:.65rem;grid-template-columns:auto minmax(0,1fr);padding:.8rem;transition:background .15s ease,border-color .15s ease,box-shadow .15s ease}.quiz-option:hover,.quiz-option:has(input:checked){background:var(--green-soft);border-color:#0b5c5047;box-shadow:0 4px 14px #1a2b280f}.quiz-option input{margin-top:.25rem}.quiz-option span{font-size:.92rem;font-weight:500;line-height:1.5}.quiz-actions{align-items:center;display:flex;flex-wrap:wrap;gap:.85rem;justify-content:space-between}.certificate-preview-panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 1px 4px #1a2b280a;display:grid;gap:1rem;padding:clamp(1.1rem,2vw,1.5rem)}.certificate-preview-heading{align-items:start;display:grid;gap:1rem;grid-template-columns:minmax(0,1fr)}.certificate-preview-heading h2{color:var(--ink);font-family:var(--font-heading);font-weight:700;margin:0 0 .3rem}.certificate-preview-heading p{color:var(--muted);margin:0}.client-certificate-sheet{aspect-ratio:1.414 / 1;background:#fffefd;border:2px solid #d6aa2e;color:#121a38;container-type:inline-size;display:grid;font-family:Trebuchet MS,Arial,sans-serif;grid-template-rows:auto auto auto auto minmax(0,1fr) auto;margin-inline:auto;max-width:1000px;overflow:hidden;padding:4.8% 8.2% 5.2%;position:relative;width:100%}.certificate-corner{height:82px;opacity:.12;position:absolute;width:82px}.certificate-corner:before,.certificate-corner:after{border:2px solid #9ca8a2;content:"";height:46px;position:absolute;transform:rotate(31deg);width:46px}.certificate-corner:after{height:30px;transform:translate(24px,22px) rotate(-19deg);width:30px}.certificate-corner.top-left{left:10px;top:10px}.certificate-corner.top-right{right:10px;top:10px;transform:scaleX(-1)}.certificate-corner.bottom-left{bottom:10px;left:10px;transform:scaleY(-1)}.certificate-corner.bottom-right{bottom:10px;right:10px;transform:scale(-1)}.client-certificate-header{display:grid;gap:1.6cqw;justify-items:center;text-align:center}.client-certificate-header img{max-width:42cqw;width:360px}.client-certificate-header strong{font-size:clamp(.8rem,1.9cqw,1.25rem);line-height:1}.client-certificate-header h3{font-size:clamp(1.2rem,4.25cqw,2.9rem);font-weight:500;line-height:1;margin:0}.client-recipient-line{border-bottom:2px solid rgba(214,170,46,.72);font-size:clamp(.85rem,2.35cqw,1.65rem);line-height:1.2;margin-top:5.2cqw;padding-bottom:1.1cqw;text-align:center}.client-recipient-line strong{font-weight:950}.client-course-line{font-size:clamp(.78rem,1.95cqw,1.35rem);line-height:1.25;margin:1.5cqw 0 0;text-align:center}.client-course-line strong{font-style:italic;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px}.client-credit-line{font-size:clamp(.82rem,2.25cqw,1.55rem);line-height:1.2;margin:3.2cqw 0 0;text-align:center}.client-certificate-body{align-items:start;display:grid;gap:5cqw;grid-template-columns:minmax(0,.48fr) minmax(0,.52fr);margin-top:3cqw}.client-certificate-table{border-collapse:collapse;font-family:Arial,sans-serif;font-size:clamp(.55rem,1.2cqw,.86rem);width:100%}.client-certificate-table th,.client-certificate-table td{border:1px solid #dddddd;color:#000;font-weight:950;padding:clamp(.45rem,1.5cqw,.85rem)}.client-certificate-table th,.client-certificate-table td:first-child{text-align:center}.client-certificate-table td:last-child{width:32%}.client-certificate-details{display:grid;gap:2.5cqw;justify-items:center;text-align:center}.client-certificate-details p,.client-audit-line{font-size:clamp(.72rem,1.95cqw,1.35rem);line-height:1.25;margin:0}.client-certificate-details p strong{display:block;font-weight:950;margin-top:.45cqw}.client-signature-block{display:grid;gap:.4cqw;justify-items:center;margin-top:1.6cqw}.client-signature-block span{font-size:clamp(.65rem,1.5cqw,1rem)}.client-signature-block img{max-height:8cqw;max-width:30cqw;object-fit:contain}.client-signature-block strong{font-size:clamp(.65rem,1.45cqw,1rem)}.client-audit-line{align-self:end;margin-top:2cqw;text-align:center}.certificate-actions{align-items:center;color:var(--muted);display:flex;flex-wrap:wrap;gap:.85rem;justify-content:space-between}.account-layout{align-items:start;display:grid;gap:1rem;grid-template-columns:minmax(0,1fr) minmax(280px,.62fr)}.form-grid{display:grid;gap:1rem;grid-template-columns:repeat(2,minmax(0,1fr))}.stacked-form input[readonly]{background:var(--surface-strong);color:var(--muted)}.form-actions{align-items:center;display:flex;flex-wrap:wrap;gap:.85rem}.account-info-panel{display:grid;gap:1rem}.account-info-list{color:var(--muted);display:grid;font-size:.9rem;gap:.5rem;line-height:1.6;margin:0;padding-left:1.25rem}.account-info-list li{padding-left:.25rem}.history-list{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.history-row{align-items:center;border-bottom:1px solid var(--line);display:grid;gap:1rem;grid-template-columns:1fr 1.4fr .7fr .8fr .8fr 1fr;padding:1rem;transition:background .15s ease}.history-row:hover:not(.history-header){background:var(--surface-strong)}.history-row:last-child{border-bottom:0}.history-header{background:var(--surface-strong);color:var(--muted);font-size:.78rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.history-row a{color:var(--green-dark);font-weight:600}.status-pill{align-items:center;background:var(--surface-strong);border:1px solid var(--line-strong);border-radius:var(--radius-pill);color:var(--muted);display:inline-flex;font-size:.78rem;font-weight:700;justify-content:center;letter-spacing:.02em;padding:.22rem .6rem;text-transform:capitalize;width:fit-content}.status-paid{background:#ebf7f3;border-color:#b4d9ca;color:var(--success)}.status-failed,.status-refunded,.status-canceled{background:#fff3f1;border-color:#f0c5bf;color:var(--danger)}.settings-list{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.settings-row{align-items:center;border:0;border-bottom:1px solid var(--line);border-radius:0;display:grid;gap:1rem;grid-template-columns:minmax(0,1fr) auto;padding:1.15rem}.settings-row:last-child{border-bottom:0}.site-footer{align-items:start;background:#111e1b;color:#d8e5e1;display:grid;gap:1rem;grid-template-columns:minmax(0,1fr) minmax(260px,auto);padding:2.25rem clamp(1rem,4vw,2.5rem)}.site-footer p{margin:0}.site-footer p:not(.footer-brand),.site-footer a{color:#a8bcba;font-size:.9rem}.footer-brand{color:#fff;font-family:var(--font-heading);font-size:.95rem;font-weight:700;margin-bottom:.35rem}.footer-columns{align-items:start;display:flex;flex-wrap:wrap;gap:1.5rem;justify-content:end}.site-footer nav{align-items:flex-start;flex-direction:column;gap:.35rem}.site-footer nav span,.footer-note span{color:#fff;font-size:.76rem;font-weight:700;letter-spacing:.06em;margin-bottom:.25rem;text-transform:uppercase}.site-footer a:hover{color:#fff}.footer-note{display:grid;gap:.3rem}.footer-note strong{color:#fff;font-family:var(--font-heading);font-weight:700}.admin-auth-shell{align-items:center;background:linear-gradient(135deg,#083f37f7,#111e1bf2),var(--bg);display:grid;min-height:100vh;padding:clamp(1rem,4vw,3rem)}.admin-auth-card{background:#fff;border:1px solid rgba(184,206,199,.6);border-radius:var(--radius);box-shadow:0 24px 64px #00000038;display:grid;gap:1.35rem;justify-self:center;max-width:460px;padding:clamp(1.5rem,4vw,2.25rem);width:min(100%,460px)}.admin-auth-card h1{color:var(--ink);font-family:var(--font-heading);font-size:clamp(1.8rem,4.5vw,3rem);font-weight:800;line-height:1.04;margin:0 0 .5rem}.admin-auth-card p{color:var(--muted);font-size:.9rem;margin:0}.admin-auth-brand,.admin-brand{align-items:center;display:inline-flex;gap:.75rem}.admin-auth-brand strong,.admin-brand strong{display:block;font-family:var(--font-heading);font-weight:800}.admin-auth-brand small,.admin-brand small{color:var(--muted);display:block;font-size:.76rem;font-weight:500}.admin-shell{background:#f5f7f5;color:var(--ink);display:grid;grid-template-columns:260px minmax(0,1fr);min-height:100vh}.admin-sidebar{background:#0b2823;border-right:1px solid rgba(255,255,255,.06);color:#eaf2ee;display:flex;flex-direction:column;gap:1.5rem;padding:1.25rem;position:sticky;top:0;height:100vh}.admin-brand{color:#fff;padding:.35rem}.admin-brand small{color:#a8bcba}.admin-nav{display:grid;gap:.25rem}.admin-nav a,.admin-mobile-nav a{border-radius:var(--radius);color:#c4d8d2;font-size:.9rem;font-weight:500;padding:.68rem .85rem;transition:background .15s ease,color .15s ease}.admin-nav a:hover,.admin-mobile-nav a:hover{background:#ffffff14;color:#fff}.admin-nav a.active,.admin-mobile-nav a.active{background:#fff;color:var(--green-dark);font-weight:600}.admin-sidebar-footer{display:grid;gap:.75rem;margin-top:auto}.admin-sidebar-footer .secondary-action{background:#ffffff14;border-color:#ffffff26;color:#fff}.admin-main{min-width:0}.admin-topbar{align-items:center;background:#fffffff0;border-bottom:1px solid var(--line);display:flex;gap:1rem;justify-content:space-between;padding:.9rem clamp(1rem,3vw,2rem);position:sticky;top:0;z-index:10}.admin-topbar strong,.admin-kicker{display:block}.admin-kicker{color:var(--muted);font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.admin-mobile-nav{display:none}.admin-content{padding:clamp(1rem,3vw,2rem)}.admin-page{display:grid;gap:1.25rem}.admin-page-header{align-items:end;display:flex;gap:1rem;justify-content:space-between}.admin-page-header h1{color:var(--ink);font-family:var(--font-heading);font-size:clamp(1.8rem,3.5vw,2.8rem);font-weight:800;line-height:1.06;margin:0 0 .5rem}.admin-page-header p{color:var(--muted);font-size:.9rem;margin:0;max-width:720px}.admin-metric-grid{display:grid;gap:.85rem;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.admin-metric-card,.admin-panel,.admin-state-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 2px 12px #1a2b280f;transition:box-shadow .18s ease,border-color .18s ease}.admin-metric-card:hover,.admin-panel:hover{border-color:#0b5c502e;box-shadow:var(--shadow)}.admin-metric-card{display:grid;gap:.3rem;padding:1rem}.admin-metric-card span{color:var(--muted);font-size:.74rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.admin-metric-card strong{color:var(--green-dark);font-family:var(--font-heading);font-size:clamp(1.5rem,2.8vw,2.2rem);font-weight:800;line-height:1}.admin-dashboard-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.admin-panel,.admin-state-card{padding:1.15rem}.admin-panel h2,.admin-state-card h2{color:var(--ink);font-family:var(--font-heading);font-size:1.05rem;font-weight:700;margin:0 0 .75rem}.admin-list{display:grid;gap:.65rem}.admin-list-row{align-items:center;border-top:1px solid var(--line);display:flex;gap:1rem;justify-content:space-between;padding-top:.65rem;transition:background .15s ease}.admin-list-row:first-child{border-top:0;padding-top:0}.admin-list-row strong,.admin-list-row span,.admin-table strong,.admin-table span{display:block}.admin-list-row span,.admin-list-row time,.admin-table span{color:var(--muted);font-size:.84rem}.admin-filter-bar{align-items:end;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);display:grid;gap:.85rem;grid-template-columns:repeat(auto-fit,minmax(190px,1fr)) auto;padding:1rem}.admin-filter-bar label{color:var(--muted);display:grid;font-size:.78rem;font-weight:700;gap:.3rem;letter-spacing:.04em;text-transform:uppercase}.admin-table-wrap{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow-x:auto}.admin-table{border-collapse:collapse;min-width:980px;width:100%}.admin-table th,.admin-table td{border-bottom:1px solid var(--line);padding:.85rem;text-align:left;vertical-align:top}.admin-table th{background:var(--surface-strong);color:var(--muted);font-size:.73rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;white-space:nowrap}.admin-table td{color:var(--body);font-size:.92rem}.admin-table tbody tr{transition:background .14s ease}.admin-table tbody tr:hover{background:var(--surface-strong)}.admin-table tr:last-child td{border-bottom:0}.admin-table a{color:var(--green-dark);font-weight:600}.admin-record-summary{color:var(--muted);font-size:.88rem;margin-bottom:.75rem;margin-top:0}.admin-dl-status{display:block;font-size:.78rem;margin-top:.3rem}.admin-dl-status--done{color:var(--success)}.admin-dl-status--pending{color:var(--muted)}.admin-status{align-items:center;background:var(--surface-strong);border:1px solid var(--line-strong);border-radius:var(--radius-pill);color:var(--muted);display:inline-flex;font-size:.75rem;font-weight:700;justify-content:center;letter-spacing:.02em;padding:.22rem .58rem;width:fit-content}.admin-status-paid,.admin-status-issued,.admin-status-active,.admin-status-completed{background:#ebf7f3;border-color:#b4d9ca;color:var(--success)}.admin-status-pending,.admin-status-in-progress,.admin-status-certificate-pending,.admin-status-not-started{background:#fffbef;border-color:#e5d49b;color:var(--gold)}.admin-status-failed,.admin-status-refunded,.admin-status-canceled,.admin-status-void,.admin-error-card{background:#fff3f1;border-color:#f0c5bf;color:var(--danger)}.admin-pagination{align-items:center;display:flex;gap:.75rem;justify-content:flex-end}.admin-pagination span{color:var(--muted);font-size:.9rem;font-weight:500}.admin-form-grid{display:grid;gap:.9rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.admin-form-grid h2,.admin-form-grid h3{font-family:var(--font-heading);font-weight:700;margin:0}.admin-form-grid label{color:var(--muted);display:grid;font-size:.78rem;font-weight:700;gap:.3rem;letter-spacing:.04em;text-transform:uppercase}.admin-form-grid input,.admin-form-grid select,.admin-form-grid textarea,.admin-filter-bar input,.admin-filter-bar select{background:#fff;border:1.5px solid var(--line-strong);border-radius:var(--radius);color:var(--ink);min-height:42px;padding:.6rem .75rem;transition:border-color .15s ease,box-shadow .15s ease;width:100%}.admin-form-grid input:focus,.admin-form-grid select:focus,.admin-form-grid textarea:focus,.admin-filter-bar input:focus,.admin-filter-bar select:focus{border-color:var(--green);box-shadow:var(--ring);outline:0}.admin-form-grid textarea{resize:vertical}.field-helper{color:var(--muted);font-size:.74rem;font-weight:500;line-height:1.4;text-transform:none}.admin-full-field,.admin-video-placeholder,.admin-options-editor{grid-column:1 / -1}.admin-checkbox-label,.admin-radio-label{align-items:center;display:flex!important;flex-direction:row;gap:.55rem;min-height:42px;text-transform:none!important}.admin-checkbox-label input,.admin-radio-label input{min-height:auto;width:auto}.admin-editor-summary{display:grid;gap:.85rem;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.admin-editor-grid{display:grid;gap:1rem;grid-template-columns:minmax(0,1.45fr) minmax(280px,.8fr)}.admin-panel-heading{align-items:start;display:flex;gap:1rem;justify-content:space-between;margin-bottom:1rem}.admin-panel-heading p,.publish-panel p,.admin-video-placeholder p,.admin-help-text,.admin-unsaved-note{color:var(--muted);font-size:.9rem;margin:0}.admin-help-text{margin-bottom:.85rem}.admin-class-grid{display:grid;gap:.75rem}.admin-class-row{align-items:end;background:var(--surface-strong);border:1px solid var(--line);border-radius:var(--radius);display:grid;gap:.85rem;grid-template-columns:minmax(180px,1fr) minmax(120px,.45fr);padding:.8rem;transition:border-color .15s ease}.admin-class-row.selected{background:var(--green-soft);border-color:#0b5c503d}.admin-class-row label{color:var(--muted);display:grid;font-size:.78rem;font-weight:700;gap:.3rem;letter-spacing:.04em;text-transform:uppercase}.admin-class-row input[type=number]{background:#fff;border:1.5px solid var(--line-strong);border-radius:var(--radius);color:var(--ink);min-height:42px;padding:.6rem .75rem;width:100%}.publish-panel{display:grid;gap:1rem}.admin-validation-list{background:#fffbef;border:1px solid #E5D49B;border-radius:var(--radius);color:#6b4e13;margin:0;padding:1rem 1rem 1rem 1.35rem}.admin-video-note,.admin-video-placeholder,.admin-unsaved-note{background:var(--green-soft);border:1px solid rgba(11,92,80,.18);border-radius:var(--radius);padding:.95rem}.admin-course-video-shell{aspect-ratio:16 / 9;background:#0f1f1c;border:1px solid #1c3c35;border-radius:var(--radius);box-shadow:0 8px 22px #1424201f;margin-bottom:.9rem;overflow:hidden}.admin-course-video-frame{align-content:center;background:linear-gradient(135deg,#0b5c5047,#ffffff05),#122622;display:grid;gap:.5rem;height:100%;justify-items:center;padding:1.25rem;text-align:center}.admin-course-video-frame strong{color:#fff;font-family:var(--font-heading);font-size:1.2rem;font-weight:700}.admin-course-video-frame p{color:#ffffffc2;font-size:.9rem;margin:0}.admin-sort-list{border:1px solid var(--line);border-radius:var(--radius);display:grid;margin-bottom:1rem;overflow:hidden}.admin-sort-row{align-items:center;background:#fff;border-bottom:1px solid var(--line);display:grid;gap:1rem;grid-template-columns:minmax(0,1fr) auto;padding:1rem;transition:background .15s ease}.admin-sort-row:hover{background:var(--surface-strong)}.admin-sort-row:last-child{border-bottom:0}.admin-sort-row strong,.admin-sort-row span{display:block}.admin-sort-row span{color:var(--muted);font-size:.88rem}.admin-options-editor{display:grid;gap:.75rem}.admin-option-row{align-items:end;display:grid;gap:.75rem;grid-template-columns:minmax(0,1fr) auto}.admin-row-actions{display:flex;flex-wrap:wrap;gap:.45rem}.admin-row-actions .secondary-action,.admin-row-actions button,.admin-sort-row .secondary-action,.admin-sort-row button{font-size:.84rem;min-height:34px;padding:.38rem .65rem}.lesson-form,.question-form{border-top:1px solid var(--line);margin-top:1rem;padding-top:1rem}@keyframes page-enter{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes reveal-fallback{to{opacity:1;transform:none}}@media(max-width:900px){.mobile-menu-toggle{display:inline-flex}.site-nav,.auth-links{display:none}.admin-shell{grid-template-columns:1fr}.admin-sidebar{display:none}.admin-topbar{align-items:start;flex-direction:column;position:static}.admin-mobile-nav{display:flex;flex-wrap:wrap;gap:.45rem;width:100%}.admin-mobile-nav a{background:var(--green-soft);color:var(--green-dark)}.admin-page-header{align-items:start;flex-direction:column}.admin-filter-bar,.admin-editor-grid,.admin-sort-row{grid-template-columns:1fr}.admin-panel-heading{flex-direction:column}.site-header,.auth-page,.two-column-section,.availability-band,.site-footer,.member-hero,.account-layout,.public-hero,.detail-layout,.contact-layout,.intro-band,.cta-band{grid-template-columns:1fr}.footer-columns{justify-content:start}.filter-bar,.summary-grid,.history-row{grid-template-columns:repeat(2,minmax(0,1fr))}.history-header{display:none}}@media(max-width:640px){.admin-content,.admin-auth-card,.admin-panel,.admin-state-card{padding:1rem}.admin-pagination{align-items:stretch;flex-direction:column}.admin-pagination button{width:100%}.admin-option-row,.admin-form-grid{grid-template-columns:1fr}.site-header{position:static}.hero-actions{align-items:stretch;width:100%}.hero-actions a,.hero-actions button{width:100%}.hero-section{background:linear-gradient(180deg,#fafaf8fc,#fafaf8eb 56%,#fafaf88f),url(/images/alberta-ce-hero.png) center / cover no-repeat;min-height:640px}.hero-section h1,.content-section h1,.auth-page h1{font-size:clamp(1.7rem,7vw,2.1rem);line-height:1.1}.filter-bar,.learn-hero,.quiz-heading,.certificate-preview-heading,.certificate-detail-grid,.certificate-footer-row,.course-player-layout,.dashboard-grid,.summary-grid,.credit-panel,.course-card-header,.form-grid,.package-meta,.history-row,.progress-row,.settings-row{grid-template-columns:1fr}.learn-status-summary{justify-items:start;text-align:left}.row-actions{justify-content:flex-start}.dash-greeting{align-items:start;grid-template-columns:1fr}.dash-greeting-actions{justify-content:flex-start;width:100%}.dash-profile-strip{flex-direction:column;align-items:flex-start}.data-table-wrap{overflow-x:visible}.data-table{min-width:0}.data-table thead{display:none}.data-table tbody{display:grid;gap:.6rem;padding:.75rem}.data-table tbody tr{background:var(--surface-strong);border:1px solid var(--line);border-radius:var(--radius);display:grid;gap:.55rem;padding:.85rem}.data-table tbody tr:nth-child(2n) td,.data-table tbody tr:hover td,.data-table tbody tr:nth-child(2n):hover td{background:transparent}.data-table td{border:0;display:block;font-size:.9rem;padding:0}.data-table td:before{color:var(--muted);content:attr(data-label);display:block;font-size:.72rem;font-weight:700;letter-spacing:.04em;margin-bottom:.18rem;text-transform:uppercase}}[data-reveal]{opacity:0;transform:translateY(14px);transition:opacity .36s ease-out,transform .36s ease-out;animation:reveal-fallback .36s ease-out .7s both}[data-reveal].revealed{animation:none;opacity:1;transform:none}.dash-greeting{align-items:end;background:linear-gradient(135deg,#e8f4f0d9,#fffffff7),radial-gradient(circle at top right,rgba(11,92,80,.08),transparent 22rem);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);display:grid;gap:1.25rem;grid-template-columns:minmax(0,1fr) auto;padding:clamp(1.5rem,3.5vw,2.25rem)}.dash-greeting h1{color:var(--ink);font-family:var(--font-heading);font-size:clamp(1.65rem,3.5vw,2.6rem);font-weight:800;line-height:1.06;margin:0 0 .45rem}.dash-credit-line{color:var(--muted);font-size:.95rem;margin:0}.dash-greeting-actions{align-items:center;display:flex;flex-wrap:wrap;gap:.65rem;justify-content:flex-end}.ghost-action{align-items:center;border-radius:var(--radius);color:var(--body);display:inline-flex;font-family:var(--font-body);font-size:.925rem;font-weight:600;justify-content:center;min-height:44px;padding:.65rem 1rem;transition:background .15s ease,color .15s ease}.ghost-action:hover{background:var(--surface-strong);color:var(--ink)}.text-link-sm{color:var(--green-dark);font-size:.88rem;font-weight:600;transition:color .15s ease}.text-link-sm:hover{color:var(--green)}.dash-skeleton{display:grid;gap:.65rem}.dash-skeleton-header{height:48px;border-radius:var(--radius)}.dash-skeleton-body{height:140px;border-radius:var(--radius)}.dash-section{background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:0 1px 4px #1a2b280a;overflow:hidden;transition:box-shadow .18s ease}.dash-section:hover{box-shadow:var(--shadow)}.dash-section-title{background:linear-gradient(135deg,var(--green-dark) 0%,var(--green) 100%);color:#fff;font-family:var(--font-heading);font-size:.78rem;font-weight:700;letter-spacing:.06em;margin:0;padding:.65rem 1.1rem;text-transform:uppercase}.dash-section--muted .dash-section-title{background:var(--surface-strong);color:var(--muted)}.dash-section-body{color:var(--muted);font-size:.9rem;margin:.75rem 1.1rem 1rem}.dash-section-link{display:inline-block;margin:.65rem 1.1rem .9rem}.data-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.data-table{border-collapse:collapse;min-width:540px;width:100%}.data-table th{background:var(--surface-strong);border-bottom:1px solid var(--line-strong);color:var(--muted);font-size:.75rem;font-weight:700;letter-spacing:.05em;padding:.6rem 1.1rem;text-align:left;text-transform:uppercase;white-space:nowrap}.data-table td{border-bottom:1px solid var(--line);color:var(--body);font-size:.92rem;padding:.82rem 1.1rem;vertical-align:middle}.data-table tbody tr:last-child td{border-bottom:0}.data-table tbody tr{transition:background .13s ease}.data-table tbody tr:nth-child(2n) td{background:#f0f5f280}.data-table tbody tr:hover td{background:var(--green-soft)}.data-table tbody tr:nth-child(2n):hover td{background:var(--green-soft)}.table-course-name{color:var(--ink);display:block;font-weight:600;line-height:1.3;margin-bottom:.28rem}.table-date-cell{color:var(--muted);font-size:.875rem;white-space:nowrap}.table-score-cell{color:var(--green-dark);font-family:var(--font-heading);font-weight:700}.table-mono{color:var(--muted);font-family:Courier New,monospace;font-size:.82rem;letter-spacing:.02em}.table-actions{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem}.data-table-empty{align-items:center;display:flex;flex-wrap:wrap;gap:.85rem;padding:1.25rem 1.1rem}.data-table-empty p{color:var(--muted);font-size:.9rem;margin:0}.btn-sm{font-size:.84rem!important;min-height:36px!important;padding:.4rem .85rem!important}.download-btn{background:var(--green-soft);border:1.5px solid rgba(11,92,80,.22);border-radius:var(--radius);color:var(--green-dark);cursor:pointer;display:inline-flex;font-family:var(--font-body);font-size:.84rem;font-weight:600;min-height:36px;padding:.4rem .85rem;transition:background .15s ease,border-color .15s ease,color .15s ease}.download-btn:hover:not(:disabled){background:var(--green);border-color:var(--green);color:#fff}.download-btn:disabled{cursor:default;opacity:.6}.dash-profile-strip{align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:12px;display:flex;flex-wrap:wrap;font-size:.9rem;gap:.85rem;padding:.9rem 1.1rem}.dash-profile-strip>span:first-child{color:var(--body);flex:1 1 auto}.cirp-chip{align-items:center;border-radius:var(--radius-pill);display:inline-flex;font-size:.82rem;font-weight:600;padding:.24rem .7rem}.cirp-chip--set{background:var(--green-soft);border:1px solid rgba(11,92,80,.22);color:var(--green-dark)}.cirp-chip--unset{background:#fff8e7;border:1px solid #E5D49B;color:#705412}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:1ms!important;scroll-behavior:auto!important;transition-duration:1ms!important}}
