
:root{font-family:Inter,"Segoe UI",Arial,sans-serif;color:#243533;background:#f5f7f8;font-size:16px;--green:#173f3e;--accent:#c5eeea;--border:#e4e9e9;--muted:#71817e;--surface:#fff;--danger:#b53c42}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}svg{width:20px;height:20px;flex-shrink:0}button{border:0}button:disabled{cursor:wait;opacity:.65}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #4a9591;outline-offset:3px}input:focus,select:focus,textarea:focus{outline:2px solid #78b5b1;outline-offset:1px}h1,h2,h3,p{margin:0}small{font-size:.8125rem}strong{font-weight:600}.initial,.connection-error{padding:70px;text-align:center}.connection-error p{margin:20px}.shell{display:flex;min-height:100vh}.sidebar{width:248px;background:var(--green);color:#c7d5d2;position:fixed;top:0;bottom:0;display:flex;flex-direction:column;padding:32px 18px 18px;z-index:10}.brand{display:flex;gap:12px;align-items:center;color:#fff;font-size:2rem;font-weight:650;letter-spacing:-1.4px;padding:0 12px}.brand-mark{width:43px;height:43px;background:var(--accent);color:var(--green);border-radius:12px;display:grid;place-items:center}.brand-mark svg{width:28px;height:28px}.brand div>span{display:block;font-size:.625rem;letter-spacing:1.5px;color:#adbfba;margin-top:2px;font-weight:500}.workspace{display:flex;gap:11px;align-items:center;padding:17px 12px;background:#ffffff09;border:1px solid #ffffff14;border-radius:10px;margin:34px 0 30px}.workspace-symbol{width:34px;height:34px;border:1px solid #ffffff25;border-radius:8px;display:grid;place-items:center;font-weight:600;color:#e0f2ef}.workspace strong{font-size:.875rem;color:#edf4f1}.workspace small{display:block;color:#93aaa3;margin-top:4px}.nav-label{font-size:.6875rem;letter-spacing:1.6px;color:#8aa39b;padding:0 14px;margin-bottom:16px}.sidebar nav{display:flex;flex-direction:column;gap:6px}.nav-item{display:flex;align-items:center;gap:12px;padding:13px 14px;border-radius:8px;font-size:.875rem;color:#b8ccc4;transition:background .15s}.nav-item.active{background:var(--accent);color:#18382c;font-weight:600}.nav-item:not(.active):hover{background:#ffffff0b;color:white}.nav-item b{font-size:.75rem;margin-left:auto;border-radius:5px;padding:2px 6px;background:#ffffff12}.nav-item.active b{background:#112f2c12}.sidebar-note{display:flex;gap:8px;color:#97b1a7;font-size:.8125rem;line-height:1.6;margin-top:auto;padding:36px 15px 24px}.sidebar-note svg{width:17px;margin-top:2px}.user-panel{display:flex;align-items:center;gap:10px;border-top:1px solid #ffffff17;padding:18px 6px 0}.user-panel div{min-width:0;flex:1}.user-panel strong{display:block;font-size:.8125rem;color:#eff4f2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-panel small{display:block;color:#8fa89f;margin-top:4px;font-size:.75rem}.main{margin-left:248px;flex:1;min-width:0}.topbar{height:75px;background:#fff;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 38px;gap:20px;font-size:.875rem}.breadcrumb{color:#7c8b87}.breadcrumb span{margin:0 12px;color:#bac4c0}.breadcrumb strong{color:#40534b;font-weight:500}.top-date{color:#70817a}main{max-width:1700px;margin:0 auto;padding:37px 38px 20px}.page-head{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:30px}.eyebrow{font-size:.6875rem;letter-spacing:1.8px;color:#728a7d;font-weight:650;margin-bottom:9px}h1{font-size:1.875rem;font-weight:650;letter-spacing:-.9px;line-height:1.2}.page-head p{color:var(--muted);font-size:.875rem;margin-top:10px;line-height:1.6}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 16px;border:1px solid transparent;border-radius:8px;white-space:nowrap;font-size:.875rem;font-weight:550;min-height:42px}.primary{background:var(--green);color:white}.primary:hover{background:#204b41}.secondary{color:#425a50;background:#fff;border-color:var(--border)}.secondary:hover,.secondary.selected{background:#f0f6ec;border-color:#abc296}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;min-height:34px;padding:6px;border:1px solid transparent;background:transparent;color:#73857b;border-radius:6px}.icon-btn:hover{background:#eff4f1;border-color:#dfe8e1}.user-panel .icon-btn{color:#a7bbb2}.user-panel .icon-btn:hover{background:#ffffff12}.danger{color:var(--danger)}.text-button{padding:0;background:none;color:#284c3f;font-size:.875rem;text-align:left;font-weight:600}.text-button:hover{text-decoration:underline}.small-btn{font-size:.8125rem;min-height:32px;border:1px solid #dfebd8;color:#416338;background:#f2f8ed;border-radius:6px;padding:6px 9px;display:flex;gap:5px;align-items:center}.small-btn svg{width:15px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:25px}.stats>div{background:#fff;border:1px solid var(--border);padding:21px 24px;border-radius:10px}.stats span{font-size:.875rem;color:#6b8075;display:block}.stats strong{display:block;font-size:1.8rem;line-height:1.2;letter-spacing:-.6px;margin:12px 0 8px}.stats small{font-size:.75rem;color:#8a9891}.stats>div:first-child{border-top:3px solid #7eaa55;padding-top:19px}.surface{background:white;border:1px solid var(--border);border-radius:12px;box-shadow:0 3px 8px #17382e03;overflow:visible;min-width:0}.toolbar{display:flex;gap:20px;align-items:center;justify-content:space-between;padding:21px 24px;border-bottom:1px solid var(--border)}.search{border:1px solid var(--border);display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:7px;max-width:400px;width:100%;color:#8a9891;background:#fff}.search input{border:0;outline:none;width:100%;background:transparent;font-size:.875rem;color:#344b40;min-width:0;height:21px}.search input::placeholder{color:#929f99}.search svg{width:18px}.toolbar-right{display:flex;align-items:center;gap:18px;flex-shrink:0}.count{color:#87968e;font-size:.8125rem}.table-scroll{overflow-x:auto;width:100%;border-radius:0 0 12px 12px}table{width:100%;border-collapse:collapse;font-size:.875rem;text-align:left;white-space:nowrap}thead{background:#fafcfc;color:#89978f}th{font-size:.6875rem;letter-spacing:.8px;font-weight:600;padding:16px 22px;border-bottom:1px solid var(--border)}td{padding:20px 22px;border-bottom:1px solid #edf1ed;color:#53665c}td strong{color:#31483b;font-size:.875rem}td>small{display:block;color:#88978e;font-size:.75rem;margin-top:6px}tr:last-child td{border-bottom:0}tbody tr:hover{background:#fcfdfb}.person{display:flex;align-items:center;gap:11px}.avatar{width:38px;height:38px;background:#f0f3ec;color:#627556;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:650;border-radius:50%;flex-shrink:0}.avatar.dark{background:#27443a;color:#c7dfb2;width:35px;height:35px}.person small{display:block;margin-top:5px;font-size:.75rem;color:#8a998f}.badge{display:inline-flex;align-items:center;justify-content:center;padding:5px 9px;border-radius:5px;font-size:.75rem;font-weight:550;white-space:nowrap;border:1px solid transparent}.badge.success{color:#53783a;background:#eef6e7;border-color:#e3eed8}.badge.muted{color:#8a9188;background:#f1f3ef;border-color:#e8ede4}.badge.info{color:#507792;background:#edf5fa;border-color:#e1edf4}.badge.warning{color:#9e7733;background:#fff5df;border-color:#f6e7c3}.muted{color:#819189;font-size:.875rem}.lesson-remaining{font-weight:650;color:#344e3e}.row-actions{display:flex;align-items:center;gap:5px}.row-menu{position:relative}.row-menu summary{list-style:none;cursor:pointer;padding:6px;border-radius:5px;display:flex;color:#73857b}.row-menu summary::-webkit-details-marker{display:none}.row-menu[open] summary{background:#eef4e8}.row-menu>div{position:absolute;right:0;top:35px;background:white;box-shadow:0 8px 35px #112f2c26;border:1px solid var(--border);border-radius:9px;padding:6px;min-width:185px;z-index:50}.row-menu button{background:none;display:block;padding:10px 12px;color:#40584a;width:100%;font-size:.875rem;text-align:left;border-radius:4px}.row-menu button:hover{background:#eff5ea}.filters{padding:20px 24px;display:grid;grid-template-columns:repeat(3,1fr);gap:16px;background:#fafcf9;border-bottom:1px solid var(--border)}.filters .field{margin:0}.empty{padding:64px 24px 72px;text-align:center}.empty-icon{width:64px;height:64px;border-radius:18px;display:grid;place-items:center;background:#f0f5ec;color:#7a9c59;margin:0 auto 22px}.empty-icon svg{width:29px;height:29px}.empty h3{font-size:1.125rem;font-weight:600;color:#354f3e}.empty p{font-size:.875rem;color:#839185;margin:10px auto 22px;max-width:465px;line-height:1.8}.page-footer{display:flex;justify-content:space-between;gap:20px;margin-top:22px;font-size:.75rem;color:#95a099}.package-name{display:flex;align-items:center;gap:12px}.package-name>span{background:#f0f4e8;padding:8px;border-radius:7px;color:#7b925d;display:flex}.section-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px;border-bottom:1px solid var(--border)}.section-toolbar p{margin-top:5px}.equipment-grid{padding:24px;display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.equipment-card{border:1px solid var(--border);border-radius:10px;padding:24px}.equipment-title{display:flex;justify-content:space-between;align-items:center}.equipment-icon{background:#eff4e8;padding:10px;display:flex;border-radius:8px;color:#5e8050}.equipment-icon svg{width:30px;height:30px}.equipment-card h3{font-size:1.125rem;margin-top:25px}.equipment-card p{font-size:.875rem;color:#849488;margin-top:10px;margin-bottom:25px}.equipment-card .btn{width:100%}.calendar-toolbar{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:20px 24px;border-bottom:1px solid var(--border)}.calendar-date,.calendar-controls{display:flex;align-items:center;gap:12px}.calendar-date strong{font-size:.9375rem}.calendar-controls input{font-size:.875rem;border:1px solid var(--border);border-radius:7px;padding:9px;color:#5b6b61;background:white}.segmented{display:flex;background:#f0f3ee;border:1px solid var(--border);border-radius:7px;padding:3px}.segmented button{background:none;color:#81907f;font-size:.8125rem;padding:7px 12px;border-radius:5px}.segmented button.chosen{background:white;color:#385039;box-shadow:0 1px 4px #00000008}.calendar-scroll{overflow-x:auto}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(125px,1fr));min-height:460px;min-width:880px}.calendar-grid.one-day{grid-template-columns:1fr;min-width:0}.calendar-column{border-right:1px solid var(--border);min-width:0}.calendar-column:last-child{border:0}.day-head{text-align:center;padding:18px 8px;background:#fcfdfb;border-bottom:1px solid var(--border)}.day-head>span{text-transform:uppercase;letter-spacing:1px;font-size:.6875rem;color:#8f9e8f;display:block}.day-head button{background:transparent;color:#435a43;font-size:1.25rem;width:40px;height:40px;border-radius:50%;margin:7px 0 3px;font-weight:600}.day-head.today button{background:var(--green);color:var(--accent)}.day-head small{display:block;color:#9ba894;font-size:.6875rem}.day-events{padding:12px 8px;display:flex;flex-direction:column;gap:10px}.calendar-event{background:#f2f6ed;border:1px solid #e3ebd8;border-left:3px solid #4a9591;border-radius:6px;padding:10px;overflow:hidden}.calendar-event.completed{background:#f1f7f5;border-color:#d9eae3;border-left-color:#4a9591}.event-open{display:block;background:none;text-align:left;padding:0;width:100%;color:#425b3a}.event-time{display:block;font-size:.75rem;color:#799363;font-weight:600;margin-bottom:10px}.event-open strong{display:block;font-size:.8125rem;line-height:1.5;white-space:normal}.event-open small{display:block;font-size:.75rem;color:#8c9b85;margin-top:7px}.event-open>span:last-child{font-size:.6875rem;display:block;color:#7e9274;margin-top:8px}.event-complete{width:100%;display:flex;align-items:center;justify-content:center;background:#ffffff88;font-size:.75rem;border:1px solid #dee9d2;border-radius:4px;padding:5px;color:#657e51;gap:4px;margin-top:12px}.event-complete svg{width:12px;height:12px}.calendar-event>.badge{margin-top:10px}.day-add{display:flex;align-items:center;gap:5px;border:1px dashed #dfe7d7;color:#8c9c80;font-size:.75rem;padding:11px 6px;border-radius:6px;background:transparent;justify-content:center}.day-add svg{width:14px;height:14px}.day-add:hover{background:#f4f7f0}.calendar-legend{display:flex;align-items:center;gap:22px;border-top:1px solid var(--border);padding:16px 24px;font-size:.75rem;color:#83937c}.calendar-legend span{display:flex;align-items:center;gap:6px}.calendar-legend i{width:8px;height:8px;border-radius:2px;background:#4a9591}.calendar-legend .completed-key{background:#4a9591}.calendar-legend p{margin-left:auto;color:#98a292}.status-tabs,.detail-tabs{display:flex;gap:20px;padding:0 24px;border-bottom:1px solid var(--border)}.status-tabs button,.detail-tabs button{padding:16px 0;font-size:.875rem;color:#899683;background:none;border-bottom:2px solid transparent}.status-tabs button.chosen,.detail-tabs button.chosen{color:#3f5a38;border-bottom-color:#7b9e54;font-weight:600}.balance-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;padding:24px}.balance-summary>div{padding:24px;background:#f6f8f2;border-radius:9px;border:1px solid #e7eddf}.balance-summary span{font-size:.875rem;color:#7e9370}.balance-summary strong{font-size:1.8rem;display:block;margin:14px 0 8px;letter-spacing:-.5px}.balance-summary small{color:#899a7c;font-size:.75rem}.balance-summary .company-balance{background:#225b58;color:#e7f4d9;border-color:#225b58}.company-balance span,.company-balance small{color:#a4c592}.trainer-balances{padding:0 24px 24px;display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.trainer-balances>div{display:flex;align-items:center;justify-content:space-between;border:1px solid var(--border);padding:14px 18px;border-radius:6px;font-size:.875rem}.trainer-balances small{display:block;color:#96a08a;font-size:.75rem;margin-top:5px}.audit{border-top:1px solid var(--border);margin:20px 0 0}.audit summary{padding:20px 24px;color:#879780;cursor:pointer;font-size:.875rem}.audit table{white-space:normal}dialog{padding:0;border:1px solid #dce6d5;border-radius:14px;width:min(560px,calc(100vw - 30px));max-height:90vh;box-shadow:0 25px 100px #0c27183d;color:#305c59}dialog.wide{width:min(820px,calc(100vw - 30px))}dialog::backdrop{background:#102f24a1;backdrop-filter:blur(2px)}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:24px 28px;border-bottom:1px solid var(--border);position:sticky;top:0;background:#fff;z-index:1}.modal-head small{font-size:.625rem;letter-spacing:1.6px;color:#9bac8e}.modal-head h2{font-size:1.25rem;margin-top:6px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding:26px 28px}.field{display:flex;flex-direction:column;gap:8px;min-width:0}.field>span{font-size:.875rem;color:#65795a;font-weight:500}.field input,.field select,.field textarea{width:100%;min-width:0;border:1px solid #d7e8e5;border-radius:7px;padding:11px 12px;font-size:.875rem;background:white;color:#415637;min-height:43px}.field textarea{resize:vertical;line-height:1.6}.full{grid-column:1/-1}.check{display:flex;align-items:center;gap:10px;font-size:.875rem;color:#6f815f}.check input{accent-color:#47693c;width:17px;height:17px}.form-note{background:#f3f7ee;border:1px solid #e3ebda;color:#7b906b;padding:15px 17px;border-radius:7px;font-size:.8125rem;line-height:1.8}.form-note.warn{background:#fff7e8;border-color:#f0dfbc;color:#977945}.form-section{font-size:.9375rem;padding-top:16px;border-top:1px solid var(--border)}.form-section small{color:#a4ad98;font-weight:400;margin-left:8px}.modal-foot{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:18px 28px;background:#f9fbf6;border-top:1px solid var(--border)}.form-error{color:#b53c42;font-size:.875rem;line-height:1.6;margin:0 28px 15px}.form-error:empty{display:none}.confirm-copy{font-size:.9375rem;line-height:1.8;color:#718367}.detail-body{padding:26px 28px}.member-detail-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.detail-tabs{padding:0;gap:26px}.info-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px 28px;margin:25px 0}.info-grid dt{font-size:.8125rem;color:#9ca98e;margin-bottom:8px}.info-grid dd{margin:0;font-size:.9375rem;line-height:1.5;overflow-wrap:anywhere}.detail-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}.subscription-list{display:flex;flex-direction:column;gap:16px;margin-top:24px}.subscription-card{border:1px solid var(--border);border-radius:9px;padding:20px}.subscription-card>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:15px}.subscription-card h3{font-size:1rem}.subscription-card p{font-size:.8125rem;color:#8b9a7d;margin-top:10px}.subscription-numbers{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:22px;font-size:.8125rem;color:#8b9b7b}.subscription-numbers strong{display:block;font-size:1.25rem;margin-bottom:6px;color:#405b35}.subscription-numbers small{display:block;font-size:.75rem;margin-top:8px;color:#95a484}.payment-split{display:grid;grid-template-columns:1fr 1fr;gap:15px;background:#f1f6e9;border-radius:8px;padding:20px}.payment-split span{color:#82956f;font-size:.8125rem}.payment-split strong{display:block;font-size:1.375rem;margin-top:9px}.detail-body .table-scroll{margin:20px 0}.detail-body td,.detail-body th{padding:15px 12px}.auth-shell{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;background:white}.auth-story{padding:45px 55px;display:flex;flex-direction:column;justify-content:space-between;gap:60px;background:var(--green);color:#e7f5f3}.auth-story>.brand{padding:0}.auth-story h1{font-size:3.5rem;font-weight:550;line-height:1.15;letter-spacing:-2px;color:#edf8f7}.auth-story .eyebrow{color:#a8d3cf;letter-spacing:2px;margin-bottom:25px}.auth-story p{margin-top:24px;color:#b1cfcb;font-size:1rem;line-height:1.8;max-width:380px}.auth-points{display:flex;flex-direction:column;gap:18px;margin-top:40px;font-size:.875rem;color:#c0dcda}.auth-points span{display:flex;align-items:center;gap:10px}.auth-points svg{color:#9bd4cf;width:18px}.auth-story>small{color:#99c1bc}.auth-form-side{display:flex;justify-content:center;align-items:center;padding:50px}.auth-card{width:390px;max-width:100%}.auth-card h2{font-size:1.8rem;line-height:1.3;letter-spacing:-.6px;color:#285552;margin-bottom:12px}.auth-card>p{font-size:.9375rem;line-height:1.8;color:#78918e;margin-bottom:30px}.auth-card form{display:flex;flex-direction:column;gap:20px}.auth-card form .form-error{margin:0}.auth-card>small{display:block;color:#8ca6a1;font-size:.8125rem;line-height:1.8;margin-top:24px}.auth-card .primary{width:100%;margin-top:4px}.auth-card .field input{padding:13px 14px;min-height:48px}#toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,20px);max-width:min(550px,90vw);padding:15px 22px;border-radius:10px;background:#286864;color:#e8f7f5;box-shadow:0 5px 35px #16331e30;font-size:.875rem;line-height:1.5;opacity:0;pointer-events:none;transition:all .2s;z-index:100}#toast.visible{opacity:1;transform:translate(-50%,0)}#toast.error{background:#914347;color:#fff}@media(min-width:1800px){main{padding-top:45px}.stats{gap:24px}.sidebar{width:270px}.main{margin-left:270px}}@media(max-width:1250px){.sidebar{width:220px;padding-left:12px;padding-right:12px}.main{margin-left:220px}main{padding:28px 24px}.topbar{padding:0 24px}.stats{gap:12px}.stats>div{padding:18px}.stats strong{font-size:1.5rem}.page-head{gap:15px}.page-head p{max-width:480px}.equipment-grid{grid-template-columns:repeat(2,1fr)}.calendar-toolbar{flex-wrap:wrap}.auth-story h1{font-size:3rem}}@media(max-width:950px){.sidebar{width:76px;padding:24px 10px 15px;align-items:center}.brand{padding:0;font-size:0}.brand div{display:none}.brand-mark{width:40px;height:40px}.workspace,.nav-label,.sidebar-note,.user-panel>div,.user-panel>.avatar,.nav-item span,.nav-item b{display:none}.sidebar nav{width:100%;margin-top:40px;gap:10px}.nav-item{justify-content:center;padding:14px}.nav-item svg{width:22px;height:22px}.user-panel{margin-top:auto;padding-top:15px}.main{margin-left:76px}.stats{grid-template-columns:repeat(2,1fr)}.top-date{font-size:.75rem}.balance-summary{grid-template-columns:1fr}.balance-summary strong{font-size:1.5rem}.trainer-balances{grid-template-columns:1fr}.page-footer span:last-child{display:none}.auth-story{padding:35px}.auth-story>.brand div{display:block}.auth-story>.brand{font-size:2rem}.auth-story h1{font-size:2.5rem}.auth-form-side{padding:35px}.auth-card h2{font-size:1.5rem}}@media(max-width:650px){.shell{display:block}.sidebar{position:static;width:100%;height:auto;flex-direction:row;padding:12px 15px;gap:20px;align-items:center;flex-wrap:wrap}.sidebar>.brand{font-size:1.5rem;gap:8px}.sidebar>.brand div{display:block}.brand div>span{display:none}.brand-mark{width:33px;height:33px;border-radius:8px}.brand-mark svg{width:23px;height:23px}.sidebar nav{order:3;margin:0;display:flex;flex-direction:row;overflow-x:auto;gap:4px;width:100%}.nav-item{padding:10px;flex-shrink:0}.nav-item span{display:inline;font-size:.8125rem}.nav-item svg{width:17px;height:17px}.user-panel{margin:0 0 0 auto;padding:0;border:0}.user-panel>div{display:block}.user-panel strong{max-width:140px;font-size:.75rem}.user-panel small{font-size:.6875rem}.user-panel>.avatar{display:none}.main{margin:0}.topbar{height:48px;padding:0 20px}.top-date{display:none}main{padding:25px 16px 15px}.page-head{align-items:flex-start;flex-wrap:wrap;margin-bottom:22px}.page-head h1{font-size:1.6rem}.page-head p{font-size:.875rem}.page-head>.btn{width:100%}.stats{gap:10px;margin-bottom:20px}.stats>div{padding:15px}.stats strong{font-size:1.375rem}.stats small{font-size:.6875rem}.stats span{font-size:.8125rem}.toolbar{padding:16px;flex-wrap:wrap;gap:12px}.search{max-width:none}.toolbar-right{justify-content:space-between;width:100%}.filters{grid-template-columns:1fr;padding:20px}.section-toolbar{padding:20px;align-items:flex-start;flex-direction:column}.equipment-grid{grid-template-columns:1fr;padding:16px}.calendar-toolbar{padding:16px;gap:12px}.calendar-date{gap:4px;flex-wrap:wrap}.calendar-date strong{font-size:.875rem}.calendar-controls{width:100%;justify-content:space-between;gap:8px}.calendar-controls input{min-width:0;max-width:160px}.calendar-legend{padding:16px;gap:15px;flex-wrap:wrap}.calendar-legend p{width:100%;margin:0;line-height:1.6}.status-tabs{gap:18px;padding:0 16px;overflow:auto}.status-tabs button{white-space:nowrap;font-size:.8125rem}.balance-summary{padding:16px;gap:12px}.trainer-balances{padding:0 16px 16px}.form-grid{grid-template-columns:1fr;padding:22px;gap:18px}.modal-head{padding:20px 22px}.modal-head h2{font-size:1.125rem}.modal-foot{padding:18px 22px}.form-error{margin-left:22px;margin-right:22px}.detail-body{padding:22px}.info-grid{grid-template-columns:1fr;gap:20px}.subscription-numbers{grid-template-columns:1fr;gap:18px}.subscription-card>div:first-child{flex-wrap:wrap}.payment-split{padding:17px;gap:10px}.payment-split strong{font-size:1.125rem}.detail-tabs{gap:18px}.detail-tabs button{font-size:.8125rem}.auth-shell{grid-template-columns:1fr}.auth-story{padding:25px;gap:35px}.auth-story h1{font-size:2.2rem;letter-spacing:-1px}.auth-story p,.auth-points,.auth-story>small{display:none}.auth-story .eyebrow{margin-bottom:15px;font-size:.625rem}.auth-form-side{padding:32px 25px 50px}.auth-card{width:100%}.auth-card h2{font-size:1.5rem}.page-footer{font-size:.6875rem}.empty{padding:45px 20px 50px}}@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}


.member-picker{display:grid;grid-template-columns:1fr 1fr;gap:14px 20px}.member-picker>small{grid-column:1/-1;font-size:.8125rem;line-height:1.5}@media(max-width:650px){.member-picker{grid-template-columns:1fr}}

.member-picker{display:block;position:relative}.member-picker>small{display:block;margin-top:7px}.member-picker>small:empty{display:none}.member-results{position:absolute;top:78px;left:0;right:0;max-height:250px;overflow:auto;background:white;border:1px solid #d7e8e5;border-radius:8px;box-shadow:0 10px 25px #112f2c20;z-index:5;padding:5px}.member-results[hidden]{display:none}.member-results button{display:block;width:100%;text-align:left;padding:11px 12px;border-radius:5px;background:white;color:#305c59}.member-results button:hover,.member-results button[aria-selected="true"]{background:#eef5e7}.member-results strong{display:block;font-size:.875rem}.member-results small{display:block;font-size:.8125rem;color:#819189;margin-top:5px}.member-no-result{padding:15px;font-size:.875rem;color:#819189}

.inline-membership-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:18px}#lesson-payment-status{display:flex;align-items:center;gap:12px;flex-wrap:wrap}#lesson-payment-status[hidden],#lesson-membership-fields[hidden]{display:none}@media(max-width:650px){.inline-membership-grid{grid-template-columns:1fr}}

.calendar-event.planned{background:#fff8db;border-color:#f2de8f;border-left-color:#e1b425}.calendar-event.planned .event-open{color:#6d5210}.calendar-event.planned .event-time{color:#83610a}.calendar-event.planned .event-open small,.calendar-event.planned .event-open>span:last-child{color:#81692e}.calendar-event.planned .event-complete{color:#775613;border-color:#ead48a;background:#fffdf2}.calendar-event.completed{background:#eaf3ff;border-color:#bfd8f7;border-left-color:#3b82dd}.calendar-event.completed .event-open{color:#224f88}.calendar-event.completed .event-time{color:#2462ac}.calendar-event.completed .event-open small,.calendar-event.completed .event-open>span:last-child{color:#426791}.calendar-event.completed .badge{background:#dcecff;border-color:#b9d5f5;color:#245b9c}.calendar-event.cancelled{background:#fff0f0;border-color:#f0c3c3;border-left-color:#dc5454}.calendar-event.cancelled .event-open{color:#8e3131}.calendar-event.cancelled .event-time{color:#a53333}.calendar-event.cancelled .event-open small,.calendar-event.cancelled .event-open>span:last-child{color:#955858}.calendar-event.cancelled .badge{background:#ffe2e2;border-color:#efbcbc;color:#a03232}.calendar-legend .planned-key{background:#e1b425}.calendar-legend .completed-key{background:#3b82dd}.calendar-legend .cancelled-key{background:#dc5454}

.brand-logo{width:48px;height:48px;object-fit:cover;border-radius:50%;flex-shrink:0;clip-path:circle(49%)}.auth-story .brand-logo{width:72px;height:72px}.btn.primary{background:#4a9591;border-color:#4a9591;color:white}.btn.primary:hover{background:#3d827e;border-color:#3d827e}.nav-item.active{background:#4a9591;color:#fff}.nav-item.active svg{color:#fff}.auth-story{background:#265451}.auth-story h1{color:#fff}@media(max-width:950px){.sidebar .brand-logo{width:44px;height:44px}}@media(max-width:650px){.sidebar .brand-logo{width:38px;height:38px}.auth-story .brand-logo{width:58px;height:58px}}
.user-panel [data-action="password-change"],.user-panel [data-action="password-change"]:hover,.user-panel [data-action="password-change"]:focus-visible{color:#fff}
.top-actions{display:flex;align-items:center;gap:18px}.notification-button{position:relative;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;padding:10px;color:#245654;background:#e7f3f1;border:1px solid #c9dfdc;border-radius:14px;flex-shrink:0}.notification-button:hover{background:#d8eae7}.notification-button svg{width:23px;height:23px}.notification-count{position:absolute;right:-4px;top:-5px;min-width:20px;height:20px;padding:0 5px;border-radius:12px;background:#c64444;color:#fff;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center}.notification-count[hidden]{display:none}.reminder-intro{margin:0 0 10px;color:#285552;line-height:1.6}.reminder-rules{color:#687c79;font-size:12px;line-height:1.6;margin-bottom:22px}.reminder-list{display:grid;gap:14px}.reminder-card{display:block;padding:18px;background:#f5faf9;border:1px solid #d4e6e3;border-radius:16px;color:#244e4b;text-decoration:none;transition:background .15s}.reminder-card:hover{background:#eaf5f2}.reminder-card:focus-visible,.notification-button:focus-visible{outline:3px solid #4a9591;outline-offset:3px}.reminder-heading{display:flex;gap:12px;align-items:center}.reminder-heading strong,.reminder-heading small{display:block}.reminder-heading small{margin-top:4px;font-size:12px;color:#527570}.reminder-card p{font-size:13px;line-height:1.7;margin:12px 0;overflow-wrap:anywhere}.reminder-link{display:block;font-size:13px;font-weight:700;color:#267569}.reminder-empty{padding:32px 12px;text-align:center;color:#687c79}.invalid-phone{background:#fffaf0}@media(max-width:650px){.top-actions{gap:8px}.top-actions .top-date{display:none}.notification-button{width:40px;height:40px}.reminder-card{padding:14px}}
