:root {
  --ink:#0b3034; --muted:#527074; --paper:#fff; --cream:#fffaf1;
  --teal:#078f86; --teal-dark:#00675f; --mint:#e8fbf5; --gold:#f4b731;
  --line:#dcece8; --danger:#9e382f; --shadow:0 24px 70px rgba(4,77,71,.13);
  --soft-shadow:0 12px 35px rgba(6,90,83,.09); --max:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;line-height:1.55}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
button{border:0;cursor:pointer}
button:disabled{cursor:not-allowed;opacity:.6}
h1,h2,h3,p{margin-top:0}
.skip-link,.sr-only{position:absolute;left:-9999px}
.skip-link:focus{left:16px;top:16px;z-index:99;background:#fff;padding:10px 14px;border-radius:12px}
.muted{color:var(--muted)}
.notice{min-height:28px;color:var(--muted);font-weight:750;margin-bottom:18px}
.notice a{color:var(--teal-dark);text-decoration:underline}
.form-status{min-height:24px;color:var(--teal-dark);font-weight:800;margin:10px 0 0}
.primary,.ghost,.link-button{min-height:46px;padding:0 18px;border-radius:15px;font-weight:850;display:inline-flex;align-items:center;justify-content:center;transition:.2s ease}
.primary{background:linear-gradient(135deg,#0aa096,#00746b);color:#fff;box-shadow:0 10px 24px rgba(0,116,107,.18)}
.primary:hover,.ghost:hover,.link-button:hover{transform:translateY(-1px)}
.ghost{background:#fff;border:1px solid var(--line);color:var(--teal-dark)}
.wide{width:100%}
.academy-nav{position:sticky;top:0;z-index:20;min-height:78px;padding:0 max(20px,calc((100% - var(--max))/2));display:flex;align-items:center;gap:32px;background:rgba(255,255,255,.93);border-bottom:1px solid rgba(7,143,134,.1);backdrop-filter:blur(16px)}
.academy-brand{display:flex;align-items:center;gap:11px;font-weight:900;min-width:max-content}
.academy-brand img{width:50px;height:50px;border-radius:15px;object-fit:cover}
.academy-brand span{line-height:1}
.academy-brand small{display:block;margin-top:7px;color:var(--teal);letter-spacing:2px;font-size:10px}
.academy-nav nav{margin-left:auto;display:flex;gap:25px;font-weight:750;color:#36595d}
.academy-nav nav a:hover{color:var(--teal)}
.academy-actions{display:flex;gap:10px}
.academy-hero,.page-hero,.dashboard-hero{width:min(calc(100% - 36px),var(--max));margin:auto}
.academy-hero{padding:72px 0 60px;display:grid;grid-template-columns:1.15fr .85fr;gap:48px;align-items:center}
.page-hero{padding:66px 0 54px;display:grid;grid-template-columns:1.05fr .95fr;gap:46px;align-items:center}
.page-hero.compact h1{font-size:clamp(48px,6vw,72px)}
.dashboard-hero{padding:56px 0 24px;display:flex;align-items:center;justify-content:space-between;gap:30px}
.eyebrow{display:inline-flex;padding:8px 13px;border:1px solid #d8f0ec;border-radius:999px;background:#fff;color:var(--teal-dark);font-size:13px;font-weight:900}
.academy-hero h1,.page-hero h1{font-size:clamp(52px,7vw,82px);line-height:.96;letter-spacing:-4px;margin:23px 0}
.academy-hero h1 em,.page-hero h1 em{font-style:normal;background:linear-gradient(90deg,var(--gold),#ff8a3d);-webkit-background-clip:text;background-clip:text;color:transparent}
.academy-hero p,.page-hero>div>p{font-size:20px;color:var(--muted);max-width:680px}
.academy-search{display:flex;gap:10px;background:#fff;border:1px solid var(--line);padding:9px;border-radius:20px;box-shadow:0 14px 40px rgba(4,77,71,.1);max-width:650px}
.academy-search input{flex:1;border:0;outline:0;padding:0 12px;min-width:0}
.academy-search button{padding:0 22px;border-radius:14px;background:var(--ink);color:#fff;font-weight:850}
.hero-meta{display:flex;gap:18px;flex-wrap:wrap;margin-top:20px;color:#527074;font-size:13px;font-weight:750}
.hero-card{background:linear-gradient(145deg,#073f3d,#0a7c72);color:#fff;border-radius:34px;padding:34px;box-shadow:var(--shadow)}
.hero-card h2{font-size:34px;line-height:1.05;margin:14px 0 26px}
.hero-card ul{padding-left:20px;margin:0;display:grid;gap:11px;color:#d9eeea}
.card-label{color:#d9eeea;font-size:12px;font-weight:900;letter-spacing:1px}
.metric-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.metric-grid div{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.12);padding:17px;border-radius:18px}
.metric-grid strong,.metric-grid span{display:block}
.metric-grid span{font-size:12px;color:#cfe4e2;margin-top:4px}
.academy-section{width:min(calc(100% - 36px),var(--max));margin:auto;padding:70px 0}
.academy-section.soft{width:100%;max-width:none;padding-left:max(18px,calc((100% - var(--max))/2));padding-right:max(18px,calc((100% - var(--max))/2));background:#f0fbf8}
.section-head{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:28px}
.section-head h2,.form-layout h2{font-size:44px;line-height:1.05;margin:14px 0 0}
.section-head.centered{justify-content:center;text-align:center}
.catalogue-filters{display:flex;align-items:end;gap:10px;flex-wrap:wrap}
.catalogue-filters label{display:grid;gap:5px;color:var(--muted);font-size:12px;font-weight:800}
.catalogue-filters select{min-height:42px;border:1px solid var(--line);border-radius:13px;background:#fff;padding:0 12px;color:var(--ink)}
.check{display:flex!important;grid-template-columns:auto 1fr;align-items:center;gap:9px!important}
.check input{width:auto!important;margin:0!important}
.course-grid,.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.course-card,.steps article,.content-panel,.academy-form,.dashboard-side,.learning-card{background:#fff;border:1px solid var(--line);border-radius:25px;box-shadow:var(--soft-shadow)}
.course-card{overflow:hidden;display:flex;flex-direction:column}
.course-art{height:190px;display:grid;place-items:center;background:linear-gradient(145deg,#dff9f3,#a7e9dc);font-family:Tahoma,Arial,sans-serif;font-size:94px;color:var(--teal-dark)}
.course-card:nth-child(3n+2) .course-art{background:linear-gradient(145deg,#fff4c7,#ffd86e)}
.course-card:nth-child(3n) .course-art{background:linear-gradient(145deg,#e3f3ff,#82c8ff)}
.course-body{padding:22px;display:flex;flex-direction:column;flex:1}
.course-body>span{color:var(--teal);font-size:12px;font-weight:900;text-transform:capitalize}
.course-body h3{font-size:24px;margin:8px 0}
.course-body p{color:var(--muted);flex:1}
.course-instructor{font-size:12px;color:var(--muted);margin:4px 0 14px}
.course-bottom{display:flex;justify-content:space-between;gap:10px;font-size:12px;align-items:center}
.course-bottom span{color:var(--muted)}
.steps article{padding:27px}
.steps b{display:grid;place-items:center;width:42px;height:42px;border-radius:14px;background:var(--mint);color:var(--teal-dark)}
.steps h3{font-size:22px;margin:18px 0 8px}
.steps p{color:var(--muted);margin:0}
.instructor-callout{display:flex;align-items:center;justify-content:space-between;gap:40px}
.instructor-callout h2{font-size:44px;margin:14px 0 10px}
.instructor-callout p{color:var(--muted);max-width:760px}
.course-page{width:min(calc(100% - 36px),var(--max));margin:auto;padding:48px 0 74px}
.course-detail{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:34px;align-items:start}
.course-main h1{font-size:clamp(44px,6vw,68px);line-height:1;letter-spacing:-3px;margin:20px 0 14px}
.course-subtitle{font-size:22px;color:var(--teal-dark);font-weight:800}
.back-link{display:inline-flex;margin-bottom:24px;color:var(--teal-dark);font-weight:850}
.course-facts{display:flex;gap:10px;flex-wrap:wrap;margin:24px 0}
.course-facts span{background:#fff;border:1px solid var(--line);padding:9px 12px;border-radius:999px;font-size:13px;font-weight:800}
.content-panel{padding:27px;margin-top:20px}
.content-panel h2{font-size:27px;margin-bottom:18px}
.curriculum{display:grid;gap:13px}
.curriculum-section{border:1px solid var(--line);border-radius:18px;overflow:hidden}
.curriculum-section h3{padding:15px 17px;margin:0;background:#f4fbf9;font-size:17px}
.lesson-row{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:14px 17px;border-top:1px solid var(--line)}
.lesson-row strong,.lesson-row span{display:block}
.lesson-row>div>span{font-size:12px;color:var(--muted);text-transform:capitalize;margin-top:3px}
.preview-badge,.lock-badge{padding:6px 9px;border-radius:999px;font-size:11px;font-weight:900}
.preview-badge{background:#fff1bd;color:#71510d}
.lock-badge{background:var(--mint);color:var(--teal-dark)}
.enrol-card{position:sticky;top:100px;background:#fff;border:1px solid var(--line);border-radius:28px;padding:20px;box-shadow:var(--shadow)}
.course-cover{height:210px;border-radius:20px;display:grid;place-items:center;background:linear-gradient(145deg,#dff9f3,#a7e9dc);font-size:100px;color:var(--teal-dark);font-weight:900}
.course-price{display:block;font-size:32px;margin:22px 0 14px}
.enrol-card ul{padding-left:20px;color:var(--muted);display:grid;gap:8px;font-size:13px}
.form-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:44px;align-items:start}
.academy-form{padding:27px;display:grid;gap:17px}
.academy-form label{display:grid;gap:7px;font-size:13px;font-weight:900;color:#3c6062}
.academy-form input,.academy-form select,.academy-form textarea{width:100%;border:1px solid var(--line);border-radius:14px;background:#fbfefd;padding:13px 14px;color:var(--ink)}
.academy-form textarea{min-height:120px;resize:vertical}
.academy-form.two-column{grid-template-columns:1fr 1fr}
.academy-form.two-column .full{grid-column:1/-1}
.dashboard-grid{display:grid;grid-template-columns:270px minmax(0,1fr);gap:28px;align-items:start}
.dashboard-side{padding:22px;position:sticky;top:100px}
.dashboard-side h2{font-size:20px}
.dashboard-side nav{display:grid;gap:7px;margin-top:18px}
.dashboard-side nav a{padding:10px 12px;border-radius:12px;color:var(--muted);font-weight:800}
.dashboard-side nav a.active,.dashboard-side nav a:hover{background:var(--mint);color:var(--teal-dark)}
.account-card{display:grid;gap:7px;padding:16px;border-radius:17px;background:#f4fbf9}
.account-card strong,.account-card span{display:block}
.account-card span{font-size:12px;color:var(--muted)}
.learning-list{display:grid;gap:15px}
.learning-card{padding:22px;display:flex;justify-content:space-between;gap:24px;align-items:center}
.learning-card h3{font-size:23px;margin:6px 0}
.learning-card p{color:var(--muted);margin-bottom:13px}
.learning-card>div>span,.learning-card small{font-size:12px;color:var(--teal);font-weight:850;text-transform:capitalize}
.progress-track{height:9px;border-radius:999px;background:#e4efec;overflow:hidden;margin:12px 0 7px}
.progress-track i{display:block;height:100%;background:linear-gradient(90deg,var(--gold),#ff8a3d);border-radius:inherit}
.studio-shell{width:min(calc(100% - 36px),var(--max));margin:auto;padding:12px 0 74px}
.studio-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-bottom:22px}
.studio-kpis article{background:#fff;border:1px solid var(--line);border-radius:20px;padding:19px;box-shadow:var(--soft-shadow)}
.studio-kpis strong,.studio-kpis span{display:block}
.studio-kpis strong{font-size:31px}
.studio-kpis span{color:var(--muted);font-size:12px;font-weight:800}
.studio-panel{background:#fff;border:1px solid var(--line);border-radius:28px;padding:26px;margin-top:20px;box-shadow:var(--soft-shadow);scroll-margin-top:98px}
.panel-heading{display:flex;justify-content:space-between;gap:28px;align-items:end;margin-bottom:20px}
.panel-heading h2{font-size:33px;margin:12px 0 0}
.panel-heading>p{max-width:540px;color:var(--muted);margin-bottom:0}
.panel-actions{display:flex;gap:9px;flex-wrap:wrap;align-items:center}
.studio-course-list{display:grid;gap:14px;margin-top:22px}
.studio-course-card{display:flex;align-items:center;justify-content:space-between;gap:25px;border:1px solid var(--line);border-radius:20px;padding:20px;background:#fbfefd}
.studio-course-card h3{font-size:22px;margin:8px 0 5px}
.studio-course-card p{color:var(--muted);margin-bottom:7px}
.studio-course-card small{color:var(--muted)}
.status-pill{display:inline-flex;padding:5px 9px;border-radius:999px;background:#eef4f3;color:#48666a;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.4px}
.status-published,.status-approved{background:#dff8ef;color:#096959}
.status-submitted{background:#fff1bd;color:#72520f}
.status-changes_requested{background:#ffe4dc;color:#8b3827}
.builder-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.builder-sections{display:grid;gap:13px;margin-top:20px}
.builder-section{border:1px solid var(--line);border-radius:19px;overflow:hidden}
.builder-section>h3{padding:15px 17px;margin:0;background:#f1faf7}
.builder-section>p{padding:15px 17px;margin:0;color:var(--muted)}
.builder-lesson{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:13px 17px;border-top:1px solid var(--line)}
.builder-lesson strong,.builder-lesson span{display:block}
.builder-lesson div span,.builder-lesson>span{font-size:12px;color:var(--muted);text-transform:capitalize}
.empty-state{padding:22px;border:1px dashed #bcd8d2;border-radius:18px;background:#f7fcfa;color:var(--muted)}
footer{padding:30px max(18px,calc((100% - var(--max))/2));background:#052f31;color:#cfe4e2;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}
footer a:hover{color:#fff}
@media(max-width:900px){
  .academy-nav nav{display:none}.academy-actions .ghost{display:none}
  .academy-hero,.page-hero,.course-detail,.form-layout,.dashboard-grid{grid-template-columns:1fr}
  .course-grid,.steps{grid-template-columns:1fr}.section-head,.instructor-callout,.panel-heading{align-items:flex-start;flex-direction:column}
  .academy-hero h1,.page-hero h1{letter-spacing:-2.5px}.enrol-card,.dashboard-side{position:static}
  .studio-kpis{grid-template-columns:1fr 1fr}.builder-grid{grid-template-columns:1fr}
}
@media(max-width:560px){
  .academy-nav{padding:0 14px}.academy-brand span{font-size:14px}.academy-actions .primary{padding:0 12px}
  .academy-search{flex-direction:column}.academy-search input,.academy-search button{min-height:46px}
  .metric-grid,.studio-kpis,.academy-form.two-column{grid-template-columns:1fr}.academy-form.two-column .full{grid-column:auto}
  .academy-hero{padding-top:42px}.academy-section{padding:52px 0}
  .section-head h2,.form-layout h2,.instructor-callout h2{font-size:36px}.dashboard-hero,.learning-card,.studio-course-card{align-items:flex-start;flex-direction:column}
  .course-main h1{letter-spacing:-1.8px}.course-detail{gap:22px}.studio-panel{padding:18px}.panel-actions{width:100%}
}
