/* GymOS Pro — client presentation layer. All directions use logical properties. */
:root {
    --ink: #1b2344;
    --navy: #121934;
    --navy2: #20294d;
    --purple: #654ed6;
    --violet: #ae9bff;
    --muted: #727c97;
    --bg: #f5f6fb;
    --line: #e8eaf3;
    --shadow: 0 12px 34px rgba(23, 30, 72, .045);
    --focus-ring: 0 0 0 3px rgba(110, 83, 218, .22);
}
html { scroll-behavior: smooth; }
body { background: var(--bg); line-height: 1.65; }
body.staff-page, body.member-page { min-width: 320px; }
::selection { background: #dcd4ff; color: #242046; }
:focus-visible { outline: 3px solid #a18cfd; outline-offset: 3px; }
.skip-content { position: fixed; inset-block-start: .6rem; inset-inline-start: 1rem; z-index: 2000; border-radius: 10px; background: white; padding: .55rem 1rem; }
.btn { transition: transform .17s ease, box-shadow .17s ease, background .17s ease; }
.btn:not(:disabled):hover { transform: translateY(-1px); }
.btn-primary { background: linear-gradient(120deg, #6853da, #795fe4); border-color: #6853da; box-shadow: 0 7px 17px rgba(102,81,216,.16); }
.btn-primary:hover, .btn-primary:focus { background: #5640c8; border-color: #5640c8; box-shadow: 0 10px 23px rgba(102,81,216,.2); }
.btn-soft:hover { background: #e4ddff; color: #4b38af; }
.btn-language { display: inline-flex; justify-content: center; align-items: center; gap: .52rem; color: #3a3766; background: #f4f2ff; border: 1px solid #e7e1ff; min-height: 40px; font-size: .83rem; padding: .4rem .72rem; white-space: nowrap; }
.btn-language:hover { background: #eae5ff; color: #4835b0; }
.icon-button { display: grid; place-items: center; flex: 0 0 42px; width: 42px; height: 42px; padding: .55rem; border: 1px solid var(--line); background: white; color: var(--ink); }
.nav-icon { display: inline-block; flex-shrink: 0; }
input, textarea, select { max-width: 100%; }
.form-control, .form-select { background-color: #fff; border-color: #dfe3ef; min-height: 46px; }
.form-control:hover, .form-select:hover { border-color: #bfb7e7; }
.form-control:focus, .form-select:focus { border-color: #816bea; box-shadow: var(--focus-ring); }
.form-check-input:checked { border-color: var(--purple); background-color: var(--purple); }
.form-check-input:focus { box-shadow: var(--focus-ring); }
label { color: #414967; }
.card, .panel { border-color: #ebeef6; border-radius: 20px; box-shadow: var(--shadow); overflow: hidden; }
.card-header { padding: 1.16rem 1.35rem; border-bottom: 1px solid #f0f0f7; font-size: .95rem; }
.card-body { min-width: 0; }
.table-responsive { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.table { min-width: max-content; width: 100%; }
.table td, .table th { vertical-align: middle; }
.table tbody tr { transition: background .14s ease; }
.table tbody tr:hover { background: #faf9ff; }
.table tbody tr:last-child > * { border-bottom: 0; }
.pagination { flex-wrap: wrap; row-gap: .5rem; }
.page-link { color: var(--purple); }
.page-link:focus { box-shadow: var(--focus-ring); }
.alert { box-shadow: none; }
.empty-state { padding: 2.2rem 1rem; }
/* Persistent administration shell */
.app-shell { align-items: stretch; min-height: 100dvh; }
.sidebar { position: sticky; inset-block-start: 0; height: 100dvh; overflow-y: auto; scrollbar-width: thin; scrollbar-color: #475275 transparent; background: linear-gradient(166deg, #10172f 0%, #1a2142 70%, #211e46 100%); border: 0; }
.sidebar-inner { padding: 1.48rem .95rem 1.05rem; min-height: 100%; }
.sidebar-brand-row { display: flex; align-items: center; justify-content: space-between; gap: .4rem; }
.sidebar .brand { color: #fff; padding: .2rem .5rem; min-width: 0; }
.sidebar .brand:hover { color: #fff; }
.sidebar .brand-mark { background: linear-gradient(135deg, #9b82ff, #5c46ca); border: 1px solid rgba(255,255,255,.22); }
.brand-name { min-width: 0; }
.sidebar .brand small { color: #adb5d6; }
.sidebar-close { display: grid; place-items: center; height: 40px; width: 40px; padding: .4rem; border: 1px solid #515776; color: #fff; }
.sidebar-close .nav-icon { width: 21px; height: 21px; }
.sidebar-context { margin: 1.45rem .6rem .65rem; display: flex; align-items: center; gap: .55rem; color: #b2bddb; font-size: .69rem; letter-spacing: .02em; }
.sidebar-status-dot { display: inline-block; height: 7px; width: 7px; background: #65d7bb; border-radius: 50%; box-shadow: 0 0 0 4px rgba(101,215,187,.09); }
.sidebar-nav { padding-block-end: 1.15rem; }
.nav-section-title { padding: 1.3rem .85rem .47rem; color: #7e8bac; font-size: .69rem; letter-spacing: .075em; font-weight: 800; }
.sidebar .nav-link { position: relative; padding: .67rem .88rem; color: #bdc4df; font-size: .85rem; border: 1px solid transparent; }
.sidebar .nav-link:hover { color: #fff; background: #272e54; border-color: #3a4168; transform: none; }
.sidebar .nav-link.active { background: linear-gradient(95deg, rgba(130,105,241,.23), rgba(112,87,219,.11)); border-color: rgba(178,161,255,.15); box-shadow: none; color: #fff; }
.sidebar .nav-link.active::before { content: ''; position: absolute; inset-inline-start: 0; inset-block: .6rem; width: 3px; border-radius: 5px; background: #b6a6ff; }
.sidebar .nav-link .nav-icon { width: 19px; height: 19px; stroke-width: 1.75; }
.sidebar-footer { margin-block-start: auto; padding: 1.05rem .65rem .2rem; gap: .7rem; }
.sidebar-footer .user-avatar { min-width: 39px; height: 39px; background: linear-gradient(145deg,#9b81ff,#604dcc); }
.sidebar-footer strong { color: #fff; font-size: .84rem; }
.sidebar-footer small { font-size: .73rem; }
.sidebar-footer-indicator { margin-inline-start: auto; width: 8px; height: 8px; border-radius: 50%; background: #70dec0; }
.workspace { min-height: 100dvh; }
.topbar { position: sticky; inset-block-start: 0; z-index: 1020; height: 81px; padding-inline: clamp(1rem, 2.5vw, 2.5rem); background: rgba(255,255,255,.96); backdrop-filter: blur(18px); }
.topbar-heading, .topbar-actions { display: flex; align-items: center; gap: .8rem; min-width: 0; }
.topbar-title-block { min-width: 0; }
.topbar-breadcrumb { color: #9298ae; font-size: .68rem; line-height: 1.4; font-weight: 700; letter-spacing: .05em; }
.topbar-breadcrumb span { margin-inline: .35rem; }
.page-heading { font-size: clamp(1rem, 1.25vw, 1.22rem); color: #202747; overflow-wrap: anywhere; }
.topbar-account { display: inline-flex; align-items: center; gap: .6rem; padding: .22rem .46rem; min-height: 43px; color: #2c3456; border: 1px solid #e9eaf3; background: #fff; border-radius: 50px; }
.topbar-avatar { display: grid; place-items: center; flex: 0 0 33px; width: 33px; height: 33px; border-radius: 50%; background: #eae5ff; color: #5c49c6; font-weight: 800; }
.topbar-account-name { max-width: 150px; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; font-size: .78rem; font-weight: 700; }
.account-dropdown { min-width: 220px; border: 1px solid var(--line); border-radius: 15px; box-shadow: 0 16px 44px rgba(21,24,57,.13); padding: .4rem; }
.dropdown-item { padding: .65rem .8rem; border-radius: 9px; }
.dropdown-item:active { background: var(--purple); }
.dropdown-menu .dropdown-header { font-size: .77rem; }
.main-content { padding: clamp(1rem, 2.3vw, 2.35rem); max-width: 1680px; }
/* Dashboard */
.dashboard-hero { padding: clamp(1.45rem, 3vw, 2.55rem); border-radius: 24px; min-height: 245px; display: flex; align-items: center; }
.dashboard-hero .hero-orbit { inset-inline-end: 3%; inset-inline-start: auto; }
.dashboard-hero .dashboard-eyebrow { color: #d6cdfd; }
.dashboard-hero p { max-width: 54ch; line-height: 1.8; }
.dashboard-hero-actions { display: flex; flex-wrap: wrap; gap: .65rem; }
.dashboard-hero .btn-outline-light { border-color: rgba(255,255,255,.55); }
.dashboard-hero .btn-outline-light:hover { color: #24204e; }
.stat-card-v2 { border-color: #ecedf6; }
.stat-card-v2 .card-body { padding: 1.23rem; }
.stat-card-v2 .stat-label { color: #68738f; font-size: .78rem; font-weight: 700; }
.stat-card-v2 .stat-value { color: #202645; font-variant-numeric: tabular-nums; }
.stat-caption { font-size: .71rem; color: #9ba2b5; margin-block-start: .38rem; }
.stat-icon { border-radius: 13px; background: #eeeaff; color: #654bcb; }
.chart-scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.revenue-chart { min-width: 480px; }
.revenue-column .revenue-bar { max-height: 165px; }
.revenue-value, .stat-value, .outstanding-value, input[type="number"] { font-variant-numeric: tabular-nums; }
.outstanding-value { overflow-wrap: anywhere; }
/* Member experience */
.member-topbar { position: sticky; inset-block-start: 0; z-index: 1020; min-height: 82px; height: auto; gap: 1.5rem; background: rgba(255,255,255,.97); backdrop-filter: blur(12px); padding-block: .7rem; }
.member-logo { display: inline-flex; flex-direction: column; line-height: 1.2; white-space: nowrap; }
.member-logo small { color: #9096ab; font-size: .52rem; font-family: Inter, sans-serif; letter-spacing: .21em; margin-block-start: .25rem; }
.member-nav { display: flex; gap: .5rem; align-items: center; margin-inline: auto; }
.member-nav-link { padding: .65rem 1rem; border-radius: 12px; color: #5f6885; font-size: .87rem; font-weight: 700; white-space: nowrap; }
.member-nav-link:hover, .member-nav-link.active { background: #efebff; color: #5e45c9; }
.member-actions { display: flex; gap: .5rem; align-items: center; }
.member-content { width: min(100%, 1280px); max-width: none; padding: clamp(1rem,3vw,2.6rem) clamp(.85rem,2.6vw,2.4rem); }
.hero-card { background: radial-gradient(circle at 82% 25%, rgba(174,150,255,.3),transparent 30%), linear-gradient(120deg,#161d3d,#4f379e); box-shadow: 0 16px 42px rgba(48,39,111,.14); }
.hero-card .qr-frame { box-shadow: 0 12px 30px rgba(22,22,59,.2); }
/* Authentication / customer-facing entry */
.auth-shell { display: block; padding: clamp(.8rem,2vw,1.6rem); min-height: 100dvh; background: #0f1630; }
.auth-layout { display: grid; grid-template-columns: minmax(0,1.08fr) minmax(400px,.9fr); margin: auto; width: min(100%, 1280px); min-height: calc(100dvh - clamp(1.6rem,4vw,3.2rem)); overflow: hidden; border-radius: 28px; background: #fff; box-shadow: 0 22px 80px rgba(4,7,31,.32); }
.auth-showcase { position: relative; isolation: isolate; display: flex; flex-direction: column; min-height: 660px; padding: clamp(2rem,4.5vw,4.4rem); background: radial-gradient(circle at 78% 22%,#5d4d9d 0%,transparent 33%),linear-gradient(143deg,#151c3a,#211b4e 61%,#3c2780); color: white; overflow: hidden; }
.auth-showcase::after { content: ''; position: absolute; z-index: -1; width: min(55vw,460px); aspect-ratio: 1; border: 1px solid rgba(255,255,255,.13); border-radius: 50%; inset-inline-end: -17%; inset-block-end: -21%; box-shadow: 0 0 0 66px rgba(255,255,255,.035),0 0 0 134px rgba(255,255,255,.018); }
.showcase-glow { position: absolute; width: 270px; height: 270px; inset-block-start: 12%; inset-inline-end: -10%; border-radius: 50%; background: #8a75f5; filter: blur(115px); opacity: .23; z-index: -1; }
.auth-showcase-brand { display: inline-flex; align-items: center; gap: .8rem; font: 800 1.44rem Inter,Cairo,sans-serif; }
.auth-showcase-brand span:not(.brand-mark) { color: #bdadff; }
.auth-showcase-copy { margin-block: auto; max-width: 570px; }
.showcase-eyebrow { font: 700 .72rem Inter,Cairo,sans-serif; letter-spacing: .16em; color: #cbbfff; margin-block-end: 1.3rem; }
.auth-showcase-copy h1 { font-size: clamp(2rem,3.2vw,3.5rem); font-weight: 800; line-height: 1.45; letter-spacing: -.035em; max-width: 14ch; }
.auth-showcase-copy p { font-size: 1rem; color: #dddaf5; line-height: 2; max-width: 49ch; margin-block: 1.05rem 1.8rem; }
.showcase-features { display: flex; flex-wrap: wrap; gap: .65rem; }
.showcase-features span { display: inline-flex; align-items: center; gap: .55rem; border: 1px solid rgba(255,255,255,.17); border-radius: 12px; padding: .57rem .72rem; color: #eeeafb; font-size: .78rem; background: rgba(255,255,255,.065); }
.showcase-features .nav-icon { width: 17px; height: 17px; color: #c2b3ff; }
.auth-showcase-footer { font: 500 .67rem Inter,Cairo,sans-serif; letter-spacing: .12em; color: #bcb6dd; }
.auth-showcase-footer span { margin-inline: .55rem; }
.auth-form-column { display: flex; flex-direction: column; padding: clamp(1.2rem,4vw,3.8rem); min-width: 0; background: white; }
.auth-form-top { display: flex; justify-content: space-between; align-items: center; min-height: 40px; }
.auth-form-top > .btn-language { margin-inline-start: auto; }
.auth-mobile-logo { display: none; font: 800 1.3rem Inter,Cairo,sans-serif; color: var(--navy); }
.auth-mobile-logo span { color: var(--purple); }
.auth-card { width: min(100%,450px); padding: 0; border: 0; border-radius: 0; box-shadow: none; margin: auto; }
.auth-overline { color: #765bd3; font: 800 .74rem Inter,Cairo,sans-serif; letter-spacing: .095em; margin-block-end: .82rem; }
.auth-form-title { color: #1c2345; font-weight: 800; font-size: clamp(1.6rem, 2.2vw,2.15rem); margin-block-end: .45rem; }
.auth-description { color: #727c98; margin-block-end: 2.1rem; }
.auth-form label { font-size: .81rem; }
.auth-form .form-control { min-height: 51px; border-radius: 12px; }
.auth-form input[dir="ltr"] { text-align: start; }
.remember-label { cursor: pointer; color: #5b6481; font-size: .8rem; }
.btn-auth { min-height: 52px; display: flex; align-items: center; justify-content: center; gap: .7rem; }
.btn-auth span { font: 700 1.15rem Inter,Cairo,sans-serif; }
.auth-register-link { text-align: center; margin-block-start: 1.7rem; color: #77809d; font-size: .85rem; }
.auth-register-link a { color: var(--purple); font-weight: 800; }
.auth-footnote { text-align: center; color: #9ca2b2; font-size: .7rem; margin-block-start: 1.2rem; margin-block-end: 0; }
.auth-card-register { margin-block: 1.5rem; }
/* RTL/LTR-safe layouts and accessible small screens */
html[dir="ltr"] .dashboard-hero::after { right: -120px; left: auto; }
html[dir="rtl"] .dashboard-hero::after { left: -120px; right: auto; }
html[dir="rtl"] .revenue-column .revenue-value, html[dir="rtl"] .topbar-avatar { direction: ltr; }
@media (max-width: 1199.98px) { .sidebar { width: 248px; flex-basis: 248px; } .main-content { padding: 1.4rem; } }
@media (max-width: 991.98px) {
    .sidebar { position: fixed; height: 100dvh; width: min(86vw,320px); max-width: 320px; z-index: 1050; }
    .sidebar-inner { min-height: 100%; }
    .topbar { height: 72px; padding-inline: 1rem; }
    .main-content { padding: 1.15rem; }
    .auth-layout { grid-template-columns: minmax(0,1fr); min-height: calc(100dvh - 1.6rem); max-width: 610px; }
    .auth-showcase { display: none; }
    .auth-mobile-logo { display: inline-block; }
    .auth-form-column { min-height: 620px; padding: clamp(1.35rem,6vw,3rem); }
    .auth-form-column .auth-card { margin-block: auto; }
}
@media (max-width: 767.98px) {
    .member-topbar { flex-wrap: wrap; column-gap: .5rem; row-gap: .5rem; padding-inline: 1rem; }
    .member-nav { order: 3; width: 100%; margin: 0; overflow-x: auto; gap: .3rem; border-top: 1px solid #f0eff7; padding-block-start: .45rem; }
    .member-nav-link { flex: 1 0 auto; text-align: center; font-size: .79rem; padding: .45rem .6rem; }
    .member-actions { margin-inline-start: auto; }
    .member-content { padding: 1rem .85rem; }
    .dashboard-hero { min-height: 0; }
    .hero-orbit { opacity: .14; }
    .chart-scroll .revenue-chart { min-width: 460px; }
}
@media (max-width: 575.98px) {
    .page-heading { font-size: .95rem; max-width: 43vw; }
    .topbar-breadcrumb { font-size: .62rem; }
    .topbar-actions { gap: .4rem; }
    .topbar-account { min-height: 39px; }
    .topbar-avatar { width: 31px; height: 31px; flex-basis: 31px; }
    .topbar .btn-language { padding: .4rem .53rem; min-height: 39px; }
    .topbar .btn-language .nav-icon { display: none; }
    .main-content { padding: .85rem; }
    .card-header, .card-body { padding: 1rem; }
    .dashboard-hero { padding: 1.35rem; }
    .dashboard-hero-actions .btn { width: 100%; }
    .stat-card-v2 .card-body { padding: 1rem; }
    .stat-card-v2 .stat-icon { width: 36px; height: 36px; }
    .stat-card-v2 .stat-value { font-size: clamp(1.3rem,5.5vw,1.65rem); }
    .auth-shell { padding: .5rem; }
    .auth-layout { min-height: calc(100dvh - 1rem); border-radius: 19px; }
    .auth-form-column { min-height: calc(100dvh - 1rem); padding: 1.3rem; }
    .auth-description { margin-block-end: 1.5rem; }
    .auth-form-title { font-size: 1.6rem; }
    .member-logo { font-size: 1.35rem; }
    .hero-card .qr-frame { min-width: 0; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } .btn, .table tbody tr { transition: none !important; } }

/* GymOS Pro — advanced fitness visualization */
.inbody-card{position:relative;overflow:hidden;border:1px solid #e7e4f7;border-radius:24px;background:linear-gradient(145deg,#10152d,#1b2140 58%,#29205b);color:#fff;margin-bottom:1rem;box-shadow:0 18px 55px rgba(35,27,91,.16)}
.inbody-card:before{content:'';position:absolute;width:420px;height:420px;border-radius:50%;inset-inline-end:-180px;inset-block-start:-220px;background:radial-gradient(circle,rgba(145,121,255,.3),transparent 68%);pointer-events:none}.inbody-head{position:relative;display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;padding:1.35rem 1.45rem 0}.inbody-kicker{font:800 .63rem Inter,Cairo,sans-serif;letter-spacing:.14em;color:#aaa0e8}.inbody-head h3{margin:.35rem 0 .2rem;font-weight:800}.inbody-head p{margin:0;color:#aeb5d0;font-size:.78rem}.inbody-live{display:inline-flex;align-items:center;gap:.45rem;padding:.45rem .65rem;border:1px solid rgba(255,255,255,.1);border-radius:999px;background:rgba(255,255,255,.06);font-size:.68rem;white-space:nowrap}.inbody-live i{width:7px;height:7px;border-radius:50%;background:#65e1c1;box-shadow:0 0 0 5px rgba(101,225,193,.08);animation:inbodyPulse 1.8s infinite}.inbody-stage{position:relative;min-height:390px;display:grid;place-items:center;overflow:hidden}.inbody-body{height:355px;width:auto;filter:drop-shadow(0 0 18px rgba(130,105,255,.24));animation:inbodyFloat 4.5s ease-in-out infinite}.inbody-orbit{position:absolute;border:1px solid rgba(163,145,255,.24);border-radius:50%;aspect-ratio:1;pointer-events:none}.orbit-a{width:300px;animation:inbodySpin 18s linear infinite}.orbit-b{width:220px;border-style:dashed;animation:inbodySpinReverse 13s linear infinite}.inbody-scanline{position:absolute;width:260px;height:2px;background:linear-gradient(90deg,transparent,#c4b8ff,transparent);box-shadow:0 0 16px #927dff;animation:inbodyScan 3.5s ease-in-out infinite;opacity:.8}.scan-point{position:absolute;display:flex;flex-direction:column;min-width:82px;padding:.55rem .7rem;border:1px solid rgba(190,180,255,.28);border-radius:13px;background:rgba(9,13,32,.72);backdrop-filter:blur(10px);box-shadow:0 10px 25px rgba(0,0,0,.18);animation:inbodyFloat 4s ease-in-out infinite}.scan-point b{font-size:1.1rem}.scan-point span{font-size:.57rem;color:#aaaed0;letter-spacing:.08em}.p1{inset-inline-start:10%;inset-block-start:29%}.p2{inset-inline-end:9%;inset-block-start:38%;animation-delay:-1.2s}.p3{inset-inline-start:13%;inset-block-end:18%;animation-delay:-2s}.inbody-metrics{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(255,255,255,.08);background:rgba(5,8,24,.2)}.inbody-metrics>div{padding:1rem 1.2rem;border-inline-end:1px solid rgba(255,255,255,.08)}.inbody-metrics>div:last-child{border-inline-end:0}.inbody-metrics span{display:block;color:#929ab8;font-size:.68rem}.inbody-metrics strong{display:block;margin-top:.25rem;font-size:.84rem;color:#fff;overflow-wrap:anywhere}
@keyframes inbodyFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes inbodySpin{to{transform:rotate(360deg)}}@keyframes inbodySpinReverse{to{transform:rotate(-360deg)}}@keyframes inbodyScan{0%,100%{transform:translateY(-150px);opacity:0}20%,80%{opacity:.85}50%{transform:translateY(150px)}}@keyframes inbodyPulse{50%{box-shadow:0 0 0 8px rgba(101,225,193,.02)}}
@media(max-width:575.98px){.inbody-head{padding:1rem 1rem 0}.inbody-live{font-size:.58rem}.inbody-stage{min-height:340px}.inbody-body{height:315px}.orbit-a{width:270px}.orbit-b{width:190px}.p1{inset-inline-start:4%}.p2{inset-inline-end:3%}.p3{inset-inline-start:5%}.inbody-metrics>div{padding:.8rem .7rem}.inbody-metrics strong{font-size:.72rem}}

/* GymOS member portal — fitness studio UI */
.portal-shell{max-width:1280px;margin:auto}.portal-hero-pro{min-height:290px;padding:clamp(1.4rem,4vw,2.6rem);align-items:center}.portal-hero-pro .portal-hero-copy{padding-inline-end:1rem}.portal-hero-actions{display:flex;gap:.65rem;align-items:center;flex-wrap:wrap;margin-top:1.15rem}.portal-status-chip{display:inline-flex;align-items:center;gap:.45rem;padding:.56rem .72rem;border-radius:12px;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.14);font-size:.75rem}.portal-status-chip i{width:7px;height:7px;border-radius:50%;background:#63dfbf;box-shadow:0 0 12px #63dfbf}.portal-scan{position:relative;display:grid;place-items:center;width:205px;min-height:215px}.portal-scan .qr-frame{position:relative;z-index:2;min-width:176px;min-height:176px;padding:.72rem;border-radius:18px}.portal-scan>span{position:absolute;bottom:-.15rem;font-size:.65rem;color:#ddd7f7}.portal-scan>small{position:absolute;bottom:-1.25rem;color:#a8add0;font-size:.6rem}.scan-ring{position:absolute;width:205px;height:205px;border:1px solid rgba(255,255,255,.15);border-radius:50%;animation:portalRing 7s linear infinite}.scan-ring:before,.scan-ring:after{content:"";position:absolute;inset:15px;border:1px dashed rgba(255,255,255,.12);border-radius:50%}.scan-ring:after{inset:35px;border-color:rgba(190,177,255,.15)}.portal-quick-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.85rem}.portal-kpi{position:relative;overflow:hidden;padding:1.05rem 1.15rem;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:var(--shadow)}.portal-kpi:after{content:"";position:absolute;width:70px;height:70px;inset-inline-end:-28px;inset-block-end:-30px;border-radius:50%;background:#f0edff}.portal-kpi span{display:block;color:var(--muted);font-size:.72rem;font-weight:700}.portal-kpi strong{display:block;font:800 clamp(1.45rem,2.5vw,1.9rem) Inter,Cairo,sans-serif;margin:.2rem 0}.portal-kpi small{color:#9097ad;font-size:.67rem}.portal-section-title{display:flex;align-items:end;justify-content:space-between;margin:1.6rem 0 .8rem}.portal-section-title span,.portal-label{display:block;color:var(--gym-primary,#6651d8);font:800 .64rem Inter,Cairo,sans-serif;letter-spacing:.13em}.portal-section-title h2{margin:.2rem 0 0;font-size:1.25rem;font-weight:800}.portal-card{overflow:hidden;border-radius:20px}.portal-card-header{display:flex;justify-content:space-between;align-items:center;gap:1rem;border-bottom:1px solid #eff0f6;padding:1.1rem 1.2rem}.portal-card-header h3{margin:.2rem 0 0;font-size:1rem;font-weight:800}.section-badge{padding:.35rem .55rem;border-radius:9px;background:#f3f0ff;color:#674ed2;font-size:.68rem;font-weight:800}.workout-plan-card{padding:1rem;border:1px solid #ececf5;border-radius:16px;background:linear-gradient(145deg,#fff,#fbfbff)}.workout-plan-card+.workout-plan-card{margin-top:.75rem}.workout-plan-top{display:flex;justify-content:space-between;gap:1rem;align-items:center}.workout-plan-top>div{display:flex;align-items:center;gap:.65rem}.workout-plan-top strong{display:block;font-size:.87rem}.workout-plan-top small{display:block;color:var(--muted);font-size:.68rem;margin-top:.15rem}.workout-index{display:grid;place-items:center;width:35px;height:35px;border-radius:11px;background:#eeeaff;color:#6a52d3;font:800 .75rem Inter,Cairo,sans-serif}.workout-items{margin-top:.8rem}.workout-exercise{display:flex;align-items:center;gap:.7rem;padding:.62rem 0;border-top:1px solid #f0f0f6}.exercise-media-mini{width:48px;height:48px;flex:0 0 48px;display:grid;place-items:center;overflow:hidden;border-radius:12px;background:linear-gradient(145deg,#171d3a,#6251c8);color:#fff;font-weight:800}.exercise-media-mini img,.exercise-media-mini video{width:100%;height:100%;object-fit:cover}.exercise-copy{min-width:0;flex:1}.exercise-copy strong{display:block;font-size:.78rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.exercise-copy small{display:block;color:var(--muted);font-size:.65rem;margin-top:.16rem}.subscription-card,.invoice-row,.event-row,.pt-row{display:flex;align-items:center;justify-content:space-between;gap:.9rem;padding:.8rem 0;border-bottom:1px solid #eff0f6}.subscription-card:last-child,.invoice-row:last-child,.event-row:last-child,.pt-row:last-child{border-bottom:0}.subscription-card strong,.invoice-row strong,.event-row strong,.pt-row strong{display:block;font-size:.78rem}.subscription-card small,.invoice-row small,.event-row small,.pt-row small{display:block;color:var(--muted);font-size:.66rem;margin-top:.2rem}.subscription-renew{display:flex;gap:.4rem;margin-top:.6rem}.progress-compare{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:1rem}.progress-compare span{display:block;color:var(--muted);font-size:.67rem}.progress-compare strong{font:800 1.2rem Inter,Cairo,sans-serif}.progress-compare small{font-size:.65rem;color:var(--muted)}.progress-line{height:6px;background:#ece9fa;border-radius:99px;position:relative;overflow:hidden}.progress-line i{position:absolute;inset:0;width:62%;border-radius:99px;background:linear-gradient(90deg,#6953d9,#a695f2);animation:progressGlow 2.4s ease-in-out infinite}.event-row{padding:.7rem 0}.pt-progress{height:5px;background:#eeeef6;border-radius:99px;margin-top:.55rem;overflow:hidden}.pt-progress i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#6a53d9,#a795f4)}.tracker-plan+.tracker-plan{margin-top:1rem}.tracker-plan>strong{display:block;margin-bottom:.55rem}.tracker-row{display:grid;grid-template-columns:minmax(150px,1.5fr) repeat(3,minmax(70px,.6fr)) auto;gap:.55rem;align-items:end;padding:.55rem 0;border-bottom:1px solid #f0f0f6}.tracker-name b{display:block;font-size:.74rem}.tracker-name small{color:var(--muted);font-size:.63rem}.tracker-row .form-control{min-height:40px;font-size:.8rem}.recent-logs{margin-top:1rem;padding-top:1rem;border-top:1px solid #eff0f6}.recent-logs>strong{font-size:.78rem}.recent-logs>div{display:flex;justify-content:space-between;gap:1rem;padding:.55rem 0;border-bottom:1px solid #f2f2f7}.recent-logs span{font-size:.73rem;font-weight:700}.recent-logs small{color:var(--muted);font-size:.63rem}.invoice-form{display:flex;gap:.45rem;align-items:center;flex-wrap:wrap}.invoice-form .form-control{min-width:190px}.media-modal{border:0;border-radius:20px;overflow:hidden}.media-viewer-content{display:block;width:100%;max-height:70vh;object-fit:contain;border-radius:14px;background:#10152d}.media-modal .modal-body{padding:1rem;background:#f7f7fb}
@keyframes portalRing{to{transform:rotate(360deg)}}@keyframes progressGlow{50%{filter:brightness(1.2);box-shadow:0 0 12px rgba(116,89,220,.35)}}
@media(max-width:991.98px){.portal-quick-grid{grid-template-columns:repeat(2,1fr)}.tracker-row{grid-template-columns:1fr 1fr 1fr}.tracker-name{grid-column:1/-1}.tracker-row .btn{grid-column:1/-1}.portal-scan{width:185px}}
@media(max-width:767.98px){.portal-hero-pro{min-height:auto}.portal-scan{margin:1rem auto 1.5rem}.portal-hero-actions{justify-content:center}.portal-hero-pro .portal-hero-copy{text-align:center;padding:0}.workout-exercise .media-viewer{padding:.32rem .5rem;font-size:.65rem}.invoice-row{align-items:flex-start;flex-direction:column}.invoice-form{width:100%}.invoice-form .form-control{flex:1;min-width:0}.progress-compare{gap:.6rem}.progress-compare strong{font-size:1rem}}
@media(max-width:575.98px){.portal-quick-grid{grid-template-columns:1fr 1fr;gap:.6rem}.portal-kpi{padding:.85rem}.portal-kpi strong{font-size:1.25rem}.portal-card-header{padding:.9rem}.portal-card .card-body{padding:.9rem}.portal-scan .qr-frame{min-width:160px;min-height:160px}.scan-ring{width:190px;height:190px}.workout-exercise{gap:.5rem}.exercise-media-mini{width:42px;height:42px;flex-basis:42px}.exercise-copy small{font-size:.6rem}.tracker-row{grid-template-columns:1fr 1fr}.tracker-name{grid-column:1/-1}.tracker-row .btn{grid-column:1/-1}.subscription-card{align-items:flex-start;flex-direction:column}.subscription-renew{width:100%}.subscription-renew .form-select{flex:1}.progress-compare{grid-template-columns:1fr;text-align:center}.progress-compare .text-end{text-align:center!important}.progress-line{width:100%}.event-row,.pt-row{align-items:flex-start}.portal-section-title{margin-top:1.2rem}}

/* Staff dashboard fitness visualization */
.dashboard-hero-pro{min-height:300px;display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:clamp(1.5rem,4vw,2.6rem)}.dashboard-hero-copy{z-index:2;max-width:62%}.dashboard-fitness-visual{position:relative;width:310px;height:270px;display:grid;place-items:center;flex:0 0 310px}.fitness-grid{position:absolute;inset:10px;background:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);background-size:28px 28px;border-radius:50%;mask-image:radial-gradient(circle,#000 25%,transparent 72%);opacity:.6}.fitness-body{position:relative;height:235px;filter:drop-shadow(0 0 22px rgba(157,137,255,.3));animation:fitnessFloat 4s ease-in-out infinite}.fitness-orbit{position:absolute;border:1px solid rgba(188,173,255,.24);border-radius:50%;aspect-ratio:1}.orbit-one{width:245px;animation:fitnessSpin 14s linear infinite}.orbit-two{width:185px;border-style:dashed;animation:fitnessSpinReverse 10s linear infinite}.fitness-data{position:absolute;padding:.45rem .62rem;border-radius:10px;background:rgba(9,13,31,.7);border:1px solid rgba(255,255,255,.12);backdrop-filter:blur(8px);box-shadow:0 8px 22px rgba(0,0,0,.15);font-family:Inter,Cairo,sans-serif}.fitness-data span{display:block;color:#a9acd0;font-size:.52rem;letter-spacing:.1em}.fitness-data b{font-size:.95rem}.data-a{inset-inline-start:0;inset-block-start:34px}.data-b{inset-inline-end:0;inset-block-end:34px}.dashboard-hero-pro:after{content:"";position:absolute;width:360px;height:360px;inset-inline-end:-100px;inset-block-end:-180px;border:1px solid rgba(255,255,255,.1);border-radius:50%;box-shadow:0 0 0 55px rgba(255,255,255,.025),0 0 0 110px rgba(255,255,255,.015)}
@keyframes fitnessFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}@keyframes fitnessSpin{to{transform:rotate(360deg)}}@keyframes fitnessSpinReverse{to{transform:rotate(-360deg)}}
@media(max-width:767.98px){.dashboard-hero-pro{min-height:auto;flex-direction:column;align-items:stretch}.dashboard-hero-copy{max-width:none}.dashboard-fitness-visual{width:100%;height:245px;flex-basis:auto}.fitness-body{height:210px}.fitness-data{font-size:.7rem}.data-a{inset-inline-start:5%}.data-b{inset-inline-end:5%}}

/* GymOS Pro dashboard refinement */
.dashboard-stats-pro .stat-card-pro{position:relative;overflow:hidden;border-radius:20px}.stat-card-pro:before{content:"";position:absolute;width:120px;height:120px;border-radius:50%;inset-inline-end:-55px;inset-block-end:-55px;background:radial-gradient(circle,rgba(111,87,222,.13),transparent 68%)}.stat-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.stat-index{font:800 .6rem Inter,Cairo,sans-serif;color:#aaa9bc;letter-spacing:.12em}.stat-card-pro .stat-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:#f1efff;color:#6a52d4}.stat-card-pro .stat-value{font-size:1.7rem}.stat-caption{display:flex;align-items:center;gap:.35rem}.stat-caption i{width:6px;height:6px;border-radius:50%;background:#61d9b7;box-shadow:0 0 8px rgba(97,217,183,.5)}.dashboard-panel{overflow:hidden;border-radius:20px}.panel-head{display:flex!important;align-items:center;justify-content:space-between;gap:1rem}.panel-kicker{display:block;font:800 .58rem Inter,Cairo,sans-serif;letter-spacing:.13em;color:#7563d6;margin-bottom:.2rem}.panel-head strong{font-size:.85rem}.dashboard-panel .table tbody tr{transition:background .18s ease}.dashboard-panel .table tbody tr:hover{background:#faf9ff}.date-pill{display:inline-flex;padding:.35rem .5rem;border-radius:9px;background:#fff5e8;color:#9a641a;font-size:.65rem}.schedule-item{display:flex;align-items:center;gap:.75rem;padding:.85rem 1rem;border-bottom:1px solid #f0f0f6}.schedule-time{min-width:48px;padding:.45rem .3rem;border-radius:10px;text-align:center;background:#f0edff;color:#654ed0;font:800 .72rem Inter,Cairo,sans-serif}.schedule-copy{min-width:0;flex:1}.schedule-copy strong{display:block;font-size:.75rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.schedule-copy small{display:block;color:var(--muted);font-size:.62rem;margin-top:.15rem}.schedule-dot{width:7px;height:7px;border-radius:50%;background:#8d7aea;box-shadow:0 0 0 5px #f1efff}

/* Coaching Studio */
.workout-builder-hero{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.5rem 1.7rem;border-radius:22px;background:linear-gradient(120deg,#10162f,#34256d 65%,#6c58dc);color:#fff;box-shadow:0 18px 45px rgba(50,36,112,.18)}.workout-builder-hero:after{content:"";position:absolute;width:280px;height:280px;border:1px solid rgba(255,255,255,.1);border-radius:50%;inset-inline-end:-90px;inset-block-start:-100px;box-shadow:0 0 0 45px rgba(255,255,255,.025),0 0 0 90px rgba(255,255,255,.018)}.workout-builder-hero>div{position:relative;z-index:1}.workout-builder-hero span{font:800 .6rem Inter,Cairo,sans-serif;letter-spacing:.14em;color:#bcb2ff}.workout-builder-hero h2{margin:.3rem 0;font-size:1.45rem;font-weight:800}.workout-builder-hero p{margin:0;color:#d0d0e3;font-size:.75rem}.workout-builder-icon{width:62px;height:62px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.18);border-radius:18px;background:rgba(255,255,255,.08);font-size:1.4rem;animation:fitnessFloat 3.5s ease-in-out infinite}.workout-builder-sticky{position:sticky;top:1rem}.workout-builder-sticky .card{border-radius:20px;overflow:hidden}.workout-builder-sticky .card-header{font-weight:800}.workout-builder-sticky .form-control,.workout-builder-sticky .form-select{border-radius:11px}.workout-builder-sticky .btn-primary{box-shadow:0 8px 20px rgba(100,79,210,.2)}
@media(max-width:991.98px){.workout-builder-sticky{position:static}}

/* Nutrition Studio */
.nutrition-studio-hero{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.5rem 1.7rem;border-radius:22px;background:linear-gradient(120deg,#10162f,#24335b 55%,#4e4a9b);color:#fff;box-shadow:0 18px 45px rgba(35,38,91,.17)}.nutrition-studio-hero span{font:800 .6rem Inter,Cairo,sans-serif;letter-spacing:.14em;color:#bdb7ff}.nutrition-studio-hero h2{margin:.3rem 0;font-weight:800}.nutrition-studio-hero p{margin:0;color:#d1d3e5;font-size:.75rem}.nutrition-orb{width:82px;height:82px;border:1px solid rgba(255,255,255,.18);border-radius:50%;display:grid;place-items:center;position:relative;background:radial-gradient(circle,rgba(176,160,255,.25),rgba(255,255,255,.03));animation:fitnessFloat 4s ease-in-out infinite}.nutrition-orb i{position:absolute;inset:10px;border:1px dashed rgba(255,255,255,.3);border-radius:50%;animation:fitnessSpin 9s linear infinite}.nutrition-orb b{font-size:.55rem;letter-spacing:.1em}.nutrition-studio-hero:after{content:"";position:absolute;width:260px;height:260px;border:1px solid rgba(255,255,255,.08);border-radius:50%;inset-inline-end:-100px;inset-block-end:-150px}@media(max-width:575.98px){.nutrition-studio-hero{padding:1.15rem}.nutrition-orb{width:65px;height:65px}.nutrition-studio-hero h2{font-size:1.1rem}}

/* Finance Center */
.finance-hero{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:space-between;padding:1.45rem 1.7rem;border-radius:22px;background:linear-gradient(120deg,#10162f,#292355 60%,#6655d4);color:#fff;box-shadow:0 18px 45px rgba(46,37,105,.16)}.finance-hero span{font:800 .6rem Inter,Cairo,sans-serif;letter-spacing:.14em;color:#bdb5ff}.finance-hero h2{margin:.3rem 0;font-size:1.4rem;font-weight:800}.finance-hero p{margin:0;color:#d0d1e3;font-size:.75rem}.finance-orbit{position:relative;width:76px;height:76px;border:1px solid rgba(255,255,255,.2);border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.06);box-shadow:0 0 35px rgba(163,145,255,.16)}.finance-orbit i{position:absolute;inset:8px;border:1px dashed rgba(255,255,255,.32);border-radius:50%;animation:fitnessSpin 8s linear infinite}.finance-orbit b{font:800 .65rem Inter,Cairo,sans-serif;letter-spacing:.08em}@media(max-width:575.98px){.finance-hero{padding:1.1rem}.finance-orbit{width:60px;height:60px}.finance-hero h2{font-size:1.1rem}}

/* Operations Center */
.ops-hero{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.45rem 1.7rem;border-radius:22px;background:linear-gradient(120deg,#10162f,#27375b 58%,#5d50b9);color:#fff;box-shadow:0 18px 45px rgba(39,46,106,.15)}.ops-hero span{font:800 .6rem Inter,Cairo,sans-serif;letter-spacing:.14em;color:#bdb5ff}.ops-hero h2{margin:.3rem 0;font-weight:800}.ops-hero h2 small{font-size:.7em;color:#cbc7e8}.ops-hero p{margin:0;color:#d0d3e2;font-size:.75rem}.ops-orbit{position:relative;width:78px;height:78px;border:1px solid rgba(255,255,255,.2);border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.06)}.ops-orbit i{position:absolute;inset:8px;border:1px dashed rgba(255,255,255,.3);border-radius:50%;animation:fitnessSpin 8s linear infinite}.ops-orbit b{font:.58rem Inter,Cairo,sans-serif;letter-spacing:.1em}.ops-mini-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}.ops-mini-grid>div{padding:.8rem 1rem;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:var(--shadow)}.ops-mini-grid span{display:block;color:var(--muted);font-size:.6rem;font-weight:800;letter-spacing:.08em}.ops-mini-grid strong{display:block;font:800 1.3rem Inter,Cairo,sans-serif;margin-top:.15rem}.ops-sticky-card{position:sticky;top:1rem}.ops-sticky-card .card{border-radius:20px;overflow:hidden}.ops-sticky-card .card-header{font-weight:800}.ops-sticky-card .form-control,.ops-sticky-card .form-select{border-radius:11px}.ops-sticky-card button{border-radius:11px}.ops-hero~.card,.ops-hero~.row .card{border-radius:20px;overflow:hidden}@media(max-width:991.98px){.ops-sticky-card{position:static}}@media(max-width:575.98px){.ops-hero{padding:1.1rem}.ops-orbit{width:60px;height:60px}.ops-mini-grid{gap:.5rem}.ops-mini-grid>div{padding:.7rem}.ops-mini-grid strong{font-size:1.1rem}}

/* Management workspace */
.management-hero{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.45rem 1.7rem;border-radius:22px;background:linear-gradient(120deg,#10162f,#292554 58%,#6654d0);color:#fff;box-shadow:0 18px 45px rgba(43,35,101,.15)}.management-hero span{font:800 .6rem Inter,Cairo,sans-serif;letter-spacing:.14em;color:#bdb5ff}.management-hero h2{margin:.3rem 0;font-weight:800}.management-hero p{margin:0;color:#d0d1e3;font-size:.75rem}.management-orbit{position:relative;width:78px;height:78px;border:1px solid rgba(255,255,255,.2);border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.06)}.management-orbit i{position:absolute;inset:8px;border:1px dashed rgba(255,255,255,.32);border-radius:50%;animation:fitnessSpin 8s linear infinite}.management-orbit b{font:800 .58rem Inter,Cairo,sans-serif;letter-spacing:.1em}.management-hero~.card,.management-hero~.row .card{border-radius:20px;overflow:hidden}.management-hero~form .form-control,.management-hero~form .form-select{border-radius:11px}@media(max-width:575.98px){.management-hero{padding:1.1rem}.management-orbit{width:60px;height:60px}.management-hero h2{font-size:1.1rem}}

/* Members Studio */
.members-hero,.member-onboarding-hero{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.45rem 1.7rem;border-radius:22px;background:linear-gradient(120deg,#10162f,#292554 58%,#6654d0);color:#fff;box-shadow:0 18px 45px rgba(43,35,101,.15)}.members-hero span,.member-onboarding-hero span{font:800 .6rem Inter,Cairo,sans-serif;letter-spacing:.14em;color:#bdb5ff}.members-hero h2,.member-onboarding-hero h2{margin:.3rem 0;font-weight:800}.members-hero p,.member-onboarding-hero p{margin:0;color:#d0d1e3;font-size:.75rem}.members-hero-orbit,.onboarding-step{position:relative;width:78px;height:78px;border:1px solid rgba(255,255,255,.2);border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.06)}.members-hero-orbit i{position:absolute;inset:8px;border:1px dashed rgba(255,255,255,.32);border-radius:50%;animation:fitnessSpin 8s linear infinite}.members-hero-orbit b{font:800 .58rem Inter,Cairo,sans-serif;letter-spacing:.1em}.onboarding-step{border-radius:18px;display:flex;flex-direction:column;gap:.15rem}.onboarding-step b{font:800 1.15rem Inter,Cairo,sans-serif}.onboarding-step span{font-size:.5rem;letter-spacing:.1em}.members-table-card{border-radius:20px;overflow:hidden}.member-table tbody tr{transition:transform .18s ease,background .18s ease}.member-table tbody tr:hover{background:#faf9ff;transform:translateX(-2px)}.member-table .member-mini-avatar{transition:transform .2s ease}.member-table tr:hover .member-mini-avatar{transform:scale(1.08)}.member-onboarding-hero~.card{border-radius:20px;overflow:hidden}.member-onboarding-hero~.card .form-control,.member-onboarding-hero~.card .form-select{border-radius:11px}.member-onboarding-hero~.card .border-top{border-color:#eeeafc!important}@media(max-width:575.98px){.members-hero,.member-onboarding-hero{padding:1.1rem}.members-hero-orbit,.onboarding-step{width:60px;height:60px}.members-hero h2,.member-onboarding-hero h2{font-size:1.1rem}.members-hero p,.member-onboarding-hero p{font-size:.68rem}}

/* Athlete File & Body Lab */
.member-file-strip{display:flex;align-items:center;gap:.7rem;padding:.65rem .9rem;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:var(--shadow)}.member-file-strip span{font:800 .58rem Inter,Cairo,sans-serif;letter-spacing:.13em;color:#6c55d5}.member-file-strip strong{font:800 .72rem Inter,Cairo,sans-serif}.member-file-strip em{margin-inline-start:auto;color:var(--muted);font-style:normal;font-size:.65rem}.member-profile-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem}.member-profile-kpis>div{padding:.85rem 1rem;border:1px solid var(--line);border-radius:17px;background:#fff;box-shadow:var(--shadow)}.member-profile-kpis span{display:block;color:var(--muted);font:800 .58rem Inter,Cairo,sans-serif;letter-spacing:.08em}.member-profile-kpis strong{display:block;margin-top:.25rem;font-size:.82rem}.member-profile-hero{border-radius:22px!important}.profile-summary-card,.member-profile-hero~.row .card,.member-profile-hero~.card{border-radius:20px;overflow:hidden}.progress-studio-hero{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:space-between;padding:1.45rem 1.7rem;border-radius:22px;background:linear-gradient(120deg,#10162f,#2a2458 58%,#6754d4);color:#fff;box-shadow:0 18px 45px rgba(43,35,101,.15)}.progress-studio-hero span{font:800 .6rem Inter,Cairo,sans-serif;letter-spacing:.14em;color:#bdb5ff}.progress-studio-hero h2{margin:.3rem 0;font-weight:800}.progress-studio-hero p{margin:0;color:#d0d1e3;font-size:.72rem}.progress-orbit{position:relative;width:78px;height:78px;border:1px solid rgba(255,255,255,.2);border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.06)}.progress-orbit i{position:absolute;inset:8px;border:1px dashed rgba(255,255,255,.3);border-radius:50%;animation:fitnessSpin 8s linear infinite}.progress-orbit b{font:800 .57rem Inter,Cairo,sans-serif;letter-spacing:.1em}.progress-studio-hero~.row .card,.progress-studio-hero~.card{border-radius:20px;overflow:hidden}.progress-studio-hero~.card .form-control{border-radius:11px}.progress-studio-hero~.alert{border:0;border-radius:15px}@media(max-width:767.98px){.member-profile-kpis{grid-template-columns:1fr 1fr}.member-file-strip{flex-wrap:wrap}.member-file-strip em{margin-inline-start:0;width:100%}}@media(max-width:575.98px){.member-profile-kpis{gap:.5rem}.member-profile-kpis>div{padding:.7rem}.member-profile-kpis strong{font-size:.72rem}.progress-studio-hero{padding:1.1rem}.progress-orbit{width:60px;height:60px}.progress-studio-hero h2{font-size:1.1rem}}

/* Core module studio headers */
.module-hero{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.35rem 1.65rem;border-radius:21px;background:linear-gradient(120deg,#10162f,#292554 58%,#6654d0);color:#fff;box-shadow:0 18px 45px rgba(43,35,101,.14)}.module-hero span{font:800 .59rem Inter,Cairo,sans-serif;letter-spacing:.14em;color:#bdb5ff}.module-hero h2{margin:.3rem 0;font-size:1.35rem;font-weight:800}.module-hero p{margin:0;color:#d0d1e3;font-size:.72rem}.module-orbit{position:relative;width:72px;height:72px;border:1px solid rgba(255,255,255,.2);border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.06);flex:0 0 72px}.module-orbit i{position:absolute;inset:8px;border:1px dashed rgba(255,255,255,.32);border-radius:50%;animation:fitnessSpin 8s linear infinite}.module-orbit b{font:800 .53rem Inter,Cairo,sans-serif;letter-spacing:.08em}.module-hero~.row .card,.module-hero~.card{border-radius:19px;overflow:hidden}.module-hero~.row .card-header,.module-hero~.card-header{font-weight:800}.module-hero~.row .form-control,.module-hero~.row .form-select,.module-hero~.card .form-control,.module-hero~.card .form-select{border-radius:10px}@media(max-width:575.98px){.module-hero{padding:1.05rem}.module-orbit{width:58px;height:58px;flex-basis:58px}.module-hero h2{font-size:1.08rem}.module-hero p{font-size:.65rem}}

/* Settings + Equipment polish */
.advanced-intro{border-radius:18px;padding:1.15rem 1.3rem;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow)}.advanced-intro .advanced-kicker{font:800 .6rem Inter,Cairo,sans-serif;letter-spacing:.13em;color:#6a53d3}.advanced-toc{position:sticky;top:1rem;border-radius:18px;overflow:hidden}.advanced-toc .btn{text-align:start;border-radius:10px}.advanced-document-editor{padding:1rem;border:1px solid #ececf5;border-radius:16px;background:#fcfcff}.domain-entry{padding:1rem;border:1px solid #ececf5;border-radius:15px;background:#fff}.module-hero~.advanced-intro{margin-top:-.5rem}.module-hero~.row .advanced-toc,.module-hero~.row .card,.module-hero~.vstack .card{border-radius:20px;overflow:hidden}.module-hero~.vstack .card{transition:transform .18s ease,box-shadow .18s ease}.module-hero~.vstack .card:hover{transform:translateY(-2px)}
