/*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}:host,:root{--color-red-500:oklch(63.7% .237 25.331);--color-green-50:oklch(98.2% .018 155.826);--color-green-600:oklch(62.7% .194 149.214);--color-green-700:oklch(52.7% .154 150.069);--color-teal-600:oklch(60% .118 184.704);--color-gray-50:oklch(98.5% .002 247.839);--color-gray-100:oklch(96.7% .003 264.542);--color-gray-200:oklch(92.8% .006 264.531);--color-gray-300:oklch(87.2% .01 258.338);--color-gray-400:oklch(70.7% .022 261.325);--color-gray-500:oklch(55.1% .027 264.364);--color-gray-600:oklch(44.6% .03 256.802);--color-gray-700:oklch(37.3% .034 259.733);--color-gray-900:oklch(21% .034 264.665);--color-white:#fff;--spacing:.25rem;--container-md:28rem;--container-5xl:64rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-tight:-.025em;--tracking-wide:.025em;--radius-xs:.125rem;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--shadow-xs:0 1px 2px 0 #0000000d;--shadow-sm:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a;--shadow-md:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1)}.invisible{visibility:hidden}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.top-1\/2{top:50%}.top-full{top:100%}.right-0{right:calc(var(--spacing) * 0)}.bottom-full{bottom:100%}.left-0{left:calc(var(--spacing) * 0)}.left-4{left:calc(var(--spacing) * 4)}.left-\[2\.19rem\]{left:2.19rem}.isolate{isolation:isolate}.z-10{z-index:10}.z-20{z-index:20}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.-mx-2{margin-inline:calc(var(--spacing) * -2)}.mx-auto{margin-inline:auto}.my-1{margin-block:calc(var(--spacing) * 1)}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:calc(var(--spacing) * 1)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-5{margin-top:calc(var(--spacing) * 5)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mt-8{margin-top:calc(var(--spacing) * 8)}.mb-1{margin-bottom:calc(var(--spacing) * 1)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-5{margin-bottom:calc(var(--spacing) * 5)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.mb-8{margin-bottom:calc(var(--spacing) * 8)}.ml-1{margin-left:calc(var(--spacing) * 1)}.ml-2{margin-left:calc(var(--spacing) * 2)}.ml-3\.5{margin-left:calc(var(--spacing) * 3.5)}.ml-9{margin-left:calc(var(--spacing) * 9)}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.table{display:table}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-screen{height:100vh}.max-h-40{max-height:calc(var(--spacing) * 40)}.max-h-60{max-height:calc(var(--spacing) * 60)}.w-7{width:calc(var(--spacing) * 7)}.w-8{width:calc(var(--spacing) * 8)}.w-44{width:calc(var(--spacing) * 44)}.w-64{width:calc(var(--spacing) * 64)}.w-72{width:calc(var(--spacing) * 72)}.w-80{width:calc(var(--spacing) * 80)}.w-full{width:100%}.max-w-5xl{max-width:var(--container-5xl)}.max-w-md{max-width:var(--container-md)}.min-w-0{min-width:calc(var(--spacing) * 0)}.flex-1{flex:1}.flex-shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.border-collapse{border-collapse:collapse}.-translate-y-1\/2{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.cursor-pointer{cursor:pointer}.resize{resize:both}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:calc(var(--spacing) * 1)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-6{gap:calc(var(--spacing) * 6)}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-full{border-radius:3.40282e+38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-gray-50{border-color:var(--color-gray-50)}.border-gray-100{border-color:var(--color-gray-100)}.border-gray-200{border-color:var(--color-gray-200)}.border-gray-300{border-color:var(--color-gray-300)}.bg-gray-100{background-color:var(--color-gray-100)}.bg-green-50{background-color:var(--color-green-50)}.bg-teal-600{background-color:var(--color-teal-600)}.bg-white{background-color:var(--color-white)}.p-1{padding:calc(var(--spacing) * 1)}.p-2{padding:calc(var(--spacing) * 2)}.p-2\.5{padding:calc(var(--spacing) * 2.5)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-6{padding:calc(var(--spacing) * 6)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.text-center{text-align:center}.text-left{text-align:left}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.text-gray-200{color:var(--color-gray-200)}.text-gray-300{color:var(--color-gray-300)}.text-gray-400{color:var(--color-gray-400)}.text-gray-500{color:var(--color-gray-500)}.text-gray-600{color:var(--color-gray-600)}.text-gray-700{color:var(--color-gray-700)}.text-gray-900{color:var(--color-gray-900)}.text-green-600{color:var(--color-green-600)}.text-green-700{color:var(--color-green-700)}.text-white{color:var(--color-white)}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.italic{font-style:italic}.underline{text-decoration-line:underline}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a)}.shadow,.shadow-lg{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a)}.ring,.shadow-md{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.select-all{-webkit-user-select:all;user-select:all}.last\:border-b-0:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}@media (hover:hover){.hover\:bg-gray-50:hover{background-color:var(--color-gray-50)}.hover\:bg-gray-100:hover{background-color:var(--color-gray-100)}.hover\:text-gray-700:hover{color:var(--color-gray-700)}.hover\:text-red-500:hover{color:var(--color-red-500)}.hover\:text-white:hover{color:var(--color-white)}.hover\:opacity-70:hover{opacity:.7}}.focus\:border-transparent:focus{border-color:#0000}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-30:disabled{opacity:.3}@media (min-width:64rem){.lg\:block{display:block}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}:root{--brand-primary:#1a9e8a;--brand-primary-h:168;--brand-primary-s:71%;--brand-primary-l:36%;--brand-primary-soft:hsl(var(--brand-primary-h),calc(var(--brand-primary-s) - 33%),calc(var(--brand-primary-l) + 25%));--brand-secondary:#2e3538;--brand-secondary-h:195;--brand-secondary-s:10%;--brand-secondary-l:20%;--brand-secondary-soft:hsl(var(--brand-secondary-h),calc(var(--brand-secondary-s) - 4%),calc(var(--brand-secondary-l) + 40%));--brand-secondary-strong:hsl(var(--brand-secondary-h),calc(var(--brand-secondary-s) + 5%),calc(var(--brand-secondary-l) - 10%));--brand-accent:#1a9e8a;--brand-accent-h:168;--brand-accent-s:71%;--brand-accent-l:36%;--brand-accent-soft-h:var(--brand-accent-h);--brand-accent-soft-s:calc(var(--brand-accent-s) - 33%);--brand-accent-soft-l:calc(var(--brand-accent-l) + 25%);--brand-accent-soft:hsl(var(--brand-accent-soft-h),var(--brand-accent-soft-s),var(--brand-accent-soft-l));--brand-accent-strong:hsl(var(--brand-accent-h),calc(var(--brand-accent-s) + 4%),calc(var(--brand-accent-l) - 20%));--brand-accent-text:hsl(var(--brand-accent-h),var(--brand-accent-s),min(var(--brand-accent-l),45%));--text-body:#1b1a17;--text-body-h:45;--text-body-s:8%;--text-body-l:10%;--text-body-muted:#74716d;--text-heading:#1b1a17;--text-heading-muted:#5c5a54;--text-on-dark:#f4f3ef;--text-heading-on-dark:#fff;--text-muted-on-dark:#fff9;--text-main:var(--text-body);--text-muted:var(--text-body-muted);--link-default:var(--brand-accent-text);--link-hover:var(--brand-accent-strong);--link-visited:hsl(calc(var(--brand-accent-h) + 23),calc(var(--brand-accent-s) - 9%),calc(var(--brand-accent-l) + 6%));--focus-ring:var(--brand-accent);--focus-ring-width:2px;--focus-ring-offset:2px;--focus-ring-on-dark:var(--brand-accent-soft);--btn-primary-bg:var(--brand-accent);--btn-primary-bg-h:var(--brand-accent-h);--btn-primary-bg-s:var(--brand-accent-s);--btn-primary-bg-l:var(--brand-accent-l);--btn-primary-bg-hover:var(--brand-accent-strong);--btn-primary-text:#fff;--btn-primary-border:var(--btn-primary-bg);--btn-primary-border-hover:var(--btn-primary-bg-hover);--btn-tint-bg:hsla(var(--btn-primary-bg-h),var(--btn-primary-bg-s),var(--btn-primary-bg-l),.2);--btn-tint-bg-h:var(--btn-primary-bg-h);--btn-tint-bg-s:var(--btn-primary-bg-s);--btn-tint-bg-l:var(--btn-primary-bg-l);--btn-tint-bg-a:.2;--btn-tint-bg-hover:hsla(var(--btn-primary-bg-h),var(--btn-primary-bg-s),var(--btn-primary-bg-l),.1);--btn-tint-bg-hover-a:.1;--btn-tint-text:var(--brand-accent-text);--btn-tint-border:transparent;--btn-tint-border-hover:transparent;--btn-tint-bg-on-dark:hsla(var(--brand-accent-soft-h),var(--brand-accent-soft-s),var(--brand-accent-soft-l),.2);--btn-tint-bg-on-dark-h:var(--brand-accent-soft-h);--btn-tint-bg-on-dark-s:var(--brand-accent-soft-s);--btn-tint-bg-on-dark-l:var(--brand-accent-soft-l);--btn-tint-bg-on-dark-a:.3;--btn-tint-bg-on-dark-hover:hsla(var(--brand-accent-soft-h),var(--brand-accent-soft-s),var(--brand-accent-soft-l),.1);--btn-tint-bg-on-dark-hover-a:.2;--btn-tint-text-on-dark:var(--brand-accent-soft);--btn-outline-bg:transparent;--btn-outline-bg-hover:hsla(var(--btn-primary-bg-h),var(--btn-primary-bg-s),var(--btn-primary-bg-l),.08);--btn-outline-text:var(--brand-accent-text);--btn-outline-border:hsla(var(--brand-accent-h),var(--brand-accent-s),var(--brand-accent-l),.35);--btn-outline-border-hover:var(--brand-accent);--btn-outline-border-width:var(--border-width-xs);--btn-outline-bg-on-dark:transparent;--btn-outline-bg-on-dark-hover:hsla(var(--brand-accent-soft-h),var(--brand-accent-soft-s),var(--brand-accent-soft-l),.1);--btn-outline-text-on-dark:var(--brand-accent-soft);--btn-outline-border-on-dark:hsla(var(--brand-accent-soft-h),var(--brand-accent-soft-s),var(--brand-accent-soft-l),.4);--btn-outline-border-on-dark-hover:var(--brand-accent-soft);--btn-white-primary-bg:#fff;--btn-white-primary-bg-hover:#ffffffe6;--btn-white-primary-text:var(--brand-accent-strong);--btn-white-tint-bg:#fff6;--btn-white-tint-bg-hover:#fff3;--btn-white-tint-text:#fff;--btn-white-outline-bg:transparent;--btn-white-outline-bg-hover:#ffffff1a;--btn-white-outline-text:#fff;--btn-white-outline-border:#fff9;--btn-white-outline-border-hover:#fff;--btn-text-color:var(--brand-accent-text);--btn-text-color-hover:var(--brand-accent-strong);--btn-disabled-bg:#e5e4de;--btn-disabled-text:#a5a29a;--neutral-100:#f4f3ef;--neutral-200:#e5e4de;--neutral-300:#d6d4ce;--neutral-400:#a5a29a;--neutral-500:#7a7771;--neutral-700:#46443e;--neutral-900:#1b1a17;--bg-page:#fff;--bg-surface:#f8f7f4;--bg-surface-alt:#f0efeb;--bg-subtle:#e5e4de;--bg-canvas:#f8f7f4;--bg-tinted:hsla(var(--brand-accent-h),var(--brand-accent-s),var(--brand-accent-l),.04);--bg-emphasis:var(--brand-secondary);--border-subtle:#e5e4de;--border-strong:#a5a29a;--border-subtle-on-dark:#4a4844;--border-strong-on-dark:#e5e4de;--state-success:#2d8a5e;--state-success-soft:#edf7f1;--state-success-text:#1a5c3a;--state-warning:#c08a1e;--state-warning-soft:#fdf6e8;--state-warning-text:#7a5610;--state-error:#c53434;--state-error-soft:#fdf0f0;--state-error-text:#7a1d1d;--state-info:#2a6db5;--state-info-soft:#eef4fb;--state-info-text:#1a4270;--content-programme:#5b61d6;--content-programme-soft:#ecedf8;--content-lesson:#5a7da8;--content-lesson-soft:#edf1f5;--content-activity:#c27080;--content-activity-soft:#f8eced;--cat-relationships:#4f78c7;--cat-relationships-soft:#e8eef8;--cat-safety:#4e7c74;--cat-safety-soft:#e6f0ee;--cat-identity:#8b62c6;--cat-identity-soft:#f0eaf8;--cat-sexual-health:#c35c74;--cat-sexual-health-soft:#f8e8ec;--cat-wellbeing:#1d9b8a;--cat-wellbeing-soft:#e2f5f2;--cat-online-safety:#5d6bb3;--cat-online-safety-soft:#eceef8;--cat-puberty:#c97a4a;--cat-puberty-soft:#f8ede4;--accent-indigo:#5b61d6;--accent-plum:#7b5aa6;--accent-rose:#c96a7b;--accent-ochre:#c88a1a;--accent-moss:#5f8c65;--font-heading-stack:"Lexend",sans-serif;--font-body-stack:"Lexend",sans-serif;--font-body:"Lexend",sans-serif;--btn-font-size:14px;--btn-font-weight:600;--btn-ls:.01em;--btn-lh:1;--text-aux-size-micro:.85em;--text-aux-size-signpost:.875em;--text-aux-size-prehead:.875em;--text-subhead-size-sub:clamp(1.2rem,1.1rem + .5vw,1.5rem);--text-subhead-size-hero:clamp(1.25rem,1.0833rem + .8333vw,1.75rem);--text-display-size-quote:clamp(1.25rem,1.0833rem + .8333vw,1.75rem);--text-display-size-h6:1rem;--text-display-size-h5:clamp(1.125rem,1.0833rem + .2083vw,1.25rem);--text-display-size-h4:clamp(1.25rem,1.1667rem + .4167vw,1.5rem);--text-display-size-h3:clamp(1.5rem,1.3333rem + .8333vw,2rem);--text-display-size-h2:clamp(1.75rem,1.4167rem + 1.6667vw,2.75rem);--text-display-size-h1:clamp(2.25rem,1.75rem + 2.5vw,3.75rem);--text-display-size-body:clamp(1.125rem,1.0417rem + .4167vw,1.375rem);--text-prose-size-h6:1rem;--text-prose-size-h5:clamp(1.05rem,1.0167rem + .1667vw,1.15rem);--text-prose-size-h4:clamp(1.15rem,1.1rem + .25vw,1.3rem);--text-prose-size-h3:clamp(1.25rem,1.1667rem + .4167vw,1.5rem);--text-prose-size-h2:clamp(1.5rem,1.3333rem + .8333vw,2rem);--text-prose-size-h1:clamp(1.75rem,1.4167rem + 1.6667vw,2.75rem);--text-prose-size-quote:clamp(1.15rem,1.0333rem + .5833vw,1.5rem);--text-prose-size-lede:1.1em;--text-prose-size-body:clamp(1.0625rem,1rem + .3125vw,1.25rem);--text-card-size-h1:clamp(1.5rem,1.3333rem + .8333vw,2rem);--text-card-size-h2:clamp(1.25rem,1.1667rem + .4167vw,1.5rem);--text-card-size-h3:clamp(1.15rem,1.1rem + .25vw,1.3rem);--text-card-size-h4:clamp(1.05rem,1.0167rem + .1667vw,1.15rem);--text-card-size-h5:15px;--text-card-size-h6:13px;--text-card-size-body:14px;--btn-padding-bal:1.2em;--btn-padding-icon:2.5em;--btn-padding-x:20px;--btn-padding-y:10px;--btn-padding-bal-sm:1em;--btn-padding-icon-sm:2.2em;--btn-padding-x-sm:12px;--btn-padding-y-sm:6px;--space-struct-x:clamp(1rem,5vw,15vw);--space-struct-y-hero:clamp(6rem,8vw + 3rem,10rem);--space-struct-y-base:clamp(4rem,5vw + 2rem,6rem);--space-global-2xl:5rem;--space-global-xl:3rem;--space-global-lg:2rem;--space-global-md:1.5rem;--space-global-sm:1rem;--space-global-xs:.5rem;--space-global-gutter:clamp(.75rem,2vw,2rem);--radius-none:0px;--radius-xs:2px;--radius-sm:4px;--radius-base:6px;--radius-md:12px;--radius-lg:16px;--radius-xl:32px;--radius-pill:9999px;--radius-circle:50%;--border-width-none:0px;--border-width-xs:1px;--border-width-sm:2px;--border-width-md:4px;--shadow-none:none;--shadow-xs:0 1px 2px #1b1a170d;--shadow-sm:0 1px 3px #1b1a1712,0 1px 2px #1b1a170a;--shadow-md:0 4px 12px #1b1a1712,0 1px 3px #1b1a170d;--shadow-lg:0 12px 32px #1b1a1714,0 4px 12px #1b1a170d;--shadow-xl:0 20px 48px #1b1a171a,0 8px 20px #1b1a170d;--btn-shadow-sm:0 1px 2px #0000000f,0 1px 1px #0000000a;--btn-shadow-md:0 2px 6px #00000014,0 1px 2px #0000000a;--btn-shadow-lg:0 4px 10px #0000001a,0 2px 4px #0000000a;--transition-duration:.25s;--transition-easing:ease;--link-underline-rest:hsla(var(--brand-accent-h),var(--brand-accent-s),var(--brand-accent-l),.3);--link-underline-hover:var(--link-hover);--link-action-color:var(--brand-accent-text);--link-action-color-hover:var(--brand-accent-strong);--link-action-color-on-dark:hsl(var(--brand-accent-h),var(--brand-accent-s),75%);--link-action-color-on-dark-hover:#fff;--link-action-arrow-nudge:.25em;--link-action-tracking-hover:.04em;--link-action-tracking-rest:normal;--link-action-gap:.3em;--card-lift-distance:-2px;--form-select-arrow-offset:.75rem;--form-select-arrow-size:1rem;--form-select-padding-right:2.5rem;--table-compact-padding-y:.4rem;--table-compact-padding-x:.75rem;--table-header-bg-on-dark:#ffffff0d;--table-stripe-bg-on-dark:#ffffff08;--table-hover-bg-on-dark:#ffffff0f;--text-util-preheader-size:.875em;--text-util-preheader-weight:300;--text-util-preheader-lh:1.4;--text-util-preheader-ls:.15em;--text-util-hero-subhead-size:var(--text-subhead-size-hero);--text-util-hero-subhead-weight:400;--text-util-hero-subhead-lh:1.4;--text-util-hero-subhead-ls:normal;--text-util-subheading-size:var(--text-subhead-size-sub);--text-util-subheading-weight:400;--text-util-subheading-lh:1.5;--text-util-subheading-ls:normal;--text-util-lede-size:1.1em;--text-util-lede-weight:400;--text-util-lede-lh:1.3;--text-util-lede-ls:normal;--text-util-micro-size:.85em;--text-util-micro-weight:300;--text-util-micro-lh:1.4;--text-util-micro-ls:.02em;--card-eyebrow-ls:.1em;--spot-icon-size:48px;--spot-icon-size-sm:36px;--spot-icon-size-lg:64px;--spot-icon-color:var(--brand-accent);--spot-icon-bg:hsla(var(--brand-accent-h),var(--brand-accent-s),var(--brand-accent-l),.1);--spot-icon-bg-hover:hsla(var(--brand-accent-h),var(--brand-accent-s),var(--brand-accent-l),.16);--spot-icon-radius:var(--radius-md);--spot-icon-padding:.625rem;--spot-icon-stroke:1.5px;--spot-icon-fill-opacity:.12}.preheader,.signpost{font-size:var(--text-util-preheader-size);font-weight:var(--text-util-preheader-weight);line-height:var(--text-util-preheader-lh);letter-spacing:var(--text-util-preheader-ls);text-transform:uppercase}.hero-subhead{font-size:var(--text-util-hero-subhead-size);font-weight:var(--text-util-hero-subhead-weight);line-height:var(--text-util-hero-subhead-lh);letter-spacing:var(--text-util-hero-subhead-ls)}.subheading{font-size:var(--text-util-subheading-size);font-weight:var(--text-util-subheading-weight);line-height:var(--text-util-subheading-lh);letter-spacing:var(--text-util-subheading-ls)}.lede{font-size:var(--text-util-lede-size);font-weight:var(--text-util-lede-weight);line-height:var(--text-util-lede-lh);letter-spacing:var(--text-util-lede-ls)}.microtext,small{font-size:var(--text-util-micro-size);font-weight:var(--text-util-micro-weight);line-height:var(--text-util-micro-lh);letter-spacing:var(--text-util-micro-ls)}body{font-family:var(--font-body-stack);color:var(--text-body);background-color:var(--bg-page);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading-stack);color:var(--text-heading)}.btn{font-family:inherit;font-size:var(--btn-font-size);font-weight:var(--btn-font-weight);letter-spacing:var(--btn-ls);line-height:var(--btn-lh);cursor:pointer;border-radius:var(--radius-base);transition:background var(--transition-duration) var(--transition-easing),border-color var(--transition-duration) var(--transition-easing),padding var(--transition-duration) var(--transition-easing),color var(--transition-duration) var(--transition-easing);white-space:nowrap;border-style:solid;text-decoration:none;display:inline-block;position:relative}.btn--std{padding:var(--btn-padding-y) var(--btn-padding-x);border-width:var(--border-width-xs)}.btn--std.has-icon-right{padding-right:var(--btn-padding-icon);padding-left:var(--btn-padding-bal)}.btn--std.has-icon-left{padding-left:var(--btn-padding-icon);padding-right:var(--btn-padding-bal)}.btn--std.has-icon-hover:hover{padding-right:var(--btn-padding-icon);padding-left:var(--btn-padding-bal)}.btn--sm{padding:var(--btn-padding-y-sm) var(--btn-padding-x-sm);border-width:var(--border-width-xs);font-size:13px}.btn--sm.has-icon-right{padding-right:var(--btn-padding-icon-sm);padding-left:var(--btn-padding-bal-sm)}.btn--sm.has-icon-left{padding-left:var(--btn-padding-icon-sm);padding-right:var(--btn-padding-bal-sm)}.btn--sm.has-icon-hover:hover{padding-right:var(--btn-padding-icon-sm);padding-left:var(--btn-padding-bal-sm)}.btn.has-icon-hover:after,.btn.has-icon-right:after{content:"";top:50%;right:calc(var(--btn-padding-x) * .5);width:1em;height:1em;transition:opacity var(--transition-duration) var(--transition-easing),right var(--transition-duration) var(--transition-easing),transform var(--transition-duration) var(--transition-easing);background:currentColor;display:block;position:absolute;transform:translateY(-50%);-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='miter'%3E%3Cline x1='5' y1='12' x2='19' y2='12'/%3E%3Cpolyline points='12 5 19 12 12 19'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='miter'%3E%3Cline x1='5' y1='12' x2='19' y2='12'/%3E%3Cpolyline points='12 5 19 12 12 19'/%3E%3C/svg%3E");-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.btn.has-icon-right:after{opacity:1}.btn.has-icon-right:hover:after{transform:translateY(-50%)translate(3px)}.btn.has-icon-left:before{content:"";top:50%;left:calc(var(--btn-padding-x) * .5);width:1em;height:1em;transition:opacity var(--transition-duration) var(--transition-easing),left var(--transition-duration) var(--transition-easing),transform var(--transition-duration) var(--transition-easing);opacity:1;background:currentColor;display:block;position:absolute;transform:translateY(-50%);-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='miter'%3E%3Cline x1='19' y1='12' x2='5' y2='12'/%3E%3Cpolyline points='12 19 5 12 12 5'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='miter'%3E%3Cline x1='19' y1='12' x2='5' y2='12'/%3E%3Cpolyline points='12 19 5 12 12 5'/%3E%3C/svg%3E");-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.btn.has-icon-left:hover:before{transform:translateY(-50%)translate(-3px)}.btn.has-icon-hover:after{opacity:0}.btn.has-icon-hover:hover:after{opacity:1;transform:translateY(-50%)translate(3px)}.btn--sm.has-icon-hover:after,.btn--sm.has-icon-right:after{right:calc(var(--btn-padding-x-sm) * .5)}.btn--sm.has-icon-left:before{left:calc(var(--btn-padding-x-sm) * .5)}.btn--primary{background:var(--btn-primary-bg);color:var(--btn-primary-text);border-color:var(--btn-primary-border)}.btn--primary:hover{background:var(--btn-primary-bg-hover);color:var(--btn-primary-text);border-color:var(--btn-primary-border-hover)}.btn--tint{background:var(--btn-tint-bg);color:var(--btn-tint-text);border-color:var(--btn-tint-border)}.btn--tint:hover{background:var(--btn-tint-bg-hover);border-color:var(--btn-tint-border-hover)}.btn--outline{background:var(--btn-outline-bg);color:var(--btn-outline-text);border-color:var(--btn-outline-border);border-width:var(--btn-outline-border-width)}.btn--outline:hover{background:var(--btn-outline-bg-hover);border-color:var(--btn-outline-border-hover)}.btn--white-primary{background:var(--btn-white-primary-bg);color:var(--btn-white-primary-text);border-color:var(--btn-white-primary-bg)}.btn--white-primary:hover{background:var(--btn-white-primary-bg-hover);border-color:var(--btn-white-primary-bg-hover)}.btn--white-tint{background:var(--btn-white-tint-bg);color:var(--btn-white-tint-text);border-color:#0000}.btn--white-tint:hover{background:var(--btn-white-tint-bg-hover)}.btn--white-outline{background:var(--btn-white-outline-bg);color:var(--btn-white-outline-text);border-color:var(--btn-white-outline-border);border-width:var(--btn-outline-border-width)}.btn--white-outline:hover{background:var(--btn-white-outline-bg-hover);border-color:var(--btn-white-outline-border-hover)}.btn--text{color:var(--brand-accent-text);background:0 0;border-color:#0000;padding:5px 8px;font-size:12px}.btn--text:hover{color:var(--btn-text-color-hover);background:hsla(var(--brand-accent-h),var(--brand-accent-s),var(--brand-accent-l),.06)}.btn--disabled,.btn--disabled:focus,.btn--disabled:hover{background:var(--btn-disabled-bg);color:var(--btn-disabled-text);border-color:var(--btn-disabled-bg);cursor:not-allowed;pointer-events:none;opacity:.7}.btn--secondary{background:var(--bg-surface-alt);color:var(--text-body);border:1px solid var(--border-strong)}.btn--secondary:hover{background:var(--bg-subtle)}.btn--danger{padding:5px 8px;font-size:12px}.btn--danger-text{color:var(--state-error);background:0 0;border-color:#0000}.btn--danger-text:hover{color:var(--state-error-text);background:var(--state-error-soft)}.btn--ghost-on-dark{color:var(--text-on-dark);background:#ffffff1a;border-color:#fff3}.btn--ghost-on-dark:hover{background:#ffffff2e}.et_pb_button.btn{color:inherit;font-size:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;text-transform:none;border-radius:var(--radius-none);background:0 0;border:none;padding:0}.et_pb_button.btn:after,.et_pb_button.btn:before{display:none}.et-db #et-boc .et-l .et-l--post .et_builder_inner_content .et_pb_row{width:100%!important}.link-inline{color:var(--link-default);text-decoration:underline;-webkit-text-decoration-color:var(--link-underline-rest);text-decoration-color:var(--link-underline-rest);text-underline-offset:.15em;transition:color var(--transition-duration) var(--transition-easing),text-decoration-color var(--transition-duration) var(--transition-easing)}.link-inline:hover{color:var(--link-hover);-webkit-text-decoration-color:var(--link-underline-hover);text-decoration-color:var(--link-underline-hover)}.link-inline:visited{color:var(--link-visited)}.link-action{color:var(--link-action-color);align-items:center;gap:var(--link-action-gap);letter-spacing:var(--link-action-tracking-rest);transition:color var(--transition-duration) var(--transition-easing),letter-spacing var(--transition-duration) var(--transition-easing);font-weight:700;text-decoration:none;display:inline-flex}.link-action:after{content:"→"/"";transition:transform var(--transition-duration) var(--transition-easing);display:inline-block}.link-action:hover{color:var(--link-action-color-hover);letter-spacing:var(--link-action-tracking-hover)}.link-action:hover:after{transform:translateX(var(--link-action-arrow-nudge))}.on-dark .link-action,.surface--dark .link-action{color:var(--link-action-color-on-dark)}.on-dark .link-action:hover,.surface--dark .link-action:hover{color:var(--link-action-color-on-dark-hover)}.link-action--no-arrow:after{display:none}:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring);outline-offset:var(--focus-ring-offset)}:focus:not(:focus-visible){outline:none}.on-dark :focus-visible,.surface--dark :focus-visible{outline-color:var(--focus-ring-on-dark)}:root{--accordion-padding-y:.85rem;--accordion-border:var(--border-width-xs) solid var(--neutral-200);--accordion-icon-size:14px;--accordion-icon-color:var(--neutral-500);--accordion-title-size:var(--text-card-size-h5);--accordion-title-weight:700;--accordion-content-size:var(--text-card-size-body);--accordion-content-color:var(--text-body-muted);--accordion-transition:var(--transition-duration) var(--transition-easing)}.accordion{flex-direction:column;display:flex}.accordion__item{border-bottom:var(--accordion-border);overflow:hidden}.accordion__item:last-child{border-bottom:none}.accordion__trigger{padding:var(--accordion-padding-y) 0;font-weight:var(--accordion-title-weight);font-size:var(--accordion-title-size);cursor:pointer;color:var(--text-heading);justify-content:space-between;align-items:center;list-style:none;display:flex}.accordion__trigger::-webkit-details-marker{display:none}.accordion__trigger::marker{content:"";display:none}.accordion__icon{color:var(--accordion-icon-color);flex-shrink:0;justify-content:center;align-items:center;display:flex}.accordion__icon .v-bar{transition:transform var(--accordion-transition),opacity var(--accordion-transition);transform-origin:50%}.accordion__item[open] .accordion__icon .v-bar{opacity:0;transform:scaleY(0)}.accordion__content{transition:grid-template-rows var(--accordion-transition);grid-template-rows:0fr;display:grid}.accordion__item[open] .accordion__content{grid-template-rows:1fr}.accordion__content-inner{overflow:hidden}.accordion__content-inner p{padding:0 0 var(--space-global-sm);font-size:var(--accordion-content-size);color:var(--accordion-content-color);margin:0;line-height:1.7}@media (prefers-reduced-motion:reduce){.accordion__content,.accordion__icon .v-bar{transition:none}}:root{--form-input-padding-y:.65rem;--form-input-padding-x:.875rem;--form-label-size:var(--text-card-size-h6);--form-label-weight:600;--form-input-size:var(--text-card-size-body);--form-placeholder-color:var(--neutral-400);--form-border:var(--border-width-xs) solid var(--neutral-200);--form-border-focus:var(--brand-accent);--form-group-gap:.4rem;--form-stack-gap:var(--space-global-md);--form-check-size:1.15em;--form-check-gap:var(--space-global-xs)}.form-group{gap:var(--form-group-gap);margin-bottom:var(--form-stack-gap);flex-direction:column;display:flex}.form-label{font-size:var(--form-label-size);font-weight:var(--form-label-weight);color:var(--text-heading)}.form-label .required{color:var(--state-error);margin-left:.15em}.form-input{font-size:var(--form-input-size);background:var(--bg-page,#fff);border:var(--form-border);padding:var(--form-input-padding-y) var(--form-input-padding-x);transition:border-color var(--transition-duration) var(--transition-easing);line-height:1.5}.form-input:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring);outline-offset:var(--focus-ring-offset)}textarea.form-input{resize:vertical;min-height:5rem}.form-select{font-size:var(--form-input-size);background:var(--bg-page,#fff);border:var(--form-border);padding:var(--form-input-padding-y) var(--form-select-padding-right) var(--form-input-padding-y) var(--form-input-padding-x);appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2371717a' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='miter'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--form-select-arrow-offset) center;background-size:var(--form-select-arrow-size);cursor:pointer;transition:border-color var(--transition-duration) var(--transition-easing);outline:none;line-height:1.5}.form-select:focus{border-color:var(--form-border-focus)}.form-select:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring);outline-offset:var(--focus-ring-offset)}.form-select option{background:var(--bg-page,#fff);color:var(--text-body)}.form-check{align-items:center;gap:var(--form-check-gap);cursor:pointer;font-size:var(--form-input-size);color:var(--text-body);display:flex}.form-check input[type=checkbox],.form-check input[type=radio]{appearance:none;width:var(--form-check-size);height:var(--form-check-size);border:var(--form-border);background:var(--bg-page,#fff);cursor:pointer;transition:border-color var(--transition-duration) var(--transition-easing),background var(--transition-duration) var(--transition-easing);flex-shrink:0;place-content:center;display:grid}.form-check input[type=checkbox]{border-radius:var(--radius-sm)}.form-check input[type=radio]{border-radius:50%}.form-check input[type=checkbox]:checked{background:var(--brand-accent);border-color:var(--brand-accent)}.form-check input[type=checkbox]:checked:after{content:"";background:#fff;width:.55em;height:.55em;-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E");-webkit-mask-size:contain;mask-size:contain}.form-check input[type=radio]:checked{border-color:var(--brand-accent);background:var(--bg-page,#fff)}.form-check input[type=radio]:checked:after{content:"";background:var(--brand-accent);border-radius:50%;width:.5em;height:.5em}.form-helper{font-size:calc(var(--form-label-size) * .9);color:var(--neutral-500);line-height:1.5}.form-group--error .form-input,.form-group--error .form-input:focus,.form-group--error .form-select,.form-group--error .form-select:focus{border-color:var(--state-error)}.form-group--error .form-input:focus-visible,.form-group--error .form-select:focus-visible{outline-color:var(--state-error)}.form-group--error .form-helper,.form-group--error .form-label{color:var(--state-error-text)}.form-group--success .form-input,.form-group--success .form-input:focus,.form-group--success .form-select,.form-group--success .form-select:focus{border-color:var(--state-success)}.form-group--success .form-input:focus-visible,.form-group--success .form-select:focus-visible{outline-color:var(--state-success)}.form-group--success .form-helper{color:var(--state-success-text)}.form-group--disabled .form-input,.form-group--disabled .form-select{opacity:.5;cursor:not-allowed;background:var(--neutral-100,#f4f4f5)}.form-group--disabled .form-label{opacity:.5}:root{--badge-font-size:11px;--badge-font-weight:600;--badge-padding-y:.25em;--badge-padding-x:.65em;--badge-radius:var(--radius-sm);--badge-letter-spacing:.02em}.badge{font-family:inherit;font-size:var(--badge-font-size);font-weight:var(--badge-font-weight);letter-spacing:var(--badge-letter-spacing);padding:var(--badge-padding-y) var(--badge-padding-x);border-radius:var(--badge-radius);white-space:nowrap;background:var(--neutral-100);color:var(--neutral-700);border:1px solid var(--neutral-200);align-items:center;gap:.35em;line-height:1;display:inline-flex}.badge--pill{border-radius:var(--radius-pill)}.badge--accent{background:hsla(var(--brand-accent-h),var(--brand-accent-s),var(--brand-accent-l),.1);color:var(--brand-accent-text);border-color:hsla(var(--brand-accent-h),var(--brand-accent-s),var(--brand-accent-l),.25)}.badge--success{background:var(--state-success-soft);color:var(--state-success-text);border-color:var(--state-success)}.badge--warning{background:var(--state-warning-soft);color:var(--state-warning-text);border-color:var(--state-warning)}.badge--error{background:var(--state-error-soft);color:var(--state-error-text);border-color:var(--state-error)}.badge--info{background:var(--state-info-soft);color:var(--state-info-text);border-color:var(--state-info)}.badge--solid-accent{background:var(--brand-accent);color:var(--text-on-dark);border-color:var(--brand-accent)}.badge--solid-success{background:var(--state-success);color:var(--text-on-dark);border-color:var(--state-success)}.badge--solid-error{background:var(--state-error);color:var(--text-on-dark);border-color:var(--state-error)}.badge--activity,.badge--lesson,.badge--programme{letter-spacing:.03em;text-transform:uppercase;background:0 0;border-color:#0000;align-self:flex-start;gap:.3em;font-weight:700}.badge--activity:before,.badge--lesson:before,.badge--programme:before{content:"";background:currentColor;flex-shrink:0;width:1em;height:1em;display:inline-block;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.badge--programme{color:var(--content-programme)}.badge--programme:before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='8' y='2' width='13' height='13' rx='2'/%3E%3Cpath d='M5 8H4a2 2 0 0 0-2 2v9a2 2 0 0 0 2 2h9a2 2 0 0 0 2-2v-1'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='8' y='2' width='13' height='13' rx='2'/%3E%3Cpath d='M5 8H4a2 2 0 0 0-2 2v9a2 2 0 0 0 2 2h9a2 2 0 0 0 2-2v-1'/%3E%3C/svg%3E")}.badge--lesson{color:var(--content-lesson)}.badge--lesson:before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 3h6a4 4 0 0 1 4 4v14a3 3 0 0 0-3-3H2z'/%3E%3Cpath d='M22 3h-6a4 4 0 0 0-4 4v14a3 3 0 0 1 3-3h7z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 3h6a4 4 0 0 1 4 4v14a3 3 0 0 0-3-3H2z'/%3E%3Cpath d='M22 3h-6a4 4 0 0 0-4 4v14a3 3 0 0 1 3-3h7z'/%3E%3C/svg%3E")}.badge--activity{color:var(--content-activity)}.badge--activity:before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M13 2 3 14h9l-1 8 10-12h-9l1-8z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M13 2 3 14h9l-1 8 10-12h-9l1-8z'/%3E%3C/svg%3E")}.badge--solid{background:var(--brand-accent);color:#fff;border-color:var(--brand-accent)}.badge--draft{background-color:var(--bg-surface-alt);color:var(--text-body-muted)}.badge--published{background-color:var(--state-success-soft);color:var(--state-success-text)}.badge--review{background-color:var(--state-warning-soft);color:var(--state-warning-text)}.badge--archived{background-color:var(--neutral-200);color:var(--neutral-500)}.badge--meta{background-color:var(--bg-surface-alt);color:var(--text-body-muted);border-radius:4px;padding:3px 8px;font-size:11px;font-weight:500;line-height:1.5}.badge--sensitive{background-color:var(--state-warning-soft);color:var(--state-warning-text)}.badge--mandatory,.badge--specialist{background-color:var(--state-error-soft);color:var(--state-error-text)}.badge--mandatory{font-weight:700}:root{--alert-padding-y:var(--space-global-sm);--alert-padding-x:var(--space-global-md);--alert-radius:var(--radius-md);--alert-border-width:var(--border-width-xs);--alert-font-size:var(--text-card-size-body);--alert-title-size:var(--text-card-size-h6);--alert-title-weight:700;--alert-icon-size:1.25em}.alert{gap:var(--space-global-xs);padding:var(--alert-padding-y) var(--alert-padding-x);border-radius:var(--alert-radius);border:var(--alert-border-width) solid var(--neutral-200);background:var(--neutral-100,#f4f4f5);color:var(--text-body);font-size:var(--alert-font-size);line-height:1.6;display:flex;position:relative}.alert__icon{width:var(--alert-icon-size);height:var(--alert-icon-size);flex-shrink:0;margin-top:.15em}.alert__content{flex:1;min-width:0}.alert__title{font-size:var(--alert-title-size);font-weight:var(--alert-title-weight);margin-bottom:.25em}.alert__body p{margin:0}.alert__dismiss{top:var(--alert-padding-y);right:var(--alert-padding-x);cursor:pointer;color:inherit;opacity:.5;transition:opacity var(--transition-duration) var(--transition-easing);background:0 0;border:none;padding:0;font-size:1.1em;line-height:1;position:absolute}.alert__dismiss:hover{opacity:1}.alert--info{background:var(--state-info-soft);border-color:var(--state-info);color:var(--state-info-text)}.alert--success{background:var(--state-success-soft);border-color:var(--state-success);color:var(--state-success-text)}.alert--warning{background:var(--state-warning-soft);border-color:var(--state-warning);color:var(--state-warning-text)}.alert--error{background:var(--state-error-soft);border-color:var(--state-error);color:var(--state-error-text)}.chip{font-size:var(--text-card-size-body,.875rem);color:var(--text-body-muted);background:var(--bg-page);border:1px solid var(--border-strong);border-radius:var(--radius-base);cursor:pointer;white-space:nowrap;transition:background var(--transition-duration) var(--transition-easing),color var(--transition-duration) var(--transition-easing),border-color var(--transition-duration) var(--transition-easing);align-items:center;gap:4px;padding:6px 14px;font-family:inherit;font-weight:500;text-decoration:none;display:inline-flex}.chip:hover{background:var(--bg-surface-alt);color:var(--text-body);border-color:var(--neutral-400)}.chip--active,.chip.is-active{background:var(--brand-accent);color:#fff;border-color:var(--brand-accent);font-weight:600}.chip--active:hover,.chip.is-active:hover{background:var(--brand-accent-strong,#0b7b71);border-color:var(--brand-accent-strong,#0b7b71)}.chip__count{opacity:.75;font-weight:400}.input{font-family:inherit;font-size:var(--form-input-size,.875rem);color:var(--text-body);background:var(--bg-page,#fff);border:var(--form-border,1px solid var(--neutral-300));border-radius:var(--radius-sm);padding:var(--form-input-padding-y,.5rem) var(--form-input-padding-x,.75rem);transition:border-color var(--transition-duration) var(--transition-easing);outline:none;line-height:1.5}.input::placeholder{color:var(--form-placeholder-color,var(--text-body-muted))}.input:focus{border-color:var(--brand-accent)}.input:focus-visible{outline:var(--focus-ring-width,2px) solid var(--focus-ring,var(--brand-accent));outline-offset:var(--focus-ring-offset,2px)}:root{--card-radius:var(--radius-lg);--card-padding:16px;--card-gap:8px;--card-shadow:var(--shadow-sm);--card-bg:var(--bg-page);--card-border:var(--border-width-xs) solid var(--border-subtle);--card-img-ratio:56.25%;--card-horizontal-img-width:40%;--card-thumbnail-size:120px}.card{background:var(--card-bg);border-radius:var(--card-radius);border:var(--card-border);box-shadow:var(--card-shadow);transition:box-shadow var(--transition-duration) var(--transition-easing),transform var(--transition-duration) var(--transition-easing),border-color var(--transition-duration) var(--transition-easing);flex-direction:column;display:flex;overflow:hidden}.card__img{position:relative;overflow:hidden}.card__img img{object-fit:cover;width:100%;height:100%;display:block}.card:not(.card--horizontal):not(.card--thumbnail) .card__img{padding-top:var(--card-img-ratio)}.card:not(.card--horizontal):not(.card--thumbnail) .card__img img{position:absolute;top:0;left:0}.card__body{padding:var(--card-padding);gap:var(--card-gap);flex-direction:column;flex:1;display:flex}.card__eyebrow{font-size:var(--text-card-size-h6);letter-spacing:var(--card-eyebrow-ls);text-transform:uppercase;color:var(--brand-accent-text);font-weight:700}.card__title{font-size:var(--text-card-size-h5);color:var(--text-heading);font-weight:700;line-height:1.3}.card__text{color:var(--text-body-muted);line-height:1.6}.card__link,.card__text{font-size:var(--text-card-size-body)}.card__link{color:var(--link-action-color,var(--brand-accent-text));align-items:center;gap:var(--link-action-gap);transition:color var(--transition-duration) var(--transition-easing),letter-spacing var(--transition-duration) var(--transition-easing);font-weight:700;text-decoration:none;display:inline-flex}.card__link:after{content:"→"/"";transition:transform var(--transition-duration) var(--transition-easing);display:inline-block}.card__link:hover{color:var(--link-hover,var(--brand-accent-strong));letter-spacing:var(--link-action-tracking-hover)}.card__link:hover:after{transform:translateX(var(--link-action-arrow-nudge))}.card--lift{box-shadow:var(--shadow-none);border-color:#0000}.card--lift:hover{box-shadow:var(--shadow-lg);transform:translateY(var(--card-lift-distance));border-color:var(--border-subtle)}.card--reveal{box-shadow:var(--shadow-none);background:0 0;border-color:#0000}.card--reveal:hover{background:var(--card-bg);box-shadow:var(--shadow-lg);transform:translateY(var(--card-lift-distance));border-color:var(--border-subtle)}.card--ghost{box-shadow:none;border-radius:var(--radius-none);background:0 0;border:none}.card--ghost .card__body{padding:0}.card--horizontal{flex-direction:row}.card--horizontal .card__img{width:var(--card-horizontal-img-width);flex-shrink:0}.card--horizontal .card__img img{object-fit:cover;width:100%;height:100%}.card--horizontal .card__body{justify-content:center}.card--horizontal-reverse{flex-direction:row-reverse}.card--horizontal-reverse .card__img{width:var(--card-horizontal-img-width);flex-shrink:0}.card--horizontal-reverse .card__img img{object-fit:cover;width:100%;height:100%}.card--horizontal-reverse .card__body{justify-content:center}@media (max-width:768px){.card--horizontal,.card--horizontal-reverse{flex-direction:column}.card--horizontal .card__img,.card--horizontal-reverse .card__img{width:100%;padding-top:var(--card-img-ratio);position:relative}.card--horizontal .card__img img,.card--horizontal-reverse .card__img img{position:absolute;top:0;left:0}}.card--thumbnail{flex-direction:row;align-items:stretch}.card--thumbnail .card__img{width:var(--card-thumbnail-size);flex-shrink:0}.card--thumbnail .card__img img{object-fit:cover;width:100%;height:100%}.card--thumbnail .card__body{justify-content:center}.card--thumbnail.card--reverse{flex-direction:row-reverse}@media (max-width:768px){.card--thumbnail{flex-direction:column;align-items:stretch}.card--thumbnail .card__img{width:100%;height:auto;padding-top:var(--card-img-ratio);position:relative}.card--thumbnail .card__img img{position:absolute;top:0;left:0}.card--thumbnail.card--reverse{flex-direction:column}}@media (prefers-reduced-motion:reduce){.card,.card__link:after{transition:none}}:root{--surface-padding:var(--space-global-xl);--surface-radius:var(--radius-lg)}.surface{padding:var(--surface-padding);border-radius:var(--surface-radius)}.surface--light{background:var(--bg-surface)}.surface--alt{background:var(--bg-surface-alt)}.surface--dark{background:var(--neutral-900,#18181b);color:var(--text-on-dark)}.surface--dark .card__title,.surface--dark h1,.surface--dark h2,.surface--dark h3,.surface--dark h4,.surface--dark h5,.surface--dark h6{color:var(--text-heading-on-dark)}.surface--brand{background:var(--brand-accent);color:var(--text-on-dark)}.surface--brand h1,.surface--brand h2,.surface--brand h3,.surface--brand h4,.surface--brand h5,.surface--brand h6{color:var(--text-heading-on-dark)}.surface--bordered{border:var(--border-width-xs) solid var(--border-subtle)}.surface--dark.surface--bordered{border-color:var(--border-subtle-on-dark)}:root{--glass-blur:12px;--glass-tint-light:#ffffff26;--glass-tint-light-strong:#fff6;--glass-tint-dark:#00000040;--glass-tint-dark-strong:#00000073;--glass-border-light:#ffffff40;--glass-tint-light-solid:#ffffffd1;--glass-border-light-solid:#ffffff80;--glass-border-dark:#ffffff14;--glass-shadow:0 4px 24px #0000000f;--glass-shadow-dark:0 4px 24px #00000026}.glass{background:var(--glass-tint-light);-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur));border:var(--border-width-xs) solid var(--glass-border-light);box-shadow:var(--glass-shadow)}.glass--strong{background:var(--glass-tint-light-strong)}.glass--dark{background:var(--glass-tint-dark);-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur));border:var(--border-width-xs) solid var(--glass-border-dark);box-shadow:var(--glass-shadow-dark);color:var(--text-on-dark)}.glass--dark h1,.glass--dark h2,.glass--dark h3,.glass--dark h4,.glass--dark h5,.glass--dark h6{color:var(--text-heading-on-dark)}.glass--dark.glass--strong{background:var(--glass-tint-dark-strong)}.glass--dark .link-action{color:var(--link-action-color-on-dark)}.glass--dark .link-action:hover{color:var(--link-action-color-on-dark-hover)}.glass--dark :focus-visible{outline-color:var(--focus-ring-on-dark)}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.glass{background:#ffffffb3}.glass--dark{background:#000000a6}}@media (prefers-reduced-motion:reduce){.glass,.glass--dark{transition:none}}.spot-icon{width:var(--spot-icon-size);height:var(--spot-icon-size);padding:var(--spot-icon-padding);color:var(--spot-icon-color);background:var(--spot-icon-bg);border-radius:var(--spot-icon-radius);transition:background var(--transition-duration) var(--transition-easing);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.spot-icon svg{width:100%;height:100%;display:block}.spot-icon--sm{width:var(--spot-icon-size-sm);height:var(--spot-icon-size-sm);padding:.5rem}.spot-icon--lg{width:var(--spot-icon-size-lg);height:var(--spot-icon-size-lg);padding:.75rem}.spot-icon--circle{border-radius:var(--radius-circle)}.spot-icon--hoverable:hover{background:var(--spot-icon-bg-hover)}.spot-icon--on-dark{color:hsl(var(--brand-accent-h),var(--brand-accent-s),75%);background:hsla(var(--brand-accent-h),var(--brand-accent-s),var(--brand-accent-l),.15)}.spot-icon--neutral{color:var(--neutral-500);background:var(--neutral-100)}:root{--table-font-size:14px;--table-header-size:12px;--table-header-weight:700;--table-header-tracking:.04em;--table-header-bg:var(--bg-surface);--table-header-color:var(--text-heading);--table-cell-padding-y:10px;--table-cell-padding-x:14px;--table-border-color:var(--neutral-200);--table-border-color-strong:var(--neutral-400);--table-stripe-bg:var(--bg-surface);--table-hover-bg:var(--bg-surface-alt);--z-base:1;--z-sticky:100;--z-dropdown:400;--z-overlay:500;--z-modal:600;--z-toast:700}.table{border-collapse:separate;border-spacing:0;border-radius:var(--radius-sm);width:100%;font-size:var(--table-font-size);color:var(--text-body);line-height:1.5;overflow:hidden}.table thead th{text-align:left;font-size:var(--table-header-size);font-weight:var(--table-header-weight);letter-spacing:var(--table-header-tracking);text-transform:uppercase;color:var(--table-header-color);background:var(--table-header-bg);border-bottom:var(--border-width-xs) solid var(--table-border-color-strong)}.table tbody td,.table thead th{padding:var(--table-cell-padding-y) var(--table-cell-padding-x)}.table tbody td{border-bottom:var(--border-width-xs) solid var(--table-border-color);vertical-align:top}.table tbody tr:last-child td{padding-bottom:calc(var(--table-cell-padding-y) * .5);border-bottom:none}.table tfoot td{padding:var(--table-cell-padding-y) var(--table-cell-padding-x);border-top:var(--border-width-xs) solid var(--table-border-color-strong);font-weight:var(--table-header-weight);color:var(--text-heading)}.table--striped tbody tr:nth-child(2n){background:var(--table-stripe-bg)}.table--hover tbody tr{transition:background var(--transition-duration) var(--transition-easing)}.table--hover tbody tr:hover{background:var(--table-hover-bg)}.table--bordered thead th{border:var(--border-width-xs) solid var(--table-border-color);border-bottom-color:var(--table-border-color-strong)}.table--bordered tbody td{border:var(--border-width-xs) solid var(--table-border-color);border-top:none}.table--bordered tfoot td{border:var(--border-width-xs) solid var(--table-border-color);border-top-color:var(--table-border-color-strong)}.table--bordered tbody tr:last-child td{padding-bottom:var(--table-cell-padding-y)}.table--compact tbody td,.table--compact tfoot td,.table--compact thead th{padding:var(--table-compact-padding-y) var(--table-compact-padding-x);font-size:calc(var(--table-font-size) * .9)}.table .text-right{text-align:right}.surface--dark .table{color:var(--text-on-dark)}.surface--dark .table thead th{color:var(--text-heading-on-dark);background:var(--table-header-bg-on-dark)}.surface--dark .table tbody td,.surface--dark .table thead th{border-bottom-color:var(--border-subtle-on-dark)}.surface--dark .table--striped tbody tr:nth-child(2n){background:var(--table-stripe-bg-on-dark)}.surface--dark .table--hover tbody tr:hover{background:var(--table-hover-bg-on-dark)}.surface--dark .table--bordered tbody td,.surface--dark .table--bordered tfoot td,.surface--dark .table--bordered thead th{border-color:var(--border-subtle-on-dark)}:root{--app-topbar-height:56px;--app-content-max-width:1120px;--app-content-narrow:880px;--app-content-profile:720px;--app-page-padding:var(--space-global-md);--app-card-gap:var(--space-global-sm);--app-section-gap:var(--space-global-lg);--app-filter-sidebar-width:260px;--app-grid-columns-lg:3;--app-grid-columns-md:2;--app-grid-columns-sm:1;--app-tray-height-collapsed:44px;--app-tray-height-expanded:280px;--admin-sidebar-width:220px;--admin-topbar-height:48px;--admin-content-max-width:1200px;--admin-card-gap:12px;--editor-header-height:52px;--editor-tabs-height:42px;--editor-slide-list-width:180px;--editor-preview-width:360px;--editor-lesson-panel-width:400px;--bp-sm:480px;--bp-md:768px;--bp-lg:1024px;--bp-xl:1280px}.app-main{padding-top:var(--app-topbar-height);background-color:var(--bg-canvas);min-height:100vh}.app-container{max-width:var(--app-content-max-width);padding:0 var(--app-page-padding);margin:0 auto}.app-container--narrow{max-width:var(--app-content-narrow)}.app-container--profile{max-width:var(--app-content-profile)}.app-grid{grid-template-columns:repeat(var(--app-grid-columns-lg),1fr);gap:var(--app-card-gap);display:grid}@media (max-width:1024px){.app-grid{grid-template-columns:repeat(var(--app-grid-columns-md),1fr)}}@media (max-width:640px){.app-grid{grid-template-columns:repeat(var(--app-grid-columns-sm),1fr)}}.card__meta{color:var(--text-body-muted);padding-bottom:var(--space-global-xs);flex-wrap:wrap;gap:6px;font-size:12px;display:flex}.card__meta-sep{color:var(--neutral-400)}.card__status{text-transform:uppercase;letter-spacing:.05em;border-radius:4px;flex-shrink:0;padding:2px 8px;font-size:10px;font-weight:700}.card__status--draft{background:var(--bg-surface-alt);color:var(--text-body-muted)}.card__status--published{background:var(--state-success-soft);color:var(--state-success-text)}.card__stats{color:var(--text-body-muted);gap:12px;font-size:12px}.card__actions,.card__stats{align-items:center;display:flex}.card__actions{gap:var(--card-gap);padding-top:calc(var(--card-padding) + var(--space-global-xs));margin-top:auto;position:relative}.card__actions:before{content:"";top:var(--card-padding);border-top:1px solid var(--border-subtle);position:absolute;left:0;right:0}.card__actions .btn--text{margin-left:auto}a.card{color:inherit;text-decoration:none}.card--lift{box-shadow:var(--shadow-xs)}.card--lift:hover{box-shadow:var(--shadow-md)}.app-topbar{height:var(--app-topbar-height);background-color:var(--bg-page);border-bottom:var(--border-width-xs) solid var(--border-subtle);padding:0 var(--app-page-padding);z-index:var(--z-sticky);align-items:center;display:flex;position:fixed;top:0;left:0;right:0}.app-topbar__logo{border-radius:var(--radius-sm);width:32px;height:32px;margin-right:var(--space-global-xs);flex-shrink:0}.app-topbar__brand{color:var(--text-heading);margin-right:var(--space-global-lg);font-size:1rem;font-weight:700;text-decoration:none}.app-topbar__nav{gap:var(--space-global-2xs);display:flex}.app-topbar__link{font-size:var(--text-card-size-body);color:var(--text-body-muted);border-radius:var(--radius-md);transition:background var(--transition-duration) var(--transition-easing),color var(--transition-duration) var(--transition-easing);padding:6px 14px;font-weight:600;text-decoration:none;position:relative}.app-topbar__link:hover{background-color:var(--bg-surface-alt);color:var(--text-body)}.app-topbar__link.is-active,.app-topbar__link[aria-current=page]{color:var(--brand-accent);background-color:#0000;position:relative}.app-topbar__link.is-active:after,.app-topbar__link[aria-current=page]:after{content:"";background:var(--brand-accent);border-radius:1px;height:2px;position:absolute;bottom:-1px;left:8px;right:8px}.app-topbar__spacer{flex:1}.app-topbar__admin-link{font-size:var(--text-card-size-h6);color:var(--text-body-muted);margin-right:var(--space-global-sm);text-decoration:none}.app-topbar__avatar{border-radius:var(--radius-circle);background:var(--neutral-200);justify-content:center;align-items:center;width:32px;height:32px;text-decoration:none;display:flex;overflow:hidden}.app-topbar__avatar-initials{color:var(--text-body-muted);font-size:11px;font-weight:600}@media (max-width:640px){.app-topbar__nav{display:none}.app-topbar__brand{margin-right:auto}}.app-tray{background-color:var(--bg-page);border-top:var(--border-width-xs) solid var(--border-subtle);z-index:var(--z-sticky);transition:max-height var(--transition-duration) var(--transition-easing);max-height:var(--app-tray-height-collapsed);position:fixed;bottom:0;left:0;right:0;overflow:hidden;box-shadow:0 -4px 16px #1b1a170f}.app-tray--expanded{max-height:var(--app-tray-height-expanded);overflow-y:auto}.app-tray__bar{align-items:center;gap:var(--space-global-xs);height:var(--app-tray-height-collapsed);padding:0 var(--app-page-padding);cursor:pointer;-webkit-user-select:none;user-select:none;display:flex}.app-tray__bar:hover{background-color:var(--bg-surface)}.app-tray__indicator{background:var(--brand-accent);border-radius:var(--radius-circle);flex-shrink:0;width:8px;height:8px}.app-tray__title{font-size:var(--text-card-size-body);font-weight:600}.app-tray__meta{font-size:var(--text-card-size-h6);color:var(--text-body-muted)}.app-tray__spacer{flex:1}.app-tray__expand{font-size:var(--text-card-size-h6);color:var(--brand-accent-text);cursor:pointer;font-weight:600}.app-tray__toggle{width:20px;height:20px;transition:transform var(--transition-duration) var(--transition-easing);flex-shrink:0}.app-tray--expanded .app-tray__toggle{transform:rotate(180deg)}.app-tray__list{gap:var(--space-global-md);padding:var(--space-global-md) var(--app-page-padding);flex-flow:row;display:flex;overflow:auto hidden}.app-tray__item{align-items:center;gap:var(--space-global-sm);padding:var(--space-global-sm) var(--space-global-md);white-space:nowrap;border-radius:var(--radius-md);background-color:var(--bg-surface);cursor:pointer;transition:background-color var(--transition-duration) var(--transition-easing);flex-shrink:0;display:flex}.app-tray__item:hover{background-color:var(--bg-surface-alt)}.search-bar{width:100%;position:relative}.search-bar__input{box-sizing:border-box;width:100%;padding-left:2.5rem;padding-right:2.5rem}.search-bar__icon{left:var(--space-global-sm);width:20px;height:20px;pointer-events:none}.search-bar__clear,.search-bar__icon{color:var(--text-body-muted);position:absolute;top:50%;transform:translateY(-50%)}.search-bar__clear{right:var(--space-global-sm);padding:var(--space-global-xs);cursor:pointer;width:24px;height:24px;transition:color var(--transition-duration) var(--transition-easing);background:0 0;border:none;justify-content:center;align-items:center;display:none}.search-bar__clear:hover{color:var(--text-body)}.search-bar__clear:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring);outline-offset:var(--focus-ring-offset)}.search-bar__input:focus~.search-bar__clear,.search-bar__input:not(:placeholder-shown)~.search-bar__clear{display:flex}.drag-handle{cursor:grab;width:24px;height:24px;color:var(--text-body-muted);transition:color var(--transition-duration) var(--transition-easing);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.drag-handle:hover{color:var(--text-body)}.drag-handle:active{cursor:grabbing}.drag-list{gap:var(--space-global-sm);flex-direction:column;display:flex}.drag-item{align-items:center;gap:var(--space-global-md);padding:var(--space-global-md);border-radius:var(--radius-md);background-color:var(--bg-page);border:var(--border-width-xs) solid var(--border-subtle);transition:box-shadow var(--transition-duration) var(--transition-easing),opacity var(--transition-duration) var(--transition-easing);display:flex}.drag-item--dragging{box-shadow:var(--shadow-lg);opacity:.75}.admin-sidebar{width:var(--admin-sidebar-width);color:#ffffffb3;height:100vh;z-index:var(--z-sticky);padding:var(--space-global-sm) 0;background-color:#17212b;flex-direction:column;display:flex;position:fixed;top:0;left:0;overflow:hidden auto}.admin-sidebar__logo{align-items:center;gap:var(--space-global-xs);padding:var(--space-global-xs) var(--space-global-sm);margin-bottom:var(--space-global-md);display:flex}.admin-sidebar__logo-icon{background:var(--brand-accent);border-radius:var(--radius-sm);color:#fff;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:12px;font-weight:700;display:flex}.admin-sidebar__logo-text{font-weight:700;font-size:var(--text-card-size-body);color:#fff;text-decoration:none}.admin-sidebar__logo-text:hover{color:#fff}.admin-sidebar__label{text-transform:uppercase;letter-spacing:.08em;color:#fff6;padding:var(--space-global-xs) var(--space-global-sm);margin-top:var(--space-global-xs);font-size:.65rem;font-weight:700}.admin-sidebar__item{padding:8px var(--space-global-sm);font-size:var(--text-card-size-body);color:#ffffffb3;cursor:pointer;transition:background var(--transition-duration) var(--transition-easing),color var(--transition-duration) var(--transition-easing),border-color var(--transition-duration) var(--transition-easing);border-left:3px solid #0000;border-radius:0;align-items:center;gap:10px;margin:0;font-weight:500;text-decoration:none;display:flex}.admin-sidebar__item:hover{color:#fff;background-color:#ffffff0f}.admin-sidebar__item.is-active,.admin-sidebar__item[aria-current=page]{color:#ddf4f1;border-left-color:var(--brand-accent);background-color:#0f8f8326;font-weight:600}.admin-sidebar__item-icon{flex-shrink:0;width:18px;height:18px}.admin-sidebar__divider{height:1px;margin:var(--space-global-xs) var(--space-global-sm);background:#ffffff1a}.admin-sidebar__footer{padding:var(--space-global-sm);font-size:var(--text-card-size-h6);color:#ffffff80;border-top:1px solid #ffffff1a;margin-top:auto}.admin-sidebar__user{color:#fff9;margin-top:4px;padding:8px 16px;font-size:12px}.admin-sidebar__user-role{color:#ffffff59;text-transform:capitalize;margin-top:2px;font-size:10px;display:block}.admin-topbar{height:var(--admin-topbar-height);background-color:var(--bg-page);border-bottom:var(--border-width-xs) solid var(--border-subtle);padding:0 var(--app-page-padding);align-items:center;display:flex}.admin-topbar__title{font-size:var(--text-card-size-body);margin-right:auto;font-weight:700}.admin-topbar__link{font-size:var(--text-card-size-h6);color:var(--brand-accent-text);margin-right:var(--space-global-sm);text-decoration:none}.admin-topbar__link:hover{color:var(--brand-accent-strong)}.admin-topbar__avatar{border-radius:var(--radius-circle);background:var(--neutral-200);width:28px;height:28px;overflow:hidden}.admin-main{margin-left:var(--admin-sidebar-width);background-color:var(--bg-canvas);min-height:100vh}.editor-header{background-color:var(--bg-page);border-bottom:var(--border-width-xs) solid var(--border-subtle);gap:var(--space-global-xs);padding:0 20px}.editor-header__back{cursor:pointer;margin-right:var(--space-global-2xs);font-size:1.25rem}.editor-header__title{font-size:1rem;font-family:var(--font-body);border-bottom:1px dashed #0000;flex:1}.editor-header__title:hover{border-bottom-color:var(--border-subtle)}.editor-header__title:focus{border-bottom-color:var(--brand-accent)}.editor-header__status{font-size:var(--badge-font-size);font-weight:var(--badge-font-weight);padding:var(--badge-padding-y) var(--badge-padding-x);border-radius:var(--badge-radius)}.editor-header__version{font-size:var(--text-card-size-h6);white-space:nowrap}.editor-tabs{background-color:var(--bg-page);border-bottom:2px solid var(--border-subtle);gap:0;padding:0 20px}.editor-tab{font-size:var(--text-card-size-body);transition:color var(--transition-duration) var(--transition-easing);margin-bottom:-2px}.editor-tab.is-active{color:var(--text-heading);border-bottom-color:var(--brand-accent)}.slide-editor{height:calc(100vh - var(--editor-header-height) - var(--editor-tabs-height));display:flex}.slide-editor__list{width:var(--editor-slide-list-width);background:var(--bg-page);border-right:var(--border-width-xs) solid var(--border-subtle);padding:var(--space-global-xs);overflow-y:auto}.slide-editor__form{background:var(--bg-canvas);flex:1;padding:20px;overflow-y:auto}.slide-editor__preview{width:var(--editor-preview-width);background:var(--bg-page);border-left:var(--border-width-xs) solid var(--border-subtle);padding:var(--space-global-sm);overflow-y:auto}.slide-thumb{background:var(--bg-surface-alt);padding:var(--space-global-xs);margin-bottom:var(--space-global-2xs);transition:border-color var(--transition-duration) var(--transition-easing);border:2px solid #0000}.slide-thumb.is-active{border-color:var(--brand-accent)}.slide-thumb__type{letter-spacing:.06em;font-size:.6rem}.slide-thumb__preview{background:var(--bg-page);height:64px;color:var(--text-body-muted);border-radius:2px;justify-content:center;align-items:center;font-size:.65rem;display:flex}.slide-preview__frame{background:var(--bg-page);margin-bottom:var(--space-global-xs);overflow:hidden}.slide-preview__frame,.slide-preview__toggle-btn{border:var(--border-width-xs) solid var(--border-subtle)}.slide-preview__toggle-btn{font-size:var(--text-card-size-h6);transition:background var(--transition-duration) var(--transition-easing);padding:4px 10px}.slide-preview__toggle-btn.is-active{background:var(--bg-surface-alt);color:var(--text-body)}.timeline{flex-direction:column;display:flex}.timeline__item{gap:var(--space-global-xs);display:flex}.timeline__connector{flex-direction:column}.timeline__connector,.timeline__dot{flex-shrink:0;align-items:center;width:28px;display:flex}.timeline__dot{background:var(--bg-page);border:2px solid var(--border-strong);border-radius:var(--radius-circle);height:28px;font-size:var(--text-card-size-h6);color:var(--text-body-muted);justify-content:center;font-weight:700}.timeline__line{background:var(--border-subtle);width:2px;min-height:var(--space-global-xs);flex:1}.timeline__card{background:var(--bg-page);border:var(--border-width-xs) solid var(--border-subtle);border-radius:var(--radius-md);margin-bottom:var(--space-global-xs);transition:border-color var(--transition-duration) var(--transition-easing);flex:1;padding:14px}.timeline__card:hover{border-color:var(--neutral-300)}.timeline__card.is-selected{border-color:var(--brand-accent);border-width:2px}.timeline__card-top{justify-content:space-between;align-items:flex-start;margin-bottom:6px;display:flex}.timeline__card-title{font-size:var(--text-card-size-h4);font-weight:600}.timeline__card-meta{font-size:var(--text-card-size-h6);color:var(--text-body-muted);gap:10px;display:flex}.timeline__card-badges{gap:var(--space-global-2xs);margin-top:6px;display:flex}.stat-grid{gap:var(--admin-card-gap)}.stat-grid--5{grid-template-columns:repeat(5,1fr)}@media (max-width:768px){.stat-grid--4,.stat-grid--5{grid-template-columns:repeat(2,1fr)}}.dark-zone{background:var(--brand-secondary);color:var(--text-on-dark)}.dark-zone__inner{max-width:var(--app-content-max-width);margin:0 auto}.dark-zone__header{margin-bottom:var(--space-global-md);justify-content:space-between;align-items:center;display:flex}.dark-zone__title{font-size:var(--text-card-size-h1,1.5rem);color:#fff;font-weight:700}.dark-zone__subtitle{font-size:var(--text-card-size-body,.875rem);color:#fff9;margin-top:2px}.tinted-zone{background:var(--bg-tinted,var(--bg-surface-alt));border-top:1px solid var(--border-subtle)}.tinted-zone__inner{max-width:var(--admin-content-max-width,1200px);margin:0 auto}.stat-card{border-radius:var(--radius-md);cursor:pointer;transition:background var(--transition-duration) var(--transition-easing);background:#ffffff14;border:1px solid #ffffff1a;padding:14px}.stat-card:hover{background:#ffffff1f}.stat-card__value{font-size:var(--text-card-size-h1);color:#fff;font-weight:700;line-height:1}.stat-card__label{font-size:var(--text-card-size-h6);color:#fff9;margin-top:3px}.stat-card__change{color:#ffffff80;margin-top:2px;font-size:.7rem}.checklist{gap:var(--space-global-xs);flex-direction:column;display:flex}.checklist__item{gap:var(--space-global-xs);padding:var(--space-global-xs) var(--space-global-sm);border:var(--border-width-xs) solid var(--border-subtle);border-radius:var(--radius-md);cursor:pointer;transition:border-color var(--transition-duration) var(--transition-easing)}.checklist__icon{border-radius:var(--radius-circle);font-size:var(--text-card-size-h6)}.checklist__text-title{font-size:var(--text-card-size-body)}.checklist__text-desc,.validation-warning{font-size:var(--text-card-size-h6)}.validation-warning{gap:var(--space-global-xs);padding:var(--space-global-xs) var(--space-global-sm);border-radius:var(--radius-md);margin:var(--space-global-2xs) 0 var(--space-global-2xs) 36px}.validation-warning--advisory{background:var(--state-warning-soft);border:var(--border-width-xs) solid #f0c775;color:var(--state-warning-text)}.validation-warning--block{background:var(--state-error-soft);border:var(--border-width-xs) solid #e99696;color:var(--state-error-text)}.validation-warning__icon{font-size:1rem}.filter-bar{padding:16px var(--app-page-padding) 20px;max-width:calc(var(--app-content-max-width) + var(--app-page-padding) * 2);flex-wrap:wrap;align-items:center;gap:8px;margin:0 auto;display:flex}.filter-bar__search{flex:0 0 220px;width:220px;min-width:0;max-width:220px}.filter-bar .search-bar{width:auto}.filter-bar .filter-select{text-overflow:ellipsis;white-space:nowrap;flex:0 auto;min-width:0;max-width:170px;overflow:hidden}.filter-group{align-items:center;gap:6px;display:flex}.filter-group__label{color:var(--text-body-muted);text-transform:uppercase;letter-spacing:.06em;margin-right:4px;font-size:12px;font-weight:600}.filter-divider{background:var(--border-strong);width:1px;height:24px;margin:0 8px}.filter-chip__count{color:var(--text-body-muted);margin-left:2px;font-weight:400}.bulk-bar{align-items:center;gap:var(--space-global-xs);padding:var(--space-global-xs) var(--app-page-padding);background:var(--bg-surface-alt);border-bottom:var(--border-width-xs) solid var(--border-subtle);font-size:var(--text-card-size-h6);display:flex}.bulk-bar__count{font-weight:600}.tag-input{gap:var(--space-global-2xs);padding:6px var(--space-global-xs);border:var(--border-width-xs) solid var(--neutral-300);border-radius:var(--radius-md);background:var(--bg-page);cursor:text;min-height:36px;transition:border-color var(--transition-duration) var(--transition-easing);flex-wrap:wrap;align-items:center;display:flex}.tag-input:focus-within{border-color:var(--brand-accent)}.tag-input__tag{align-items:center;gap:var(--space-global-2xs);padding:2px var(--space-global-xs);font-size:var(--text-card-size-h6);background:var(--bg-surface-alt);border-radius:var(--radius-sm);font-weight:600;display:inline-flex}.tag-input__remove{cursor:pointer;color:var(--text-body-muted);font-size:.85em;line-height:1}.tag-input__remove:hover{color:var(--state-error)}.tag-input__field{font-size:var(--text-card-size-body);background:0 0;border:none;outline:none;flex:1;min-width:80px;font-family:inherit}.ordered-input{flex-direction:column;gap:6px;display:flex}.ordered-input__item{align-items:center;gap:var(--space-global-xs);display:flex}.ordered-input__num{background:var(--bg-surface-alt);border-radius:var(--radius-circle);width:22px;height:22px;font-size:var(--text-card-size-h6);color:var(--text-body-muted);flex-shrink:0;justify-content:center;align-items:center;font-weight:700;display:flex}.ordered-input__field{height:32px;padding:0 var(--space-global-xs);border:var(--border-width-xs) solid var(--neutral-300);border-radius:var(--radius-sm);font-size:var(--text-card-size-h6);flex:1;font-family:inherit}.ordered-input__field:focus{border-color:var(--brand-accent);outline:none}.profile-section__title{font-size:var(--text-card-size-body)}.profile-section__edit{font-size:var(--text-card-size-h6);text-decoration:none}.profile-field{padding:var(--space-global-xs) 0;border-bottom:var(--border-width-xs) solid var(--border-subtle)}.profile-field__label{font-size:var(--text-card-size-h6)}.profile-field__value{font-size:var(--text-card-size-body)}.btn--ai{align-items:center;gap:var(--space-global-2xs);font-size:var(--text-card-size-h6);color:#6b46c1;border:var(--border-width-xs) solid #d6bcfa;border-radius:var(--radius-md);cursor:pointer;transition:background var(--transition-duration) var(--transition-easing);background:#f0eaff;padding:5px 12px;font-family:inherit;font-weight:600;display:inline-flex}.btn--ai:hover{background:#e9dfff}.btn--ai:before{content:"✦";font-size:.7em}.mini-card{border:var(--border-width-xs) solid var(--border-subtle);border-radius:var(--radius-md);margin-bottom:var(--space-global-xs);cursor:pointer;transition:border-color var(--transition-duration) var(--transition-easing);gap:10px;padding:10px;display:flex}.mini-card:hover{border-color:var(--neutral-300)}.mini-card__info{flex:1}.mini-card__title{font-size:var(--text-card-size-body);margin-bottom:2px;font-weight:600}.mini-card__meta{font-size:var(--text-card-size-h6);color:var(--text-body-muted)}.mini-card__add{color:var(--brand-accent-text);cursor:pointer;align-self:center;font-size:1.125rem}.mini-card__add:hover{color:var(--brand-accent-strong)}.programme-card{gap:var(--space-global-xs);padding:var(--space-global-sm);background:var(--bg-page);border:var(--border-width-xs) solid var(--border-subtle);border-radius:var(--radius-md);margin-bottom:10px;display:flex}.programme-card__num{background:var(--bg-surface-alt);border-radius:var(--radius-circle);width:28px;height:28px;font-size:var(--text-card-size-h6);color:var(--text-body-muted);flex-shrink:0;justify-content:center;align-items:center;font-weight:700;display:flex}.programme-card__info{flex:1}.programme-card__title{font-size:var(--text-card-size-h4);margin-bottom:2px;font-weight:600}.programme-card__activities,.programme-card__meta{font-size:var(--text-card-size-h6);color:var(--text-body-muted)}.programme-card__activities{margin-top:var(--space-global-xs);padding-top:var(--space-global-xs);border-top:var(--border-width-xs) solid var(--border-subtle)}.programme-card__drag{align-self:center}.breadcrumb{font-size:var(--text-card-size-h6);margin-bottom:var(--space-global-sm)}.breadcrumb,.breadcrumb a{color:var(--text-body-muted)}.breadcrumb a{text-decoration:none}.breadcrumb a:hover{color:var(--brand-accent-text)}.breadcrumb__separator{color:var(--neutral-300);margin:0 6px}.empty-state{padding:var(--space-global-xl) var(--space-global-lg);background-color:var(--bg-page);border-radius:var(--radius-lg);border:2px dashed var(--border-subtle);text-align:center}.empty-state__icon{background:var(--bg-surface-alt);border-radius:var(--radius-circle);width:48px;height:48px;margin:0 auto var(--space-global-sm);color:var(--text-body-muted);justify-content:center;align-items:center;font-size:1.25rem;display:flex}.empty-state__title{font-size:var(--text-card-size-h3);color:var(--text-heading);margin-bottom:var(--space-global-2xs);font-weight:700}.empty-state__text{font-size:var(--text-card-size-body);color:var(--text-body-muted);margin-bottom:var(--space-global-md);max-width:360px;margin-left:auto;margin-right:auto}.auth-page{padding:var(--app-page-padding)}.auth-card{background-color:var(--bg-page);padding:40px}.auth-card.glass{background:var(--glass-tint-light-solid);border:var(--border-width-xs) solid var(--glass-border-light-solid);box-shadow:var(--glass-shadow)}.auth-card__logo{width:40px;height:40px;margin:0 auto var(--space-global-sm)}.auth-card__title{font-size:var(--text-card-size-h2);text-align:center;margin-bottom:var(--space-global-2xs)}.auth-card__sub{font-size:var(--text-card-size-body);text-align:center;margin-bottom:var(--space-global-md)}.auth-card__divider{gap:var(--space-global-xs);margin:var(--space-global-md) 0;font-size:var(--text-card-size-h6)}.auth-card__helper{font-size:var(--text-card-size-h6);color:var(--text-body-muted);text-align:center}.auth-card form+form,.auth-card__helper{margin-top:var(--space-global-xs)}.auth-card .btn{justify-content:center;align-items:center;gap:.5em;display:inline-flex}.onboarding-progress{gap:var(--space-global-xs)}.onboarding-progress__bar{border-radius:var(--radius-pill);background-color:var(--border-subtle);transition:background-color .3s}.onboarding-progress__bar.is-complete{background-color:var(--brand-accent)}.onboarding-option{text-align:left;width:100%;padding:var(--space-global-sm) var(--space-global-md);border-radius:var(--radius-md);border:2px solid var(--border-subtle);background-color:var(--bg-page);color:var(--text-body);font-size:var(--text-card-size-body);font-family:var(--font-body);cursor:pointer;transition:border-color var(--transition-duration) var(--transition-easing),background-color var(--transition-duration) var(--transition-easing);display:block}.onboarding-option.is-selected,.onboarding-option:hover{border-color:var(--brand-accent)}.onboarding-option.is-selected{background-color:hsla(var(--brand-accent-h),var(--brand-accent-s),var(--brand-accent-l),.08);color:var(--brand-accent-text);font-weight:500}.onboarding-chip{padding:var(--space-global-sm) var(--space-global-lg);border:2px solid var(--border-subtle);background-color:var(--bg-page);font-size:var(--text-card-size-body);font-family:var(--font-body);transition:border-color var(--transition-duration) var(--transition-easing),background-color var(--transition-duration) var(--transition-easing)}.onboarding-chip.is-selected{background-color:hsla(var(--brand-accent-h),var(--brand-accent-s),var(--brand-accent-l),.08)}.page-header{padding:var(--app-page-padding) var(--app-page-padding) 0;margin-bottom:var(--space-global-md);background:var(--bg-canvas)}.page-header__inner{max-width:var(--app-content-max-width);margin:0 auto}.page-header__title{font-size:var(--text-card-size-h1);color:var(--text-heading);margin-bottom:var(--space-global-2xs);font-weight:700}.page-header__subtitle{font-size:var(--text-card-size-body);color:var(--text-body-muted);margin-bottom:var(--space-global-sm)}.page-header__actions{align-items:center;gap:var(--space-global-xs);margin-bottom:var(--space-global-sm);display:flex}.tab-bar{border-bottom:2px solid var(--border-subtle);max-width:var(--app-content-max-width);gap:0;margin:0 auto;display:flex}.tab-bar__item{font-size:var(--text-card-size-body);color:var(--text-body-muted);cursor:pointer;font-weight:600;font-family:var(--font-body);transition:color var(--transition-duration) var(--transition-easing);background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-2px;padding:10px 20px}.tab-bar__item:hover{color:var(--text-body)}.tab-bar__item.is-active{color:var(--text-heading);border-bottom-color:var(--brand-accent)}.tab-bar__item:disabled,.tab-bar__item[disabled]{color:var(--neutral-400);cursor:not-allowed;opacity:.6}.tab-bar__count{color:var(--text-body-muted);margin-left:var(--space-global-2xs);font-weight:400}.density-compact{--space-global-2xl:3rem;--space-global-xl:2rem;--space-global-lg:1.5rem;--space-global-md:1rem;--space-global-sm:.75rem;--space-global-xs:.375rem;--space-global-2xs:.1875rem;--card-padding:var(--space-global-sm);--card-gap:var(--space-global-xs);--card-gap-tight:var(--space-global-2xs);--table-cell-padding-y:.5rem;--table-cell-padding-x:.75rem;--form-input-padding-y:.5rem;--badge-font-size:.7rem;--badge-padding-y:.25em;--badge-padding-x:.65em}.accent-rule{background:var(--brand-accent);border:none;border-radius:2px;width:44px;height:4px;margin:0;display:block}.accent-rule--wide{width:64px}.accent-rule--subtle{opacity:.5}.accent-rule--center{margin-left:auto;margin-right:auto}.form-section{background:var(--bg-page);border:var(--border-width-xs) solid var(--border-subtle);border-radius:var(--radius-md);margin-bottom:var(--space-global-sm);padding:20px}.form-section__title{text-transform:uppercase;letter-spacing:.06em;color:var(--text-body-muted);padding-bottom:var(--space-global-xs);border-bottom:var(--border-width-xs) solid var(--border-subtle);margin-bottom:14px;font-size:.7rem;font-weight:700}.form-row{gap:var(--space-global-sm);margin-bottom:14px;display:flex}.form-row:last-child{margin-bottom:0}.form-field{flex:1}.form-field__label{font-size:var(--text-card-size-h6);color:var(--text-body-muted);margin-bottom:var(--space-global-2xs);font-weight:600;display:block}.form-field__help{color:var(--text-body-muted);margin-top:2px;font-size:.7rem}@media (max-width:640px){.form-row{flex-direction:column}}.lesson-editor{min-height:calc(100vh - var(--editor-header-height));display:flex}.lesson-editor__timeline{background:var(--bg-canvas);flex:1;padding:20px;overflow-y:auto}.lesson-editor__panel{width:var(--editor-lesson-panel-width);background:var(--bg-page);border-left:var(--border-width-xs) solid var(--border-subtle);overflow-y:auto}.panel-tabs{border-bottom:var(--border-width-xs) solid var(--border-subtle);display:flex}.panel-tab{text-align:center;font-size:var(--text-card-size-h6);color:var(--text-body-muted);cursor:pointer;transition:color var(--transition-duration) var(--transition-easing);border-bottom:2px solid #0000;flex:1;margin-bottom:-1px;padding:10px;font-weight:600}.panel-tab:hover{color:var(--text-body)}.panel-tab.is-active{color:var(--text-heading);border-bottom-color:var(--brand-accent)}.panel-content{padding:var(--space-global-sm)}.school-nav{gap:var(--admin-card-gap);grid-template-columns:repeat(3,1fr);display:grid}@media (max-width:768px){.school-nav{grid-template-columns:repeat(2,1fr)}}.school-nav__card{background:var(--bg-page);border:var(--border-width-xs) solid var(--border-subtle);border-radius:var(--radius-md);padding:var(--space-global-sm);cursor:pointer;transition:border-color var(--transition-duration) var(--transition-easing),box-shadow var(--transition-duration) var(--transition-easing)}.school-nav__card:hover{border-color:var(--neutral-300);box-shadow:var(--shadow-sm)}.school-nav__card-icon{background:var(--bg-surface-alt);border-radius:var(--radius-md);width:32px;height:32px;margin-bottom:10px}.school-nav__card-title{font-size:var(--text-card-size-body);margin-bottom:2px;font-weight:700}.school-nav__card-desc{font-size:var(--text-card-size-h6);color:var(--text-body-muted);line-height:1.4}.sidebar{background:var(--bg-page);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);top:calc(var(--app-topbar-height) + 16px);max-height:calc(100vh - var(--app-topbar-height) - 32px);padding:16px;position:sticky;overflow-y:auto}.sidebar__header{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;margin-bottom:12px;padding-bottom:10px;display:flex}.sidebar__title{text-transform:uppercase;letter-spacing:.06em;color:var(--text-body-muted);font-size:13px;font-weight:700}.sidebar__clear{color:var(--text-body-muted);cursor:pointer;background:0 0;border:none;font-family:inherit;font-size:12px}.sidebar__clear:hover{color:var(--brand-accent-text)}.category{border-bottom:1px solid var(--border-subtle);padding:8px 0}.category:last-child{border-bottom:none}.category__header{cursor:pointer;text-align:left;background:0 0;border:none;justify-content:space-between;align-items:center;width:100%;padding:4px 0;font-family:inherit;display:flex}.category__name{color:var(--text-heading);font-size:13px;font-weight:600}.category__count{color:var(--text-body-muted);background:var(--bg-surface-alt);border-radius:10px;padding:1px 6px;font-size:11px}.category__chevron{color:var(--text-body-muted);font-size:12px;transition:transform .15s}.category__chevron--open{transform:rotate(90deg)}.topic-item,.topic-list{padding:4px 0}.topic-item{color:var(--text-body-muted);cursor:pointer;align-items:center;gap:8px;font-size:13px;display:flex}.topic-item input[type=checkbox]{width:14px;height:14px;accent-color:var(--brand-accent);flex-shrink:0}.main-layout{grid-template-columns:260px 1fr;gap:24px;padding-bottom:48px;display:grid}@media (max-width:1024px){.main-layout{grid-template-columns:1fr}.main-layout__sidebar{display:none}}.result-count{color:var(--text-body-muted);margin-bottom:12px;font-size:13px}.hero{padding:24px var(--app-page-padding) 32px}.hero__inner{max-width:var(--app-content-narrow);margin:0 auto}.hero__type-badge{align-items:center;gap:6px;margin-bottom:12px;display:inline-flex}.hero__title{color:#fff;margin-bottom:8px;font-size:28px;font-weight:700;line-height:1.2}.hero__desc{color:var(--text-muted-on-dark);max-width:640px;margin-bottom:16px;font-size:15px;line-height:1.6}.hero__meta{flex-wrap:wrap;gap:6px;margin-bottom:20px;display:flex}.hero__badge{border-radius:var(--radius-pill);color:var(--text-muted-on-dark);background:#ffffff1a;padding:3px 10px;font-size:11px;font-weight:600}.hero__badge--ks{color:var(--brand-accent)}.stats-bar{border-top:1px solid #ffffff1a;gap:24px;margin-top:24px;padding-top:20px}.stats-bar,.stats-bar__item{align-items:center;display:flex}.stats-bar__item{color:var(--text-muted-on-dark);gap:8px;font-size:14px}.stats-bar__value{color:#fff;font-weight:700}.content-section{max-width:var(--app-content-narrow);padding:32px var(--app-page-padding) 48px;margin:0 auto}.content-section__title{text-transform:uppercase;letter-spacing:.06em;color:var(--text-body-muted);margin-bottom:20px;font-size:13px;font-weight:700}.sequence{flex-direction:column;display:flex;position:relative}.sequence-item{grid-template-columns:48px 1fr;gap:16px;display:grid;position:relative}.sequence-item:not(:last-child):before{content:"";background:var(--border-subtle);width:2px;position:absolute;top:48px;bottom:-1px;left:23px}.sequence-item__number{background:var(--bg-page);border:2px solid var(--border-strong);width:48px;height:48px;color:var(--text-heading);z-index:1;border-radius:50%;justify-content:center;align-items:center;font-size:15px;font-weight:700;display:flex;position:relative}.sequence-item__card{background:var(--bg-page);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);margin-bottom:16px;padding:16px}.sequence-item__header{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:6px;display:flex}.sequence-item__title{color:var(--text-heading);font-size:15px;font-weight:700;text-decoration:none}.sequence-item__title:hover{color:var(--brand-accent-text)}.sequence-item__desc{color:var(--text-body-muted);margin-bottom:8px;font-size:13px;line-height:1.5}.sequence-item__meta{flex-wrap:wrap;gap:4px;display:flex}.sequence-item__badge{border-radius:var(--radius-pill);background:var(--bg-surface-alt);color:var(--text-body-muted);padding:2px 8px;font-size:11px;font-weight:600}.outcomes{border-top:1px solid var(--border-subtle);margin-top:8px;padding-top:8px}.outcomes__label{text-transform:uppercase;letter-spacing:.04em;color:var(--text-body-muted);margin-bottom:4px;font-size:11px;font-weight:700}.outcomes__list{color:var(--text-body-muted);padding-left:16px;font-size:13px;line-height:1.7}.cta-section{padding:32px var(--app-page-padding);text-align:center}.cta-section__inner{max-width:480px;margin:0 auto}.cta-section__heading{color:var(--text-heading);margin-bottom:6px;font-size:18px;font-weight:700}.cta-section__text{color:var(--text-body-muted);margin-bottom:16px;font-size:13px}.profile-section{background:var(--bg-page);border:1px solid var(--border-subtle);border-radius:var(--radius-md);margin-bottom:16px;padding:20px}.profile-section__header{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.profile-section__title{color:var(--text-heading);font-size:14px;font-weight:700}.profile-section__edit{color:var(--brand-accent-text);cursor:pointer;background:0 0;border:none;font-family:inherit;font-size:12px;font-weight:600}.profile-section__edit:hover{color:var(--brand-accent-strong)}.profile-field{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:baseline;padding:8px 0;display:flex}.profile-field:last-child{border-bottom:none}.profile-field__label{color:var(--text-body-muted);min-width:140px;font-size:12px}.profile-field__value{color:var(--text-body);text-align:right;font-size:13px}.tier-badge{text-transform:uppercase;letter-spacing:.04em;background:var(--bg-surface-alt);color:var(--text-body-muted);border-radius:4px;align-items:center;gap:4px;padding:3px 10px;font-size:11px;font-weight:700;display:inline-flex}.tier-badge--upgrade{background:var(--brand-accent);color:#fff;cursor:pointer;margin-left:6px;text-decoration:none}.tier-badge--upgrade:hover{background:var(--brand-accent-strong)}.school-header{background:var(--bg-canvas);padding:24px var(--app-page-padding) 20px;border-bottom:1px solid var(--border-subtle)}.school-header__inner{max-width:1000px;margin:0 auto}.school-header__name{text-transform:uppercase;letter-spacing:.06em;color:var(--text-body-muted);margin-bottom:4px;font-size:11px;font-weight:700}.school-header__title{color:var(--text-heading);margin-bottom:4px;font-size:1.375rem;font-weight:700}.school-header__sub{color:var(--text-body-muted);font-size:13px}.stats-row{gap:12px;display:grid}.stats-row--4{grid-template-columns:repeat(4,1fr)}.stats-row--5{grid-template-columns:repeat(5,1fr)}.stat-card--light{background:var(--bg-page);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);cursor:default;padding:16px}.stat-card--light .stat-card__value{color:var(--text-heading)}.stat-card--light .stat-card__change,.stat-card--light .stat-card__label{color:var(--text-body-muted)}.checklist__title{color:var(--text-heading);margin-bottom:12px;font-size:14px;font-weight:700}.checklist__item{background:var(--bg-page);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:inherit;align-items:center;gap:12px;margin-bottom:8px;padding:12px 16px;text-decoration:none;display:flex}.checklist__item:hover{border-color:var(--neutral-300)}.checklist__icon{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;font-size:12px;font-weight:700;display:flex}.checklist__icon--done{background:var(--brand-accent);color:#fff}.checklist__icon--todo{border:2px solid var(--border-strong);background:var(--bg-page)}.checklist__text{flex:1}.checklist__text-title{color:var(--text-heading);font-size:13px;font-weight:600}.checklist__text-desc{color:var(--text-body-muted);font-size:12px}.checklist__arrow{color:var(--text-body-muted);font-size:16px}.lesson-tray{z-index:200;background:var(--bg-page);border-top:1px solid var(--border-subtle);align-items:center;gap:12px;height:44px;padding:0 24px;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 16px #0000000f}.lesson-tray__indicator{background:var(--brand-accent);border-radius:50%;width:8px;height:8px}.lesson-tray__title{font-size:13px;font-weight:600}.lesson-tray__meta{color:var(--text-body-muted);font-size:12px}.lesson-tray__spacer{flex:1}.lesson-tray__expand{color:var(--brand-accent-text);cursor:pointer;background:0 0;border:none;font-family:inherit;font-size:12px;font-weight:600}.teacher-home{max-width:var(--app-content-max-width);padding:24px var(--app-page-padding) 48px;margin:0 auto}.teacher-home__greeting{color:var(--text-heading);margin-bottom:4px;font-size:1.375rem;font-weight:700}.teacher-home__sub{color:var(--text-body-muted);margin-bottom:24px;font-size:13px}.quick-links{grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:32px;display:grid}@media (max-width:768px){.quick-links{grid-template-columns:repeat(2,1fr)}}.quick-link{background:var(--bg-page);border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:inherit;align-items:center;gap:12px;padding:16px;text-decoration:none;transition:border-color .15s,box-shadow .15s;display:flex}.quick-link:hover{border-color:var(--neutral-300);box-shadow:var(--shadow-sm)}.quick-link__icon{border-radius:var(--radius-md);flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:20px;display:flex}.quick-link__icon--library{background:var(--content-programme-soft)}.quick-link__icon--lessons{background:var(--content-lesson-soft)}.quick-link__icon--programmes{background:var(--content-activity-soft)}.quick-link__icon--school{background:var(--bg-surface-alt)}.quick-link__label{color:var(--text-heading);font-size:13px;font-weight:700}.quick-link__desc{color:var(--text-body-muted);font-size:12px}.continue-section{margin-bottom:32px}.continue-section__title{color:var(--text-heading);margin-bottom:12px;font-size:14px;font-weight:700}.slide-carousel{gap:8px;margin-bottom:24px;padding-bottom:8px;display:flex;overflow-x:auto}.slide-carousel__item{background:var(--bg-page);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-body-muted);cursor:pointer;white-space:nowrap;flex-shrink:0;padding:8px 16px;font-size:12px;font-weight:600}.slide-carousel__item--active{border-color:var(--brand-accent);color:var(--brand-accent-text);background:var(--bg-tinted,var(--bg-surface-alt))}.detail-section{margin-bottom:20px}.detail-section__label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-body-muted);margin-bottom:8px;font-size:11px;font-weight:700}.outcome-list{padding:0;list-style:none}.outcome-list li{color:var(--text-body);border-bottom:1px solid var(--border-subtle);gap:8px;padding:6px 0;font-size:13px;display:flex}.outcome-list li:last-child{border-bottom:none}.outcome-list__num{background:var(--bg-surface-alt);width:20px;height:20px;color:var(--text-body-muted);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:11px;font-weight:700;display:flex}.outcome-list__body{flex-direction:column;gap:4px;min-width:0;display:flex}.outcome-list__refs{flex-wrap:wrap;gap:4px;display:flex}.editor-header{height:var(--editor-header-height);padding:0 var(--app-page-padding);background:var(--bg-page);border-bottom:1px solid var(--border-subtle);align-items:center;gap:12px;display:flex}.editor-header__back{color:var(--text-body-muted);flex-shrink:0;font-size:18px;text-decoration:none}.editor-header__back:hover{color:var(--text-body)}.editor-header__title{color:var(--text-heading);background:0 0;border:none;outline:none;flex-shrink:1;min-width:0;font-family:inherit;font-size:15px;font-weight:700}.editor-header__status{border-radius:var(--radius-pill);padding:2px 8px;font-size:11px;font-weight:600}.editor-header__status--draft{background:var(--state-warning-soft);color:var(--state-warning-text)}.editor-header__status--published{background:var(--state-success-soft);color:var(--state-success-text)}.editor-header__meta{color:var(--text-body-muted);white-space:nowrap;font-size:12px}.lesson-editor-layout{min-height:calc(100vh - var(--app-topbar-height) - var(--editor-header-height));display:flex}.activity-timeline{background:var(--bg-canvas);flex:1;padding:20px;overflow-y:auto}.lesson-right-panel{width:var(--editor-lesson-panel-width);background:var(--bg-page);border-left:1px solid var(--border-subtle);overflow-y:auto}.timeline-header{margin-bottom:16px}.timeline-header__title{color:var(--text-heading);font-size:14px;font-weight:700}.timeline-header__meta{color:var(--text-body-muted);margin-top:2px;font-size:12px}.timeline-item{gap:12px;margin-bottom:4px;display:flex}.timeline-item__connector{flex-direction:column}.timeline-item__connector,.timeline-item__dot{flex-shrink:0;align-items:center;width:24px;display:flex}.timeline-item__dot{background:var(--bg-page);border:2px solid var(--border-strong);height:24px;color:var(--text-body-muted);border-radius:50%;justify-content:center;font-size:11px;font-weight:700}.timeline-item__line{background:var(--border-subtle);flex:1;width:2px;min-height:8px}.timeline-card{background:var(--bg-page);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);cursor:pointer;flex:1;margin-bottom:4px;padding:10px 12px}.timeline-card:hover{border-color:var(--neutral-300)}.timeline-card--selected{border-color:var(--brand-accent);box-shadow:0 0 0 1px var(--brand-accent)}.timeline-card__top{justify-content:space-between;align-items:center;display:flex}.timeline-card__title{color:var(--text-heading);font-size:13px;font-weight:600}.timeline-card__drag{color:var(--text-body-muted);cursor:grab;letter-spacing:-1px;font-size:14px}.timeline-card__meta{color:var(--text-body-muted);margin-top:2px;font-size:12px}.panel-content__title{color:var(--text-heading);margin-bottom:4px;font-size:15px;font-weight:700}.panel-content__meta{color:var(--text-body-muted);margin-bottom:16px;font-size:12px}.customise-section{background:var(--bg-surface-alt);border-radius:var(--radius-sm);margin-bottom:16px;padding:12px}.customise-section__label{text-transform:uppercase;letter-spacing:.04em;color:var(--text-body-muted);margin-bottom:10px;font-size:11px;font-weight:700}.customise-toggle{color:var(--text-body);align-items:center;gap:8px;margin-top:8px;font-size:13px;display:flex}.customise-toggle__switch{background:var(--neutral-300);cursor:pointer;border-radius:9px;width:32px;height:18px;transition:background .15s;position:relative}.customise-toggle__switch:after{content:"";background:#fff;border-radius:50%;width:14px;height:14px;transition:transform .15s;position:absolute;top:2px;left:2px}.customise-toggle__switch--on{background:var(--brand-accent)}.customise-toggle__switch--on:after{transform:translate(14px)}.toggle-switch{width:36px;height:20px;display:inline-block;position:relative}.toggle-switch input{opacity:0;width:0;height:0}.toggle-switch__slider{cursor:pointer;background:var(--neutral-300);border-radius:10px;transition:background .15s;position:absolute;inset:0}.toggle-switch__slider:after{content:"";background:#fff;border-radius:50%;width:16px;height:16px;transition:transform .15s;position:absolute;top:2px;left:2px}.toggle-switch input:checked+.toggle-switch__slider{background:var(--brand-accent)}.toggle-switch input:checked+.toggle-switch__slider:after{transform:translate(16px)}.creation-form{min-height:calc(100vh - var(--app-topbar-height) - 48px);justify-content:center;align-items:center;padding:24px;display:flex}.creation-form__inner{width:100%;max-width:480px}.creation-form__title{color:var(--text-heading);margin-bottom:4px;font-size:1.25rem;font-weight:700}.creation-form__subtitle{color:var(--text-body-muted);margin-bottom:20px;font-size:13px}.choice-cards{gap:12px}.choice-card,.choice-cards{flex-direction:column;display:flex}.choice-card{border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--bg-page);cursor:pointer;text-align:left;align-items:flex-start;gap:4px;padding:16px;font-family:inherit;transition:border-color .15s,box-shadow .15s}.choice-card:hover{border-color:var(--brand-accent);box-shadow:var(--shadow-xs)}.choice-card__icon{margin-bottom:4px;font-size:20px;line-height:1}.choice-card__title{color:var(--text-heading);font-size:14px;font-weight:600}.choice-card__desc{color:var(--text-body-muted);font-size:13px}.template-list{flex-direction:column;gap:12px;display:flex}.template-card{border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--bg-page);align-items:center;gap:16px;padding:16px;display:flex}.template-card__body{flex:1;min-width:0}.template-card__title{color:var(--text-heading);margin-bottom:4px;font-size:14px;font-weight:600}.template-card__desc{color:var(--text-body-muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:4px;font-size:13px;display:-webkit-box;overflow:hidden}.form-input{border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--bg-page);width:100%;color:var(--text-body);outline:none;padding:10px 14px;font-family:inherit;font-size:14px}.form-input:focus{border-color:var(--brand-accent)}.form-input::placeholder{color:var(--text-body-muted)}.form-chips{flex-wrap:wrap;gap:6px;display:flex}.form-chip{color:var(--text-body-muted);background:var(--bg-page);border:1px solid var(--border-strong);border-radius:var(--radius-pill);cursor:pointer;padding:6px 14px;font-family:inherit;font-size:13px;font-weight:500}.form-chip:hover{background:var(--bg-surface-alt)}.form-chip--selected{background:var(--brand-accent);color:#fff;border-color:var(--brand-accent)}.form-select{border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--bg-page);width:100%;color:var(--text-body);padding:8px 12px;font-family:inherit;font-size:13px}.progress-bar-mini{margin:8px 0}.progress-bar-mini__header{color:var(--text-body-muted);justify-content:space-between;margin-bottom:3px;font-size:11px;display:flex}.progress-bar-mini__track{background:var(--bg-surface-alt);border-radius:2px;height:4px;overflow:hidden}.progress-bar-mini__fill{background:var(--brand-accent);border-radius:2px;height:100%}.programme-lesson-card{margin-bottom:8px}.programme-lesson-card--delivered{opacity:.7}.programme-lesson-card--next{border:2px solid var(--brand-accent)}.programme-lesson-card__number{background:var(--bg-surface-alt);width:32px;height:32px;color:var(--text-body-muted);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:13px;font-weight:700;display:flex}.programme-lesson-card__number--done{background:var(--state-success-soft);color:var(--state-success-text);font-size:14px}.programme-lesson-card__meta{color:var(--text-body-muted);font-size:12px}.section-title{text-transform:uppercase;letter-spacing:.06em;margin:24px 0 16px;font-size:13px;font-weight:700}.btn--ghost,.section-title{color:var(--text-body-muted)}.btn--ghost{border:1px dashed var(--border-strong);cursor:pointer;background:0 0;font-family:inherit}.btn--ghost:hover{border-color:var(--brand-accent);color:var(--brand-accent-text)}.dashboard{max-width:var(--admin-content-max-width);padding:24px var(--app-page-padding) 48px;margin:0 auto}.dashboard__header{margin-bottom:24px}.dashboard__title{color:var(--text-heading);margin-bottom:4px;font-size:20px;font-weight:700}.dashboard__sub{color:var(--text-body-muted);font-size:13px}.quick-actions{gap:8px;margin-bottom:24px;display:flex}.dashboard-grid{grid-template-columns:2fr 1fr;align-items:start;gap:24px;display:grid}@media (max-width:1024px){.dashboard-grid{grid-template-columns:1fr}}.table-section{background:var(--bg-page);border:1px solid var(--border-subtle);border-radius:var(--radius-md);overflow:hidden}.table-section__header{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.table-section__title{color:var(--text-heading);font-size:14px;font-weight:700}.table-section__link{color:var(--brand-accent-text);font-size:12px;font-weight:600;text-decoration:none}.table-section__link:hover{color:var(--brand-accent-strong)}.side-card{background:var(--bg-page);border:1px solid var(--border-subtle);border-radius:var(--radius-md);margin-bottom:12px;padding:16px}.side-card__title{color:var(--text-heading);margin-bottom:10px;font-size:13px;font-weight:700}.side-card__item{color:var(--text-body);border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;padding:6px 0;font-size:13px;display:flex}.side-card__item:last-child{border-bottom:none}.side-card__item-label{color:var(--text-body-muted);font-size:12px}.side-card__item-value{font-size:13px;font-weight:700}.side-card__link{color:var(--brand-accent-text);margin-top:10px;font-size:12px;font-weight:600;text-decoration:none;display:block}.side-card__link:hover{color:var(--brand-accent-strong)}.editor-tabs{border-bottom:1px solid var(--border-subtle);background:var(--bg-page);padding:0 var(--app-page-padding);display:flex}.editor-tab{color:var(--text-body-muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:10px 16px;font-family:inherit;font-size:13px;font-weight:600}.editor-tab:hover{color:var(--text-body)}.editor-tab--active{color:var(--text-heading);border-bottom-color:var(--brand-accent)}.editor-tab__badge{background:var(--bg-surface-alt);min-width:18px;height:18px;color:var(--text-body-muted);border-radius:9px;justify-content:center;align-items:center;margin-left:6px;padding:0 5px;font-size:10px;font-weight:700;display:inline-flex}.slide-editor-layout{min-height:calc(100vh - var(--app-topbar-height,56px) - var(--editor-header-height) - 42px);display:flex}.slide-list{width:var(--editor-slide-list-width);background:var(--bg-page);border-right:1px solid var(--border-subtle);flex-shrink:0;padding:12px;overflow-y:auto}.slide-list__title{text-transform:uppercase;letter-spacing:.06em;color:var(--text-body-muted);margin-bottom:10px;font-size:11px;font-weight:700}.slide-thumb{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);cursor:pointer;background:var(--bg-page);margin-bottom:6px;padding:8px 10px}.slide-thumb:hover{border-color:var(--neutral-300)}.slide-thumb--active{border-color:var(--brand-accent);background:var(--bg-tinted,var(--bg-surface-alt))}.slide-thumb__type{color:var(--text-body-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:2px;font-size:10px;font-weight:700}.slide-thumb__preview{color:var(--text-body);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.slide-form{background:var(--bg-canvas);flex:1;padding:20px;overflow-y:auto}.slide-form__header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.slide-form__position{color:var(--text-heading);font-size:13px;font-weight:700}.slide-form__template{color:var(--text-body-muted);margin-left:8px;font-size:12px}.slide-preview-panel{width:var(--editor-preview-width);background:var(--bg-page);border-left:1px solid var(--border-subtle);flex-shrink:0;padding:12px;overflow-y:auto}.slide-preview__label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-body-muted);margin-bottom:8px;font-size:11px;font-weight:700}.slide-preview__toggle{gap:4px;margin-bottom:12px;display:flex}.slide-preview__toggle-btn{text-align:center;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--bg-page);color:var(--text-body-muted);cursor:pointer;flex:1;padding:6px;font-family:inherit;font-size:11px;font-weight:600}.slide-preview__toggle-btn--active{background:var(--brand-accent);color:#fff;border-color:var(--brand-accent)}.slide-preview__frame{aspect-ratio:16/9;background:var(--bg-surface-alt);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-body-muted);justify-content:center;align-items:center;font-size:12px;display:flex}.word-count{color:var(--text-body-muted);text-align:right;margin-top:2px;font-size:11px}.word-count--warn{color:var(--state-warning-text)}.word-count--over{color:var(--state-error-text)}.ai-btn{color:#7c3aed;border-radius:var(--radius-sm);cursor:pointer;background:#f5f3ff;border:1px solid #ddd6fe;align-items:center;gap:4px;padding:4px 10px;font-family:inherit;font-size:11px;font-weight:600;display:inline-flex}.ai-btn:hover{background:#ede9fe}.form-textarea{border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--bg-page);width:100%;min-height:80px;color:var(--text-body);resize:vertical;outline:none;padding:10px 14px;font-family:inherit;font-size:14px}.form-textarea:focus{border-color:var(--brand-accent)}.programme-layout{max-width:var(--app-content-narrow);padding:24px var(--app-page-padding) 48px;margin:0 auto}.programme-lesson__num{background:var(--bg-surface-alt);width:28px;height:28px;color:var(--text-body-muted);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:flex}.programme-lesson__info{flex:1;min-width:0}.programme-lesson__title{color:var(--text-heading);font-size:14px;font-weight:700}.programme-lesson__meta{color:var(--text-body-muted);margin-top:2px;font-size:12px}.programme-lesson__activities{color:var(--text-body-muted);white-space:nowrap;text-overflow:ellipsis;margin-top:4px;font-size:12px;overflow:hidden}.programme-lesson__drag{color:var(--text-body-muted);cursor:grab;letter-spacing:-1px;flex-shrink:0;font-size:16px}.progress-bar{background:var(--bg-surface-alt);border-radius:3px;height:6px;margin:16px 0;overflow:hidden}.progress-bar__fill{background:var(--brand-accent);border-radius:3px;height:100%}.progress-section{margin-top:12px}.progress-section__label{text-transform:uppercase;letter-spacing:.5px;font-weight:600}.progress-section__count,.progress-section__label{color:var(--text-body-muted);font-size:11px}.progress-section .progress-bar{margin:4px 0 0}.timeline-card__badges{gap:4px;margin-top:4px;display:flex}.timeline-card__badge{border-radius:var(--radius-pill);background:var(--bg-surface-alt);color:var(--text-body-muted);padding:1px 6px;font-size:10px;font-weight:600}.editor-header__version{color:var(--text-body-muted);margin-right:auto;font-size:11px}.validation-warning{color:var(--state-warning-text);background:var(--state-warning-soft);border-radius:var(--radius-sm);align-items:center;gap:8px;margin:4px 0 4px 36px;padding:6px 12px;font-size:12px;display:flex}.validation-warning__icon{flex-shrink:0}.table__title-link{color:var(--text-heading);font-weight:600;text-decoration:none}.table__title-link:hover{color:var(--brand-accent-text)}.table__secondary{color:var(--text-body-muted);font-size:13px}.table tbody tr.is-selected{background:var(--bg-surface-alt)}.pagination{padding:14px var(--app-page-padding);max-width:var(--admin-content-max-width);justify-content:space-between;align-items:center;margin:0 auto;display:flex}.pagination__info{color:var(--text-body-muted);font-size:13px}.pagination__controls{gap:4px;display:flex}.pagination__btn{min-width:32px;height:32px;color:var(--text-body-muted);background:var(--bg-page);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);cursor:pointer;justify-content:center;align-items:center;padding:0 8px;font-family:inherit;font-size:13px;font-weight:600;display:flex}.pagination__btn:hover{background:var(--bg-surface-alt);color:var(--text-body)}.pagination__btn--active{background:var(--brand-accent);color:#fff;border-color:var(--brand-accent)}.pagination__btn:disabled{opacity:.4;cursor:not-allowed}.row-menu{position:relative}.table{background:var(--bg-page);border:1px solid var(--border-subtle);border-radius:var(--radius-base)}.table thead th{background:var(--bg-surface-alt);border-bottom:1px solid var(--border-subtle)}.table:has(.row-menu){overflow:visible}.row-menu__trigger{border-radius:var(--radius-sm);cursor:pointer;width:28px;height:28px;color:var(--text-body-muted);background:0 0;border:none;justify-content:center;align-items:center;font-family:inherit;font-size:16px;display:flex}.row-menu__trigger:hover{background:var(--bg-surface-alt)}.row-menu__dropdown{z-index:50;background:var(--bg-page);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);min-width:160px;box-shadow:var(--shadow-md);padding:4px;position:absolute;top:100%;right:0}.row-menu__item{width:100%;color:var(--text-body);text-align:left;cursor:pointer;border-radius:var(--radius-xs,4px);background:0 0;border:none;padding:8px 12px;font-family:inherit;font-size:13px;text-decoration:none;display:block}.row-menu__item:hover{background:var(--bg-surface-alt)}.row-menu__item--danger{color:var(--state-error-text)}.row-menu__item--danger:hover{background:var(--state-error-soft)}.row-menu__divider{background:var(--border-subtle);height:1px;margin:4px 0}.row-menu__label{text-transform:uppercase;letter-spacing:.04em;color:var(--text-body-muted);padding:6px 12px 4px;font-size:11px;font-weight:600;display:block}.row-menu__sub-list{max-height:160px;overflow-y:auto}.row-menu__item--muted{color:var(--text-body-muted);font-size:12px}.row-menu__flash{color:var(--state-success-text);white-space:nowrap;font-size:12px}.table__group-header{cursor:pointer;-webkit-user-select:none;user-select:none}.table__group-header td{background:var(--bg-surface-alt);color:var(--text-heading);border-bottom:1px solid var(--border-subtle);padding:10px 14px;font-size:13px;font-weight:600}.table__group-header:hover td{background:var(--neutral-200)}.table__group-chevron{color:var(--text-body-muted);margin-right:8px;font-size:12px;transition:transform .15s;display:inline-block}.table__group-chevron--open{transform:rotate(90deg)}.table__group-count{color:var(--text-body-muted);margin-left:4px;font-weight:400}.table__group-row--hidden{display:none}.teacher-filter-wrapper{max-width:var(--app-content-max-width);padding:0 var(--app-page-padding) 16px;margin:0 auto}.admin-filter-wrapper{border-bottom:1px solid var(--border-subtle)}.admin-filter-wrapper .filter-bar{max-width:none}.admin-content{max-width:var(--admin-content-max-width);padding:20px var(--app-page-padding);margin:0 auto}.admin-content__desc{color:var(--text-body-muted);margin-bottom:16px;font-size:13px}.stat-grid{gap:12px;margin-bottom:20px;display:grid}.stat-grid--3{grid-template-columns:repeat(3,1fr)}.stat-grid--4{grid-template-columns:repeat(4,1fr)}.stat-card__change--up{color:var(--state-success-text)}.stat-card__change--down{color:var(--state-error-text)}.table__cell--bold{color:var(--text-heading);font-weight:600}.table__cell--mono{color:var(--text-body-muted);font-family:monospace;font-size:12px}.topic-swatch{vertical-align:middle;border-radius:4px;width:16px;height:16px;display:inline-block}.media-grid{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}@media (max-width:1024px){.media-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width:768px){.media-grid{grid-template-columns:repeat(2,1fr)}}.media-card{background:var(--bg-page);border:1px solid var(--border-subtle);border-radius:var(--radius-md);cursor:pointer;transition:border-color .15s,box-shadow .15s;overflow:hidden}.media-card:hover{border-color:var(--neutral-300);box-shadow:var(--shadow-sm)}.media-card__preview{aspect-ratio:16/9;background:var(--bg-surface-alt);color:var(--text-body-muted);justify-content:center;align-items:center;font-size:24px;display:flex;overflow:hidden}.media-card__preview img{object-fit:cover;width:100%;height:100%}.media-card__body{padding:10px 12px}.media-card__name{color:var(--text-heading);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;overflow:hidden}.media-card__meta{color:var(--text-body-muted);margin-top:2px;font-size:11px}.user-cell{align-items:center;gap:8px;display:flex}.user-cell__avatar{background:var(--bg-surface-alt);border-radius:50%;flex-shrink:0;width:28px;height:28px}.user-cell__name{color:var(--text-heading);font-size:13px;font-weight:600}.user-cell__email{color:var(--text-body-muted);font-size:11px}.feedback-cell__title{color:var(--text-heading);font-size:13px;font-weight:600}.feedback-cell__preview{color:var(--text-body-muted);margin-top:2px;font-size:12px}.chart-title{color:var(--text-heading);margin-bottom:8px;font-size:13px;font-weight:700}.chart-area{grid-template-columns:1fr 1fr;gap:16px;margin-bottom:24px;display:grid}.chart-placeholder{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);min-height:280px;color:var(--text-body-muted);justify-content:center;align-items:center;padding:24px;display:flex}.chart-placeholder,.filter-select{background:var(--bg-page);font-size:13px}.filter-select{border:1px solid var(--border-strong);border-radius:var(--radius-base);color:var(--text-body);cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23555' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 8px center;background-repeat:no-repeat;padding:6px 28px 6px 12px;font-family:inherit}.presenter{background:var(--brand-secondary);flex-direction:column;min-height:100vh;display:flex}.presenter__toolbar{background:#0000004d;flex-shrink:0;align-items:center;gap:12px;height:48px;padding:0 16px;display:flex}.presenter__title{color:var(--text-on-dark);flex:1;font-size:14px;font-weight:600}.presenter__counter{color:var(--text-muted-on-dark);font-size:13px}.presenter__stage{flex:1;padding:24px}.presenter__slide,.presenter__stage{justify-content:center;align-items:center;display:flex}.presenter__slide{aspect-ratio:16/9;background:var(--bg-page);border-radius:var(--radius-md);width:100%;max-width:960px;color:var(--text-body-muted);font-size:14px;overflow:hidden;box-shadow:0 8px 32px #0000004d}.presenter__filmstrip{background:#0003;gap:8px;height:80px;padding:0 16px;overflow-x:auto}.presenter__filmstrip,.presenter__thumb{flex-shrink:0;align-items:center;display:flex}.presenter__thumb{width:100px;height:56px;color:var(--text-muted-on-dark);cursor:pointer;background:#ffffff1a;border:1px solid #fff3;border-radius:4px;justify-content:center;font-family:inherit;font-size:10px;font-weight:700}.presenter__thumb--active{border:2px solid var(--brand-accent);color:var(--text-on-dark);background:#ffffff26}.error-page{background:var(--bg-canvas)}.auth-page,.error-page{justify-content:center;align-items:center;min-height:100vh;display:flex}.auth-page{background:var(--brand-secondary);padding:24px}.auth-card{background:var(--bg-page);border-radius:var(--radius-lg);width:100%;max-width:420px;box-shadow:var(--shadow-lg);text-align:center;padding:32px}.auth-card__logo{background:var(--brand-accent);border-radius:var(--radius-md);color:#fff;justify-content:center;align-items:center;width:48px;height:48px;margin:0 auto 16px;font-size:18px;font-weight:700;display:flex}.auth-card__title{color:var(--text-heading);margin-bottom:4px;font-size:1.5rem;font-weight:700}.auth-card__sub{color:var(--text-body-muted);margin-bottom:24px;font-size:.875rem}.auth-card__divider{color:var(--text-body-muted);align-items:center;gap:12px;margin:24px 0;font-size:12px;display:flex}.auth-card__divider:after,.auth-card__divider:before{content:"";background:var(--border-subtle);flex:1;height:1px}.auth-icon{border-radius:var(--radius-md);justify-content:center;align-items:center;width:56px;height:56px;margin:0 auto 16px;font-size:28px;display:flex}.auth-icon--mail{background:var(--brand-accent-soft,#0f8f831a)}.auth-icon--error{background:var(--state-error-soft)}.onboarding-page{background:var(--bg-canvas);flex-direction:column;align-items:center;min-height:100vh;padding:48px 24px;display:flex}.onboarding-progress{gap:6px;width:100%;max-width:420px;margin-bottom:32px;display:flex}.onboarding-progress__bar{background:var(--border-subtle);border-radius:2px;flex:1;height:4px}.onboarding-progress__bar.is-complete{background:var(--brand-accent)}.onboarding-card{background:var(--bg-page);border-radius:var(--radius-lg);width:100%;max-width:480px;box-shadow:var(--shadow-md);padding:32px}.onboarding-card__step{color:var(--brand-accent-text);text-transform:uppercase;letter-spacing:.06em;margin-bottom:4px;font-size:12px;font-weight:600}.onboarding-card__title{color:var(--text-heading);margin-bottom:4px;font-size:1.25rem;font-weight:700}.onboarding-card__desc{color:var(--text-body-muted);margin-bottom:24px;font-size:.875rem}.onboarding-card__nav{justify-content:space-between;align-items:center;margin-top:24px;display:flex}.onboarding-chip{border-radius:var(--radius-md);border:1px solid var(--border-subtle);cursor:pointer;background:var(--bg-page);color:var(--text-body);padding:10px 20px;font-family:inherit;font-size:14px;font-weight:500;transition:border-color .15s,background .15s;display:inline-flex}.onboarding-chip.is-selected,.onboarding-chip:hover{border-color:var(--brand-accent)}.onboarding-chip.is-selected{color:var(--brand-accent-text);background:#0f8f830f;font-weight:600}.school-search__results{border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--bg-page);max-height:240px;margin:8px 0 0;padding:0;list-style:none;overflow-y:auto}.school-search__result{border:none;border-bottom:1px solid var(--border-subtle);cursor:pointer;text-align:left;background:0 0;flex-direction:column;gap:2px;width:100%;padding:10px 12px;font-family:inherit;display:flex}.school-search__result:hover{background:var(--bg-canvas)}.school-search__results li:last-child .school-search__result{border-bottom:none}.school-search__result-name{color:var(--text-primary);font-size:.875rem;font-weight:600}.school-search__result-meta{color:var(--text-secondary);font-size:.75rem}.school-search__selected{border:1px solid var(--brand-accent);border-radius:var(--radius-md);background:#0f8f830a;justify-content:space-between;align-items:center;gap:12px;padding:12px;display:flex}.school-search__selected-info{flex-direction:column;gap:2px;display:flex}.school-search__selected-name{color:var(--text-primary);font-size:.875rem;font-weight:600}.school-search__selected-detail{color:var(--text-secondary);font-size:.75rem}.outcome-editor__item{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--bg-surface-alt);margin-bottom:8px;padding:12px}.outcome-editor__head{align-items:center;gap:8px;margin-bottom:8px;display:flex}.outcome-editor__num{background:var(--bg-surface);border:1px solid var(--border-subtle);width:20px;height:20px;color:var(--text-body-muted);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:11px;font-weight:700;display:flex}.outcome-editor__refs{grid-template-columns:1fr 1fr;gap:8px;display:grid}@media (max-width:700px){.outcome-editor__refs{grid-template-columns:1fr}}.outcome-editor__inherits{color:var(--text-body-muted);margin-top:6px;font-size:12px;font-style:italic}@media (prefers-reduced-motion:reduce){*,:after,:before{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}