@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Sora:wght@600;700;800&display=swap');

:root {
  --aa-ink-950:#0B1220; --aa-ink-800:#1E293B; --aa-ink-600:#475569; --aa-ink-400:#94A3B8;
  --aa-canvas:#F7F8FC; --aa-surface:#FFFFFF; --aa-border:#E2E8F0;
  --aa-magenta:#D1006F; --aa-magenta-dark:#A80059; --aa-teal:#007C82; --aa-teal-dark:#005F63;
  --aa-yellow:#F5B700; --aa-orange:#D95D00; --aa-purple:#7C3AED;
  --aa-success:#15803D; --aa-warning:#B45309; --aa-danger:#B42318;
  --aa-r-input:12px; --aa-r-button:14px; --aa-r-card:20px; --aa-r-hero:24px; --aa-r-panel:28px;
  --aa-shadow:0 10px 30px rgba(15,23,42,.07); --aa-shadow-hover:0 16px 40px rgba(15,23,42,.11);
}
*{box-sizing:border-box}html{background:var(--aa-canvas)}
body{margin:0!important;background:var(--aa-canvas)!important;color:var(--aa-ink-950)!important;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif!important;line-height:1.5!important}
h1,h2,h3,h4,.metric strong{font-family:Sora,Inter,system-ui,sans-serif!important;letter-spacing:-.025em}h1{font-weight:800!important}h2,h3{font-weight:700!important}.muted{color:var(--aa-ink-600)!important}
header{background:rgba(255,255,255,.97)!important;color:var(--aa-ink-950)!important;border-bottom:1px solid var(--aa-border)!important;backdrop-filter:blur(14px);box-shadow:0 1px 0 rgba(15,23,42,.02)}
.head{padding:14px 20px!important}.brand{display:flex!important;align-items:center!important;min-height:56px!important;font-size:0!important}.brand:before,.brand:after{display:none!important}.brand-logo{display:block;width:min(300px,72vw);height:auto;max-height:60px;object-fit:contain;object-position:left center}.brand-sub{font-size:13px!important;color:var(--aa-ink-600)!important;font-weight:600!important;margin-top:2px}
.stage{display:none!important}
.nav{background:rgba(255,255,255,.98)!important;border-bottom:1px solid var(--aa-border)!important;box-shadow:0 4px 20px rgba(15,23,42,.04)!important}.nav[hidden]{display:none!important}.nav div{padding:9px 14px!important;gap:6px!important}.nav a{color:var(--aa-ink-600)!important;border-radius:12px!important;font-weight:700!important;padding:9px 12px!important}.nav a:hover,.nav a:focus{background:#FCE7F3!important;color:var(--aa-magenta)!important;outline:none}
main{padding-bottom:72px!important}.card{background:var(--aa-surface)!important;border:1px solid var(--aa-border)!important;border-radius:var(--aa-r-card)!important;box-shadow:var(--aa-shadow)!important;padding:22px!important;transition:box-shadow .18s ease,transform .18s ease}.card:hover{box-shadow:var(--aa-shadow-hover)!important}.preview{border:1px solid var(--aa-border)!important;background:linear-gradient(180deg,#fff,#FBFCFE)!important}.login{border-top:0!important;overflow:hidden;position:relative}.login:before{content:'';position:absolute;inset:0 0 auto 0;height:5px;background:linear-gradient(90deg,var(--aa-magenta),var(--aa-purple),var(--aa-teal),var(--aa-yellow))}.eyebrow{color:var(--aa-magenta)!important;font-size:11px!important;letter-spacing:.12em!important;font-weight:800!important}.pill{background:#F1F5F9!important;color:var(--aa-ink-800)!important;border:1px solid var(--aa-border)!important;padding:5px 10px!important}
button,.button{min-height:48px!important;padding:11px 16px!important;border-radius:var(--aa-r-button)!important;background:var(--aa-magenta)!important;color:#fff!important;font:700 16px Inter,sans-serif!important;border:1px solid transparent!important;box-shadow:0 6px 16px rgba(209,0,111,.16)!important;transition:transform .12s ease,background .15s ease!important}button:hover,.button:hover{background:var(--aa-magenta-dark)!important;transform:translateY(-1px)}button:focus-visible,.button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible{outline:3px solid rgba(0,124,130,.28)!important;outline-offset:2px!important}.secondary{background:#fff!important;color:var(--aa-ink-950)!important;border-color:var(--aa-border)!important;box-shadow:none!important}.pink{background:var(--aa-magenta)!important}.orange{background:var(--aa-orange)!important}.danger{background:var(--aa-danger)!important}
input,select,textarea{min-height:48px!important;padding:11px 13px!important;border:1px solid #CBD5E1!important;border-radius:var(--aa-r-input)!important;background:#fff!important;color:var(--aa-ink-950)!important}label{font-weight:700!important;color:var(--aa-ink-800)!important}
.service,.session,.reg,.attendanceRow,.selected,.roster{border:1px solid var(--aa-border)!important;border-radius:16px!important;background:#fff!important}.service{border-left:4px solid var(--aa-teal)!important}.session{border-left:4px solid var(--aa-purple)!important}.reg{border-left:4px solid var(--aa-magenta)!important}.avatar{border-radius:16px!important}.row{border-bottom:1px solid #EEF2F6!important}.ok{color:var(--aa-success)!important}.error{color:var(--aa-danger)!important}.safe{border-top:0!important;border-left:4px solid var(--aa-success)!important}.safe.amber{border-left-color:var(--aa-warning)!important;background:#FFFBEB!important}.attendance,.regs,.programme,.account,.services,.children,.member{border-top:0!important}
html[data-e2='parent'] .account{background:linear-gradient(145deg,#fff 0%,#FFF8FC 100%)!important}html[data-e2='parent'] #services .service:nth-child(4n+1){border-left-color:var(--aa-magenta)!important}html[data-e2='parent'] #services .service:nth-child(4n+2){border-left-color:var(--aa-teal)!important}html[data-e2='parent'] #services .service:nth-child(4n+3){border-left-color:var(--aa-orange)!important}html[data-e2='parent'] #services .service:nth-child(4n+4){border-left-color:var(--aa-purple)!important}
html[data-e2='staff'] .attendance{border-left:4px solid var(--aa-teal)!important}html[data-e2='staff'] .regs{border-left:4px solid var(--aa-magenta)!important}html[data-e2='staff'] .programme{border-left:4px solid var(--aa-purple)!important}html[data-e2='staff'] .mfa{background:#FFF8E8!important;border:1px solid #F2D399!important;border-radius:20px!important}
html[data-e2='owner'],html[data-e2='owner'] body{background:#0B1220!important;color:#F8FAFC!important}html[data-e2='owner'] header{background:#0B1220!important;color:#F8FAFC!important;border-color:#263247!important}html[data-e2='owner'] .brand{background:#fff!important;border-radius:16px!important;padding:7px 10px!important;width:max-content!important;max-width:210px!important}html[data-e2='owner'] .brand-logo{max-width:190px!important;max-height:54px!important}html[data-e2='owner'] .nav{background:#0F172A!important;border-color:#263247!important}html[data-e2='owner'] .nav a{color:#CBD5E1!important}html[data-e2='owner'] .nav a:hover,html[data-e2='owner'] .nav a:focus{background:#1F2937!important;color:#fff!important}html[data-e2='owner'] .card,html[data-e2='owner'] .metric{background:#111827!important;border-color:#263247!important;color:#F8FAFC!important;box-shadow:0 12px 28px rgba(0,0,0,.18)!important}html[data-e2='owner'] .muted,html[data-e2='owner'] .metric small{color:#CBD5E1!important}html[data-e2='owner'] .eyebrow{color:#F472B6!important}html[data-e2='owner'] .row{border-color:#263247!important}html[data-e2='owner'] .service,html[data-e2='owner'] .reg,html[data-e2='owner'] .roster,html[data-e2='owner'] .session{background:#172033!important;border-color:#263247!important}html[data-e2='owner'] .pill{background:#1E293B!important;border-color:#334155!important;color:#E2E8F0!important}html[data-e2='owner'] input,html[data-e2='owner'] select,html[data-e2='owner'] textarea{background:#172033!important;color:#fff!important;border-color:#334155!important}html[data-e2='owner'] label{color:#E2E8F0!important}html[data-e2='owner'] .secondary{background:#172033!important;color:#F8FAFC!important;border-color:#334155!important}
html[data-e2='hub'] .hub-shell,html[data-e2='website'] .site-shell{max-width:1180px;margin:auto;padding:0 20px}.site-brand-logo{display:block;width:min(280px,58vw);height:auto;max-height:64px}.site-brand{display:flex;align-items:center;text-decoration:none}.site-brand span:not(.sr-only){display:none}
html[data-e2='website'] .hero{padding:72px 0 48px;background:radial-gradient(circle at 88% 12%,rgba(245,183,0,.24),transparent 30%),radial-gradient(circle at 8% 28%,rgba(209,0,111,.13),transparent 32%)}html[data-e2='website'] .hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:36px;align-items:center}.hero h1{font-size:clamp(40px,6vw,72px);line-height:1.02;margin:10px 0 18px}.hero-copy{font-size:19px;color:var(--aa-ink-600);max-width:680px}.cta-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:28px 0}.feature-card{background:#fff;border:1px solid var(--aa-border);border-radius:20px;padding:22px;box-shadow:var(--aa-shadow)}.feature-card strong{font-family:Sora,Inter,sans-serif;font-size:18px}.colour-bar{height:8px;border-radius:999px;background:linear-gradient(90deg,var(--aa-magenta),var(--aa-purple),var(--aa-teal),var(--aa-yellow));margin-bottom:18px}
@media(min-width:901px){html[data-e2='owner'] header{position:fixed;left:0;top:0;width:240px;height:96px;z-index:100;padding:6px}html[data-e2='owner'] .nav{position:fixed;left:0;top:96px;bottom:0;width:240px;z-index:95;border-right:1px solid #263247!important;border-bottom:0!important}html[data-e2='owner'] .nav div{display:flex!important;flex-direction:column!important;align-items:stretch!important;padding:18px 14px!important}html[data-e2='owner'] main{max-width:none!important;margin:22px 22px 32px 264px!important;padding:0!important}}
@media(max-width:800px){html[data-e2='website'] .hero-grid,.feature-grid{grid-template-columns:1fr}}
@media(max-width:650px){main{padding-left:12px!important;padding-right:12px!important;padding-bottom:96px!important}.card{padding:18px!important;border-radius:18px!important}.head{padding:10px 14px!important}.brand-logo{max-height:52px}.nav{position:fixed!important;left:10px;right:10px;bottom:10px;top:auto!important;border:1px solid var(--aa-border)!important;border-radius:18px!important;z-index:90!important;box-shadow:0 14px 42px rgba(15,23,42,.16)!important;overflow:hidden}.nav div{justify-content:flex-start!important;padding:8px!important;overflow-x:auto!important;overscroll-behavior-x:contain;scrollbar-width:none}.nav div::-webkit-scrollbar{display:none}.nav a{font-size:12px!important;padding:9px 10px!important;flex:0 0 auto}.metrics{gap:8px!important}.metric{min-width:0}.metric strong{font-size:24px!important}html[data-e2='owner'] .brand{max-width:180px!important}.site-brand-logo{max-height:52px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* Approved Academic Adventures logo delivery. Use the original glossy brand-pack image directly rather than nesting a raster image inside an SVG, which is unreliable in some mobile browsers. */
.brand-logo,.site-brand-logo{display:none!important}
.brand{background-image:url('https://qmfgkivetulisolbtleo.supabase.co/functions/v1/aa_brand_logo')!important;background-repeat:no-repeat!important;background-position:left center!important;background-size:contain!important;width:min(300px,72vw)!important;min-height:60px!important}
.site-brand{background-image:url('https://qmfgkivetulisolbtleo.supabase.co/functions/v1/aa_brand_logo')!important;background-repeat:no-repeat!important;background-position:left center!important;background-size:contain!important;width:min(280px,58vw)!important;min-height:64px!important}
html[data-e2='owner'] .brand{width:210px!important;max-width:210px!important;min-height:64px!important;background-color:#fff!important;background-origin:content-box!important;background-clip:padding-box!important}
@media(max-width:650px){.brand{min-height:54px!important}html[data-e2='owner'] .brand{width:180px!important;max-width:180px!important;min-height:58px!important}.site-brand{min-height:52px!important}}
