:root{--green:#b6ef3b;--green-dark:#4b7811;--mint:#efffcf;--cream:#f5f7f2;--ink:#182018;--muted:#69736a;--line:#dfe6d8;--shadow:0 18px 45px rgba(22,32,18,.10)}
body{background:#e8ede5;letter-spacing:.01em;position:relative}
body:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.28;background-image:linear-gradient(135deg,rgba(182,239,59,.22),transparent 38%),repeating-linear-gradient(135deg,transparent 0 42px,rgba(24,32,24,.025) 43px 44px);z-index:-1}
.sidebar{background:linear-gradient(160deg,#151b17 0%,#202a20 58%,#111511 100%);box-shadow:8px 0 32px rgba(14,20,14,.25)}
.brand{font-size:19px;letter-spacing:-.45px;color:#f3f7ef}.brand-accent{color:var(--green)}.brand-mark{width:36px;height:36px;border-radius:11px;background:var(--green);color:#172016;box-shadow:0 0 0 4px rgba(182,239,59,.12),0 8px 18px rgba(182,239,59,.18);display:grid;place-items:center}.brand-mark svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.brand-mark .brand-bolt{fill:#172016;stroke:#172016;stroke-width:1}
.nav-item{transition:all .18s ease;border:1px solid transparent}.nav-item.active{background:rgba(182,239,59,.14);border-color:rgba(182,239,59,.2);box-shadow:inset 3px 0 var(--green);color:#f4f8ef}.nav-item:hover{background:rgba(182,239,59,.08)}
.topbar{height:82px;background:rgba(246,249,243,.88);backdrop-filter:blur(14px);padding:0 5.5%;border-bottom-color:rgba(35,50,28,.1)}.page-heading h1{letter-spacing:-1.2px}.eyebrow{color:#668b21}.primary-button{border-radius:10px;background:linear-gradient(135deg,#b6ef3b,#7ec51f);color:#162013;padding:13px 20px;box-shadow:0 9px 20px rgba(92,133,24,.24)}.primary-button:hover{background:linear-gradient(135deg,#c4f557,#8bd52a);box-shadow:0 12px 24px rgba(92,133,24,.3)}
.stat-card{border:1px solid rgba(115,140,87,.16);background:rgba(250,252,247,.88)}.stat-icon.green{background:#e6f8bd;color:#4d7519}.panel{border:1px solid rgba(115,140,87,.16);background:rgba(250,252,247,.9)}.schedule-item:hover{border-color:#b6d882;box-shadow:0 8px 18px rgba(74,104,26,.1)}.schedule-time{color:#4b7811}.search-box{background:#f8fbf5;border-color:#d8e3cc}.search-box:focus-within{border-color:#91bd43;box-shadow:0 0 0 3px #edf8d8}.modal-backdrop{background:rgba(13,18,13,.64);backdrop-filter:blur(7px)}.modal{border:1px solid rgba(182,239,59,.25);border-radius:19px;box-shadow:0 30px 80px rgba(7,11,6,.38)}.modal input,.modal select,.modal textarea{border-color:#d5dfca;background:#fbfdf9}.modal input:focus,.modal select:focus,.modal textarea:focus{border-color:#8bbd38;box-shadow:0 0 0 3px #edf8d8}.outline-button{border-color:#c2d7a0!important;color:#4b7811!important;background:#fbfdf8!important}.auth-gate #auth-modal .modal{background:linear-gradient(145deg,#f8fbf5,#edf4e6)}

.fitness-hero{min-height:220px;border-radius:22px;overflow:hidden;position:relative;display:flex;align-items:center;justify-content:space-between;padding:34px 42px;margin:0 0 28px;color:#f7faef;background:linear-gradient(90deg,rgba(9,15,11,.94) 0%,rgba(9,15,11,.66) 52%,rgba(9,15,11,.3) 100%),url('assets/gym-floor.jpg') center 58%/cover;box-shadow:0 18px 35px rgba(18,27,15,.2)}.fitness-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 58%,rgba(182,239,59,.25));pointer-events:none}.fitness-hero-copy{position:relative;z-index:1;max-width:580px}.fitness-hero-copy .eyebrow{color:#c7fa62;margin-bottom:10px}.fitness-hero-copy h2{font:800 32px/1.05 Manrope;margin:0 0 10px;letter-spacing:-1px}.fitness-hero-copy h2 em{font-style:normal;color:#b6ef3b}.fitness-hero-copy p{margin:0;color:#dce8d5;font-size:13px}.fitness-hero-badge{position:relative;z-index:1;border:1px solid rgba(182,239,59,.7);border-radius:50%;width:104px;height:104px;display:grid;place-content:center;text-align:center;color:#b6ef3b;font-size:11px;letter-spacing:2px;transform:rotate(-11deg);background:rgba(10,18,11,.45)}.fitness-hero-badge strong{font-size:19px;letter-spacing:1px}.auth-gate #auth-modal .modal{background:linear-gradient(145deg,rgba(245,250,238,.97),rgba(229,239,216,.97));background-image:linear-gradient(145deg,#182118,#2b3725);color:#fff}.auth-gate #auth-modal .modal:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(9,15,11,.9),rgba(9,15,11,.62));border-radius:inherit;z-index:-1}.auth-gate #auth-modal .modal>*{position:relative}.auth-gate #auth-modal .modal h2,.auth-gate #auth-modal .modal label,.auth-gate #auth-modal .modal .eyebrow,.auth-gate #auth-modal .modal .muted{color:#fff}.auth-gate #auth-modal .modal input{background:rgba(255,255,255,.95);color:#182018}
