:root{font-family:Inter,Arial,sans-serif;color:#171625;background:#fbfaf8;--navy: #171525;--red: #d92d20;--orange: #ef8f32;--cream: #f4eee5}.hero-side-apply{position:absolute;z-index:9;right:0;top:50%;display:flex;align-items:center;gap:.55rem;padding:.9rem 1rem;color:#171525;background:#ef8f32;border-radius:8px 0 0 8px;font-family:Cambria,Georgia,serif;font-weight:900;text-transform:uppercase;writing-mode:vertical-rl;transform:translateY(-50%) rotate(180deg);box-shadow:0 12px 30px #00000040}.hero-side-apply:hover{color:#fff;background:#d92d20}.hero-side-apply span{font-family:Arial,sans-serif}.portal h1,.portal h2,.portal h3,.portal th,.portal td{overflow-wrap:anywhere;word-break:normal}@media(max-width:760px){.hero-side-apply{right:.6rem;top:auto;bottom:1rem;padding:.7rem .85rem;border-radius:7px;writing-mode:horizontal-tb;transform:none}}h1,h2,h3,h4,h5,h6,.brand,.portal-brand{font-family:Cambria,Georgia,Times New Roman,serif;letter-spacing:-.012em}p,li,dd,td,th,label,input,select,textarea,button,a{overflow-wrap:anywhere}img,video,iframe{max-width:100%}.registration-page{max-width:960px;padding-top:4.5rem;padding-bottom:5rem}.registration-page>h1{font-size:clamp(2.35rem,5vw,4.4rem);margin:.3rem 0 .7rem}.registration-page>p{max-width:700px;color:#625d68;line-height:1.7}.registration-form{display:grid;gap:1.25rem;margin-top:2rem;padding:clamp(1.2rem,4vw,2.6rem);background:#fff;border:1px solid #e8e1da;border-radius:20px;box-shadow:0 22px 55px #17152514}.registration-form fieldset{display:grid;gap:1rem;margin:0;padding:1.3rem;border:1px solid #e4dde5;border-radius:14px}.registration-form legend{padding:0 .65rem;color:#171525;font-family:Cambria,Georgia,serif;font-size:1.25rem;font-weight:800}.registration-form label small{color:#817987;font-weight:500}.three-column-fields{grid-template-columns:repeat(3,minmax(0,1fr))}.password-guidance{margin:-.45rem 0 .25rem;color:#716a77;font-size:.82rem}.required-field:after{content:" *";color:#d92d20;font-weight:950}.choice-field{display:flex!important;align-items:center;flex-wrap:wrap;gap:1rem!important;background:#faf8f5}.choice-field legend{width:100%;font-family:inherit;font-size:.9rem}.choice-field label{display:flex;align-items:center;gap:.45rem}.choice-field input,.application-confirm input{width:18px;height:18px;margin:0}.application-confirm{display:flex!important;align-items:flex-start;gap:.8rem;padding:1rem;border:1px solid #e4dde5;border-radius:12px;background:#faf8f5}.application-confirm span{display:grid;gap:.25rem;line-height:1.55}.portal .sidebar{display:flex;flex-direction:column;min-height:0;overflow:hidden}.portal .portal-nav{flex:1;min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;padding-right:.3rem;scrollbar-width:thin;scrollbar-color:rgba(239,143,50,.72) transparent}.portal .portal-nav::-webkit-scrollbar{width:5px}.portal .portal-nav::-webkit-scrollbar-thumb{background:#ef8f32b8;border-radius:8px}.portal .sidebar-user{flex:0 0 auto;margin-top:.8rem}.portal .portal-signout{flex:0 0 auto;margin-top:0}.portal-support{position:fixed;z-index:220;right:1.25rem;bottom:1.25rem;display:flex;align-items:center;gap:.7rem;padding:.7rem .95rem .7rem .65rem;color:#fff;background:#171525;border:1px solid rgba(255,255,255,.16);border-radius:999px;box-shadow:0 16px 42px #1715254d;transition:transform .2s,box-shadow .2s}.portal-support:hover{color:#fff;transform:translateY(-4px);box-shadow:0 22px 52px #17152561}.support-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,#ef8f32,#d92d20);font-size:1.2rem;font-weight:950}.portal-support>span:last-child{display:grid}.portal-support b{display:flex;align-items:center;gap:.4rem;font-size:.8rem}.portal-support small{color:#ded9e7;font-size:.7rem}.portal-support i{width:8px;height:8px;background:#2ed678;border-radius:50%;box-shadow:0 0 0 4px #2ed67824;animation:supportPulse 1.8s infinite}.support-icon{position:relative}.support-icon svg{width:23px;height:23px;fill:none;stroke:#fff;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.support-icon i{position:absolute;right:0;bottom:1px;width:9px;height:9px;border:2px solid #171525}.portal-support>span:last-child b{font-size:.82rem}.portal-support>span:last-child small{color:#7ff0ad;font-size:.66rem;font-weight:800}@keyframes supportPulse{50%{box-shadow:0 0 0 8px #2ed67800}}.cookie-overlay{position:fixed;z-index:500;left:50%;bottom:12px;width:min(1060px,calc(100% - 24px));transform:translate(-50%)}.cookie-consent{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:1rem;padding:.65rem .75rem .65rem 1rem;color:#fff;background:#171525fa;border:1px solid rgba(255,255,255,.16);border-radius:8px;box-shadow:0 12px 35px #0000004d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.cookie-consent strong{font-family:Cambria,Georgia,serif;font-size:1rem}.cookie-consent p{margin:.12rem 0 0;color:#ddd8e3;font-size:.72rem;line-height:1.35}.cookie-actions{display:flex;justify-content:flex-end;gap:.4rem}.cookie-actions button,.cookie-learn{display:grid;place-items:center;min-height:34px;margin:0;padding:.45rem .65rem;border-radius:5px;white-space:nowrap;font-size:.72rem;font-weight:850}.cookie-learn{color:#ffb15f;background:transparent;border:1px solid rgba(255,177,95,.6);box-shadow:none}.cookie-learn:hover{color:#171525;background:#ffb15f;transform:none;box-shadow:none}.cookie-details{grid-column:1/-1;padding-top:.45rem;border-top:1px solid rgba(255,255,255,.14)}@media(max-width:760px){.three-column-fields{grid-template-columns:1fr}.registration-form{padding:1rem}.cookie-consent{grid-template-columns:1fr;padding:.75rem}.cookie-actions{display:grid;grid-template-columns:repeat(3,1fr)}.cookie-actions button{white-space:normal}.portal-support{right:.75rem;bottom:.75rem}}.page-loader{display:grid;place-content:center;justify-items:center;gap:.8rem;min-height:55vh;color:#171525}.page-loader span{width:42px;height:42px;border:4px solid #eee4dc;border-top-color:#d92d20;border-radius:50%;animation:pageSpin .75s linear infinite}.page-loader p{font-family:Cambria,Georgia,serif;font-weight:800}@keyframes pageSpin{to{transform:rotate(360deg)}}.icsf-image-host{position:relative}.icsf-image-watermark{position:absolute;z-index:8;left:50%;top:50%;color:#ffffff61;font-family:Cambria,Georgia,serif;font-size:clamp(.75rem,2.6vw,2rem);font-weight:950;letter-spacing:.16em;line-height:1;pointer-events:none;text-shadow:0 2px 8px rgba(0,0,0,.58);transform:translate(-50%,-50%) rotate(-12deg)}.events-page{background:#f7f4ef}.events-hero{min-height:590px;display:grid;grid-template-columns:1.15fr .85fr;background:#171525;color:#fff}.events-hero img{width:100%;height:100%;object-fit:cover;filter:saturate(.85)}.events-hero>div{padding:clamp(3rem,7vw,7rem);align-self:center}.events-hero h1{font-size:clamp(2.4rem,5vw,4.8rem);line-height:1.02;margin:.7rem 0 1.4rem}.events-hero p{max-width:580px;font-size:1.08rem;line-height:1.75}.event-benefits{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;padding:4rem 0}.event-benefits article{background:#fff;padding:2rem;border-bottom:4px solid #ef8f32}.event-benefits b{color:#d92d20}.event-programme{padding-bottom:6rem}.public-event-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem}.public-event-grid>article{background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 18px 48px #1715251a}.public-event-grid img{width:100%;height:230px;object-fit:cover}.event-card-copy{padding:1.7rem}.event-card-copy>div{display:flex;justify-content:space-between;gap:1rem;color:#d92d20;font-weight:800}.event-card-copy h3{font-size:1.55rem;margin:.8rem 0}.event-location{font-weight:700}.event-empty{padding:3rem;background:#fff;border-left:5px solid #d92d20}.footer-social{display:none}.footer-social-icons{display:flex!important;flex-direction:row!important;gap:.65rem;margin-top:1.25rem}.footer-social-icons a{display:grid!important;place-items:center;width:42px;height:42px;border:1px solid rgba(255,255,255,.28);border-radius:50%;transition:.2s}.footer-social-icons a:hover{background:#ef8f32;transform:translateY(-3px)}.footer-social-icons svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7}.footer-social-icons svg path{fill:currentColor;stroke:none}.nested-section{margin-left:calc(var(--section-depth) * 1.2rem);border-left:3px solid rgba(239,143,50,.35)}.lesson-tree-item{padding-left:calc(var(--lesson-depth) * .9rem)}.lesson-tree-item button{width:100%}.attendance-grid{display:grid;gap:1rem}.attendance-card{display:flex;justify-content:space-between;gap:1.5rem;align-items:center}.attendance-sign{display:flex;gap:.6rem}.attendance-code{display:inline-block;padding:.55rem .8rem;border-radius:8px;background:#171525;color:#fff;font-weight:900;letter-spacing:.12em}.attendance-register>header{display:flex;justify-content:space-between;gap:1rem}.attendance-confirmed{color:#167847;font-weight:800}.presence-dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:#a4a4a4;margin-right:.4rem}.presence-dot.online{background:#22a559;box-shadow:0 0 0 4px #22a55924}@media(max-width:760px){.events-hero{grid-template-columns:1fr}.events-hero img{height:320px}.events-hero>div{padding:2rem 1.2rem 3rem}.event-benefits,.public-event-grid{grid-template-columns:1fr}.event-benefits{padding:2rem 1rem}.event-programme{padding-left:1rem;padding-right:1rem}.attendance-card{align-items:stretch;flex-direction:column}.attendance-sign{flex-direction:column}.nested-section{margin-left:calc(var(--section-depth) * .55rem)}}.attendance-hero{display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:2.2rem;margin-bottom:1.25rem;border-radius:20px;background:linear-gradient(125deg,#171525,#30264b 68%,#d92d20 160%);color:#fff;overflow:hidden}.attendance-hero h2{font-size:clamp(1.8rem,3vw,2.7rem);margin:.25rem 0 .7rem}.attendance-hero p{max-width:680px;color:#e8e4ee;line-height:1.65}.attendance-score{min-width:190px;padding:1.35rem;border:1px solid rgba(255,255,255,.2);border-radius:16px;background:#ffffff17;text-align:center}.attendance-score strong{display:block;font-size:2.8rem;color:#ffb15f}.attendance-score span{font-size:.85rem}.download-report-button{white-space:nowrap;background:#ef8f32;color:#171525}.attendance-control-grid{display:grid;grid-template-columns:350px minmax(0,1fr);gap:1.25rem;align-items:start}.attendance-create{position:sticky;top:1rem}.attendance-create form{display:grid;gap:.8rem}.toggle-row{display:flex!important;align-items:flex-start;gap:.75rem;padding:.85rem;border:1px solid #e1dce6;border-radius:12px;background:#faf8fb}.toggle-row input{width:18px!important;height:18px;margin-top:3px}.toggle-row span{display:grid;gap:.2rem}.toggle-row small{color:#6d6878}.attendance-history{display:grid;gap:.5rem;margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid #e8e4ea}.attendance-history>button{display:flex;align-items:center;justify-content:space-between;gap:.65rem;width:100%;padding:.8rem;border:1px solid transparent;background:#f4f1f5;color:#171525;text-align:left}.attendance-history>button.active{border-color:#d92d20;background:#fff1ef}.attendance-history>button span:first-child{display:grid}.attendance-history small{font-weight:400;color:#6d6878}.attendance-register.detailed>header{padding-bottom:1.25rem;border-bottom:1px solid #e5e0e7}.register-actions{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 0}.attendance-roster{display:grid;gap:.55rem}.attendance-roster article{display:grid;grid-template-columns:44px minmax(0,1fr) 150px;align-items:center;gap:.8rem;padding:.8rem;border:1px solid #ece8ee;border-radius:12px}.attendance-roster article>div{display:grid}.attendance-roster small{color:#716c77}.roster-avatar{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#171525;color:#fff;font-weight:900}.attendance-tabs{display:flex;gap:.5rem;margin:1rem 0;overflow-x:auto}.attendance-tabs button{background:#ece8ee;color:#443e4a;white-space:nowrap}.attendance-tabs button.active{background:#171525;color:#fff}.student-attendance-list{display:grid;gap:.85rem}.attendance-student-row{display:grid;grid-template-columns:70px minmax(0,1fr) auto;gap:1rem;align-items:center;padding:1.15rem 1.35rem;background:#fff;border:1px solid #ece8ee;border-radius:16px;box-shadow:0 8px 24px #1715250d}.attendance-date{display:grid;place-items:center;padding:.65rem;border-radius:12px;background:#fff3e7;color:#c94f12}.attendance-date b{font-size:1.6rem}.attendance-date span{text-transform:uppercase;font-size:.75rem;font-weight:900}.attendance-session-copy h3{margin:.25rem 0}.attendance-session-copy p{margin:0;color:#716c77}.attendance-course{font-size:.75rem;font-weight:900;color:#d92d20;text-transform:uppercase;letter-spacing:.06em}.attendance-result{display:grid;justify-items:end;gap:.35rem}.attendance-result small{color:#716c77}.attendance-self-sign{grid-column:2/-1;display:flex;align-items:end;gap:.65rem;padding-top:.8rem;border-top:1px dashed #ddd}.attendance-self-sign label{flex:1}.status-not-recorded{background:#eee;color:#625d67}.admin-attendance-report{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(300px,.6fr);gap:2rem;align-items:center;min-height:420px;padding:clamp(1rem,4vw,4rem);border-radius:24px;background:linear-gradient(135deg,#f6eee7,#fff)}.admin-attendance-report h2{font-size:clamp(2rem,4vw,3.4rem);margin:.5rem 0}.admin-attendance-report .panel{display:grid;gap:1rem}@media(max-width:900px){.attendance-control-grid{grid-template-columns:1fr}.attendance-create{position:static}.student-attendance-row{grid-template-columns:60px minmax(0,1fr)}.attendance-result{grid-column:2;justify-items:start}.attendance-self-sign{grid-column:1/-1}.admin-attendance-report{grid-template-columns:1fr}.attendance-hero{align-items:flex-start;flex-direction:column}}@media(max-width:560px){.attendance-hero{padding:1.25rem}.attendance-score{width:100%}.attendance-register.detailed>header,.register-actions{align-items:flex-start;flex-direction:column}.attendance-code{font-size:.8rem}.attendance-roster article{grid-template-columns:42px minmax(0,1fr)}.attendance-roster select{grid-column:1/-1}.student-attendance-row{padding:.9rem;grid-template-columns:54px minmax(0,1fr)}.attendance-self-sign{align-items:stretch;flex-direction:column}}.public-library{background:#f6f2ec;min-height:100vh}.library-shelf-hero,.portal-library-hero{position:relative;isolation:isolate;overflow:hidden;color:#fff;background:#171525}.library-shelf-hero:before,.portal-library-hero:before{content:"";position:absolute;top:-20px;right:-20px;bottom:-20px;left:-20px;z-index:-2;background:linear-gradient(90deg,#171525f5,#171525a8),url(/images/icsf-digital-forensics-training.webp) center/cover;filter:blur(3px) saturate(.7)}.library-shelf-hero:after,.portal-library-hero:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background:repeating-linear-gradient(0deg,rgba(239,143,50,.11) 0 3px,transparent 3px 92px)}.library-shelf-hero .container{position:relative;padding-top:clamp(5rem,10vw,8rem);padding-bottom:clamp(4rem,8vw,7rem)}.library-shelf-hero h1{max-width:780px;margin:.4rem 0 1rem;font-size:clamp(2.7rem,6vw,5.4rem);line-height:.98}.library-shelf-hero p{max-width:650px;font-size:1.08rem;line-height:1.7;color:#e7e1eb}.library-watermark{position:absolute;right:3%;bottom:-.18em;z-index:-1;font-size:clamp(8rem,25vw,23rem);font-weight:950;line-height:1;color:#ffffff0b;letter-spacing:-.08em}.library-search{display:flex;align-items:center;gap:.75rem;max-width:620px;margin-top:2rem;padding:.35rem .45rem .35rem 1rem;background:#fff;border-radius:12px;box-shadow:0 18px 50px #00000040}.library-search span{color:#d92d20;font-size:1.6rem}.library-search input{margin:0;border:0;box-shadow:none}.public-library-collection{padding-top:4rem;padding-bottom:6rem}.library-book-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(205px,1fr));gap:1.35rem}.library-book-grid.public{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}.library-book{min-width:0;background:#fff;border:1px solid #e9e2dc;border-radius:16px;overflow:hidden;box-shadow:0 14px 35px #17152512;transition:transform .22s,box-shadow .22s}.library-book:hover{transform:translateY(-7px);box-shadow:0 22px 50px #17152524}.library-book-cover{position:relative;height:250px;background:#262039;overflow:hidden}.library-book.compact .library-book-cover{height:220px}.library-book-cover img{width:100%;height:100%;object-fit:cover;transition:transform .35s}.library-book:hover .library-book-cover img{transform:scale(1.035)}.library-book-cover>div{display:grid;align-content:center;gap:1rem;height:100%;padding:1.5rem;text-align:center;color:#fff;background:linear-gradient(145deg,#d92d20,#171525)}.library-book-cover>div b{font-size:2rem}.library-book-cover>div span{font-family:Georgia,serif;font-size:1.1rem}.book-type-label{position:absolute;left:.7rem;top:.7rem;padding:.35rem .55rem;border-radius:6px;background:#171525e0;color:#fff;font-size:.65rem;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.library-book-copy{padding:1rem}.library-book-copy>small{display:block;color:#d92d20;font-weight:850;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.library-book-copy h3{min-height:2.5em;margin:.35rem 0;font-size:1rem;line-height:1.25}.book-author{margin:.2rem 0;color:#706976;font-size:.86rem}.book-description{display:-webkit-box;overflow:hidden;-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:2.8em;color:#716b75;font-size:.82rem}.book-purchase-row{display:flex;align-items:center;justify-content:space-between;gap:.6rem;margin-top:.9rem}.book-purchase-row strong{color:#d92d20}.book-purchase-row button,.book-purchase-row .button{padding:.55rem .7rem;font-size:.75rem}.book-arrow{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#171525;color:#fff;font-size:1.2rem}.portal-library-hero{min-height:260px;display:flex;align-items:center;margin-bottom:1.2rem;padding:clamp(1.5rem,4vw,3.5rem);border-radius:22px}.portal-library-hero h2{max-width:720px;margin:.35rem 0;font-size:clamp(2rem,4vw,3.4rem)}.portal-library-hero p{max-width:700px;color:#e7e1eb}.library-publisher{margin:1.2rem 0}.library-publisher summary{cursor:pointer;color:var(--portal-accent);font-size:1.05rem;font-weight:900}.library-publisher form{margin-top:1.2rem}.library-collection-tabs{display:flex;gap:.65rem;margin:1.5rem 0;overflow-x:auto}.library-collection-tabs button{display:flex;align-items:center;gap:.55rem;background:#eae5ea;color:#433d48;white-space:nowrap}.library-collection-tabs button span{display:grid;place-items:center;min-width:24px;height:24px;border-radius:20px;background:#00000014}.library-collection-tabs button.active{background:var(--portal-accent);color:#fff}.library-action{display:block;margin-top:.9rem;text-align:center}.book-admin-actions{display:flex;gap:.45rem;margin-top:.8rem}.mpesa-checkout{max-width:500px}.checkout-amount{display:flex;align-items:center;justify-content:space-between;margin:1.25rem 0;padding:1rem;border-radius:12px;background:#f6f1ec}.checkout-amount strong{color:#d92d20;font-size:1.5rem}@media(max-width:620px){.library-shelf-hero .container{padding-left:1rem;padding-right:1rem}.library-book-grid,.library-book-grid.public{grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}.library-book-cover,.library-book.compact .library-book-cover{height:190px}.library-book-copy{padding:.75rem}.library-book-copy h3{font-size:.9rem}.book-description{display:none}.book-purchase-row{align-items:flex-start;flex-direction:column}.portal-library-hero{min-height:230px}.library-watermark{font-size:9rem}}.site-utility{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.55rem max(1rem,calc((100vw - 1180px)/2));background:#171525;color:#fff;font-size:.74rem}.site-utility>div{display:flex;gap:1.1rem}.site-utility a{color:#fff}.inspired-hero{position:relative;min-height:650px;display:flex;align-items:center;overflow:hidden;background:#171525;color:#fff}.inspired-hero-image{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;animation:homeHeroReveal .7s ease}.inspired-hero-shade{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,#0e0d1cf5,#171525c7 46%,#17152533)}.inspired-hero-content{position:relative;z-index:1;width:100%;padding-top:5rem;padding-bottom:5rem}.inspired-hero-content>span{display:inline-block;padding:.4rem .7rem;border-radius:4px;background:#d92d20;font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.inspired-hero h1{max-width:760px;margin:.85rem 0 1rem;font-size:clamp(3rem,6.5vw,6rem);line-height:.95}.inspired-hero-content>p{max-width:650px;color:#e7e4ea;font-size:1.12rem;line-height:1.65}.hero-outline{padding:.85rem 1rem;border:1px solid rgba(255,255,255,.55);border-radius:7px;color:#fff;font-weight:850}.hero-proof{display:flex;gap:1rem;align-items:center;margin-top:2.5rem}.hero-proof b{font-size:1.35rem;color:#ffae55}.hero-proof small{padding-right:1.2rem;border-right:1px solid rgba(255,255,255,.25);color:#ded9e3}.hero-dots{position:absolute;z-index:2;left:50%;bottom:1.4rem;display:flex;gap:.4rem}.hero-dots button{width:24px;height:4px;padding:0;border:0;border-radius:3px;background:#ffffff73}.hero-dots button.active{width:45px;background:#ef8f32}.programme-finder{position:relative;z-index:4;margin-top:-1px;padding:1.35rem 0;background:#fff;box-shadow:0 15px 40px #1715251c}.programme-finder .container{display:grid;grid-template-columns:1fr 1.1fr;gap:2rem;align-items:center}.programme-finder h2{margin:.1rem 0;font-size:1.35rem}.programme-search{display:flex;padding:.3rem;background:#f3f0f3;border-radius:8px}.programme-search input{margin:0;border:0;background:transparent;box-shadow:none}.programme-search a{display:grid;place-items:center;min-width:120px;border-radius:6px;background:#171525;color:#fff;font-weight:850}.finder-results{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,1fr);gap:.4rem}.finder-results>a{display:flex;justify-content:space-between;padding:.65rem 1rem;background:#f7f5f7;color:#171525}.institute-story{display:grid;grid-template-columns:1fr .9fr;gap:4rem;align-items:center;padding-top:6rem;padding-bottom:6rem}.institute-story h2,.journey-section h2,.home-strengths h2,.home-impact h2{font-size:clamp(2.2rem,4vw,3.7rem);line-height:1.04}.institute-story>div>p{line-height:1.75}.institute-story figure{position:relative}.institute-story figure img{width:100%;min-height:480px;object-fit:cover;border-radius:18px}.institute-story figcaption{position:absolute;left:-2rem;bottom:2rem;max-width:260px;padding:1rem;background:#fff;border-left:5px solid #d92d20;box-shadow:0 16px 35px #00000024}.story-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:.8rem;margin:1.5rem 0}.story-stats article{display:grid;padding:1rem;background:#f5f2ef;border-radius:10px}.story-stats strong{color:#d92d20;font-size:1.65rem}.home-strengths{padding:5rem 0;background:#f4f1ed}.strength-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.strength-grid article{position:relative;padding:1.45rem;background:#fff;border-radius:12px;box-shadow:0 10px 25px #1715250d}.strength-grid article>span{color:#d92d20;font-weight:950}.strength-grid article a{color:#d92d20;font-weight:850}.journey-section{padding-top:6rem;padding-bottom:6rem}.centered{text-align:center}.journey-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}.journey-grid article{position:relative;min-height:430px;overflow:hidden;border-radius:16px;background:#171525}.journey-grid img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.journey-grid article:after{content:"";position:absolute;top:25%;right:0;bottom:0;left:0;background:linear-gradient(transparent,#171525)}.journey-grid article>div{position:absolute;z-index:1;left:0;right:0;bottom:0;padding:1.5rem;color:#fff}.journey-grid article span{color:#ffae55;font-size:.7rem;font-weight:900;text-transform:uppercase}.journey-grid article p{color:#e0dce3;font-size:.86rem}.journey-grid article a{color:#fff;font-weight:850}.home-impact{padding:5rem 0;background:#171525;color:#fff}.home-impact>.container{display:grid;grid-template-columns:.7fr 1.3fr;gap:3rem}.impact-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.8rem}.impact-grid article{padding:1.25rem;border:1px solid rgba(255,255,255,.16);border-radius:12px;background:#ffffff0d}.impact-grid b{color:#ef8f32}.impact-grid p{color:#d9d5de;font-size:.86rem}.home-upcoming{padding-top:5rem;padding-bottom:5rem}.home-event-row{display:grid;gap:.7rem}.home-event-row article{display:grid;grid-template-columns:65px 1fr auto;gap:1rem;align-items:center;padding:1rem;border:1px solid #e8e2dd;border-radius:10px}.home-event-row time{display:grid;place-items:center;color:#d92d20;text-transform:uppercase}.home-event-row time b{font-size:1.6rem}.home-event-row h3{margin:.2rem 0}.home-event-row p{margin:0;color:#716b75}.home-event-row a{padding:.65rem .8rem;border-radius:6px;background:#d92d20;color:#fff;font-weight:850}.home-events-empty{padding:1rem;border-top:1px solid #ddd}.home-cta.inspired{background:linear-gradient(120deg,#d92d20,#811a17)}@keyframes homeHeroReveal{0%{opacity:.5;transform:scale(1.025)}to{opacity:1;transform:scale(1)}}.event-programme.compact{padding-top:3rem}.public-event-grid.compact{grid-template-columns:repeat(3,minmax(0,1fr))}.public-event-grid.compact img{height:160px}.public-event-grid.compact .event-card-copy{padding:1.1rem}.public-event-grid.compact h3{font-size:1.15rem}.public-event-grid.compact p{font-size:.85rem}.event-empty.compact{min-height:60px;padding:1rem;border-left:3px solid #d92d20}.event-empty.compact h3{margin:0;font-size:1rem}.mpesa-checkout{border-top:8px solid #35a853}.mpesa-checkout:before{content:"M-PESA";display:inline-block;margin-bottom:.9rem;color:#35a853;font-size:1.35rem;font-weight:950;letter-spacing:.04em}.mpesa-checkout button[type=submit]{background:#35a853;color:#fff}.mpesa-checkout button[type=submit]:hover{background:#278c42}.mpesa-checkout .checkout-amount{border-left:4px solid #35a853}.mpesa-checkout .checkout-amount strong{color:#278c42}@media(max-width:900px){.site-utility>div:last-child{display:none}.programme-finder .container,.institute-story,.home-impact>.container{grid-template-columns:1fr}.strength-grid,.journey-grid,.public-event-grid.compact{grid-template-columns:1fr 1fr}.institute-story figcaption{left:1rem}.inspired-hero{min-height:600px}}@media(max-width:620px){.site-utility{justify-content:center}.site-utility span{display:none}.inspired-hero{min-height:620px}.inspired-hero h1{font-size:3rem}.hero-proof{display:grid;grid-template-columns:auto 1fr}.hero-proof small{border:0}.programme-finder .container{gap:1rem}.programme-search{flex-direction:column}.programme-search a{min-height:44px}.finder-results,.strength-grid,.journey-grid,.impact-grid,.public-event-grid.compact{grid-template-columns:1fr}.institute-story{padding-top:4rem;padding-bottom:4rem}.institute-story figure img{min-height:360px}.home-event-row article{grid-template-columns:50px 1fr}.home-event-row a{grid-column:2;width:max-content}.story-stats{grid-template-columns:1fr 1fr}}.management-tabs{display:flex;align-items:center;gap:.5rem;overflow-x:auto;padding:.75rem;margin-bottom:1.25rem}.management-tabs button{display:flex;align-items:center;gap:.5rem;white-space:nowrap;color:#625c68;background:#f2ede7;box-shadow:none}.management-tabs button:hover,.management-tabs button.active{transform:none;color:#fff;background:#171525;box-shadow:none}.management-tabs button span{display:grid;place-items:center;min-width:22px;height:22px;padding:0 .35rem;color:inherit;background:#ffffff29;border-radius:2rem;font-size:.7rem}.reveal-panel{animation:panelReveal .25s ease-out both}.calendar-event time{gap:.2rem}.calendar-event time small{font-size:.65rem}.calendar-actions{display:flex;align-items:center;flex-wrap:wrap;gap:.45rem}.calendar-actions .button,.calendar-actions button{margin:0;padding:.55rem .75rem}.public-event-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:2rem}.public-event-grid article{padding:1.5rem;background:#fff;border-top:5px solid #d92d20;box-shadow:0 10px 28px #17152514}.public-event-grid time{display:block;color:#d92d20;font-weight:850}.public-event-grid span{display:inline-block;margin-top:.7rem;color:#706976;font-size:.72rem;font-weight:900;letter-spacing:.08em}.public-event-grid h3{font-size:1.35rem}.public-event-grid .button{margin-top:.8rem}@keyframes panelReveal{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:none}}@media(max-width:900px){.public-event-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:620px){.public-event-grid{grid-template-columns:1fr}.calendar-actions{grid-column:2}.management-tabs{align-items:stretch}.management-tabs button{justify-content:center}}*{box-sizing:border-box}body{margin:0;line-height:1.6}a{color:inherit;text-decoration:none}nav{min-height:82px;display:flex;align-items:center;justify-content:space-between;padding:.8rem 5%;background:#fff;border-bottom:1px solid #e7e3de}nav>div{display:flex;align-items:center;gap:1.4rem}.brand{display:flex;align-items:center;gap:.75rem}.brand span{color:var(--red);font-size:1.4rem;font-weight:900;letter-spacing:.06em}.brand small{max-width:190px;color:var(--navy);font-weight:700;line-height:1.2}.login-link,.button,button{display:inline-block;padding:.75rem 1rem;border-radius:.2rem;color:#fff;background:var(--red);font-weight:700}.container{width:min(1120px,90%);margin:0 auto}.narrow{max-width:480px;margin-top:4rem;margin-bottom:4rem}.page{padding:4.5rem 0 6rem}.hero{padding:7rem 0;color:#fff;background:linear-gradient(115deg,#171525fa,#171525de),radial-gradient(circle at 80% 20%,var(--red),transparent 34%);border-bottom:6px solid var(--red)}.hero .container{margin:0 auto}.hero h1,.page>h1{max-width:850px;margin:.4rem 0 1.2rem;font-size:clamp(2.7rem,7vw,5.7rem);line-height:.98;letter-spacing:-.045em}.eyebrow,.section-label{color:var(--orange);font-size:.8rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.lead{max-width:720px;font-size:1.2rem;color:#dedbe7}.lead.dark{color:#4a4651}.actions{display:flex;align-items:center;gap:1.25rem;margin-top:2rem}.text-link{font-weight:700}.intro{padding:5rem 0}.intro>p{max-width:760px}h2{font-size:clamp(1.7rem,3vw,2.5rem);line-height:1.15}.feature-grid,.two-column,.course-grid,.contact-panel{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;margin-top:2.2rem}.feature-grid article,.course-card{padding:1.5rem;background:#fff;border:1px solid #e6e0da;border-top:4px solid var(--red)}.feature-grid strong{font-size:1.1rem}.two-column{grid-template-columns:1fr 1fr;margin:3rem 0}.two-column section,.audience,.short-courses{padding:2rem;background:var(--navy);color:#fff}.audience{background:var(--cream);color:var(--navy)}.course-grid{grid-template-columns:repeat(2,1fr)}.course-card span{color:var(--red);font-size:.8rem;font-weight:900}.course-card h3{margin:.4rem 0;font-size:1.25rem}.short-courses{margin-top:3rem}.contact-panel{grid-template-columns:.8fr 1.2fr}form{display:grid;gap:1rem}label{display:grid;gap:.4rem;font-weight:700}input,textarea{padding:.8rem;border:1px solid #aaa4a0;border-radius:.2rem;font:inherit}button{border:0;cursor:pointer}.error{color:#b42318}.card{padding:1.2rem;background:#fff;border:1px solid #e4e7ec}footer{display:grid;grid-template-columns:1fr 1fr;gap:2rem;padding:3rem 5%;background:var(--navy);color:#fff}footer div:last-child{display:grid;gap:.2rem}@media(max-width:760px){nav{align-items:flex-start}nav>div{flex-wrap:wrap;justify-content:flex-end;font-size:.9rem}.brand small{display:none}.feature-grid,.two-column,.course-grid,.contact-panel,footer{grid-template-columns:1fr}.actions{align-items:flex-start;flex-direction:column}}.portal-menu-toggle,.portal-menu-close,.portal-backdrop{display:none}@media(max-width:520px){.portal-main{padding:.75rem}.portal-header{margin:0 -.75rem 1rem;padding:.75rem}.portal-header h1{font-size:1.2rem}.header-actions{gap:.4rem}.profile-chip{display:none}.stat-grid{grid-template-columns:1fr 1fr}.stat-grid article span{font-size:.78rem}.panel-heading,.list-row{align-items:flex-start;flex-direction:column}.book-grid{grid-template-columns:1fr}.lesson-reader>.button,.lesson-reader>.resource-download,.lesson-reader>button{margin-left:1rem;margin-right:1rem}.lesson-breadcrumb{gap:.5rem;flex-direction:column}.message-centre{margin-left:-.75rem;margin-right:-.75rem;border-radius:0}}.registration-page{isolation:isolate}.portal-admin .table-wrap table{min-width:1620px}.icsf-image-watermark,.library-watermark{display:none!important}.brand{display:block;min-width:220px}.brand img{display:block;width:clamp(210px,23vw,330px);height:76px;object-fit:contain;object-position:left center}.portal-brand{grid-template-columns:1fr}.portal-brand img{display:block;width:100%;max-width:205px;height:92px;object-fit:contain;object-position:left center}.portal-brand small{display:block;margin-top:-.35rem;color:#f2edf5;font-family:Inter,Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase}.footer-brand{display:block}.footer-brand img{display:block;width:min(100%,310px);height:auto;filter:drop-shadow(0 5px 15px rgba(0,0,0,.18))}.registration-page{position:relative;max-width:1040px;padding-top:5rem;padding-bottom:6rem}.registration-page:before{content:"";position:fixed;z-index:-2;top:0;right:0;bottom:0;left:0;background:linear-gradient(105deg,#f7f4eff7,#f7f4efd1),url(/images/icsf-kenyan-cybersecurity-classroom.webp) center/cover no-repeat;filter:blur(3px);transform:scale(1.02)}.registration-page:after{content:"";position:absolute;z-index:-1;top:2rem;right:-2rem;bottom:2rem;left:-2rem;background:#ffffff94;border:1px solid rgba(255,255,255,.72);border-radius:28px;box-shadow:0 25px 80px #1715251f;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.registration-form{background:#fffffff0;border-top:5px solid #d92d20}.registration-form fieldset{background:#faf8f5b8}.portal-admin .table-wrap{border:1px solid #e4dfe7;border-radius:14px;box-shadow:0 10px 30px #1715250f}.portal-admin .table-wrap table{min-width:1120px;border-collapse:separate;border-spacing:0}.portal-admin .table-wrap thead th{padding:.9rem .8rem;color:#fff;background:#211d32;border:0;font-size:.7rem;letter-spacing:.05em;text-transform:uppercase}.portal-admin .table-wrap tbody td{padding:.95rem .8rem;border-bottom:1px solid #ece6ed;vertical-align:top}.portal-admin .student-record{transition:background .18s}.portal-admin .student-record:hover{background:#fff8ee}.portal-admin .status-row-pending{background:#fff9e8}.portal-admin .status-row-active{background:#f3fbf6}.portal-admin .status-row-suspended{background:#fff2ec}.portal-admin .status-row-deactivated{background:#f2f0f3;color:#68616d}.portal-admin .student-record td:first-child{border-left:4px solid #9b93a2}.portal-admin .status-row-pending td:first-child{border-left-color:#e7a500}.portal-admin .status-row-active td:first-child{border-left-color:#22a660}.portal-admin .status-row-suspended td:first-child{border-left-color:#ef7a32}.portal-admin .status-row-deactivated td:first-child{border-left-color:#736b78}.cookie-overlay{bottom:7px;width:min(920px,calc(100% - 18px))}.cookie-consent{grid-template-columns:minmax(0,1fr) auto;padding:.42rem .5rem .42rem .8rem;border-radius:6px}.cookie-consent strong{font-size:.82rem}.cookie-consent p{font-size:.65rem}.cookie-actions{display:flex!important}.cookie-actions button{min-height:29px;padding:.32rem .55rem;font-size:.66rem;white-space:nowrap}@media(max-width:760px){.brand{min-width:160px}.brand img{width:180px;height:62px}.registration-page{padding-left:1rem;padding-right:1rem}.registration-page:after{top:1rem;right:.35rem;bottom:1rem;left:.35rem}.portal-brand img{max-width:180px;height:78px}.cookie-consent{grid-template-columns:1fr auto}.cookie-consent p{display:none}}.portal-main,.portal-main>*,.dashboard-columns>*,.portal .panel,.portal-card{min-width:0;max-width:100%}.portal h1,.portal h2,.portal h3,.portal th,.portal td{overflow-wrap:anywhere}.portal .panel>h1,.portal .panel>h2,.portal-card>h2{max-width:100%;font-size:clamp(1.2rem,2.3vw,1.8rem);line-height:1.15}.portal table{max-width:100%}.portal pre,.portal code{white-space:pre-wrap;overflow-wrap:anywhere}.application-details{margin-top:.55rem;max-width:420px}.application-details summary{cursor:pointer;color:var(--portal-accent);font-size:.75rem;font-weight:850}.application-details dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.4rem;margin:.6rem 0;padding:.65rem;background:#f8f5f1;border-radius:8px}.application-details dl div{min-width:0}.application-details dt{color:#77707b;font-size:.65rem;text-transform:uppercase}.application-details dd{margin:0;font-size:.76rem;font-weight:700;overflow-wrap:anywhere}.classroom-hero{display:flex;align-items:center;justify-content:space-between;gap:2rem;margin-bottom:1rem;padding:clamp(1.4rem,4vw,3rem);color:#fff;background:linear-gradient(125deg,#171525,#30264b 68%,#d92d20 150%);border-radius:22px;overflow:hidden}.classroom-hero h2{max-width:760px;margin:.35rem 0 .7rem;font-size:clamp(1.9rem,4vw,3.3rem);line-height:1.05}.classroom-hero p{max-width:740px;color:#e5e0e9;line-height:1.6}.classroom-live-stat{display:grid;justify-items:center;flex:0 0 150px;padding:1.2rem;border:1px solid rgba(255,255,255,.2);border-radius:16px;background:#ffffff14}.classroom-live-stat i{width:11px;height:11px;background:#35db7d;border-radius:50%;box-shadow:0 0 0 7px #35db7d24;animation:supportPulse 1.8s infinite}.classroom-live-stat strong{margin-top:.5rem;color:#ffad58;font-size:2.7rem}.classroom-live-stat span{font-size:.78rem;text-transform:uppercase}.classroom-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem;margin-bottom:1rem}.classroom-summary article{display:grid;padding:1rem 1.2rem;background:#fff;border-radius:14px;box-shadow:0 8px 25px #1715250f}.classroom-summary b{color:var(--portal-accent);font-size:1.8rem}.classroom-summary span{color:#706a75;font-size:.8rem}.classroom-scheduler{margin-bottom:1rem}.classroom-scheduler>summary{cursor:pointer;color:var(--portal-accent);font-weight:900}.classroom-scheduler form{margin-top:1rem}.classroom-tabs{display:flex;gap:.45rem;margin:1rem 0;overflow-x:auto;padding-bottom:.2rem}.classroom-tabs button{display:flex;align-items:center;gap:.45rem;white-space:nowrap;color:#5e5764;background:#e9e5e9;box-shadow:none}.classroom-tabs button.active{color:#fff;background:#171525}.classroom-tabs span{display:grid;place-items:center;min-width:22px;height:22px;padding:0 .3rem;background:#ffffff29;border-radius:999px;font-size:.68rem}.classroom-board{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.classroom-card{min-width:0;padding:1.25rem;background:#fff;border:1px solid #e9e4ea;border-top:5px solid #817987;border-radius:16px;box-shadow:0 10px 30px #1715250f}.classroom-card.live{border-top-color:#22a660;box-shadow:0 12px 34px #22a6601f}.classroom-card.upcoming{border-top-color:#ef8f32}.classroom-card.cancelled{opacity:.72;border-top-color:#9b2730}.classroom-card header,.classroom-card footer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.6rem}.class-platform{color:#d92d20;font-size:.65rem;font-weight:950;letter-spacing:.08em}.classroom-time{display:grid;grid-template-columns:62px minmax(0,1fr);gap:1rem;align-items:center;margin:1rem 0}.classroom-time time{display:grid;place-items:center;padding:.65rem;color:#c5411d;background:#fff2e7;border-radius:11px;text-transform:uppercase}.classroom-time time b{font-size:1.7rem}.classroom-time h3{margin:0 0 .25rem;font-size:1.25rem}.classroom-time p{margin:0;color:#746d78;font-size:.83rem}.classroom-time strong{font-size:.75rem}.class-notes{padding:.8rem;background:#f7f4f0;border-radius:9px;color:#625c67;font-size:.86rem}.class-tutor{margin-left:auto;color:#6e6772;font-size:.72rem;font-weight:800}.class-attendees{margin-top:1rem;padding-top:.8rem;border-top:1px solid #ece7ed}.class-attendees summary{cursor:pointer;color:var(--portal-accent);font-size:.78rem;font-weight:900}.class-attendees ul{display:grid;gap:.35rem;margin:.7rem 0 0;padding:0;list-style:none}.class-attendees li{display:flex;justify-content:space-between;gap:1rem;padding:.5rem;background:#f8f6f8;border-radius:7px}.class-attendees li span{color:#716a76;font-size:.72rem}@media(max-width:900px){.classroom-board{grid-template-columns:1fr}.classroom-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.classroom-hero{align-items:flex-start;flex-direction:column}.classroom-live-stat{width:100%}.classroom-summary{grid-template-columns:1fr 1fr}.classroom-time{grid-template-columns:52px minmax(0,1fr)}.classroom-card footer{align-items:stretch;flex-direction:column}.classroom-card footer>*{width:100%;text-align:center}.class-tutor{margin:0}.class-attendees li{align-items:flex-start;flex-direction:column}}.grade-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:1.25rem}.grade-summary article{display:grid;gap:.45rem;padding:1.35rem;background:#fff;border-radius:16px;box-shadow:0 8px 28px #1f2d450e}.grade-summary span{color:#706976}.grade-summary strong{color:var(--portal-accent);font-size:2rem}.transcript-panel{display:flex;align-items:center;justify-content:space-between;gap:2rem;border-left:5px solid var(--portal-accent)}.transcript-panel h2{margin:.2rem 0}.transcript-panel p:last-child{max-width:720px}.transcript-panel button:disabled{cursor:not-allowed;color:#8b858d;background:#dcd8d4;box-shadow:none}.grade-table input{min-width:90px;margin:0;padding:.55rem}.grade-table td:nth-child(5) input{min-width:210px}.portal-card>.quiet-button{display:inline-flex;margin:.65rem 0 0 .4rem;text-decoration:none}@media(max-width:760px){.grade-summary{grid-template-columns:1fr}.transcript-panel{align-items:flex-start;flex-direction:column}.portal-card>.quiet-button{margin-left:0}}.inline-link{color:var(--red);font-weight:750}.muted{color:#696571}button:disabled{cursor:not-allowed;opacity:.55}.card-meta{display:flex;flex-wrap:wrap;gap:.5rem;margin:1rem 0}.card-meta span{padding:.2rem .55rem;color:#514b56;background:var(--cream);border-radius:2rem}.course-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin:2.5rem 0}.course-facts div{display:grid;padding:1.3rem;background:#fff;border:1px solid #e6e0da}.course-facts small{color:#716b75}.curriculum{display:grid;gap:.7rem;max-width:760px}.notice{padding:.85rem 1rem;color:#0d553b;background:#e8f7ef;border-left:4px solid #16865b}.notice.error{color:#8a1c14;background:#fff0ef;border-color:var(--red)}.portal{min-height:100vh;display:grid;grid-template-columns:255px 1fr;background:#f5f3ef}.sidebar{display:flex;flex-direction:column;padding:2rem 1.2rem;color:#fff;background:var(--navy)}.portal-brand{color:var(--orange);font-size:1.8rem;font-weight:900;letter-spacing:.08em}.sidebar>p{margin-top:0;color:#aaa6b6;text-transform:capitalize}.portal-nav{display:grid;align-items:stretch;padding:1.5rem 0;background:transparent;border:0}.portal-nav a{padding:.7rem .8rem;color:#d5d2dc;border-left:3px solid transparent}.portal-nav a.active{color:#fff;background:#292637;border-left-color:var(--orange)}.sidebar>button{margin-top:auto}.portal-main{min-width:0;padding:2.5rem clamp(1.2rem,4vw,4rem)}.portal-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:2rem}.portal-header span{color:#6b6570}.portal-header h1{margin:.2rem 0 0;font-size:clamp(2rem,4vw,3.2rem);line-height:1}.stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:1.5rem}.stat-grid article{display:grid;gap:.6rem;padding:1.3rem;background:#fff;border:1px solid #e4dfd9}.stat-grid article span{color:#696571}.stat-grid article strong{font-size:2.2rem}.panel{margin-bottom:1.25rem;padding:1.4rem;background:#fff;border:1px solid #e4dfd9}.panel>h2,.panel-heading h2{margin-top:0}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem}.list-row{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1rem 0;border-top:1px solid #ece8e3}.list-row div:first-child{display:grid}.list-row small{color:#736d77}.status{display:inline-block;width:fit-content;padding:.25rem .55rem;font-size:.72rem;font-weight:800;letter-spacing:.04em;border-radius:2rem;text-transform:uppercase;background:#ebe8e5}.status-active,.status-completed{color:#096143;background:#dff5e9}.status-pending,.status-draft,.status-new{color:#825400;background:#fff0cc}.status-rejected,.status-suspended,.status-deactivated,.status-archived{color:#9b251c;background:#ffe4e1}.status-published{color:#174e9c;background:#e4efff}.portal-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.portal-card{padding:1.4rem;background:#fff;border:1px solid #e4dfd9}.portal-card h2{font-size:1.35rem}.portal-card .button{margin-top:.8rem}.empty-state{padding:4rem 2rem;text-align:center;background:#fff;border:1px dashed #bcb5ad}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse}th,td{padding:.85rem;text-align:left;border-bottom:1px solid #e9e4df}th{color:#5f5964;font-size:.78rem;text-transform:uppercase}select{max-width:100%;padding:.55rem;border:1px solid #b8b1aa;background:#fff}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.form-grid .full{grid-column:1/-1}.inline-form{display:flex;grid-template-columns:1fr auto}.inline-form input{flex:1}.danger-button,.quiet-button{color:var(--red);background:transparent;border:1px solid #d9a09b}.sidebar .quiet-button{color:#fff;border-color:#555060}.table-actions{display:flex;flex-wrap:wrap;gap:.35rem}.module-editor details{margin-top:1rem;padding:1rem;background:#f7f4f0}.module-editor summary{cursor:pointer;font-weight:800}.lesson-admin{display:flex;justify-content:space-between;gap:1rem;padding:.8rem 0;border-top:1px solid #ebe6e0}.learning-layout{display:grid;grid-template-columns:280px 1fr;gap:1rem}.lesson-menu{padding:1rem;background:#fff;border:1px solid #e4dfd9}.lesson-menu h3{margin:1.1rem 0 .4rem;font-size:.95rem}.lesson-menu button{display:block;width:100%;padding:.6rem;color:#38333d;text-align:left;background:transparent;border:0}.lesson-menu button.selected{color:#fff;background:var(--red)}.lesson-view{min-height:500px;padding:2rem;background:#fff;border:1px solid #e4dfd9}.lesson-copy{margin:1.5rem 0;white-space:pre-wrap}.progress-track{height:8px;overflow:hidden;background:#ddd7d0;border-radius:1rem}.progress-track span{display:block;height:100%;background:#16865b}.narrow-panel{max-width:620px}@media(max-width:900px){.portal{grid-template-columns:1fr}.sidebar{position:static}.portal-nav{grid-template-columns:repeat(2,1fr)}.sidebar>button{margin-top:1rem}.stat-grid{grid-template-columns:repeat(2,1fr)}.learning-layout{grid-template-columns:1fr}}@media(max-width:620px){.portal-main{padding:1.2rem}.portal-header,.list-row{align-items:stretch;flex-direction:column}.stat-grid,.portal-cards,.form-grid,.course-facts{grid-template-columns:1fr}.form-grid .full{grid-column:auto}}.site-nav .nav-links{display:flex;align-items:center;gap:1.35rem}.site-nav .nav-links>a:not(.login-link){padding:.5rem 0;border-bottom:2px solid transparent}.site-nav .nav-links>a.active:not(.login-link){color:var(--red);border-bottom-color:var(--red)}.menu-button{display:none;color:var(--navy);background:transparent;border:1px solid #d5cec7}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:2rem}.section-heading h2,.audience-section>h2,.home-cta h2{max-width:760px;margin:.3rem 0;font-size:clamp(2.1rem,4vw,3.8rem);line-height:1;letter-spacing:-.035em}.home-programs{padding:5rem 0;color:#fff;background:var(--navy)}.home-course-list{display:grid;grid-template-columns:repeat(2,1fr);margin-top:2.5rem;border-top:1px solid #4b4755}.home-course-list a{display:grid;grid-template-columns:45px 1fr auto;align-items:center;gap:1rem;padding:1.35rem 0;border-bottom:1px solid #4b4755}.home-course-list a:nth-child(odd){padding-right:1.5rem}.home-course-list a:nth-child(2n){padding-left:1.5rem;border-left:1px solid #4b4755}.home-course-list span{color:var(--orange);font-weight:800}.home-course-list small{color:#aaa5b1}.audience-section{padding:6rem 0}.audience-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-top:2.5rem}.audience-grid article{padding:1.7rem;background:#fff;border:1px solid #e4ded8}.audience-grid h3{margin-top:0}.home-cta{padding:5rem 0;color:#fff;background:var(--red)}.home-cta>.container{display:grid;grid-template-columns:1fr 1fr;gap:4rem}.home-cta .eyebrow{color:#ffd18b}.program-section{margin-top:4rem}.section-intro{display:flex;align-items:end;justify-content:space-between;gap:2rem}.program-hero{padding:6rem 0;color:#fff;background:var(--navy);border-bottom:6px solid var(--red)}.program-hero h1{max-width:950px;margin:.5rem 0 1.2rem;font-size:clamp(2.7rem,6vw,5.4rem);line-height:.98;letter-spacing:-.045em}.program-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem}.focus-list{display:grid;gap:.8rem;padding:0;list-style:none}.focus-list li{padding:1rem 1.2rem;background:#fff;border-left:4px solid var(--red)}.information-panel{padding:2rem;color:#fff;background:var(--navy)}.information-panel dl{margin:0}.information-panel dl div{display:grid;grid-template-columns:120px 1fr;gap:1rem;padding:1rem 0;border-top:1px solid #474351}.information-panel dt{color:var(--orange);font-weight:800}.information-panel dd{margin:0}.related-action{margin-bottom:6rem;padding:2rem;background:var(--cream)}.admission-steps{display:grid;gap:0;max-width:920px;margin:4rem 0;padding:0;list-style:none}.admission-steps li{display:grid;grid-template-columns:80px 1fr;gap:1.5rem;padding:1.5rem 0;border-top:1px solid #d8d1ca}.admission-steps li>span{color:var(--red);font-size:1.3rem;font-weight:900}.admission-steps h2{margin:0;font-size:1.5rem}.admission-steps p{margin-bottom:0;color:#5f5964}.admission-note{padding:2rem;color:#fff;background:var(--navy)}.faq-list{max-width:900px;margin-top:3rem}.faq-list details{padding:1.25rem 0;border-top:1px solid #d9d2cb}.faq-list summary{cursor:pointer;font-size:1.15rem;font-weight:800}.faq-list details p{max-width:760px;color:#5f5964}.policy{max-width:850px}.policy>p,.policy>h2{max-width:760px}.policy h2{margin-top:2.2rem;font-size:1.5rem}.contact-hours{margin-top:2rem;padding:1.2rem;background:var(--cream)}footer{grid-template-columns:1.35fr .7fr 1fr auto}.footer-legal{align-content:start}@media(max-width:900px){.site-nav{flex-wrap:wrap}.menu-button{display:block}.site-nav .nav-links{display:none;width:100%;align-items:stretch;flex-direction:column;gap:.2rem;padding-top:1rem}.site-nav .nav-links.open{display:flex}.site-nav .nav-links a{padding:.7rem}.home-course-list,.home-cta>.container,.program-detail-grid{grid-template-columns:1fr}.home-course-list a:nth-child(odd),.home-course-list a:nth-child(2n){padding-left:0;padding-right:0;border-left:0}.section-heading,.section-intro{align-items:start;flex-direction:column}footer{grid-template-columns:repeat(2,1fr)}}@media(max-width:620px){.audience-grid,footer{grid-template-columns:1fr}.home-course-list a{grid-template-columns:35px 1fr}.home-course-list small{display:none}.admission-steps li{grid-template-columns:48px 1fr}.information-panel dl div{grid-template-columns:1fr}}html{scroll-behavior:smooth}body{overflow-x:hidden}.route-progress{position:fixed;z-index:1000;top:0;left:0;width:0;height:3px;opacity:0;background:linear-gradient(90deg,var(--orange),var(--red));box-shadow:0 0 12px #ef8f32b3}.route-progress.is-active{width:78%;opacity:1;animation:routeLoad .42s ease-out forwards}.image-hero{position:relative;isolation:isolate;min-height:680px;display:grid;align-items:center;overflow:hidden;background:var(--navy)}.hero-image,.hero-overlay{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.hero-image{z-index:-2;object-fit:cover;object-position:center;animation:heroReveal 1s ease-out both}.hero-overlay{z-index:-1;background:linear-gradient(90deg,#12101ff7,#12101fd1 45%,#12101f40),linear-gradient(0deg,rgba(18,16,31,.35),transparent 50%)}.hero-content{position:relative}.hero-content h1{max-width:760px}.hero-content .lead{max-width:620px}.wide-photo{position:relative;margin:3.2rem 0;overflow:hidden;background:#e9e4de}.wide-photo img{display:block;width:100%;height:clamp(330px,45vw,570px);object-fit:cover;transition:transform .7s cubic-bezier(.2,.7,.2,1)}.wide-photo:hover img{transform:scale(1.025)}.wide-photo figcaption{position:absolute;right:0;bottom:0;max-width:420px;padding:.8rem 1rem;color:#fff;background:#171525e6;font-size:.86rem}.course-photo img{object-position:center 45%}.editorial-split{display:grid;grid-template-columns:1.35fr .65fr;gap:3rem;align-items:center}.editorial-split .portrait-photo{height:650px;margin:0}.editorial-split .portrait-photo img{height:100%}.editorial-split .audience-grid{grid-template-columns:1fr 1fr}.loading-screen{min-height:70vh;display:grid;place-content:center;justify-items:center;gap:1rem;color:var(--navy)}.loader{width:44px;height:44px;border:4px solid #e6dfd8;border-top-color:var(--red);border-radius:50%;animation:spin .8s linear infinite}.button,button,.login-link,.course-card,.feature-grid article,.audience-grid article,.home-course-list a,nav a,footer a{transition:color .2s ease,background .2s ease,border-color .2s ease,transform .25s ease,box-shadow .25s ease}.button:hover,button:hover:not(:disabled),.login-link:hover{transform:translateY(-2px);background:#b92217;box-shadow:0 10px 24px #d92d2038}.course-card:hover,.feature-grid article:hover,.audience-grid article:hover{transform:translateY(-6px);border-color:#d5c9bf;box-shadow:0 18px 40px #1715251a}.home-course-list a:hover{padding-left:1rem;color:var(--orange);background:#ffffff09}.inline-link:hover,.text-link:hover,footer a:hover{color:var(--orange)}input:focus,textarea:focus,select:focus{outline:3px solid rgba(239,143,50,.25);border-color:var(--orange)}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--orange);outline-offset:4px}.faq-list details:hover{padding-left:.8rem;background:#f4eee599}footer small{display:block;margin-top:1.2rem;color:#b8b4c1}footer small strong{color:#fff}@keyframes routeLoad{0%{width:0}65%{width:72%}to{width:100%;opacity:0}}@keyframes heroReveal{0%{opacity:0;transform:scale(1.04)}to{opacity:1;transform:scale(1)}}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:900px){.image-hero{min-height:610px}.editorial-split{grid-template-columns:1fr}.editorial-split .portrait-photo{height:480px}}@media(max-width:620px){.image-hero{min-height:590px}.hero-overlay{background:linear-gradient(90deg,#12101ff0,#12101fa6)}.editorial-split .audience-grid{grid-template-columns:1fr}.editorial-split .portrait-photo{height:420px}.wide-photo figcaption{position:static;max-width:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.whatsapp-float{position:fixed;z-index:50;right:1.25rem;bottom:1.25rem;display:grid;place-items:center;min-width:58px;height:58px;padding:0 1rem;color:#fff;background:#168a53;border-radius:2rem;font-weight:800;box-shadow:0 12px 30px #0000003d;transition:transform .2s ease,background .2s ease}.whatsapp-float:hover{transform:translateY(-4px);background:#0f7042}.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem}.enroll-box{display:grid;gap:.75rem;margin-top:1rem;padding:1rem;background:var(--cream)}.enroll-box small{color:#625d66}@media(max-width:760px){.settings-grid{grid-template-columns:1fr}.whatsapp-float span{font-size:.82rem}}.portal{--portal-accent: #155bd5;--portal-soft: #eaf1ff;background:#f3f6fb}.portal-tutor{--portal-accent: #5b46e8;--portal-soft: #efedff}.portal-admin{--portal-accent: #e6a600;--portal-soft: #fff5d8}.sidebar{position:sticky;top:0;height:100vh;padding:1.6rem 1.15rem;background:#fff;color:#1c2434;border-right:1px solid #e7ebf1;box-shadow:8px 0 30px #21304a0a}.portal-student .sidebar{color:#fff;background:linear-gradient(165deg,#075ecb,#073f9c)}.portal-brand{display:grid;grid-template-columns:auto 1fr;gap:.65rem;align-items:center;margin-bottom:1.4rem}.portal-brand span{display:grid;place-items:center;width:48px;height:48px;color:#fff;background:var(--portal-accent);border-radius:14px;font-size:1rem;letter-spacing:.08em}.portal-student .portal-brand span{color:#0848a3;background:#ffc124}.portal-brand small{color:inherit;font-weight:800}.role-pill{width:max-content;padding:.3rem .7rem;border-radius:2rem;color:var(--portal-accent);background:var(--portal-soft);font-size:.7rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.portal-student .role-pill{color:#fff;background:#ffffff24}.portal-nav{display:grid;gap:.35rem;padding:1.5rem 0;background:transparent;border:0}.portal-nav a{display:flex;align-items:center;gap:.8rem;padding:.78rem .85rem;color:#687084;border:0;border-radius:10px}.portal-nav a b{display:grid;place-items:center;width:24px;font-size:1.05rem}.portal-nav a:hover,.portal-nav a.active{color:var(--portal-accent);background:var(--portal-soft);border:0}.portal-student .portal-nav a{color:#dceaff}.portal-student .portal-nav a:hover,.portal-student .portal-nav a.active{color:#fff;background:#ffffff26}.sidebar-user{display:flex;gap:.7rem;align-items:center;margin-top:auto;padding:1rem 0;border-top:1px solid rgba(130,140,160,.22);overflow:hidden}.sidebar-user>span,.profile-chip{display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;border-radius:50%;color:#fff;background:var(--portal-accent);font-weight:900}.sidebar-user div{display:grid;min-width:0}.sidebar-user small{overflow:hidden;text-overflow:ellipsis}.portal-signout{width:100%;color:inherit;background:transparent;border:1px solid currentColor;opacity:.8}.portal-main{padding:2rem clamp(1.2rem,3.5vw,3.5rem)}.portal-header{margin-bottom:1.8rem;padding-bottom:1.3rem;border-bottom:1px solid #e5e9f0}.portal-header h1{font-size:clamp(1.8rem,3vw,2.8rem)}.header-actions{display:flex;align-items:center;gap:1rem}.profile-chip{box-shadow:0 7px 18px #0000001f}.stat-grid article{border:0;border-radius:16px;box-shadow:0 8px 28px #1f2d450f}.stat-grid article:first-child{color:#fff;background:var(--portal-accent)}.stat-grid article:first-child span{color:#fffc}.panel,.portal-card{border:0;border-radius:16px;box-shadow:0 8px 28px #1f2d450e}.portal-card{border-top:4px solid var(--portal-accent)}.course-progress-card{display:grid;grid-template-columns:auto 1fr;gap:2rem;align-items:center;margin-bottom:1.25rem;padding:1.1rem 1.3rem;background:#fff;border-radius:14px;box-shadow:0 7px 24px #1f2d450f}.course-progress-card div:first-child{display:grid}.course-progress-card .progress-track{min-width:200px}.module-locked{opacity:.58}.lesson-menu section{margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid #eceff4}.lesson-menu h3{display:flex;gap:.6rem;align-items:center}.lesson-menu h3 span{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--portal-soft);color:var(--portal-accent)}.lesson-menu .assessment-link{margin-top:.35rem;color:#744f00;background:#fff4cf;border-left:3px solid #e6a600}.resource-download{display:block;margin:1.4rem 0;padding:1rem;color:var(--portal-accent);background:var(--portal-soft);font-weight:800;border-radius:10px}.assessment-time{padding:.8rem;background:#fff4cf;border-left:4px solid #e6a600}.studio-banner,.library-intro{display:flex;justify-content:space-between;gap:2rem;margin-bottom:1.2rem;padding:1.7rem;color:#fff;background:linear-gradient(125deg,var(--portal-accent),#171525);border-radius:18px}.studio-banner h2,.library-intro h2{margin:.2rem 0}.studio-modules{display:grid;gap:1.25rem}.module-studio header{display:grid;grid-template-columns:auto 1fr auto;gap:1rem;align-items:center}.module-studio header>span{color:var(--portal-accent);font-weight:900}.section-list{display:grid;margin:1rem 0}.section-list article{display:grid;grid-template-columns:36px 1fr;gap:.8rem;padding:.85rem 0;border-top:1px solid #edf0f4}.section-list article>b{display:grid;place-items:center;width:30px;height:30px;color:#fff;background:var(--portal-accent);border-radius:50%}.module-studio details{margin-top:.8rem;padding:1rem;background:#f7f9fc;border-radius:10px}.module-studio summary{cursor:pointer;color:var(--portal-accent);font-weight:850}.assessment-row{display:flex;gap:.8rem;align-items:center;padding:.8rem 0;border-top:1px solid #eceff4}.book-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.book-card{padding:1rem;background:#fff;border-radius:14px;box-shadow:0 8px 25px #1f2d450f}.book-card img,.book-cover{width:100%;height:190px;object-fit:cover;border-radius:9px}.book-cover{display:grid;place-items:center;color:#fff;background:linear-gradient(145deg,var(--portal-accent),#171525);font-size:2rem;font-weight:900}.book-card h3{margin:.3rem 0}.password-wrap{position:relative;display:block}.password-wrap input{width:100%;padding-right:4.5rem}.password-toggle{position:absolute;right:.35rem;top:50%;transform:translateY(-50%);padding:.35rem .55rem;color:var(--red);background:transparent;box-shadow:none;font-size:.78rem}.password-toggle:hover{transform:translateY(-50%);background:var(--cream);box-shadow:none}.button-spinner{display:inline-block;width:14px;height:14px;margin-right:.45rem;border:2px solid rgba(255,255,255,.45);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite}@media(max-width:1000px){.book-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:900px){.sidebar{position:static;height:auto}.sidebar-user{margin-top:1rem}.portal-nav{grid-template-columns:repeat(2,1fr)}.course-progress-card{grid-template-columns:1fr}}@media(max-width:620px){.book-grid{grid-template-columns:1fr}.module-studio header{grid-template-columns:1fr}.portal-nav{grid-template-columns:1fr}}.dashboard-welcome{display:flex;align-items:center;justify-content:space-between;gap:2rem;margin-bottom:1.4rem;padding:2rem;color:#fff;border-radius:20px;box-shadow:0 18px 42px #1f2d4524}.dashboard-welcome h2{max-width:650px;margin:.15rem 0;font-size:clamp(1.7rem,3vw,2.7rem)}.dashboard-welcome p{max-width:670px}.dashboard-welcome .eyebrow{color:inherit;opacity:.75}.student-welcome{background:linear-gradient(125deg,#075ecb,#082b72)}.tutor-welcome{background:linear-gradient(125deg,#5b46e8,#2e1e84)}.admin-welcome{color:#25210f;background:linear-gradient(125deg,#f5c439,#e49b00)}.welcome-mark{display:flex;align-items:center;gap:.7rem;font-size:4.5rem;font-weight:900}.welcome-mark small{font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}.dashboard-columns{display:grid;grid-template-columns:minmax(0,2fr) minmax(250px,.75fr);gap:1.25rem}.dashboard-side>a{display:grid;gap:.2rem;padding:1rem 0;color:#273147;border-top:1px solid #edf0f4}.dashboard-side>a span{color:#747b89;font-size:.83rem}.dashboard-side>a:hover b{color:var(--portal-accent)}.admin-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.payment-proof{max-width:340px}.payment-proof p{white-space:normal;overflow-wrap:anywhere}.course-preview{display:flex;flex-wrap:wrap;gap:.45rem;padding:0;list-style:none}.course-preview li{padding:.35rem .6rem;background:var(--cream);border-radius:2rem;font-size:.76rem;font-weight:750}@media(max-width:900px){.dashboard-columns{grid-template-columns:1fr}.admin-stats{grid-template-columns:repeat(2,1fr)}}@media(max-width:620px){.dashboard-welcome{align-items:flex-start;flex-direction:column}.welcome-mark{font-size:3rem}.admin-stats{grid-template-columns:1fr}}.assessment-review{padding:.6rem 0;border-top:1px solid #eceff4}.submission-row{display:grid;grid-template-columns:1fr auto auto;gap:1rem;align-items:center;padding:.75rem;background:#f7f9fc;border-top:1px solid #e8ecf2}.submission-row span:first-child{display:grid}.submission-row small{color:#747b89}@media(max-width:620px){.submission-row{grid-template-columns:1fr}}.portal{--portal-accent: #d92d20;--portal-soft: #fff0ec;background:#f7f4ef}.portal-student{--portal-accent: #d92d20;--portal-soft: #fff0ec}.portal-tutor{--portal-accent: #ef8f32;--portal-soft: #fff3e3}.portal-admin{--portal-accent: #171525;--portal-soft: #eeeaf2}.portal-student .sidebar,.portal-tutor .sidebar,.portal-admin .sidebar{color:#fff;background:linear-gradient(165deg,#211d32,#12101f)}.portal-student .portal-brand span,.portal-tutor .portal-brand span,.portal-admin .portal-brand span{color:#fff;background:linear-gradient(135deg,#ef8f32,#d92d20)}.portal-student .portal-nav a,.portal-tutor .portal-nav a,.portal-admin .portal-nav a{color:#ded9e7}.portal-student .portal-nav a:hover,.portal-student .portal-nav a.active,.portal-tutor .portal-nav a:hover,.portal-tutor .portal-nav a.active,.portal-admin .portal-nav a:hover,.portal-admin .portal-nav a.active{color:#fff;background:linear-gradient(90deg,#ef8f3238,#d92d2033);border-left:3px solid #ef8f32}.student-welcome,.tutor-welcome,.admin-welcome{color:#fff;background:linear-gradient(125deg,#211d32,#3a2433 52%,#d92d20 140%)}.admin-welcome .eyebrow{color:#ef8f32}.stat-grid article:first-child{background:linear-gradient(135deg,#d92d20,#a61f17)}.course-card-image{display:block;width:calc(100% + 2rem);height:190px;margin:-1rem -1rem 1rem;object-fit:cover;border-radius:16px 16px 0 0}.image-preview{display:block;max-width:320px;max-height:190px;margin-top:.7rem;object-fit:cover;border-radius:10px}.card-actions,.section-actions{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:1rem}.modal-backdrop{position:fixed;z-index:200;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:1rem;background:#12101fb8;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.course-editor{width:min(820px,100%);max-height:92vh;overflow:auto}.classroom-list{margin-top:1rem;padding:1rem;background:#fff8ed;border-left:4px solid #ef8f32;border-radius:10px}.classroom-list article{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.8rem 0;border-top:1px solid #ead8c3}.classroom-list article>div:first-child{display:grid}.classroom-list small{color:#746a63}.lesson-reader{padding:0;overflow:hidden;background:#fff}.lesson-breadcrumb{display:flex;justify-content:space-between;padding:.8rem 1.5rem;color:#6f6873;background:#f4efe9;border-bottom:1px solid #e4ddd7;font-size:.8rem}.lesson-heading{padding:2rem 2.5rem 1rem}.lesson-heading h2{max-width:760px;margin:.2rem 0;font-size:clamp(2rem,4vw,3.2rem);line-height:1.08}.lesson-heading>p:last-child{color:#6f6873}.lesson-feature-image{margin:1rem 2.5rem 2rem}.lesson-feature-image img{display:block;width:100%;max-height:480px;object-fit:cover;border-radius:14px}.lesson-reader>.button,.lesson-reader>.resource-download,.lesson-reader>button{margin-left:2.5rem;margin-right:2.5rem}.lesson-copy{margin:1rem 2.5rem 2rem;padding:0;max-width:820px;color:#36313b;background:transparent;font-size:1.04rem;line-height:1.85}.lesson-copy h3{padding-bottom:.7rem;border-bottom:2px solid #ef8f32}.lesson-copy p{white-space:pre-wrap}.student-classroom{margin:1rem 2.5rem 2rem;padding:1.4rem;color:#fff;background:linear-gradient(135deg,#211d32,#3c2636);border-radius:14px}.student-classroom article{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 0;border-top:1px solid rgba(255,255,255,.18)}.student-classroom article>div:first-child{display:grid;gap:.25rem}.student-classroom span{color:#d7ceda;font-size:.84rem}.student-classroom p{margin:.25rem 0}.class-actions{display:flex;align-items:center;gap:.8rem}.quiet-link{color:#ffb966;font-weight:800}.catalogue-card{overflow:hidden}@media(max-width:760px){.lesson-heading,.lesson-copy,.student-classroom{margin-left:1rem;margin-right:1rem}.lesson-heading{padding:1.4rem 1rem .7rem}.lesson-feature-image{margin:1rem}.student-classroom article,.classroom-list article{align-items:flex-start;flex-direction:column}.class-actions{align-items:flex-start;flex-direction:column}}.file-button{display:inline-flex;align-items:center;padding:.55rem .75rem;color:#fff;background:#171525;border-radius:7px;font-size:.78rem;font-weight:800;cursor:pointer}.file-button input{display:none}.institution-footer{display:block;padding:0;color:#e8e3eb;background:#12101f}.footer-social{display:flex;justify-content:space-between;align-items:center;padding:1.1rem clamp(1.2rem,5vw,5rem);background:linear-gradient(90deg,#d92d20,#ef8f32)}.footer-social div{display:flex;flex-wrap:wrap;gap:.7rem}.footer-social a{padding:.45rem .75rem;color:#fff;border:1px solid rgba(255,255,255,.5);border-radius:2rem;font-size:.8rem;font-weight:800}.footer-main{display:grid;grid-template-columns:1.5fr repeat(3,1fr);gap:3rem;padding:3.5rem clamp(1.2rem,5vw,5rem)}.footer-main section{display:grid;align-content:start;gap:.7rem}.footer-main section>strong{margin-bottom:.45rem;color:#ef8f32;text-transform:uppercase;letter-spacing:.08em;font-size:.75rem}.footer-main a,.footer-main span{color:#c8c2ce}.footer-about p{max-width:430px;color:#aba4b2}.footer-brand{display:flex;align-items:center;gap:1rem;color:#fff!important}.footer-brand b{display:grid;place-items:center;width:66px;height:66px;background:linear-gradient(135deg,#ef8f32,#d92d20);border-radius:14px}.footer-brand span{color:#fff!important;font-weight:850}.footer-bottom{display:flex;justify-content:space-between;gap:1rem;padding:1.1rem clamp(1.2rem,5vw,5rem);border-top:1px solid #332e40;color:#aaa3b1;font-size:.78rem}.notification-button{position:relative;display:grid;place-items:center;width:42px;height:42px;color:#171525;background:#fff;border-radius:50%;box-shadow:0 6px 20px #0000001a;font-size:1.4rem}.notification-button b{position:absolute;top:-4px;right:-4px;display:grid;place-items:center;min-width:20px;height:20px;padding:0 4px;color:#fff;background:#d92d20;border-radius:50%;font-size:.65rem}.profile-chip img,.sidebar-user img{width:100%;height:100%;object-fit:cover;border-radius:50%}.sidebar-user>img{flex:0 0 38px;width:38px;height:38px}.registration-notice{margin:-.6rem 0 1.4rem;padding:.9rem 1.1rem;color:#5f3b00;background:#fff2d5;border-left:4px solid #ef8f32;border-radius:7px}.profile-photo-editor{display:flex;align-items:center;gap:1rem;margin:1rem 0 1.5rem}.profile-photo-editor img,.profile-photo-editor>span{display:grid;place-items:center;width:92px;height:92px;object-fit:cover;color:#fff;background:#171525;border-radius:50%;font-size:2rem;font-weight:900}.approval-success{text-align:center}.success-mark{display:grid;place-items:center;width:78px;height:78px;margin:0 auto 1rem;color:#fff;background:#168a53;border-radius:50%;font-size:2.3rem}.library-section{margin:3rem 0}.book-price{display:block;margin:.7rem 0;color:#d92d20;font-size:1.15rem}.purchase-actions{display:grid;gap:.5rem}.calendar-board{display:grid;gap:1.2rem}.calendar-event{display:grid;grid-template-columns:80px 1fr auto;gap:1rem;align-items:center;padding:1rem 0;border-top:1px solid #ece7e2}.calendar-event time{display:grid;place-items:center;min-height:65px;color:#fff;background:#d92d20;border-radius:10px;font-weight:900}.calendar-event h3{margin:.1rem 0}.calendar-event p{margin:0;color:#706976}.notification-feed{display:grid;gap:1rem}.notification-card{position:relative;cursor:pointer}.notification-card.unread{border-left:5px solid #d92d20}.notification-dot{position:absolute;right:1rem;top:1rem;width:9px;height:9px;background:#d92d20;border-radius:50%}.notification-card:not(.unread) .notification-dot{display:none}.certificate-button{margin-top:.6rem;color:#6d3900;background:#ffd898}.public-book-grid{margin-top:3rem}@media(max-width:900px){.footer-main{grid-template-columns:repeat(2,1fr)}}@media(max-width:620px){.footer-social,.footer-bottom{align-items:flex-start;flex-direction:column}.footer-main{grid-template-columns:1fr}.calendar-event{grid-template-columns:60px 1fr}.calendar-event>a{grid-column:2}.profile-photo-editor{align-items:flex-start;flex-direction:column}}.public-notices{display:flex;justify-content:center;gap:.6rem;padding:.65rem 1rem;color:#fff;background:#d92d20;font-size:.84rem}.public-notices strong{color:#ffd39f}.notification-button svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.notification-button:hover{color:#fff;background:#d92d20}.notification-composer{margin-bottom:1.6rem}.message-centre{overflow:hidden;background:#fff;border-radius:18px;box-shadow:0 8px 28px #1f2d450f}.message-tabs{display:flex;align-items:center;gap:.35rem;padding:.85rem;border-bottom:1px solid #e7e2dd}.message-tabs button{display:flex;align-items:center;gap:.5rem;color:#625c68;background:transparent;box-shadow:none}.message-tabs button:hover,.message-tabs button.active{transform:none;color:#fff;background:#171525;box-shadow:none}.message-tabs button span{display:grid;place-items:center;min-width:21px;height:21px;padding:0 .35rem;color:inherit;background:#ffffff29;border-radius:50%;font-size:.7rem}.message-tabs .mark-read{margin-left:auto;color:#d92d20;border:1px solid #e6b4af}.message-tabs .mark-read:hover{color:#fff;background:#d92d20}.inbox-layout{display:grid;grid-template-columns:260px minmax(0,1fr);min-height:440px}.thread-list{padding:.75rem;background:#f6f2ed;border-right:1px solid #e7e2dd}.thread-list button{display:grid;width:100%;gap:.3rem;margin-bottom:.35rem;padding:.85rem;text-align:left;color:#403a45;background:transparent;border-radius:10px;box-shadow:none}.thread-list button:hover,.thread-list button.active{transform:none;color:#fff;background:linear-gradient(135deg,#211d32,#d92d20);box-shadow:none}.thread-list small{display:flex;align-items:center;gap:.35rem;color:inherit;opacity:.75}.conversation{margin:0;padding:1.5rem;border-radius:0;box-shadow:none}.conversation-heading{padding-bottom:1rem;border-bottom:1px solid #ece7e2}.conversation-heading h2{margin:.15rem 0}.message-bubble{position:relative;margin:1rem 0 1rem auto;padding:1rem 1.15rem;max-width:82%;background:#f3efe9;border-radius:14px 14px 3px;cursor:pointer}.message-bubble.unread{background:#fff1ed;border-left:4px solid #d92d20}.message-bubble h3{margin:.5rem 0}.message-bubble p{white-space:pre-wrap}.bubble-meta,.bubble-footer{display:flex;justify-content:space-between;gap:1rem;color:#746d78;font-size:.75rem}.sender-role{display:inline-block;padding:.16rem .42rem;border-radius:2rem;font-size:.63rem;font-weight:900;text-transform:uppercase}.role-admin{color:#fff;background:#171525}.role-tutor{color:#6f3b00;background:#ffe3bc}.role-student{color:#8c1c14;background:#ffe2df}.bubble-footer{align-items:center;margin-top:.7rem}.danger-link{padding:.35rem .55rem;color:#b42318;background:transparent;border:1px solid #e4aaa5;box-shadow:none;font-size:.75rem}.danger-link:hover{color:#fff;background:#b42318;box-shadow:none}.sent-list{display:grid;gap:1rem;padding:1rem}.sent-message{display:flex;align-items:flex-start;justify-content:space-between;gap:1.5rem;margin:0}.sent-message h3{margin:.25rem 0}.sent-message p{white-space:pre-wrap}.sent-message small{color:#746d78}.message-actions{display:flex;flex-shrink:0;gap:.45rem}.message-actions button{padding:.5rem .7rem}.public-notice-stack{display:grid}.public-notices{align-items:center;flex-wrap:wrap}.notice-label{padding:.2rem .55rem;color:#d92d20;background:#fff;border-radius:2rem;font-size:.67rem;font-weight:900;letter-spacing:.04em;text-transform:uppercase}@media(max-width:760px){.inbox-layout{grid-template-columns:1fr}.thread-list{display:flex;overflow-x:auto;border-right:0;border-bottom:1px solid #e7e2dd}.thread-list button{min-width:190px}.message-bubble{max-width:100%}.sent-message{flex-direction:column}.message-tabs{flex-wrap:wrap}.message-tabs .mark-read{margin-left:0}.bubble-meta,.bubble-footer{align-items:flex-start;flex-direction:column}}@media(max-width:900px){body.portal-menu-open{overflow:hidden}.portal{display:block;min-height:100vh}.portal .sidebar{position:fixed;z-index:310;top:0;left:0;width:min(86vw,320px);height:100dvh;padding:1.35rem 1rem;overflow-y:auto;transform:translate(-105%);transition:transform .28s ease;box-shadow:18px 0 50px #0a081247}.portal .sidebar.open{transform:translate(0)}.portal-menu-close{position:absolute;display:grid;place-items:center;top:1rem;right:1rem;width:36px;height:36px;padding:0;color:#fff;background:#ffffff1f;border:1px solid rgba(255,255,255,.25);border-radius:50%;font-size:1.55rem;line-height:1;box-shadow:none}.portal-menu-close:hover{transform:none;background:#d92d20;box-shadow:none}.portal-backdrop{position:fixed;z-index:300;top:0;right:0;bottom:0;left:0;width:100%;height:100%;padding:0;border:0;border-radius:0;background:#0a081294;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);opacity:0;pointer-events:none;transition:opacity .25s ease}.portal-backdrop.open{display:block;opacity:1;pointer-events:auto}.portal-main{width:100%;padding:1rem}.portal-header{position:sticky;z-index:100;top:0;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.8rem;margin:0 -1rem 1.2rem;padding:.85rem 1rem;background:#f7f4eff5;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 5px 20px #1f2d4512}.portal-header>div:first-of-type{min-width:0}.portal-header>div:first-of-type>span{display:none}.portal-header h1{overflow:hidden;margin:0;font-size:clamp(1.25rem,5vw,1.7rem);text-overflow:ellipsis;white-space:nowrap}.portal-menu-toggle{display:grid;gap:4px;width:42px;height:42px;padding:11px 9px;background:#171525;border-radius:10px;box-shadow:none}.portal-menu-toggle span{display:block;width:100%;height:2px;background:#fff;border-radius:2px}.portal-menu-toggle:hover{transform:none;background:#d92d20;box-shadow:none}.header-actions{gap:.55rem}.header-actions>.button,.header-actions>.quiet-button{display:none}.notification-button,.profile-chip{width:38px;height:38px;flex-basis:38px}.portal-nav{display:grid!important;grid-template-columns:1fr!important;gap:.3rem}.portal-nav a{min-height:46px}.sidebar-user{margin-top:1.2rem}.portal-brand{padding-right:2.8rem}.dashboard-welcome{padding:1.35rem;border-radius:15px}.dashboard-welcome h2{font-size:1.65rem}.dashboard-welcome .actions{align-items:stretch;flex-direction:column}.dashboard-welcome .button{width:100%;text-align:center}.welcome-mark{display:none}.panel,.portal-card{padding:1rem;border-radius:13px}.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}.stat-grid article{padding:1rem}.stat-grid article strong{font-size:1.65rem}.portal-cards,.dashboard-columns{grid-template-columns:1fr}.studio-banner,.library-intro{align-items:flex-start;flex-direction:column;padding:1.25rem}.table-wrap{margin-left:-1rem;margin-right:-1rem;padding-left:1rem;padding-right:1rem}.table-wrap table{min-width:720px}.table-actions{min-width:180px}.management-tabs{margin-left:-.25rem;margin-right:-.25rem;padding:.5rem}.management-tabs button{min-height:42px}.calendar-event{grid-template-columns:64px minmax(0,1fr)}.calendar-actions{grid-column:2;justify-content:flex-start}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.modal-backdrop{align-items:end;padding:0}.course-editor{width:100%;max-height:92dvh;margin:0;border-radius:20px 20px 0 0}}@media(max-width:520px){.portal-main{padding:.75rem}.portal-header{margin:0 -.75rem 1rem;padding:.75rem}.portal-header h1{font-size:1.2rem}.header-actions{gap:.4rem}.profile-chip{display:none}.stat-grid{grid-template-columns:1fr 1fr}.stat-grid article span{font-size:.78rem}.panel-heading,.list-row{align-items:flex-start;flex-direction:column}.lesson-reader>.button,.lesson-reader>.resource-download,.lesson-reader>button{margin-left:1rem;margin-right:1rem}.lesson-breadcrumb{gap:.5rem;flex-direction:column}.message-centre{margin-left:-.75rem;margin-right:-.75rem;border-radius:0}}.portal .sidebar{min-width:0}.portal .portal-brand{display:flex;flex:0 0 auto;align-items:flex-start;flex-direction:column;gap:.15rem;width:100%;min-width:0;margin:0 0 1rem;padding:0}.portal .portal-brand img{display:block;width:100%;max-width:215px;height:96px;object-fit:contain;object-position:left center}.portal .portal-brand small{display:block;width:auto;margin:-.35rem 0 0 .4rem;color:#f4eff7;font-family:Inter,Arial,sans-serif;font-size:.65rem;font-weight:850;line-height:1.2;letter-spacing:.15em;text-transform:uppercase;white-space:nowrap;writing-mode:horizontal-tb}.portal .role-pill{flex:0 0 auto;max-width:100%;margin-bottom:.45rem;white-space:nowrap}.portal .portal-nav{width:100%;min-height:80px}.portal .portal-nav a{width:100%;min-width:0}.portal .portal-nav a span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:900px){.portal .sidebar{display:flex;flex-direction:column;overflow:hidden}.portal .portal-brand{padding-right:2.8rem}.portal .portal-brand img{max-width:205px;height:88px}.portal .portal-nav{flex:1 1 auto;overflow-x:hidden;overflow-y:auto}.portal .sidebar-user,.portal .portal-signout{flex:0 0 auto}}
