.nsf-membership{background:#08111f;color:#e9f2ff}
.nsf-membership main{background:radial-gradient(ellipse at 5% 0,#23435b80,transparent 48%),radial-gradient(ellipse at 95% 65%,#14616a38,transparent 42%),#08111f}
.nsf-membership main .bg-surface-container-low{background:linear-gradient(135deg,#29496699,#12263fe8);border:1px solid #b4d9ed30;border-radius:22px;box-shadow:0 16px 35px #0002,inset 0 1px #ffffff18;backdrop-filter:blur(16px)}
.nsf-membership main h1{font-size:clamp(26px,3vw,38px);line-height:1.2;letter-spacing:-.035em;max-width:28ch}
.nsf-membership main [id^=kpi-]{overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
.nsf-membership button,.nsf-membership select,.nsf-membership input:not([type=range]){min-height:44px}
.nsf-membership button:focus-visible,.nsf-membership a:focus-visible,.nsf-membership input:focus-visible,.nsf-membership select:focus-visible,.nsf-membership [tabindex]:focus-visible{outline:2px solid #8fe6df;outline-offset:3px}
.nsf-membership .nsf-membership-table{max-width:100%;border:1px solid #b4d9ed30;border-radius:16px;background:#0e2034c9;overscroll-behavior-x:contain;scrollbar-color:#547c98 #102238}
.nsf-membership .nsf-membership-table table{min-width:980px}
.nsf-membership .nsf-membership-table td{max-width:280px;overflow-wrap:anywhere;vertical-align:top;line-height:1.6}
.nsf-membership .nsf-membership-table th{background:#152d43;white-space:nowrap}
.nsf-membership .nsf-membership-table td:last-child{min-width:160px}
.nsf-membership .nsf-membership-table button{white-space:nowrap;min-width:44px}
.nsf-membership .app-header{background:#0a192ce8;backdrop-filter:blur(20px)}
.nsf-membership .nsf-tier-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));align-items:stretch;gap:20px}
.nsf-membership .nsf-tier-grid>div{min-width:0;padding:20px;background:linear-gradient(150deg,#1a1953bb,#080616dd);border:1px solid #adaaff33;border-radius:18px}
.nsf-membership .nsf-tier-grid label{gap:12px;align-items:baseline;flex-wrap:wrap}
.nsf-membership .nsf-tier-grid label [id^=label-cap]{white-space:nowrap;margin-left:auto}
.nsf-membership .nsf-tier-grid a{color:#c7c4ff;text-align:right;text-underline-offset:3px}
.nsf-membership .nsf-tier-grid .flex.justify-between{gap:12px}
.nsf-membership #memberDetailsModal>div{max-height:calc(100dvh - 24px);background:linear-gradient(135deg,#203b53,#101f32);border-color:#b4d9ed40}
.nsf-membership #memberDetailsModal h3,.nsf-membership #modalEmail{overflow-wrap:anywhere}
.nsf-membership #memberDetailsModal button{min-width:44px;flex-shrink:0}
.nsf-membership #memberDetailsModal .flex>div{min-width:0}
@media(max-width:640px){.nsf-membership main>div>div{padding-inline:16px}.nsf-membership .app-header{padding-inline:8px;gap:4px}.nsf-membership .app-header>div{min-width:0}.nsf-membership .app-header h2{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nsf-membership #memberDetailsModal{padding:12px}}
@media(prefers-reduced-motion:reduce){.nsf-membership *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@supports not (backdrop-filter:blur(1px)){.nsf-membership main .bg-surface-container-low{background:#152a40}}
@media(max-width:640px){.nsf-membership main>div>div{padding-top:24px}.nsf-membership .app-header>.h-16{min-width:0;padding-inline:0;gap:8px}.nsf-membership .app-header>.h-16>div:first-child{min-width:44px}.nsf-membership .app-header input{min-width:44px}.nsf-membership .app-header .shrink-0{gap:6px}}

/* Layered glass: bright rim, translucent face, grounded ambient shadow. */
.nsf-membership main .bg-surface-container-low{background:linear-gradient(145deg,rgba(132,124,255,.22),rgba(26,25,83,.62) 42%,rgba(8,6,22,.82))!important;border:1px solid rgba(166,164,255,.28)!important;border-top-color:rgba(224,217,255,.5)!important;border-bottom-color:rgba(85,139,166,.2)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.14),inset 0 -1px 0 rgba(2,12,25,.35),0 8px 18px rgba(1,9,20,.18),0 26px 58px -20px rgba(0,6,17,.65)!important;backdrop-filter:blur(24px) saturate(135%);-webkit-backdrop-filter:blur(24px) saturate(135%)}
@supports not(backdrop-filter:blur(1px)){.nsf-membership main .bg-surface-container-low{background:#172e43!important}}

/* User-selected indigo palette: violet glass over layered midnight depth. */
:root{--nsf-accent:#adaaff;--accent:#adaaff;--bg:#080616;--panel:rgba(26,25,83,.68);--muted:#b8b7d1;--line:rgba(166,164,255,.24)}
body,body.nsf-glass,body.nsf-loans,body.nsf-wallet,body.nsf-settings,body.nsf-admin-loans,body.nsf-membership{background:radial-gradient(ellipse at 8% 0%,#2f2fe43d,transparent 48%),radial-gradient(ellipse at 100% 40%,#162e935e,transparent 48%),radial-gradient(ellipse at 30% 100%,#1a1953,transparent 60%),#080616!important;color:#f3f0ff}
.nsf-admin-loans .app-layout-wrapper,.nsf-membership main,.nsf-chat main{background:radial-gradient(ellipse at 10% 0%,#2f2fe435,transparent 55%),radial-gradient(ellipse at 100% 70%,#162e9355,transparent 55%),#080616!important}
.nsf-button.primary,button[class*="bg-primary"]{background:linear-gradient(125deg,#4747ef,#2F2FE4 62%,#162E93)!important;color:#fff!important;border-color:#b5afff66!important;box-shadow:inset 0 1px #ffffff36,0 8px 28px #2f2fe43d!important}
@supports not(backdrop-filter:blur(1px)){.glass-panel{background:#1A1953!important}}
/* Compact member controls retain full touch targets. */
body.nsf-membership .nsf-tier-grid{gap:12px}
body.nsf-membership .nsf-tier-grid>div{padding:14px;border-radius:16px}
body.nsf-membership .nsf-membership-table td{padding-top:10px;padding-bottom:10px;font-size:13px;line-height:1.4}
