:root{
  --institutional-navy:#102a43;
  --institutional-blue:#245ea8;
  --institutional-blue-soft:#eef5fb;
  --institutional-red:#c7353f;
  --institutional-ink:#243b53;
  --institutional-muted:#5f6f82;
  --institutional-line:#d8e1ea;
  --institutional-bg:#f7f9fb;
}
body{background:#fff;color:var(--institutional-ink)}
.public-service-strip{background:#f3f6f8;border-bottom:1px solid #dce4eb;font-size:12px;color:#4d5f73}
.public-service-inner{min-height:34px;display:flex;align-items:center;justify-content:space-between;gap:18px}
.public-service-inner strong{color:var(--institutional-navy)}
.public-service-links{display:flex;gap:18px}
.public-service-links a{text-decoration:none;color:#355b84;font-weight:700}
.site-header{top:0;background:#fff;border-bottom:1px solid #d8e1ea;backdrop-filter:none}
.nav-shell{min-height:78px}
.wordmark{color:var(--institutional-navy)}
.wordmark span{color:var(--institutional-blue)}
.navlinks>a{border-radius:4px;color:#334e68}
.navlinks>a:not(.primary-btn):hover,.navlinks>a.active:not(.primary-btn){background:#f0f5f9;color:var(--institutional-blue)}
.booking-link{border-radius:4px!important;border-color:#cbd7e1!important}
.primary-btn,.secondary-btn{border-radius:5px;box-shadow:none;font-weight:750}
.primary-btn{background:var(--institutional-blue);border-color:var(--institutional-blue)}
.primary-btn:hover{background:#1e4f8e;box-shadow:none}
.secondary-btn{border-color:#bfcbd7;color:var(--institutional-navy)}
.secondary-btn:hover{background:#f2f6f9;border-color:#9fb0c0}
.eyebrow{color:var(--institutional-blue);letter-spacing:.12em}

.hero-home{padding:50px 0 52px;background:#f6f9fb;border-bottom:1px solid #e0e7ee}
.hero-grid{grid-template-columns:minmax(0,.96fr) minmax(450px,1.04fr);gap:50px}
.hero-copy{padding:8px 0}
.hero-copy h1{color:var(--institutional-navy);font-size:clamp(48px,5vw,72px);letter-spacing:-2px;line-height:1.01}
.hero-copy h1 span{color:var(--institutional-blue)}
.hero-lead{color:#48647d;font-size:19px;max-width:650px}
.hero-photo-wrap{border-radius:8px;box-shadow:0 8px 24px rgba(16,42,67,.10);border:1px solid #d4dee7}
.benefit-grid{padding-top:22px;border-top:1px solid #d8e1ea}
.benefit-icon{border-radius:4px;background:#e8f0f7;color:var(--institutional-blue)}
.benefit strong{color:var(--institutional-navy)}

.section{padding:64px 0}
.section-heading h2,.about-copy h2,.confidence-copy h2,.sessions h2{color:var(--institutional-navy)}
.section-heading p{color:var(--institutional-muted)}
.institutional-heading{align-items:center}
.course-search-wrap{border-radius:5px;background:#fff}
.course-search-wrap:focus-within{border-color:#7ea2c5;box-shadow:0 0 0 3px #eaf1f7}
.category-pill,.chip{border-radius:4px;background:#fff}
.category-pill:hover,.category-pill.active,.chip:hover,.chip.active{background:#eaf2f8;border-color:#a9bfd3;color:var(--institutional-blue)}
.course-grid{gap:20px}
.course-card{border-radius:7px;box-shadow:none;border-color:#d8e1ea}
.course-card:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(16,42,67,.08);border-color:#bdcad6}
.course-image-link{background:#edf2f5}
.course-badge{border-radius:3px;background:rgba(255,255,255,.95);box-shadow:none;border:1px solid rgba(208,219,229,.9)}
.card-body{padding:18px 18px 17px}
.course-card h3{color:var(--institutional-navy)}
.card-category{color:var(--institutional-blue)}
.card-link{border-radius:4px;background:var(--institutional-blue)}
.rate-kicker{color:#496b8d}
.card-price{color:var(--institutional-navy)}

.home-calendar-section{background:#fff;border-top:1px solid #e3e9ef;border-bottom:1px solid #e3e9ef}
.home-schedule-list{display:grid;gap:0;border:1px solid #d8e1ea;border-radius:7px;overflow:hidden;background:#fff}
.home-session-row{display:grid;grid-template-columns:70px minmax(0,1fr) auto;gap:18px;align-items:center;padding:17px 20px;border-bottom:1px solid #e2e8ee}
.home-session-row:last-child{border-bottom:0}
.home-session-date{display:grid;place-items:center;align-content:center;min-height:62px;border-right:1px solid #dce4eb}
.home-session-date strong{font-size:25px;line-height:1;color:var(--institutional-navy)}
.home-session-date span{margin-top:4px;text-transform:uppercase;font-size:11px;font-weight:800;letter-spacing:.1em;color:var(--institutional-blue)}
.session-category{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.11em;color:#627d98;font-weight:800;margin-bottom:3px}
.home-session-main h3{margin:0;color:var(--institutional-navy);font-size:17px}
.home-session-main p{margin:4px 0 0;color:#66788b;font-size:13px}
.session-register-link{display:inline-flex;padding:9px 13px;border:1px solid #9bb1c6;border-radius:4px;color:var(--institutional-blue);font-size:12px;font-weight:800;text-decoration:none}
.session-register-link:hover{background:#eef5fa}

.process-section{background:#f7f9fb}
.process-card{border-radius:7px;box-shadow:none}
.process-card>span{border-radius:4px;background:#e7eff6;color:var(--institutional-blue)}
.process-card h3{color:var(--institutional-navy)}
.confidence-panel{border-radius:7px;background:var(--institutional-navy);box-shadow:none}

.page-hero{background:#f5f8fa;border-top:4px solid var(--institutional-red);border-bottom:1px solid #dce4eb;padding:54px 0 38px}
.page-hero h1{color:var(--institutional-navy);letter-spacing:-1.9px}
.page-hero p{color:#50697f}
.breadcrumb{color:#6b7f91}
.detail-visual img{border-radius:7px;box-shadow:none;border:1px solid #d8e1ea}
.detail-meta span,.detail-fee,.learning-box,.session-card,.form-card,.summary-card,.booking-item{border-radius:7px}
.detail-fee.local{background:#eef5fb;border-color:#c6d9e9}
.detail-fee.local strong{color:var(--institutional-blue)}
.learning-box{background:#f6f9fb}
.session-card{box-shadow:none}
.form-card,.summary-card{box-shadow:none}
.payment-card,.local-rate-callout,.seat-note,.success{border-radius:6px}

.fee-section{background:#f7f9fb;border-top:1px solid #e0e6ec;border-bottom:1px solid #e0e6ec}
.fee-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:46px;align-items:start}
.fee-intro h2{margin:0;color:var(--institutional-navy);font-size:clamp(34px,3.8vw,50px);line-height:1.05;letter-spacing:-1.4px}
.fee-intro>p{color:#5d7084;font-size:17px}
.independent-callout{display:grid;gap:4px;margin-top:22px;padding:16px 18px;border-left:4px solid var(--institutional-red);background:#fff;border-top:1px solid #dce4eb;border-right:1px solid #dce4eb;border-bottom:1px solid #dce4eb}
.independent-callout strong{color:var(--institutional-navy)}
.independent-callout span{color:#617486;font-size:13px}
.fee-table-wrap{background:#fff;border:1px solid #d4dee7;border-radius:7px;overflow:hidden}
.fee-table{width:100%;border-collapse:collapse}
.fee-table th,.fee-table td{padding:16px 18px;text-align:left;border-bottom:1px solid #e1e7ed}
.fee-table th{background:#edf3f7;color:#314e68;font-size:12px;text-transform:uppercase;letter-spacing:.07em}
.fee-table td{color:#4e6478}
.fee-table td strong{font-size:20px;color:var(--institutional-blue)}
.fee-note{margin:0;padding:15px 18px;color:#687b8d;font-size:12px;background:#fbfcfd}

.institutional-footer{background:var(--institutional-navy);color:#fff;border-top:0;padding-top:46px}
.institutional-footer .wordmark{color:#fff}.institutional-footer .wordmark span{color:#8fc4f0}.institutional-footer .brandtag{border-left-color:#59738e}.institutional-footer .brandtag strong{color:#fff}.institutional-footer .brandtag span{color:#b7c7d7}
.institutional-footer .footer-intro>p,.institutional-footer .footer-links a{color:#c5d1dc}.institutional-footer .footer-links strong{color:#fff}.institutional-footer .footer-links a:hover{color:#fff}
.independence-note{margin-top:30px;padding:18px 0;border-top:1px solid #36526d;color:#b9c8d5;font-size:12px;line-height:1.55}
.independence-note strong{color:#fff}
.institutional-footer .footer-bottom{margin-top:0;border-top:1px solid #36526d;color:#91a7ba}

/* Calendar */
.calendar-hero .page-hero-inner{max-width:900px}
.calendar-section{padding-top:38px;background:#fff}
.calendar-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:20px}
.calendar-toolbar h2{margin:0;color:var(--institutional-navy);font-size:32px;letter-spacing:-.8px}
.calendar-toolbar p{margin:5px 0 0;color:#687b8d;font-size:13px}
.calendar-controls{display:flex;gap:8px;flex-wrap:wrap}
.calendar-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(330px,.55fr);gap:22px;align-items:start}
.calendar-panel,.calendar-agenda-panel{border:1px solid #d5dfe7;border-radius:7px;background:#fff;overflow:hidden}
.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));background:#dfe6ec;gap:1px}
.calendar-weekday{padding:11px 10px;background:#edf3f7;color:#536b80;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;text-align:center}
.calendar-cell{min-height:122px;padding:10px;border:0;background:#fff;text-align:left;display:flex;flex-direction:column;align-items:flex-start;cursor:pointer;position:relative;color:#314b62}
.calendar-cell.empty-cell{background:#f8fafb;cursor:default}
.calendar-cell b{font-size:15px}
.calendar-cell i{margin-top:8px;font-style:normal;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--institutional-blue)}
.calendar-cell.has-sessions{background:#fbfdff}
.calendar-cell.has-sessions:hover{background:#edf5fb}
.calendar-cell.today b{display:grid;place-items:center;width:27px;height:27px;border-radius:50%;background:var(--institutional-red);color:#fff;margin:-4px 0 0 -4px}
.calendar-cell.selected{outline:3px solid #7fa6c9;outline-offset:-3px;background:#edf5fb}
.calendar-cell-labels{display:grid;gap:3px;margin-top:6px;min-width:0;width:100%}
.calendar-cell-labels span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px;color:#526a7f}
.calendar-cell-labels small{font-size:10px;color:#75879a}
.agenda-heading{padding:18px 20px;border-bottom:1px solid #e0e6ec;background:#f7f9fb}
.agenda-heading span{font-size:10px;text-transform:uppercase;letter-spacing:.1em;font-weight:800;color:#6a7e90}
.agenda-heading h2{margin:3px 0 0;color:var(--institutional-navy);font-size:22px;line-height:1.2}
.calendar-agenda-item{display:grid;grid-template-columns:70px 1fr;gap:14px;padding:17px 18px;border-bottom:1px solid #e3e8ed;position:relative}
.calendar-agenda-item:last-child{border-bottom:0}
.agenda-time{font-size:12px;font-weight:800;color:#496985}
.agenda-main span{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:#6e8192;font-weight:800}
.agenda-main h3{margin:4px 0 4px;color:var(--institutional-navy);font-size:15px;line-height:1.25}
.agenda-main p{margin:0 0 10px;color:#6d7d8c;font-size:11px}
.calendar-register{grid-column:2;justify-self:start;min-height:36px;padding:7px 11px;font-size:11px}
.calendar-empty-day{display:grid;gap:5px;padding:24px 20px;color:#63788c;font-size:13px}.calendar-empty-day strong{color:var(--institutional-navy)}
.upcoming-section{background:#f7f9fb;border-top:1px solid #e2e8ee}
.upcoming-list{display:grid;gap:0;border:1px solid #d8e1ea;border-radius:7px;overflow:hidden;background:#fff}
.upcoming-list-item{display:grid;grid-template-columns:170px 1fr auto;gap:20px;align-items:center;padding:16px 20px;border-bottom:1px solid #e2e8ee}
.upcoming-list-item:last-child{border-bottom:0}
.upcoming-date{display:grid;gap:3px}.upcoming-date strong{color:var(--institutional-navy);font-size:14px}.upcoming-date span{color:#677b8e;font-size:12px}
.upcoming-list-item h3{margin:0;color:var(--institutional-navy);font-size:16px}.upcoming-list-item p{margin:4px 0 0;color:#6a7d8f;font-size:12px}.upcoming-list-item>a{font-weight:800;color:var(--institutional-blue);text-decoration:none;font-size:12px}

@media(max-width:1000px){
  .public-service-links{display:none}.hero-grid{grid-template-columns:1fr}.calendar-layout{grid-template-columns:1fr}.calendar-agenda-panel{position:static}.fee-layout{grid-template-columns:1fr}.footer-main{grid-template-columns:1fr 1fr}.calendar-cell{min-height:100px}.calendar-cell-labels span{display:none}.calendar-cell.has-sessions::after{content:"";width:7px;height:7px;border-radius:50%;background:var(--institutional-blue);margin-top:auto}
}
@media(max-width:700px){
  .public-service-inner{min-height:38px}.public-service-inner>span:first-child{font-size:11px}.nav-shell{min-height:68px}.navlinks{top:68px}.hero-home{padding-top:34px}.hero-copy h1{font-size:44px}.institutional-heading,.calendar-toolbar{align-items:flex-start;flex-direction:column}.home-session-row{grid-template-columns:54px 1fr}.session-register-link{grid-column:2;justify-self:start}.calendar-controls{width:100%}.calendar-controls .secondary-btn{flex:1;padding:8px 10px}.calendar-panel{overflow-x:auto}.calendar-grid{min-width:700px}.calendar-weekday{padding:9px 3px;font-size:9px}.calendar-cell{min-height:72px;padding:7px 5px}.calendar-cell b{font-size:12px}.calendar-cell i{display:none}.upcoming-list-item{grid-template-columns:1fr}.upcoming-list-item>a{justify-self:start}.footer-main{grid-template-columns:1fr}.fee-table th,.fee-table td{padding:13px 10px;font-size:12px}
}
.inline-link{color:var(--institutional-blue);font-weight:800;text-decoration:underline;text-underline-offset:3px}.sessions-heading-row{display:flex;align-items:center;justify-content:space-between;gap:18px}.sessions-heading-row>a{font-size:13px;font-weight:800;color:var(--institutional-blue);text-decoration:none}.sessions-heading-row>a:hover{text-decoration:underline}@media(max-width:620px){.sessions-heading-row{align-items:flex-start;flex-direction:column;gap:6px}}

/* Stripe PayNow */
.stripe-paynow-card{border-color:#c8d9ea;background:#fbfdff}
.stripe-payment-intro{display:grid;grid-template-columns:42px 1fr;gap:14px;align-items:start;margin-top:14px;padding:16px;border:1px solid #d8e4ef;border-radius:6px;background:#f4f8fb}
.stripe-payment-intro p{margin:5px 0 0;color:#5d7084;font-size:13px;line-height:1.55}
.stripe-shield{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#e4f3ea;color:#17673a;font-weight:900}
.stripe-redirect-note{display:flex;gap:10px;align-items:center;margin-top:14px;padding:13px 15px;border:1px solid #d7e3ee;border-radius:6px;background:#f6f9fb;color:#4e6579;font-size:13px;line-height:1.5}
.loading-dot{width:10px;height:10px;border:2px solid #9eb3c6;border-top-color:var(--institutional-blue);border-radius:50%;animation:jo-spin .8s linear infinite;flex:0 0 auto}
@keyframes jo-spin{to{transform:rotate(360deg)}}

/* Payment result */
.payment-result-page{padding:70px 0 80px;background:#f6f8fa;min-height:62vh}
.payment-result-shell{display:flex;justify-content:center}
.payment-result-card{width:min(720px,100%);padding:42px;border:1px solid #d6e0e8;border-top:5px solid var(--institutional-blue);border-radius:7px;background:#fff;text-align:center}
.payment-result-card.is-paid{border-top-color:#2c7b4b}
.payment-result-icon{display:grid;place-items:center;width:64px;height:64px;margin:0 auto 18px;border-radius:50%;font-size:28px;font-weight:900}
.payment-result-icon.pending{background:#eaf2f8;color:var(--institutional-blue)}
.payment-result-icon.paid{background:#e7f4eb;color:#236a40}
.payment-result-icon.cancelled{background:#f7e8e8;color:#a33434}
.payment-result-card h1{margin:4px 0 10px;color:var(--institutional-navy);font-size:clamp(34px,4vw,48px);line-height:1.05;letter-spacing:-1.4px}
.payment-result-lead{margin:0 auto;max-width:590px;color:#5f7285;font-size:16px;line-height:1.6}
.payment-result-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin:26px 0;background:#dde5ec;border:1px solid #dde5ec;border-radius:6px;overflow:hidden;text-align:left}
.payment-result-summary:empty{display:none}
.payment-result-summary>div{display:grid;gap:5px;padding:16px;background:#fff}
.payment-result-summary span{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:#718395;font-weight:800}
.payment-result-summary strong{color:var(--institutional-navy);font-size:14px;line-height:1.4}
.payment-result-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:24px}
.payment-result-help{margin:22px auto 0;max-width:600px;color:#758698;font-size:12px;line-height:1.55}
@media(max-width:620px){.payment-result-card{padding:30px 20px}.payment-result-summary{grid-template-columns:1fr}.stripe-payment-intro{grid-template-columns:1fr}.stripe-shield{margin:auto}}

.interest-panel{margin-top:28px;padding:28px;border:1px solid #dbe3ee;border-radius:18px;background:#f7f9fc}.interest-panel h2{margin:6px 0 8px}.interest-panel p{margin:0 0 18px;color:#536173}.interest-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.interest-form label span{display:block;font-weight:700;margin-bottom:6px}.interest-form input[type=text],.interest-form input[type=email],.interest-form input[type=tel],.interest-form input:not([type]){width:100%;box-sizing:border-box;padding:12px 13px;border:1px solid #cbd5e1;border-radius:10px;background:#fff}.interest-consent{display:flex!important;align-items:flex-start;gap:8px;margin:14px 0 16px;color:#536173;font-size:.92rem}.interest-consent span{font-weight:400!important;margin:0!important}.interest-message{margin-top:12px;color:#174f36}.course-card .secondary-btn{white-space:nowrap}@media(max-width:760px){.interest-grid{grid-template-columns:1fr}}


/* v3.11 Affiliate programme */
.affiliate-hero .page-hero-inner{max-width:900px}.affiliate-section{background:#f7f9fb}.affiliate-layout{display:grid;grid-template-columns:minmax(0,.92fr) minmax(420px,1.08fr);gap:48px;align-items:start}.affiliate-info h2,.affiliate-form-card h2{margin:6px 0 12px;color:var(--institutional-navy)}.affiliate-info>p,.affiliate-form-card>p{color:#5f6f82}.affiliate-steps{display:grid;gap:13px;margin:24px 0}.affiliate-steps article{display:grid;grid-template-columns:42px 1fr;gap:14px;padding:17px;border:1px solid #dbe3ea;border-radius:9px;background:#fff}.affiliate-steps article>span{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#eef5fb;color:#245ea8;font-size:11px;font-weight:900}.affiliate-steps h3{margin:1px 0 5px;color:#102a43;font-size:17px}.affiliate-steps p{margin:0;color:#5f6f82;font-size:14px;line-height:1.55}.affiliate-note{margin-top:18px;padding:18px;border-left:4px solid #245ea8;background:#eef5fb;border-radius:5px}.affiliate-note strong{color:#102a43}.affiliate-note p{margin:6px 0 0;color:#4f6275;line-height:1.55}.affiliate-smallprint{font-size:13px;line-height:1.55}.affiliate-form-card{padding:30px;border:1px solid #d6e0e8;border-radius:10px;background:#fff;box-shadow:0 8px 28px rgba(16,42,67,.06)}.affiliate-form{margin-top:20px}.affiliate-field-grid{grid-template-columns:1fr}.affiliate-form .field input{border-radius:7px}.affiliate-agreement{padding:2px 0}.affiliate-submit{width:100%;justify-content:center;margin-top:8px}.affiliate-privacy-note{margin:12px 0 0;color:#718096;font-size:12px;line-height:1.45}.affiliate-thanks-section{min-height:62vh;display:flex;align-items:center;background:#f7f9fb}.affiliate-thanks-card{max-width:760px;margin:0 auto;padding:42px;border:1px solid #d6e0e8;border-radius:10px;background:#fff;text-align:left}.affiliate-thanks-card .success-mark{margin-bottom:16px}.affiliate-thanks-card h1{margin:8px 0 15px;color:#102a43;font-size:clamp(34px,4vw,48px);line-height:1.05}.affiliate-thanks-card p{color:#5f6f82;line-height:1.65}.affiliate-thanks-card .hero-actions{margin-top:26px}@media(max-width:900px){.affiliate-layout{grid-template-columns:1fr}.affiliate-form-card{padding:24px}}

/* v3.13 Affiliate login and centre */
.affiliate-hero-actions{margin-top:22px;display:flex;gap:10px;flex-wrap:wrap}.affiliate-switcher{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;margin:-8px 0 26px;background:#edf2f7;border-radius:9px}.affiliate-switch{border:0;border-radius:7px;background:transparent;padding:11px 14px;color:#52687d;font-weight:800;cursor:pointer}.affiliate-switch.active{background:#fff;color:#102a43;box-shadow:0 2px 8px rgba(16,42,67,.08)}.affiliate-login-form{margin-top:20px}.affiliate-login-form .field{margin-bottom:14px}.affiliate-login-message{min-height:20px;margin-top:12px;color:#63778b;font-size:13px}.affiliate-login-message.success{color:#17653a}.affiliate-login-message.error{color:#a33434}.affiliate-login-sent{padding:13px 14px;margin:0 0 16px;border:1px solid #cfe2ff;border-radius:8px;background:#eff6ff;color:#33465f;font-size:13px}.affiliate-otp{font-size:24px!important;letter-spacing:.18em;text-align:center;font-weight:800}.affiliate-text-button{display:block;margin:13px auto 0;border:0;background:transparent;color:#245ea8;font-weight:800;cursor:pointer;text-decoration:underline;text-underline-offset:3px}.affiliate-login-help{margin-top:24px;padding:16px;border:1px solid #dbe3ea;border-radius:8px;background:#f8fafc}.affiliate-login-help strong{color:#102a43}.affiliate-login-help p{margin:5px 0 0;color:#607286;font-size:13px;line-height:1.55}.affiliate-dashboard-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.affiliate-dashboard-head h2{margin:6px 0 7px}.affiliate-dashboard-head p{margin:0;color:#5f6f82;font-size:13px;line-height:1.55}.affiliate-code-card{display:grid;grid-template-columns:1fr auto;gap:8px 14px;align-items:center;margin:24px 0 14px;padding:18px;border:1px solid #cfe2ff;border-radius:9px;background:#eff6ff}.affiliate-code-card span{grid-column:1/-1;color:#5a7188;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.affiliate-code-card strong{font-size:25px;color:#0b1f45;letter-spacing:.06em}.affiliate-account-details{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:18px}.affiliate-account-details>div,.affiliate-stat-grid>div{padding:14px;border:1px solid #dbe3ea;border-radius:8px;background:#fff}.affiliate-account-details span,.affiliate-stat-grid span{display:block;color:#718395;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.07em}.affiliate-account-details strong{display:block;margin-top:5px;color:#102a43;font-size:13px;word-break:break-word}.affiliate-stat-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin:18px 0 26px}.affiliate-stat-grid strong{display:block;margin-top:5px;color:#102a43;font-size:20px}.affiliate-share-section{padding-top:22px;border-top:1px solid #e1e7ed}.affiliate-share-section h3{margin:5px 0 6px;color:#102a43}.affiliate-share-section>p{margin:0 0 14px;color:#607286;font-size:13px;line-height:1.55}.affiliate-share-row{display:grid;grid-template-columns:1fr auto;gap:14px;align-items:center;padding:14px 0;border-top:1px solid #e6ebf0}.affiliate-share-row:first-child{border-top:0}.affiliate-share-row strong{display:block;color:#102a43;font-size:14px}.affiliate-share-row small{display:block;margin-top:5px;color:#718395;font-size:11px;line-height:1.4;word-break:break-all}.affiliate-loading,.affiliate-empty{padding:14px 0;color:#718395;font-size:13px}.bot-field{position:absolute!important;left:-10000px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important}@media(max-width:900px){.affiliate-stat-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:620px){.affiliate-dashboard-head{flex-direction:column}.affiliate-code-card{grid-template-columns:1fr}.affiliate-code-card span{grid-column:auto}.affiliate-account-details{grid-template-columns:1fr}.affiliate-stat-grid{grid-template-columns:1fr 1fr}.affiliate-share-row{grid-template-columns:1fr}.affiliate-share-row .secondary-btn{justify-self:start}}

/* v3.14 Affiliate Sharing Centre */
.affiliate-code-card-expanded{grid-template-columns:1fr auto}.affiliate-code-main span{display:block;color:#5a7188;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.affiliate-code-main strong{display:block;margin-top:5px;font-size:27px;color:#0b1f45;letter-spacing:.06em}.affiliate-code-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.affiliate-general-link{grid-column:1/-1;padding-top:12px;margin-top:4px;border-top:1px solid #d4e5f6}.affiliate-general-link span{display:block;margin-bottom:5px;color:#5a7188;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.affiliate-general-link code{display:block;padding:9px 11px;border:1px solid #d4e2ef;border-radius:7px;background:#fff;color:#31506c;font:12px/1.45 ui-monospace,SFMono-Regular,Consolas,monospace;word-break:break-all}.affiliate-share-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.affiliate-share-heading h3{font-size:22px}.affiliate-code-chip{flex:0 0 auto;padding:8px 11px;border:1px solid #cfe2ff;border-radius:999px;background:#eff6ff;color:#39556e;font-size:11px;white-space:nowrap}.affiliate-code-chip strong{color:#0b1f45;letter-spacing:.05em}.affiliate-share-guide{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:18px 0}.affiliate-share-guide span{display:flex;align-items:center;gap:8px;padding:10px 12px;border:1px solid #dfe7ee;border-radius:8px;background:#f8fafc;color:#566b7f;font-size:11px;font-weight:700}.affiliate-share-guide strong{width:22px;height:22px;display:grid;place-items:center;border-radius:50%;background:#e8f1fb;color:#245ea8;font-size:10px}.affiliate-course-grid{display:grid;gap:18px}.affiliate-course-card{display:grid;grid-template-columns:190px minmax(0,1fr);overflow:hidden;border:1px solid #dbe3ea;border-radius:12px;background:#fff;box-shadow:0 5px 18px rgba(16,42,67,.05)}.affiliate-course-image{position:relative;min-height:240px;background:#e8eef4}.affiliate-course-image img{width:100%;height:100%;object-fit:cover;display:block}.affiliate-course-image>span{position:absolute;left:12px;top:12px;padding:6px 9px;border-radius:999px;background:#eaf7ef;color:#17653a;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.05em;box-shadow:0 2px 8px rgba(16,42,67,.08)}.affiliate-course-body{padding:20px}.affiliate-course-kicker{color:#60778c;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.affiliate-course-body h4{margin:5px 0 8px;color:#102a43;font-size:20px;line-height:1.18}.affiliate-course-description{margin:0 0 13px;color:#5d6f81;font-size:13px;line-height:1.55}.affiliate-course-session{display:grid;grid-template-columns:auto 1fr;gap:3px 10px;align-items:baseline;padding:11px 12px;border-radius:8px;background:#f6f8fa}.affiliate-course-session strong{color:#102a43;font-size:11px}.affiliate-course-session span{color:#334d64;font-size:12px}.affiliate-course-session small{grid-column:2;color:#6b7d8f;font-size:10px;font-weight:700}.affiliate-course-fees{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:11px 0 0}.affiliate-course-fees span{padding:5px 7px;border-radius:5px;background:#eef2f6;color:#52687d;font-size:10px;font-weight:800}.affiliate-course-fees strong{padding:5px 7px;border-radius:5px;background:#fff5df;color:#77530a;font-size:10px}.affiliate-message-preview{margin-top:14px;border:1px solid #dfe6ec;border-radius:8px;background:#fbfcfd}.affiliate-message-preview summary{padding:10px 12px;cursor:pointer;color:#245ea8;font-size:11px;font-weight:800}.affiliate-message-text{padding:0 12px 12px;color:#52687d;font-size:11px;line-height:1.55}.affiliate-course-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.affiliate-course-actions .primary-btn,.affiliate-course-actions .secondary-btn{padding:9px 12px;font-size:11px}.affiliate-whatsapp{background:#167a45;border-color:#167a45}.affiliate-whatsapp:hover{background:#12683b;border-color:#12683b}.affiliate-course-actions .copied{border-color:#89c7a5;background:#edf8f2;color:#17653a}.affiliate-empty-card{padding:22px;border:1px dashed #cfd9e2;border-radius:10px;background:#fafcfd}.affiliate-empty-card strong{display:block;color:#102a43}.affiliate-empty-card p{margin:5px 0 0;color:#718395;font-size:12px}.affiliate-coming-section{margin-top:26px;padding-top:22px;border-top:1px solid #e1e7ed}.affiliate-coming-section h3{margin:5px 0 5px;color:#102a43}.affiliate-coming-section>p{margin:0 0 13px;color:#607286;font-size:12px;line-height:1.5}.affiliate-coming-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.affiliate-coming-card{display:grid;grid-template-columns:68px 1fr;overflow:hidden;border:1px solid #e0e6ec;border-radius:8px;background:#fafbfc}.affiliate-coming-card img{width:68px;height:68px;object-fit:cover}.affiliate-coming-card div{padding:8px 10px}.affiliate-coming-card span{display:block;color:#8a6d26;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.05em}.affiliate-coming-card strong{display:block;margin-top:2px;color:#102a43;font-size:11px;line-height:1.25}.affiliate-coming-card small{display:block;margin-top:3px;color:#7b8997;font-size:9px}@media(max-width:760px){.affiliate-code-card-expanded{grid-template-columns:1fr}.affiliate-code-actions{justify-content:flex-start}.affiliate-share-heading{display:block}.affiliate-code-chip{display:inline-block;margin-top:10px}.affiliate-share-guide{grid-template-columns:1fr}.affiliate-course-card{grid-template-columns:1fr}.affiliate-course-image{min-height:180px;max-height:240px}.affiliate-coming-grid{grid-template-columns:1fr}}@media(max-width:480px){.affiliate-course-actions{display:grid;grid-template-columns:1fr 1fr}.affiliate-course-actions .primary-btn,.affiliate-course-actions .secondary-btn{justify-content:center}.affiliate-code-actions{display:grid;grid-template-columns:1fr}.affiliate-code-actions .secondary-btn{justify-content:center}}
