:root{--ink:#141a38;--navy:#11172e;--navy2:#1c2448;--purple:#6651d8;--violet:#a28ef5;--muted:#77809a;--bg:#f5f6fb;--line:#e9eaf4;--shadow:0 12px 38px rgba(29,27,73,.065)}*{box-sizing:border-box}body{font-family:Cairo,Inter,system-ui,sans-serif;background:var(--bg);color:var(--ink);font-size:.94rem}html[lang=en] body{font-family:Inter,Cairo,system-ui,sans-serif}a{text-decoration:none}label{font-weight:700;font-size:.85rem;margin-bottom:.4rem}.form-control,.form-select{border:1px solid #dde0eb;border-radius:12px;padding:.67rem .9rem;min-height:43px}.form-control:focus,.form-select:focus{border-color:var(--violet);box-shadow:0 0 0 .2rem rgba(102,81,216,.10)}.btn{border-radius:12px;font-weight:700;padding:.56rem .95rem}.btn-sm{padding:.36rem .7rem}.btn-primary{background:var(--purple);border-color:var(--purple)}.btn-primary:hover{background:#5240b8;border-color:#5240b8}.btn-soft{color:var(--purple);background:#efebff;border:1px solid #ded7ff}.card,.panel{border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);background:white}.card-header{border:0;background:transparent;padding:1.15rem 1.3rem;font-weight:800}.card-body{padding:1.3rem}.stat-card{position:relative;min-height:132px;overflow:hidden}.stat-card::before{content:'';position:absolute;width:100px;height:100px;inset-inline-end:-40px;top:-42px;border-radius:50%;background:#efebff}.stat-card .stat-label{color:var(--muted);font-size:.84rem}.stat-card .stat-value{font-size:2rem;letter-spacing:-.035em;font-weight:800;margin-top:.5rem}.app-shell{display:flex;min-height:100vh}.sidebar{background:var(--navy);width:264px;flex:0 0 264px;color:#fff;border:0}.sidebar-inner{display:flex;flex-direction:column;min-height:100vh;padding:1.5rem 1rem}.brand{display:flex;align-items:center;gap:.75rem;padding:.25rem .55rem;font-size:1.5rem;font-weight:800;letter-spacing:-.04em}.brand-mark{display:grid;place-items:center;background:linear-gradient(135deg,#9b86fc,#5c46cf);width:43px;height:43px;border-radius:14px;box-shadow:0 12px 23px rgba(115,89,225,.25)}.brand-accent,.member-logo span{color:var(--violet)}.brand small{display:block;font-size:.69rem;letter-spacing:0;color:#b8bfdf;font-weight:500;white-space:nowrap;max-width:165px;overflow:hidden;text-overflow:ellipsis}.sidebar .nav-link{color:#adb5d6;font-weight:700;display:flex;align-items:center;gap:.8rem;border-radius:11px;padding:.7rem .85rem;line-height:1.5}.sidebar .nav-link:hover,.sidebar .nav-link.active{background:var(--navy2);color:#fff}.sidebar .nav-link.active{box-shadow:inset 3px 0 0 var(--violet)}.sidebar-footer{border-top:1px solid #313a5d;display:flex;align-items:center;gap:.8rem;padding:1rem .45rem 0;margin-top:auto}.sidebar-footer strong{display:block;font-size:.81rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-footer small{display:block;color:#acb4d2}.user-avatar{display:grid;place-items:center;background:#6e5ad9;min-width:34px;height:34px;border-radius:50%;font-weight:800}.workspace{flex:1;min-width:0}.topbar{height:78px;background:#fff;border-bottom:1px solid var(--line);padding:0 2rem;display:flex;justify-content:space-between;align-items:center;gap:1rem}.page-heading{font-size:1.2rem;font-weight:800;margin:0}.main-content{padding:2rem;max-width:1600px;margin:auto}.table{--bs-table-bg:transparent;margin:0}.table th{background:#fafaff;color:#77809a;font-size:.81rem;font-weight:700;white-space:nowrap}.table td,.table th{vertical-align:middle;padding:.86rem 1rem;border-color:#f0f0f6}.table-responsive{border-radius:14px}.badge{font-size:.74rem;padding:.48rem .7rem;border-radius:9px;font-weight:800}.badge-soft-success{background:#e6f8ef;color:#167b4f}.badge-soft-warning{background:#fff4db;color:#9b610a}.badge-soft-danger{background:#ffe9ec;color:#ad3452}.badge-soft-primary{background:#efebff;color:#6046c3}.section-title{font-weight:800;font-size:1.1rem;margin-bottom:1rem}.page-actions{display:flex;gap:.7rem;align-items:center;flex-wrap:wrap}.text-muted{color:var(--muted)!important}.empty-state{text-align:center;padding:3rem;color:var(--muted)}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:1.2rem;background:radial-gradient(ellipse at 15% 10%,#3f327e,transparent 32%),linear-gradient(130deg,#151c38,#12152c)}.auth-card{background:#fff;border-radius:24px;padding:2.3rem;width:min(100%,480px);box-shadow:0 20px 80px rgba(8,8,40,.3)}.auth-brand{font-weight:800;font-size:2.2rem;color:var(--navy)}.auth-brand span{color:var(--purple)}.member-topbar{height:75px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(1rem,5vw,5rem);background:#fff;border-bottom:1px solid var(--line)}.member-logo{font-weight:800;font-size:1.7rem;color:var(--navy)}.member-content{max-width:1150px;margin:0 auto;padding:2rem 1rem}.hero-card{border-radius:22px;background:linear-gradient(120deg,#182044,#433188);color:#fff;padding:2rem}.qr-frame{display:inline-grid;place-items:center;background:#fff;padding:1rem;border-radius:16px;min-height:190px;min-width:190px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.form-grid .span-2{grid-column:span 2}.divider-label{font-size:.76rem;color:var(--muted);text-transform:uppercase;letter-spacing:.1em;margin:1rem 0}.pagination{margin:1rem 0 0}.alert{border-radius:13px}.mini-metric{padding:1.1rem;border-radius:14px;background:#f8f8fe}.mini-metric strong{font-size:1.6rem;display:block}@media(max-width:991.98px){.sidebar{width:280px}.sidebar-inner{min-height:100vh}.topbar{height:68px;padding:0 1rem}.main-content{padding:1.1rem}}@media(max-width:575.98px){.form-grid{grid-template-columns:1fr}.form-grid .span-2{grid-column:1}.card-body{padding:1rem}.stat-card{min-height:118px}.stat-card .stat-value{font-size:1.5rem}.main-content{padding:.85rem}.hero-card{padding:1.4rem}.page-heading{font-size:1rem}}/* Nutrition Studio */
.nutrition-banner{position:relative;display:flex;align-items:center;justify-content:space-between;isolation:isolate;overflow:hidden;background:linear-gradient(115deg,#161d40 5%,#433386 72%,#6f55b9);border-radius:23px;padding:2.2rem 2.3rem;color:#fff;box-shadow:0 18px 42px rgba(52,42,123,.18)}.nutrition-banner:before{content:"";position:absolute;inset:auto -50px -120px auto;width:300px;height:300px;border:1px solid rgba(255,255,255,.14);border-radius:50%;box-shadow:0 0 0 55px rgba(255,255,255,.035),0 0 0 110px rgba(255,255,255,.025);z-index:-1}.nutrition-banner .overline{font:700 .72rem Inter,Cairo,sans-serif;letter-spacing:.2em;color:#c3b8ff}.nutrition-banner h2{font-size:clamp(1.35rem,3vw,2rem)}.banner-orbit{font-size:5.2rem;color:#d5ccff;opacity:.8;transform:rotate(-15deg)}.food-mini{display:flex;justify-content:space-between;align-items:center;gap:.7rem;padding:.65rem 0;border-bottom:1px solid var(--line)}.food-mini:last-child{border-bottom:0}.food-library-scroll{max-height:300px;overflow:auto}.nutrition-chip{border:1px solid #e2e0f4;background:#f8f7fd;border-radius:13px;padding:.65rem .8rem;display:inline-flex;align-items:center;font-weight:600;cursor:pointer}.nutrition-chip:has(input:checked){border-color:#957de6;background:#f1edff}.nutrition-big-number{font-size:clamp(2rem,4vw,2.65rem);font-weight:800;color:var(--ink);line-height:1.3}.nutrition-big-number span{font-size:.89rem;color:var(--muted);font-weight:600}.nutrition-progress{height:9px;background:#eae7fa;border-radius:99px;margin-bottom:6px}.nutrition-progress .progress-bar{border-radius:99px;background:linear-gradient(90deg,#6852dc,#ac9af5)}.nutrition-macro{display:flex;justify-content:space-between;padding:.35rem 0;border-bottom:1px solid var(--line)}.nutrition-macro:last-child{border:0}.nutrition-macro span{color:var(--muted)}@media(max-width:575px){.nutrition-banner{padding:1.5rem}.banner-orbit{font-size:3rem}}

.nav-icon{width:19px;height:19px;min-width:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.sidebar .nav-link{transition:background .18s ease,color .18s ease,transform .18s ease}.sidebar .nav-link:hover{transform:translateX(-2px)}html[dir=ltr] .sidebar .nav-link:hover{transform:translateX(2px)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important}}
/* Premium operations dashboard */
.dashboard-hero{position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(circle at 72% 30%,rgba(176,141,255,.25),transparent 27%),linear-gradient(112deg,#121a38,#2d245f 61%,#6045ae);border-radius:24px;color:#fff;padding:2.3rem 2.5rem;box-shadow:0 18px 45px rgba(36,32,103,.18)}.dashboard-hero h2{font-size:clamp(1.5rem,3.5vw,2.2rem)}.dashboard-eyebrow{color:#c9bff9;font:700 .73rem Inter,Cairo,sans-serif;letter-spacing:.2em}.hero-orbit{position:absolute;inset:0 3% 0 auto;display:grid;place-items:center;width:30%;pointer-events:none}.hero-icon{width:140px;height:140px;fill:none;stroke:#c2b5f7;stroke-width:.8;opacity:.48;transform:rotate(-12deg)}.dashboard-hero:after{content:"";position:absolute;width:330px;height:330px;right:-120px;top:-90px;border:1px solid rgba(255,255,255,.1);border-radius:50%;box-shadow:0 0 0 60px rgba(255,255,255,.026),0 0 0 120px rgba(255,255,255,.015);z-index:-1}.stat-card-v2:before{content:none}.stat-card-v2 .stat-value{font-size:clamp(1.4rem,2.35vw,1.95rem);margin-top:0}.stat-icon{height:42px;width:42px;border-radius:13px;background:#efecff;display:grid;place-items:center;color:var(--purple)}.stat-icon .nav-icon{width:22px;height:22px}.revenue-chart{height:245px;display:flex;align-items:stretch;gap:clamp(.5rem,2vw,1.4rem);padding:1rem .3rem .25rem}.revenue-column{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:end;gap:.45rem}.revenue-column .revenue-bar{min-height:6px;width:min(100%,60px);background:linear-gradient(180deg,#9e89f6,#6b52d9);border-radius:10px 10px 4px 4px;transition:filter .2s,transform .2s}.revenue-column:hover .revenue-bar{filter:brightness(1.08);transform:scaleX(1.05)}.revenue-value{font-size:.72rem;color:var(--muted);font-family:Inter,Cairo,sans-serif}.revenue-column small{font-size:.73rem;color:var(--muted);white-space:nowrap}.outstanding-value{font-size:clamp(1.7rem,3vw,2.35rem);font-weight:800;color:var(--ink)}.outstanding-value span{font-size:.9rem;color:var(--muted)}@media(max-width:575px){.dashboard-hero{padding:1.45rem}.hero-orbit{opacity:.24}.revenue-chart{height:180px;gap:.45rem}.revenue-value{font-size:.63rem}}

/* Sidebar controls */
.sidebar-search-wrap{padding:.65rem .8rem}.sidebar-search{background:rgba(255,255,255,.08);color:#fff;border:1px solid rgba(255,255,255,.16);border-radius:12px}.sidebar-search::placeholder{color:#c8c7e0}.sidebar-search:focus{background:rgba(255,255,255,.12);color:#fff;border-color:#a28ef5;box-shadow:0 0 0 3px rgba(162,142,245,.15)}.sidebar-nav .nav-link[hidden],.sidebar-nav details[hidden]{display:none!important}@media(min-width:992px){.app-shell.sidebar-collapsed .sidebar{width:0!important;min-width:0!important;max-width:0!important;overflow:hidden!important;padding:0!important;border:0!important;visibility:hidden}.app-shell.sidebar-collapsed .workspace{margin-inline-start:0!important;width:100%!important;max-width:100%!important}.app-shell .sidebar,.app-shell .workspace{transition:width .25s ease,margin .25s ease,max-width .25s ease}}@media(prefers-reduced-motion:reduce){.app-shell .sidebar,.app-shell .workspace{transition:none!important}}

/* Member onboarding */
.member-onboarding-card{width:min(100%,1080px);margin-inline:auto;border-radius:22px}.member-onboarding-card .card-body{padding:clamp(1rem,3vw,2rem)}.member-onboarding-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.15rem 1.35rem}.member-onboarding-grid>div{min-width:0}.member-onboarding-grid .span-2{grid-column:1/-1}.member-form-heading{display:flex;align-items:center;gap:1rem;margin-top:1rem;padding:1rem 1.1rem;border-radius:16px;background:linear-gradient(110deg,rgba(102,81,216,.1),rgba(162,142,245,.05));border:1px solid rgba(102,81,216,.12)}.member-form-heading b{display:grid;place-items:center;width:40px;height:40px;flex:none;border-radius:12px;background:#6651d8;color:white}.member-form-heading h3{font-size:1rem;font-weight:800;margin:0}.member-form-heading p,.member-form-subheading p{margin:.25rem 0 0;color:#747d9b;font-size:.83rem}.member-form-subheading{padding-block:.5rem;border-bottom:1px solid #e9eaf3}.member-form-subheading h4{font-size:.94rem;font-weight:800;margin:0}.member-onboarding-grid label{display:block;margin-bottom:.4rem;font-weight:700}.member-onboarding-grid .form-control,.member-onboarding-grid .form-select{min-height:46px}@media(max-width:650px){.member-onboarding-grid{grid-template-columns:minmax(0,1fr);gap:1rem}.member-onboarding-card .card-body{padding:1rem}.member-form-heading{padding:.85rem}}

/* Member filter toolbar: avoid inherited flex widths squeezing buttons */
.members-filter-toolbar{display:block!important}.members-filter-actions{display:flex!important;align-items:end!important;gap:1rem!important;flex-wrap:wrap!important;width:100%!important;min-width:0}.members-filter-form{display:grid!important;grid-template-columns:minmax(220px,2fr) minmax(135px,1fr) minmax(135px,1fr) auto;gap:.75rem;align-items:end;flex:1 1 690px;min-width:0;width:auto!important}.members-filter-field{min-width:0;width:auto!important;max-width:none!important;padding:0!important;flex:none!important}.members-filter-field .form-control,.members-filter-field .form-select{width:100%;min-width:0}.members-filter-buttons{display:flex;align-items:stretch;gap:.5rem;min-width:max-content;white-space:nowrap}.members-filter-buttons .btn,.members-create-button{width:auto!important;min-width:44px;min-height:44px;white-space:nowrap;flex:0 0 auto!important;padding:.55rem .85rem!important}.members-search-button{min-width:84px!important}.members-clear-button{display:inline-flex;align-items:center;justify-content:center}.members-create-button{align-self:end}@media(max-width:1050px){.members-filter-form{grid-template-columns:minmax(180px,2fr) minmax(125px,1fr) minmax(125px,1fr)}.members-filter-buttons{grid-column:1/-1;justify-content:start}}@media(max-width:650px){.members-filter-form{grid-template-columns:minmax(0,1fr) minmax(0,1fr);flex-basis:100%}.members-filter-query{grid-column:1/-1}.members-filter-buttons{grid-column:1/-1}.members-filter-actions{align-items:stretch!important}.members-create-button{width:100%!important;text-align:center}}

.fitness-goal-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem}.fitness-goal-option{position:relative;cursor:pointer;margin:0!important}.fitness-goal-option input{position:absolute;opacity:0;width:1px;height:1px}.fitness-goal-option span{display:flex;align-items:center;justify-content:center;min-height:50px;padding:.65rem;text-align:center;border:1px solid #dcdcf0;border-radius:13px;background:#fafaff;transition:background .2s,border-color .2s,box-shadow .2s}.fitness-goal-option input:checked+span{background:#ede9ff;border-color:#6b52d9;color:#5136b8;box-shadow:inset 0 0 0 1px #6b52d9}.fitness-goal-option input:focus-visible+span{outline:3px solid #a18af8;outline-offset:3px}@media(max-width:650px){.fitness-goal-options{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Class scheduling and bookings */
.class-create-card,.class-session-card{border-radius:20px;overflow:hidden}.class-create-card .card-body{padding:clamp(1rem,2.5vw,1.75rem)}.class-section-header{display:flex;align-items:center;gap:.85rem;padding:1rem 1.5rem!important;background:linear-gradient(110deg,#f7f5ff,#fff)}.class-section-header strong,.class-section-header small{display:block}.class-section-header strong{font-weight:800}.class-section-header small{font-size:.78rem;color:var(--muted);margin-top:.2rem}.class-section-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:13px;background:#ece7ff;color:#6045ce;font-size:1.4rem}.class-create-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.1rem 1.3rem}.class-create-grid>div{min-width:0}.class-create-grid .span-2{grid-column:1/-1}.class-create-grid label{display:block;margin-bottom:.45rem;font-weight:700}.class-create-grid .form-control,.class-create-grid .form-select{width:100%;min-height:48px}.class-create-grid input[type=datetime-local]{direction:ltr;text-align:start}.class-form-actions{display:flex;justify-content:flex-start;border-top:1px solid #e9eaf3;padding-top:1rem}.class-form-actions .btn{min-width:130px;min-height:45px}.class-list-heading{display:flex;align-items:center;gap:.75rem;margin:1.5rem 0 1rem}.class-list-heading h3{font-size:1.1rem;font-weight:800;margin:0}.class-list-heading span{padding:.25rem .65rem;border-radius:30px;background:#eeeaff;color:#5c45cb;font-weight:800;font-size:.78rem}.class-session-card{transition:transform .2s,box-shadow .2s}.class-session-card:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(31,28,81,.09)}.class-session-card .card-body{padding:1.35rem}.class-session-heading{display:flex;align-items:start;justify-content:space-between;gap:.75rem}.class-session-heading h2{min-width:0;overflow-wrap:anywhere}.class-session-meta{display:flex;flex-wrap:wrap;gap:.45rem 1rem;margin:.8rem 0;color:var(--muted);font-size:.86rem}.class-capacity-track{height:7px;border-radius:20px;background:#eeecf9;overflow:hidden;margin:0 0 1.2rem}.class-capacity-track span{display:block;height:100%;background:linear-gradient(90deg,#7158e2,#a48cf5);border-radius:20px}.class-booking-form{display:flex;align-items:stretch;gap:.65rem}.class-booking-form .form-select{min-width:0;flex:1}.class-booking-form .btn{flex:none;min-width:75px}.class-booking-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.7rem;padding:.85rem 0;border-top:1px solid #ededf5}.class-booking-row>span{flex:1 1 150px;min-width:0}.class-booking-row form{margin:0}@media(max-width:650px){.class-create-grid{grid-template-columns:minmax(0,1fr)}.class-create-card .card-body,.class-session-card .card-body{padding:1rem}.class-section-header{padding:1rem!important}.class-booking-form{flex-wrap:wrap}.class-booking-form .form-select{flex-basis:100%}.class-booking-form .btn{width:100%}.class-booking-row{align-items:start}}@media(prefers-reduced-motion:reduce){.class-session-card{transition:none}.class-session-card:hover{transform:none}}

.class-overview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.class-overview>div{padding:1.2rem;border-radius:18px;background:#fff;border:1px solid #e8e8f3;box-shadow:0 5px 18px rgba(30,30,70,.035)}.class-overview span{display:block;font-size:.83rem;color:#747b97}.class-overview strong{display:block;font-size:1.7rem;margin-top:.35rem;color:#29224c}.class-create-card>summary{cursor:pointer;list-style:none}.class-create-card>summary::-webkit-details-marker{display:none}.class-create-card>summary:after{content:'⌄';margin-inline-start:auto;font-size:1.3rem}.class-create-card[open]>summary:after{content:'⌃'}.class-index-table{background:#fff;border:1px solid #e8e8f3;border-radius:18px;overflow:hidden}.class-index-table .table{margin:0}.class-index-table th{background:#f6f6fc;color:#6d7490;font-size:.82rem;white-space:nowrap}.class-index-table td,.class-index-table th{padding:1rem}.class-index-table td{white-space:nowrap}@media(max-width:650px){.class-overview{grid-template-columns:1fr 1fr}.class-overview>div:last-child{grid-column:1/-1}.class-overview>div{padding:.85rem}.class-overview strong{font-size:1.35rem}}
