@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap";@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap";:root{--primary:#534ab7;--primary-dark:#3c3489;--primary-light:#534ab71a;--primary-border:#534ab740;--member-accent:#1d9e75;--member-accent-light:#1d9e751a;--text-primary:#1a1a2e;--text-secondary:#5a5a7a;--text-muted:#7a7a9a;--text-placeholder:#aaa;--error:#e24b4a;--success:#1d9e75;--glass-bg:#ffffff80;--glass-border:#ffffffa6;--glass-bg-focus:#ffffffbf;--glass-blur:blur(12px);--radius-sm:12px;--radius-md:14px;--radius-lg:16px;--radius-xl:18px;--shadow-soft:0 2px 16px #534ab70f;--shadow-card:0 4px 24px #0000000a;--grad-role:linear-gradient(145deg, #e8f0ff, #f0e8ff, #e8f5f0);--grad-otp:linear-gradient(160deg, #f0e8ff, #e8f4ff, #f0f8ee);--grad-otp-member:linear-gradient(160deg, #e8f5f0, #f0fff8, #e8f4ff);--grad-register:linear-gradient(150deg, #e8f5f0, #f0e8ff, #fff8e8);--grad-checklist:linear-gradient(155deg, #fff8e8, #e8f0ff, #f0e8ff);--grad-dashboard:linear-gradient(150deg, #f0e8ff, #e8f4ff, #e8f5f0)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{width:100%;height:100%;color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px}.screen{justify-content:center;width:100%;min-height:100dvh;animation:.2s ease-out fadeIn;display:flex}.screen-content{width:100%;max-width:420px;padding:28px 24px;position:relative}@media (width<=420px){.screen-content{padding:28px 20px}}.glass-card{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-lg);-webkit-backdrop-filter:var(--glass-blur);box-shadow:var(--shadow-card)}.input-label{letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);margin-bottom:8px;font-size:11px;font-weight:600;display:block}.input-field{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-sm);width:100%;color:var(--text-primary);outline:none;padding:12px 14px;font-family:Inter,sans-serif;font-size:14px;transition:border-color .2s,background .2s}.input-field::placeholder{color:var(--text-placeholder)}.input-field:focus{border-color:var(--primary);background:var(--glass-bg-focus)}.input-field.error{border-color:var(--error)}.input-error{color:var(--error);margin-top:6px;font-size:12px}.input-group{margin-bottom:18px}.btn-primary{background:var(--primary);color:#fff;border-radius:var(--radius-md);cursor:pointer;border:none;justify-content:center;align-items:center;gap:8px;width:100%;padding:14px;font-family:Inter,sans-serif;font-size:14px;font-weight:600;transition:background .2s,transform .1s;display:flex}.btn-primary:hover{background:var(--primary-dark)}.btn-primary:active{transform:scale(.97)}.btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn-ghost{background:var(--primary-light);border:1px solid var(--primary-border);width:100%;color:var(--primary);border-radius:var(--radius-md);cursor:pointer;justify-content:center;align-items:center;gap:8px;padding:13px;font-family:Inter,sans-serif;font-size:14px;font-weight:600;transition:background .2s,transform .1s;display:flex}.btn-ghost:hover{background:#534ab726}.btn-ghost:active{transform:scale(.97)}.btn-ghost:disabled{opacity:.6;cursor:not-allowed}.btn-member{background:var(--member-accent)}.btn-member:hover{background:#178a64}.heading-xl{color:var(--text-primary);font-size:26px;font-weight:700;line-height:1.2}h1,.heading-1{color:var(--text-primary);font-size:22px;font-weight:600;line-height:1.3}h2,.heading-2{color:var(--text-primary);font-size:18px;font-weight:600;line-height:1.3}h3,.heading-3{color:var(--text-primary);font-size:16px;font-weight:600;line-height:1.4}.subtitle{color:var(--text-muted);font-size:13px;line-height:1.5}.text-muted{letter-spacing:.04em;color:var(--text-muted);font-size:11px}.text-link{color:var(--primary);cursor:pointer;background:0 0;border:none;font-family:Inter,sans-serif;font-size:12px;font-weight:600;text-decoration:none}.text-link:hover{text-decoration:underline}.spinner{border:2.5px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:20px;height:20px;animation:.6s linear infinite spin}.spinner.spinner-primary{border-color:#534ab733;border-top-color:var(--primary)}.spinner-center{justify-content:center;align-items:center;min-height:200px;display:flex}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-16px)}to{opacity:1;transform:translate(0)}}@keyframes slideInUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.toast-container{z-index:9999;pointer-events:none;width:100%;max-width:380px;padding:0 20px;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}.toast{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-lg);-webkit-backdrop-filter:var(--glass-blur);pointer-events:auto;align-items:center;gap:10px;margin-bottom:8px;padding:14px 18px;animation:.2s ease-out slideInUp;display:flex;box-shadow:0 8px 32px #0000001f}.toast.toast-error{border-left:3px solid var(--error)}.toast.toast-success{border-left:3px solid var(--success)}.toast-message{font-size:13px;font-weight:500;line-height:1.4}.toast-error .toast-message{color:var(--error)}.toast-success .toast-message{color:var(--success)}.back-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;align-items:center;gap:4px;margin-bottom:24px;padding:4px 0;font-family:Inter,sans-serif;font-size:14px;font-weight:500;transition:color .2s;display:inline-flex}.back-btn:hover{color:var(--primary)}#recaptcha-container{z-index:-1;opacity:0;pointer-events:none;position:fixed;bottom:0;left:0}::-webkit-scrollbar{background:0 0;width:0}:root{--grad-members:linear-gradient(150deg, #e8f0ff, #f0e8ff, #e8f5f0);--grad-staff:linear-gradient(150deg, #f0e8ff, #e8f0ff, #fff8e8);--amber:#ef9f27;--red:#e24b4a}.modal-overlay{-webkit-backdrop-filter:blur(12px);z-index:2000;background:#0006;justify-content:center;align-items:flex-end;animation:.15s ease-out fadeIn;display:flex;position:fixed;inset:0}.bottom-sheet{border-radius:20px 20px 0 0;width:100%;max-width:420px;padding:20px 24px 28px;animation:.3s cubic-bezier(.16,1,.3,1) slideSheetUp}.sheet-handle{background:#0000001f;border-radius:2px;width:32px;height:4px;margin:0 auto 16px}.sheet-title{margin-bottom:4px;font-size:18px;font-weight:600}.sheet-subtitle{color:var(--text-muted);margin-bottom:20px;font-size:13px}@keyframes slideSheetUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.member-card{cursor:pointer;align-items:center;gap:12px;margin-bottom:10px;padding:14px;transition:transform .1s,box-shadow .2s;display:flex}.member-card:active{transform:scale(.98)}.member-card-avatar{border-radius:50%;justify-content:center;align-items:center;width:44px;min-width:44px;height:44px;font-size:14px;font-weight:600;display:flex;overflow:hidden}.member-card-photo{object-fit:cover;width:100%;height:100%}.member-card-info{flex:1;min-width:0}.member-card-name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:15px;font-weight:600;overflow:hidden}.member-card-plan{color:var(--text-muted);margin-top:2px;font-size:12px}.member-card-expiry{color:var(--text-muted);margin-top:1px;font-size:11px}.member-card-expiry.expired{color:var(--red)}.member-card-expiry.expiring{color:var(--amber)}.member-card-right{flex-direction:column;align-items:flex-end;gap:8px;display:flex}.member-card-actions{gap:6px;display:flex}.member-action-btn{width:28px;height:28px;color:var(--text-muted);cursor:pointer;background:#534ab70f;border:none;border-radius:8px;justify-content:center;align-items:center;transition:background .2s,color .2s;display:flex}.member-action-btn:hover{color:var(--primary);background:#534ab71f}.attendance-btn:hover{color:var(--member-accent);background:#1d9e751f}.payment-toggle{gap:8px;display:flex}.payment-pill{border-radius:var(--radius-sm);cursor:pointer;background:var(--glass-bg);border:1.5px solid var(--glass-border);color:var(--text-muted);flex:1;padding:10px;font-family:Inter,sans-serif;font-size:13px;font-weight:600;transition:all .2s}.payment-pill.pending{color:#ef9f27;background:#ef9f271f;border-color:#ef9f27}.pill-group{flex-wrap:wrap;gap:8px;display:flex}.pill-option{cursor:pointer;background:var(--glass-bg);border:1.5px solid var(--glass-border);color:var(--text-secondary);border-radius:20px;padding:8px 16px;font-family:Inter,sans-serif;font-size:13px;font-weight:500;transition:all .2s}.pill-option.selected{border-color:var(--primary);color:var(--primary);background:#534ab71a}.section-header{align-items:center;gap:12px;margin:28px 0 16px;display:flex}.section-header-text{letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);white-space:nowrap;font-size:11px;font-weight:600}.section-header-line{background:#0000000f;flex:1;height:1px}.renew-preview{margin-bottom:18px;padding:14px}.renew-preview-row{justify-content:space-between;padding:4px 0;font-size:13px;display:flex}.renew-preview-label{color:var(--text-muted)}.renew-preview-days{text-align:center;color:var(--primary);border-top:1px dashed #00000014;margin-top:8px;padding-top:8px;font-size:12px;font-weight:600}.search-bar{margin-bottom:16px;position:relative}.search-icon{color:var(--text-muted);pointer-events:none;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.search-input{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-sm);width:100%;color:var(--text-primary);outline:none;padding:12px 14px 12px 40px;font-family:Inter,sans-serif;font-size:14px;transition:border-color .2s}.search-input:focus{border-color:var(--primary)}.search-input::placeholder{color:var(--text-placeholder)}.tab-row{gap:6px;margin-bottom:12px;display:flex}.tab-pill{cursor:pointer;color:var(--text-muted);white-space:nowrap;background:0 0;border:1.5px solid #0000;border-radius:20px;padding:8px 14px;font-family:Inter,sans-serif;font-size:12px;font-weight:600;transition:all .2s}.tab-pill.active{background:var(--glass-bg);border-color:var(--primary-border);color:var(--primary)}.tab-pill .tab-count{opacity:.7;margin-left:3px;font-size:11px}.filter-row{scrollbar-width:none;gap:6px;margin-bottom:16px;padding-bottom:4px;display:flex;overflow-x:auto}.filter-row::-webkit-scrollbar{display:none}.filter-pill{cursor:pointer;background:var(--glass-bg);border:1px solid var(--glass-border);color:var(--text-muted);white-space:nowrap;border-radius:16px;padding:6px 12px;font-family:Inter,sans-serif;font-size:11px;font-weight:500;transition:all .2s}.filter-pill.active{background:var(--primary);border-color:var(--primary);color:#fff}.mode-toggle{border-radius:var(--radius-sm);background:#0000000a;margin-bottom:24px;padding:3px;display:flex}.mode-toggle-btn{cursor:pointer;color:var(--text-muted);background:0 0;border:none;border-radius:10px;flex:1;padding:10px;font-family:Inter,sans-serif;font-size:13px;font-weight:600;transition:all .2s}.mode-toggle-btn.active{background:var(--glass-bg);color:var(--primary);box-shadow:0 1px 4px #0000000f}.info-chip{border-radius:var(--radius-sm);color:var(--primary);background:#534ab70f;align-items:center;gap:6px;margin-top:8px;padding:8px 14px;font-size:12px;font-weight:500;display:inline-flex}.top-bar{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.top-bar-title{font-size:20px;font-weight:600}.top-bar-action{background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:10px;padding:8px 16px;font-family:Inter,sans-serif;font-size:13px;font-weight:600;transition:background .2s}.top-bar-action:hover{background:var(--primary-dark)}.alert-banner{border-left:3px solid var(--amber);align-items:center;gap:12px;margin-bottom:20px;padding:14px;display:flex;position:relative}.alert-banner-icon{background:#ef9f271a;border-radius:8px;justify-content:center;align-items:center;width:32px;min-width:32px;height:32px;display:flex}.alert-banner-text{color:var(--text-primary);flex:1;font-size:13px;line-height:1.4}.alert-banner-link{color:var(--primary);cursor:pointer;white-space:nowrap;background:0 0;border:none;font-family:Inter,sans-serif;font-size:12px;font-weight:600}.alert-banner-dismiss{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:4px;font-size:14px;position:absolute;top:8px;right:8px}.progress-bar-track{background:#534ab71a;border-radius:3px;width:100%;height:6px;overflow:hidden}.progress-bar-fill{background:var(--primary);border-radius:3px;height:100%;transition:width .5s ease-out}.bottom-nav{z-index:1000;width:auto;min-width:fit-content;max-width:90vw;animation:.5s cubic-bezier(.16,1,.3,1) slideNavUp;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}.bottom-nav-inner{-webkit-backdrop-filter:blur(20px)saturate(180%);background:#ffffffb3;border:1.2px solid #ffffff80;border-radius:40px;justify-content:center;align-items:center;gap:4px;padding:6px 10px;display:flex;box-shadow:0 10px 40px #0000001f,0 0 1px #0000001a}.bottom-nav-item{cursor:pointer;color:var(--text-muted);background:0 0;border:none;border-radius:30px;flex-direction:column;align-items:center;gap:3px;padding:8px 10px;font-family:Inter,sans-serif;transition:all .4s cubic-bezier(.23,1,.32,1);display:flex;position:relative}.bottom-nav-item:active{transform:scale(.92)}.bottom-nav-item.active{color:var(--primary);background:#534ab714}.bottom-nav-item.active svg{transition:transform .4s cubic-bezier(.175,.885,.32,1.275);transform:scale(1.1)}.bottom-nav-label{letter-spacing:.01em;font-size:10px;font-weight:600}.bottom-nav-item.active:after{content:"";background:var(--primary);border-radius:50%;width:4px;height:4px;animation:.3s ease-out fadeIn;position:absolute;bottom:4px}@keyframes slideNavUp{0%{opacity:0;transform:translate(-50%,100px)}to{opacity:1;transform:translate(-50%)}}.screen{padding-bottom:100px!important}.role-screen{background:var(--grad-role)}.role-header{flex-direction:column;align-items:center;margin-top:60px;margin-bottom:48px;display:flex}.role-logo{border-radius:18px;justify-content:center;align-items:center;width:56px;height:56px;margin-bottom:20px;display:flex}.role-logo svg{width:28px;height:28px}.role-app-name{color:var(--text-primary);margin-bottom:6px;font-size:26px;font-weight:700}.role-tagline{color:var(--text-muted);font-size:13px}.role-cards{flex-direction:column;gap:12px;margin-bottom:32px;display:flex}.role-card{cursor:pointer;align-items:center;padding:16px;text-decoration:none;transition:transform .2s,box-shadow .2s;display:flex}.role-card:hover{transform:translateY(-1px);box-shadow:0 6px 24px #534ab71a}.role-card:active{transform:scale(.98)}.role-icon-container{border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.role-icon-owner{background:#eeedfe}.role-icon-member{background:#e1f5ee}.role-card-text{flex:1;margin-left:14px}.role-card-title{color:var(--text-primary);margin-bottom:2px;font-size:14px;font-weight:600}.role-card-subtitle{color:var(--text-muted);letter-spacing:.02em;font-size:11px}.role-arrow{color:var(--text-muted);flex-shrink:0;margin-left:8px}.role-bottom-note{text-align:center;color:var(--text-muted);font-size:12px}.login-screen{background:var(--grad-otp)}.login-screen.member{background:var(--grad-otp-member)}.login-form-card{margin-top:20px;padding:28px 22px}.login-heading{color:var(--text-primary);margin-bottom:6px;font-size:20px;font-weight:600}.login-subtext{color:var(--text-muted);margin-bottom:28px;font-size:12px;line-height:1.5}.phone-input-wrapper{gap:8px;margin-bottom:8px;display:flex}.country-select{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-sm);width:90px;color:var(--text-primary);cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L5 5L9 1' stroke='%237a7a9a' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right 8px center;background-repeat:no-repeat;outline:none;padding:12px 8px;font-family:Inter,sans-serif;font-size:14px}.country-select:focus{border-color:var(--primary);background-color:var(--glass-bg-focus);background-image:url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L5 5L9 1' stroke='%237a7a9a' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right 8px center;background-repeat:no-repeat}.phone-number-input{flex:1}.otp-container{justify-content:center;gap:8px;margin-bottom:20px;display:flex}.otp-box{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-sm);width:44px;height:50px;-webkit-backdrop-filter:var(--glass-blur);text-align:center;color:var(--primary);caret-color:var(--primary);outline:none;font-family:Inter,sans-serif;font-size:20px;font-weight:600;transition:border-color .2s,background .2s}.otp-box:focus{border-color:var(--primary);background:var(--glass-bg-focus)}.otp-box.error{border-color:var(--error)}.otp-box.member-accent:focus{border-color:var(--member-accent)}.otp-box.member-accent{color:var(--member-accent);caret-color:var(--member-accent)}.resend-row{text-align:center;color:var(--text-muted);margin-bottom:24px;font-size:12px}.resend-btn{color:var(--primary);cursor:pointer;background:0 0;border:none;font-family:Inter,sans-serif;font-size:12px;font-weight:600}.resend-btn:disabled{color:var(--text-muted);cursor:not-allowed}.resend-btn.member-accent{color:var(--member-accent)}.not-registered{text-align:center;padding:32px 20px}.not-registered-icon{background:#fff3e8;border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;margin:0 auto 16px;display:flex}.not-registered h3{margin-bottom:8px}.not-registered p{color:var(--text-muted);margin-bottom:24px;font-size:13px;line-height:1.5}.btn-spacer{height:24px}.register-screen{background:var(--grad-register)}.wizard-progress{justify-content:center;align-items:center;gap:6px;margin-bottom:28px;display:flex}.wizard-dot{border-radius:3px;height:6px;transition:width .3s,background .3s,opacity .3s}.wizard-dot.completed{background:var(--primary);opacity:1;width:20px}.wizard-dot.active{background:var(--primary);opacity:1;width:28px}.wizard-dot.upcoming{background:#534ab733;width:14px}.step-header{margin-bottom:24px}.step-title{color:var(--text-primary);margin-bottom:4px;font-size:18px;font-weight:600}.step-subtitle{color:var(--text-muted);font-size:12px}.pill-group{flex-wrap:wrap;gap:8px;margin-bottom:8px;display:flex}.pill{border-radius:var(--radius-sm);cursor:pointer;border:1px solid var(--glass-border);background:var(--glass-bg);color:var(--text-secondary);-webkit-backdrop-filter:var(--glass-blur);padding:10px 16px;font-family:Inter,sans-serif;font-size:13px;font-weight:500;transition:all .2s}.pill.selected{border-color:var(--primary);color:var(--primary);background:#534ab71f;font-weight:600}.pill:hover:not(.selected){border-color:#534ab766}.time-row{gap:12px;display:flex}.time-row .input-group{flex:1}.upload-zone{border-radius:var(--radius-lg);background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);cursor:pointer;text-align:center;border:2px dashed #534ab740;flex-direction:column;justify-content:center;align-items:center;padding:28px;transition:border-color .2s,background .2s;display:flex;position:relative;overflow:hidden}.upload-zone:hover{border-color:var(--primary);background:#fff9}.upload-zone-text{color:var(--text-secondary);margin-top:10px;font-size:14px}.upload-zone-hint{color:var(--text-muted);margin-top:4px;font-size:11px}.upload-preview{object-fit:cover;border-radius:14px;width:100%;height:100%;position:absolute;top:0;left:0}.upload-preview-overlay{opacity:0;background:#0000004d;border-radius:14px;justify-content:center;align-items:center;width:100%;height:100%;transition:opacity .2s;display:flex;position:absolute;top:0;left:0}.upload-zone:hover .upload-preview-overlay{opacity:1}.photo-grid{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:8px;display:grid}.photo-slot{aspect-ratio:1;border-radius:var(--radius-sm);background:var(--glass-bg);cursor:pointer;border:2px dashed #534ab733;justify-content:center;align-items:center;transition:border-color .2s;display:flex;position:relative;overflow:hidden}.photo-slot:hover{border-color:var(--primary)}.photo-slot.filled{border-style:solid;border-color:var(--glass-border)}.photo-slot img{object-fit:cover;border-radius:10px;width:100%;height:100%}.photo-remove{color:#fff;cursor:pointer;opacity:0;background:#00000080;border:none;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;font-size:12px;transition:opacity .2s;display:flex;position:absolute;top:6px;right:6px}.photo-slot:hover .photo-remove{opacity:1}.skip-link{text-align:center;margin-top:16px}.plan-card{margin-bottom:12px;padding:18px;position:relative}.plan-toggle{cursor:pointer;background:#0000001a;border:none;border-radius:12px;width:42px;height:24px;padding:0;transition:background .2s;position:relative}.plan-toggle.active{background:var(--primary)}.plan-toggle-knob{background:#fff;border-radius:50%;width:18px;height:18px;transition:transform .2s;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #00000026}.plan-toggle.active .plan-toggle-knob{transform:translate(18px)}.plan-fields{gap:10px;display:flex}.plan-fields .input-group{flex:1}.plan-price-wrapper{position:relative}.plan-price-prefix{color:var(--text-muted);pointer-events:none;font-size:14px;font-weight:500;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.plan-price-input{padding-left:28px}.plan-delete{width:24px;height:24px;color:var(--error);cursor:pointer;background:#e24b4a1a;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:14px;display:flex;position:absolute;top:12px;right:12px}.review-section{margin-bottom:20px}.review-section-title{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:10px;font-size:11px;font-weight:600}.review-row{border-bottom:1px solid #ffffff4d;justify-content:space-between;align-items:center;padding:8px 0;display:flex}.review-row:last-child{border-bottom:none}.review-label{color:var(--text-secondary);font-size:13px}.review-value{color:var(--text-primary);font-size:13px;font-weight:600}.wizard-buttons{flex-direction:column;gap:10px;margin-top:28px;display:flex}.hidden-input{display:none}.checklist-screen{background:var(--grad-checklist)}.confetti-wrapper{pointer-events:none;z-index:100;width:100%;height:100%;position:fixed;top:0;left:0;overflow:hidden}.confetti-piece{opacity:0;border-radius:2px;width:8px;height:8px;animation:1s ease-out forwards confettiFall;position:absolute}@keyframes confettiFall{0%{opacity:1;transform:translateY(-20px)rotate(0)scale(1)}to{opacity:0;transform:translateY(100vh)rotate(720deg)scale(.5)}}.checklist-header{text-align:center;margin-bottom:28px;animation:.4s ease-out scaleIn}.checklist-heading{color:var(--text-primary);margin-bottom:6px;font-size:20px;font-weight:600}.checklist-subtext{color:var(--text-muted);font-size:12px;line-height:1.5}.progress-ring-wrapper{justify-content:center;margin-bottom:28px;display:flex}.progress-ring-container{width:80px;height:80px;position:relative}.progress-ring-bg{fill:none;stroke:#534ab71a;stroke-width:6px}.progress-ring-fill{fill:none;stroke:var(--primary);stroke-width:6px;stroke-linecap:round;transform-origin:50%;transition:stroke-dashoffset .5s;transform:rotate(-90deg)}.progress-ring-text{color:var(--text-primary);font-size:14px;font-weight:600;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.checklist-items{flex-direction:column;gap:10px;margin-bottom:32px;display:flex}.checklist-item{align-items:center;padding:14px 16px;animation:.3s ease-out both slideInLeft;display:flex}.checklist-item:first-child{animation-delay:0s}.checklist-item:nth-child(2){animation-delay:50ms}.checklist-item:nth-child(3){animation-delay:.1s}.checklist-item:nth-child(4){animation-delay:.15s}.checklist-item:nth-child(5){animation-delay:.2s}.checklist-icon{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.checklist-icon.done{background:#1d9e751f}.checklist-icon.pending{background:#0000000a;border:1.5px solid #0000001a}.checklist-text{flex:1;margin-left:12px}.checklist-title{color:var(--text-primary);margin-bottom:2px;font-size:14px;font-weight:600}.checklist-subtitle{color:var(--text-muted);font-size:11px}.checklist-badge{border-radius:8px;flex-shrink:0;padding:4px 10px;font-size:11px;font-weight:600}.checklist-badge.done{color:var(--success);background:#1d9e751a}.checklist-badge.pending{color:var(--primary);cursor:pointer;background:0 0}.checklist-badge.pending:hover{text-decoration:underline}.checklist-buttons{flex-direction:column;gap:10px;display:flex}.upload-modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:2000;background:#0006;justify-content:center;align-items:center;width:100%;height:100%;padding:20px;animation:.2s ease-out fadeIn;display:flex;position:fixed;top:0;left:0}.upload-modal{width:100%;max-width:380px;padding:24px;animation:.2s ease-out scaleIn}.upload-modal h3{margin-bottom:16px}.upload-modal-actions{gap:10px;margin-top:16px;display:flex}.upload-modal-actions button{flex:1}.dashboard-screen{background:var(--grad-dashboard);padding-bottom:80px}.dashboard-nav{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.dashboard-brand{flex-direction:column;display:flex}.dashboard-brand-name{color:var(--text-primary);font-size:18px;font-weight:600}.dashboard-gym-name{color:var(--text-muted);margin-top:1px;font-size:12px}.dashboard-avatar{width:36px;height:36px;color:var(--primary);cursor:pointer;background:#eeedfe;border-radius:50%;justify-content:center;align-items:center;font-size:13px;font-weight:600;transition:transform .1s;display:flex}.dashboard-avatar:active{transform:scale(.95)}.stats-grid{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:24px;display:grid}.stat-card{padding:16px;position:relative}.stat-card-icon{background:#534ab714;border-radius:8px;justify-content:center;align-items:center;width:28px;height:28px;display:flex;position:absolute;top:12px;right:12px}.stat-label{letter-spacing:.03em;color:var(--text-muted);margin-bottom:8px;font-size:11px;font-weight:500}.stat-value{color:var(--text-primary);font-size:22px;font-weight:600}.recent-section{animation:.3s ease-out slideInUp}.recent-header{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.recent-member{cursor:pointer;align-items:center;gap:12px;margin-bottom:8px;padding:12px 14px;transition:transform .1s;display:flex}.recent-member:active{transform:scale(.98)}.recent-member-avatar{border-radius:50%;justify-content:center;align-items:center;width:38px;min-width:38px;height:38px;font-size:13px;font-weight:600;display:flex}.recent-member-info{flex:1;min-width:0}.recent-member-name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:600;overflow:hidden}.recent-member-plan{color:var(--text-muted);margin-top:1px;font-size:11px}.empty-state{text-align:center;flex-direction:column;align-items:center;padding:40px 20px;display:flex}.empty-icon-wrapper{border:2px dashed #534ab733;border-radius:50%;justify-content:center;align-items:center;width:80px;height:80px;margin-bottom:20px;display:flex}.empty-title{color:var(--text-primary);margin-bottom:6px;font-size:16px;font-weight:600}.empty-subtitle{color:var(--text-muted);margin-bottom:24px;font-size:13px;line-height:1.5}.btn-add-member{width:auto;padding:12px 28px}.member-home-screen{background:linear-gradient(150deg,#e8f5f0,#f0e8ff,#e8f4ff);min-height:100vh}.member-greeting{justify-content:space-between;align-items:center;margin-bottom:24px;animation:.4s ease-out fadeInDown;display:flex}.member-greeting-text{color:var(--text-primary);margin-bottom:4px;font-size:22px;font-weight:600}.member-greeting-date{color:var(--text-muted);font-size:13px}.member-greeting-avatar{cursor:pointer;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;font-size:16px;font-weight:600;display:flex;box-shadow:0 4px 12px #00000014}.membership-card{background:#ffffff80;border:1px solid #fffc;margin-bottom:20px;padding:20px;position:relative;overflow:hidden}.membership-card:before{content:"";width:4px;height:100%;position:absolute;top:0;left:0}.membership-card.status-active:before{background:var(--success)}.membership-card.status-expiring:before{background:var(--amber)}.membership-card.status-expired:before{background:var(--danger)}.membership-card-top{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.membership-gym-name{color:var(--text-primary);font-size:14px;font-weight:600}.status-badge-mini{border-radius:6px;padding:3px 8px;font-size:11px;font-weight:600}.status-badge-mini.active{color:var(--success);background:#1d9e751a}.status-badge-mini.expiring{color:var(--amber);background:#ef9f271a}.status-badge-mini.expired{color:var(--danger);background:#e24b4a1a}.membership-plan-name{margin-bottom:8px;font-size:16px;font-weight:600}.membership-days-pill{color:var(--primary);background:#534ab71a;border-radius:8px;margin-bottom:8px;padding:4px 10px;font-size:12px;font-weight:600;display:inline-block}.status-expired .membership-days-pill{color:var(--danger);background:#e24b4a1a}.membership-expiry{color:var(--text-muted);font-size:13px}.membership-renew-link{cursor:pointer;margin-top:12px;font-size:13px;font-weight:600}.qr-mini-btn{color:var(--primary);cursor:pointer;background:#534ab71a;border:1px solid #534ab733;border-radius:6px;justify-content:center;align-items:center;padding:4px 8px;font-size:10px;font-weight:700;transition:all .2s;display:flex}.qr-mini-btn:hover{background:#534ab733}.today-workout{cursor:pointer;background:#ffffffb3;margin-bottom:20px;padding:18px;transition:transform .2s}.today-workout:active{transform:scale(.98)}.today-workout-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.today-completed-badge{color:var(--success);background:#1d9e751a;border-radius:6px;padding:3px 8px;font-size:11px;font-weight:600}.today-workout-day{color:var(--text-primary);margin-bottom:4px;font-size:15px;font-weight:600}.today-workout-focus{color:var(--text-muted);margin-bottom:12px;font-size:13px}.today-workout-meta{color:var(--primary);background:#534ab70f;border-radius:8px;padding:6px 12px;font-size:12px;font-weight:600;display:inline-block}.today-rest-badge{color:#633806;background:#faeeda;border-radius:8px;padding:8px 12px;font-size:13px;font-weight:600;display:inline-block}.quick-stats-row{gap:10px;margin-bottom:20px;display:flex}.quick-stat{text-align:center;background:#fff6;flex-direction:column;flex:1;justify-content:center;align-items:center;padding:14px 8px;display:flex}.quick-stat-icon{margin-bottom:6px;font-size:20px}.quick-stat-value{color:var(--text-primary);margin-bottom:2px;font-size:18px;font-weight:700}.quick-stat-label{color:var(--text-muted);font-size:11px}.calorie-summary-calm{border:1px solid #e24b4a1a;margin-bottom:20px;padding:20px;box-shadow:0 4px 20px #e24b4a0d;background:#fffc!important}.csc-header{align-items:center;gap:10px;margin-bottom:16px;display:flex}.csc-icon{background:#e24b4a14;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;font-size:18px;display:flex}.csc-title{color:#555;letter-spacing:-.2px;font-size:14px;font-weight:600}.csc-metrics{align-items:center;gap:20px;margin-bottom:16px;display:flex}.csc-metric{flex-direction:column;display:flex}.csc-val{color:var(--text-primary);margin-bottom:4px;font-size:26px;font-weight:800;line-height:1}.csc-lbl{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-size:11px;font-weight:600}.csc-divider{background:#0000000f;width:1px;height:24px}.csc-progress-track{background:#0000000a;border-radius:3px;width:100%;height:6px;margin-bottom:10px;overflow:hidden}.csc-progress-bar{background:linear-gradient(90deg,#e24b4a,#f87171);border-radius:3px;height:100%;transition:width .8s cubic-bezier(.34,1.56,.64,1)}.csc-footer{color:#999;margin:0;font-size:11px;font-style:italic}.qr-modal{text-align:center;width:90%;max-width:340px;padding:24px;animation:.3s ease-out zoomIn}.qr-modal-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.qr-modal-header h3{margin:0;font-size:18px}.qr-close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;font-size:24px}.qr-placeholder{background:#fff;border-radius:16px;margin-bottom:16px;padding:16px;display:inline-block;box-shadow:0 4px 12px #0000000d}.qr-placeholder img{width:180px;height:180px;display:block}.qr-help{color:var(--text-muted);margin-bottom:20px;font-size:13px;line-height:1.5}.qr-member-info{border-top:1px solid #0000000d;flex-direction:column;padding-top:16px;display:flex}.qr-name{margin-bottom:2px;font-size:16px;font-weight:700}.qr-id{color:var(--text-muted);font-size:12px}@keyframes zoomIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.bmi-section{margin-bottom:20px;padding:16px}.bmi-bar{border-radius:4px;height:8px;margin:12px 0 8px;display:flex;position:relative;overflow:hidden}.bmi-zone{flex:1}.bmi-zone.under{background:#60a5fa}.bmi-zone.normal{background:var(--success)}.bmi-zone.over{background:var(--amber)}.bmi-zone.obese{background:var(--danger)}.bmi-marker{background:var(--text-primary);border-radius:2px;width:4px;height:16px;transition:left .5s ease-out;position:absolute;top:-4px;transform:translate(-50%);box-shadow:0 0 0 2px #fff}.bmi-labels{color:var(--text-muted);justify-content:space-between;font-size:10px;display:flex}.gym-info-card{text-align:center;margin-bottom:80px;padding:16px}.soreness-check-card{background:#ffffffe6;border-left:4px solid #f59e0b;margin-bottom:20px;padding:20px;animation:.4s ease-out slideUp;box-shadow:0 4px 15px #f59e0b1a}.soreness-header{color:#92400e;margin-bottom:12px;font-size:14px;font-weight:700}.soreness-question{color:#1a1a1a;margin-bottom:16px;font-size:13px;line-height:1.4}.soreness-muscles{flex-direction:column;gap:12px;display:flex}.soreness-muscle-item{flex-direction:column;gap:6px;display:flex}.soreness-muscle-name{color:#555;text-transform:capitalize;font-size:12px;font-weight:600}.soreness-levels{gap:8px;display:flex}.soreness-btn{color:#6b7280;cursor:pointer;background:#f3f4f6;border:1px solid #e5e7eb;border-radius:8px;flex:1;padding:6px;font-size:11px;font-weight:600;transition:all .2s}.soreness-btn.active-0{color:#059669;background:#ecfdf5;border-color:#10b981}.soreness-btn.active-1{color:#d97706;background:#fffbeb;border-color:#fbbf24}.soreness-btn.active-2{color:#dc2626;background:#fef2f2;border-color:#ef4444}.soreness-submit{color:#fff;cursor:pointer;background:#534ab7;border:none;border-radius:8px;width:100%;margin-top:16px;padding:10px;font-size:13px;font-weight:700}.member-list-screen{background:var(--grad-members);padding-bottom:80px}.add-member-screen{background:var(--grad-members);padding-bottom:40px}.duplicate-info{flex-direction:column;gap:2px;margin-bottom:12px;display:flex}.duplicate-actions{gap:8px;display:flex}.unit-label{color:var(--text-muted);pointer-events:none;font-size:12px;font-weight:500;position:absolute;top:50%;right:14px;transform:translateY(-50%)}.bmi-chip{border-radius:var(--radius-sm);border:1.5px solid;align-items:center;margin-bottom:18px;padding:8px 14px;font-size:12px;font-weight:600;display:inline-flex}.success-card{text-align:center;margin-top:40%;padding:40px 24px}.success-icon{margin-bottom:16px}.input-prefix{align-items:center;display:flex;position:relative}.input-prefix span{color:var(--text-muted);pointer-events:none;z-index:1;font-size:15px;font-weight:600;position:absolute;left:14px}.input-prefix .input-field{padding-left:28px}.profile-screen{background:var(--grad-members);padding-bottom:40px}.profile-header{text-align:center;margin-bottom:14px;padding:24px 20px}.profile-avatar{border-radius:50%;justify-content:center;align-items:center;width:80px;height:80px;margin:0 auto 14px;font-size:24px;font-weight:600;display:flex;overflow:hidden}.profile-avatar img{object-fit:cover;width:100%;height:100%}.profile-name{margin-bottom:4px;font-size:20px;font-weight:600}.profile-phone{color:var(--text-muted);margin-bottom:10px;font-size:14px;text-decoration:none;display:block}.profile-plan-info{color:var(--text-muted);margin-top:8px;font-size:12px}.profile-actions{justify-content:space-around;margin-bottom:14px;padding:16px 10px;display:flex}.profile-action-btn{cursor:pointer;color:var(--text-secondary);background:0 0;border:none;flex-direction:column;align-items:center;gap:6px;font-family:Inter,sans-serif;font-size:11px;font-weight:500;text-decoration:none;transition:transform .1s;display:flex}.profile-action-btn:active{transform:scale(.95)}.action-icon{border-radius:12px;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.info-section{margin-bottom:12px;padding:18px}.info-section-title{color:var(--text-primary);margin-bottom:14px;font-size:13px;font-weight:600}.info-row{border-bottom:1px solid #0000000a;justify-content:space-between;align-items:center;padding:6px 0;display:flex}.info-row:last-child{border-bottom:none}.info-label{color:var(--text-muted);font-size:13px}.info-value{color:var(--text-primary);text-align:right;word-break:break-word;max-width:60%;font-size:13px;font-weight:500}.renewal-row{border-bottom:1px solid #0000000a;justify-content:space-between;align-items:center;padding:8px 0;display:flex}.renewal-row:last-child{border-bottom:none}.renewal-date{color:var(--text-muted);font-size:12px}.renewal-plan{color:var(--text-primary);font-size:12px;font-weight:500}.staff-screen{background:var(--grad-staff);padding-bottom:80px}.staff-group{margin-bottom:24px}.staff-group-title{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:10px;font-size:13px;font-weight:600}.staff-card{align-items:center;gap:12px;margin-bottom:8px;padding:14px;display:flex}.staff-avatar{border-radius:50%;justify-content:center;align-items:center;width:44px;min-width:44px;height:44px;font-size:14px;font-weight:600;display:flex}.staff-info{flex:1;min-width:0}.staff-name{color:var(--text-primary);font-size:15px;font-weight:600}.staff-role-badge{border-radius:10px;margin-top:3px;padding:2px 8px;font-size:10px;font-weight:600;display:inline-block}.staff-phone{color:var(--text-muted);margin-top:2px;font-size:11px}.staff-menu-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:8px;padding:8px;transition:background .2s}.staff-menu-btn:hover{background:#0000000a}.permissions-preview{margin-top:16px;padding:14px}.permissions-title{color:var(--text-muted);margin-bottom:8px;font-size:12px}.permissions-list{padding:0;list-style:none}.permissions-list li{color:var(--text-secondary);padding:3px 0 3px 16px;font-size:12px;position:relative}.permissions-list li:before{content:"✓";color:var(--primary);font-weight:600;position:absolute;left:0}.duplicate-card{border-left:3px solid;margin-bottom:16px;padding:12px}.scanner-screen{background:#0a0a12;min-height:100dvh}.scanner-screen .screen-content{max-width:100%;padding:0}.scanner-top-bar{z-index:10;justify-content:space-between;align-items:center;padding:16px 20px;display:flex;position:absolute;top:0;left:0;right:0}.scanner-back-btn{color:#fff;cursor:pointer;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff26;border:none;border-radius:20px;align-items:center;gap:4px;padding:8px 14px;font-family:Inter,sans-serif;font-size:13px;font-weight:500;display:flex}.scanner-title{color:#fff;font-size:16px;font-weight:600}.scanner-mode-link{color:#ffffffb3;cursor:pointer;background:0 0;border:none;font-family:Inter,sans-serif;font-size:12px;font-weight:600}.scanner-video-container{width:100%;height:70vh;position:relative;overflow:hidden}.scanner-video{object-fit:cover;width:100%;height:100%}.scanner-canvas{display:none}.scan-overlay{pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.scan-frame{width:250px;height:250px;position:relative}.scan-corner{border:0 solid #534ab7;width:30px;height:30px;position:absolute}.scan-corner.tl{border-top-width:3px;border-left-width:3px;border-radius:4px 0 0;top:0;left:0}.scan-corner.tr{border-top-width:3px;border-right-width:3px;border-radius:0 4px 0 0;top:0;right:0}.scan-corner.bl{border-bottom-width:3px;border-left-width:3px;border-radius:0 0 0 4px;bottom:0;left:0}.scan-corner.br{border-bottom-width:3px;border-right-width:3px;border-radius:0 0 4px;bottom:0;right:0}.scan-beam{background:linear-gradient(90deg,#0000,#534ab7,#0000);height:2px;animation:2s ease-in-out infinite scanBeam;position:absolute;left:10px;right:10px}@keyframes scanBeam{0%{opacity:.5;top:10px}50%{opacity:1;top:calc(100% - 10px)}to{opacity:.5;top:10px}}.scan-hint{color:#fff9;white-space:nowrap;font-size:13px;position:absolute;bottom:-40px;left:50%;transform:translate(-50%)}.scan-result-panel{border-radius:24px 24px 0 0;padding:24px 20px 32px;animation:.3s cubic-bezier(.16,1,.3,1) slideSheetUp;position:absolute;bottom:0;left:0;right:0}.scan-result-panel.success{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#1d9e75f2}.scan-result-panel.expired{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#e24b4af2}.scan-result-panel.already{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#534ab7f2}.scan-result-check{background:#fff3;border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;margin:0 auto 12px;font-size:28px;animation:.4s cubic-bezier(.175,.885,.32,1.275) scaleIn;display:flex}.scan-result-name{color:#fff;text-align:center;margin-bottom:4px;font-size:20px;font-weight:600}.scan-result-detail{color:#fffc;text-align:center;font-size:13px}.scan-result-badge{color:#fff;background:#fff3;border-radius:20px;margin-top:8px;padding:4px 12px;font-size:12px;font-weight:600;display:inline-flex}.tablet-screen{color:#fff;background:linear-gradient(160deg,#0f0c29,#1a1250,#24243e);min-height:100dvh}.tablet-screen .screen-content{flex-direction:column;max-width:100%;min-height:100vh;padding:24px;display:flex}.tablet-header{text-align:center;padding:10px 0 20px}.tablet-gym-name{color:#fff;font-size:22px;font-weight:700}.tablet-subtitle{color:#ffffff80;margin-top:4px;font-size:13px}.tablet-scanner-zone{flex:1;justify-content:center;align-items:center;display:flex;position:relative}.tablet-video-wrapper{aspect-ratio:1;border:2px solid #534ab74d;border-radius:24px;width:100%;max-width:500px;position:relative;overflow:hidden}.tablet-video{object-fit:cover;width:100%;height:100%}.tablet-scan-frame{position:absolute;inset:40px}.tablet-scan-frame .scan-corner{border-width:0;border-color:#534ab7;width:40px;height:40px}.tablet-scan-frame .scan-corner.tl{border-top-width:4px;border-left-width:4px}.tablet-scan-frame .scan-corner.tr{border-top-width:4px;border-right-width:4px}.tablet-scan-frame .scan-corner.bl{border-bottom-width:4px;border-left-width:4px}.tablet-scan-frame .scan-corner.br{border-bottom-width:4px;border-right-width:4px}.tablet-result-fullscreen{z-index:100;flex-direction:column;justify-content:center;align-items:center;animation:.2s fadeIn;display:flex;position:fixed;inset:0}.tablet-result-fullscreen.success{background:linear-gradient(160deg,#0f6b4a,#1d9e75,#0f6b4a)}.tablet-result-fullscreen.expired{background:linear-gradient(160deg,#8b2020,#e24b4a,#8b2020)}.tablet-result-fullscreen.already{background:linear-gradient(160deg,#3c3489,#534ab7,#3c3489)}.tablet-result-icon{background:#ffffff26;border-radius:50%;justify-content:center;align-items:center;width:80px;height:80px;margin-bottom:20px;font-size:40px;animation:.5s cubic-bezier(.175,.885,.32,1.275) scaleIn;display:flex}.tablet-result-name{color:#fff;margin-bottom:8px;font-size:28px;font-weight:700}.tablet-result-subtitle{color:#fffc;font-size:16px}.tablet-inside-panel{padding:16px 0}.tablet-inside-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.tablet-inside-count{color:#fffc;font-size:14px;font-weight:600}.tablet-inside-avatars{gap:-4px;padding-bottom:4px;display:flex;overflow-x:auto}.tablet-inside-avatar{border:2px solid #ffffff1a;border-radius:50%;justify-content:center;align-items:center;width:36px;min-width:36px;height:36px;margin-right:-6px;font-size:11px;font-weight:600;display:flex}.camera-prompt{text-align:center;color:#ffffffb3;flex-direction:column;justify-content:center;align-items:center;min-height:50vh;display:flex}.camera-prompt-icon{background:#534ab733;border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;margin-bottom:16px;font-size:28px;display:flex}.camera-prompt h3{color:#fff;margin-bottom:8px;font-size:18px}.camera-prompt p{max-width:280px;font-size:13px;line-height:1.5}.payment-pill{cursor:pointer;color:var(--text-muted);text-align:center;background:#00000008;border:1.5px solid #00000012;border-radius:10px;padding:9px 14px;font-family:Inter,sans-serif;font-size:13px;font-weight:600;transition:all .2s}.payment-pill:disabled{opacity:.4;cursor:not-allowed}.payment-pill.paid{color:var(--primary);background:#534ab71a;border-color:#534ab74d}.payments-screen{background:var(--grad-dashboard)}.payment-summary-grid{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:20px;display:grid}.payment-summary-card{padding:14px;position:relative;overflow:hidden}.payment-summary-card:before{content:"";border-radius:16px 16px 0 0;height:3px;position:absolute;top:0;left:0;right:0}.payment-summary-card.green:before{background:#1d9e75}.payment-summary-card.amber:before{background:#ef9f27}.payment-summary-card.purple:before{background:#534ab7}.payment-summary-card.blue:before{background:#378add}.payment-summary-icon{border-radius:8px;justify-content:center;align-items:center;width:28px;height:28px;margin-bottom:10px;font-size:14px;display:flex}.payment-summary-card.green .payment-summary-icon{color:#1d9e75;background:#1d9e751a}.payment-summary-card.amber .payment-summary-icon{color:#ef9f27;background:#ef9f271a}.payment-summary-card.purple .payment-summary-icon{color:#534ab7;background:#534ab71a}.payment-summary-card.blue .payment-summary-icon{color:#378add;background:#378add1a}.payment-summary-value{color:var(--text-primary);margin-bottom:2px;font-size:20px;font-weight:700}.payment-summary-label{color:var(--text-muted);font-size:11px;font-weight:500}.payment-date-group{margin-bottom:16px}.payment-date-label{letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);margin-bottom:8px;padding-left:2px;font-size:11px;font-weight:600}.payment-card{cursor:pointer;align-items:center;gap:12px;margin-bottom:8px;padding:14px;transition:transform .1s;display:flex}.payment-card:active{transform:scale(.98)}.payment-card-avatar{border-radius:50%;justify-content:center;align-items:center;width:40px;min-width:40px;height:40px;font-size:13px;font-weight:600;display:flex}.payment-card-info{flex:1;min-width:0}.payment-card-name{color:var(--text-primary);font-size:14px;font-weight:600}.payment-card-meta{align-items:center;gap:6px;margin-top:3px;display:flex}.payment-card-plan{color:var(--text-muted);font-size:12px}.payment-method-badge{color:var(--primary);background:#534ab714;border-radius:6px;align-items:center;padding:2px 7px;font-size:10px;font-weight:600;display:inline-flex}.payment-card-time{color:var(--text-muted);margin-top:2px;font-size:11px}.payment-card-right{flex-direction:column;align-items:flex-end;gap:4px;display:flex}.payment-card-amount{color:var(--text-primary);font-size:15px;font-weight:600}.payment-status-badge{border-radius:6px;padding:3px 8px;font-size:10px;font-weight:600;display:inline-flex}.payment-status-badge.paid{color:#1d9e75;background:#1d9e751a}.payment-status-badge.pending{color:#ef9f27;background:#ef9f271a}.payment-status-badge.partial{color:#378add;background:#378add1a}.add-payment-screen{background:var(--grad-dashboard)}.member-search-wrapper{margin-bottom:18px;position:relative}.member-search-results{z-index:100;border-radius:0 0 var(--radius-sm) var(--radius-sm);max-height:200px;position:absolute;top:100%;left:0;right:0;overflow-y:auto;box-shadow:0 8px 24px #0000001a}.member-search-item{cursor:pointer;border-bottom:1px solid #0000000a;align-items:center;gap:10px;padding:10px 14px;transition:background .15s;display:flex}.member-search-item:hover{background:#534ab70a}.member-search-item-avatar{border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:11px;font-weight:600;display:flex}.member-search-item-info{flex:1}.member-search-item-name{font-size:13px;font-weight:600}.member-search-item-phone{color:var(--text-muted);font-size:11px}.selected-member-chip{border-radius:var(--radius-sm);background:#534ab70f;border:1px solid #534ab726;align-items:center;gap:10px;margin-bottom:18px;padding:10px 14px;display:flex}.selected-member-chip-info{flex:1}.selected-member-chip-name{font-size:14px;font-weight:600}.selected-member-chip-plan{color:var(--text-muted);font-size:12px}.selected-member-chip-remove{color:#e24b4a;cursor:pointer;background:#e24b4a1a;border:none;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;font-size:14px;display:flex}.amount-display{color:#1d9e75;text-align:center;padding:12px 0;font-size:28px;font-weight:700}.membership-info-card{margin-top:16px;margin-bottom:8px;padding:14px}.membership-info-row{justify-content:space-between;padding:4px 0;font-size:13px;display:flex}.membership-info-label{color:var(--text-muted)}.membership-info-value{font-weight:500}.membership-extend-note{text-align:center;color:var(--primary);border-top:1px dashed #00000014;margin-top:8px;padding-top:8px;font-size:12px;font-weight:600}.payment-detail-screen{background:var(--grad-dashboard)}.invoice-preview-card{text-align:center;margin-bottom:16px;padding:16px}.invoice-preview-number{color:var(--primary);letter-spacing:.04em;text-transform:uppercase;font-size:11px;font-weight:600}.invoice-preview-amount{color:var(--text-primary);margin:8px 0 4px;font-size:32px;font-weight:700}.invoice-preview-status{margin-top:8px}.action-buttons-row{gap:8px;margin-bottom:16px;display:flex}.action-btn{border-radius:var(--radius-sm);cursor:pointer;border:none;flex-direction:column;flex:1;align-items:center;gap:6px;padding:12px 8px;font-family:Inter,sans-serif;font-size:11px;font-weight:600;transition:all .2s;display:flex}.action-btn.primary{color:var(--primary);background:#534ab714}.action-btn.success{color:#1d9e75;background:#1d9e7514}.action-btn.danger{color:#e24b4a;background:#e24b4a14}.action-btn:active{transform:scale(.95)}.payment-info-section{padding:16px}.payment-info-row{border-bottom:1px solid #0000000a;justify-content:space-between;align-items:center;padding:8px 0;display:flex}.payment-info-row:last-child{border-bottom:none}.payment-info-label{color:var(--text-muted);font-size:12px}.payment-info-value{color:var(--text-primary);font-size:13px;font-weight:500}.success-overlay{z-index:2000;background:#0000004d;justify-content:center;align-items:center;animation:.15s ease-out fadeIn;display:flex;position:fixed;inset:0}.success-sheet{border-radius:var(--radius-xl);text-align:center;width:90%;max-width:360px;padding:28px 24px;animation:.3s cubic-bezier(.16,1,.3,1) scaleIn}.success-checkmark{background:#1d9e751a;border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;margin:0 auto 16px;animation:.5s cubic-bezier(.175,.885,.32,1.275) scaleIn;display:flex}.razorpay-test-badge{color:#ef9f27;background:#ef9f271a;border-radius:20px;align-items:center;gap:4px;margin-left:8px;padding:4px 10px;font-size:10px;font-weight:600;display:inline-flex}.payment-empty{text-align:center;padding:40px 20px}.payment-empty-icon{background:#534ab714;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;margin:0 auto 16px;display:flex}.payment-empty h3{margin-bottom:6px;font-size:16px;font-weight:600}.payment-empty p{color:var(--text-muted);margin-bottom:20px;font-size:13px}.trainer-screen{background:var(--grad-role)}.plan-card{cursor:pointer;margin-bottom:12px;padding:16px 18px;transition:transform .2s}.plan-card:active{transform:scale(.98)}.plan-card-header{justify-content:space-between;align-items:flex-start;margin-bottom:8px;display:flex}.plan-card-name{color:var(--text-primary);font-size:15px;font-weight:600}.plan-badges{flex-shrink:0;gap:6px;display:flex}.plan-badge{border-radius:6px;padding:3px 8px;font-size:10px;font-weight:600}.plan-badge.goal{color:var(--primary);background:#534ab714}.plan-badge.exp{color:#1d9e75;background:#1d9e7514}.plan-card-meta{color:var(--text-muted);gap:6px;font-size:12px;display:flex}.plan-template-btn{width:auto;margin-top:10px;padding:6px 14px;font-size:12px}.day-card{margin-bottom:12px;padding:16px}.day-card-header{cursor:pointer;justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.day-card-title{color:var(--text-primary);font-size:14px;font-weight:600}.day-card-focus{color:var(--text-muted);margin-top:2px;font-size:12px}.day-rest-badge{color:var(--text-muted);background:#0000000a;border-radius:8px;padding:4px 10px;font-size:11px}.exercise-item{background:#fff6;border:1px solid #534ab70f;border-radius:12px;margin-bottom:8px;padding:12px}.exercise-item-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.exercise-item-name{color:var(--text-primary);font-size:13px;font-weight:600}.exercise-remove{color:#e24b4a;cursor:pointer;background:0 0;border:none;padding:4px;font-size:16px}.exercise-fields{grid-template-columns:1fr 1fr;gap:8px;display:grid}.exercise-fields .input-group{margin-bottom:0}.exercise-fields .input-field{padding:8px 10px;font-size:12px}.exercise-fields .input-label{font-size:11px}.add-exercise-btn{width:100%;color:var(--primary);cursor:pointer;background:0 0;border:1.5px dashed #534ab733;border-radius:12px;padding:10px;font-size:13px;font-weight:600;transition:background .2s}.add-exercise-btn:hover{background:#534ab70a}.exercise-lib-sheet{max-height:60vh;overflow-y:auto}.exercise-lib-group{margin-bottom:16px}.exercise-lib-group-title{color:var(--primary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:8px;font-size:12px;font-weight:600}.exercise-lib-item{color:var(--text-primary);cursor:pointer;border-radius:10px;padding:10px 12px;font-size:13px;transition:background .2s}.exercise-lib-item:hover{background:#534ab70f}.assign-current{margin-bottom:16px;padding:14px 16px}.assign-current-label{color:var(--text-muted);margin-bottom:4px;font-size:12px}.assign-current-plan{color:var(--primary);font-size:15px;font-weight:600}.plan-card.selected{border:2px solid var(--primary);background:#534ab70a}.exercise-card-collapsed,.exercise-card-expanded{cursor:pointer;border:1px solid #ffffff1a;margin-bottom:12px;transition:all .3s;overflow:hidden}.exercise-card-collapsed:hover,.exercise-card-expanded:hover{background:#ffffff14}.done-state{border-color:#1d9e7566}.exercise-card-collapsed{justify-content:space-between;align-items:center;padding:16px;display:flex}.ec-collapsed-left{align-items:center;gap:12px;display:flex}.ec-muscle-dot{border-radius:50%;width:6px;height:6px}.ec-title{margin-bottom:2px;font-size:15px;font-weight:600}.ec-title-large{margin-bottom:6px;font-size:18px;font-weight:700}.ec-subtitle{color:var(--text-muted,#7a7a9a);font-size:12px}.ec-check-circle{width:24px;height:24px;font-size:12px;font-weight:bolx;color:#0000;border:2px solid #fff3;border-radius:50%;justify-content:center;align-items:center;transition:all .2s;display:flex}.ec-check-circle.checked{color:#fff;background:#1d9e75;border-color:#1d9e75}.exercise-card-expanded{cursor:default;padding:16px}.ec-header{cursor:pointer;justify-content:space-between;align-items:flex-start;margin-bottom:16px;display:flex}.ec-badges{gap:8px;display:flex}.ec-badge{text-transform:uppercase;border-radius:20px;padding:4px 8px;font-size:10px;font-weight:700}.ec-badge.diff-badge{color:#8e2de2;background:#8e2de21a;border:1px solid #8e2de233}.ec-quick-stats{gap:8px;margin-bottom:16px;display:flex}.ec-stat-chip{background:#ffffff0d;border:1px solid #ffffff0d;border-radius:8px;flex-direction:column;flex:1;align-items:center;padding:10px 4px;display:flex}.ec-stat-val{margin-bottom:2px;font-size:14px;font-weight:700}.ec-video-container{background:#000;border-radius:12px;width:100%;height:0;margin-bottom:24px;padding-bottom:56.25%;position:relative;overflow:hidden}.ec-youtube-iframe{border:none;width:100%;height:100%;position:absolute;top:0;left:0}.ec-no-video{color:#7a7a9a;border-radius:12px;justify-content:center;align-items:center;height:315px;font-size:14px;display:flex}.ec-view-toggle{background:#0003;border-radius:8px;margin-bottom:20px;padding:4px;display:flex}.ec-toggle-btn{color:#7a7a9a;cursor:pointer;background:0 0;border:none;border-radius:6px;flex:1;padding:8px;font-size:13px;font-weight:600;transition:all .2s}.ec-toggle-btn.active{color:#fff;background:#ffffff1a;box-shadow:0 2px 8px #0003}.ec-dynamic-area{background:#0000001a;border-radius:12px;justify-content:center;align-items:center;min-height:250px;margin-bottom:20px;display:flex;overflow:hidden}.ec-gif-img,.ec-muscle-img{object-fit:contain;border-radius:12px;width:100%;max-height:250px}.ec-gif-skeleton{width:100%;height:280px}.ec-gif-error{height:280px;color:var(--text-muted);background:#ffffff0d;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;font-size:14px;display:flex}.ec-muscle-labels{flex-direction:column;gap:8px;margin-top:16px;display:flex}.ec-muscle-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.ec-m-label{color:var(--text-muted);font-size:12px}.ec-m-pill{text-transform:capitalize;border-radius:12px;padding:4px 8px;font-size:11px}.primary-pill{color:#8c83e6;background:#534ab733;font-weight:600}.secondary-pill{color:var(--text-muted);background:#ffffff0d}.ec-instructions-wrapper{border-top:1px solid #ffffff1a;margin-bottom:24px;padding-top:16px}.ec-instructions-toggle{width:100%;color:inherit;background:0 0;border:none;justify-content:space-between;align-items:center;padding:0;display:flex}.ec-instructions-content{flex-direction:column;gap:12px;margin-top:16px;display:flex}.ec-step{gap:12px;animation:.3s both slideFadeIn;display:flex}.ec-step-num{color:#fff;background:#534ab7;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;font-size:12px;font-weight:700;display:flex}.ec-step-text{color:#1a1a1a;flex:1;font-size:14px;line-height:1.5}.ec-logging-section{background:#ffffff0a;border:1px solid #ffffff14;border-radius:16px;padding:16px}.ec-log-header{color:var(--text-muted);margin-bottom:12px;font-size:14px;font-weight:600}.ec-log-inputs-row{gap:8px;margin-bottom:12px;display:flex}.ec-input-group{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:8px;flex-direction:column;flex:1;display:flex}.ec-set-row{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#ffffff0d;border:1px solid #ffffff1a;border-radius:10px;align-items:center;gap:6px;margin-bottom:6px;padding:8px 6px;transition:all .2s;display:flex}.ec-set-row:focus-within{background:#534ab71a;border-color:#534ab7;transform:translate(4px)}.ec-set-label{color:#7a7a9a;text-transform:uppercase;width:40px;font-size:10px;font-weight:800}.ec-set-input{color:#fff;text-align:center;background:#0000004d;border:1px solid #ffffff1a;border-radius:6px;outline:none;flex:1;min-width:35px;max-width:75px;padding:4px 2px;font-size:11px;font-weight:700;transition:all .2s}.ec-set-input:focus{background:#00000080;border-color:#534ab7;box-shadow:0 0 15px #534ab74d}.ec-set-input::placeholder{color:#bbb;font-size:13px;font-weight:400}.ec-remove-set{color:#e24b4a;cursor:pointer;background:0 0;border:none;padding:4px 8px;font-size:18px;font-weight:700}.ec-add-set-btn{color:#534ab7;cursor:pointer;background:#534ab71a;border:2px dashed #534ab7;border-radius:8px;width:100%;margin-top:4px;margin-bottom:16px;padding:10px;font-weight:600;transition:all .2s}.ec-add-set-btn:hover{background:#534ab733}.ec-input-group label{color:var(--text-muted);text-transform:uppercase;text-align:center;margin-bottom:4px;font-size:9px}.ec-input-group input{color:#000;text-align:center;background:#fff;border:none;border-radius:4px;outline:none;width:100%;padding:4px 0;font-size:16px;font-weight:700}.ec-input-group input:focus{color:#000;box-shadow:0 0 0 2px #534ab766}.ec-log-notes textarea{color:#fff;resize:vertical;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:8px;width:100%;margin-bottom:16px;padding:10px;font-family:inherit;font-size:13px}.ec-mark-btn{color:#fff;background:#534ab7;border:none;border-radius:8px;width:100%;padding:14px;font-size:15px;font-weight:700;transition:all .2s}.ec-mark-btn:active{transform:scale(.98)}.ec-mark-done{background:#1d9e75}@keyframes slideFadeIn{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}.ec-pr-badge{color:gold;z-index:2;background:#ffd70026;border:1px solid #ffd7004d;border-radius:6px;align-items:center;gap:4px;padding:4px 8px;font-size:10px;font-weight:800;display:flex;position:absolute;top:12px;right:12px}.ec-progression-tip{background:#534ab714;border-left:3px solid #534ab7;border-radius:4px 10px 10px 4px;flex-direction:column;gap:4px;margin-bottom:20px;padding:12px;display:flex}.ec-tip-header{color:#7a7a9a;text-transform:uppercase;letter-spacing:.5px;align-items:center;gap:6px;font-size:11px;font-weight:700;display:flex}.ec-tip-text{color:#fff;font-size:13px;line-height:1.4}.ec-apply-tip{color:#fff;cursor:pointer;background:#534ab7;border:none;border-radius:6px;align-self:flex-start;margin-top:4px;padding:6px 12px;font-size:12px;font-weight:600}.ec-form-frames{-webkit-overflow-scrolling:touch;gap:8px;margin-top:12px;padding-bottom:8px;display:flex;overflow-x:auto}.ec-frame-card{background:#ffffff0d;border:1px solid #ffffff14;border-radius:10px;flex-direction:column;flex:0 0 120px;gap:6px;padding:8px;display:flex}.ec-frame-label{color:#534ab7;text-transform:uppercase;font-size:10px;font-weight:800}.ec-frame-cue{color:#7a7a9a;font-size:11px;line-height:1.2}.ec-rpe-section{border-top:1px solid #ffffff1a;margin-top:20px;padding-top:16px}.ec-rpe-label{color:#7a7a9a;justify-content:space-between;margin-bottom:12px;font-size:13px;font-weight:600;display:flex}.ec-rpe-scale{justify-content:space-between;gap:4px;display:flex}.ec-rpe-btn{aspect-ratio:1;color:#7a7a9a;cursor:pointer;background:#ffffff08;border:1px solid #ffffff1a;border-radius:50%;flex:1;justify-content:center;align-items:center;font-size:11px;font-weight:700;transition:all .2s;display:flex}.ec-rpe-btn.active{color:#fff;background:#534ab7;border-color:#534ab7;transform:scale(1.1);box-shadow:0 0 12px #534ab766}.ec-rpe-desc{text-align:center;color:#534ab7;margin-top:10px;font-size:12px;font-weight:600}.ec-cal-chip{color:#e24b4a;background:#e24b4a1a;border-radius:6px;align-items:center;gap:4px;padding:4px 8px;font-size:10px;font-weight:800;display:flex}.pr-celebration-overlay{z-index:1000;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#000000d9;justify-content:center;align-items:center;animation:.3s fadeIn;display:flex;position:fixed;inset:0}.pr-card{text-align:center;background:linear-gradient(135deg,#1b1b1b 0%,#2a2a2a 100%);border:2px solid gold;border-radius:24px;padding:40px;animation:.6s forwards prFlash;transform:scale(.9);box-shadow:0 0 40px #ffd70033}@keyframes prFlash{0%{opacity:0;transform:scale(.8)}50%{opacity:1;transform:scale(1.05)}to{opacity:1;transform:scale(1)}}.member-workout-screen{background:linear-gradient(150deg,#e8f5f0,#f0e8ff,#e8f4ff);min-height:100vh}.workout-header{margin-bottom:20px;animation:.4s ease-out fadeInDown}.day-scroller{scroll-behavior:smooth;gap:12px;margin-bottom:8px;padding-bottom:16px;display:flex;overflow-x:auto}.day-pill{text-align:center;min-width:80px;color:var(--text-primary);cursor:pointer;background:#fff9;border:1px solid #534ab71a;border-radius:12px;flex-shrink:0;padding:12px 10px;transition:all .2s}.day-pill.active{background:var(--primary);color:#fff;border-color:var(--primary);transform:translateY(-2px);box-shadow:0 4px 12px #534ab733}.exercises-list{animation:.3s ease-out fadeIn}.exercise-card{border:1px solid #fff9;margin-bottom:12px;padding:16px;transition:all .2s}.exercise-card.completed{background:#1d9e750d;border-color:#1d9e754d}.exercise-card-header{cursor:pointer}.exercise-card-title-row{align-items:center;gap:12px;display:flex}.checkbox{color:#fff;border:2px solid #534ab74d;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;font-size:14px;transition:all .2s;display:flex}.checkbox.checked{background:var(--success);border-color:var(--success)}.exercise-card-log{border-top:1px dashed #534ab71a;margin-top:14px;padding-top:12px;animation:.2s ease-out fadeInDown}.workout-saved-notice{text-align:center;color:var(--success);background:#1d9e751a;border-radius:12px;margin:20px 0 80px;padding:16px;font-weight:600}.confetti-overlay{z-index:2000;background:#0006;justify-content:center;align-items:center;animation:.3s ease-out fadeIn;display:flex;position:fixed;inset:0}.confetti-modal{text-align:center;background:#fff;border-radius:20px;padding:30px;animation:.4s cubic-bezier(.175,.885,.32,1.275) slideUp}.confetti-modal h2{color:var(--primary);margin-bottom:8px;font-size:24px}@keyframes slideUp{0%{opacity:0;transform:translateY(50px)}to{opacity:1;transform:translateY(0)}}.workout-sticky-bar{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:100;background:#ffffffe6;border:1px solid #ffffff4d;border-radius:20px;justify-content:space-between;align-items:center;padding:12px 20px;animation:.4s cubic-bezier(.175,.885,.32,1.275) slideUp;display:flex;position:fixed;bottom:84px;left:16px;right:16px;box-shadow:0 8px 32px #534ab726}.sticky-stat{flex-direction:column;align-items:center;display:flex}.sticky-stat-val{color:#534ab7;font-size:16px;font-weight:800}.sticky-stat-lbl{color:#7a7a9a;text-transform:uppercase;font-size:10px;font-weight:600}.summary-overlay{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:1000;background:#000c;flex-direction:column;justify-content:flex-end;display:flex;position:fixed;inset:0}.summary-sheet{text-align:center;background:#fff;border-radius:32px 32px 0 0;max-height:85vh;padding:32px 24px 48px;overflow-y:auto}.summary-cal-large{color:#534ab7;margin-top:20px;font-size:48px;font-weight:800}.summary-cal-lbl{color:#7a7a9a;margin-bottom:24px;font-size:14px;font-weight:600}.summary-equivalents{flex-wrap:wrap;justify-content:center;gap:16px;margin-bottom:32px;display:flex}.equiv-item{flex-direction:column;align-items:center;gap:4px;display:flex}.equiv-icon{font-size:24px}.equiv-text{color:#1a1a1a;font-size:12px;font-weight:600}.summary-stats-grid{grid-template-columns:1fr 1fr;gap:12px;margin-bottom:32px;display:grid}.summary-stat-card{text-align:left;background:#f8f9fa;border-radius:16px;padding:16px}.summary-stat-card .lbl{color:#7a7a9a;text-transform:uppercase;font-size:11px;font-weight:700}.summary-stat-card .val{color:#1a1a1a;font-size:18px;font-weight:800}.member-progress-screen{background:linear-gradient(150deg,#e8f5f0,#f0e8ff,#e8f4ff);min-height:100vh}.chart-card{background:#ffffffb3;margin-bottom:20px;padding:20px}.chart-header{justify-content:space-between;align-items:flex-start;margin-bottom:20px;display:flex}.chart-pills{background:#0000000a;border-radius:12px;padding:4px;display:flex}.chart-pill{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:8px;padding:6px 12px;font-size:11px;font-weight:600;transition:all .2s}.chart-pill.active{color:var(--primary);background:#fff;box-shadow:0 2px 8px #0000000d}.chart-container{height:220px;position:relative}.empty-chart{text-align:center;height:100%;color:var(--text-muted);border:1px dashed #534ab733;border-radius:12px;justify-content:center;align-items:center;padding:20px;font-size:13px;display:flex}.stats-row{gap:12px;margin-bottom:20px;display:flex}.stat-card{background:#fff9;flex-direction:column;flex:1;justify-content:center;align-items:center;padding:16px;display:flex}.stat-icon{border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;margin-bottom:8px;font-size:20px;display:flex}.streak-icon{color:#ef9f27;background:#faeeda}.workout-icon{color:var(--primary);background:#534ab71a}.stat-value{color:var(--text-primary);margin-bottom:4px;font-size:20px;font-weight:700}.stat-label{color:var(--text-muted);font-size:12px}.photos-section{margin-bottom:80px;padding:20px}.weekly-comp-section{border:1px solid #534ab71a;margin-bottom:20px;padding:20px;background:#fffc!important}.weekly-comp-header{color:#534ab7;text-transform:uppercase;letter-spacing:.5px;margin-bottom:16px;font-size:14px;font-weight:700}.weekly-comp-grid{flex-direction:column;gap:16px;display:flex}.comp-item{justify-content:space-between;align-items:center;display:flex}.comp-info{flex-direction:column;gap:4px;display:flex}.comp-label{color:#1a1a1a;font-size:13px;font-weight:600}.comp-sub{color:#7a7a9a;font-size:11px}.comp-delta{flex-direction:column;align-items:flex-end;gap:2px;display:flex}.delta-val{font-size:15px;font-weight:800}.delta-val.up{color:#10b981}.delta-val.down{color:#ef4444}.delta-val.neutral{color:#7a7a9a}.delta-pct{border-radius:4px;padding:2px 6px;font-size:10px;font-weight:700}.delta-pct.up{color:#10b981;background:#10b9811a}.delta-pct.down{color:#ef4444;background:#ef44441a}.member-profile-screen{background:linear-gradient(150deg,#e8f5f0,#f0e8ff,#e8f4ff);min-height:100vh}.profile-header{flex-direction:column;align-items:center;margin-bottom:32px;animation:.4s ease-out fadeInDown;display:flex}.profile-avatar-large{border-radius:50%;justify-content:center;align-items:center;width:90px;height:90px;margin-bottom:16px;font-size:32px;font-weight:700;display:flex;position:relative;box-shadow:0 8px 24px #0000001f}.avatar-edit-btn{background:var(--primary);color:#fff;cursor:pointer;border:2px solid #fff;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-size:14px;display:flex;position:absolute;bottom:0;right:0}.profile-name{color:var(--text-primary);margin-bottom:4px;font-size:20px;font-weight:700}.profile-phone{color:var(--text-muted);font-size:14px}.profile-menu{margin-bottom:24px}.profile-menu-item{text-align:left;cursor:pointer;background:#ffffffb3;border:none;align-items:center;width:100%;margin-bottom:12px;padding:16px;transition:transform .2s;display:flex}.profile-menu-item:active{transform:scale(.98)}.menu-item-icon{border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;margin-right:16px;font-size:18px;display:flex}.menu-item-text{flex:1}.menu-item-title{color:var(--text-primary);margin-bottom:2px;font-size:15px;font-weight:600}.menu-item-subtitle{color:var(--text-muted);font-size:12px}.menu-item-arrow{color:var(--text-muted);font-size:16px}.detail-row{border-bottom:1px dashed #0000000f;justify-content:space-between;padding:12px 0;display:flex}.detail-row:last-child{border-bottom:none;padding-bottom:0}.detail-label{color:var(--text-muted);font-size:13px}.detail-value{color:var(--text-primary);text-align:right;font-size:13px;font-weight:600}.member-card-screen{color:#fff;background:linear-gradient(150deg,#1a1a1a,#2c2859,#1a1a1a);min-height:100vh}.member-card-screen .top-bar-title{color:#fff}.member-card-screen .back-btn{color:#fff;background:#ffffff1a}.id-card-wrapper{border-radius:24px;width:100%;max-width:360px;padding:10px}.id-card{aspect-ratio:1.586;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);color:#1a1a1a;background:#fffffff2;border:1px solid #fff6;border-radius:20px;width:100%;position:relative;overflow:hidden;box-shadow:0 20px 40px #0000004d}.id-card-blob{filter:blur(30px);opacity:.15;z-index:0;border-radius:50%;position:absolute}.id-card.type-active .blob-1{background:var(--success);width:200px;height:200px;top:-50px;right:-50px}.id-card.type-active .blob-2{background:var(--primary);width:150px;height:150px;bottom:-30px;left:-30px}.id-card.type-expiring .blob-1{background:var(--amber);width:200px;height:200px;top:-50px;right:-50px}.id-card.type-expiring .blob-2{background:var(--primary);width:150px;height:150px;bottom:-30px;left:-30px}.id-card.type-expired .blob-1{background:var(--danger);width:200px;height:200px;top:-50px;right:-50px}.id-card.type-expired .blob-2{background:#1a1a1a;width:150px;height:150px;bottom:-30px;left:-30px}.id-card-content{z-index:1;flex-direction:column;justify-content:space-between;width:100%;height:100%;padding:20px 24px;display:flex;position:absolute;top:0;left:0}.id-card-top{justify-content:space-between;align-items:center;display:flex}.id-gym-name{letter-spacing:.02em;color:#1a1a1a;font-size:15px;font-weight:700}.id-logo-text{letter-spacing:.2em;color:#0000004d;font-size:12px;font-weight:800}.id-card-middle{flex:1;justify-content:space-between;align-items:center;display:flex}.id-member-name{margin-bottom:4px;font-size:22px;font-weight:800}.id-plan-name{color:var(--primary);background:#534ab714;border-radius:8px;padding:4px 10px;font-size:14px;font-weight:600;display:inline-block}.id-qr-box{background:#fff;border-radius:12px;padding:6px;box-shadow:0 4px 12px #0000000f}.id-card-bottom{justify-content:space-between;align-items:flex-end;display:flex}.id-label{text-transform:uppercase;letter-spacing:.05em;color:#0006;margin-bottom:2px;font-size:9px}.id-value{font-size:12px;font-weight:700}.id-status-badge{background:#fff;border-radius:20px;align-items:center;gap:6px;padding:6px 12px;font-size:11px;font-weight:700;display:flex;box-shadow:0 2px 8px #0000000d}.status-dot{border-radius:50%;width:8px;height:8px}.status-dot.active{background:var(--success)}.status-dot.expiring{background:var(--amber)}.status-dot.expired{background:var(--danger)}.id-card-actions{flex-direction:column;gap:12px;width:100%;max-width:320px;display:flex}.id-card-actions .btn-primary{color:#1a1a1a;background:#fff;box-shadow:0 4px 20px #fff3}.id-card-actions .btn-ghost.share-btn{color:#fff;background:#ffffff1a;border:1px solid #fff3}.public-card-screen{background:#f8fafc;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:24px;font-family:Inter,system-ui,sans-serif;display:flex}.verification-banner{text-align:center;color:#fff;z-index:100;padding:16px;font-size:15px;font-weight:700;animation:.3s ease-out slideDown;position:fixed;top:0;left:0;right:0;box-shadow:0 4px 12px #0000001a}.verification-banner.type-active{background:var(--success)}.verification-banner.type-expiring{background:var(--amber)}.verification-banner.type-expired{background:var(--danger)}.error-card{text-align:center;max-width:320px;padding:40px 30px}.main-card{background:#fff;border:1px solid #0000000d;border-radius:24px;width:100%;max-width:380px;margin-top:40px;overflow:hidden;box-shadow:0 12px 40px #00000014}.gym-header{background:var(--primary);color:#fff;text-align:center;padding:24px 20px}.gym-header h2{letter-spacing:.05em;margin:0;font-size:18px;font-weight:700}.member-info{text-align:center;border-bottom:1px dashed #0000001a;padding:24px 20px 16px}.member-name{color:var(--text-primary);margin-bottom:8px;font-size:24px;font-weight:800}.member-plan{color:var(--primary);background:#534ab71a;border-radius:12px;padding:6px 14px;font-size:14px;font-weight:600;display:inline-block}.details-grid{grid-template-columns:1fr 1fr;gap:16px;padding:20px;display:grid}.detail-item{flex-direction:column;display:flex}.detail-label{text-transform:uppercase;color:var(--text-muted);letter-spacing:.05em;margin-bottom:4px;font-size:11px;font-weight:600}.detail-value{color:var(--text-primary);font-size:14px;font-weight:700}.detail-value.status-active{color:var(--success)}.detail-value.status-expiring{color:var(--amber)}.detail-value.status-expired{color:var(--danger)}.qr-section{text-align:center;background:#f8fafc;border-top:1px dashed #0000001a;padding:24px 20px 32px}.watermark{color:var(--text-muted);letter-spacing:.1em;margin-top:40px;font-size:12px}@keyframes slideDown{0%{transform:translateY(-100%)}to{transform:translateY(0)}}.analytics-screen{background:var(--grad-dashboard)}.analytics-range-row{gap:6px;margin-bottom:20px;display:flex}.analytics-range-pill{cursor:pointer;color:var(--text-muted);white-space:nowrap;background:0 0;border:1.5px solid #0000;border-radius:20px;padding:8px 14px;font-family:Inter,sans-serif;font-size:12px;font-weight:600;transition:all .2s}.analytics-range-pill.active{background:var(--primary);border-color:var(--primary);color:#fff}.analytics-card{margin-bottom:16px;padding:18px}.analytics-card-header{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.analytics-card-title{color:var(--text-primary);font-size:15px;font-weight:600}.analytics-card-total{color:var(--primary);font-size:13px;font-weight:600}.analytics-chart-container{width:100%;height:220px;position:relative}.analytics-stats-below{border-top:1px solid #0000000a;justify-content:space-around;margin-top:14px;padding-top:14px;display:flex}.analytics-stat-item{text-align:center}.analytics-stat-item-value{color:var(--text-primary);font-size:14px;font-weight:600}.analytics-stat-item-label{color:var(--text-muted);margin-top:2px;font-size:10px}.analytics-stat-trend{font-size:11px;font-weight:600}.analytics-stat-trend.up{color:#1d9e75}.analytics-stat-trend.down{color:#e24b4a}.heatmap-container{overflow-x:auto}.heatmap-grid{gap:2px;min-width:300px;display:grid}.heatmap-cell{aspect-ratio:1;cursor:default;border-radius:3px;min-width:14px;position:relative}.heatmap-cell:hover{outline:1px solid var(--primary)}.heatmap-label{color:var(--text-muted);text-align:center;padding:2px 0;font-size:9px}.heatmap-row-label{color:var(--text-muted);justify-content:flex-end;align-items:center;padding-right:4px;font-size:9px;display:flex}.heatmap-legend{justify-content:center;align-items:center;gap:6px;margin-top:10px;display:flex}.heatmap-legend-item{color:var(--text-muted);align-items:center;gap:3px;font-size:9px;display:flex}.heatmap-legend-box{border-radius:2px;width:10px;height:10px}.retention-center{text-align:center;margin:16px 0}.retention-rate{font-size:36px;font-weight:600}.retention-rate.good{color:#1d9e75}.retention-rate.medium{color:#ef9f27}.retention-rate.bad{color:#e24b4a}.retention-label{color:var(--text-muted);margin-top:2px;font-size:12px}.expiring-table{border-collapse:collapse;width:100%}.expiring-table th{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);text-align:left;border-bottom:1px solid #0000000f;padding:8px 6px;font-size:10px;font-weight:600}.expiring-table td{vertical-align:middle;border-bottom:1px solid #00000008;padding:10px 6px;font-size:12px}.expiring-row-urgent{background:#e24b4a0d}.expiring-row-warning{background:#ef9f270d}.expiring-action-btn{cursor:pointer;border:none;border-radius:6px;padding:4px 10px;font-family:Inter,sans-serif;font-size:10px;font-weight:600;transition:all .2s}.expiring-action-btn.renew{color:var(--primary);background:#534ab714}.expiring-action-btn.remind{color:#25d366;background:#25d36614}.expiring-days-badge{border-radius:10px;padding:2px 7px;font-size:10px;font-weight:600;display:inline-flex}.expiring-days-badge.urgent{color:#e24b4a;background:#e24b4a1a}.expiring-days-badge.warning{color:#ef9f27;background:#ef9f271a}.expiring-days-badge.normal{color:var(--primary);background:#534ab714}.whatsapp-screen{background:var(--grad-dashboard)}.whatsapp-stats-row{grid-template-columns:1fr 1fr 1fr;gap:8px;margin-bottom:20px;display:grid}.whatsapp-stat-card{text-align:center;padding:12px}.whatsapp-stat-value{color:var(--text-primary);font-size:20px;font-weight:700}.whatsapp-stat-label{color:var(--text-muted);margin-top:2px;font-size:10px}.whatsapp-stat-card.failed .whatsapp-stat-value{color:#e24b4a}.wa-message-row{align-items:center;gap:12px;margin-bottom:8px;padding:12px 14px;transition:transform .1s;display:flex}.wa-message-row.failed{border-left:3px solid #e24b4a}.wa-icon-circle{background:#25d3661a;border-radius:50%;justify-content:center;align-items:center;width:36px;min-width:36px;height:36px;font-size:16px;display:flex}.wa-message-info{flex:1;min-width:0}.wa-message-name{color:var(--text-primary);font-size:14px;font-weight:600}.wa-message-type-badge{color:var(--primary);background:#534ab714;border-radius:6px;margin-top:3px;margin-right:6px;padding:2px 7px;font-size:10px;font-weight:600;display:inline-flex}.wa-message-preview{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:11px;overflow:hidden}.wa-message-right{flex-direction:column;align-items:flex-end;gap:4px;display:flex}.wa-message-time{color:var(--text-muted);font-size:10px}.wa-status-badge{border-radius:6px;padding:3px 7px;font-size:9px;font-weight:600;display:inline-flex}.wa-status-badge.sent{color:#1d9e75;background:#1d9e751a}.wa-status-badge.failed{color:#e24b4a;background:#e24b4a1a}.wa-status-badge.pending{color:#ef9f27;background:#ef9f271a}.wa-retry-btn{color:#e24b4a;cursor:pointer;background:#e24b4a14;border:none;border-radius:6px;margin-top:4px;padding:4px 10px;font-size:10px;font-weight:600}.attendance-screen{background:var(--grad-dashboard)}.attendance-live-card{text-align:center;margin-bottom:20px;padding:20px;position:relative;overflow:hidden}.attendance-live-card:before{content:"";background:linear-gradient(90deg,#534ab7,#1d9e75);height:3px;position:absolute;top:0;left:0;right:0}.attendance-live-label{color:var(--text-muted);font-size:12px;font-weight:500}.attendance-live-count{color:var(--primary);margin:4px 0;font-size:40px;font-weight:700}.attendance-live-avatars{justify-content:center;gap:0;margin-top:10px;display:flex}.attendance-live-avatar{border:2px solid #fff;border-radius:50%;justify-content:center;align-items:center;width:30px;height:30px;margin-left:-6px;font-size:10px;font-weight:600;display:flex}.attendance-live-avatar:first-child{margin-left:0}.attendance-stats-row{grid-template-columns:1fr 1fr 1fr;gap:8px;margin-bottom:20px;display:grid}.attendance-stat-card{text-align:center;padding:12px}.attendance-stat-value{color:var(--text-primary);font-size:18px;font-weight:700}.attendance-stat-label{color:var(--text-muted);margin-top:2px;font-size:10px}.attendance-log-row{align-items:center;gap:12px;margin-bottom:8px;padding:12px 14px;display:flex}.attendance-log-row.expired-entry{border-left:3px solid #e24b4a}.attendance-log-avatar{border-radius:50%;justify-content:center;align-items:center;width:36px;min-width:36px;height:36px;font-size:12px;font-weight:600;display:flex}.attendance-log-info{flex:1;min-width:0}.attendance-log-name{color:var(--text-primary);font-size:14px;font-weight:600}.attendance-log-plan{color:var(--text-muted);margin-top:1px;font-size:11px}.attendance-log-time{color:var(--text-secondary);font-size:13px;font-weight:500}.attendance-expired-badge{color:#e24b4a;background:#e24b4a1a;border-radius:6px;margin-left:6px;padding:2px 7px;font-size:9px;font-weight:600;display:inline-flex}.attendance-chart-wrapper{margin-bottom:20px;padding:16px}.attendance-chart-title{margin-bottom:12px;font-size:14px;font-weight:600}.attendance-chart-canvas{width:100%;height:200px}.settings-screen{background:var(--grad-dashboard)}.settings-hero{text-align:center;margin-bottom:8px;padding:20px 0 24px}.settings-gym-avatar{color:#fff;background:linear-gradient(135deg,#534ab7,#7c6ef0);border-radius:20px;justify-content:center;align-items:center;width:72px;height:72px;margin:0 auto 12px;font-size:28px;font-weight:700;display:flex;box-shadow:0 8px 24px #534ab759}.settings-gym-name{color:var(--text-primary);margin-bottom:4px;font-size:20px;font-weight:700}.settings-gym-id{color:var(--text-muted);background:#0000000a;border-radius:20px;padding:3px 10px;font-family:monospace;font-size:11px;display:inline-block}.settings-section{margin-bottom:20px}.settings-section-title{letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);margin-bottom:8px;padding:0 2px;font-size:11px;font-weight:700}.settings-row{cursor:pointer;border-bottom:1px solid #0000000a;align-items:center;gap:14px;padding:14px 16px;transition:background .15s;display:flex}.settings-row:last-child{border-bottom:none}.settings-row:active{background:#534ab70a}.settings-row-icon{border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:18px;display:flex}.settings-row-content{flex:1}.settings-row-label{color:var(--text-primary);font-size:14px;font-weight:500}.settings-row-desc{color:var(--text-muted);margin-top:1px;font-size:11px}.settings-row-value{color:var(--text-muted);text-align:right;white-space:nowrap;text-overflow:ellipsis;max-width:120px;font-size:12px;overflow:hidden}.settings-row-arrow{color:var(--text-muted);font-size:16px}.settings-danger .settings-row-label{color:#e24b4a}.settings-edit-overlay{-webkit-backdrop-filter:blur(12px);z-index:1000;background:#00000059;align-items:flex-end;animation:.15s fadeIn;display:flex;position:fixed;inset:0}.settings-edit-sheet{border-radius:24px 24px 0 0;width:100%;max-height:90vh;padding:8px 20px 40px;animation:.3s cubic-bezier(.16,1,.3,1) slideSheetUp;overflow-y:auto}.settings-edit-title{color:var(--text-primary);text-align:center;margin-bottom:20px;font-size:17px;font-weight:700}.plan-card-settings{align-items:center;gap:12px;margin-bottom:10px;padding:14px 16px;display:flex}.plan-card-settings-info{flex:1}.plan-card-settings-name{font-size:14px;font-weight:600}.plan-card-settings-meta{color:var(--text-muted);margin-top:2px;font-size:12px}.plan-card-settings-actions{gap:6px;display:flex}.plan-edit-btn{cursor:pointer;border:none;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;font-size:14px;display:flex}.plan-edit-btn.edit{color:var(--primary);background:#534ab714}.plan-edit-btn.delete{color:#e24b4a;background:#e24b4a14}.plan-toggle{cursor:pointer;border:none;border-radius:11px;flex-shrink:0;width:40px;height:22px;transition:background .25s;position:relative}.plan-toggle.on{background:#1d9e75}.plan-toggle.off{background:#00000026}.plan-toggle:after{content:"";background:#fff;border-radius:50%;width:18px;height:18px;transition:left .25s;position:absolute;top:2px;box-shadow:0 1px 3px #0003}.plan-toggle.on:after{left:20px}.plan-toggle.off:after{left:2px}.hours-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.color-picker-row{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.color-swatch{cursor:pointer;border:3px solid #0000;border-radius:50%;width:32px;height:32px;transition:all .15s}.color-swatch.selected{border-color:var(--text-primary);transform:scale(1.15)}.copy-chip{background:var(--primary-light);border:1px solid var(--primary-border);color:var(--primary);cursor:pointer;border-radius:8px;padding:4px 10px;font-size:11px;font-weight:600;transition:all .2s}.copy-chip:hover{background:var(--primary);color:#fff}.copy-chip:active{transform:scale(.95)}.subscription-public-screen{background:var(--grad-dashboard);justify-content:center;width:100%;min-height:100vh;padding-bottom:40px;display:flex;overflow-y:auto}.subscription-public-content{width:100%;max-width:600px;padding:40px 24px}.subscription-header{text-align:center;margin-bottom:40px;animation:.4s ease-out slideInUp}.gym-brand{flex-direction:column;align-items:center;gap:16px;margin-bottom:20px;display:flex}.gym-logo{border-radius:20px;justify-content:center;align-items:center;width:72px;height:72px;font-size:24px;font-weight:700;display:flex;box-shadow:0 8px 24px #534ab726}.gym-name{color:var(--text-primary);margin-bottom:4px;font-size:28px;font-weight:700}.gym-location{color:var(--text-muted);font-size:14px}.gym-description{color:var(--text-secondary);max-width:480px;margin:0 auto;font-size:15px;line-height:1.6}.plan-section{margin-bottom:40px;animation:.5s ease-out forwards slideInUp}.section-title{text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);align-items:center;gap:12px;margin-bottom:20px;padding-left:4px;font-size:12px;font-weight:700;display:flex}.section-title:after{content:"";background:#0000000f;flex:1;height:1px}.plans-grid{grid-template-columns:1fr;gap:20px;display:grid}@media (width>=500px){.plans-grid{grid-template-columns:1fr 1fr}}.plan-card{flex-direction:column;height:100%;padding:24px;transition:transform .3s cubic-bezier(.175,.885,.32,1.275);display:flex}.plan-card:hover{transform:translateY(-6px);box-shadow:0 12px 32px #534ab71a}.plan-header{margin-bottom:16px}.plan-name{color:var(--text-primary);margin-bottom:4px;font-size:18px;font-weight:700}.trainer-badge{text-transform:uppercase;color:var(--primary);background:var(--primary-light);border-radius:6px;padding:3px 8px;font-size:10px;font-weight:700}.plan-price-box{align-items:baseline;gap:4px;margin-bottom:16px;display:flex}.currency{color:var(--text-primary);font-size:16px;font-weight:600}.price{color:var(--text-primary);font-size:32px;font-weight:700}.duration{color:var(--text-muted);font-size:13px}.plan-desc{color:var(--text-secondary);flex:1;margin-bottom:24px;font-size:13px;line-height:1.5}.join-btn{border-radius:12px;margin-top:auto}.error-container{text-align:center;flex-direction:column;justify-content:center;align-items:center;height:80vh;display:flex}.error-icon{margin-bottom:20px;font-size:48px}.error-title{margin-bottom:10px;font-size:20px;font-weight:600}.error-desc{color:var(--text-muted);max-width:300px}.subscription-footer{text-align:center;border-top:1px solid #0000000d;margin-top:60px;padding-top:24px}.subscription-footer p{color:var(--text-muted);font-size:13px}.subscription-footer span{color:var(--primary);font-weight:700}.no-plans{text-align:center;color:var(--text-muted);padding:40px 20px}.no-plans p{margin-bottom:20px}.landing-public-screen{background-color:var(--bg);min-height:100vh;padding-bottom:40px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}.landing-navbar{-webkit-backdrop-filter:blur(10px);z-index:100;background:#fffc;border-bottom:1px solid #0000000d;justify-content:space-between;align-items:center;padding:16px 20px;display:flex;position:sticky;top:0}.landing-nav-brand{align-items:center;gap:12px;display:flex}.landing-logo{border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;font-size:16px;font-weight:700;display:flex}.landing-gym-name{color:var(--text);font-size:18px;font-weight:700}.landing-content{max-width:800px;margin:0 auto}.landing-hero{width:100%;position:relative}.hero-gallery{width:100%;height:350px;overflow:hidden}.hero-placeholder{width:100%;height:350px;color:var(--primary);text-align:center;background:linear-gradient(135deg,#534ab71a 0%,#378add1a 100%);justify-content:center;align-items:center;padding:20px;display:flex}.hero-placeholder h1{opacity:.6;font-size:24px}.hero-image-main{object-fit:cover;filter:brightness(.9);width:100%;height:100%}.hero-overlay-card{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);z-index:10;background:#fffffff2;border-radius:16px;margin:-60px 20px 20px;padding:24px;position:relative;box-shadow:0 10px 30px #00000014}.hero-title{color:var(--text);margin-bottom:4px;font-size:28px;font-weight:800}.hero-subtitle{color:var(--text-muted);margin-bottom:20px;font-size:14px}.hero-stats{border-top:1px solid #0000000d;gap:20px;padding-top:16px;display:flex}.stat-item{color:var(--text);align-items:center;gap:8px;font-size:14px;font-weight:500;display:flex}.stat-icon{font-size:16px}.landing-section{margin-bottom:10px;padding:20px}.landing-section-title{color:var(--text);margin-bottom:16px;font-size:22px;font-weight:700}.landing-about-text{color:var(--text);margin-bottom:24px;font-size:15px;line-height:1.6}.landing-subsection-title{color:var(--text);margin-bottom:16px;font-size:16px;font-weight:600}.landing-amenities{background:var(--card-bg);border-radius:16px;padding:20px}.amenities-grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:12px;display:grid}.amenity-chip{color:var(--text);background:#00000008;border-radius:20px;align-items:center;gap:8px;padding:8px 12px;font-size:14px;display:flex}.amenity-check{color:var(--primary);font-weight:700}.plans-horizontal-scroll{scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;gap:16px;padding:10px 0 20px;display:flex;overflow-x:auto}.plans-horizontal-scroll::-webkit-scrollbar{display:none}.landing-plan-card{scroll-snap-align:center;flex:0 0 calc(85% - 10px)}.landing-footer{text-align:center;color:var(--text-muted);padding:40px 20px}.footer-copyright{margin-bottom:8px;font-size:13px}.powered-by{font-size:12px}.powered-by strong{color:var(--primary)}.founder-card{align-items:center;gap:16px;padding:20px;display:flex}.founder-avatar{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:56px;height:56px;font-size:20px;font-weight:700;display:flex}.founder-info{flex:1}.founder-name{color:var(--text);margin:0 0 2px;font-size:18px;font-weight:700}.founder-role{color:var(--primary);margin:0 0 6px;font-size:13px;font-weight:500}.founder-bio{color:var(--text-muted);margin:0;font-size:13px;line-height:1.5}.trainers-scroll{-webkit-overflow-scrolling:touch;gap:14px;padding:4px 0 16px;display:flex;overflow-x:auto}.trainers-scroll::-webkit-scrollbar{display:none}.trainer-card{text-align:center;flex-shrink:0;min-width:180px;padding:20px 16px}.trainer-avatar{border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;margin:0 auto 12px;font-size:22px;font-weight:700;display:flex}.trainer-name{color:var(--text);margin:0 0 6px;font-size:15px;font-weight:700}.trainer-qual{color:var(--primary);margin-bottom:4px;font-size:12px;font-weight:500;display:block}.trainer-spec{color:var(--text-muted);margin-bottom:4px;font-size:12px;display:block}.trainer-exp{color:var(--text-muted);font-size:11px;font-weight:500;display:block}.equipment-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;display:grid}.equipment-card{padding:0;overflow:hidden}.equipment-img{object-fit:cover;width:100%;height:120px}.equipment-img-placeholder{background:#534ab70a;justify-content:center;align-items:center;width:100%;height:120px;font-size:36px;display:flex}.equipment-info{padding:12px}.equipment-name{color:var(--text);margin:0 0 6px;font-size:14px;font-weight:600}.equipment-muscles{flex-wrap:wrap;gap:4px;display:flex}.equipment-muscle-tag{color:var(--primary);background:#534ab714;border-radius:10px;padding:2px 8px;font-size:10px;font-weight:500}.cta-banner{text-align:center;cursor:pointer;background:linear-gradient(135deg,#534ab70f 0%,#378add0f 100%);padding:32px 20px}.cta-title{color:var(--text);margin:0 0 8px;font-size:22px;font-weight:800}.cta-desc{color:var(--text-muted);margin:0 0 20px;font-size:14px}@media (prefers-color-scheme:dark){.landing-navbar{background:#1e1e1ecc;border-bottom-color:#ffffff0d}.hero-overlay-card{background:#282828f2}.amenity-chip{background:#ffffff0d}}.leads-screen{background:var(--bg)}.leads-header{align-items:center;gap:14px;padding:20px 20px 10px;display:flex}.leads-back-btn{color:var(--text);cursor:pointer;background:0 0;border:none;margin:-8px;padding:8px;display:flex}.leads-title{color:var(--text);margin:0;font-size:22px;font-weight:700}.leads-subtitle{color:var(--text-muted);margin:2px 0 0;font-size:13px}.leads-summary-grid{grid-template-columns:repeat(3,1fr);gap:10px;padding:16px 20px;display:grid}.leads-summary-card{background:var(--card-bg);cursor:pointer;border:2px solid #0000;border-radius:14px;flex-direction:column;align-items:center;gap:4px;padding:14px 8px;transition:all .2s;display:flex}.leads-summary-card.active{border-color:var(--primary);box-shadow:0 4px 12px #534ab71f}.leads-summary-icon{font-size:20px}.leads-summary-count{color:var(--text);font-size:22px;font-weight:800}.leads-summary-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-size:11px;font-weight:500}.leads-tabs{gap:8px;padding:0 20px 16px;display:flex;overflow-x:auto}.leads-tab{background:var(--card-bg);color:var(--text-muted);cursor:pointer;white-space:nowrap;border:1.5px solid #00000014;border-radius:20px;padding:8px 16px;font-size:13px;font-weight:600;transition:all .2s}.leads-tab.active{color:#fff;border-color:#0000}.leads-list{flex-direction:column;gap:12px;padding:0 20px;display:flex}.leads-empty{text-align:center;padding:40px 20px}.leads-empty-icon{margin-bottom:12px;font-size:48px}.leads-empty-title{color:var(--text);margin:0 0 6px;font-size:17px;font-weight:600}.leads-empty-desc{color:var(--text-muted);margin:0;font-size:13px;line-height:1.5}.lead-card{padding:16px}.lead-card-top{align-items:center;gap:12px;margin-bottom:12px;display:flex}.lead-avatar{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-size:16px;font-weight:700;display:flex}.lead-info{flex:1}.lead-name{color:var(--text);margin:0;font-size:16px;font-weight:600}.lead-time{color:var(--text-muted);font-size:12px}.lead-details{margin-bottom:14px}.lead-detail-row{color:var(--text);align-items:center;gap:8px;margin-bottom:8px;font-size:14px;display:flex}.lead-detail-icon{font-size:14px}.lead-detail-text{color:var(--text-muted)}.lead-goal-badge{border-radius:20px;align-items:center;gap:4px;padding:4px 12px;font-size:13px;font-weight:500;display:inline-flex}.lead-actions{flex-wrap:wrap;gap:8px;display:flex}.lead-action-btn{cursor:pointer;border:none;border-radius:10px;align-items:center;gap:6px;padding:8px 14px;font-size:13px;font-weight:600;transition:all .15s;display:flex}.lead-action-btn.whatsapp{color:#fff;background:#25d366;flex:1;justify-content:center}.lead-action-btn.whatsapp:active{background:#1da851}.lead-action-btn.call{color:var(--primary);background:#534ab714}.lead-action-btn.call:active{background:#534ab726}.lead-action-btn.status{color:#378add;background:#378add14}.lead-action-btn.status:active{background:#378add26}.lead-action-btn.convert{color:#1d9e75;background:#1d9e7514}.lead-action-btn.convert:active{background:#1d9e7526}.agreement-screen{background:linear-gradient(160deg,#0f0c29,#1a1535 40%,#16213e);justify-content:center;min-height:100vh;padding:0 0 60px;font-family:Inter,sans-serif;display:flex}.agreement-content{width:100%;max-width:540px;padding:0 0 40px}.agreement-header{text-align:center;background:linear-gradient(135deg,#534ab7 0%,#378add 100%);padding:40px 24px 32px;position:relative}.agreement-header:after{content:"";background:#0f0c29;border-radius:20px 20px 0 0;height:20px;position:absolute;bottom:-1px;left:0;right:0}.agreement-gymly-brand{letter-spacing:2px;text-transform:uppercase;color:#ffffffb3;background:#ffffff1f;border-radius:20px;margin-bottom:12px;padding:4px 14px;font-size:13px;font-weight:800;display:inline-block}.agreement-title{color:#fff;letter-spacing:-.5px;margin:8px 0 10px;font-size:26px;font-weight:800}.agreement-subtitle{color:#fffc;margin:0;font-size:14px;line-height:1.5}.agreement-screen .glass-card{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#ffffff0a;border:1px solid #ffffff1a;border-radius:20px}.agreement-member-card{margin:20px 16px 0;padding:20px}.agreement-member-row{border-bottom:1px solid #ffffff0f;justify-content:space-between;align-items:center;padding:8px 0;display:flex}.agreement-member-row:last-child{border-bottom:none}.agreement-member-label{color:#fff6;text-transform:uppercase;letter-spacing:.5px;font-size:12px;font-weight:500}.agreement-member-value{color:#fff;font-size:14px;font-weight:600}.agreement-terms-card{margin:16px 16px 0;padding:24px 20px}.agreement-terms-title{color:#fff;margin:0 0 16px;font-size:17px;font-weight:700}.agreement-terms-body{max-height:320px;padding-right:4px;overflow-y:auto}.agreement-terms-body::-webkit-scrollbar{width:3px}.agreement-terms-body::-webkit-scrollbar-track{background:#ffffff0d;border-radius:2px}.agreement-terms-body::-webkit-scrollbar-thumb{background:#534ab780;border-radius:2px}.agreement-terms-list{flex-direction:column;gap:12px;margin:0;padding:0 0 0 16px;display:flex}.agreement-terms-list li{color:#ffffffbf;font-size:13px;line-height:1.6}.agreement-terms-list li strong{color:#fffffff2;font-weight:600}.agreement-signature-card{margin:16px 16px 0;padding:20px}.agreement-sig-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.agreement-sig-title{color:#fff;margin:0;font-size:17px;font-weight:700}.agreement-sig-clear{color:#e24b4a;cursor:pointer;background:#e24b4a1f;border:1px solid #e24b4a33;border-radius:8px;padding:5px 14px;font-size:13px;font-weight:600;transition:all .15s}.agreement-sig-clear:hover{background:#e24b4a33}.agreement-sig-hint{color:#fff6;margin:0 0 12px;font-size:12px}.agreement-sig-box{background:#fff;border-radius:14px;height:130px;position:relative;overflow:hidden;box-shadow:inset 0 2px 8px #00000014}.agreement-sig-canvas{touch-action:none;cursor:crosshair;width:100%;height:100%;display:block}.agreement-sig-placeholder{pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.agreement-sig-placeholder span{color:#d1d5db;border-bottom:2px dashed #d1d5db;padding-bottom:4px;font-size:15px;font-style:italic}.agreement-checkbox-label{cursor:pointer;color:#ffffffbf;background:#ffffff0a;border:1px solid #ffffff1a;border-radius:14px;align-items:flex-start;gap:12px;margin:16px 16px 0;padding:16px;font-size:13px;line-height:1.6;display:flex}.agreement-checkbox{accent-color:#534ab7;cursor:pointer;flex-shrink:0;width:18px;height:18px;margin-top:2px}.agreement-checkbox-label strong{color:#fff;font-weight:600}.agreement-submit-btn{color:#fff;cursor:pointer;letter-spacing:.2px;background:linear-gradient(135deg,#534ab7 0%,#378add 100%);border:none;border-radius:16px;justify-content:center;align-items:center;width:calc(100% - 32px);margin:20px 16px 0;padding:18px;font-size:16px;font-weight:700;transition:transform .15s,box-shadow .15s;display:flex;box-shadow:0 8px 30px #534ab766}.agreement-submit-btn:hover{transform:translateY(-1px);box-shadow:0 12px 40px #534ab780}.agreement-submit-btn:active{transform:translateY(0)}.agreement-submit-btn:disabled{opacity:.7;cursor:not-allowed;transform:none}.agreement-footer-note{text-align:center;color:#ffffff59;margin:14px 16px 0;font-size:11px;line-height:1.5}
