:root{--brand-950:#032b25;--brand-900:#053b32;--brand-800:#075244;--brand-700:#08705a;--brand-600:#0b8c70;--brand-500:#10a987;--gold-500:#d6ad3c;--gold-400:#e6c65f;--surface:#fff;--canvas:#f4f7f6;--ink-900:#102d28;--ink-700:#38564f;--ink-500:#71847f;--border:#dfe8e4;--ease:cubic-bezier(.2,.8,.2,1);--shadow-sm:0 8px 24px rgba(5,59,50,.07);--shadow-md:0 18px 55px rgba(5,59,50,.11)}
html{font-feature-settings:"ss01","ss02";text-rendering:optimizeLegibility}body{color:var(--ink-700);background:var(--canvas)}
h1,h2,h3,h4,strong,b{color:var(--ink-900);letter-spacing:-.02em}button,a,input,select,textarea{transition:border-color .2s var(--ease),box-shadow .2s var(--ease),background-color .2s var(--ease),color .2s var(--ease),transform .2s var(--ease)}
:focus-visible{outline:3px solid rgba(16,169,135,.22);outline-offset:2px}input:focus,select:focus,textarea:focus{border-color:var(--brand-500)!important;box-shadow:0 0 0 4px rgba(16,169,135,.1)!important}
.panel,.member-card,.member-module-grid article,.portal-card,.program-card,.stat-card,.kpi,.assignment-card,.learning-summary article,.family-kpis article{border-color:var(--border)!important;box-shadow:var(--shadow-sm);transition:transform .25s var(--ease),box-shadow .25s var(--ease),border-color .25s var(--ease)}
.panel:hover,.member-module-grid article:hover,.portal-card:hover,.program-card:hover,.stat-card:hover,.assignment-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);border-color:rgba(16,169,135,.25)!important}
.btn{position:relative;overflow:hidden;border-radius:12px!important;box-shadow:0 6px 18px rgba(5,59,50,.1)}.btn:before{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 25%,rgba(255,255,255,.28) 50%,transparent 75%);transform:translateX(120%);transition:transform .65s var(--ease)}.btn:hover:before{transform:translateX(-120%)}.btn:hover{transform:translateY(-2px)}.btn:active{transform:translateY(0) scale(.98)}.btn-primary{background:linear-gradient(135deg,var(--brand-700),var(--brand-500))!important}.btn-gold{background:linear-gradient(135deg,var(--gold-500),var(--gold-400))!important}
.icon{transition:transform .28s var(--ease),filter .28s var(--ease)}a:hover>.icon,button:hover>.icon,.stat-card:hover .icon,.member-module-grid article:hover .icon,.program-card:hover .icon{transform:translateY(-2px) rotate(-4deg) scale(1.08);filter:drop-shadow(0 5px 7px rgba(5,59,50,.18))}
.sidebar,.member-sidebar{background:radial-gradient(circle at 15% 5%,rgba(230,198,95,.12),transparent 24%),linear-gradient(180deg,var(--brand-950),var(--brand-800))!important}.sidebar nav a,.member-sidebar nav a{border:1px solid transparent}.sidebar nav a:hover,.member-sidebar nav a:hover{transform:translateX(-3px);background:rgba(255,255,255,.08)!important;border-color:rgba(255,255,255,.07)}.sidebar nav a.active,.member-sidebar nav a.active{background:linear-gradient(90deg,rgba(16,169,135,.24),rgba(255,255,255,.08))!important;border-color:rgba(230,198,95,.18);box-shadow:inset -3px 0 var(--gold-400)}
.admin-top,.member-top{box-shadow:0 7px 25px rgba(5,59,50,.05);border-color:var(--border)!important}.admin-search{background:#f7faf9!important;border:1px solid var(--border)}.avatar{background:linear-gradient(135deg,var(--brand-600),var(--brand-800))!important;color:#fff!important;box-shadow:0 7px 16px rgba(8,112,90,.2)}
.status-dot,.online-dot{animation:statusPulse 2.2s ease-in-out infinite}.eyebrow{font-weight:800;letter-spacing:.02em}.page-heading h1,.member-welcome h1{font-weight:900}.page-heading:after{content:"";display:block;width:54px;height:4px;margin-top:13px;border-radius:9px;background:linear-gradient(90deg,var(--brand-500),var(--gold-400))}
table{border-collapse:separate;border-spacing:0}thead th{color:var(--brand-800);background:#f1f7f4!important;border-bottom:1px solid var(--border)}tbody tr{transition:background .18s ease}tbody tr:hover{background:#f7fbf9}.status-badge{border:1px solid rgba(16,169,135,.16);box-shadow:0 3px 10px rgba(16,169,135,.07)}
.public-header{box-shadow:0 8px 30px rgba(5,59,50,.05)}.public-nav a:after{background:linear-gradient(90deg,var(--brand-500),var(--gold-400))!important}.brand img,.sidebar-brand img{filter:drop-shadow(0 7px 9px rgba(5,59,50,.14));transition:transform .35s var(--ease)}.brand:hover img,.sidebar-brand:hover img{transform:rotate(-5deg) scale(1.06)}
.hero-visual,.member-welcome,.final-invitation__inner{box-shadow:0 25px 70px rgba(5,59,50,.17)}.floating-card{animation:gentleFloat 4.5s ease-in-out infinite}.floating-card.two{animation-delay:-2.2s}
[data-reveal]{opacity:0;transform:translateY(14px)}[data-reveal].is-visible{opacity:1;transform:none;transition:opacity .55s var(--ease),transform .55s var(--ease)}
@keyframes gentleFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}@keyframes statusPulse{0%,100%{box-shadow:0 0 0 0 rgba(36,201,139,.3)}50%{box-shadow:0 0 0 6px rgba(36,201,139,0)}}
@media(max-width:760px){.page-heading h1{font-size:26px}.panel:hover,.member-module-grid article:hover,.portal-card:hover,.program-card:hover,.stat-card:hover,.assignment-card:hover{transform:none}.floating-card{animation:none}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition-duration:.01ms!important}[data-reveal]{opacity:1;transform:none}}
